          targetType,
            typeToString(constraint)
          );
        } else {
          errorInfo = void 0;
          reportError(
            Diagnostics._0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1,
            targetType,
            generalizedSourceType
          );
        }
      }
      if (!message) {
        if (relation === comparableRelation) {
          message = Diagnostics.Type_0_is_not_comparable_to_type_1;
        } else if (sourceType === targetType) {
          message = Diagnostics.Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated;
        } else if (exactOptionalPropertyTypes && getExactOptionalUnassignableProperties(source2, target2).length) {
          message = Diagnostics.Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;
        } else {
          if (source2.flags & 128 /* StringLiteral */ && target2.flags & 1048576 /* Union */) {
            const suggestedType = getSuggestedTypeForNonexistentStringLiteralType(source2, target2);
            if (suggestedType) {
              reportError(Diagnostics.Type_0_is_not_assignable_to_type_1_Did_you_mean_2, generalizedSourceType, targetType, typeToString(suggestedType));
              return;
            }
          }
          message = Diagnostics.Type_0_is_not_assignable_to_type_1;
        }
      } else if (message === Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1 && exactOptionalPropertyTypes && getExactOptionalUnassignableProperties(source2, target2).length) {
        message = Diagnostics.Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties;
      }
      reportError(message, generalizedSourceType, targetType);
    }
    function tryElaborateErrorsForPrimitivesAndObjects(source2, target2) {
      const sourceType = symbolValueDeclarationIsContextSensitive(source2.symbol) ? typeToString(source2, source2.symbol.valueDeclaration) : typeToString(source2);
      const targetType = symbolValueDeclarationIsContextSensitive(target2.symbol) ? typeToString(target2, target2.symbol.valueDeclaration) : typeToString(target2);
      if (globalStringType === source2 && stringType === target2 || globalNumberType === source2 && numberType === target2 || globalBooleanType === source2 && booleanType === target2 || getGlobalESSymbolType() === source2 && esSymbolType === target2) {
        reportError(Diagnostics._0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible, targetType, sourceType);
      }
    }
    function tryElaborateArrayLikeErrors(source2, target2, reportErrors2) {
      if (isTupleType(source2)) {
        if (source2.target.readonly && isMutableArrayOrTuple(target2)) {
          if (reportErrors2) {
            reportError(Diagnostics.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, typeToString(source2), typeToString(target2));
          }
          return false;
        }
        return isArrayOrTupleType(target2);
      }
      if (isReadonlyArrayType(source2) && isMutableArrayOrTuple(target2)) {
        if (reportErrors2) {
          reportError(Diagnostics.The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1, typeToString(source2), typeToString(target2));
        }
        return false;
      }
      if (isTupleType(target2)) {
        return isArrayType(source2);
      }
      return true;
    }
    function isRelatedToWorker(source2, target2, reportErrors2) {
      return isRelatedTo(source2, target2, 3 /* Both */, reportErrors2);
    }
    function isRelatedTo(originalSource, originalTarget, recursionFlags = 3 /* Both */, reportErrors2 = false, headMessage2, intersectionState = 0 /* None */) {
      if (originalSource === originalTarget) return -1 /* True */;
      if (originalSource.flags & 524288 /* Object */ && originalTarget.flags & 402784252 /* Primitive */) {
        if (relation === comparableRelation && !(originalTarget.flags & 131072 /* Never */) && isSimpleTypeRelatedTo(originalTarget, originalSource, relation) || isSimpleTypeRelatedTo(originalSource, originalTarget, relation, reportErrors2 ? reportError : void 0)) {
          return -1 /* True */;
        }
        if (reportErrors2) {
          reportErrorResults(originalSource, originalTarget, originalSource, originalTarget, headMessage2);
        }
        return 0 /* False */;
      }
      const source2 = getNormalizedType(
        originalSource,
        /*writing*/
        false
      );
      let target2 = getNormalizedType(
        originalTarget,
        /*writing*/
        true
      );
      if (source2 === target2) return -1 /* True */;
      if (relation === identityRelation) {
        if (source2.flags !== target2.flags) return 0 /* False */;
        if (source2.flags & 67358815 /* Singleton */) return -1 /* True */;
        traceUnionsOrIntersectionsTooLarge(source2, target2);
        return recursiveTypeRelatedTo(
          source2,
          target2,
          /*reportErrors*/
          false,
          0 /* None */,
          recursionFlags
        );
      }
      if (source2.flags & 262144 /* TypeParameter */ && getConstraintOfType(source2) === target2) {
        return -1 /* True */;
      }
      if (source2.flags & 470302716 /* DefinitelyNonNullable */ && target2.flags & 1048576 /* Union */) {
        const types = target2.types;
        const candidate = types.length === 2 && types[0].flags & 98304 /* Nullable */ ? types[1] : types.length === 3 && types[0].flags & 98304 /* Nullable */ && types[1].flags & 98304 /* Nullable */ ? types[2] : void 0;
        if (candidate && !(candidate.flags & 98304 /* Nullable */)) {
          target2 = getNormalizedType(
            candidate,
            /*writing*/
            true
          );
          if (source2 === target2) return -1 /* True */;
        }
      }
      if (relation === comparableRelation && !(target2.flags & 131072 /* Never */) && isSimpleTypeRelatedTo(target2, source2, relation) || isSimpleTypeRelatedTo(source2, target2, relation, reportErrors2 ? reportError : void 0)) return -1 /* True */;
      if (source2.flags & 469499904 /* StructuredOrInstantiable */ || target2.flags & 469499904 /* StructuredOrInstantiable */) {
        const isPerformingExcessPropertyChecks = !(intersectionState & 2 /* Target */) && (isObjectLiteralType2(source2) && getObjectFlags(source2) & 8192 /* FreshLiteral */);
        if (isPerformingExcessPropertyChecks) {
          if (hasExcessProperties(source2, target2, reportErrors2)) {
            if (reportErrors2) {
              reportRelationError(headMessage2, source2, originalTarget.aliasSymbol ? originalTarget : target2);
            }
            return 0 /* False */;
          }
        }
        const isPerformingCommonPropertyChecks = (relation !== comparableRelation || isUnitType(source2)) && !(intersectionState & 2 /* Target */) && source2.flags & (402784252 /* Primitive */ | 524288 /* Object */ | 2097152 /* Intersection */) && source2 !== globalObjectType && target2.flags & (524288 /* Object */ | 2097152 /* Intersection */) && isWeakType(target2) && (getPropertiesOfType(source2).length > 0 || typeHasCallOrConstructSignatures(source2));
        const isComparingJsxAttributes = !!(getObjectFlags(source2) & 2048 /* JsxAttributes */);
        if (isPerformingCommonPropertyChecks && !hasCommonProperties(source2, target2, isComparingJsxAttributes)) {
          if (reportErrors2) {
            const sourceString = typeToString(originalSource.aliasSymbol ? originalSource : source2);
            const targetString = typeToString(originalTarget.aliasSymbol ? originalTarget : target2);
            const calls = getSignaturesOfType(source2, 0 /* Call */);
            const constructs = getSignaturesOfType(source2, 1 /* Construct */);
            if (calls.length > 0 && isRelatedTo(
              getReturnTypeOfSignature(calls[0]),
              target2,
              1 /* Source */,
              /*reportErrors*/
              false
            ) || constructs.length > 0 && isRelatedTo(
              getReturnTypeOfSignature(constructs[0]),
              target2,
              1 /* Source */,
              /*reportErrors*/
              false
            )) {
              reportError(Diagnostics.Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it, sourceString, targetString);
            } else {
              reportError(Diagnostics.Type_0_has_no_properties_in_common_with_type_1, sourceString, targetString);
            }
          }
          return 0 /* False */;
        }
        traceUnionsOrIntersectionsTooLarge(source2, target2);
        const skipCaching = source2.flags & 1048576 /* Union */ && source2.types.length < 4 && !(target2.flags & 1048576 /* Union */) || target2.flags & 1048576 /* Union */ && target2.types.length < 4 && !(source2.flags & 469499904 /* StructuredOrInstantiable */);
        const result2 = skipCaching ? unionOrIntersectionRelatedTo(source2, target2, reportErrors2, intersectionState) : recursiveTypeRelatedTo(source2, target2, reportErrors2, intersectionState, recursionFlags);
        if (result2) {
          return result2;
        }
      }
      if (reportErrors2) {
        reportErrorResults(originalSource, originalTarget, source2, target2, headMessage2);
      }
      return 0 /* False */;
    }
    function reportErrorResults(originalSource, originalTarget, source2, target2, headMessage2) {
      var _a2, _b;
      const sourceHasBase = !!getSingleBaseForNonAugmentingSubtype(originalSource);
      const targetHasBase = !!getSingleBaseForNonAugmentingSubtype(originalTarget);
      source2 = originalSource.aliasSymbol || sourceHasBase ? originalSource : source2;
      target2 = originalTarget.aliasSymbol || targetHasBase ? originalTarget : target2;
      let maybeSuppress = overrideNextErrorInfo > 0;
      if (maybeSuppress) {
        overrideNextErrorInfo--;
      }
      if (source2.flags & 524288 /* Object */ && target2.flags & 524288 /* Object */) {
        const currentError = errorInfo;
        tryElaborateArrayLikeErrors(
          source2,
          target2,
          /*reportErrors*/
          true
        );
        if (errorInfo !== currentError) {
          maybeSuppress = !!errorInfo;
        }
      }
      if (source2.flags & 524288 /* Object */ && target2.flags & 402784252 /* Primitive */) {
        tryElaborateErrorsForPrimitivesAndObjects(source2, target2);
      } else if (source2.symbol && source2.flags & 524288 /* Object */ && globalObjectType === source2) {
        reportError(Diagnostics.The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead);
      } else if (getObjectFlags(source2) & 2048 /* JsxAttributes */ && target2.flags & 2097152 /* Intersection */) {
        const targetTypes = target2.types;
        const intrinsicAttributes = getJsxType(JsxNames.IntrinsicAttributes, errorNode);
        const intrinsicClassAttributes = getJsxType(JsxNames.IntrinsicClassAttributes, errorNode);
        if (!isErrorType(intrinsicAttributes) && !isErrorType(intrinsicClassAttributes) && (contains(targetTypes, intrinsicAttributes) || contains(targetTypes, intrinsicClassAttributes))) {
          return;
        }
      } else {
        errorInfo = elaborateNeverIntersection(errorInfo, originalTarget);
      }
      if (!headMessage2 && maybeSuppress) {
        const savedErrorState = captureErrorCalculationState();
        reportRelationError(headMessage2, source2, target2);
        let canonical;
        if (errorInfo && errorInfo !== savedErrorState.errorInfo) {
          canonical = { code: errorInfo.code, messageText: errorInfo.messageText };
        }
        resetErrorInfo(savedErrorState);
        if (canonical && errorInfo) {
          errorInfo.canonicalHead = canonical;
        }
        lastSkippedInfo = [source2, target2];
        return;
      }
      reportRelationError(headMessage2, source2, target2);
      if (source2.flags & 262144 /* TypeParameter */ && ((_b = (_a2 = source2.symbol) == null ? void 0 : _a2.declarations) == null ? void 0 : _b[0]) && !getConstraintOfType(source2)) {
        const syntheticParam = cloneTypeParameter(source2);
        syntheticParam.constraint = instantiateType(target2, makeUnaryTypeMapper(source2, syntheticParam));
        if (hasNonCircularBaseConstraint(syntheticParam)) {
          const targetConstraintString = typeToString(target2, source2.symbol.declarations[0]);
          associateRelatedInfo(createDiagnosticForNode(source2.symbol.declarations[0], Diagnostics.This_type_parameter_might_need_an_extends_0_constraint, targetConstraintString));
        }
      }
    }
    function traceUnionsOrIntersectionsTooLarge(source2, target2) {
      if (!tracing) {
        return;
      }
      if (source2.flags & 3145728 /* UnionOrIntersection */ && target2.flags & 3145728 /* UnionOrIntersection */) {
        const sourceUnionOrIntersection = source2;
        const targetUnionOrIntersection = target2;
        if (sourceUnionOrIntersection.objectFlags & targetUnionOrIntersection.objectFlags & 32768 /* PrimitiveUnion */) {
          return;
        }
        const sourceSize = sourceUnionOrIntersection.types.length;
        const targetSize = targetUnionOrIntersection.types.length;
        if (sourceSize * targetSize > 1e6) {
          tracing.instant(tracing.Phase.CheckTypes, "traceUnionsOrIntersectionsTooLarge_DepthLimit", {
            sourceId: source2.id,
            sourceSize,
            targetId: target2.id,
            targetSize,
            pos: errorNode == null ? void 0 : errorNode.pos,
            end: errorNode == null ? void 0 : errorNode.end
          });
        }
      }
    }
    function getTypeOfPropertyInTypes(types, name) {
      const appendPropType = (propTypes, type) => {
        var _a2;
        type = getApparentType(type);
        const prop = type.flags & 3145728 /* UnionOrIntersection */ ? getPropertyOfUnionOrIntersectionType(type, name) : getPropertyOfObjectType(type, name);
        const propType = prop && getTypeOfSymbol(prop) || ((_a2 = getApplicableIndexInfoForName(type, name)) == null ? void 0 : _a2.type) || undefinedType;
        return append(propTypes, propType);
      };
      return getUnionType(reduceLeft(
        types,
        appendPropType,
        /*initial*/
        void 0
      ) || emptyArray);
    }
    function hasExcessProperties(source2, target2, reportErrors2) {
      var _a2;
      if (!isExcessPropertyCheckTarget(target2) || !noImplicitAny && getObjectFlags(target2) & 4096 /* JSLiteral */) {
        return false;
      }
      const isComparingJsxAttributes = !!(getObjectFlags(source2) & 2048 /* JsxAttributes */);
      if ((relation === assignableRelation || relation === comparableRelation) && (isTypeSubsetOf(globalObjectType, target2) || !isComparingJsxAttributes && isEmptyObjectType(target2))) {
        return false;
      }
      let reducedTarget = target2;
      let checkTypes;
      if (target2.flags & 1048576 /* Union */) {
        reducedTarget = findMatchingDiscriminantType(source2, target2, isRelatedTo) || filterPrimitivesIfContainsNonPrimitive(target2);
        checkTypes = reducedTarget.flags & 1048576 /* Union */ ? reducedTarget.types : [reducedTarget];
      }
      for (const prop of getPropertiesOfType(source2)) {
        if (shouldCheckAsExcessProperty(prop, source2.symbol) && !isIgnoredJsxProperty(source2, prop)) {
          if (!isKnownProperty(reducedTarget, prop.escapedName, isComparingJsxAttributes)) {
            if (reportErrors2) {
              const errorTarget = filterType(reducedTarget, isExcessPropertyCheckTarget);
              if (!errorNode) return Debug.fail();
              if (isJsxAttributes(errorNode) || isJsxOpeningLikeElement(errorNode) || isJsxOpeningLikeElement(errorNode.parent)) {
                if (prop.valueDeclaration && isJsxAttribute(prop.valueDeclaration) && getSourceFileOfNode(errorNode) === getSourceFileOfNode(prop.valueDeclaration.name)) {
                  errorNode = prop.valueDeclaration.name;
                }
                const propName = symbolToString(prop);
                const suggestionSymbol = getSuggestedSymbolForNonexistentJSXAttribute(propName, errorTarget);
                const suggestion = suggestionSymbol ? symbolToString(suggestionSymbol) : void 0;
                if (suggestion) {
                  reportError(Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_2, propName, typeToString(errorTarget), suggestion);
                } else {
                  reportError(Diagnostics.Property_0_does_not_exist_on_type_1, propName, typeToString(errorTarget));
                }
              } else {
                const objectLiteralDeclaration = ((_a2 = source2.symbol) == null ? void 0 : _a2.declarations) && firstOrUndefined(source2.symbol.declarations);
                let suggestion;
                if (prop.valueDeclaration && findAncestor(prop.valueDeclaration, (d) => d === objectLiteralDeclaration) && getSourceFileOfNode(objectLiteralDeclaration) === getSourceFileOfNode(errorNode)) {
                  const propDeclaration = prop.valueDeclaration;
                  Debug.assertNode(propDeclaration, isObjectLiteralElementLike);
                  const name = propDeclaration.name;
                  errorNode = name;
                  if (isIdentifier(name)) {
                    suggestion = getSuggestionForNonexistentProperty(name, errorTarget);
                  }
                }
                if (suggestion !== void 0) {
                  reportParentSkippedError(Diagnostics.Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2, symbolToString(prop), typeToString(errorTarget), suggestion);
                } else {
                  reportParentSkippedError(Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(prop), typeToString(errorTarget));
                }
              }
            }
            return true;
          }
          if (checkTypes && !isRelatedTo(getTypeOfSymbol(prop), getTypeOfPropertyInTypes(checkTypes, prop.escapedName), 3 /* Both */, reportErrors2)) {
            if (reportErrors2) {
              reportIncompatibleError(Diagnostics.Types_of_property_0_are_incompatible, symbolToString(prop));
            }
            return true;
          }
        }
      }
      return false;
    }
    function shouldCheckAsExcessProperty(prop, container) {
      return prop.valueDeclaration && container.valueDeclaration && prop.valueDeclaration.parent === container.valueDeclaration;
    }
    function unionOrIntersectionRelatedTo(source2, target2, reportErrors2, intersectionState) {
      if (source2.flags & 1048576 /* Union */) {
        if (target2.flags & 1048576 /* Union */) {
          const sourceOrigin = source2.origin;
          if (sourceOrigin && sourceOrigin.flags & 2097152 /* Intersection */ && target2.aliasSymbol && contains(sourceOrigin.types, target2)) {
            return -1 /* True */;
          }
          const targetOrigin = target2.origin;
          if (targetOrigin && targetOrigin.flags & 1048576 /* Union */ && source2.aliasSymbol && contains(targetOrigin.types, source2)) {
            return -1 /* True */;
          }
        }
        return relation === comparableRelation ? someTypeRelatedToType(source2, target2, reportErrors2 && !(source2.flags & 402784252 /* Primitive */), intersectionState) : eachTypeRelatedToType(source2, target2, reportErrors2 && !(source2.flags & 402784252 /* Primitive */), intersectionState);
      }
      if (target2.flags & 1048576 /* Union */) {
        return typeRelatedToSomeType(getRegularTypeOfObjectLiteral(source2), target2, reportErrors2 && !(source2.flags & 402784252 /* Primitive */) && !(target2.flags & 402784252 /* Primitive */), intersectionState);
      }
      if (target2.flags & 2097152 /* Intersection */) {
        return typeRelatedToEachType(source2, target2, reportErrors2, 2 /* Target */);
      }
      if (relation === comparableRelation && target2.flags & 402784252 /* Primitive */) {
        const constraints = sameMap(source2.types, (t) => t.flags & 465829888 /* Instantiable */ ? getBaseConstraintOfType(t) || unknownType : t);
        if (constraints !== source2.types) {
          source2 = getIntersectionType(constraints);
          if (source2.flags & 131072 /* Never */) {
            return 0 /* False */;
          }
          if (!(source2.flags & 2097152 /* Intersection */)) {
            return isRelatedTo(
              source2,
              target2,
              1 /* Source */,
              /*reportErrors*/
              false
            ) || isRelatedTo(
              target2,
              source2,
              1 /* Source */,
              /*reportErrors*/
              false
            );
          }
        }
      }
      return someTypeRelatedToType(
        source2,
        target2,
        /*reportErrors*/
        false,
        1 /* Source */
      );
    }
    function eachTypeRelatedToSomeType(source2, target2) {
      let result2 = -1 /* True */;
      const sourceTypes = source2.types;
      for (const sourceType of sourceTypes) {
        const related = typeRelatedToSomeType(
          sourceType,
          target2,
          /*reportErrors*/
          false,
          0 /* None */
        );
        if (!related) {
          return 0 /* False */;
        }
        result2 &= related;
      }
      return result2;
    }
    function typeRelatedToSomeType(source2, target2, reportErrors2, intersectionState) {
      const targetTypes = target2.types;
      if (target2.flags & 1048576 /* Union */) {
        if (containsType(targetTypes, source2)) {
          return -1 /* True */;
        }
        if (relation !== comparableRelation && getObjectFlags(target2) & 32768 /* PrimitiveUnion */ && !(source2.flags & 1024 /* EnumLiteral */) && (source2.flags & (128 /* StringLiteral */ | 512 /* BooleanLiteral */ | 2048 /* BigIntLiteral */) || (relation === subtypeRelation || relation === strictSubtypeRelation) && source2.flags & 256 /* NumberLiteral */)) {
          const alternateForm = source2 === source2.regularType ? source2.freshType : source2.regularType;
          const primitive = source2.flags & 128 /* StringLiteral */ ? stringType : source2.flags & 256 /* NumberLiteral */ ? numberType : source2.flags & 2048 /* BigIntLiteral */ ? bigintType : void 0;
          return primitive && containsType(targetTypes, primitive) || alternateForm && containsType(targetTypes, alternateForm) ? -1 /* True */ : 0 /* False */;
        }
        const match = getMatchingUnionConstituentForType(target2, source2);
        if (match) {
          const related = isRelatedTo(
            source2,
            match,
            2 /* Target */,
            /*reportErrors*/
            false,
            /*headMessage*/
            void 0,
            intersectionState
          );
          if (related) {
            return related;
          }
        }
      }
      for (const type of targetTypes) {
        const related = isRelatedTo(
          source2,
          type,
          2 /* Target */,
          /*reportErrors*/
          false,
          /*headMessage*/
          void 0,
          intersectionState
        );
        if (related) {
          return related;
        }
      }
      if (reportErrors2) {
        const bestMatchingType = getBestMatchingType(source2, target2, isRelatedTo);
        if (bestMatchingType) {
          isRelatedTo(
            source2,
            bestMatchingType,
            2 /* Target */,
            /*reportErrors*/
            true,
            /*headMessage*/
            void 0,
            intersectionState
          );
        }
      }
      return 0 /* False */;
    }
    function typeRelatedToEachType(source2, target2, reportErrors2, intersectionState) {
      let result2 = -1 /* True */;
      const targetTypes = target2.types;
      for (const targetType of targetTypes) {
        const related = isRelatedTo(
          source2,
          targetType,
          2 /* Target */,
          reportErrors2,
          /*headMessage*/
          void 0,
          intersectionState
        );
        if (!related) {
          return 0 /* False */;
        }
        result2 &= related;
      }
      return result2;
    }
    function someTypeRelatedToType(source2, target2, reportErrors2, intersectionState) {
      const sourceTypes = source2.types;
      if (source2.flags & 1048576 /* Union */ && containsType(sourceTypes, target2)) {
        return -1 /* True */;
      }
      const len = sourceTypes.length;
      for (let i = 0; i < len; i++) {
        const related = isRelatedTo(
          sourceTypes[i],
          target2,
          1 /* Source */,
          reportErrors2 && i === len - 1,
          /*headMessage*/
          void 0,
          intersectionState
        );
        if (related) {
          return related;
        }
      }
      return 0 /* False */;
    }
    function getUndefinedStrippedTargetIfNeeded(source2, target2) {
      if (source2.flags & 1048576 /* Union */ && target2.flags & 1048576 /* Union */ && !(source2.types[0].flags & 32768 /* Undefined */) && target2.types[0].flags & 32768 /* Undefined */) {
        return extractTypesOfKind(target2, ~32768 /* Undefined */);
      }
      return target2;
    }
    function eachTypeRelatedToType(source2, target2, reportErrors2, intersectionState) {
      let result2 = -1 /* True */;
      const sourceTypes = source2.types;
      const undefinedStrippedTarget = getUndefinedStrippedTargetIfNeeded(source2, target2);
      for (let i = 0; i < sourceTypes.length; i++) {
        const sourceType = sourceTypes[i];
        if (undefinedStrippedTarget.flags & 1048576 /* Union */ && sourceTypes.length >= undefinedStrippedTarget.types.length && sourceTypes.length % undefinedStrippedTarget.types.length === 0) {
          const related2 = isRelatedTo(
            sourceType,
            undefinedStrippedTarget.types[i % undefinedStrippedTarget.types.length],
            3 /* Both */,
            /*reportErrors*/
            false,
            /*headMessage*/
            void 0,
            intersectionState
          );
          if (related2) {
            result2 &= related2;
            continue;
          }
        }
        const related = isRelatedTo(
          sourceType,
          target2,
          1 /* Source */,
          reportErrors2,
          /*headMessage*/
          void 0,
          intersectionState
        );
        if (!related) {
          return 0 /* False */;
        }
        result2 &= related;
      }
      return result2;
    }
    function typeArgumentsRelatedTo(sources = emptyArray, targets = emptyArray, variances = emptyArray, reportErrors2, intersectionState) {
      if (sources.length !== targets.length && relation === identityRelation) {
        return 0 /* False */;
      }
      const length2 = sources.length <= targets.length ? sources.length : targets.length;
      let result2 = -1 /* True */;
      for (let i = 0; i < length2; i++) {
        const varianceFlags = i < variances.length ? variances[i] : 1 /* Covariant */;
        const variance = varianceFlags & 7 /* VarianceMask */;
        if (variance !== 4 /* Independent */) {
          const s = sources[i];
          const t = targets[i];
          let related = -1 /* True */;
          if (varianceFlags & 8 /* Unmeasurable */) {
            related = relation === identityRelation ? isRelatedTo(
              s,
              t,
              3 /* Both */,
              /*reportErrors*/
              false
            ) : compareTypesIdentical(s, t);
          } else if (variance === 1 /* Covariant */) {
            related = isRelatedTo(
              s,
              t,
              3 /* Both */,
              reportErrors2,
              /*headMessage*/
              void 0,
              intersectionState
            );
          } else if (variance === 2 /* Contravariant */) {
            related = isRelatedTo(
              t,
              s,
              3 /* Both */,
              reportErrors2,
              /*headMessage*/
              void 0,
              intersectionState
            );
          } else if (variance === 3 /* Bivariant */) {
            related = isRelatedTo(
              t,
              s,
              3 /* Both */,
              /*reportErrors*/
              false
            );
            if (!related) {
              related = isRelatedTo(
                s,
                t,
                3 /* Both */,
                reportErrors2,
                /*headMessage*/
                void 0,
                intersectionState
              );
            }
          } else {
            related = isRelatedTo(
              s,
              t,
              3 /* Both */,
              reportErrors2,
              /*headMessage*/
              void 0,
              intersectionState
            );
            if (related) {
              related &= isRelatedTo(
                t,
                s,
                3 /* Both */,
                reportErrors2,
                /*headMessage*/
                void 0,
                intersectionState
              );
            }
          }
          if (!related) {
            return 0 /* False */;
          }
          result2 &= related;
        }
      }
      return result2;
    }
    function recursiveTypeRelatedTo(source2, target2, reportErrors2, intersectionState, recursionFlags) {
      var _a2, _b, _c;
      if (overflow) {
        return 0 /* False */;
      }
      const id = getRelationKey(
        source2,
        target2,
        intersectionState,
        relation,
        /*ignoreConstraints*/
        false
      );
      const entry = relation.get(id);
      if (entry !== void 0) {
        if (reportErrors2 && entry & 2 /* Failed */ && !(entry & 96 /* Overflow */)) {
        } else {
          if (outofbandVarianceMarkerHandler) {
            const saved = entry & 24 /* ReportsMask */;
            if (saved & 8 /* ReportsUnmeasurable */) {
              instantiateType(source2, reportUnmeasurableMapper);
            }
            if (saved & 16 /* ReportsUnreliable */) {
              instantiateType(source2, reportUnreliableMapper);
            }
          }
          if (reportErrors2 && entry & 96 /* Overflow */) {
            const message = entry & 32 /* ComplexityOverflow */ ? Diagnostics.Excessive_complexity_comparing_types_0_and_1 : Diagnostics.Excessive_stack_depth_comparing_types_0_and_1;
            reportError(message, typeToString(source2), typeToString(target2));
            overrideNextErrorInfo++;
          }
          return entry & 1 /* Succeeded */ ? -1 /* True */ : 0 /* False */;
        }
      }
      if (relationCount <= 0) {
        overflow = true;
        return 0 /* False */;
      }
      if (!maybeKeys) {
        maybeKeys = [];
        maybeKeysSet = /* @__PURE__ */ new Set();
        sourceStack = [];
        targetStack = [];
      } else {
        if (maybeKeysSet.has(id)) {
          return 3 /* Maybe */;
        }
        const broadestEquivalentId = id.startsWith("*") ? getRelationKey(
          source2,
          target2,
          intersectionState,
          relation,
          /*ignoreConstraints*/
          true
        ) : void 0;
        if (broadestEquivalentId && maybeKeysSet.has(broadestEquivalentId)) {
          return 3 /* Maybe */;
        }
        if (sourceDepth === 100 || targetDepth === 100) {
          overflow = true;
          return 0 /* False */;
        }
      }
      const maybeStart = maybeCount;
      maybeKeys[maybeCount] = id;
      maybeKeysSet.add(id);
      maybeCount++;
      const saveExpandingFlags = expandingFlags;
      if (recursionFlags & 1 /* Source */) {
        sourceStack[sourceDepth] = source2;
        sourceDepth++;
        if (!(expandingFlags & 1 /* Source */) && isDeeplyNestedType(source2, sourceStack, sourceDepth)) expandingFlags |= 1 /* Source */;
      }
      if (recursionFlags & 2 /* Target */) {
        targetStack[targetDepth] = target2;
        targetDepth++;
        if (!(expandingFlags & 2 /* Target */) && isDeeplyNestedType(target2, targetStack, targetDepth)) expandingFlags |= 2 /* Target */;
      }
      let originalHandler;
      let propagatingVarianceFlags = 0;
      if (outofbandVarianceMarkerHandler) {
        originalHandler = outofbandVarianceMarkerHandler;
        outofbandVarianceMarkerHandler = (onlyUnreliable) => {
          propagatingVarianceFlags |= onlyUnreliable ? 16 /* ReportsUnreliable */ : 8 /* ReportsUnmeasurable */;
          return originalHandler(onlyUnreliable);
        };
      }
      let result2;
      if (expandingFlags === 3 /* Both */) {
        (_a2 = tracing) == null ? void 0 : _a2.instant(tracing.Phase.CheckTypes, "recursiveTypeRelatedTo_DepthLimit", {
          sourceId: source2.id,
          sourceIdStack: sourceStack.map((t) => t.id),
          targetId: target2.id,
          targetIdStack: targetStack.map((t) => t.id),
          depth: sourceDepth,
          targetDepth
        });
        result2 = 3 /* Maybe */;
      } else {
        (_b = tracing) == null ? void 0 : _b.push(tracing.Phase.CheckTypes, "structuredTypeRelatedTo", { sourceId: source2.id, targetId: target2.id });
        result2 = structuredTypeRelatedTo(source2, target2, reportErrors2, intersectionState);
        (_c = tracing) == null ? void 0 : _c.pop();
      }
      if (outofbandVarianceMarkerHandler) {
        outofbandVarianceMarkerHandler = originalHandler;
      }
      if (recursionFlags & 1 /* Source */) {
        sourceDepth--;
      }
      if (recursionFlags & 2 /* Target */) {
        targetDepth--;
      }
      expandingFlags = saveExpandingFlags;
      if (result2) {
        if (result2 === -1 /* True */ || sourceDepth === 0 && targetDepth === 0) {
          if (result2 === -1 /* True */ || result2 === 3 /* Maybe */) {
            resetMaybeStack(
              /*markAllAsSucceeded*/
              true
            );
          } else {
            resetMaybeStack(
              /*markAllAsSucceeded*/
              false
            );
          }
        }
      } else {
        relation.set(id, 2 /* Failed */ | propagatingVarianceFlags);
        relationCount--;
        resetMaybeStack(
          /*markAllAsSucceeded*/
          false
        );
      }
      return result2;
      function resetMaybeStack(markAllAsSucceeded) {
        for (let i = maybeStart; i < maybeCount; i++) {
          maybeKeysSet.delete(maybeKeys[i]);
          if (markAllAsSucceeded) {
            relation.set(maybeKeys[i], 1 /* Succeeded */ | propagatingVarianceFlags);
            relationCount--;
          }
        }
        maybeCount = maybeStart;
      }
    }
    function structuredTypeRelatedTo(source2, target2, reportErrors2, intersectionState) {
      const saveErrorInfo = captureErrorCalculationState();
      let result2 = structuredTypeRelatedToWorker(source2, target2, reportErrors2, intersectionState, saveErrorInfo);
      if (relation !== identityRelation) {
        if (!result2 && (source2.flags & 2097152 /* Intersection */ || source2.flags & 262144 /* TypeParameter */ && target2.flags & 1048576 /* Union */)) {
          const constraint = getEffectiveConstraintOfIntersection(source2.flags & 2097152 /* Intersection */ ? source2.types : [source2], !!(target2.flags & 1048576 /* Union */));
          if (constraint && everyType(constraint, (c) => c !== source2)) {
            result2 = isRelatedTo(
              constraint,
              target2,
              1 /* Source */,
              /*reportErrors*/
              false,
              /*headMessage*/
              void 0,
              intersectionState
            );
          }
        }
        if (result2 && !(intersectionState & 2 /* Target */) && target2.flags & 2097152 /* Intersection */ && !isGenericObjectType(target2) && source2.flags & (524288 /* Object */ | 2097152 /* Intersection */)) {
          result2 &= propertiesRelatedTo(
            source2,
            target2,
            reportErrors2,
            /*excludedProperties*/
            void 0,
            /*optionalsOnly*/
            false,
            0 /* None */
          );
          if (result2 && isObjectLiteralType2(source2) && getObjectFlags(source2) & 8192 /* FreshLiteral */) {
            result2 &= indexSignaturesRelatedTo(
              source2,
              target2,
              /*sourceIsPrimitive*/
              false,
              reportErrors2,
              0 /* None */
            );
          }
        } else if (result2 && isNonGenericObjectType(target2) && !isArrayOrTupleType(target2) && source2.flags & 2097152 /* Intersection */ && getApparentType(source2).flags & 3670016 /* StructuredType */ && !some(source2.types, (t) => t === target2 || !!(getObjectFlags(t) & 262144 /* NonInferrableType */))) {
          result2 &= propertiesRelatedTo(
            source2,
            target2,
            reportErrors2,
            /*excludedProperties*/
            void 0,
            /*optionalsOnly*/
            true,
            intersectionState
          );
        }
      }
      if (result2) {
        resetErrorInfo(saveErrorInfo);
      }
      return result2;
    }
    function getApparentMappedTypeKeys(nameType, targetType) {
      const modifiersType = getApparentType(getModifiersTypeFromMappedType(targetType));
      const mappedKeys = [];
      forEachMappedTypePropertyKeyTypeAndIndexSignatureKeyType(
        modifiersType,
        8576 /* StringOrNumberLiteralOrUnique */,
        /*stringsOnly*/
        false,
        (t) => void mappedKeys.push(instantiateType(nameType, appendTypeMapping(targetType.mapper, getTypeParameterFromMappedType(targetType), t)))
      );
      return getUnionType(mappedKeys);
    }
    function structuredTypeRelatedToWorker(source2, target2, reportErrors2, intersectionState, saveErrorInfo) {
      let result2;
      let originalErrorInfo;
      let varianceCheckFailed = false;
      let sourceFlags = source2.flags;
      const targetFlags = target2.flags;
      if (relation === identityRelation) {
        if (sourceFlags & 3145728 /* UnionOrIntersection */) {
          let result3 = eachTypeRelatedToSomeType(source2, target2);
          if (result3) {
            result3 &= eachTypeRelatedToSomeType(target2, source2);
          }
          return result3;
        }
        if (sourceFlags & 4194304 /* Index */) {
          return isRelatedTo(
            source2.type,
            target2.type,
            3 /* Both */,
            /*reportErrors*/
            false
          );
        }
        if (sourceFlags & 8388608 /* IndexedAccess */) {
          if (result2 = isRelatedTo(
            source2.objectType,
            target2.objectType,
            3 /* Both */,
            /*reportErrors*/
            false
          )) {
            if (result2 &= isRelatedTo(
              source2.indexType,
              target2.indexType,
              3 /* Both */,
              /*reportErrors*/
              false
            )) {
              return result2;
            }
          }
        }
        if (sourceFlags & 16777216 /* Conditional */) {
          if (source2.root.isDistributive === target2.root.isDistributive) {
            if (result2 = isRelatedTo(
              source2.checkType,
              target2.checkType,
              3 /* Both */,
              /*reportErrors*/
              false
            )) {
              if (result2 &= isRelatedTo(
                source2.extendsType,
                target2.extendsType,
                3 /* Both */,
                /*reportErrors*/
                false
              )) {
                if (result2 &= isRelatedTo(
                  getTrueTypeFromConditionalType(source2),
                  getTrueTypeFromConditionalType(target2),
                  3 /* Both */,
                  /*reportErrors*/
                  false
                )) {
                  if (result2 &= isRelatedTo(
                    getFalseTypeFromConditionalType(source2),
                    getFalseTypeFromConditionalType(target2),
                    3 /* Both */,
                    /*reportErrors*/
                    false
                  )) {
                    return result2;
                  }
                }
              }
            }
          }
        }
        if (sourceFlags & 33554432 /* Substitution */) {
          if (result2 = isRelatedTo(
            source2.baseType,
            target2.baseType,
            3 /* Both */,
            /*reportErrors*/
            false
          )) {
            if (result2 &= isRelatedTo(
              source2.constraint,
              target2.constraint,
              3 /* Both */,
              /*reportErrors*/
              false
            )) {
              return result2;
            }
          }
        }
        if (!(sourceFlags & 524288 /* Object */)) {
          return 0 /* False */;
        }
      } else if (sourceFlags & 3145728 /* UnionOrIntersection */ || targetFlags & 3145728 /* UnionOrIntersection */) {
        if (result2 = unionOrIntersectionRelatedTo(source2, target2, reportErrors2, intersectionState)) {
          return result2;
        }
        if (!(sourceFlags & 465829888 /* Instantiable */ || sourceFlags & 524288 /* Object */ && targetFlags & 1048576 /* Union */ || sourceFlags & 2097152 /* Intersection */ && targetFlags & (524288 /* Object */ | 1048576 /* Union */ | 465829888 /* Instantiable */))) {
          return 0 /* False */;
        }
      }
      if (sourceFlags & (524288 /* Object */ | 16777216 /* Conditional */) && source2.aliasSymbol && source2.aliasTypeArguments && source2.aliasSymbol === target2.aliasSymbol && !(isMarkerType(source2) || isMarkerType(target2))) {
        const variances = getAliasVariances(source2.aliasSymbol);
        if (variances === emptyArray) {
          return 1 /* Unknown */;
        }
        const params = getSymbolLinks(source2.aliasSymbol).typeParameters;
        const minParams = getMinTypeArgumentCount(params);
        const sourceTypes = fillMissingTypeArguments(source2.aliasTypeArguments, params, minParams, isInJSFile(source2.aliasSymbol.valueDeclaration));
        const targetTypes = fillMissingTypeArguments(target2.aliasTypeArguments, params, minParams, isInJSFile(source2.aliasSymbol.valueDeclaration));
        const varianceResult = relateVariances(sourceTypes, targetTypes, variances, intersectionState);
        if (varianceResult !== void 0) {
          return varianceResult;
        }
      }
      if (isSingleElementGenericTupleType(source2) && !source2.target.readonly && (result2 = isRelatedTo(getTypeArguments(source2)[0], target2, 1 /* Source */)) || isSingleElementGenericTupleType(target2) && (target2.target.readonly || isMutableArrayOrTuple(getBaseConstraintOfType(source2) || source2)) && (result2 = isRelatedTo(source2, getTypeArguments(target2)[0], 2 /* Target */))) {
        return result2;
      }
      if (targetFlags & 262144 /* TypeParameter */) {
        if (getObjectFlags(source2) & 32 /* Mapped */ && !source2.declaration.nameType && isRelatedTo(getIndexType(target2), getConstraintTypeFromMappedType(source2), 3 /* Both */)) {
          if (!(getMappedTypeModifiers(source2) & 4 /* IncludeOptional */)) {
            const templateType = getTemplateTypeFromMappedType(source2);
            const indexedAccessType = getIndexedAccessType(target2, getTypeParameterFromMappedType(source2));
            if (result2 = isRelatedTo(templateType, indexedAccessType, 3 /* Both */, reportErrors2)) {
              return result2;
            }
          }
        }
        if (relation === comparableRelation && sourceFlags & 262144 /* TypeParameter */) {
          let constraint = getConstraintOfTypeParameter(source2);
          if (constraint) {
            while (constraint && someType(constraint, (c) => !!(c.flags & 262144 /* TypeParameter */))) {
              if (result2 = isRelatedTo(
                constraint,
                target2,
                1 /* Source */,
                /*reportErrors*/
                false
              )) {
                return result2;
              }
              constraint = getConstraintOfTypeParameter(constraint);
            }
          }
          return 0 /* False */;
        }
      } else if (targetFlags & 4194304 /* Index */) {
        const targetType = target2.type;
        if (sourceFlags & 4194304 /* Index */) {
          if (result2 = isRelatedTo(
            targetType,
            source2.type,
            3 /* Both */,
            /*reportErrors*/
            false
          )) {
            return result2;
          }
        }
        if (isTupleType(targetType)) {
          if (result2 = isRelatedTo(source2, getKnownKeysOfTupleType(targetType), 2 /* Target */, reportErrors2)) {
            return result2;
          }
        } else {
          const constraint = getSimplifiedTypeOrConstraint(targetType);
          if (constraint) {
            if (isRelatedTo(source2, getIndexType(constraint, target2.indexFlags | 4 /* NoReducibleCheck */), 2 /* Target */, reportErrors2) === -1 /* True */) {
              return -1 /* True */;
            }
          } else if (isGenericMappedType(targetType)) {
            const nameType = getNameTypeFromMappedType(targetType);
            const constraintType = getConstraintTypeFromMappedType(targetType);
            let targetKeys;
            if (nameType && isMappedTypeWithKeyofConstraintDeclaration(targetType)) {
              const mappedKeys = getApparentMappedTypeKeys(nameType, targetType);
              targetKeys = getUnionType([mappedKeys, nameType]);
            } else {
              targetKeys = nameType || constraintType;
            }
            if (isRelatedTo(source2, targetKeys, 2 /* Target */, reportErrors2) === -1 /* True */) {
              return -1 /* True */;
            }
          }
        }
      } else if (targetFlags & 8388608 /* IndexedAccess */) {
        if (sourceFlags & 8388608 /* IndexedAccess */) {
          if (result2 = isRelatedTo(source2.objectType, target2.objectType, 3 /* Both */, reportErrors2)) {
            result2 &= isRelatedTo(source2.indexType, target2.indexType, 3 /* Both */, reportErrors2);
          }
          if (result2) {
            return result2;
          }
          if (reportErrors2) {
            originalErrorInfo = errorInfo;
          }
        }
        if (relation === assignableRelation || relation === comparableRelation) {
          const objectType = target2.objectType;
          const indexType = target2.indexType;
          const baseObjectType = getBaseConstraintOfType(objectType) || objectType;
          const baseIndexType = getBaseConstraintOfType(indexType) || indexType;
          if (!isGenericObjectType(baseObjectType) && !isGenericIndexType(baseIndexType)) {
            const accessFlags = 4 /* Writing */ | (baseObjectType !== objectType ? 2 /* NoIndexSignatures */ : 0);
            const constraint = getIndexedAccessTypeOrUndefined(baseObjectType, baseIndexType, accessFlags);
            if (constraint) {
              if (reportErrors2 && originalErrorInfo) {
                resetErrorInfo(saveErrorInfo);
              }
              if (result2 = isRelatedTo(
                source2,
                constraint,
                2 /* Target */,
                reportErrors2,
                /*headMessage*/
                void 0,
                intersectionState
              )) {
                return result2;
              }
              if (reportErrors2 && originalErrorInfo && errorInfo) {
                errorInfo = countMessageChainBreadth([originalErrorInfo]) <= countMessageChainBreadth([errorInfo]) ? originalErrorInfo : errorInfo;
              }
            }
          }
        }
        if (reportErrors2) {
          originalErrorInfo = void 0;
        }
      } else if (isGenericMappedType(target2) && relation !== identityRelation) {
        const keysRemapped = !!target2.declaration.nameType;
        const templateType = getTemplateTypeFromMappedType(target2);
        const modifiers = getMappedTypeModifiers(target2);
        if (!(modifiers & 8 /* ExcludeOptional */)) {
          if (!keysRemapped && templateType.flags & 8388608 /* IndexedAccess */ && templateType.objectType === source2 && templateType.indexType === getTypeParameterFromMappedType(target2)) {
            return -1 /* True */;
          }
          if (!isGenericMappedType(source2)) {
            const targetKeys = keysRemapped ? getNameTypeFromMappedType(target2) : getConstraintTypeFromMappedType(target2);
            const sourceKeys = getIndexType(source2, 2 /* NoIndexSignatures */);
            const includeOptional = modifiers & 4 /* IncludeOptional */;
            const filteredByApplicability = includeOptional ? intersectTypes(targetKeys, sourceKeys) : void 0;
            if (includeOptional ? !(filteredByApplicability.flags & 131072 /* Never */) : isRelatedTo(targetKeys, sourceKeys, 3 /* Both */)) {
              const templateType2 = getTemplateTypeFromMappedType(target2);
              const typeParameter = getTypeParameterFromMappedType(target2);
              const nonNullComponent = extractTypesOfKind(templateType2, ~98304 /* Nullable */);
              if (!keysRemapped && nonNullComponent.flags & 8388608 /* IndexedAccess */ && nonNullComponent.indexType === typeParameter) {
                if (result2 = isRelatedTo(source2, nonNullComponent.objectType, 2 /* Target */, reportErrors2)) {
                  return result2;
                }
              } else {
                const indexingType = keysRemapped ? filteredByApplicability || targetKeys : filteredByApplicability ? getIntersectionType([filteredByApplicability, typeParameter]) : typeParameter;
                const indexedAccessType = getIndexedAccessType(source2, indexingType);
                if (result2 = isRelatedTo(indexedAccessType, templateType2, 3 /* Both */, reportErrors2)) {
                  return result2;
                }
              }
            }
            originalErrorInfo = errorInfo;
            resetErrorInfo(saveErrorInfo);
          }
        }
      } else if (targetFlags & 16777216 /* Conditional */) {
        if (isDeeplyNestedType(target2, targetStack, targetDepth, 10)) {
          return 3 /* Maybe */;
        }
        const c = target2;
        if (!c.root.inferTypeParameters && !isDistributionDependent(c.root) && !(source2.flags & 16777216 /* Conditional */ && source2.root === c.root)) {
          const skipTrue = !isTypeAssignableTo(getPermissiveInstantiation(c.checkType), getPermissiveInstantiation(c.extendsType));
          const skipFalse = !skipTrue && isTypeAssignableTo(getRestrictiveInstantiation(c.checkType), getRestrictiveInstantiation(c.extendsType));
          if (result2 = skipTrue ? -1 /* True */ : isRelatedTo(
            source2,
            getTrueTypeFromConditionalType(c),
            2 /* Target */,
            /*reportErrors*/
            false,
            /*headMessage*/
            void 0,
            intersectionState
          )) {
            result2 &= skipFalse ? -1 /* True */ : isRelatedTo(
              source2,
              getFalseTypeFromConditionalType(c),
              2 /* Target */,
              /*reportErrors*/
              false,
              /*headMessage*/
              void 0,
              intersectionState
            );
            if (result2) {
              return result2;
            }
          }
        }
      } else if (targetFlags & 134217728 /* TemplateLiteral */) {
        if (sourceFlags & 134217728 /* TemplateLiteral */) {
          if (relation === comparableRelation) {
            return templateLiteralTypesDefinitelyUnrelated(source2, target2) ? 0 /* False */ : -1 /* True */;
          }
          instantiateType(source2, reportUnreliableMapper);
        }
        if (isTypeMatchedByTemplateLiteralType(source2, target2)) {
          return -1 /* True */;
        }
      } else if (target2.flags & 268435456 /* StringMapping */) {
        if (!(source2.flags & 268435456 /* StringMapping */)) {
          if (isMemberOfStringMapping(source2, target2)) {
            return -1 /* True */;
          }
        }
      }
      if (sourceFlags & 8650752 /* TypeVariable */) {
        if (!(sourceFlags & 8388608 /* IndexedAccess */ && targetFlags & 8388608 /* IndexedAccess */)) {
          const constraint = getConstraintOfType(source2) || unknownType;
          if (result2 = isRelatedTo(
            constraint,
            target2,
            1 /* Source */,
            /*reportErrors*/
            false,
            /*headMessage*/
            void 0,
            intersectionState
          )) {
            return result2;
          } else if (result2 = isRelatedTo(
            getTypeWithThisArgument(constraint, source2),
            target2,
            1 /* Source */,
            reportErrors2 && constraint !== unknownType && !(targetFlags & sourceFlags & 262144 /* TypeParameter */),
            /*headMessage*/
            void 0,
            intersectionState
          )) {
            return result2;
          }
          if (isMappedTypeGenericIndexedAccess(source2)) {
            const indexConstraint = getConstraintOfType(source2.indexType);
            if (indexConstraint) {
              if (result2 = isRelatedTo(getIndexedAccessType(source2.objectType, indexConstraint), target2, 1 /* Source */, reportErrors2)) {
                return result2;
              }
            }
          }
        }
      } else if (sourceFlags & 4194304 /* Index */) {
        const isDeferredMappedIndex = shouldDeferIndexType(source2.type, source2.indexFlags) && getObjectFlags(source2.type) & 32 /* Mapped */;
        if (result2 = isRelatedTo(stringNumberSymbolType, target2, 1 /* Source */, reportErrors2 && !isDeferredMappedIndex)) {
          return result2;
        }
        if (isDeferredMappedIndex) {
          const mappedType = source2.type;
          const nameType = getNameTypeFromMappedType(mappedType);
          const sourceMappedKeys = nameType && isMappedTypeWithKeyofConstraintDeclaration(mappedType) ? getApparentMappedTypeKeys(nameType, mappedType) : nameType || getConstraintTypeFromMappedType(mappedType);
          if (result2 = isRelatedTo(sourceMappedKeys, target2, 1 /* Source */, reportErrors2)) {
            return result2;
          }
        }
      } else if (sourceFlags & 134217728 /* TemplateLiteral */ && !(targetFlags & 524288 /* Object */)) {
        if (!(targetFlags & 134217728 /* TemplateLiteral */)) {
          const constraint = getBaseConstraintOfType(source2);
          if (constraint && constraint !== source2 && (result2 = isRelatedTo(constraint, target2, 1 /* Source */, reportErrors2))) {
            return result2;
          }
        }
      } else if (sourceFlags & 268435456 /* StringMapping */) {
        if (targetFlags & 268435456 /* StringMapping */) {
          if (source2.symbol !== target2.symbol) {
            return 0 /* False */;
          }
          if (result2 = isRelatedTo(source2.type, target2.type, 3 /* Both */, reportErrors2)) {
            return result2;
          }
        } else {
          const constraint = getBaseConstraintOfType(source2);
          if (constraint && (result2 = isRelatedTo(constraint, target2, 1 /* Source */, reportErrors2))) {
            return result2;
          }
        }
      } else if (sourceFlags & 16777216 /* Conditional */) {
        if (isDeeplyNestedType(source2, sourceStack, sourceDepth, 10)) {
          return 3 /* Maybe */;
        }
        if (targetFlags & 16777216 /* Conditional */) {
          const sourceParams = source2.root.inferTypeParameters;
          let sourceExtends = source2.extendsType;
          let mapper;
          if (sourceParams) {
            const ctx = createInferenceContext(
              sourceParams,
              /*signature*/
              void 0,
              0 /* None */,
              isRelatedToWorker
            );
            inferTypes(ctx.inferences, target2.extendsType, sourceExtends, 512 /* NoConstraints */ | 1024 /* AlwaysStrict */);
            sourceExtends = instantiateType(sourceExtends, ctx.mapper);
            mapper = ctx.mapper;
          }
          if (isTypeIdenticalTo(sourceExtends, target2.extendsType) && (isRelatedTo(source2.checkType, target2.checkType, 3 /* Both */) || isRelatedTo(target2.checkType, source2.checkType, 3 /* Both */))) {
            if (result2 = isRelatedTo(instantiateType(getTrueTypeFromConditionalType(source2), mapper), getTrueTypeFromConditionalType(target2), 3 /* Both */, reportErrors2)) {
              result2 &= isRelatedTo(getFalseTypeFromConditionalType(source2), getFalseTypeFromConditionalType(target2), 3 /* Both */, reportErrors2);
            }
            if (result2) {
              return result2;
            }
          }
        }
        const defaultConstraint = getDefaultConstraintOfConditionalType(source2);
        if (defaultConstraint) {
          if (result2 = isRelatedTo(defaultConstraint, target2, 1 /* Source */, reportErrors2)) {
            return result2;
          }
        }
        const distributiveConstraint = !(targetFlags & 16777216 /* Conditional */) && hasNonCircularBaseConstraint(source2) ? getConstraintOfDistributiveConditionalType(source2) : void 0;
        if (distributiveConstraint) {
          resetErrorInfo(saveErrorInfo);
          if (result2 = isRelatedTo(distributiveConstraint, target2, 1 /* Source */, reportErrors2)) {
            return result2;
          }
        }
      } else {
        if (relation !== subtypeRelation && relation !== strictSubtypeRelation && isPartialMappedType(target2) && isEmptyObjectType(source2)) {
          return -1 /* True */;
        }
        if (isGenericMappedType(target2)) {
          if (isGenericMappedType(source2)) {
            if (result2 = mappedTypeRelatedTo(source2, target2, reportErrors2)) {
              return result2;
            }
          }
          return 0 /* False */;
        }
        const sourceIsPrimitive = !!(sourceFlags & 402784252 /* Primitive */);
        if (relation !== identityRelation) {
          source2 = getApparentType(source2);
          sourceFlags = source2.flags;
        } else if (isGenericMappedType(source2)) {
          return 0 /* False */;
        }
        if (getObjectFlags(source2) & 4 /* Reference */ && getObjectFlags(target2) & 4 /* Reference */ && source2.target === target2.target && !isTupleType(source2) && !(isMarkerType(source2) || isMarkerType(target2))) {
          if (isEmptyArrayLiteralType(source2)) {
            return -1 /* True */;
          }
          const variances = getVariances(source2.target);
          if (variances === emptyArray) {
            return 1 /* Unknown */;
          }
          const varianceResult = relateVariances(getTypeArguments(source2), getTypeArguments(target2), variances, intersectionState);
          if (varianceResult !== void 0) {
            return varianceResult;
          }
        } else if (isReadonlyArrayType(target2) ? everyType(source2, isArrayOrTupleType) : isArrayType(target2) && everyType(source2, (t) => isTupleType(t) && !t.target.readonly)) {
          if (relation !== identityRelation) {
            return isRelatedTo(getIndexTypeOfType(source2, numberType) || anyType, getIndexTypeOfType(target2, numberType) || anyType, 3 /* Both */, reportErrors2);
          } else {
            return 0 /* False */;
          }
        } else if (isGenericTupleType(source2) && isTupleType(target2) && !isGenericTupleType(target2)) {
          const constraint = getBaseConstraintOrType(source2);
          if (constraint !== source2) {
            return isRelatedTo(constraint, target2, 1 /* Source */, reportErrors2);
          }
        } else if ((relation === subtypeRelation || relation === strictSubtypeRelation) && isEmptyObjectType(target2) && getObjectFlags(target2) & 8192 /* FreshLiteral */ && !isEmptyObjectType(source2)) {
          return 0 /* False */;
        }
        if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 524288 /* Object */) {
          const reportStructuralErrors = reportErrors2 && errorInfo === saveErrorInfo.errorInfo && !sourceIsPrimitive;
          result2 = propertiesRelatedTo(
            source2,
            target2,
            reportStructuralErrors,
            /*excludedProperties*/
            void 0,
            /*optionalsOnly*/
            false,
            intersectionState
          );
          if (result2) {
            result2 &= signaturesRelatedTo(source2, target2, 0 /* Call */, reportStructuralErrors, intersectionState);
            if (result2) {
              result2 &= signaturesRelatedTo(source2, target2, 1 /* Construct */, reportStructuralErrors, intersectionState);
              if (result2) {
                result2 &= indexSignaturesRelatedTo(source2, target2, sourceIsPrimitive, reportStructuralErrors, intersectionState);
              }
            }
          }
          if (varianceCheckFailed && result2) {
            errorInfo = originalErrorInfo || errorInfo || saveErrorInfo.errorInfo;
          } else if (result2) {
            return result2;
          }
        }
        if (sourceFlags & (524288 /* Object */ | 2097152 /* Intersection */) && targetFlags & 1048576 /* Union */) {
          const objectOnlyTarget = extractTypesOfKind(target2, 524288 /* Object */ | 2097152 /* Intersection */ | 33554432 /* Substitution */);
          if (objectOnlyTarget.flags & 1048576 /* Union */) {
            const result3 = typeRelatedToDiscriminatedType(source2, objectOnlyTarget);
            if (result3) {
              return result3;
            }
          }
        }
      }
      return 0 /* False */;
      function countMessageChainBreadth(info) {
        if (!info) return 0;
        return reduceLeft(info, (value, chain) => value + 1 + countMessageChainBreadth(chain.next), 0);
      }
      function relateVariances(sourceTypeArguments, targetTypeArguments, variances, intersectionState2) {
        if (result2 = typeArgumentsRelatedTo(sourceTypeArguments, targetTypeArguments, variances, reportErrors2, intersectionState2)) {
          return result2;
        }
        if (some(variances, (v) => !!(v & 24 /* AllowsStructuralFallback */))) {
          originalErrorInfo = void 0;
          resetErrorInfo(saveErrorInfo);
          return void 0;
        }
        const allowStructuralFallback = targetTypeArguments && hasCovariantVoidArgument(targetTypeArguments, variances);
        varianceCheckFailed = !allowStructuralFallback;
        if (variances !== emptyArray && !allowStructuralFallback) {
          if (varianceCheckFailed && !(reportErrors2 && some(variances, (v) => (v & 7 /* VarianceMask */) === 0 /* Invariant */))) {
            return 0 /* False */;
          }
          originalErrorInfo = errorInfo;
          resetErrorInfo(saveErrorInfo);
        }
      }
    }
    function mappedTypeRelatedTo(source2, target2, reportErrors2) {
      const modifiersRelated = relation === comparableRelation || (relation === identityRelation ? getMappedTypeModifiers(source2) === getMappedTypeModifiers(target2) : getCombinedMappedTypeOptionality(source2) <= getCombinedMappedTypeOptionality(target2));
      if (modifiersRelated) {
        let result2;
        const targetConstraint = getConstraintTypeFromMappedType(target2);
        const sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source2), getCombinedMappedTypeOptionality(source2) < 0 ? reportUnmeasurableMapper : reportUnreliableMapper);
        if (result2 = isRelatedTo(targetConstraint, sourceConstraint, 3 /* Both */, reportErrors2)) {
          const mapper = createTypeMapper([getTypeParameterFromMappedType(source2)], [getTypeParameterFromMappedType(target2)]);
          if (instantiateType(getNameTypeFromMappedType(source2), mapper) === instantiateType(getNameTypeFromMappedType(target2), mapper)) {
            return result2 & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source2), mapper), getTemplateTypeFromMappedType(target2), 3 /* Both */, reportErrors2);
          }
        }
      }
      return 0 /* False */;
    }
    function typeRelatedToDiscriminatedType(source2, target2) {
      var _a2;
      const sourceProperties = getPropertiesOfType(source2);
      const sourcePropertiesFiltered = findDiscriminantProperties(sourceProperties, target2);
      if (!sourcePropertiesFiltered) return 0 /* False */;
      let numCombinations = 1;
      for (const sourceProperty of sourcePropertiesFiltered) {
        numCombinations *= countTypes(getNonMissingTypeOfSymbol(sourceProperty));
        if (numCombinations > 25) {
          (_a2 = tracing) == null ? void 0 : _a2.instant(tracing.Phase.CheckTypes, "typeRelatedToDiscriminatedType_DepthLimit", { sourceId: source2.id, targetId: target2.id, numCombinations });
          return 0 /* False */;
        }
      }
      const sourceDiscriminantTypes = new Array(sourcePropertiesFiltered.length);
      const excludedProperties = /* @__PURE__ */ new Set();
      for (let i = 0; i < sourcePropertiesFiltered.length; i++) {
        const sourceProperty = sourcePropertiesFiltered[i];
        const sourcePropertyType = getNonMissingTypeOfSymbol(sourceProperty);
        sourceDiscriminantTypes[i] = sourcePropertyType.flags & 1048576 /* Union */ ? sourcePropertyType.types : [sourcePropertyType];
        excludedProperties.add(sourceProperty.escapedName);
      }
      const discriminantCombinations = cartesianProduct(sourceDiscriminantTypes);
      const matchingTypes = [];
      for (const combination of discriminantCombinations) {
        let hasMatch = false;
        outer:
          for (const type of target2.types) {
            for (let i = 0; i < sourcePropertiesFiltered.length; i++) {
              const sourceProperty = sourcePropertiesFiltered[i];
              const targetProperty = getPropertyOfType(type, sourceProperty.escapedName);
              if (!targetProperty) continue outer;
              if (sourceProperty === targetProperty) continue;
              const related = propertyRelatedTo(
                source2,
                target2,
                sourceProperty,
                targetProperty,
                (_) => combination[i],
                /*reportErrors*/
                false,
                0 /* None */,
                /*skipOptional*/
                strictNullChecks || relation === comparableRelation
              );
              if (!related) {
                continue outer;
              }
            }
            pushIfUnique(matchingTypes, type, equateValues);
            hasMatch = true;
          }
        if (!hasMatch) {
          return 0 /* False */;
        }
      }
      let result2 = -1 /* True */;
      for (const type of matchingTypes) {
        result2 &= propertiesRelatedTo(
          source2,
          type,
          /*reportErrors*/
          false,
          excludedProperties,
          /*optionalsOnly*/
          false,
          0 /* None */
        );
        if (result2) {
          result2 &= signaturesRelatedTo(
            source2,
            type,
            0 /* Call */,
            /*reportErrors*/
            false,
            0 /* None */
          );
          if (result2) {
            result2 &= signaturesRelatedTo(
              source2,
              type,
              1 /* Construct */,
              /*reportErrors*/
              false,
              0 /* None */
            );
            if (result2 && !(isTupleType(source2) && isTupleType(type))) {
              result2 &= indexSignaturesRelatedTo(
                source2,
                type,
                /*sourceIsPrimitive*/
                false,
                /*reportErrors*/
                false,
                0 /* None */
              );
            }
          }
        }
        if (!result2) {
          return result2;
        }
      }
      return result2;
    }
    function excludeProperties(properties, excludedProperties) {
      if (!excludedProperties || properties.length === 0) return properties;
      let result2;
      for (let i = 0; i < properties.length; i++) {
        if (!excludedProperties.has(properties[i].escapedName)) {
          if (result2) {
            result2.push(properties[i]);
          }
        } else if (!result2) {
          result2 = properties.slice(0, i);
        }
      }
      return result2 || properties;
    }
    function isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors2, intersectionState) {
      const targetIsOptional = strictNullChecks && !!(getCheckFlags(targetProp) & 48 /* Partial */);
      const effectiveTarget = addOptionality(
        getNonMissingTypeOfSymbol(targetProp),
        /*isProperty*/
        false,
        targetIsOptional
      );
      const effectiveSource = getTypeOfSourceProperty(sourceProp);
      return isRelatedTo(
        effectiveSource,
        effectiveTarget,
        3 /* Both */,
        reportErrors2,
        /*headMessage*/
        void 0,
        intersectionState
      );
    }
    function propertyRelatedTo(source2, target2, sourceProp, targetProp, getTypeOfSourceProperty, reportErrors2, intersectionState, skipOptional) {
      const sourcePropFlags = getDeclarationModifierFlagsFromSymbol(sourceProp);
      const targetPropFlags = getDeclarationModifierFlagsFromSymbol(targetProp);
      if (sourcePropFlags & 2 /* Private */ || targetPropFlags & 2 /* Private */) {
        if (sourceProp.valueDeclaration !== targetProp.valueDeclaration) {
          if (reportErrors2) {
            if (sourcePropFlags & 2 /* Private */ && targetPropFlags & 2 /* Private */) {
              reportError(Diagnostics.Types_have_separate_declarations_of_a_private_property_0, symbolToString(targetProp));
            } else {
              reportError(Diagnostics.Property_0_is_private_in_type_1_but_not_in_type_2, symbolToString(targetProp), typeToString(sourcePropFlags & 2 /* Private */ ? source2 : target2), typeToString(sourcePropFlags & 2 /* Private */ ? target2 : source2));
            }
          }
          return 0 /* False */;
        }
      } else if (targetPropFlags & 4 /* Protected */) {
        if (!isValidOverrideOf(sourceProp, targetProp)) {
          if (reportErrors2) {
            reportError(Diagnostics.Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2, symbolToString(targetProp), typeToString(getDeclaringClass(sourceProp) || source2), typeToString(getDeclaringClass(targetProp) || target2));
          }
          return 0 /* False */;
        }
      } else if (sourcePropFlags & 4 /* Protected */) {
        if (reportErrors2) {
          reportError(Diagnostics.Property_0_is_protected_in_type_1_but_public_in_type_2, symbolToString(targetProp), typeToString(source2), typeToString(target2));
        }
        return 0 /* False */;
      }
      if (relation === strictSubtypeRelation && isReadonlySymbol(sourceProp) && !isReadonlySymbol(targetProp)) {
        return 0 /* False */;
      }
      const related = isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors2, intersectionState);
      if (!related) {
        if (reportErrors2) {
          reportIncompatibleError(Diagnostics.Types_of_property_0_are_incompatible, symbolToString(targetProp));
        }
        return 0 /* False */;
      }
      if (!skipOptional && sourceProp.flags & 16777216 /* Optional */ && targetProp.flags & 106500 /* ClassMember */ && !(targetProp.flags & 16777216 /* Optional */)) {
        if (reportErrors2) {
          reportError(Diagnostics.Property_0_is_optional_in_type_1_but_required_in_type_2, symbolToString(targetProp), typeToString(source2), typeToString(target2));
        }
        return 0 /* False */;
      }
      return related;
    }
    function reportUnmatchedProperty(source2, target2, unmatchedProperty, requireOptionalProperties) {
      let shouldSkipElaboration = false;
      if (unmatchedProperty.valueDeclaration && isNamedDeclaration(unmatchedProperty.valueDeclaration) && isPrivateIdentifier(unmatchedProperty.valueDeclaration.name) && source2.symbol && source2.symbol.flags & 32 /* Class */) {
        const privateIdentifierDescription = unmatchedProperty.valueDeclaration.name.escapedText;
        const symbolTableKey = getSymbolNameForPrivateIdentifier(source2.symbol, privateIdentifierDescription);
        if (symbolTableKey && getPropertyOfType(source2, symbolTableKey)) {
          const sourceName = factory.getDeclarationName(source2.symbol.valueDeclaration);
          const targetName = factory.getDeclarationName(target2.symbol.valueDeclaration);
          reportError(
            Diagnostics.Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2,
            diagnosticName(privateIdentifierDescription),
            diagnosticName(sourceName.escapedText === "" ? anon : sourceName),
            diagnosticName(targetName.escapedText === "" ? anon : targetName)
          );
          return;
        }
      }
      const props = arrayFrom(getUnmatchedPropertinbdkit_noparallel_filter_la-noparallel.lo: noparallel.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/string.h \
 /usr/include/strings.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h /usr/include/assert.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/include/assert.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            nbdkit_openonce_filter_la-openonce.lo: openonce.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/pthread.h /usr/include/sched.h \
 /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/utils/cleanup.h \
 /usr/include/assert.h ../../common/include/unique-name.h \
 ../../common/utils/vector.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 ../../common/include/compiler-macros.h \
 ../../common/include/static-assert.h ../../common/include/unique-name.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/utils/cleanup.h:
/usr/include/assert.h:
../../common/include/unique-name.h:
../../common/utils/vector.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
../../common/include/compiler-macros.h:
../../common/include/static-assert.h:
../../common/include/unique-name.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ELF          >                    p          @     @   AWIAVIAUATUHSH(D%    H|$LD$            LH    *
    H!º   H;5       H
    D,1A!ADl$M  =    X  EAI{     $H
    1!ʉA8umHL9sdHT        *
    HH
    !º   H;5    r1H=           A8tfD      T$IHÅ   H   DDH
    E1LH9sEA)EAE)HD$E1D\$LLL$DLHPxZ  |$1DL           I9   D%    I)HLHI0t$E1H
      1LH=    H    IL$D       #@     =    LLH    H  Ld I LI    M9uI9JH(1[]A\A]A^A_D      $      =    LLH    H  Ld I4 H
    H H5    @>LI    M9       L       *
    HD!H;5    rH=    1    @ 1H=        M   D    Eu-D$    A      D    I@ D$    A   H
    4LHH=    1        H|$ H=    1    H([]A\A]A^A_    H|$ H=    1    H
       H5    H=        H
       H5    H=        f     UH=    HAUATSHx    H=    HHH    HD1H    H    HH    HpHHH)1Ll$IL       L           AL    HpD           HpH=    H9HB    1        HtMHHHuD            f    H        H            1He[A\A]]ÐH
    F   H5    H=        HH=    1    HH=    1    fD  H=    x    H=        H         SHH=    H=        }       HtEHPHu<H    =    HtHH!    t9H    [D  H
       H5    H=        H=    1    [ff.     AVMAUIATIUHH5    SH=        MLLHH[]A\A]A^ff.     AUIATIUHH5    SHH=        HMLHHߺ   []A\A]x     AWAVIι   AUIHATIUSHH*
    -            HH!º   H;=      H
    H5    D<9=    A!A        D  Ef      H
    E1IHH9   E1DT$MHDLLAUx[  T$D1L               =    HL    H         H޿       *
    H!؉H;5    R  H
    H H5    @>H    1H[]A\A]A^A_D  EAA)A)A@ HHH=    1    .    A   Au`H
    HHH=    1        =    H       Ņ\    H=    (1    G E    H
    HH1H=        ,    H=    1    =    H5        
    H
    ;@ H=    1        H=     A1    SAWAVMAUIATUHSHH    =    H    L$IILLD)H9DBH5                   =    LH    H   DD$MLDHLA             H޿       *
    H!؉H;5    sUH
    H H5    @>H    1H[]A\A]A^A_LHH=    1    +    H=    1        H=     A1         f     AUATMUHSHH       u	   =    H5    D-            L       =    LH    H              Hމ*
    H!и   H;5    ssH
    H H5    @>H    1H[]A\A]fLHH=    1    Q    HMHH[]A\A]X     H=    1        H=     A$1    ff.     fAUATUSHH    L    HIH   HE1L%    fD  @III9   @       L*
    D!Hº   L9s9H
    1!ʉuHLӃt8L    =    { L1    L    =    [ 1H[]A\A]       not cached cached blk.c nrblocks > 0 pwrite: %m pread: %m /var/tmp TMPDIR %s/XXXXXX mkostemp: %s: %m fstatvfs: %s: %m cache: block size: %u ../../common/bitmap/bitmap.h is_power_of_2 (blocksize) is_power_of_2 (blksize) ftruncate: %m dirty clean posix_fadvise: %m  bitmap_get: block number is out of range        cache: blk_read_multiple block %lu (offset %lu) is %s   blksize * runblocks <= UINT_MAX cache: cache-on-read block %lu (offset %lu)     bitmap_set: block number is out of range        cache: temporary directory for cache: %s        cache: blk_cache block %lu (offset %lu) is %s   cache: cache block %lu (offset %lu)     cache: writethrough block %lu (offset %lu)      cache: writeback block %lu (offset %lu)                _blk_read_multiple      blk_set_size    bitmap_init !       8                            
    6           9            
    &F       :int 
    *=   
    ,       
    -6   
       
    6   
    6   
              	      
    ?   
    M       
             ;
    [   	  
    u   
           p	      	6        	 6       	"       	#       	$        	%   (    	&   0    	'   8    	06   @    	46   H    	56   P    	6	  X n      6    
    
M       3              
8   	     H  6   
   H  
    	R  R  \  
    	f  f  p  
    	z  z    
    	      
    	      
    	      
    	      
    	      
    	      
    	      
    	    $  
    	.  .  8  3  B  W  L  k  V    `    j    t    ~                      3    
    >       M      Q	       R	      U
#      V7      W	_       Z	  (    [	  0    \	  8    ]	  @    ^	  H    _	  P    `	  X    a	  `    b	  h    c	  p    e	  x    h	      k	      l	      n	      p	;      r	   n   
  
         #  
        7  
   (  n   Z  
  Z  Z  Z   /  <  n     
  D   /  ;  /     n   d  n     
    /  ;  /       n     
  /       n     
  /  ;  /       n   1  
  /  ;  /  1     6  
    	      4      5=    <bpb 6      =      =      ?      @
*    	@    .    =   
'
                &    +  &    .=   &    1=   
    Y    n     ;  D    /fd Cn   	        /bm Y@  	        .    =   [Y                =    mn   	        0    ;  	            n     n         n        /     n   D   *            0
  ;   1    %      0     n     *       1    
>          =D   C  D   n   *         2
Z  n   Z   @      -n   u  ;       n     n           en     Z  ;   >    8
  D    2    *    fn     n    ?    c
@    E
	        =       2    '    In   '	  n   '	   G      Zn   C	           _V	     '     n   r	     n        zn   	     *      '     *   	           d	     '        	      !    n                  
  f &          vp /D               ;              6          
               
             4           4           (                          @           J           T                   	  U|    A        U} Tv   !    n           c      W
      
              ;              ,W
              </          err               	                                                                                                     "                                                                                	  U	                    C    T	                     Tv R}              Us          	  
  U	        Ts Q}  B        \
  .
  TTQQXX                   C	  U	          *  !    un           w            u 
              v;              v3W
              vC/          err w              y	           Cn z=   D    z=                                                                                              "                                                                                	  U	                    C  %  T	                   C  Tv R  (        x  U} Tv Q| R XY~              Us          	    U	        Ts Q                    C	  U	          E    :n       l      :
              ;;              ;&          err ;2              =	               >6          #      3n J=               J=                         c                                                                            "                                                                                	  U	            (          U} T| Q Rv X0Y~          !     U | "T0Q             T| Rv            6  Us          	  a  U	        Ts Qv                    C	  U	          F        8         3r h	n                       Tv R3                   C	  U	          
               >             4           4           (                          @           J           T                   	  U	                         C                               C    T	                 	    U	        Ts Qv          	  P  U	        Ts Qv R	                 C  T	          !    3n           H       }      3
              4;              4%          err 41          G}               6
                    H                              C  L  T	         4          UUTTQ1RQXR   I    *n     $    *!
  $    +;  $    +.;  $    ,  Jerr ,)   K    n                 1      "
              ;              /;                        Lerr *              	                         %b ;              ;          )    A  	        #    ^  5s 
  M
                           4           4           (                          @           J           T                   	  U	            #      %n =               =                         	                                                                            "                                                                                	  U	            (          UT~ QR| X0Y         !    U~ "T0Q}                        T~ R|            3  U}         	  ^  U	        Tv Q|                    C	    U	                   U	        T	        QR	          6
               h             4           4           (                          @           J           T                   	  U	                   	    U	        Tv Q|              T~ R|              U}                   C	    U	                   U	        T	        QR	             A  6    	1  7    n                  e      ;          )    u  	        *                                                     U	        TU         u          _  
  Us            I  U	        T	        QR	                 C	  U	             u  6    	e  N            (         *_                            i                                O           7    pn           z            r           %len s
*               t	           0    uG  ~#      5_x0 
=   %_y1 
6            6u                Q                                                             *                          F                        U	        T	        QFR	                   	  p  U	                 	    U	        Ts          	    Us          r	    U} Q	        Rs          V	    U} T@?$         ,	    U}          	  .  U| T~         	  M  U	                 	          C	    U	        Ts          C	  U	        Ts   +    b     ,    b 6   -       bm &   blk 3;  v A=       ;      =       =      +    =   _   bm &   blk 3;  ,    A=       ;      =       =    -    \u   bm \Z   -    D   bm DZ  ,    D*=   bpb D>=   )       	               6    	   +    ,     v ,6    P}          E       !                                                            C  a!  T	         4          UUTTQQRRXX  Q          I ~   I   1B   !I  
 :;9I8  H}  7 I  4 1B  	& I  
 :;9I  H}   :!;9IB  
 <  4 1  H }  $ >  'I  U   :;9I  .?:;9'I<  4 :!;9IB  1RBUX!YW  (   .?:;9'I<   :!;9IB  4 :!;9IB  4 :!;9!I  I  ! I/   :!;9IB  :;9!   .?:;9'<  !.?:!;9!'I@z  "1RBX!Y!W!  #U  $ :!;9I  %4 :!;9IB  &4 :!
;9I?<  '   (H}  )4 I4  *1RBXYW  +.:;9!'I   , :;9I  -.:!;9!' !  .>!!I:;9  /4 :!;9I  04 :!;9I  1. ?:;9!
'I<  2. ?:!;9!
'<  34 :!;9IB  4H}  54 :!;9I  61RBUX!YW  7.?:!;9!'I@z  8%U  9   :$ >  ;&   <
 :;9I8  =4 :;9I?  >.?:;9'<  ?. ?:;9'<  @.?:;9'<  AH}  BH}  C4 :;9I  D4 :;9I  E.?:;9'IU@z  F  G1RBUXYW  H 1  I.?:;9'I   J :;9I  K.:;9'I@z  L :;9IB  M1RBUXYW  N.?:;9'@z  OH }  P.1@z  Q. ?<n:;                          USU                :T:VT             :0:]                
        t "q p %
/1        $1p $        t "p %@1        $1p $} 3        %        "p %CV0           :
        p}
                   :0p}0           :0p}0           :]p}]           :
        p}
                     TNZT             PIQP             Q;GQ                  5U5UUU                        <T<STSTTS                            GQGVQVQVQQV                  GRGRRR                            GXG\X\X\XX\                ]]]             ^
        
                     ^33             ^SS             ^
        
                      5TT              3QQ                  P%p  tP1        $1q $          
                   3           S           
                          &U&]U]                  =T=STS                  -Q-VQV              URU                  UXU^X^              __             ^
        
                     ^11             ^SS             ^
        
                      2Ti}T                0PbrPrv#        1s                         Q%q  WkQ          
                   1           S           
                            U]U]        ]                    vTvSTS        S                    <Q<\Q\        \                    R^R^        ^                  VVV        V                      ___0__        _                     P_____                        0&Z&0Z             b
        
                     b11             bSS             b
        
                      6TT                4PP#        1s                         Q)q  Q          
                   1           S           
                     PV            F
        
                    F00            F00              3T3FSS            F
        
                         >U>Fs 3        %Us 3        %                <PP#        1t                       .QQ                 _t_0__        _                  #U#>S>GUGHU                  T?V?GTGHT                  'Q'A\AGRGHQ                  'R'C]CGXGHR                  R*]*.X./R                  Q(\(.R./Q                &V&.T./T                  
U
%S%.U./U              (U(	              (T(	T              (Q(	Q              (R(	R              (X(	                    \\\\\                   }  $0)(0)}  $0)0)1                                1S1} v u v v  } "} v u v v  } "} v 1S                    1S11S             
        )}
                     0)}0              0)}0                v s ")PQP}v s "              
        )}
                      TAwT                PSlPlw&        1v s "                        
Q
1        $1p $awQ                  [ Q                  0,z]]]0             
        4
                     141             ]4]             
        4
                      T[T                PcP#        1}                         Qq  nQ          
                   1           ]           
                    Q
        
                    Q00            Q00            QVV            Q
        
                      ;TT                4PP#        1v                       &QQ                UTU           P          
                        PSS           T              ]]          )~             ?
        Qq
                     ?2Qq2              ?2Qq2                P?	        QpP              ?
        Qq
                  P                  $U$9S9DUDEU                  T:V:DTDET                  (Q(<\<DQDEQ                  (R(>]>DRDER                  (X(@^@DXDEX <                     e                                                      a          $          )}          
          1          
          ?Rq          /5:                           

!'8<tz                             b          pyyy                  ^          ^          $^^o                  
       
      	                                                                                                                                                        	        ! KXt*".*< z tpt"*.
 JZ/ U,   JYXt<.X cMqJ<oA<Y	i	<[	X.
q.i
qyJC   	<Mq'	 l ; K  W ]	xJ6\

<X
t
.</
.t.<	 :	L"V	    '   Yfh.  
 f vn.m	'XX.	/RJ.XJntXX./C. (z&zt\r:=tL	K-f	

stg/vffXJXi|xtw Z
/XJ< rs
KfKZ I
 =vtX~fXJXtfX]wfX /s =fY
  ..
-X 	        ytuJyJfY
xJ  .
x.X 	        
~tX~X<~f~f<K~X*~f".*<<Zhr<><		.<Z	f~'t
t
.</
.t.<

/X<..[	=;	=;=
h~ 
Y
s/uf~~~t.Y"~~YXYs.=uX 	        napK,>f~'t
t
.</
.t.<
/X J..p ~Y.Ys
.=u1f- +KfrvZbLf}$t
t
.</
.t.<
/X ..t<ymJ<<<  .m.}Y.Ys
.Ku
f}.  }"X]}"*.JY<
X}XY
^/X  	          template f_bfree size_t next finalize bitmap_get_blk uint64_t blk_read_multiple close __uint8_t pwrite ssize_t can_write blk_writethrough __builtin_memset long long unsigned int bitmap_resize __int64_t f_flag free extents ibpb full_pwrite for_each_dirty_block long long int signed char sockaddr_inarp blk_cache state block_callback prepare cache_debug_verbose f_namemax is_power_of_2 long int __ssize_t bitmap_set_blk sockaddr_dl blknum nbdkit_next_ops blk_offset bm_entry tmpdir sockaddr_x25 sockaddr_ipx runblocks off_t can_extents __uint32_t mask GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables zero f_files block unsigned int block_size blk_read blocksize state_to_string nbdkit_debug long unsigned int blk_write default_ blksize size short unsigned int nrblocks fstatvfs __fsblkcnt_t strlen can_zero reclaim CACHE_MODE_WRITEBACK bitshift _blk_read_multiple sockaddr_un getenv unlink tail is_rotational cache_on_read new_size can_trim f_ffree can_multi_conn __f_spare __PRETTY_FUNCTION__ lru_init __off_t __uint64_t sockaddr_ns sa_family can_fua posix_fadvise __assert_fail lru_free blk_bit f_blocks _Bool unsigned char sockaddr_iso nbdkit_extents statvfs short int ftruncate get_size min_block_size sockaddr_ax25 mkostemp uint32_t BLOCK_CLEAN can_flush char sockaddr blk_init full_pread abort bitmap_init __errno_location not_cached __fsfilcnt_t offset lru_set_recently_accessed f_favail blk_set_size nbdkit_next blk_free sockaddr_eon bitmap_free sockaddr_at snprintf flush sa_family_t memset BLOCK_DIRTY can_cache sockaddr_in6 trim nbdkit_error sockaddr_in f_bavail uint8_t f_fsid lru_set_size CACHE_MODE_UNSAFE flags CACHE_MODE_WRITETHROUGH bitmap export_description f_frsize cache_mode sa_data can_fast_zero int64_t BLOCK_NOT_CACHED cache f_bsize pread /tmp/nbdkit/filters/cache blk.c /tmp/nbdkit/filters/cache ../../common/bitmap ../../common/include /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include ../../include ../../common/utils /usr/include/x86_64-linux-gnu/sys blk.c blk.c bitmap.h ispowerof2.h stddef.h types.h stdio.h stdint-intn.h stdint-uintn.h statvfs.h sockaddr.h socket.h nbdkit-filter.h cache.h blk.h fcntl.h utils.h errno.h string.h lru.h reclaim.h unistd.h stdlib.h assert.h statvfs.h nbdkit-common.h <built-in>  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0               zR x  d             BEE B(A0D8D`
8C0A(B BBBFk
8F0A(B BBBA  (          z   AJ
I
B             (    D_               A^
Qs8          E    BEE D(K0^(A BBB   4   $      H    BED K(G0O(R ABB H   \         BBJ H(D0A8GPv
8A0A(B BBBF             P H         w   BBE E(A0D8GP
8A0A(B BBBA L         c   BBD D(G0
(A ABBCd
(J ABBM   4   d          BBA A(G0(A ABB                                                                                                                                                                                                                                        "                     '      0               ,                    /                     4                      9                     >      %               C      0               I    	                _                     d                     i      h               n      C               t                     z      :                     J                     v                   	 (                                                              e                     T                   	        
                                                                             H                                                                                                                     	     p                                      	                                            
                                                                                                                                   
                                      #                   7                     D                     K                     Y                     d                     ~                                                                                              z                                                                                                                                                                                        (                                                                          @             ,                     :                     D                                E       Q                     Y    @      H       b                l                     z                         
      w                 c                               p
              blk.c _blk_read_multiple bm .LC2 .LC1 .LC5 fd .LC9 .LC0 .LC7 .LC8 .LC10 __PRETTY_FUNCTION__.0 .LC3 .LC4 .LC6 .LC12 .LC13 .LC11 .LC14 .LC17 __PRETTY_FUNCTION__.2 .LC19 .LC20 .LC16 .LC15 __PRETTY_FUNCTION__.1 .LC21 .LC22 .LC26 .LC23 .LC24 .LC27 .LC25 blk_cache.cold .LC29 .LC30 .LC18 blksize cache_debug_verbose nbdkit_debug memset cache_on_read full_pread lru_set_recently_accessed full_pwrite __errno_location nbdkit_error __assert_fail blk_init getenv strlen snprintf mkostemp unlink fstatvfs min_block_size lru_init blk_free close lru_free blk_set_size bitmap_resize ftruncate lru_set_size reclaim blk_read blk_cache posix_fadvise abort blk_writethrough blk_write cache_mode for_each_dirty_block                6   3                    F                    L                    n                    {                              7                                                                                  $                   /         	   4         8   J         6   u                            9            :            6   
                        &         8   ;         6   R         6   X            g         ;            <            7            6                        =                                                  <   $                   8                   >                   ^                   g            n         8   }         	            8            7            6                                    8            >                        ?   ,         >   <            C         ?   L         -   X            _            d         @   k         -   w            ~                     @                        B                                    8            C                        D            E               "         F   1         G   @         H   N            [         6   d         8   j         6   ~                            5                                                                                        I            -   $                                        @                        ?                         ?                        K   &                   +         L   G                   N                   S         O   b         6   w                   }                     P            Q            -                               "            @            #            ?                                           S   Q                   _            d         S                               6                                                                                                  
                     S             7   7         6   >                            9            7            6                        =                                                                               	                   	                   	         <   Y	         %   `	         8   	         &   	         '   	         8   	         6   	            	         V   	         >   	         (   	         ?   	            	         '    
         8   
         	   
         8    
            '
                   ,
         S   2
         7   C
         )   S
            Z
         8   d
         >   k
            w
         ?   
         6   
            
                   
                   
         S   
         7   
         6   
            
         =   ,                   @                   F                   e                   n                   ~                            <            +            8                        8            >                        ?            Z   1            8                   ?         6   D         S   J         7   \         6   b            m         =   ~                                                                                                                           <            ,    
         8   3
            :
         8   A
         >   H
            U
         ?   
                   
                   
         	   
                   
                                      %                   ,                   >         8   E                   L                   4         M   	         $             W          
   /           
       
   3   &             
   4                 
   4                  
   1         &       
   2           +       
   3          9       
   3         @       
   3         I       
   3   v      P       
   3         W       
   3         \       
   3   V       j       
   3         v       
   3                
   3                 
   3                
   3                
   3   	             
   3   (             
   3   Z             
   3                
   3   
             
   3                
   3   g             
   3               
   3               
   3                
   3   D      0      
   3         <      
   3   5       H      
   3         T      
   3         a      
   3         n      
   3   g      {      
   3   	             
   3   ;            
   3   {            
   3               
   3               
   3   L            
   3                
   3   h            
   3               
   3         
      
   3               
   3   (      &      
   3         S      
   3         g      
   3         {      
   3               
   3               
   3   /            
   3               
   3               
   3               
   3               
   3               
   3   ~      /      
   3               
   3               
   3               
   3   L            
   3                
   3               
   3               
   3               
   3   o       +      
   3          8      
   3         E      
   3         R      
   3   <      _      
   3         l      
   3   
      y      
   3   2            
   3               
   3               
   3               
   3   `             
   3               
   3               
   3   v            
   3                
   3         7      
   3         A      
   3         M      
   3         g      
   3   b      t      
   3                
   3               
   3               
   3               
   3   M            
   3   x            
   3   `            
   3               
   3               
   3               
   3   =                          .                   7      
   3         G      
   3         M      
   3         S      
   3         Z      
   3   T      g         7           p      
   3         |                         
   3   :            
   3   !            
   3   n            
   3   >            
   3                
   3               
   3   p      $      
   3         D      
   3   E      `      
   3   S      v      
   3               
   3                
   3                
   3   V            
   3   P             
   3   ,            
   3   H      	      
   3          
	      
   3         -	      
   3         D	      
   3   "      W	      
   3         s	      
   3         	      
   3   5      	      
   3         	      
   3         	      
   3          	            p
       
      
   0          
      
   0          
      
   0   7       
      
   0   1       
      
   3         '
      
   0   Z       +
      
   0   V       0
      
   3   7      ;
      
   0   x       ?
      
   0   p       H
            
      Q
      
   1   z      a
      
   0          e
      
   0         n
      
   0   J      r
      
   0   F      {
      
   0   d      
      
   0   `      
      
   0   ~      
      
   0   z      
      
   0         
      
   0         
      
   1   z      
      
   0         
      
   0         
      
   0         
      
   0         
      
   0         
      
   0         
            B      
                  
      
   3                                  
   3          #      
   0         '      
   0         ,      
   3         7      
   0   C      ;      
   0   5      @      
   3         K      
   0         O      
   0         T      
   3   r      _      
   0         c      
   0         s      
   0   "      w      
   0         |      
   3   g            
   0   t            
   0   n                  {            
   1   h            
   0               
   0               
   0               
   0               
   0               
   0               
   0               
   0               
   1   h            
   0   $            
   0                
   0   >            
   0   :             
   0   \            
   0   T      
            0
                  0
      +      
   0         /      
   0         8      
   0         <      
   0         E      
   0         I      
   0         R      
   0         V      
   0         j            >
      {                               H                                     q                                    
                        
            (
      /
            E
      <
            Y
      M
            %       ]
      
   3   y       g
            
      ~
      
   3          
      
   0         
      
   0         
      
   3         
      
   0         
      
   0         
      
   3         
      
   0   K      
      
   0   C      
      
   3   r      
      
   0   u      
      
   0   q      
      
   0         
      
   0         
      
   3   g      
      
   0         
      
   0               
   3                     )            
   1   V      ,      
   0         0      
   0         9      
   0         =      
   0         F      
   0   !      J      
   0         S      
   0   ;      W      
   0   7      \      
   1   V      e      
   0   g      i      
   0   c      r      
   0         v      
   0   {            
   0               
   0                                                   
   0               
   0               
   0               
   0               
   0               
   0               
   0               
   0                                                          
                         &            
      D                   y                                                p                                                      %             
   3   -            
   1                
   3                
   0   7            
   0   -            
   3               
   0   s            
   0   i      $      
   3         /      
   0         3      
   0         C      
   0         G      
   0         L      
   3   g      W      
   0   %      [      
   0         `      
   3   7      k      
   0   ]      o      
   0   O      t      
   1                
   0               
   0               
   3               
   0               
   0                                 
   1   "            
   0   '	            
   0   #	            
   0   S	            
   0   O	            
   0   o	            
   0   k	            
   0   	            
   0   	            
   1   "            
   0   	            
   0   	            
   0   	      
      
   0   	            
   0   
            
   0   
                   P
      )            P
      >      
   0   6
      B      
   0   4
      K      
   0   N
      O      
   0   L
      X      
   0   ^
      \      
   0   \
      e      
   0   m
      i      
   0   k
      }            ^
                                     o                                                      "	      7            d	      L            H      b            h
      o            {
                  %                   	            
   0   
            
   0   
                  	                  	                  	                                                 
   1                
   0   
            
   0   
      "      
   0   
      &      
   0   
      /      
   0   
      3      
   0   
      <      
   0         @      
   0   
      I      
   0   $      M      
   0          R      
   1          [      
   0   T      _      
   0   L      h      
   0         l      
   0         u      
   0         y      
   0         ~            
                                      p	            
   1   4            
   0               
   0                  $                                                           	                                    
      .                  G                    Q            0
      b                   m      
   3         w            @            
   3                
   0   F            
   0   >            
   3               
   0   o            
   0   g            
   3               
   0               
   0               
   0               
   0                     Y            
   1                
   0               
   0               
   0   
      	      
   0   
            
   0   :
            
   0   4
      %      
   0   ^
      )      
   0   V
      .            h      C                   M                  ~      
   3   >             
   3                
   3               
   3               
   3               
   3   k                                
   3                
   0   
            
   0   
            
   3         
      
   0   
            
   0   
            
   3                
   0   
      $      
   0   
      )      
   3         3      
   0   
      7      
   0   
      G      
   0   
      K      
   0   
      P      
   3   g      Z      
   0         ^      
   0   	      c      
   3   O      m      
   0   I      q      
   0   ?      ~      
   0               
   0               
   3               
   0   4            
   0   *            
   3                  -                 
   1   &                                
   1   7             
   0   e            
   0   a            
   0               
   0               
   0               
   0               
   0               
   0               
   0               
   0               
   1   7             
   0         "      
   0         +      
   0   0      /      
   0   *      8      
   0   t      <      
   0   n      A            8      R                    _      
   1   G       p      
   0         t      
   0         y      
   3               
   0               
   0                     !            
   1   y             
   0               
   0   
            
   0   9            
   0   5            
   0   T            
   0   P            
   0   m            
   0   i            
   1   y             
   0               
   0               
   0               
   0               
   0                
   0         	            d                  d      '      
   0         +      
   0         4      
   0   .      8      
   0   ,      A      
   0   >      E      
   0   <      N      
   0   M      R      
   0   K      f            r      w                                                                                                             4                  I                   _                   l                              %                                     h                                   -                       @             
   1                
   0   g            
   0   c            
   0               
   0               
   0               
   0         
      
   0               
   0               
   0               
   0                
   1          )      
   0         -      
   0   
      6      
   0   -      :      
   0   '      C      
   0   p      G      
   0   l      L                  ]                    i            *      ~            0                   k                                    0                  G                  0                   h                                            '         -           G      
   3         P            @      g      
   3         q      
   0         u      
   0         z      
   3                  -                      f                  f            
   0               
   0                     W                                                                                                   -                   @         -          J                  [                   {      
   3                                       #                  #            
   0               
   0                     /                  #                  8            
   3                                 
   3               
   0         "      
   0         1      
   0         5      
   0         :      
   3           D      
   0         H      
   0         M      
   3         \      
   1          z      
   0         ~      
   0                     n            
   1                
   0   1            
   0   -            
   0   [            
   0   W            
   0   u            
   0   q            
   0               
   0               
   0               
   0               
   1                      n                  n            
   0               
   0                           &                   3                   F         -   (       R                  g            C       q                                                                                     J                                     &                  5      /            h      D            v       N                  [                  p            e                                     T             
   3               
   3   7            
   3               
   3               
   3   _            
   3   !             
   3   &       5       
   3         A       
   3         K       
   3   _      U       
   3   !      `       
   3         v       
   3   2             
   3                
   3                   -   (              
   3   r                         !      
   0         
!      
   0         !      
   0         !      
   0          !      
   0   E      $!      
   0   =      -!      
   0   n      1!      
   0   f      :!      
   0         >!      
   0         C!                  X!                   b!            5      !      
   3         !      
   3                       p
      8             p
      [             p
      y             
                                                                                                                             !            
      .                   <                   K            
      e            
                  
                  
                                                        
                  
                  
      
                   D                                                         #                   u            R                  {                                                        {                  {                  {                                            %                  ?                  ]                                                 (
                                     (
                  (
                  (
                                     
                  
      L            
      v            
                  
                  
                  )                                                        )      "            )      <            )      I                   Y                   h            P                  W                                                        b                                                             	                                    #                   8                  ]         $           t                           $                                      $                                      $           &                  C         $           ^                           $                       H                  H      (	                  5	                   E	                   T	                  p	                  	                  	                   	                   	                  	                  	                    
                   
                  7
            L
      B
                   O
            L
      _
            L
      n
            L
      y
                   
            	      
                  
                   
                   
                  
                                    %                  2                   B                   U                  j                                                                                                                            i	      2         $           G            @      p            @                  @                  @                  Y      
            Y      ;
            Y      _
            Y      
                    
                    
                    
                    
                                @       J                                      5                   f                   s                                                                                                                                                                           1                   H                   ^                   u                                                                    a                                           +                   :                  U                  n                  {                                                                                                                                              d      "                   /            d      ?            d      N            d      Y                   h            @       u                                                  @                   @                   @                   @                                                         V       .            ]       I                   \                   q            k                   @                  f                  #                                                                                           >      2            n      ?                   M                   \            n      v            n                  n                                     n                                                        n                                          F                  o                                           
   .                                           $           
             0       '                    8                    H             H      z                                >                   n                   N                                   $                                           5               $           #                  5            p	      L         $           W            )      i            {      {            
                                   $           "       
   4           &       
   4   :       *       
   4   N       .       
   4   c       2       
   4          6       
   4          :       
   4          >       
   4          B       
   4          L       
   4          Q       
   4         V       
   4         [       
   4         `       
   4   !      e       
   4   *      j       
   4   2      o       
   4   :      t       
   4   H      y       
   4   W      ~       
   4   a             
   4   l             
   4   u             
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                
   4                                          @      $                  S            
      
         $                                                                                    @                         (            @      `                           $                       
                         h            p
       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rela.text.unlikely .rodata .rodata.cst2 .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .rela.debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                              @       e                                   @               (r      0                          &                                                         ,                           (                              1      2                                                 @      2                                                 T                                                         O      @               X                                 c                           4                              k                                                        }                            !                             x      @               p      >                                                e3      ,                                                   8                                         @                                                                     IN      @                                    @                      H                                                 N                                         @               h                                                      1P      
                                   @               `                                      0               Z                                        0               a                                       0               d      (                             
                     )d                                                         0d                                        @               8                                                      f               6                 	                      ho                                                         @      )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             # nbdkit_cache_filter_la-blk.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_cache_filter_la-blk.o'

# Name of the non-PIC object
non_pic_object='nbdkit_cache_filter_la-blk.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               # nbdkit_cache_filter_la-cache.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_cache_filter_la-cache.o'

# Name of the non-PIC object
non_pic_object='nbdkit_cache_filter_la-cache.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ELF          >                    Q          @     @   H     HtrHHHuiH            f    H        H            f        H        H        f.     HH
    F   H5    H=        ff.     fHH=        H=    H    SHHH=        |   HH=        thH    H    H Ht-HHHHPHHºd   HH9HL    [1 1HHd   HH9HBfD  [Ð        ATHU   A   *
    S!HDH;5    sL    A<0!tb[]A\D  1HH=        H*
    HH;5    
           AL    !AT$҉A 0   H5                9go    =    5    D    H
    H    f=    H    )    H=    @5    1H    D    H
    H        []        A\f     H=    1    Eff.     f       HS    *
    HH!º   H;5    sH
    1!ʉ   t[H=    1               H*
    H!º   H;5    s"H
    [1!ʉf.     1H=        1[  d           ../../common/bitmap/bitmap.h is_power_of_2 (blocksize)  bitmap_get: block number is out of range        bitmap_set: block number is out of range        bitmap_init         #                                  :           $                &J       %int     ,           -:                     y           _              Q       	      	        	
         #  :   
    #      -  -  7      A  A  K      U  U  _      i  i  s      }  }                                                                    	  	        2  '  F  1  Z  ;  n  E    O    Y    c    m    w                  4      5A    &bpb 6       =       =       ?      @
.             .A       4     *  :    bm X  	        c0 YA   	        c1 YA   N ZA   	            =H     	H   	r   	.    '    d  	   (     er     	  	      )    
8
  	H    *    
c
+    E
  	   	   	A   	        [                 [      *           
                
          
          
          
              
          
          
          
          U	           
              
          
          
          
              
          
          
          
          U	                    |                    |%                 tmp           
                        
          T0   
              z  
          
          
          
              
          
          
          
          U	           \
              f
          }
          }
          q
          f
              
          
          
          
          U	                kr                        k               u  _x0 t	   _y1 t	r                  _x2 v	   _y3 v	r            ,            U	        Ts  
          U	        Ts       d                                fO                          \  -                          g.  
                      \  /                 ]               \
  '               _	  G          G          <  1              0|                         F7	             '              D	  G          G          <  1          1     
          U	        T	        QFR	            '                  5       `G          G          <  1           '                  (       DG          G          <  1                 
  
bm &
  
blk 3   
v AA              A       A      !    A   
  
bm &
  
blk 3   "    AA              A       A        j  
bm j       \'  
bm \       Dg  
bm D  "    D*A   
bpb D>A   2    w  	            w  :    g  !    ,[    
v ,:    3           1B   !I  7 I  & I  I ~   <  4 1B  $ >  	 I  
 :;9I   :;9I  
 :;9I8  
H}  1RBUXYW   1  4 :!;9!I  1RBUXYW  U  .:!;9!' !  I  ! I/  4 :!;9I  4 :!;9I   :!;9IB  .?:!;9!'@z  U  4 :!;9IB  :;9!  4 :!
;9I?<  .?:;9'I<  .?:!;9!'I@z   1RBXYW  !.:;9!'I !  " :!;9I  #%  $   %$ >  &
 :;9I8  '.?:;9'<  (   ).?:;9'<  *. ?:;9'<  +.?:;9'<  ,H}  -H }  . 1  /H }  01RBXYW  1 U  24 I4  3. ?<n:;   {                  USUSU  00  00  US  
        
            TT      PP#        1s             QQ  00  00  SS  
        
            TT      PP#        1s             QQ             UUUSUS           X                T#X                TR$X                TRPXTRPX        RP  
          00  00    UUS  
        
            TT        PP#        1u         #        1s             QQ    
        
            11    11      SUS    
        
              s 3        %U3        %s 3        %         r         1 $ &s )                1 $ &s *                1 $ &U r         1 $ &s         *1r $1r         1 $ &s $<1        $1                1 $ &s $=1        $1                1 $ &U$*1r $1r         1 $ &s $           USUSU  d  d  
            	K1v1     	K1v1     	K
        v
          	P  5K1  5K1  5K
          Ku1  Ku1  Ku
          Xu1  Xu1  Xu
         ,                                                    	K '.5K                    
                                                                                                       	         efXJi|xtvxdivxvqhJ 	        vzJu	twJ
X!;=tX[	vr	>Hh		XJtk
/G		XJxX 2z4z<&zX&XX"*.w.Jn.<tYrjd5/-K
Xt..cnxfDx.n	Jtus[&tZt.%uKUX*,dg g<ft"*.,Lf.Yz"ttj "J*.,JZf..  nbdkit_debug uint64_t lru_has_been_recently_accessed sockaddr_iso size_t sockaddr_inarp is_power_of_2 __PRETTY_FUNCTION__ long long int sockaddr_un blknum short int int64_t __builtin_memset bitmap_resize uint8_t lru_free bitmap sockaddr_dl bitmap_free free bitmap_set_blk bitmap_clear default_ sockaddr_ipx lru_set_size bitshift memset lru_set_recently_accessed long int __int64_t __uint8_t blocksize unsigned char sa_family_t sockaddr_eon abort signed char long long unsigned int sockaddr_in6 unsigned int blksize sa_data short unsigned int lru_init bitmap_init char GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables sockaddr_ns _Bool __uint64_t blk_bit long unsigned int sockaddr_x25 size bitmap_get_blk mask ibpb blk_offset sa_family sockaddr_at max_size new_size __assert_fail sockaddr_in sockaddr sockaddr_ax25 lru.c /tmp/nbdkit/filters/cache /tmp/nbdkit/filters/cache ../../common/bitmap ../../common/include /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include ../../include lru.c lru.c bitmap.h ispowerof2.h stddef.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h cache.h string.h nbdkit-common.h stdlib.h assert.h <built-in>  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0               zR x                      4            DW    L           Aq
Ff8   l          PDW t
ABF
ALJ  (              PO
AV
ZQ                                                                                                                                                      0       
                                           %                     *                                          ,                      1                    4      0                                          	                                                                                                                                                     9                      >                    G                      ]                      e                      s                    w                      |                                                                    p                                                                           lru.c bm __PRETTY_FUNCTION__.0 .LC1 .LC2 N .LC3 c0 .LC4 .LC0 lru_init _GLOBAL_OFFSET_TABLE_ blksize __assert_fail lru_free lru_set_size bitmap_resize max_size lru_set_recently_accessed nbdkit_debug memset lru_has_been_recently_accessed           *                          #             )             !       1                     8                     C             (       M             4       T             8       Z             9       b             8       m             @                                           	                             $                                 <                                                     4                          *       
      *      =            s            "       z                                !                   ,                   $                            "               !                   ,                                       "                   $       @            $       J            P            [            k            4       r                    y            "                                      $                   ,                   8                   D                                      $                   :                   ,                   4                   <                   D                #                                    "               "       #                    )            !       N            ,       W            $       s            z         "               :                   8                   9                   D                   <                            "                       
              
       
      8             
                     
                                  *       
              /       
      B       =       
            D       
            M       
            T       
            [       
            `       
      }      n       
             z       
      s             
      j             
                   
      3             
      z              
                    
                   
                    
      
              
                   
      =             
                  
            .      
            B      
      F      V      
             j      
            ~      
      1            
                  
      I             
      &            
      5             
                  
             
      
                  
                   
                  
      @            
                  
                   
                  
                  
            6                    J                    g                    p      
      I            
                    
                   
                   
                  
      #             
             	                         
             *      
             .      
             7                  @      
             P      
      D       T      
      @       ]      
      Y       a      
      U       j      
      n       n      
      j       w      
             {      
      }             
                   
                   
                   
                   
                   
                   
                         ~                                      ~            
                   
      
            
                  
                  
                  
      4             
      0      	      
      G      
      
      C            
                   
      l            
      h      (      
            ,      
      {      5      
            9      
            >                  O                    ^      
            c      
      P      h            p            
                   
                  
                  
                   
                  
      	                              
                   
                  
                                          p            
      m             
                  
                  
                  
                  
                   
            )      
            -      
            2      
      m       ;      
      A      ?      
      =      H      
      X      L      
      P      U      
            Y      
            ^                  o                                            
                   
                  
                  
                  
                  
      
            
                  
      !            
                  
      >            
      :            
                   
      e            
      _            
                  
                  
                  
      {                                    0             
      3      $                   ;      
            E      
      s      I      
      i      N      
      M       l      
            p      
            v      
      b             
                  
                                                                                  8             
                                                         
      !             
            "      
            +                   4      
      ,       A                   T                   ]      
      7       k            8       y                         
      B                                
                                            	             
                   
                  
                  
                  
                  
                  
             	      
             		            	       	            	       .	      
            2	      
            <	            5       E	      
             U	      
            Y	      
            b	      
      !      f	      
            t	      
      *      x	      
      (      }	      
             	                   	                   	                    	                    	            K       	            K       	      
      ;      	      
      9      	      
      D      	      
      B      
      
      M      
      
      K      
            X       
            X       2
      
      ^      6
      
      \      ?
      
      g      C
      
      e      Q
      
      p      U
      
      n      ]
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
                  
             (      
      '      =      
            T      
      f       ^                    }      
      X             
      I            
                                                                    &                    $       N            8       ^            8                   >                   <                   $       (            %       A            $       L            %       j            $       u            %                   >                           #                    3                    m            &                   $                   &                   $                                               E                    U                    o            %                   %                   %                   &                   $       
            &       +            $       9            &       `            &                   &                   $                   $                   &                   $                   $                   &       M            &                                                                   /                    R            8       u            8              
                                   "       
              &       
      :       *       
      N       .       
      c       2       
             6       
             :       
             D       
             I       
             N       
             S       
             X       
             ]       
             b       
             g       
            l       
            q       
      %      v       
      .      {       
      6             
      ?             
      O             
      X             
      a                           e                                         8                    P                    p             p                          .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rodata.cst2 .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                       @                                          @               P*                                 &                     4                                    ,                     @      P                               1      2               @      7                             @      2               x      Y                             O                                                         W                                                        i                                                         d      @               p1               	                 u                                                                                                                        @               hH                                                      	      0                                    @                M      0                                                 9                                                                                                   @               0M      X                                0               )       T                                  0               }#      l                                  0               $      (                                                   %                                                         %                                         @               O      x                                                 %      x                          	                      `)                                                           P                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ELF          >                    P          @     @       HtmHHHudH            f    H        H            f        H        H        D  HH
    F   H5    H=        D  HH=        H=    H    SHHH=        txHH=        td    H    Ht/HHHHPHHºd   HH9HL    [1D  1HHd   HH9HBfD  [f             ATHU   A   *
    S!HDH;5    sL    A<0!tb[]A\D  1HH=        H*
    HH;5    
           AL    !AT$҉A 0   H5                9go    =    5    D    H
    H    f=    H    )    H=    @5    1H    D    H
    H        []        A\f     H=    1    Eff.     f       HS    *
    HH!º   H;5    sH
    1!ʉ   t[H=    1               H*
    H!º   H;5    s"H
    [1!ʉf.     1H=        1[  d                           ../../common/bitmap/bitmap.h is_power_of_2 (blocksize)  bitmap_get: block number is out of range        bitmap_set: block number is out of range        bitmap_init         #                                  :           $                &J       %int     ,           -:                     y           _              Q       	      	        	
         #  :   
    #      -  -  7      A  A  K      U  U  _      i  i  s      }  }                                                                    	  	        2  '  F  1  Z  ;  n  E    O    Y    c    m    w                  4      5A    &bpb 6       =       =       ?      @
.             .A       4     *  :    bm X  	        c0 YA   	        c1 YA   N ZA   	            =H     	H   	r   	.    '    d  	   (     er     	  	      )    
8
  	H    *    
c
+    E
  	   	   	A   	        [                 [      *           
                
          
          
          
              
          
          
          
          U	           
              
          
          
          
              
          
          
          
          U	                    |                    |%                 tmp           
                        
          T0   
              z  
          
          
          
              
          
          
          
          U	           \
              f
          }
          }
          q
          f
              
          
          
          
          U	                kr                        k               u  _x0 t	   _y1 t	r                  _x2 v	   _y3 v	r            ,            U	        Ts  
          U	        Ts       d                                fO                          \  -                          g.  
                      \  /                 ]               \
  '               _	  G          G          <  1              0|                         F7	             '              D	  G          G          <  1          1     
          U	        T	        QFR	            '                  0       `G          G          <  1           '                  #       DG          G          <  1                 
  
bm &
  
blk 3   
v AA              A       A      !    A   
  
bm &
  
blk 3   "    AA              A       A        j  
bm j       \'  
bm \       Dg  
bm D  "    D*A   
bpb D>A   2    w  	            w  :    g  !    ,[    
v ,:    3           1B   !I  7 I  & I  I ~   <  4 1B  $ >  	 I  
 :;9I   :;9I  
 :;9I8  
H}  1RBUXYW   1  4 :!;9!I  1RBUXYW  U  .:!;9!' !  I  ! I/  4 :!;9I  4 :!;9I   :!;9IB  .?:!;9!'@z  U  4 :!;9IB  :;9!  4 :!
;9I?<  .?:;9'I<  .?:!;9!'I@z   1RBXYW  !.:;9!'I !  " :!;9I  #%  $   %$ >  &
 :;9I8  '.?:;9'<  (   ).?:;9'<  *. ?:;9'<  +.?:;9'<  ,H}  -H }  . 1  /H }  01RBXYW  1 U  24 I4  3. ?<n:;   {                  USUSU  00  00  US  
        
            TT      PP#        1s             QQ  00  00  SS  
        
            TT      PP#        1s             QQ             UUUSUS           X                T#X                TR$X                TRPXTRPX        RP  
          00  00    UUS  
        
            TT        PP#        1u         #        1s             QQ    
        
            11    11      SUS    
        
              s 3        %U3        %s 3        %         r         1 $ &s )                1 $ &s *                1 $ &U r         1 $ &s         *1r $1r         1 $ &s $<1        $1                1 $ &s $=1        $1                1 $ &U$*1r $1r         1 $ &s $           USUSU  d  d  
            H1s1     H1s1     H
        s
          P  2H1  2H1  2H
          Hr1  Hr1  Hr
          Ur1  Ur1  Ur
         ,                                                    Hxx| $+2H             
       
                                                                                                       	         effXJi|xtvxdivxvfqhJ 	        vzJu	twJ
X!;=tXZ[	d	v,h		XJtk
/c		XJxX z4z<&zX&XX"*.w.Jn.<tYrjd5/-K
Xt..cnxfDx.n	Jtus[&tZt.%uKUX*,dg g<ft"*.,Lf.Yz"ttj "J*.,JZf..  nbdkit_debug uint64_t lru_has_been_recently_accessed sockaddr_iso size_t sockaddr_inarp is_power_of_2 __PRETTY_FUNCTION__ long long int sockaddr_un blknum short int int64_t __builtin_memset bitmap_resize uint8_t lru_free bitmap sockaddr_dl bitmap_free free bitmap_set_blk bitmap_clear default_ sockaddr_ipx lru_set_size bitshift memset lru_set_recently_accessed long int __int64_t __uint8_t blocksize unsigned char sa_family_t sockaddr_eon abort signed char long long unsigned int sockaddr_in6 unsigned int blksize sa_data short unsigned int lru_init bitmap_init char GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables sockaddr_ns _Bool __uint64_t blk_bit long unsigned int sockaddr_x25 size bitmap_get_blk mask ibpb blk_offset sa_family sockaddr_at max_size new_size __assert_fail sockaddr_in sockaddr sockaddr_ax25 lru.c /tmp/nbdkit/filters/cache /tmp/nbdkit/filters/cache ../../common/bitmap ../../common/include /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include ../../include lru.c lru.c bitmap.h ispowerof2.h stddef.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h cache.h string.h nbdkit-common.h stdlib.h assert.h <built-in>  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0           zR x                |      4            DW    L           Ag
Hf8   l          PDW t
ABF
ALJ  (              PO
AV
ZQ                                                                                                                                                      0       
                                           %                     *                                          ,                      1                    4      0                                          	                                                                                                                                                     9                      >                    G                      O                      ]                    a                      f                   s                                                 `                                                                            lru.c bm __PRETTY_FUNCTION__.0 .LC1 .LC2 N .LC3 c0 .LC4 .LC0 lru_init blksize __assert_fail lru_free lru_set_size bitmap_resize max_size lru_set_recently_accessed nbdkit_debug memset lru_has_been_recently_accessed                                                 &             !       .                     5                     @             (       J             4       Q             8       W             9       _             8       j             @                                           	                             $                                 <                                                     4                                              #            c            "       j                                !                   ,                   $                            !               !                   ,                                       "                   $       0            $       :            @            K            [            4       b                    i            "       p                   w            $       ~            ,                   8                   D                                      $                   :                   ,                   4                   <                   D                "                                    !               "                                       !       >            ,       G            $       c            j         !   q            :       x            8                   9                   D                   <                            !                       
              
       
      8             
                     
                                  *       
              /       
      B       =       
            D       
            M       
            T       
            [       
            `       
      }      n       
             z       
      s             
      j             
                   
      3             
      z              
                    
                   
                    
      
              
                   
      7             
                  
            .      
            B      
      @      V      
             j      
            ~      
      +            
                  
      I             
      &            
      5             
                  
             
      
                  
                   
                  
      @            
                  
                   
                  
                  
            6                    J                    g                    p      
      I            
                    
                   
                   
                  
                   
             	                          
             *      
             .      
             7                   @      
             P      
      D       T      
      @       ]      
      Y       a      
      U       j      
      n       n      
      j       w      
             {      
      }             
                   
                   
                   
                   
                   
                   
                         n                                      n            
                   
      
            
                  
                  
                  
      4             
      0      	      
      G      
      
      C            
                   
      l            
      h      (      
            ,      
      {      5      
            9      
            >                  O                    ^      
            c      
      P      h            `            
                   
                  
                  
                   
                  
      	                              
                   
                  
                                          `            
      j             
                  
                  
                  
                  
                   
            )      
            -      
            2      
      j       ;      
      A      ?      
      =      H      
      X      L      
      P      U      
            Y      
            ^                  o                                            
                   
                  
                  
                  
                  
      
            
                  
      !            
                  
      >            
      :            
                   
      e            
      _            
                  
                  
                  
      {                                    0             
      3      $                   ;      
            E      
      s      I      
      i      N      
      J       l      
            p      
            v      
      _             
                  
                                                                                  8             
                                                         
                   
            "      
            +                   4      
      )       A                   T                   ]      
      4       k            8       y                         
      ?                                
                                                         
                   
                  
                  
                  
                  
                  
             	      
             		                   	                   .	      
            2	      
            <	            2       E	      
             U	      
            Y	      
            b	      
      !      f	      
            t	      
      *      x	      
      (      }	      
             	                   	                   	                    	                    	            H       	            H       	      
      ;      	      
      9      	      
      D      	      
      B      
      
      M      
      
      K      
            U       
            U       2
      
      ^      6
      
      \      ?
      
      g      C
      
      e      Q
      
      p      U
      
      n      ]
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
            
      
                  
             (      
      '      =      
            T      
      f       ^                    }      
      X             
      I            
                                                                    &                    $       N            8       ^            8                   >                   <                   $       (            %       A            $       L            %       j            $       u            %                   >                           #                    3                    m            &                   $                   &                   $                                               E                    U                    o            %                   %                   %                   &                   $       
            &       +            $       9            &       `            &                   &                   $                   $                   &                   $                   $                   &       M            &                                                                   /                    R            8       u            8              
                                   "       
              &       
      :       *       
      N       .       
      c       2       
             6       
             :       
             D       
             I       
             N       
             S       
             X       
             ]       
             b       
             g       
            l       
            q       
      %      v       
      .      {       
      6             
      ?             
      O             
      X             
      a                           e                                         8                    P                    p             `                           .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rodata.cst2 .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                       @                                          @               *                                 &                     $                                    ,                     @      P                               1      2               @      7                             @      2               x      Y                             O                                                         W                                                        i                                                         d      @               01               	                 u                                                                                                                        @               (H                                                      	      0                                    @               L      0                                                 9                                                                                                   @               L      X                                0               #       N                                  0               q#      l                                  0               $      (                                                   %                                                         %                                         @               HO      x                                                 %      `                          	                      8)                                                          O                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit_cache_filter_la-lru.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_cache_filter_la-lru.o'

# Name of the non-PIC object
non_pic_object='nbdkit_cache_filter_la-lru.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ELF          >                    8E          @     @   USHHH5    H   1H=        H    H       H    }   H    s      *KHǃHK!ƉƃH;{s*H{ H[] HH=    1[]    @ HH=    1[]    @ HH=    1[]    ff.         ATUS  H    HAHHrt%    H    H   HD[]A\    H    HH@ HxJH9tV    tH    HHp    H    HHuH1    HH    HyH9t[]A\    H=    1    H    H       Hp    H    H=H1    HD[]A\H    H
       H5    H=        ff.     fATUSH   L%    I<$tnHH       HL$@    I$H	tRH    2HHףp=
ףHHH?HH)H9r}H3H)HĐ   []A\D  H    2HHףp=
ףHHH?HH)H9rH=    1           딐H=    1    H=    1            z   cache: run out of blocks to reclaim!    cache: reclaiming cache blocks: fallocate: FALLOC_FL_PUNCH_HOLE: %m     bitmap_set: block number is out of range cache: reclaiming block %lu reclaim.c reclaiming cache: reclaiming any blocks cache: fstat: %m cache: stop reclaiming cache: start reclaiming  reclaim_one                             M              :   
    
    
    
    
        &H   
    !int     ,   
        -:       :       A       A       :       A       :                                   !   
      !  
        w       e                 
        ]              T      
        $
       ,       -       /
       0
        2	p   $    4
   (    9
   0    =   8    ?  @    J>  H    K>  X    L>  h    YT  x   d  :        	O       
      
d       

   p      :   
 p    	          	          	          	          	          	        $  	    .  .  8  	    B  B  L  	    V  V  `  	    j  j  t  	    ~  ~    	                                      3    G    [     o  
              4      5A    "bpb 6l      =l      =l      ?      @
.    (  l      .A       42      5A       5A   #    A   O                    U  	            V2  	            _  &   $    p   ?  p   p              
3
U  U  x   
        2  w  w  x     %    E
  &  &  A   &       d  &       p     p        
      fd p   bm '   (  
      fd p   bm %   
    H  fd p   bm %      2   
    ~  fd p   bm %  &      	         !    :    ~  '    ^        
        fd ^p           bm ^!              `  ~(    ax                      Us T~         H  5  Us Tv          H  S  Us Tv            r  U	                     U	                   U	          
      bm &w  blk 3x  v AA       x      A       A    )                 p	                                     	                      *                                                                                                     U	                   U	                      7	  U	                   T	  Uv T3           U	          +H          C      T          _                        
  0          %              ;                        ,
  
                            \  Us             L
  UUTT         \          ?          \  ~
  Us          \  
  Us T0           
  U	                   UUTT                 <  
                            \  "  Us          \  Us T0  ,H                         T          _                  |  U	        T	        QR	             !I  I ~  7 I  
 :;9I8   :;9I   1B  & I   I  	 <  
$ >   :;9I  H}  
.:;9!'   :;9!  4 :!;9I?<  4 :;9I  H}  1RBUX!YW  4 1B  I  ! I/  (   4 :!;9I  .?:;9'I<  H}  .?:!;9!'<      :!;9IB  U  H}  H }   %  !$ >  "
 :;9I8  #>I:;9  $.?:;9'I<  %.?:;9'<  &4 I4  '.?:;9'@z  (4 :;9IB  ).1@z  *1RBUXYW  +.1@z  ,1RBXYW                   USUS         TVTV       RRR                    %U%VUUUVUVU                    TSTSTSTST     SVVU      SSST   Z00    Z00      Z|P|	        	              ZSST           tU        3s%U        3s%        3T#%             xzt  $ &p r z|s1 $ &p r |!s1 $ &        r #s1 $ &        s#s1 $ &        s)T#1 $ &        T#       Qq  Q                       U\UU\U\UUUU                       TSTTSTSTTTT      STS      \U\      PVV  S  \  S  \    UU    TT ,                     M                      ~         S Z    "       
                                                                                                               	        tJtZwMtJ..0k
J./*X oJoJbt/. Q /QJt/. Q &	wJ	 w CeK-t<-<Jt[!Xujrf <XoXu<
wXO/t/<JXu=guZiX  .-	tw<-JXuirf %<itXj.tX 
t<tZ$hFLL$0 X u$0\m5 cache_allocated st_rdev tv_nsec bitmap_set_blk st_size reclaim_blk reclaim_one tv_sec uint64_t lru_has_been_recently_accessed sockaddr_iso size_t sockaddr_inarp st_ctim __PRETTY_FUNCTION__ nbdkit_error long long int __syscall_slong_t st_dev sockaddr_un reclaim_state st_nlink short int bitmap_next int64_t uint8_t reclaim_block RECLAIMING_LRU bitmap __uid_t nbdkit_debug st_blksize sockaddr_ns sockaddr_ipx st_gid __mode_t bitshift blk_offset long int __int64_t __nlink_t __uint8_t RECLAIMING_ANY lo_thresh statbuf sa_family_t unsigned char st_ino signed char long long unsigned int sockaddr_in6 fstat unsigned int reclaim reclaim_lru long unsigned int blksize __blksize_t sa_data short unsigned int hi_thresh sockaddr_dl char GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables __pad0 _Bool st_blocks sockaddr_eon __uint64_t st_mtim __ino_t st_atim st_uid blk_bit reclaim_any fallocate old_reclaim_blk sockaddr_x25 __off_t reclaiming size __time_t mask __dev_t ibpb __glibc_reserved sa_family sockaddr_at max_size timespec stat st_mode __assert_fail NOT_RECLAIMING __blkcnt_t sockaddr_in sockaddr sockaddr_ax25 __gid_t reclaim.c /tmp/nbdkit/filters/cache /tmp/nbdkit/filters/cache ../../common/bitmap /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include/x86_64-linux-gnu/bits/types /usr/include ../../include /usr/include/x86_64-linux-gnu/sys reclaim.c reclaim.c bitmap.h stddef.h types.h stdint-intn.h struct_timespec.h stdint-uintn.h struct_stat.h sockaddr.h socket.h cache.h fcntl-linux.h lru.h assert.h nbdkit-common.h stat.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0             zR x  H              AAG 
AADD
JAID
JAIDJAD   h       C   HAA ~
ABEm
ABHM
ABL  0          
   BAA G
 AABF                                                                                                                                                                            %                      *                      /      p               4      (               9            C      E                   P      1               U                    k                     p      &               u      v               z      N                     _                                                                
                                                                                                                                                                                                                                                                                                                    @      
                                                                                            reclaim.c reclaim_block reclaim_blk .LC1 .LC0 .LC3 .LC2 reclaim_one reclaiming .LC6 __PRETTY_FUNCTION__.0 .LC4 .LC5 .LC9 .LC7 .LC8 nbdkit_debug _GLOBAL_OFFSET_TABLE_ blksize fallocate nbdkit_error bitmap_next lru_has_been_recently_accessed __assert_fail reclaim max_size fstat lo_thresh hi_thresh                    !             &             -       *      4             F              V                       	             
                                                         "   #            A         "   H            c         #   n            z         "                        "                                                                                "                        "                           #            *            /         $   N      *   &   b         '   v                         *   (         *   )                                               #            *            3            :            @                                                        !          
              
       
                   
                     
      
                            *       
              /       
             =       
      {      D       
      Z      K       
            R       
            Y       
      $      ^       
            l       
            x       
                   
                   
      Q             
                   
      ^             
      z             
      d             
                   
                   
                   
                   
                  
      L            
                   
            .      
             3      
      *      ?      
            K      
      O       X      
             h      
      0      m      
      2      y      
      V             
      "            
                   
                  
                  
      '            
      t            
                  
      -            
                   
      /             
      s            
      :             
      l      -      
      \      :      
             G      
            e      
            q      
      c      }      
                  
                  
                  
      l            
                  
      D            
      W            
      G      /      
             C      
            W      
      ~       k      
      ~            
                   
            )      
      W      5      
            O      
            \      
            i      
      W      v      
                  
                  
                  
                  
                  
                   
      =            
      H            
                  
                                     
      7                            	      
                   
            @      
      _       X      
      4      ]      
            }      
      /            
      f            
      T            
      :            
                  
      o      <      
            I      
      C       k      
             u                          
      g                  @            
                   
                   
      <             
      4             
                  
                    
      b             
      \                   f                        6                  T                  i            v       s            .                  N                   >                  _             
                    
                  
      {            
                                      
             #      
      x       ,      
             0      
             9            S       B      
             Q      
      4      U      
      .      ^      
      R      b      
      L      k            Z       t      
      %             
      n            
      j            
                  
      ~            
                  
                  
                  
                  
      %             
                  
                  
      Q            
      E            
      2            
      ,                                                                	            p       	            *       .	                    8	            J       U	                   f	            (       u	                   	      
      a      	      
      K      	      
            	      
            	            @      	      
      >       	      
      1      	      
      +      	      
      P      	      
      J      	      
      >       	      
      o      	      
      i      	                  	      
      g       
      
            
      
            
      
            
      
            
                  -
            @      M
            E      Z
            g      g
            ~      
                  
                  
            1       
                  
                  
      
      r       
      
            
      
                  
                  
                               #                  A                  J                  b      
            f      
            o      
            s      
            x            3                  &                                                                                                                              -                                                                                                           
                                   "       
      $       &       
      >       *       
      R       .       
      {       2       
             6       
             :       
             >       
             H       
            M       
            R       
            W       
      !      \       
      *      a       
      2      f       
      @      k       
      R      p       
      a      u       
      o      z       
      z             
                   
                   
                   
                   
                   
                                                       l                                 @       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.8 .rodata.str1.1 .rodata .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       M                                   @               ((                                &                                                          ,                                                         1      2                                                  @      2               )                                   O                                                         \                                                         W      @               ,                                h                      y                                   {                      	                                   v      @               p@                                                             0                                    @               HA      0          
                                                                                                       &                                   @               xA      p                                0                                                       0               <                                         0               !      (                                                   #"                                                          ("                                          @               C      H                                                 #                                	                      &      *                                                   0D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ELF          >                    HE          @     @   USHHH5    H   1H=        
    H       H       H    s      *KHǃHK!ƉƃH;{s-H{ H[]fD  HH=    1[]    @ HH=    1[]    @ HH=    1[]    ff.         ATUS  H    HAHHrt%    H    H   HD[]A\    H    HH@ HxJH9tV    tH    HHp    H    HHuH1    HH    HyH9t[]A\    H=    1    H    H       Hp    H    H=H1    HD[]A\H    H
       H5    H=        ff.     fH=       UHSH   H       HL$@    H    H	tI5    HHףp=
ףHHH?HH)H9rH5H+HĘ   []Ð5    HHףp=
ףHHH?HH)H9rH=    1           @     H=    1    H=    1            x   cache: run out of blocks to reclaim!    cache: reclaiming cache blocks: fallocate: FALLOC_FL_PUNCH_HOLE: %m     bitmap_set: block number is out of range cache: reclaiming block %lu reclaim.c reclaiming cache: reclaiming any blocks cache: fstat: %m cache: stop reclaiming cache: start reclaiming  reclaim_one                             M              :   
    
    
    
    
        &H   
    !int     ,   
        -:       :       A       A       :       A       :                                   !   
      !  
        w       e                 
        ]              T      
        $
       ,       -       /
       0
        2	p   $    4
   (    9
   0    =   8    ?  @    J>  H    K>  X    L>  h    YT  x   d  :        	O       
      
d       

   p      :   
 p    	          	          	          	          	          	        $  	    .  .  8  	    B  B  L  	    V  V  `  	    j  j  t  	    ~  ~    	                                      3    G    [     o  
              4      5A    "bpb 6l      =l      =l      ?      @
.    (  l      .A       42      5A       5A   #    A   O                    U  	            V2  	            _  &   $    p   ?  p   p              
3
U  U  x   
        2  w  w  x     %    E
  &  &  A   &       d  &       p     p        
      fd p   bm '   (  
      fd p   bm %   
    H  fd p   bm %      2   
    ~  fd p   bm %  &      	         !    :    ~  '    ^        
        fd ^p           bm ^!              `  ~(    ax                      Us T~         H  5  Us Tv          H  S  Us Tv            r  U	                     U	                   U	          
      bm &w  blk 3x  v AA       x      A       A    )                 p	                                     	                      *                                                                                                     U	                   U	                      7	  U	                   T	  Uv T3           U	          +H          C      T          _                        
  0          %              ;                        ,
  
                            \  Us             L
  UUTT         \          ?          \  ~
  Us          \  
  Us T0           
  U	                   UUTT                 <  
                            \  "  Us          \  Us T0  ,H                         T          _                  |  U	        T	        QR	             !I  I ~  7 I  
 :;9I8   :;9I   1B  & I   I  	 <  
$ >   :;9I  H}  
.:;9!'   :;9!  4 :!;9I?<  4 :;9I  H}  1RBUX!YW  4 1B  I  ! I/  (   4 :!;9I  .?:;9'I<  H}  .?:!;9!'<      :!;9IB  U  H}  H }   %  !$ >  "
 :;9I8  #>I:;9  $.?:;9'I<  %.?:;9'<  &4 I4  '.?:;9'@z  (4 :;9IB  ).1@z  *1RBUXYW  +.1@z  ,1RBXYW                       USUSUS             TVTVTV       RRR                    %U%VUUUVUVU                    TSTSTSTST     PVVU      PSST   W00    W00      WyPy	        	              WSST           qU        3s%U        3s%        3T#%             uwt  $ &p r wys1 $ &p r y!s1 $ &        r #s1 $ &        s#s1 $ &        s)T#1 $ &        T#       Qq  Q                       U\UU\U\UUUU                       TSTTSTSTTTT      STS      \U\      PVV  S  \  S  \    UU    TT ,                     M                      ~         P W    %       
                                                                                                               	        tZwMtJ..0k
J./*X otoJbt/. Q /QJt/. Q &	wJ	 w CeK-t<-<Jt[!Xujrf <XoXu<
wXO/t/<JXu=guZiX  .-	tw<-JXuirf %<itXj.tX Rx<XZ$hpLL$0 X  u.$0\m5 cache_allocated st_rdev tv_nsec bitmap_set_blk st_size __uint64_t reclaim_one tv_sec uint64_t lru_has_been_recently_accessed sockaddr_iso size_t sockaddr_inarp st_ctim __PRETTY_FUNCTION__ nbdkit_error long long int __syscall_slong_t st_dev sockaddr_un reclaim_state st_nlink short int bitmap_next int64_t uint8_t reclaim_blk RECLAIMING_LRU bitmap __uid_t nbdkit_debug st_blksize sockaddr_ns sockaddr_ipx st_gid __mode_t bitshift blk_offset long int __int64_t __nlink_t __uint8_t RECLAIMING_ANY lo_thresh statbuf sa_family_t unsigned char st_ino signed char long long unsigned int sockaddr_in6 fstat unsigned int reclaim reclaim_lru long unsigned int reclaim_block blksize __blksize_t sa_data short unsigned int hi_thresh sockaddr_dl char __pad0 _Bool st_blocks sockaddr_eon GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables st_mtim __ino_t st_atim st_uid blk_bit reclaim_any fallocate old_reclaim_blk sockaddr_x25 __off_t reclaiming size __time_t mask __dev_t ibpb __glibc_reserved sa_family sockaddr_at max_size timespec stat st_mode __assert_fail NOT_RECLAIMING __blkcnt_t sockaddr_in sockaddr sockaddr_ax25 __gid_t reclaim.c /tmp/nbdkit/filters/cache /tmp/nbdkit/filters/cache ../../common/bitmap /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include/x86_64-linux-gnu/bits/types /usr/include ../../include /usr/include/x86_64-linux-gnu/sys reclaim.c reclaim.c bitmap.h stddef.h types.h stdint-intn.h struct_timespec.h stdint-uintn.h struct_stat.h sockaddr.h socket.h cache.h fcntl-linux.h lru.h assert.h nbdkit-common.h stat.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0            zR x  H              AAG 
AAGD
JAID
JAIDJAD   h       C   HAA ~
ABEm
ABHM
ABL  8          
   ODIp
AABHH                                                                                                                                                                              %                      *                      /      p               4      (               9            C      E                   P      1               U                    k                     p      &               u      v               z      N                     _                                                                
                                                                                                                                                                                                                                                                                              @      
                                                                        
                      reclaim.c reclaim_block reclaim_blk .LC1 .LC0 .LC3 .LC2 reclaim_one reclaiming .LC6 __PRETTY_FUNCTION__.0 .LC4 .LC5 .LC9 .LC7 .LC8 nbdkit_debug blksize fallocate nbdkit_error bitmap_next lru_has_been_recently_accessed __assert_fail reclaim max_size fstat lo_thresh hi_thresh                  !             &             ,             3             C             S                       	             
                                                         !   #            A         !   H            c         "   n            z         !                        !                                                                                !                        !                           #            *            /         #   C         %   `         &   t                   {         %            '            (                           
                    #            *            3            :            @                                                                   
              
       
                   
                     
      
                            *       
              /       
             =       
      x      D       
      W      K       
            R       
            Y       
      !      ^       
            l       
            x       
                   
                   
      7              
                   
      [             
      t             
      ^             
                   
                   
                   
                   
                  
      F            
                   
            .      
             3      
      )      ?      
            K      
      N       X      
             h      
      -      m      
      1      y      
      U             
                  
                   
                  
      
            
      !            
      n            
                  
                  
                   
      /             
      p            
                   
      f      -      
      V      :      
             G      
            e      
             q      
      ]      }      
                  
                  
                  
      f            
                  
                  
      Q            
      D      /      
             C      
            W      
      }       k      
      {            
                   
            )      
      T      5      
            O      
            \      
            i      
      T      v      
                  
                  
      
            
                  
                  
                   
      7            
      E            
                  
                                     
      9                           	      
                   
            @      
      ^       X      
            ]      
            }      
      )            
      c            
      Q            
                  
      }            
      l      <      
            I      
      B       k      
             u                          
      d                  @            
                   
                   
      R             
      F             
                  
                    
                   
                         d                        6                  T                  i            v       s            .                  N                   >                  _             
                    
                  
      u            
                                      
             #      
             ,      
      	      0      
             9            P       B      
             Q      
      X      U      
      R      ^      
      v      b      
      p      k            W       t      
      %             
                  
                  
                  
                  
                  
                  
                  
                  
      %             
                  
                  
      u            
      i            
      V            
      P                                                                	            p       	            *       .	                    8	            G       U	                   f	            (       u	                   	      
            	      
      o      	      
            	      
            	            @      	      
      >       	      
      U      	      
      O      	      
      t      	      
      n      	      
      >       	      
            	      
            	                  	      
      g       
      
            
      
            
      
            
      
            
                  -
            @      M
            E      Z
            g      g
            ~      
                  
                  
            1       
                  
                  
      
      r       
      
            
      
                  
                  
                               #                  A                  J                  b      
            f      
            o      
            s      
            x            3                  &                                                                                                          6                    Q                                                            
                    9                           
                                   "       
      $       &       
      >       *       
      R       .       
      {       2       
             6       
             :       
             >       
             H       
            M       
            R       
            W       
      !      \       
      *      a       
      2      f       
      @      k       
      R      p       
      a      u       
      o      z       
      z             
                   
                   
                   
                   
                   
                                                       l                                 @       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.8 .rodata.str1.1 .rodata .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       M                                   @                (                                &                                                          ,                                                         1      2                                                  @      2               )                                   O                                                         \                                                         W      @               ,                                h                      y                                   {                      	                                   v      @               @                                                             0                                    @               XA      0          
                                       6                                                                )                                   @               A      p                                0                     |                                  0               ]                                         0               "      (                                                   D"                                                          H"                                          @               C      H                                                 0#                                	                      '                                                         @D                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           # nbdkit_cache_filter_la-reclaim.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_cache_filter_la-reclaim.o'

# Name of the non-PIC object
non_pic_object='nbdkit_cache_filter_la-reclaim.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit-cache-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-cache-filter.so'

# Names of this library.
library_names='nbdkit-cache-filter.so nbdkit-cache-filter.so nbdkit-cache-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-cache-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              # nbdkit-cache-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-cache-filter.so'

# Names of this library.
library_names='nbdkit-cache-filter.so nbdkit-cache-filter.so nbdkit-cache-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-cache-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             .\" Automatically generated by Podwrapper::Man 1.44.3 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "nbdkit-cache-filter 1"
.TH nbdkit-cache-filter 1 "2025-08-23" "nbdkit-1.44.3" "NBDKIT"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
nbdkit\-cache\-filter \- nbdkit caching filter
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 7
\& nbdkit \-\-filter=cache plugin [plugin\-args...]
\&                              [cache=writeback|writethrough|unsafe]
\&                              [cache\-min\-block\-size=SIZE]
\&                              [cache\-max\-size=SIZE]
\&                              [cache\-high\-threshold=N]
\&                              [cache\-low\-threshold=N]
\&                              [cache\-on\-read=true|false|/PATH]
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`nbdkit\-cache\-filter\*(C'\fR is a filter that adds caching on top of a
plugin.
.PP
This is useful if a plugin is slow or expensive to use, because nbdkit
will try to minimize requests to the plugin by caching previous
requests.  You should use \f(CW\*(C`cache\-on\-read=true\*(C'\fR (not the default) to
cache reads from slow plugins.
.PP
Note that many \s-1NBD\s0 \fIclients\fR are able to do caching, and because the
caching happens on the client side it will usually be more effective
than caching inside the server.  This filter can be used if the client
does not have effective caching, or (with \f(CW\*(C`cache=unsafe\*(C'\fR) to defeat
flush requests from the client (which is unsafe and can cause data
loss, as the name suggests).
.PP
This filter only caches image contents.  To cache image metadata, use
\&\fBnbdkit\-cacheextents\-filter\fR\|(1) between this filter and the plugin.
To accelerate sequential reads, use \fBnbdkit\-readahead\-filter\fR\|(1) or
\&\fBnbdkit\-scan\-filter\fR\|(1) on top of this filter.
.SH "PARAMETERS"
.IX Header "PARAMETERS"
.IP "\fBcache=writeback\fR" 4
.IX Item "cache=writeback"
Store writes in the cache.  They are not written to the plugin unless
an explicit flush is done by the client.
.Sp
This is the default caching mode, and is safe if your client issues
flush requests correctly (which is true for modern Linux and other
well-written \s-1NBD\s0 clients).
.IP "\fBcache=writethrough\fR" 4
.IX Item "cache=writethrough"
Always force writes through to the plugin.
.Sp
This makes the cache less effective, but is necessary if your client
does not issue correct flush requests.
.IP "\fBcache=unsafe\fR" 4
.IX Item "cache=unsafe"
Ignore flush requests.  Never write to the plugin unless the cache
grows too large.
.Sp
This is dangerous and can cause data loss, but this may be acceptable
if you only use it for testing or with data that you don't care about
or can cheaply reconstruct.
.IP "\fBcache\-min\-block\-size=\fR\s-1SIZE\s0" 4
.IX Item "cache-min-block-size=SIZE"
Set the minimum block size used by the cache.  This must be a power of
2 and ≥ 4096.
.Sp
The default is 64K, or the block size of the filesystem which contains
the temporary file storing the cache (whichever is larger).
.IP "\fBcache\-max\-size=\fR\s-1SIZE\s0" 4
.IX Item "cache-max-size=SIZE"
.PD 0
.IP "\fBcache\-high\-threshold=\fRN" 4
.IX Item "cache-high-threshold=N"
.IP "\fBcache\-low\-threshold=\fRN" 4
.IX Item "cache-low-threshold=N"
.PD
(nbdkit ≥ 1.10)
.Sp
Limit the size of the cache to \f(CW\*(C`SIZE\*(C'\fR.  See \*(L"\s-1CACHE MAXIMUM SIZE\*(R"\s0 below.
.IP "\fBcache\-on\-read=true\fR" 4
.IX Item "cache-on-read=true"
(nbdkit ≥ 1.10)
.Sp
Cache read requests as well as write and cache requests.  Any time a
block is read from the plugin, it is saved in the cache (if there is
sufficient space) so the same data can be served more quickly later.
.Sp
Note that if the underlying data served by the plugin can be modified
by some other means (eg. something else can write to a file which is
being served by \fBnbdkit\-file\-plugin\fR\|(1)), this option will cause
nbdkit to serve stale data because reads won't always go through to
the plugin.
.IP "\fBcache\-on\-read=false\fR" 4
.IX Item "cache-on-read=false"
Do not cache read requests (this is the default).
.IP "\fBcache\-on\-read=/PATH\fR" 4
.IX Item "cache-on-read=/PATH"
(nbdkit ≥ 1.28)
.Sp
When \fI/PATH\fR (which must be an absolute path) exists, this behaves
like \f(CW\*(C`cache\-on\-read=true\*(C'\fR, and when it does not exist like
\&\f(CW\*(C`cache\-on\-read=false\*(C'\fR.  This allows you to control the cache-on-read
behaviour while nbdkit is running.
.SH "CACHE MAXIMUM SIZE"
.IX Header "CACHE MAXIMUM SIZE"
By default the cache can grow to any size (although not larger than
the virtual size of the underlying plugin) and you have to ensure
there is sufficient space in \f(CW$TMPDIR\fR for it.
.PP
Using the parameters \f(CW\*(C`cache\-max\-size\*(C'\fR, \f(CW\*(C`cache\-high\-threshold\*(C'\fR and
\&\f(CW\*(C`cache\-low\-threshold\*(C'\fR you can limit the maximum size of the cache.
.PP
This requires kernel and filesystem support (for \fBfallocate\fR\|(2)
\&\f(CW\*(C`FALLOC_FL_PUNCH_HOLE\*(C'\fR), so it may not work on all platforms.
.PP
Some examples:
.ie n .IP """cache\-max\-size=1G""" 4
.el .IP "\f(CWcache\-max\-size=1G\fR" 4
.IX Item "cache-max-size=1G"
The cache is limited to around 1 gigabyte.
.ie n .IP """cache\-max\-size=1G cache\-high\-threshold=95 cache\-low\-threshold=80""" 4
.el .IP "\f(CWcache\-max\-size=1G cache\-high\-threshold=95 cache\-low\-threshold=80\fR" 4
.IX Item "cache-max-size=1G cache-high-threshold=95 cache-low-threshold=80"
Once the cache size reaches 972M (95% of 1G), blocks are reclaimed
from the cache until the size is reduced to 819M (80% of 1G).
.PP
The way this works is once the size of the cache exceeds
\&\f(CW\*(C`SIZE\*(C'\fR ✕ the high threshold, the filter works to reduce the size
of the cache until it is less than \f(CW\*(C`SIZE\*(C'\fR ✕ the low threshold.
Once the size is below the low threshold, no more reclaim work is done
until the size exceeds the high threshold again.
.PP
The default thresholds are high 95% and low 80%.  You must set
0 < low < high.  The thresholds are expressed as integer
percentages of \f(CW\*(C`cache\-max\-size\*(C'\fR.
.PP
Least recently used blocks are discarded first.
.SH "ENVIRONMENT VARIABLES"
.IX Header "ENVIRONMENT VARIABLES"
.ie n .IP """TMPDIR""" 4
.el .IP "\f(CWTMPDIR\fR" 4
.IX Item "TMPDIR"
The cache is stored in a temporary file located in \fI/var/tmp\fR by
default.  You can override this location by setting the \f(CW\*(C`TMPDIR\*(C'\fR
environment variable before starting nbdkit.
.SH "FILES"
.IX Header "FILES"
.IP "\fI\f(CI$filterdir\fI/nbdkit\-cache\-filter.so\fR" 4
.IX Item "$filterdir/nbdkit-cache-filter.so"
The filter.
.Sp
Use \f(CW\*(C`nbdkit \-\-dump\-config\*(C'\fR to find the location of \f(CW$filterdir\fR.
.SH "VERSION"
.IX Header "VERSION"
\&\f(CW\*(C`nbdkit\-cache\-filter\*(C'\fR first appeared in nbdkit 1.2.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBnbdkit\fR\|(1),
\&\fBnbdkit\-file\-plugin\fR\|(1),
\&\fBnbdkit\-cacheextents\-filter\fR\|(1),
\&\fBnbdkit\-cow\-filter\fR\|(1),
\&\fBnbdkit\-readahead\-filter\fR\|(1),
\&\fBnbdkit\-filter\fR\|(3),
\&\fBqemu\-img\fR\|(1).
.SH "AUTHORS"
.IX Header "AUTHORS"
Eric Blake
.PP
Richard W.M. Jones
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright Red Hat
.SH "LICENSE"
.IX Header "LICENSE"
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.IP "\(bu" 4
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.IP "\(bu" 4
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.IP "\(bu" 4
Neither the name of Red Hat nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
.PP
\&\s-1THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS\s0 ''\s-1AS IS\s0'' \s-1AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\s0 (\s-1INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \s-1LOSS OF
USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT\s0 (\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.\s0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
<html>
<head>
<title>nbdkit-cache-filter - nbdkit caching filter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" href="pod.css" type="text/css" />
</head>
<body>


<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
  <li><a href="#PARAMETERS">PARAMETERS</a></li>
  <li><a href="#CACHE-MAXIMUM-SIZE">CACHE MAXIMUM SIZE</a></li>
  <li><a href="#ENVIRONMENT-VARIABLES">ENVIRONMENT VARIABLES</a></li>
  <li><a href="#FILES">FILES</a></li>
  <li><a href="#VERSION">VERSION</a></li>
  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="#AUTHORS">AUTHORS</a></li>
  <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
  <li><a href="#LICENSE">LICENSE</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>nbdkit-cache-filter - nbdkit caching filter</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code> nbdkit --filter=cache plugin [plugin-args...]
                              [cache=writeback|writethrough|unsafe]
                              [cache-min-block-size=SIZE]
                              [cache-max-size=SIZE]
                              [cache-high-threshold=N]
                              [cache-low-threshold=N]
                              [cache-on-read=true|false|/PATH]</code></pre>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><code>nbdkit-cache-filter</code> is a filter that adds caching on top of a plugin.</p>

<p>This is useful if a plugin is slow or expensive to use, because nbdkit will try to minimize requests to the plugin by caching previous requests. You should use <code>cache-on-read=true</code> (not the default) to cache reads from slow plugins.</p>

<p>Note that many NBD <i>clients</i> are able to do caching, and because the caching happens on the client side it will usually be more effective than caching inside the server. This filter can be used if the client does not have effective caching, or (with <code>cache=unsafe</code>) to defeat flush requests from the client (which is unsafe and can cause data loss, as the name suggests).</p>

<p>This filter only caches image contents. To cache image metadata, use <a href="nbdkit-cacheextents-filter.1.html">nbdkit-cacheextents-filter(1)</a> between this filter and the plugin. To accelerate sequential reads, use <a href="nbdkit-readahead-filter.1.html">nbdkit-readahead-filter(1)</a> or <a href="nbdkit-scan-filter.1.html">nbdkit-scan-filter(1)</a> on top of this filter.</p>

<h1 id="PARAMETERS">PARAMETERS</h1>

<dl>

<dt><b>cache=writeback</b></dt>
<dd>

<p>Store writes in the cache. They are not written to the plugin unless an explicit flush is done by the client.</p>

<p>This is the default caching mode, and is safe if your client issues flush requests correctly (which is true for modern Linux and other well-written NBD clients).</p>

</dd>
<dt><b>cache=writethrough</b></dt>
<dd>

<p>Always force writes through to the plugin.</p>

<p>This makes the cache less effective, but is necessary if your client does not issue correct flush requests.</p>

</dd>
<dt><b>cache=unsafe</b></dt>
<dd>

<p>Ignore flush requests. Never write to the plugin unless the cache grows too large.</p>

<p>This is dangerous and can cause data loss, but this may be acceptable if you only use it for testing or with data that you don&#39;t care about or can cheaply reconstruct.</p>

</dd>
<dt><b>cache-min-block-size=</b>SIZE</dt>
<dd>

<p>Set the minimum block size used by the cache. This must be a power of 2 and ≥ 4096.</p>

<p>The default is 64K, or the block size of the filesystem which contains the temporary file storing the cache (whichever is larger).</p>

</dd>
<dt><b>cache-max-size=</b>SIZE</dt>
<dd>

</dd>
<dt><b>cache-high-threshold=</b>N</dt>
<dd>

</dd>
<dt><b>cache-low-threshold=</b>N</dt>
<dd>

<p>(nbdkit ≥ 1.10)</p>

<p>Limit the size of the cache to <code>SIZE</code>. See <a href="#CACHE-MAXIMUM-SIZE">&quot;CACHE MAXIMUM SIZE&quot;</a> below.</p>

</dd>
<dt><b>cache-on-read=true</b></dt>
<dd>

<p>(nbdkit ≥ 1.10)</p>

<p>Cache read requests as well as write and cache requests. Any time a block is read from the plugin, it is saved in the cache (if there is sufficient space) so the same data can be served more quickly later.</p>

<p>Note that if the underlying data served by the plugin can be modified by some other means (eg. something else can write to a file which is being served by <a href="nbdkit-file-plugin.1.html">nbdkit-file-plugin(1)</a>), this option will cause nbdkit to serve stale data because reads won&#39;t always go through to the plugin.</p>

</dd>
<dt><b>cache-on-read=false</b></dt>
<dd>

<p>Do not cache read requests (this is the default).</p>

</dd>
<dt><b>cache-on-read=/PATH</b></dt>
<dd>

<p>(nbdkit ≥ 1.28)</p>

<p>When <i>/PATH</i> (which must be an absolute path) exists, this behaves like <code>cache-on-read=true</code>, and when it does not exist like <code>cache-on-read=false</code>. This allows you to control the cache-on-read behaviour while nbdkit is running.</p>

</dd>
</dl>

<h1 id="CACHE-MAXIMUM-SIZE">CACHE MAXIMUM SIZE</h1>

<p>By default the cache can grow to any size (although not larger than the virtual size of the underlying plugin) and you have to ensure there is sufficient space in <code>$TMPDIR</code> for it.</p>

<p>Using the parameters <code>cache-max-size</code>, <code>cache-high-threshold</code> and <code>cache-low-threshold</code> you can limit the maximum size of the cache.</p>

<p>This requires kernel and filesystem support (for <a href="http://man.he.net/man2/fallocate">fallocate(2)</a> <code>FALLOC_FL_PUNCH_HOLE</code>), so it may not work on all platforms.</p>

<p>Some examples:</p>

<dl>

<dt><code>cache-max-size=1G</code></dt>
<dd>

<p>The cache is limited to around 1 gigabyte.</p>

</dd>
<dt><code>cache-max-size=1G cache-high-threshold=95 cache-low-threshold=80</code></dt>
<dd>

<p>Once the cache size reaches 972M (95% of 1G), blocks are reclaimed from the cache until the size is reduced to 819M (80% of 1G).</p>

</dd>
</dl>

<p>The way this works is once the size of the cache exceeds <span style="white-space: nowrap;"><code>SIZE</code> ✕ the high threshold</span>, the filter works to reduce the size of the cache until it is less than <span style="white-space: nowrap;"><code>SIZE</code> ✕ the low threshold</span>. Once the size is below the low threshold, no more reclaim work is done until the size exceeds the high threshold again.</p>

<p>The default thresholds are high 95% and low 80%. You must set <span style="white-space: nowrap;">0 &lt; low &lt; high</span>. The thresholds are expressed as integer percentages of <code>cache-max-size</code>.</p>

<p>Least recently used blocks are discarded first.</p>

<h1 id="ENVIRONMENT-VARIABLES">ENVIRONMENT VARIABLES</h1>

<dl>

<dt><code>TMPDIR</code></dt>
<dd>

<p>The cache is stored in a temporary file located in <i>/var/tmp</i> by default. You can override this location by setting the <code>TMPDIR</code> environment variable before starting nbdkit.</p>

</dd>
</dl>

<h1 id="FILES">FILES</h1>

<dl>

<dt><i>$filterdir/nbdkit-cache-filter.so</i></dt>
<dd>

<p>The filter.</p>

<p>Use <code>nbdkit --dump-config</code> to find the location of <code>$filterdir</code>.</p>

</dd>
</dl>

<h1 id="VERSION">VERSION</h1>

<p><code>nbdkit-cache-filter</code> first appeared in nbdkit 1.2.</p>

<h1 id="SEE-ALSO">SEE ALSO</h1>

<p><a href="nbdkit.1.html">nbdkit(1)</a>, <a href="nbdkit-file-plugin.1.html">nbdkit-file-plugin(1)</a>, <a href="nbdkit-cacheextents-filter.1.html">nbdkit-cacheextents-filter(1)</a>, <a href="nbdkit-cow-filter.1.html">nbdkit-cow-filter(1)</a>, <a href="nbdkit-readahead-filter.1.html">nbdkit-readahead-filter(1)</a>, <a href="nbdkit-filter.3.html">nbdkit-filter(3)</a>, <a href="http://man.he.net/man1/qemu-img">qemu-img(1)</a>.</p>

<h1 id="AUTHORS">AUTHORS</h1>

<p>Eric Blake</p>

<p>Richard W.M. Jones</p>

<h1 id="COPYRIGHT">COPYRIGHT</h1>

<p>Copyright Red Hat</p>

<h1 id="LICENSE">LICENSE</h1>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>

<ul>

<li><p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p>

</li>
<li><p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p>

</li>
<li><p>Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</p>

</li>
</ul>

<p>THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS &#39;&#39;AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

</body>
</html>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ELF          >                    e          @     @   H    H8    AWIH=    AVIAUEATUSLH   T$H|$(    D$|  L%    H-    A$HM   HtL;5    rL;5      f     Dt$ILL$   LA     H    H|$01HI    IUHH|$P    H}     H|$0Ht$XHt$PH=    H5        HE H   E1Lt$pMu    H}     tlIM9   LHL    A$Ht$pHT$x$   tH=    1L$HT$Ht$    L$HT$Ht$H}     u    H$   H}      HE     D$H|$(    D$HĘ   []A\A]A^A_@ H    H5    1H=        H}  A$t	L;5    s `H=    1    MD  L;5    sׅtH=    1    E1Ll$p4 Hu LL    $   HT$xHHt$p    tIH}     I9r     H$    H
       H5    H=            SH=    HH|$    u&H    H;    H|$H        H[H
       H5    H=        AVMAUEATIUSHMDLH   H[]A\A]A^fD  AVMAUEATIUSHEMDLH   H[]A\A]A^fD  AWAVEAUMATAUHSHHL|$@ELDH   MHHH[]A\A]A^A_H           H    H    cacheextents.c !_r cacheextents: cache miss 1.44.3 cacheextents nbdkit cacheextents filter      cacheextents: cache_start=%lu cache_end=%lu cache_extents=%p    cacheextents: returning from cache      cacheextents: updating cache with: offset=%lu length=%lu type=%x        kill_cacheextents               cacheextents_extents                                                                                                                                                                                                                                                                                                                                                                                   ,                    @              :           -                .int     *A       ,           -:       	              y           3       5#        6#           7       (r      f        A       f       A        f       "	_       #	_       $    /(C	      E       F      G         :   '     Hr    0    m          1A   0                                            '  H          	Q       
`      
,       

e   	8     u  :   
 8  u  
    	      
    	      
    	      
    	      
    	      
    	      
    	      
    	      
    	    )  
    	3  3  =  
    	G  G  Q  
    	[  [  e  `  o    y                              $    8    L    `        &                          <2  
        =C  
        > T      M      Q	r       R	r      U
      V      W	       Z	r  (    [	r  0    \	r  8    ]	r  @    ^	r  H    _	r  P    `	r  X    a	r  `    b	r  h    c	r  p    e	  x    h	!      k	?      l	g      n	g      p	      r	g       B
  f              &      D
  f            E
  f       f        F
  f   
    f   
     
        H      4    f        J
@  f   Y  Y  f       7  f   m  m   H  ^       m   w       m     f     m             f     m  H            f     f   !  m               f   ?  m       &  f   g  m           D  f     m               
    	  l  2    P	      f                                     
	  (    
	  0    		  8    	
  @       H    	*
  P    
	  X    	*
  `    	/
  h    
?
  p    	b
  x    	
      
      
      
'      	      	      
4      M      	u      	      	      	      	      	      	      	  
       
      
      
      
       
      (
      0
      8
    .  @
      H 3	  f   	  	             	  f   
  
       	  f   *
  f    
     ?
     4
  f   ]
  ]
    f      D
  f   
  
    f   f   
     g
     
  
    f   f      
  H   
  
  Y  f      f    4  
  f     m  H   f    
  f     m  H         4  m  H          M  m  H    9  f   u  m  H          R  f     m  H   H            z  f     m  H                f     m  H          f   .  m  H                !    1f   	            4  	        !    9  	            :  	            ;  	              	                                  .          4    %
      f   $
                 =
    .        
8
O
  O
   T
        dl
     5 6    E

        A       7    f   
  T
   8    
                        f           :             !m              H                             -              >          err                   C          UUTQQRRXXY      f           :       a      !m              H                             -              >          err                   C          UUTQQRRXXY      f           P       C      #m              H           buf "              0              @                        "err +           C          UUTQQRRXXYY   9          T
  #      	        _r f           
  U	                :    	      zf                       z$m              {H               {.              {>              |               }.          "err ~       T
  ~#       	        :      ;_r f                   
    U	                 l
  U	        T	        QR	          $                        
  %          %          )          2          =  ~H  &S        T                  
          $
    U~ Ts Q          Y
    U	        T~Q~R~         
    T~Q~R~                                /  Us          $
  S  U~Ts Q0         $
  x  UTs Q}                     U~T	"  <`          d       D  'y  'n            &      6            $
    U} Q|          
  (  Us                        =        }  U T~Q~ R} 	Xs Y          =
    U~         Y
    U	                 Y
    U	                 Y
  U	                :    	  (    Tf   `  )    T  *err T,  i V
.       W
.       X      Y  ex d    (    Df     )    D*  *err D8  i F
.   ex I    >    >                 ?           @C          _       P  hAn          	         o           $C                            +P  Bn                 +o          l
  U	        T	        QR	                             =
  Uh    I   !I  
 :;9I8  I ~  'I  7 I   :!;9IB   :;9I  	& I  
 <  H}  $ >  

 :!;9!	I8  H }  (   H}  :;9  4 :!;9I  4 :!;9I  4 1B  I  ! I/  .?:!;9!'I<  .:!;9!'I@z  4 :!;9I  4 1  
 :!;9I  .?:;9'<   :!;9IB  H}     '  !4 :!;9I?  " :!;9I  #4 I4  $1RBX!YW  % 1B  &1U  ' 1  (.:!;9!'I !  ) :!;9I  * :!;9I  +4 1  ,%  -   .$ >  /:;9  0&   1>I:;9  2:;9  3 '  4. ?:;9'I<  5   6.?:;9'<  7.?:;9'I<  8. ?:;9'I@z  9.:;9'   :U  ;4 :;9IB  <1XYW  =H}  >.:;9'@z  ?H }  @.1@z  A1  B1                   USUU     TT         QVTQ         R\QR         X]RX         Y^XY         USUU     TT         QVTQ         R\QR         X]RX         Y^XY         USUU     TT         QVTQ         R\QR         X]RX         Y^XY         U_U_     ATAT         AQA~Q~         ARA^R^                AXA]} 	R} 	X	]X]             AYASYSYS             FP~P~P~     SY   0_    P]           TQRTTQTQR~~~   \     PP ,                     @                      '         =N   B       
                                                                                                     	        >?YstKXXJusKIX
X	=	=  = YYu
uXL
<X
	XvJHXXvK	ZXI./Yog_yJ.ytKsJ<XX	X:JX./X 4  	        &!sKXXJZr[a 	        .=Y
K  ..
-. 	        t.=Y
K  ..
-. 	        tYY
X ...
-. 	        !t can_zero sockaddr_ax25 last nbdkit_extent nbdkit_get_extent sa_data PTHREAD_MUTEX_ERRORCHECK_NP flags nbdkit_next_config_complete nbdkit_backend sockaddr can_fua nbdkit_context unsigned int sockaddr_ns next nbdkit_next_ops cacheextents_debug_cache _version can_trim cacheextents_zero nbdkit_next can_cache can_write nbdkit_extents_count pthread_mutex_lock __errno_location sockaddr_ipx PTHREAD_MUTEX_TIMED_NP __pthread_internal_list PTHREAD_MUTEX_FAST_NP uint32_t cacheextents_add cacheextents_trim pread __count sockaddr_at count long long unsigned int cleanup fill nbdkit_next_list_exports PTHREAD_MUTEX_RECURSIVE __owner __elision after_fork can_flush kill_cacheextents size_t sa_family_t int64_t offset nbdkit_next_open preconnect sockaddr_inarp __uint64_t sockaddr_iso load nbdkit_extents_free nbdkit_next_preconnect __next prepare get_ready char sockaddr_dl cache_extents longname close get_size PTHREAD_MUTEX_ERRORCHECK __spins __prev __list long long int nbdkit_add_extent zero cacheextents_unload description lock sockaddr_eon sockaddr_un nbdkit_filter filter_init export_description __kind unload trim cache_start cache _lock1 dump_plugin __int64_t nbdkit_debug nbdkit_extents __pthread_list_t can_fast_zero PTHREAD_MUTEX_ADAPTIVE_NP extents config_complete nbdkit_next_config nbdkit_extents_new config PTHREAD_MUTEX_NORMAL short int long int config_help length cacheextents_pwrite filter nbdkit_next_default_export _lock0 uint64_t block_size sockaddr_in __data name open flush thread_model __nusers long unsigned int _api_version cache_end __assert_fail pthread_mutex_t __lock type GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables unsigned char __uint32_t PTHREAD_MUTEX_RECURSIVE_NP list_exports first default_export finalize can_extents cacheextents_extents cleanup_mutex_unlock signed char sa_family can_multi_conn short unsigned int handle __PRETTY_FUNCTION__ nbdkit_exports __align pwrite is_rotational __size sockaddr_in6 PTHREAD_MUTEX_DEFAULT sockaddr_x25 __pthread_mutex_s /tmp/nbdkit/filters/cacheextents cacheextents.c /tmp/nbdkit/filters/cacheextents /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits ../../include ../../common/utils /usr/include cacheextents.c cacheextents.c stddef.h types.h stdint-intn.h thread-shared-types.h struct_mutex.h pthreadtypes.h stdint-uintn.h sockaddr.h socket.h nbdkit-common.h nbdkit-filter.h cleanup.h assert.h pthread.h errno.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0         zR x                   L   0          BLE E(A0A8J
8A0A(B BBBE              _    AK r
AA  8          :    BEE D(C0^(A BBB   8          :    BEE D(C0^(A BBB   D         P    BBE E(D0D8G@g8A0A(B BBB    d                                                                                                                                                                          $                  5            (       9                   E                   O      h               T                      Y                     ^      @               c                    y                      ~                                _                                P      :                  :                  P             ,                            P                                                       
                                            
                                                                                                                                                                       '                     :                  S                     h                     z                                                                                                                                                  cacheextents.c cacheextents_unload cacheextents_extents cache_start cache_end .LC5 .LC2 .LC4 .LC3 __PRETTY_FUNCTION__.1 .LC0 .LC1 kill_cacheextents __PRETTY_FUNCTION__.0 cacheextents_zero cacheextents_trim cacheextents_pwrite .LC6 filter _GLOBAL_OFFSET_TABLE_ cache_extents nbdkit_extents_free pthread_mutex_lock cacheextents_debug_cache nbdkit_extents_count nbdkit_get_extent nbdkit_extents_new nbdkit_add_extent nbdkit_debug __errno_location cleanup_mutex_unlock __assert_fail filter_init            *   #                       >          %   Q       *   &   X       *   #   t                    }                              '             (             (             $                                         
         )   5         *   U         (   u                     +            *            ,            $            -                                                              +   "                   3         
   :         +   K                   X            _         +   {         (            *            '            ,                                                       .                               %   
      *   #            $   &         -   3            ?            F            K         .   #            )            4                   ;                      $                3                    @       0                                        0                  8            P      @                          
              
       
       9             
   !   !              
   !                                *       
              /       
             =       
             D       
              M       
             T       
       I      [       
       $      b       
       6      n       
             z       
       }             
       @             
                    
       O             
                    
                    
                    
                    
                    
       6             
                    
             
      
       -            
             $      
       h      1      
             >      
       E      K      
             X      
       p      e      
             |      
                   
                   
                   
                   
                   
                   
                   
                   
       D             
                   
       !            
       P      
      
                   
                   
             -      
             9      
              F      
       0      S      
       <             
                   
       	             
       T            
                   
                   
                   
                   
       u             
             4      
              H      
             \      
                   
                    
                   
       U            
       4      '      
              3      
              8      
              D      
              I      
             U      
              b      
       =      o      
             |      
       }            
       2            
                   
       2            
                   
                   
                   
                     
                   
                   
                    
       :            
       (      %      
             2      
             ?      
             L      
       S      Y      
             f      
             s      
       d            
                   
       f             
                   
       7            
       w            
       w      5      
                   
                   
                   
                   
                    
                   
       n            
                   
                   
       L            
                   
             ,      
       I      9      
             F      
       q      S      
       E      `      
       z      m      
       *      z      
                   
                   
                   
                   
       w            
       =            
                   
       }            
       2            
                   
       2      		      
             	      
             #	      
             0	      
               =	      
             J	      
             W	      
              c	      
       :      o	      
       (      {	      
             	      
             	      
             	      
       S      	      
             	      
             	      
       d      4      
              @         &           I      
             U                    ^      
       `      j         #           s      
       X                               
                                      
       p                                
                   
                   
       <            
       d      
      
             %
      
       *       >
      
             Z
      
             m
      
             
      
       Q      
      
       &      
                   
      
       
      
            P      
      
              
      
             
      
             
      
       \            
      8       	      
      4             
       
            
      R             
      J       !      
             +      
      z       /      
      r       4      
       `       >      
             B      
             Q      
             U      
             Z            k      g                        
                                     
                    
                   
                   
       \            
                  
                  
       
            
      0            
      (            
                   
      X            
      P            
       `             
                  
      x            
            "      
            '                  4                  b      
       \      k                        
                    
                  
                  
       \            
                  
                  
                  
                  
       
            
      6            
      .            
                   
      ^            
      V            
       `             
                  
      ~                                           D      
             Q      
       j      \      
       c      f                    z                                            
                                      
                    
                  
                  
       \            
                  
                  
       
            
                   
                  
                   
                  
                  
       `       "      
      >      &      
      ,      +      
             5      
            9      
            L      
             [      
       c      e                    n      
                   
                  
                        B                                                                                                                                              
      
                  
                  
                  
            '      
      )      +      
      %      4      
      =      8      
      9      S      
             `      
      V      d      
      L      i            9      v            Y                                    h                                           
                                     0                   T                   y                                                 f            
                  
                  
                                                  )                  7                  E                   ~                                                                    >                                     c                  @             
       2            
             3      
       
      >      
             I      
              a      
             o      
                   
                                                                                              
                  
                        0                  0      :            0      P            O      a                   n                                                                      *             
                                   "       
   !   0       &       
   !   Q       *       
   !   z       .       
   !          2       
   !          6       
   !          @       
   !          E       
   !          J       
   !          O       
   !          T       
   !          Y       
   !         ^       
   !         c       
   !   -      h       
   !   <      m       
   !   K      r       
   !   V      w       
   !   _      |       
   !   o             
   !                
   !                
   !                
   !                              i                              P                                          2                                         4                                                    P                                            h                    .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rela.data.rel.local .rela.debug_info .debug_abbrev .debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       @                                   @               ;                                &                                                          ,                           H                               1      2                     [                             @      2                                                  O                           5                              \                           P                              W      @               @                                 q                      0                                   l      @               PA               
                 }                                                                               !                                                         V&      0                                    @               `      0                                                 &      +                                                    &      F                                   @               a                                      0               )                                        0               1                                        0               3      (                                                   3                                     	                    3      x                                  @               c                                                       (5               "                 	                      9                                                         xd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ELF          >                    e          @     @   H=        @ AWAAVAUIH=    ATIULSDH   H|$(          H=    Aƅ  HtL;%    rL;%      @ ILDL$   LA     H    H|$01HI    IT$HH|$P    H=        H|$0Ht$XHt$PH=    H5        H    H   1Ll$pL=    Mu(   D  H=        t_HI9   HHL        Ht$pHT$x$   tL1L$HT$Ht$    L$HT$Ht$두    H$   H=         H        AH|$(    HĘ   D[]A\A]A^A_ H    H5    1HH=        H=         t	L;%    s PH=    1    =D  L;%    sׅtH=    1    H=    1Ld$p@D  H5    HL    $   HT$xHHt$p    tH=    H    H9r    H$    H
       H5    H=        f     HH=    H|$    u&H=        H|$H            HH
       H5    H=        fAVMAUEATIUSHMDLH   H[]A\A]A^fD  AVMAUEATIUSHEMDLH   H[]A\A]A^fD  AWAVEAUMATAUHSHHL|$@ELDH   MHHH[]A\A]A^A_H           H    H                    cacheextents.c !_r cacheextents: cache miss 1.44.3 cacheextents nbdkit cacheextents filter      cacheextents: cache_start=%lu cache_end=%lu cache_extents=%p    cacheextents: returning from cache      cacheextents: updating cache with: offset=%lu length=%lu type=%x        kill_cacheextents               cacheextents_extents                                                                                                                                                                                                                                                                                                                                                                            s       ,                    P              :           -                .int     *A       ,           -:       	              y           3       5#        6#           7       (r      f        A       f       A        f       "	_       #	_       $    /(C	      E       F      G         :   '     Hr    0    m          1A   0                                            '  H          	Q       
`      
,       

e   	8     u  :   
 8  u  
    	      
    	      
    	      
    	      
    	      
    	      
    	      
    	      
    	    )  
    	3  3  =  
    	G  G  Q  
    	[  [  e  `  o    y                              $    8    L    `        &                          <2  
        =C  
        > T      M      Q	r       R	r      U
      V      W	       Z	r  (    [	r  0    \	r  8    ]	r  @    ^	r  H    _	r  P    `	r  X    a	r  `    b	r  h    c	r  p    e	  x    h	!      k	?      l	g      n	g      p	      r	g       B
  f              &      D
  f            E
  f       f        F
  f   
    f   
     
        H      4    f        J
@  f   Y  Y  f       7  f   m  m   H  ^       m   w       m     f     m             f     m  H            f     f   !  m               f   ?  m       &  f   g  m           D  f     m               
    	  l  2    P	      f                                     
	  (    
	  0    		  8    	
  @       H    	*
  P    
	  X    	*
  `    	/
  h    
?
  p    	b
  x    	
      
      
      
'      	      	      
4      M      	u      	      	      	      	      	      	      	  
       
      
      
      
       
      (
      0
      8
    .  @
      H 3	  f   	  	             	  f   
  
       	  f   *
  f    
     ?
     4
  f   ]
  ]
    f      D
  f   
  
    f   f   
     g
     
  
    f   f      
  H   
  
  Y  f      f    4  
  f     m  H   f    
  f     m  H         4  m  H          M  m  H    9  f   u  m  H          R  f     m  H   H            z  f     m  H                f     m  H          f   .  m  H                !    1f   	            4  	        !    9  	            :  	            ;  	              	                                  .          4    %
      f   $
                 =
    .        
8
O
  O
   T
        dl
     5 6    E

        A       7    f   
  T
   8    
                        f           :             !m              H                             -              >          err                   C          UUTQQRRXXY      f           :       a      !m              H                             -              >          err                   C          UUTQQRRXXY      f           P       C      #m              H           buf "              0              @                        "err +           C          UUTQQRRXXYY   9          T
  #      	        _r f           
  U	                :    	      zf                       z$m              {H               {.              {>              |               }.          "err ~       T
  ~#      	        :      ;_r f                   
    U	                 l
  U	        T	        QR	          $                  %      
w  %          %                                ~  &                          
          $
    U} Tv Qs          Y
    U T~Q~R~                                  Uv          $
  !  U~Tv Q0         $
  F  UTv Q|                     U~T	"  <(          l         'A  '6  L          &U        V          $
    U| Qs          
    Uv                        =        E  U} T Q| Rs Xv Y          =
  ^  U~         Y
  }  U	                 Y
    U	                 Y
  U	               :    	  (    Tf   (  )    T  *err T,  i V
.       W
.       X      Y  ex d    (    Df   b  )    D*  *err D8  i F
.   ex I    >    >                 ?           @C          ^       P  hAn          	         o           $C                          T  +P  Bn                 +o          l
  U	        T	        QR	                             =
  Uh    I   !I  
 :;9I8  I ~  'I  7 I   :!;9IB   :;9I  	& I  
 <  H}  $ >  

 :!;9!	I8  H }  (   H}  :;9  4 :!;9I  4 :!;9I  4 1B  I  ! I/  .?:!;9!'I<  .:!;9!'I@z  4 :!;9I  4 1  
 :!;9I  .?:;9'<   :!;9IB  H}     '  !4 :!;9I?  " :!;9I  #4 I4  $1RBX!YW  % 1B  &1U  ' 1  (.:!;9!'I !  ) :!;9I  * :!;9I  +4 1  ,%  -   .$ >  /:;9  0&   1>I:;9  2:;9  3 '  4. ?:;9'I<  5   6.?:;9'<  7.?:;9'I<  8. ?:;9'I@z  9.:;9'   :U  ;4 :;9IB  <1XYW  =H}  >.:;9'@z  ?H }  @.1@z  A1  B1   ~                USUU     TT         QVTQ         R\QR         X]RX         Y^XY         USUU     TT         QVTQ         R\QR         X]RX         Y^XY         USUU     TT         QVTQ         R\QR         X]RX         Y^XY         #U#]U]     @T@T         @Q@_Q_             @R@\R\R\              @X@|S|s 	SX	SXS         @Y@VYV           A|P|^P^P   V    0S    P\         TTQTQR~~~   S     PP ,                     P                      ,         <I   /       
                                                                                                     	        >?s=XXgX
	=	/ = Y"Yu
uXv
.\t
	XvJdXXvKtXs./Yofgyf.ytKsJJ.Xt!	X:XX./X 4  	        &KXJZ[S 	        .=Y
K  ..
-. 	        t.=Y
K  ..
-. 	        tYY
X ...
-. 	        !t can_zero sockaddr_ax25 last nbdkit_extent nbdkit_get_extent sa_data PTHREAD_MUTEX_ERRORCHECK_NP flags nbdkit_next_config_complete nbdkit_backend sockaddr can_fua nbdkit_context unsigned int sockaddr_ns next nbdkit_next_ops cacheextents_debug_cache _version can_trim cacheextents_zero nbdkit_next can_cache can_write nbdkit_extents_count pthread_mutex_lock __errno_location sockaddr_ipx PTHREAD_MUTEX_TIMED_NP __pthread_internal_list PTHREAD_MUTEX_FAST_NP uint32_t cacheextents_add cacheextents_trim pread __count sockaddr_at count long long unsigned int cleanup fill nbdkit_next_list_exports PTHREAD_MUTEX_RECURSIVE __owner __elision after_fork can_flush kill_cacheextents size_t sa_family_t int64_t offset nbdkit_next_open preconnect sockaddr_inarp __uint64_t sockaddr_iso load nbdkit_extents_free nbdkit_next_preconnect __next prepare get_ready char sockaddr_dl cache_extents longname close get_size PTHREAD_MUTEX_ERRORCHECK __spins __prev __list long long int nbdkit_add_extent zero cacheextents_unload description lock sockaddr_eon sockaddr_un nbdkit_filter filter_init export_description __kind unload trim cache_start cache _lock1 dump_plugin __int64_t nbdkit_debug nbdkit_extents __pthread_list_t can_fast_zero PTHREAD_MUTEX_ADAPTIVE_NP extents config_complete nbdkit_next_config nbdkit_extents_new config PTHREAD_MUTEX_NORMAL short int long int config_help length cacheextents_pwrite filter nbdkit_next_default_export _lock0 uint64_t block_size sockaddr_in __data name open flush thread_model __nusers long unsigned int _api_version cache_end GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables __assert_fail pthread_mutex_t __lock type unsigned char __uint32_t PTHREAD_MUTEX_RECURSIVE_NP list_exports first default_export finalize can_extents cacheextents_extents cleanup_mutex_unlock signed char sa_family can_multi_conn short unsigned int handle __PRETTY_FUNCTION__ nbdkit_exports __align pwrite is_rotational __size sockaddr_in6 PTHREAD_MUTEX_DEFAULT sockaddr_x25 __pthread_mutex_s /tmp/nbdkit/filters/cacheextents cacheextents.c /tmp/nbdkit/filters/cacheextents /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits ../../include ../../common/utils /usr/include cacheextents.c cacheextents.c stddef.h types.h stdint-intn.h thread-shared-types.h struct_mutex.h pthreadtypes.h stdint-uintn.h sockaddr.h socket.h nbdkit-common.h nbdkit-filter.h cleanup.h assert.h pthread.h errno.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0         zR x                   L   0          BEB L(D0D8J
8D0A(B BBBD             ^    D z
A  8          :    BEE D(C0^(A BBB   8          :    BEE D(C0^(A BBB   D         P    BBE E(D0D8G@g8A0A(B BBB    \                                                                                                                                                                          $                              (       9                   E                   O      h               T                      Y                     ^      @               c                    y                      ~                                 ^                                `      :                  :                  P             ,                            P                                                       
                                            
                                                                                                                                                                        $                  =                     R                     d                     w                                                                                                             0               cacheextents.c cacheextents_unload cacheextents_extents cache_start cache_end .LC5 .LC2 .LC4 .LC3 __PRETTY_FUNCTION__.1 .LC0 .LC1 kill_cacheextents __PRETTY_FUNCTION__.0 cacheextents_zero cacheextents_trim cacheextents_pwrite .LC6 filter cache_extents nbdkit_extents_free pthread_mutex_lock cacheextents_debug_cache nbdkit_extents_count nbdkit_get_extent nbdkit_extents_new nbdkit_add_extent nbdkit_debug __errno_location cleanup_mutex_unlock __assert_fail filter_init             "                       =          $   K          %   R          "   i                    r                              &             '             '             "             #                                                     (            "               3         "   8         )   X         '   ^         %            *            +            "            #            "            ,                                                              *            "            %   "                   3         
   :         *   K                   X            _         *   f         "   {         "            '            )            "            &            +                                                       -                               $            "   !         #   -         "   6         ,   B            N            U            Z         -   3            9            D                   K                      #                3                    @       0                                        0                  8            `      @                          
              
       
                    
   !   !              
   !                                *       
              /       
             =       
             D       
              M       
             T       
       C      [       
             b       
       6      n       
             z       
       }             
       @             
                    
       O             
                    
                    
                    
                    
                    
       6             
                    
             
      
       }            
             $      
       h      1      
             >      
       E      K      
             X      
       p      e      
             |      
                   
                   
                   
       m            
                   
                   
                   
                   
       D             
                   
       !            
       P      
      
                   
                   
             -      
             9      
              F      
       *      S      
       <             
                   
       	             
       T            
                   
                   
                   
                   
       u             
             4      
              H      
             \      
                   
                    
                   
       U            
             '      
              3      
              8      
              D      
              I      
             U      
              b      
       =      o      
             |      
       }            
       2            
                   
       2            
                   
                   
                   
                     
                   
                   
                    
       4            
       (      %      
             2      
             ?      
             L      
       S      Y      
             f      
             s      
       d            
                   
       f             
                   
       7            
       q            
       w      5      
                   
                   
                   
                   
                    
                   
       n            
                   
                   
       L            
                   
             ,      
       I      9      
             F      
       q      S      
       E      `      
       z      m      
       *      z      
                   
                   
                   
                   
       w            
       =            
                   
       }            
       2            
                   
       2      		      
             	      
             #	      
             0	      
               =	      
             J	      
             W	      
              c	      
       4      o	      
       (      {	      
             	      
             	      
             	      
       S      	      
             	      
             	      
       d      4      
              @         %           I      
             U                    ^      
       `      j         "           s      
       X                               
                                      
       p                                
                   
                   
       <            
       d      
      
             %
      
       *       >
      
       	      Z
      
             m
      
       _      
      
       Q      
      
       &      
            0      
      
       
      
            `      
      
              
      
             
      
             
      
       V            
      8       	      
      4             
       
            
      R             
      J       !      
             +      
      z       /      
      r       4      
       `       >      
             B      
             Q      
             U      
             Z            {      g                        
                                     
                    
                   
                   
       V            
                  
                  
       
            
      0            
      (            
                   
      X            
      P            
       `             
                  
      x            
            "      
            '                  4                  b      
       \      k                        
                    
                  
                  
       V            
                  
                  
                  
                  
       
            
      6            
      .            
                   
      ^            
      V            
       `             
                  
      ~                                    0      D      
             Q      
       j      \      
       ]      f                    z                                            
                                      
                    
                  
                  
       V            
                  
                  
       
            
                   
                  
                   
                  
                  
       `       "      
      M      &      
      =      +      
             5      
            9      
            L      
             [      
       ]      e                    n      
                   
                  
                        A                                                                                                                                              
      
                  
                  
                  
            '      
            +      
            4      
            8      
            S      
             `      
      #      d      
            i            <      v            \                                                                                                  "                   G                   T                  |            l            
      g            
      e            
      %                                                                                                  F                  _                  t                    ~            >                                     c                  @             
       2            
                   
       
            
                   
              )      
             7      
             c      
             j                                                                                  
      s            
      o                  ?                  ?                  ?                  ^      )                   6                    I                    U            %      b            :             
                                   "       
   !   0       &       
   !   Q       *       
   !   z       .       
   !          2       
   !          6       
   !          @       
   !          E       
   !          J       
   !          O       
   !          T       
   !          Y       
   !         ^       
   !         c       
   !   -      h       
   !   <      m       
   !   K      r       
   !   V      w       
   !   _      |       
   !   o             
   !                
   !                
   !                
   !                              \                               `                                                      0                            4                                                     `                                           `            0       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rela.data.rel.local .rela.debug_info .debug_abbrev .debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       P                                   @               :                                &                                                          ,                           H                               1      2                     [                             @      2                                                   O                           5                              \                            P                              W      @               A                                 q                      P      w                             l      @               A      h         
                 }                                                                               x!                                                         %      0                                    @               a      0                                                 *&      0                                                    Z&      3                                   @               Ha                                      0               )                                        0               s1                                        0               3      (                                                   ?3                                     	                    @3      p                                  @                d                                                       4      h         "                 	                      9                                                         d                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit_cacheextents_filter_la-cacheextents.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_cacheextents_filter_la-cacheextents.o'

# Name of the non-PIC object
non_pic_object='nbdkit_cacheextents_filter_la-cacheextents.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               # nbdkit-cacheextents-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-cacheextents-filter.so'

# Names of this library.
library_names='nbdkit-cacheextents-filter.so nbdkit-cacheextents-filter.so nbdkit-cacheextents-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-cacheextents-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    # nbdkit-cacheextents-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-cacheextents-filter.so'

# Names of this library.
library_names='nbdkit-cacheextents-filter.so nbdkit-cacheextents-filter.so nbdkit-cacheextents-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-cacheextents-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   .\" Automatically generated by Podwrapper::Man 1.44.3 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "nbdkit-cacheextents-filter 1"
.TH nbdkit-cacheextents-filter 1 "2025-08-23" "nbdkit-1.44.3" "NBDKIT"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
nbdkit\-cacheextents\-filter \- cache extents
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& nbdkit \-\-filter=cacheextents plugin
.Ve
.SH "DEPRECATED"
.IX Header "DEPRECATED"
\&\fBThe cacheextents filter is deprecated in nbdkit ≥ 1.43.10 and
will be removed in nbdkit 1.46\fR.  There is no direct replacement,
but as the filter only worked for a narrow and unusual range of access
patterns it is likely that it has no effect and you can just stop
using it.
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`nbdkit\-cacheextents\-filter\*(C'\fR is a filter that caches the result of last
\&\fBextents()\fR call.
.PP
A common use for this filter is to improve performance when using a
client performing a linear pass over the entire image while asking for
only one extent at a time (such as \f(CW\*(C`qemu\-img convert\*(C'\fR), but where
the plugin can provide multiple extents for the same high latency as a
single extent (such as \fBnbdkit\-vddk\-plugin\fR\|(1)).  For example:
.PP
.Vb 1
\& nbdkit \-\-filter=cacheextents \-\-run \*(Aqqemu\-img map "$uri"\*(Aq vddk ...
.Ve
.PP
For files with big extents (when it is unlikely for one \fBextents()\fR call
to return multiple different extents) this does not slow down the
access.
.PP
This filter only caches image metadata; to also cache image contents,
place this filter between \fBnbdkit\-cache\-filter\fR\|(1) and the plugin.
.SH "PARAMETERS"
.IX Header "PARAMETERS"
There are no parameters specific to nbdkit-cacheextents-filter.  Any
parameters are passed through to and processed by the underlying
plugin in the normal way.
.SH "FILES"
.IX Header "FILES"
.IP "\fI\f(CI$filterdir\fI/nbdkit\-cacheextents\-filter.so\fR" 4
.IX Item "$filterdir/nbdkit-cacheextents-filter.so"
The filter.
.Sp
Use \f(CW\*(C`nbdkit \-\-dump\-config\*(C'\fR to find the location of \f(CW$filterdir\fR.
.SH "VERSION"
.IX Header "VERSION"
\&\f(CW\*(C`nbdkit\-cacheextents\-filter\*(C'\fR first appeared in nbdkit 1.14.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBnbdkit\fR\|(1),
\&\fBnbdkit\-cache\-filter\fR\|(1),
\&\fBnbdkit\-extentlist\-filter\fR\|(1),
\&\fBnbdkit\-readahead\-filter\fR\|(1),
\&\fBnbdkit\-scan\-filter\fR\|(1),
\&\fBnbdkit\-vddk\-plugin\fR\|(1),
\&\fBnbdkit\-filter\fR\|(3),
\&\fBqemu\-img\fR\|(1).
.SH "AUTHORS"
.IX Header "AUTHORS"
Martin Kletzander
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright Red Hat
.SH "LICENSE"
.IX Header "LICENSE"
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.IP "\(bu" 4
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.IP "\(bu" 4
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.IP "\(bu" 4
Neither the name of Red Hat nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
.PP
\&\s-1THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS\s0 ''\s-1AS IS\s0'' \s-1AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\s0 (\s-1INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \s-1LOSS OF
USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT\s0 (\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.\s0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
<html>
<head>
<title>nbdkit-cacheextents-filter - cache extents</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" href="pod.css" type="text/css" />
</head>
<body>


<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="#DEPRECATED">DEPRECATED</a></li>
  <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
  <li><a href="#PARAMETERS">PARAMETERS</a></li>
  <li><a href="#FILES">FILES</a></li>
  <li><a href="#VERSION">VERSION</a></li>
  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="#AUTHORS">AUTHORS</a></li>
  <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
  <li><a href="#LICENSE">LICENSE</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>nbdkit-cacheextents-filter - cache extents</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code> nbdkit --filter=cacheextents plugin</code></pre>

<h1 id="DEPRECATED">DEPRECATED</h1>

<p><b>The cacheextents filter is deprecated in <span style="white-space: nowrap;">nbdkit ≥ 1.43.10</span> and will be removed in <span style="white-space: nowrap;">nbdkit 1.46</span></b>. There is no direct replacement, but as the filter only worked for a narrow and unusual range of access patterns it is likely that it has no effect and you can just stop using it.</p>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><code>nbdkit-cacheextents-filter</code> is a filter that caches the result of last extents() call.</p>

<p>A common use for this filter is to improve performance when using a client performing a linear pass over the entire image while asking for only one extent at a time (such as <span style="white-space: nowrap;"><code>qemu-img convert</code></span>), but where the plugin can provide multiple extents for the same high latency as a single extent (such as <a href="nbdkit-vddk-plugin.1.html">nbdkit-vddk-plugin(1)</a>). For example:</p>

<pre><code> nbdkit --filter=cacheextents --run &#39;qemu-img map &quot;$uri&quot;&#39; vddk ...</code></pre>

<p>For files with big extents (when it is unlikely for one extents() call to return multiple different extents) this does not slow down the access.</p>

<p>This filter only caches image metadata; to also cache image contents, place this filter between <a href="nbdkit-cache-filter.1.html">nbdkit-cache-filter(1)</a> and the plugin.</p>

<h1 id="PARAMETERS">PARAMETERS</h1>

<p>There are no parameters specific to nbdkit-cacheextents-filter. Any parameters are passed through to and processed by the underlying plugin in the normal way.</p>

<h1 id="FILES">FILES</h1>

<dl>

<dt><i>$filterdir/nbdkit-cacheextents-filter.so</i></dt>
<dd>

<p>The filter.</p>

<p>Use <code>nbdkit --dump-config</code> to find the location of <code>$filterdir</code>.</p>

</dd>
</dl>

<h1 id="VERSION">VERSION</h1>

<p><code>nbdkit-cacheextents-filter</code> first appeared in nbdkit 1.14.</p>

<h1 id="SEE-ALSO">SEE ALSO</h1>

<p><a href="nbdkit.1.html">nbdkit(1)</a>, <a href="nbdkit-cache-filter.1.html">nbdkit-cache-filter(1)</a>, <a href="nbdkit-extentlist-filter.1.html">nbdkit-extentlist-filter(1)</a>, <a href="nbdkit-readahead-filter.1.html">nbdkit-readahead-filter(1)</a>, <a href="nbdkit-scan-filter.1.html">nbdkit-scan-filter(1)</a>, <a href="nbdkit-vddk-plugin.1.html">nbdkit-vddk-plugin(1)</a>, <a href="nbdkit-filter.3.html">nbdkit-filter(3)</a>, <a href="http://man.he.net/man1/qemu-img">qemu-img(1)</a>.</p>

<h1 id="AUTHORS">AUTHORS</h1>

<p>Martin Kletzander</p>

<h1 id="COPYRIGHT">COPYRIGHT</h1>

<p>Copyright Red Hat</p>

<h1 id="LICENSE">LICENSE</h1>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>

<ul>

<li><p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p>

</li>
<li><p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p>

</li>
<li><p>Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</p>

</li>
</ul>

<p>THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS &#39;&#39;AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

</body>
</html>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              ELF          >                    8l          @     @      f.        f.     1ff.     fHHHH   ЃtH    fD  1HÐAVMAUAATIUHLSH    HD$HtkE1LL$@HLDHUxtHHt$LL    ÅuH|$    H[]A\A]A^HD$@H=        1        HL$@H=     1    ff.     f   f.        f.        f.        f.        f.     AWAVEAUATAUHSHHhLL$WX  A     A9AFĉ    HD$@IHT  E       A   HLHE9LL$EFE1DUxtFE   Lt$@I9IFLL HH9t?8 tHD$H=        1    H|$@    Hh[]A\A]A^A_ Aw"LE)^H|$@    1     IUIvL    tf.     LD$H1HD    HD$0HHl      HtpEttHt$@A1Ht$HDt$$IHt$0H|$HT$    HL$HHL$@D$PHT$ItCH)DH9HFHA)HL9suE|  H|$0    1fD  D$$I  EH9stLt$L|$8HT$(fD  A   LE9EFH)EI9IFHI    HD$8HH  E1LL$DHHUx      H|$8I9IFHH
HH9t?8 tHD$H=    M    1    L    H|$0         Iw2E)LL    EL9s!Lt$HT$(fIVHw    txf.     MHD$ _   HD$ _   mH
       H5    H=        @     HL$H=    M 1        HL$H=     1    
 H           H    H    malloc: %m checkwrite.c count == 0 1.44.3 checkwrite nbdkit checkwrite filter   data written does not match expected            checkwrite_trim_zero                                                                                                                                                                                                                                                                                                                                                                   /                    `              ?   .           0                1int     *F       ,           -?                        ~          2    r                 V       #              
(      !   8  "?   
    8  	    B  B  L  	    V  V  `  	    j  j  t  	    ~  ~    	          	          	          	          	          	           	    
  
    	        (  #  2  G  <  [  F  o  P    Z    d    n    x                  #        	      	        	       	          
<  	        
=
  	        
>       
MF      
Q	8       
R	8      
U
L      
V`      
W	       
Z	8  (    
[	8  0    
\	8  8    
]	8  @    
^	8  H    
_	8  P    
`	8  X    
a	8  `    
b	8  h    
c	8  p    
e	  x    
h	      
k	      
l	-      
n	-      
p	i      
r	-       
B
R  k   k  k               
D
|  k     k       
E
  k     k  k        
F
  k     k  k        	        
H       k  k        
J
  k       k         k   3  3     $     L  3   =     `  3   Q  k     3            e  k     3  M               k     k     3                   k     3          k   -  3              
  k   Z  3           Z     _  	    _  2  3    P
      
k        
       
       
       
        

  (    

  0    
	  8    
	  @    
   H    
	  P    

  X    
	  `    
	  h    

	  p    
	(	  x    
	U	      
}	      
	      

	      
		      
		      


      
#
      
	K
      
		      
		      
		      
		      
		      
		      
		      	       	      	      }
      
       
  (      0      8      @      H 4  k       k         F    k       k   p    k     k      |  #	  k     k   #	  #	  k  k      
	  k   P	  P	  k  k   k        -	     x	  x	  k  k   k      Z	  M   	  	    k      k      	  #	  M    	  k   	  3  M   k    	  k   	  3  M    	     

  3  M    	     #
  3  M    
  k   K
  3  M          (
  k   }
  3  M   M               P
  k   
  3  M                  
  k   
  3  M         
  k     3  M            Z     
  5     n  	            @k   @        .        
[
R  R   Z  6    E
x        F           
5
  M        	_     7 8    %
  9    )M     .        	      .    d      	.            
}Z     3              :    ?                  n      k                       $3              M               .               >                           $err ,          ;      	              i .           n .           %    1Z        e "                 &               
                 <        
       _x0 "           '_y1 "               .           buf          _x2 k           _y3                 1  _x4 .           _y5                                                  (                        )                   
                                       z  Q~p                                        U	          
          4  U~  *        a  Uv Q~ Rs X0Y~ 
        x  y  U}  
        x    U                      U	                    U~Q~  
          
  Uv T| Qs R0X~           
        @  0  U 
        @  I  U         W  U	        T	        QR	                buf    &                 _x6 k           _y7                 V  n                #  _x8 k           _y9                            
                      (                        )                                                          z  U~ T~Q}p    +                         &                      U	          ,        Uv T~ Q Rs X0Y~  
            U| @F$| @F$,(  
        x    U 
        x    U                     U	          ,        Uv   !     "?          k                  ^        3  U     M   T     *   Q-err 6  R     yk                        y!3              zM           $buf {                {.               {>               |           -err |)   %    ~   H+                         Y                      U	          
          q  U}  *          Uv Q} R~ X0Y  
        z    U| Q}  
        x    UH                     U	              pk     =err p       ik   @  
    i)3  
    j"M        _k   g  
    _(3  
    `!M        Xk     
    X#3  
    YM        Qk     
    Q#3  
    RM        Jk     
    J"3  
    KM        Ck     
    C$3  
    DM        <k   .  
    <$3  
    =M        /M           /             /$	              /:              0k               0,               0<k           >        U  UTT1QR ?               1    
    1   
    1%.   'i 3
.   @    4:        .                 P    U!  T .                 z    U  T A           I   !I  
 :;9I8  I ~  'I  7 I  & I   :;9I  	 <  
 :;9I   :!;9IB  4 :!;9IB  
H}  $ >   1B  
 :!
;9!	I8  H}  U  .:!;9!'I  .?:;9'I<  .:!;9!'I@z  4 1B  4 1  H }  .:;9!'I    1  :;9!  .?:;9'<  4 :!;9I  4 :!;9IB  1RBUX!YW    :!;9I  !I  "! I/  #'  $ :!;9IB  %4 :!;9I  &  '4 :;9I  (U  )1RBX!Y!1W!  *H}  +1RBX!YW  ,H}  - :!;9I  ..1@z  /%  0   1$ >  2&   3:;9  4 '  54 :;9I  6.?:;9'<  7   8. ?:;9'I<  9.?:;9'I<  :. ?:;9'I@z  ;4 I4  <  = :;9I  >H}  ?H }  @4 :;9I  A. ?<n:;   d                UVU
V     T
T             Q\\|  \\| p 
\       RS
S           X^X^
X     Y
~            0Q~Q~		~   P               R]R]	]		R	
]   P  \            !| @F$-( P^	^		^	
^      @F$	@F$	
@F$        \\		\	
\        !| @F$-( !| @F$-( 		!| @F$-( 	
!| @F$-(             } s P} s } s 		} s 	
} s        ^^		^       UU		U          0p u p u #p u p u 		p u       #~ #@#-( #~ #@#-( 		#~ #@#-(    		^   		U   P~     @F$@F$

@F$       \QQ

\      ___     @F$@F$@F$     \\\       ]]]       ^^^          0p ~ p ~ #p ~ p ~ p ~       #} #@#-( #} #@#-( #} #@#-(    ]   ^ ~         `vUvVUV     `TT         `Q\Q\       `R]R         `X^X^     `YY         0=U=CPC_U       0BTBCUC_T     0:Q:_Q     0CRC_R     0CXC_X ,                     `                               		

    		
 				
 			
   		  8       
                                                                                                          	        = Jf>X.Z
I 19[XY_\ rJ...cYsgur
XYs
./u[
Z Z<;Jj	tY=h>VJ
Z
~<
X~X"JYX	~Ysgu MX X ~f<x<sf
~	%JJ
1IZ=	YJrts&=
?
	 /"    < 	  	 =   v <% < J X,J1N
 B
*3*f		g;u<=t":<	"X	Y"=	
<	~X~XJYX;Y g.Y 1dXf		=s
<s<X*3*f ~	%JJX.<.X	X	X l#XYs<./uX!XYs./u%t can_zero sockaddr_ax25 nbdkit_extent nbdkit_extents_full nbdkit_get_extent sa_data checkwrite_can_multi_conn flags nbdkit_next_config_complete buffer nbdkit_backend sockaddr can_fua nbdkit_context unsigned int sockaddr_ns next nxdata zerolen nbdkit_next_ops is_tls _version can_trim nbdkit_next limit can_cache can_write exts next_extent_offset nbdkit_extents_count __errno_location sockaddr_ipx nbdkit_extents uint32_t size pread malloc sockaddr_at count long long unsigned int cleanup nbdkit_next_list_exports after_fork can_flush size_t sa_family_t int64_t offset nbdkit_next_open _Bool preconnect sockaddr_inarp __uint64_t sockaddr_iso load nbdkit_next_preconnect prepare checkwrite_flush char sockaddr_dl longname close buflen get_size _api_version checkwrite_can_write checkwrite_trim_zero long long int zero description sockaddr_eon expected sockaddr_un is_zero nbdkit_filter cleanup_extents_free filter_init export_description unload trim cache dump_plugin __int64_t can_fast_zero extents checkwrite_can_flush config_complete nbdkit_next_config checkwrite_open config short int long int config_help length cleanup_free filter memcmp nbdkit_next_default_export uint64_t block_size nbdkit_error sockaddr_in checkwrite_pwrite get_ready name checkwrite_can_zero open flush thread_model long unsigned int __assert_fail checkwrite_can_fast_zero type GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables unsigned char __uint32_t list_exports default_export finalize checkwrite_can_trim can_extents readonly signed char sa_family can_multi_conn exportname short unsigned int handle __PRETTY_FUNCTION__ nbdkit_exports __builtin_memcmp pwrite is_rotational checkwrite_can_fua sockaddr_in6 data_does_not_match sockaddr_x25 checkwrite.c /tmp/nbdkit/filters/checkwrite /tmp/nbdkit/filters/checkwrite ../../common/include /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits ../../include /usr/include ../../common/utils checkwrite.c checkwrite.c iszero.h stddef.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h nbdkit-common.h nbdkit-filter.h string.h assert.h cleanup.h stdlib.h errno.h <built-in>  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0            zR x                      0                 D                 X       /    DY
KF   @   x           BEE D(G0D@O
0C(A BBBA                                                                                     H             BBE B(D0D8G
8A0A(B BBBD   l                                                                                                        #                   6                    G     0       /                                                   W     `              i                      n                      s                        0                  @                  P                  `                  p                                                                             #                           P                                                       
                                            
                                                                                                         $                     5                     <                     C                     P                     ]                     q                                                                                        @               checkwrite.c checkwrite_can_write checkwrite_can_fua checkwrite_flush checkwrite_open checkwrite_pwrite .LC1 .LC0 checkwrite_can_fast_zero checkwrite_can_multi_conn checkwrite_can_flush checkwrite_can_trim checkwrite_can_zero checkwrite_trim_zero __PRETTY_FUNCTION__.0 .LC2 .LC3 .LC4 filter __errno_location malloc memcmp cleanup_free nbdkit_error nbdkit_extents_full nbdkit_extents_count nbdkit_get_extent cleanup_extents_free __assert_fail filter_init  |          !             "             #             
             $                             
         $            !   6         
   C         $   M         #            #            "            %            &            '   _         (            !   &         
   6         $   >         #   H         (   h         #            "                                                )                                     $                )            4         $   C            I            T                   [            N                           *                    5                    0                                         @                   P                   `                                                          0                   `       (                    0            p      8            p             
              
       
      H             
                     
      
                            *       
              /       
            B       
      
      I       
             R       
            Y       
      5      `       
            g       
      4      s       
                   
                   
      >             
      h             
                   
                   
      (             
                   
                   
                   
                   
             	      
                  
      K       C      
            W      
      	       k      
                  
      ;            
                  
                  
      Y            
                  
      s            
                   
      Q            
                  
                   
      0            
      S            
      C            
                   
                   
                   
                   
                  
             (      
            5      
            B      
            O      
            \      
            i      
      7      v      
                  
                  
                  
                    
                  
                  
                   
                  
      -            
                  
                  
                  
                  
      *      ,      
            9      
            G      
      
      q      
      s             
                  
                  
      c            
      u            
      7      `      
            o      
      e      }      
                  
      	            
                  
                  
      /            
                  
                  
      -            
                  
      G            
                  
                  
            &      
             3      
            @      
      N      M      
            Z      
            g      
            t      
                  
                  
                  
                  
                  
                  
      7            
                  
                  
                  
                    
                  
                  
             )      
            5      
      -      A      
            M      
            Y      
            e      
            q      
      *      }      
                  
            
      
      g                          !      
      n      A      
      s      X      
            y      
      Z            
                  
      n            
                  
      9             
      Y            
      %       !      
            -            @      E      
            N            p      e      
             o      
             s      
             x      
      H            
      8             
      4             
                  
      Z             
      J             
      0            
                   
                   
      m             
                   
                   
                   
                   
      O                                
      [             
                  
            
      
      B      
      
      @      
      
      A      $
      
      p       :
      
      F      D
      
      X      H
      
      J      M
            -      b
      
             l
      
            p
      
            u
            -      
      
            
      
            
      
             
      
            
      
            
      
            
      
             
      
            
      
            
      
      "      
      
                  
                   
      G            
      ?      (      
            ,      
            6                   ?      
             N      
      :      R      
      4      [      
      V      _      
      P      d      
             m      
      x      q      
      l      z      
            ~      
                                                      
      C            
      A            
      M            
      K                                    -            
                   
      Y            
      U                  :                                            5                  b            B      z            l                                                                                                                                c      1            L      J                  [                   h                   {                          
                                     
      p            
      j            
                  
                  
      &             
                  
                  
      6             
                  
                  
                  
            (                  1      
      F       @      
            D      
            M      
      9      Q      
      3      V      
      F       _      
      [      c      
      O      l      
            p      
            y                                          
      &            
      $            
      0            
      .                                    .                  .            
      :            
      8                  G                          '                  W                              Q                                    !                  8                                            
      
                                *      
             7      
      H      D      
      m       _      
            h            `             
                   
      L            
      D            
      H            
      m            
      i            
                  
      |            
                  
                  
                  
      0            
                  
                  
      m             
                  
                  
      H                                            5      
            9      
            >                   O                    Z                   r                                                                                                                        
                  
      S       (      
             4      
      H      A      
      *      O      
             [      
      H      h      
            v      
                   
      H            
                  
                   
      H            
                  
                   
      H            
                  
                   
      H            
                  
             "      
      H      /      
            8            0       O      
             Y      
            ]      
             b      
             l      
            p      
            u      
                  
      6            
      2            
      *            
      H            
      D            
                  
      Z            
      V                  D                   R             
      ]            
                   
                  
      '      "      
      H      +                    U                   {      
      n            
      r             
                                   "       
      ,       &       
      K       *       
      `       .       
             2       
             6       
             :       
             D       
             I       
             N       
             S       
             X       
            ]       
            b       
            g       
      +      l       
      6      q       
      ?      v       
      O      {       
      _             
      h             
      q             
      {             
                   
                                                       4                    H                     \             0       |             `                                        0                   @                   P                  `      $            p      p            @       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rela.data.rel.local .rela.debug_info .debug_abbrev .debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       `                                   @               x@                                &                                                          ,                                                          1      2                     N                             @      2                     %                             O                                                          \                     @      P                              W      @               8D      P                          q                                                         l      @               E      !         
                 }                                                                               "      h                                                   2*      0                                    @               xg      0                                                 b*                                                          P+      <                                   @               g      X                                0               0                                        0               e7                                        0               8      (                                                   $9                                     	                    (9                                        @                j                                                       :                                 	                      >                                                          k                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ELF          >                    0l          @     @      f.        f.     1ff.     fHHHH   ЃtH    fD  1HÐAVMAUAATIUHLSH    HD$HtkE1LL$@HLDHUxtHHt$LL    ÅuH|$    H[]A\A]A^HD$@H=        1        HL$@H=     1    ff.     f   f.        f.        f.        f.        f.     AWAVEAUATAUHSHHhLL$WX  A     A9AFĉ    HD$@IHT  E       A   HLHE9LL$EFE1DUxtFE   Lt$@I9IFLL HH9t?8 tHD$H=        1    H|$@    Hh[]A\A]A^A_ Aw"LE)^H|$@    1     IUIvL    tf.     LD$H1HD    HD$0HHl      HtpEttHt$@A1Ht$HDt$$IHt$0H|$HT$    HL$HHL$@D$PHT$ItCH)DH9HFHA)HL9suE|  H|$0    1fD  D$$I  EH9stLt$L|$8HT$(fD  A   LE9EFH)EI9IFHI    HD$8HH  E1LL$DHHUx      H|$8I9IFHH
HH9t?8 tHD$H=    M    1    L    H|$0         Iw2E)LL    EL9s!Lt$HT$(fIVHw    txf.     MHD$ _   HD$ _   mH
       H5    H=        @     HL$H=    M 1        HL$H=     1    
 H           H    H    malloc: %m checkwrite.c count == 0 1.44.3 checkwrite nbdkit checkwrite filter   data written does not match expected            checkwrite_trim_zero                                                                                                                                                                                                                                                                                                                                                                   /                    `              ?   .           0                1int     *F       ,           -?                        ~          2    r                 V       #              
(      !   8  "?   
    8  	    B  B  L  	    V  V  `  	    j  j  t  	    ~  ~    	          	          	          	          	          	           	    
  
    	        (  #  2  G  <  [  F  o  P    Z    d    n    x                  #        	      	        	       	          
<  	        
=
  	        
>       
MF      
Q	8       
R	8      
U
L      
V`      
W	       
Z	8  (    
[	8  0    
\	8  8    
]	8  @    
^	8  H    
_	8  P    
`	8  X    
a	8  `    
b	8  h    
c	8  p    
e	  x    
h	      
k	      
l	-      
n	-      
p	i      
r	-       
B
R  k   k  k               
D
|  k     k       
E
  k     k  k        
F
  k     k  k        	        
H       k  k        
J
  k       k         k   3  3     $     L  3   =     `  3   Q  k     3            e  k     3  M               k     k     3                   k     3          k   -  3              
  k   Z  3           Z     _  	    _  2  3    P
      
k        
       
       
       
        

  (    

  0    
	  8    
	  @    
   H    
	  P    

  X    
	  `    
	  h    

	  p    
	(	  x    
	U	      
}	      
	      

	      
		      
		      


      
#
      
	K
      
		      
		      
		      
		      
		      
		      
		      	       	      	      }
      
       
  (      0      8      @      H 4  k       k         F    k       k   p    k     k      |  #	  k     k   #	  #	  k  k      
	  k   P	  P	  k  k   k        -	     x	  x	  k  k   k      Z	  M   	  	    k      k      	  #	  M    	  k   	  3  M   k    	  k   	  3  M    	     

  3  M    	     #
  3  M    
  k   K
  3  M          (
  k   }
  3  M   M               P
  k   
  3  M                  
  k   
  3  M         
  k     3  M            Z     
  5     n  	            @k   @        .        
[
R  R   Z  6    E
x        F           
5
  M        	_     7 8    %
  9    )M     .        	      .    d      	.            
}Z     3              :    ?                  n      k                       $3              M               .               >                           $err ,          ;      	              i .           n .           %    1Z        e "                 &               
                 <        
       _x0 "           '_y1 "               .           buf          _x2 k           _y3                 1  _x4 .           _y5                                                  (                        )                   
                                       z  Q~p                                        U	          
          4  U~  *        a  Uv Q~ Rs X0Y~ 
        x  y  U}  
        x    U                      U	                    U~Q~  
          
  Uv T| Qs R0X~           
        @  0  U 
        @  I  U         W  U	        T	        QR	                buf    &                 _x6 k           _y7                 V  n                #  _x8 k           _y9                            
                      (                        )                                                          z  U~ T~Q}p    +                         &                      U	          ,        Uv T~ Q Rs X0Y~  
            U| @F$| @F$,(  
        x    U 
        x    U                     U	          ,        Uv   !     "?          k                  ^        3  U     M   T     *   Q-err 6  R     yk                        y!3              zM           $buf {                {.               {>               |           -err |)   %    ~   H+                         Y                      U	          
          q  U}  *          Uv Q} R~ X0Y  
        z    U| Q}  
        x    UH                     U	              pk     =err p       ik   @  
    i)3  
    j"M        _k   g  
    _(3  
    `!M        Xk     
    X#3  
    YM        Qk     
    Q#3  
    RM        Jk     
    J"3  
    KM        Ck     
    C$3  
    DM        <k   .  
    <$3  
    =M        /M           /             /$	              /:              0k               0,               0<k           >        U  UTT1QR ?               1    
    1   
    1%.   'i 3
.   @    4:        .                 P    U!  T .                 z    U  T A           I   !I  
 :;9I8  I ~  'I  7 I  & I   :;9I  	 <  
 :;9I   :!;9IB  4 :!;9IB  
H}  $ >   1B  
 :!
;9!	I8  H}  U  .:!;9!'I  .?:;9'I<  .:!;9!'I@z  4 1B  4 1  H }  .:;9!'I    1  :;9!  .?:;9'<  4 :!;9I  4 :!;9IB  1RBUX!YW    :!;9I  !I  "! I/  #'  $ :!;9IB  %4 :!;9I  &  '4 :;9I  (U  )1RBX!Y!1W!  *H}  +1RBX!YW  ,H}  - :!;9I  ..1@z  /%  0   1$ >  2&   3:;9  4 '  54 :;9I  6.?:;9'<  7   8. ?:;9'I<  9.?:;9'I<  :. ?:;9'I@z  ;4 I4  <  = :;9I  >H}  ?H }  @4 :;9I  A. ?<n:;   d                UVU
V     T
T             Q\\|  \\| p 
\       RS
S           X^X^
X     Y
~            0Q~Q~		~   P               R]R]	]		R	
]   P  \            !| @F$-( P^	^		^	
^      @F$	@F$	
@F$        \\		\	
\        !| @F$-( !| @F$-( 		!| @F$-( 	
!| @F$-(             } s P} s } s 		} s 	
} s        ^^		^       UU		U          0p u p u #p u p u 		p u       #~ #@#-( #~ #@#-( 		#~ #@#-(    		^   		U   P~     @F$@F$

@F$       \QQ

\      ___     @F$@F$@F$     \\\       ]]]       ^^^          0p ~ p ~ #p ~ p ~ p ~       #} #@#-( #} #@#-( #} #@#-(    ]   ^ ~         `vUvVUV     `TT         `Q\Q\       `R]R         `X^X^     `YY         0=U=CPC_U       0BTBCUC_T     0:Q:_Q     0CRC_R     0CXC_X ,                     `                               		

    		
 				
 			
   		  8       
                                                                                                          	        = Jf>X.Z
I 19[XY_\ rJ...cYsgur
XYs
./u[
Z Z<;Jj	tY=h>VJ
Z
~<
X~X"JYX	~Ysgu MX X ~f<x<sf
~	%JJ
1IZ=	YJrts&=
?
	 /"    < 	  	 =   v <% < J X,J1N
 B
*3*f		g;u<=t":<	"X	Y"=	
<	~X~XJYX;Y g.Y 1dXf		=s
<s<X*3*f ~	%JJX.<.X	X	X l#XYs<./uX!XYs./u%t can_zero sockaddr_ax25 nbdkit_extent nbdkit_extents_full nbdkit_get_extent sa_data checkwrite_can_multi_conn flags nbdkit_next_config_complete buffer nbdkit_backend sockaddr can_fua nbdkit_context unsigned int sockaddr_ns next nxdata zerolen nbdkit_next_ops is_tls _version can_trim nbdkit_next limit can_cache can_write exts next_extent_offset nbdkit_extents_count __errno_location sockaddr_ipx nbdkit_extents uint32_t size pread malloc sockaddr_at count long long unsigned int cleanup nbdkit_next_list_exports after_fork can_flush size_t sa_family_t int64_t offset nbdkit_next_open _Bool preconnect sockaddr_inarp __uint64_t sockaddr_iso load nbdkit_next_preconnect prepare checkwrite_flush char sockaddr_dl longname close buflen get_size _api_version checkwrite_can_write checkwrite_trim_zero long long int zero description sockaddr_eon expected sockaddr_un is_zero nbdkit_filter cleanup_extents_free filter_init export_description unload trim cache dump_plugin __int64_t can_fast_zero extents checkwrite_can_flush config_complete nbdkit_next_config checkwrite_open config short int long int config_help length cleanup_free filter memcmp nbdkit_next_default_export uint64_t block_size nbdkit_error sockaddr_in checkwrite_pwrite get_ready name checkwrite_can_zero open flush thread_model long unsigned int GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables __assert_fail checkwrite_can_fast_zero type unsigned char __uint32_t list_exports default_export finalize checkwrite_can_trim can_extents readonly signed char sa_family can_multi_conn exportname short unsigned int handle __PRETTY_FUNCTION__ nbdkit_exports __builtin_memcmp pwrite is_rotational checkwrite_can_fua sockaddr_in6 data_does_not_match sockaddr_x25 checkwrite.c /tmp/nbdkit/filters/checkwrite /tmp/nbdkit/filters/checkwrite ../../common/include /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits ../../include /usr/include ../../common/utils checkwrite.c checkwrite.c iszero.h stddef.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h nbdkit-common.h nbdkit-filter.h string.h assert.h cleanup.h stdlib.h errno.h <built-in>  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0          zR x                      0                 D                 X       /    DY
KF   @   x           BEE D(G0D@O
0C(A BBBA                                                                                     H             BBE B(D0D8G
8A0A(B BBBD   l                                                                                                        #                   6                    G     0       /                                                   W     `              i                      n                      s                        0                  @                  P                  `                  p                                                                             #                           P                                                       
                                            
                                                                                                         $                     5                     <                     C                     P                     ]                     q                                                                                        @               checkwrite.c checkwrite_can_write checkwrite_can_fua checkwrite_flush checkwrite_open checkwrite_pwrite .LC1 .LC0 checkwrite_can_fast_zero checkwrite_can_multi_conn checkwrite_can_flush checkwrite_can_trim checkwrite_can_zero checkwrite_trim_zero __PRETTY_FUNCTION__.0 .LC2 .LC3 .LC4 filter __errno_location malloc memcmp cleanup_free nbdkit_error nbdkit_extents_full nbdkit_extents_count nbdkit_get_extent cleanup_extents_free __assert_fail filter_init  |          !             "             #             
             $                             
         $            !   6         
   C         $   M         #            #            "            %            &            '   _         (            !   &         
   6         $   >         #   H         (   h         #            "                                                )                                     $                )            4         $   C            I            T                   [            N                           *                    5                    0                                         @                   P                   `                                                          0                   `       (                    0            p      8            p             
              
       
                   
                     
      
                            *       
              /       
            B       
      
      I       
             R       
            Y       
      /      `       
            g       
      4      s       
                   
                   
      >             
      h             
                   
                   
      (             
                   
                   
                   
                   
             	      
                  
      K       C      
            W      
      	       k      
                  
      ;            
                  
                  
      Y            
                  
      s            
                   
      Q            
                  
                   
      0            
      S            
                  
                   
                   
                   
                   
                  
             (      
            5      
            B      
            O      
            \      
            i      
      7      v      
                  
                  
                  
                    
                  
                  
                   
                  
      -            
                  
      }            
                  
                  
      *      ,      
            9      
            G      
      
      q      
      s             
                  
                  
      ]            
      u            
      7      `      
            o      
      e      }      
                  
      	            
                  
                  
      /            
                  
                  
      -            
                  
      G            
                  
                  
            &      
             3      
            @      
      N      M      
            Z      
            g      
            t      
                  
                  
                  
                  
                  
                  
      7            
                  
                  
                  
                    
                  
                  
             )      
            5      
      -      A      
            M      
      }      Y      
            e      
            q      
      *      }      
                  
            
      
      g                          !      
      n      A      
      s      X      
      l      y      
      Z            
                  
      n            
                  
      9             
      Y            
      %       !      
            -            @      E      
            N            p      e      
             o      
             s      
             x      
      B            
      8             
      4             
                  
      Z             
      J             
      0            
                   
                   
      m             
                   
                   
                   
                   
      I                                
      [             
                  
            
      
      B      
      
      @      
      
      A      $
      
      p       :
      
      F      D
      
      X      H
      
      J      M
            -      b
      
             l
      
            p
      
            u
            -      
      
            
      
            
      
             
      
            
      
            
      
            
      
             
      
            
      
            
      
      "      
      
                  
                   
      G            
      ?      (      
            ,      
            6                   ?      
             N      
      :      R      
      4      [      
      V      _      
      P      d      
             m      
      x      q      
      l      z      
            ~      
                                                      
      C            
      A            
      M            
      K                                    -            
                   
      Y            
      U                  :                                            5                  b            B      z            l                                                                                                                                c      1            L      J                  [                   h                   {                          
                                     
      p            
      j            
                  
                  
      &             
                  
                  
      6             
                  
                  
                  
            (                  1      
      F       @      
            D      
            M      
      9      Q      
      3      V      
      F       _      
      [      c      
      O      l      
            p      
            y                                          
      &            
      $            
      0            
      .                                    .                  .            
      :            
      8                  G                          '                  W                              Q                                    !                  8                                            
      
                                *      
             7      
      B      D      
      m       _      
            h            `             
                   
      L            
      D            
      B            
      m            
      i            
                  
      |            
                  
                  
                  
      0            
                  
                  
      m             
                  
                  
      H                                            5      
            9      
            >                   O                    Z                   r                                                                                                                        
                  
      S       (      
             4      
      B      A      
      z      O      
             [      
      B      h      
            v      
                   
      B            
                  
                   
      B            
                  
                   
      B            
                  
                   
      B            
                  
             "      
      B      /      
            8            0       O      
             Y      
            ]      
             b      
             l      
            p      
            u      
                  
      6            
      2            
      $            
      H            
      D            
                  
      Z            
      V                  D                   R             
      ]            
                   
                  
      '      "      
      H      +                    U                   {      
      n            
      l             
                                   "       
      ,       &       
      K       *       
      `       .       
             2       
             6       
             :       
             D       
             I       
             N       
             S       
             X       
            ]       
            b       
            g       
      +      l       
      6      q       
      ?      v       
      O      {       
      _             
      h             
      q             
      {             
                   
                                                       4                    H                     \             0       |             `                                        0                   @                   P                  `      $            p      p            @       .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rela.data.rel.local .rela.debug_info .debug_abbrev .debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       `                                   @               p@                                &                                                          ,                                                          1      2                     N                             @      2                     %                             O                                                          \                     @      P                              W      @               0D      P                          q                                                         l      @               E      !         
                 }                                                                               "      h                                                   2*      0                                    @               pg      0                                                 b*                                                          P+      <                                   @               g      X                                0               0                                        0               _7                                        0               8      (                                                   9                                     	                     9                                        @               i                                                       :                                 	                      >                                                         k                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit_checkwrite_filter_la-checkwrite.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_checkwrite_filter_la-checkwrite.o'

# Name of the non-PIC object
non_pic_object='nbdkit_checkwrite_filter_la-checkwrite.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           # nbdkit-checkwrite-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-checkwrite-filter.so'

# Names of this library.
library_names='nbdkit-checkwrite-filter.so nbdkit-checkwrite-filter.so nbdkit-checkwrite-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-checkwrite-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                # nbdkit-checkwrite-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-checkwrite-filter.so'

# Names of this library.
library_names='nbdkit-checkwrite-filter.so nbdkit-checkwrite-filter.so nbdkit-checkwrite-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-checkwrite-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               .\" Automatically generated by Podwrapper::Man 1.44.3 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "nbdkit-checkwrite-filter 1"
.TH nbdkit-checkwrite-filter 1 "2025-08-23" "nbdkit-1.44.3" "NBDKIT"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
nbdkit\-checkwrite\-filter \- check writes match contents of plugin
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& nbdkit \-\-filter=checkwrite PLUGIN
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`nbdkit\-checkwrite\-filter\*(C'\fR is an nbdkit filter that turns write
operations into checks that what is written matches the existing
content of the plugin.  If the content matches then the write
operation succeeds (doing nothing).  If not then the write operation
fails returning \s-1EIO\s0 Input/output error.
.PP
The purpose of this filter is to test copying tools as described
below.
.PP
The underlying plugin is opened read-only and is never written to.
All write-like operations are covered by this filter, such as trimming
and zeroing.  This filter tests the logical equivalence of the writes,
ignoring differences in sparseness.
.SS "Using this filter to test copying tools"
.IX Subsection "Using this filter to test copying tools"
You can check that a copying tool is copying data correctly by
creating an nbdkit instance containing some test data, overlaying this
filter, and copying from and to nbdkit at the same time:
.PP
.Vb 2
\& nbdkit \-\-filter=checkwrite data "@32768 1" \e
\&        \-\-run \*(Aqnbdcopy "$uri" "$uri"\*(Aq
.Ve
.PP
.Vb 2
\& nbdkit \-\-filter=checkwrite file disk.img \e
\&        \-\-run \*(Aqnbdcopy "$uri" "$uri"\*(Aq
.Ve
.PP
.Vb 2
\& nbdkit \-\-filter=checkwrite linuxdisk testdir/ \e
\&        \-\-run \*(Aqqemu\-img convert \-n "$uri" "$uri"\*(Aq
.Ve
.PP
If the copying program is buggy then you will see \s-1EIO\s0 errors and (if
the copying program also handles errors correctly) it should exit with
an error.
.SS "Other plugins for testing \s-1NBD\s0 tools"
.IX Subsection "Other plugins for testing NBD tools"
If you are doing this kind of testing you will also want to look at
\&\fBnbdkit\-random\-plugin\fR\|(1) and \fBnbdkit\-sparse\-random\-plugin\fR\|(1).
These plugins already have this behaviour built in to them (because it
is more efficient to build it into the plugin) — you do \fBnot\fR need to
use this filter with those plugins.  This filter is useful for testing
with arbitrary plugins.
.SH "PARAMETERS"
.IX Header "PARAMETERS"
There are no parameters specific to this filter.  Parameters are
passed through to the underlying plugin.
.SH "FILES"
.IX Header "FILES"
.IP "\fI\f(CI$filterdir\fI/nbdkit\-checkwrite\-filter.so\fR" 4
.IX Item "$filterdir/nbdkit-checkwrite-filter.so"
The filter.
.Sp
Use \f(CW\*(C`nbdkit \-\-dump\-config\*(C'\fR to find the location of \f(CW$filterdir\fR.
.SH "VERSION"
.IX Header "VERSION"
\&\f(CW\*(C`nbdkit\-checkwrite\-filter\*(C'\fR first appeared in nbdkit 1.24.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBnbdkit\fR\|(1),
\&\fBnbdkit\-random\-plugin\fR\|(1),
\&\fBnbdkit\-sparse\-random\-plugin\fR\|(1),
\&\fBnbdkit\-filter\fR\|(3),
\&\fBnbdkit\-plugin\fR\|(3),
\&\fBnbdcopy\fR\|(1),
\&\fBqemu\-img\fR\|(1).
.SH "AUTHORS"
.IX Header "AUTHORS"
Richard W.M. Jones
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright Red Hat
.SH "LICENSE"
.IX Header "LICENSE"
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.IP "\(bu" 4
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.IP "\(bu" 4
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.IP "\(bu" 4
Neither the name of Red Hat nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
.PP
\&\s-1THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS\s0 ''\s-1AS IS\s0'' \s-1AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\s0 (\s-1INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \s-1LOSS OF
USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT\s0 (\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.\s0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
<html>
<head>
<title>nbdkit-checkwrite-filter - check writes match contents of plugin</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" href="pod.css" type="text/css" />
</head>
<body>


<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="#DESCRIPTION">DESCRIPTION</a>
    <ul>
      <li><a href="#Using-this-filter-to-test-copying-tools">Using this filter to test copying tools</a></li>
      <li><a href="#Other-plugins-for-testing-NBD-tools">Other plugins for testing NBD tools</a></li>
    </ul>
  </li>
  <li><a href="#PARAMETERS">PARAMETERS</a></li>
  <li><a href="#FILES">FILES</a></li>
  <li><a href="#VERSION">VERSION</a></li>
  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="#AUTHORS">AUTHORS</a></li>
  <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
  <li><a href="#LICENSE">LICENSE</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>nbdkit-checkwrite-filter - check writes match contents of plugin</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code> nbdkit --filter=checkwrite PLUGIN</code></pre>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><code>nbdkit-checkwrite-filter</code> is an nbdkit filter that turns write operations into checks that what is written matches the existing content of the plugin. If the content matches then the write operation succeeds (doing nothing). If not then the write operation fails returning EIO Input/output error.</p>

<p>The purpose of this filter is to test copying tools as described below.</p>

<p>The underlying plugin is opened read-only and is never written to. All write-like operations are covered by this filter, such as trimming and zeroing. This filter tests the logical equivalence of the writes, ignoring differences in sparseness.</p>

<h2 id="Using-this-filter-to-test-copying-tools">Using this filter to test copying tools</h2>

<p>You can check that a copying tool is copying data correctly by creating an nbdkit instance containing some test data, overlaying this filter, and copying from and to nbdkit at the same time:</p>

<pre><code> nbdkit --filter=checkwrite data &quot;@32768 1&quot; \
        --run &#39;nbdcopy &quot;$uri&quot; &quot;$uri&quot;&#39;</code></pre>

<pre><code> nbdkit --filter=checkwrite file disk.img \
        --run &#39;nbdcopy &quot;$uri&quot; &quot;$uri&quot;&#39;</code></pre>

<pre><code> nbdkit --filter=checkwrite linuxdisk testdir/ \
        --run &#39;qemu-img convert -n &quot;$uri&quot; &quot;$uri&quot;&#39;</code></pre>

<p>If the copying program is buggy then you will see EIO errors and (if the copying program also handles errors correctly) it should exit with an error.</p>

<h2 id="Other-plugins-for-testing-NBD-tools">Other plugins for testing NBD tools</h2>

<p>If you are doing this kind of testing you will also want to look at <a href="nbdkit-random-plugin.1.html">nbdkit-random-plugin(1)</a> and <a href="nbdkit-sparse-random-plugin.1.html">nbdkit-sparse-random-plugin(1)</a>. These plugins already have this behaviour built in to them (because it is more efficient to build it into the plugin) — you do <b>not</b> need to use this filter with those plugins. This filter is useful for testing with arbitrary plugins.</p>

<h1 id="PARAMETERS">PARAMETERS</h1>

<p>There are no parameters specific to this filter. Parameters are passed through to the underlying plugin.</p>

<h1 id="FILES">FILES</h1>

<dl>

<dt><i>$filterdir/nbdkit-checkwrite-filter.so</i></dt>
<dd>

<p>The filter.</p>

<p>Use <code>nbdkit --dump-config</code> to find the location of <code>$filterdir</code>.</p>

</dd>
</dl>

<h1 id="VERSION">VERSION</h1>

<p><code>nbdkit-checkwrite-filter</code> first appeared in nbdkit 1.24.</p>

<h1 id="SEE-ALSO">SEE ALSO</h1>

<p><a href="nbdkit.1.html">nbdkit(1)</a>, <a href="nbdkit-random-plugin.1.html">nbdkit-random-plugin(1)</a>, <a href="nbdkit-sparse-random-plugin.1.html">nbdkit-sparse-random-plugin(1)</a>, <a href="nbdkit-filter.3.html">nbdkit-filter(3)</a>, <a href="nbdkit-plugin.3.html">nbdkit-plugin(3)</a>, <a href="nbdcopy.1.html">nbdcopy(1)</a>, <a href="http://man.he.net/man1/qemu-img">qemu-img(1)</a>.</p>

<h1 id="AUTHORS">AUTHORS</h1>

<p>Richard W.M. Jones</p>

<h1 id="COPYRIGHT">COPYRIGHT</h1>

<p>Copyright Red Hat</p>

<h1 id="LICENSE">LICENSE</h1>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>

<ul>

<li><p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p>

</li>
<li><p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p>

</li>
<li><p>Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</p>

</li>
</ul>

<p>THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS &#39;&#39;AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

</body>
</html>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   nbdkit_pause_filter_la-pause.lo: pause.c /usr/include/stdc-predef.h \
 ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/unistd.h \
 /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
 /usr/include/x86_64-linux-gnu/bits/environments.h \
 /usr/include/x86_64-linux-gnu/bits/confname.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
 /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
 /usr/include/linux/close_range.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 /usr/include/x86_64-linux-gnu/sys/un.h /usr/include/pthread.h \
 /usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 ../../include/nbdkit-version.h ../../common/include/ascii-ctype.h \
 ../../common/utils/cleanup.h /usr/include/assert.h \
 ../../common/include/unique-name.h ../../common/utils/utils.h \
 /usr/include/x86_64-linux-gnu/sys/stat.h \
 /usr/include/x86_64-linux-gnu/bits/stat.h \
 /usr/include/x86_64-linux-gnu/bits/struct_stat.h \
 /usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
 /usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
 /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
 /usr/include/x86_64-linux-gnu/bits/statx-generic.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \
 ../../common/include/unix-path-max.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
/usr/include/x86_64-linux-gnu/sys/un.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
../../include/nbdkit-version.h:
../../common/include/ascii-ctype.h:
../../common/utils/cleanup.h:
/usr/include/assert.h:
../../common/include/unique-name.h:
../../common/utils/utils.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
../../common/include/unix-path-max.h:
                                                                                                                                                                                                                                                                                                                    nbdkit_qcow2dec_filter_la-qcow2dec.lo: qcow2dec.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/inttypes.h /usr/include/string.h /usr/include/strings.h \
 /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/assert.h /usr/include/pthread.h /usr/include/sched.h \
 /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdatomic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/include/byte-swapping.h \
 /usr/include/byteswap.h ../../common/utils/cleanup.h \
 ../../common/include/unique-name.h ../../common/include/isaligned.h \
 ../../common/include/ispowerof2.h ../../common/include/minmax.h \
 ../../common/include/unique-name.h ../../common/include/rounding.h \
 qcow2.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/inttypes.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/assert.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdatomic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/include/byte-swapping.h:
/usr/include/byteswap.h:
../../common/utils/cleanup.h:
../../common/include/unique-name.h:
../../common/include/isaligned.h:
../../common/include/ispowerof2.h:
../../common/include/minmax.h:
../../common/include/unique-name.h:
../../common/include/rounding.h:
qcow2.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ntextualType(attribute.parent, contextFlags);
      if (!attributesType || isTypeAny(attributesType)) {
        return void 0;
      }
      return getTypeOfPropertyOfContextualType(attributesType, getEscapedTextOfJsxAttributeName(attribute.name));
    } else {
      return getContextualType2(attribute.parent, contextFlags);
    }
  }
  function isPossiblyDiscriminantValue(node) {
    switch (node.kind) {
      case 11 /* StringLiteral */:
      case 9 /* NumericLiteral */:
      case 10 /* BigIntLiteral */:
      case 15 /* NoSubstitutionTemplateLiteral */:
      case 228 /* TemplateExpression */:
      case 112 /* TrueKeyword */:
      case 97 /* FalseKeyword */:
      case 106 /* NullKeyword */:
      case 80 /* Identifier */:
      case 157 /* UndefinedKeyword */:
        return true;
      case 211 /* PropertyAccessExpression */:
      case 217 /* ParenthesizedExpression */:
        return isPossiblyDiscriminantValue(node.expression);
      case 294 /* JsxExpression */:
        return !node.expression || isPossiblyDiscriminantValue(node.expression);
    }
    return false;
  }
  function discriminateContextualTypeByObjectMembers(node, contextualType) {
    const key = `D${getNodeId(node)},${getTypeId(contextualType)}`;
    return getCachedType(key) ?? setCachedType(
      key,
      getMatchingUnionConstituentForObjectLiteral(contextualType, node) ?? discriminateTypeByDiscriminableItems(
        contextualType,
        concatenate(
          map(
            filter(node.properties, (p) => {
              if (!p.symbol) {
                return false;
              }
              if (p.kind === 303 /* PropertyAssignment */) {
                return isPossiblyDiscriminantValue(p.initializer) && isDiscriminantProperty(contextualType, p.symbol.escapedName);
              }
              if (p.kind === 304 /* ShorthandPropertyAssignment */) {
                return isDiscriminantProperty(contextualType, p.symbol.escapedName);
              }
              return false;
            }),
            (prop) => [() => getContextFreeTypeOfExpression(prop.kind === 303 /* PropertyAssignment */ ? prop.initializer : prop.name), prop.symbol.escapedName]
          ),
          map(
            filter(getPropertiesOfType(contextualType), (s) => {
              var _a;
              return !!(s.flags & 16777216 /* Optional */) && !!((_a = node == null ? void 0 : node.symbol) == null ? void 0 : _a.members) && !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName);
            }),
            (s) => [() => undefinedType, s.escapedName]
          )
        ),
        isTypeAssignableTo
      )
    );
  }
  function discriminateContextualTypeByJSXAttributes(node, contextualType) {
    const key = `D${getNodeId(node)},${getTypeId(contextualType)}`;
    const cached = getCachedType(key);
    if (cached) return cached;
    const jsxChildrenPropertyName = getJsxElementChildrenPropertyName(getJsxNamespaceAt(node));
    return setCachedType(
      key,
      discriminateTypeByDiscriminableItems(
        contextualType,
        concatenate(
          map(
            filter(node.properties, (p) => !!p.symbol && p.kind === 291 /* JsxAttribute */ && isDiscriminantProperty(contextualType, p.symbol.escapedName) && (!p.initializer || isPossiblyDiscriminantValue(p.initializer))),
            (prop) => [!prop.initializer ? () => trueType : () => getContextFreeTypeOfExpression(prop.initializer), prop.symbol.escapedName]
          ),
          map(
            filter(getPropertiesOfType(contextualType), (s) => {
              var _a;
              if (!(s.flags & 16777216 /* Optional */) || !((_a = node == null ? void 0 : node.symbol) == null ? void 0 : _a.members)) {
                return false;
              }
              const element = node.parent.parent;
              if (s.escapedName === jsxChildrenPropertyName && isJsxElement(element) && getSemanticJsxChildren(element.children).length) {
                return false;
              }
              return !node.symbol.members.has(s.escapedName) && isDiscriminantProperty(contextualType, s.escapedName);
            }),
            (s) => [() => undefinedType, s.escapedName]
          )
        ),
        isTypeAssignableTo
      )
    );
  }
  function getApparentTypeOfContextualType(node, contextFlags) {
    const contextualType = isObjectLiteralMethod(node) ? getContextualTypeForObjectLiteralMethod(node, contextFlags) : getContextualType2(node, contextFlags);
    const instantiatedType = instantiateContextualType(contextualType, node, contextFlags);
    if (instantiatedType && !(contextFlags && contextFlags & 2 /* NoConstraints */ && instantiatedType.flags & 8650752 /* TypeVariable */)) {
      const apparentType = mapType(
        instantiatedType,
        // When obtaining apparent type of *contextual* type we don't want to get apparent type of mapped types.
        // That would evaluate mapped types with array or tuple type constraints too eagerly
        // and thus it would prevent `getTypeOfPropertyOfContextualType` from obtaining per-position contextual type for elements of array literal expressions.
        // Apparent type of other mapped types is already the mapped type itself so we can just avoid calling `getApparentType` here for all mapped types.
        (t) => getObjectFlags(t) & 32 /* Mapped */ ? t : getApparentType(t),
        /*noReductions*/
        true
      );
      return apparentType.flags & 1048576 /* Union */ && isObjectLiteralExpression(node) ? discriminateContextualTypeByObjectMembers(node, apparentType) : apparentType.flags & 1048576 /* Union */ && isJsxAttributes(node) ? discriminateContextualTypeByJSXAttributes(node, apparentType) : apparentType;
    }
  }
  function instantiateContextualType(contextualType, node, contextFlags) {
    if (contextualType && maybeTypeOfKind(contextualType, 465829888 /* Instantiable */)) {
      const inferenceContext = getInferenceContext(node);
      if (inferenceContext && contextFlags & 1 /* Signature */ && some(inferenceContext.inferences, hasInferenceCandidatesOrDefault)) {
        return instantiateInstantiableTypes(contextualType, inferenceContext.nonFixingMapper);
      }
      if (inferenceContext == null ? void 0 : inferenceContext.returnMapper) {
        const type = instantiateInstantiableTypes(contextualType, inferenceContext.returnMapper);
        return type.flags & 1048576 /* Union */ && containsType(type.types, regularFalseType) && containsType(type.types, regularTrueType) ? filterType(type, (t) => t !== regularFalseType && t !== regularTrueType) : type;
      }
    }
    return contextualType;
  }
  function instantiateInstantiableTypes(type, mapper) {
    if (type.flags & 465829888 /* Instantiable */) {
      return instantiateType(type, mapper);
    }
    if (type.flags & 1048576 /* Union */) {
      return getUnionType(map(type.types, (t) => instantiateInstantiableTypes(t, mapper)), 0 /* None */);
    }
    if (type.flags & 2097152 /* Intersection */) {
      return getIntersectionType(map(type.types, (t) => instantiateInstantiableTypes(t, mapper)));
    }
    return type;
  }
  function getContextualType2(node, contextFlags) {
    var _a;
    if (node.flags & 67108864 /* InWithStatement */) {
      return void 0;
    }
    const index = findContextualNode(
      node,
      /*includeCaches*/
      !contextFlags
    );
    if (index >= 0) {
      return contextualTypes[index];
    }
    const { parent: parent2 } = node;
    switch (parent2.kind) {
      case 260 /* VariableDeclaration */:
      case 169 /* Parameter */:
      case 172 /* PropertyDeclaration */:
      case 171 /* PropertySignature */:
      case 208 /* BindingElement */:
        return getContextualTypeForInitializerExpression(node, contextFlags);
      case 219 /* ArrowFunction */:
      case 253 /* ReturnStatement */:
        return getContextualTypeForReturnExpression(node, contextFlags);
      case 229 /* YieldExpression */:
        return getContextualTypeForYieldOperand(parent2, contextFlags);
      case 223 /* AwaitExpression */:
        return getContextualTypeForAwaitOperand(parent2, contextFlags);
      case 213 /* CallExpression */:
      case 214 /* NewExpression */:
        return getContextualTypeForArgument(parent2, node);
      case 170 /* Decorator */:
        return getContextualTypeForDecorator(parent2);
      case 216 /* TypeAssertionExpression */:
      case 234 /* AsExpression */:
        return isConstTypeReference(parent2.type) ? getContextualType2(parent2, contextFlags) : getTypeFromTypeNode(parent2.type);
      case 226 /* BinaryExpression */:
        return getContextualTypeForBinaryOperand(node, contextFlags);
      case 303 /* PropertyAssignment */:
      case 304 /* ShorthandPropertyAssignment */:
        return getContextualTypeForObjectLiteralElement(parent2, contextFlags);
      case 305 /* SpreadAssignment */:
        return getContextualType2(parent2.parent, contextFlags);
      case 209 /* ArrayLiteralExpression */: {
        const arrayLiteral = parent2;
        const type = getApparentTypeOfContextualType(arrayLiteral, contextFlags);
        const elementIndex = indexOfNode(arrayLiteral.elements, node);
        const spreadIndices = (_a = getNodeLinks(arrayLiteral)).spreadIndices ?? (_a.spreadIndices = getSpreadIndices(arrayLiteral.elements));
        return getContextualTypeForElementExpression(type, elementIndex, arrayLiteral.elements.length, spreadIndices.first, spreadIndices.last);
      }
      case 227 /* ConditionalExpression */:
        return getContextualTypeForConditionalOperand(node, contextFlags);
      case 239 /* TemplateSpan */:
        Debug.assert(parent2.parent.kind === 228 /* TemplateExpression */);
        return getContextualTypeForSubstitutionExpression(parent2.parent, node);
      case 217 /* ParenthesizedExpression */: {
        if (isInJSFile(parent2)) {
          if (isJSDocSatisfiesExpression(parent2)) {
            return getTypeFromTypeNode(getJSDocSatisfiesExpressionType(parent2));
          }
          const typeTag = getJSDocTypeTag(parent2);
          if (typeTag && !isConstTypeReference(typeTag.typeExpression.type)) {
            return getTypeFromTypeNode(typeTag.typeExpression.type);
          }
        }
        return getContextualType2(parent2, contextFlags);
      }
      case 235 /* NonNullExpression */:
        return getContextualType2(parent2, contextFlags);
      case 238 /* SatisfiesExpression */:
        return getTypeFromTypeNode(parent2.type);
      case 277 /* ExportAssignment */:
        return tryGetTypeFromEffectiveTypeNode(parent2);
      case 294 /* JsxExpression */:
        return getContextualTypeForJsxExpression(parent2, contextFlags);
      case 291 /* JsxAttribute */:
      case 293 /* JsxSpreadAttribute */:
        return getContextualTypeForJsxAttribute(parent2, contextFlags);
      case 286 /* JsxOpeningElement */:
      case 285 /* JsxSelfClosingElement */:
        return getContextualJsxElementAttributesType(parent2, contextFlags);
      case 301 /* ImportAttribute */:
        return getContextualImportAttributeType(parent2);
    }
    return void 0;
  }
  function pushCachedContextualType(node) {
    pushContextualType(
      node,
      getContextualType2(
        node,
        /*contextFlags*/
        void 0
      ),
      /*isCache*/
      true
    );
  }
  function pushContextualType(node, type, isCache) {
    contextualTypeNodes[contextualTypeCount] = node;
    contextualTypes[contextualTypeCount] = type;
    contextualIsCache[contextualTypeCount] = isCache;
    contextualTypeCount++;
  }
  function popContextualType() {
    contextualTypeCount--;
  }
  function findContextualNode(node, includeCaches) {
    for (let i = contextualTypeCount - 1; i >= 0; i--) {
      if (node === contextualTypeNodes[i] && (includeCaches || !contextualIsCache[i])) {
        return i;
      }
    }
    return -1;
  }
  function pushInferenceContext(node, inferenceContext) {
    inferenceContextNodes[inferenceContextCount] = node;
    inferenceContexts[inferenceContextCount] = inferenceContext;
    inferenceContextCount++;
  }
  function popInferenceContext() {
    inferenceContextCount--;
  }
  function getInferenceContext(node) {
    for (let i = inferenceContextCount - 1; i >= 0; i--) {
      if (isNodeDescendantOf(node, inferenceContextNodes[i])) {
        return inferenceContexts[i];
      }
    }
  }
  function getContextualImportAttributeType(node) {
    return getTypeOfPropertyOfContextualType(getGlobalImportAttributesType(
      /*reportErrors*/
      false
    ), getNameFromImportAttribute(node));
  }
  function getContextualJsxElementAttributesType(node, contextFlags) {
    if (isJsxOpeningElement(node) && contextFlags !== 4 /* Completions */) {
      const index = findContextualNode(
        node.parent,
        /*includeCaches*/
        !contextFlags
      );
      if (index >= 0) {
        return contextualTypes[index];
      }
    }
    return getContextualTypeForArgumentAtIndex(node, 0);
  }
  function getEffectiveFirstArgumentForJsxSignature(signature, node) {
    return isJsxOpeningFragment(node) || getJsxReferenceKind(node) !== 0 /* Component */ ? getJsxPropsTypeFromCallSignature(signature, node) : getJsxPropsTypeFromClassType(signature, node);
  }
  function getJsxPropsTypeFromCallSignature(sig, context) {
    let propsType = getTypeOfFirstParameterOfSignatureWithFallback(sig, unknownType);
    propsType = getJsxManagedAttributesFromLocatedAttributes(context, getJsxNamespaceAt(context), propsType);
    const intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context);
    if (!isErrorType(intrinsicAttribs)) {
      propsType = intersectTypes(intrinsicAttribs, propsType);
    }
    return propsType;
  }
  function getJsxPropsTypeForSignatureFromMember(sig, forcedLookupLocation) {
    if (sig.compositeSignatures) {
      const results = [];
      for (const signature of sig.compositeSignatures) {
        const instance = getReturnTypeOfSignature(signature);
        if (isTypeAny(instance)) {
          return instance;
        }
        const propType = getTypeOfPropertyOfType(instance, forcedLookupLocation);
        if (!propType) {
          return;
        }
        results.push(propType);
      }
      return getIntersectionType(results);
    }
    const instanceType = getReturnTypeOfSignature(sig);
    return isTypeAny(instanceType) ? instanceType : getTypeOfPropertyOfType(instanceType, forcedLookupLocation);
  }
  function getStaticTypeOfReferencedJsxConstructor(context) {
    if (isJsxOpeningFragment(context)) return getJSXFragmentType(context);
    if (isJsxIntrinsicTagName(context.tagName)) {
      const result = getIntrinsicAttributesTypeFromJsxOpeningLikeElement(context);
      const fakeSignature = createSignatureForJSXIntrinsic(context, result);
      return getOrCreateTypeFromSignature(fakeSignature);
    }
    const tagType = checkExpressionCached(context.tagName);
    if (tagType.flags & 128 /* StringLiteral */) {
      const result = getIntrinsicAttributesTypeFromStringLiteralType(tagType, context);
      if (!result) {
        return errorType;
      }
      const fakeSignature = createSignatureForJSXIntrinsic(context, result);
      return getOrCreateTypeFromSignature(fakeSignature);
    }
    return tagType;
  }
  function getJsxManagedAttributesFromLocatedAttributes(context, ns, attributesType) {
    const managedSym = getJsxLibraryManagedAttributes(ns);
    if (managedSym) {
      const ctorType = getStaticTypeOfReferencedJsxConstructor(context);
      const result = instantiateAliasOrInterfaceWithDefaults(managedSym, isInJSFile(context), ctorType, attributesType);
      if (result) {
        return result;
      }
    }
    return attributesType;
  }
  function getJsxPropsTypeFromClassType(sig, context) {
    const ns = getJsxNamespaceAt(context);
    const forcedLookupLocation = getJsxElementPropertiesName(ns);
    let attributesType = forcedLookupLocation === void 0 ? getTypeOfFirstParameterOfSignatureWithFallback(sig, unknownType) : forcedLookupLocation === "" ? getReturnTypeOfSignature(sig) : getJsxPropsTypeForSignatureFromMember(sig, forcedLookupLocation);
    if (!attributesType) {
      if (!!forcedLookupLocation && !!length(context.attributes.properties)) {
        error2(context, Diagnostics.JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property, unescapeLeadingUnderscores(forcedLookupLocation));
      }
      return unknownType;
    }
    attributesType = getJsxManagedAttributesFromLocatedAttributes(context, ns, attributesType);
    if (isTypeAny(attributesType)) {
      return attributesType;
    } else {
      let apparentAttributesType = attributesType;
      const intrinsicClassAttribs = getJsxType(JsxNames.IntrinsicClassAttributes, context);
      if (!isErrorType(intrinsicClassAttribs)) {
        const typeParams = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(intrinsicClassAttribs.symbol);
        const hostClassType = getReturnTypeOfSignature(sig);
        let libraryManagedAttributeType;
        if (typeParams) {
          const inferredArgs = fillMissingTypeArguments([hostClassType], typeParams, getMinTypeArgumentCount(typeParams), isInJSFile(context));
          libraryManagedAttributeType = instantiateType(intrinsicClassAttribs, createTypeMapper(typeParams, inferredArgs));
        } else libraryManagedAttributeType = intrinsicClassAttribs;
        apparentAttributesType = intersectTypes(libraryManagedAttributeType, apparentAttributesType);
      }
      const intrinsicAttribs = getJsxType(JsxNames.IntrinsicAttributes, context);
      if (!isErrorType(intrinsicAttribs)) {
        apparentAttributesType = intersectTypes(intrinsicAttribs, apparentAttributesType);
      }
      return apparentAttributesType;
    }
  }
  function getIntersectedSignatures(signatures) {
    return getStrictOptionValue(compilerOptions, "noImplicitAny") ? reduceLeft(
      signatures,
      (left, right) => left === right || !left ? left : compareTypeParametersIdentical(left.typeParameters, right.typeParameters) ? combineSignaturesOfIntersectionMembers(left, right) : void 0
    ) : void 0;
  }
  function combineIntersectionThisParam(left, right, mapper) {
    if (!left || !right) {
      return left || right;
    }
    const thisType = getUnionType([getTypeOfSymbol(left), instantiateType(getTypeOfSymbol(right), mapper)]);
    return createSymbolWithType(left, thisType);
  }
  function combineIntersectionParameters(left, right, mapper) {
    const leftCount = getParameterCount(left);
    const rightCount = getParameterCount(right);
    const longest = leftCount >= rightCount ? left : right;
    const shorter = longest === left ? right : left;
    const longestCount = longest === left ? leftCount : rightCount;
    const eitherHasEffectiveRest = hasEffectiveRestParameter(left) || hasEffectiveRestParameter(right);
    const needsExtraRestElement = eitherHasEffectiveRest && !hasEffectiveRestParameter(longest);
    const params = new Array(longestCount + (needsExtraRestElement ? 1 : 0));
    for (let i = 0; i < longestCount; i++) {
      let longestParamType = tryGetTypeAtPosition(longest, i);
      if (longest === right) {
        longestParamType = instantiateType(longestParamType, mapper);
      }
      let shorterParamType = tryGetTypeAtPosition(shorter, i) || unknownType;
      if (shorter === right) {
        shorterParamType = instantiateType(shorterParamType, mapper);
      }
      const unionParamType = getUnionType([longestParamType, shorterParamType]);
      const isRestParam = eitherHasEffectiveRest && !needsExtraRestElement && i === longestCount - 1;
      const isOptional = i >= getMinArgumentCount(longest) && i >= getMinArgumentCount(shorter);
      const leftName = i >= leftCount ? void 0 : getParameterNameAtPosition(left, i);
      const rightName = i >= rightCount ? void 0 : getParameterNameAtPosition(right, i);
      const paramName = leftName === rightName ? leftName : !leftName ? rightName : !rightName ? leftName : void 0;
      const paramSymbol = createSymbol(
        1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0),
        paramName || `arg${i}`,
        isRestParam ? 32768 /* RestParameter */ : isOptional ? 16384 /* OptionalParameter */ : 0
      );
      paramSymbol.links.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
      params[i] = paramSymbol;
    }
    if (needsExtraRestElement) {
      const restParamSymbol = createSymbol(1 /* FunctionScopedVariable */, "args", 32768 /* RestParameter */);
      restParamSymbol.links.type = createArrayType(getTypeAtPosition(shorter, longestCount));
      if (shorter === right) {
        restParamSymbol.links.type = instantiateType(restParamSymbol.links.type, mapper);
      }
      params[longestCount] = restParamSymbol;
    }
    return params;
  }
  function combineSignaturesOfIntersectionMembers(left, right) {
    const typeParams = left.typeParameters || right.typeParameters;
    let paramMapper;
    if (left.typeParameters && right.typeParameters) {
      paramMapper = createTypeMapper(right.typeParameters, left.typeParameters);
    }
    let flags = (left.flags | right.flags) & (167 /* PropagatingFlags */ & ~1 /* HasRestParameter */);
    const declaration = left.declaration;
    const params = combineIntersectionParameters(left, right, paramMapper);
    const lastParam = lastOrUndefined(params);
    if (lastParam && getCheckFlags(lastParam) & 32768 /* RestParameter */) {
      flags |= 1 /* HasRestParameter */;
    }
    const thisParam = combineIntersectionThisParam(left.thisParameter, right.thisParameter, paramMapper);
    const minArgCount = Math.max(left.minArgumentCount, right.minArgumentCount);
    const result = createSignature(
      declaration,
      typeParams,
      thisParam,
      params,
      /*resolvedReturnType*/
      void 0,
      /*resolvedTypePredicate*/
      void 0,
      minArgCount,
      flags
    );
    result.compositeKind = 2097152 /* Intersection */;
    result.compositeSignatures = concatenate(left.compositeKind === 2097152 /* Intersection */ && left.compositeSignatures || [left], [right]);
    if (paramMapper) {
      result.mapper = left.compositeKind === 2097152 /* Intersection */ && left.mapper && left.compositeSignatures ? combineTypeMappers(left.mapper, paramMapper) : paramMapper;
    }
    return result;
  }
  function getContextualCallSignature(type, node) {
    const signatures = getSignaturesOfType(type, 0 /* Call */);
    const applicableByArity = filter(signatures, (s) => !isAritySmaller(s, node));
    return applicableByArity.length === 1 ? applicableByArity[0] : getIntersectedSignatures(applicableByArity);
  }
  function isAritySmaller(signature, target) {
    let targetParameterCount = 0;
    for (; targetParameterCount < target.parameters.length; targetParameterCount++) {
      const param = target.parameters[targetParameterCount];
      if (param.initializer || param.questionToken || param.dotDotDotToken || isJSDocOptionalParameter(param)) {
        break;
      }
    }
    if (target.parameters.length && parameterIsThisKeyword(target.parameters[0])) {
      targetParameterCount--;
    }
    return !hasEffectiveRestParameter(signature) && getParameterCount(signature) < targetParameterCount;
  }
  function getContextualSignatureForFunctionLikeDeclaration(node) {
    return isFunctionExpressionOrArrowFunction(node) || isObjectLiteralMethod(node) ? getContextualSignature(node) : void 0;
  }
  function getContextualSignature(node) {
    Debug.assert(node.kind !== 174 /* MethodDeclaration */ || isObjectLiteralMethod(node));
    const typeTagSignature = getSignatureOfTypeTag(node);
    if (typeTagSignature) {
      return typeTagSignature;
    }
    const type = getApparentTypeOfContextualType(node, 1 /* Signature */);
    if (!type) {
      return void 0;
    }
    if (!(type.flags & 1048576 /* Union */)) {
      return getContextualCallSignature(type, node);
    }
    let signatureList;
    const types = type.types;
    for (const current of types) {
      const signature = getContextualCallSignature(current, node);
      if (signature) {
        if (!signatureList) {
          signatureList = [signature];
        } else if (!compareSignaturesIdentical(
          signatureList[0],
          signature,
          /*partialMatch*/
          false,
          /*ignoreThisTypes*/
          true,
          /*ignoreReturnTypes*/
          true,
          compareTypesIdentical
        )) {
          return void 0;
        } else {
          signatureList.push(signature);
        }
      }
    }
    if (signatureList) {
      return signatureList.length === 1 ? signatureList[0] : createUnionSignature(signatureList[0], signatureList);
    }
  }
  function checkGrammarRegularExpressionLiteral(node) {
    const sourceFile = getSourceFileOfNode(node);
    if (!hasParseDiagnostics(sourceFile) && !node.isUnterminated) {
      let lastError;
      scanner2 ?? (scanner2 = createScanner(
        99 /* ESNext */,
        /*skipTrivia*/
        true
      ));
      scanner2.setScriptTarget(sourceFile.languageVersion);
      scanner2.setLanguageVariant(sourceFile.languageVariant);
      scanner2.setOnError((message, length2, arg0) => {
        const start = scanner2.getTokenEnd();
        if (message.category === 3 /* Message */ && lastError && start === lastError.start && length2 === lastError.length) {
          const error3 = createDetachedDiagnostic(sourceFile.fileName, sourceFile.text, start, length2, message, arg0);
          addRelatedInfo(lastError, error3);
        } else if (!lastError || start !== lastError.start) {
          lastError = createFileDiagnostic(sourceFile, start, length2, message, arg0);
          diagnostics.add(lastError);
        }
      });
      scanner2.setText(sourceFile.text, node.pos, node.end - node.pos);
      try {
        scanner2.scan();
        Debug.assert(scanner2.reScanSlashToken(
          /*reportErrors*/
          true
        ) === 14 /* RegularExpressionLiteral */, "Expected scanner to rescan RegularExpressionLiteral");
        return !!lastError;
      } finally {
        scanner2.setText("");
        scanner2.setOnError(
          /*onError*/
          void 0
        );
      }
    }
    return false;
  }
  function checkRegularExpressionLiteral(node) {
    const nodeLinks2 = getNodeLinks(node);
    if (!(nodeLinks2.flags & 1 /* TypeChecked */)) {
      nodeLinks2.flags |= 1 /* TypeChecked */;
      addLazyDiagnostic(() => checkGrammarRegularExpressionLiteral(node));
    }
    return globalRegExpType;
  }
  function checkSpreadExpression(node, checkMode) {
    if (languageVersion < LanguageFeatureMinimumTarget.SpreadElements) {
      checkExternalEmitHelpers(node, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */);
    }
    const arrayOrIterableType = checkExpression(node.expression, checkMode);
    return checkIteratedTypeOrElementType(33 /* Spread */, arrayOrIterableType, undefinedType, node.expression);
  }
  function checkSyntheticExpression(node) {
    return node.isSpread ? getIndexedAccessType(node.type, numberType) : node.type;
  }
  function hasDefaultValue(node) {
    return node.kind === 208 /* BindingElement */ && !!node.initializer || node.kind === 303 /* PropertyAssignment */ && hasDefaultValue(node.initializer) || node.kind === 304 /* ShorthandPropertyAssignment */ && !!node.objectAssignmentInitializer || node.kind === 226 /* BinaryExpression */ && node.operatorToken.kind === 64 /* EqualsToken */;
  }
  function isSpreadIntoCallOrNew(node) {
    const parent2 = walkUpParenthesizedExpressions(node.parent);
    return isSpreadElement(parent2) && isCallOrNewExpression(parent2.parent);
  }
  function checkArrayLiteral(node, checkMode, forceTuple) {
    const elements = node.elements;
    const elementCount = elements.length;
    const elementTypes = [];
    const elementFlags = [];
    pushCachedContextualType(node);
    const inDestructuringPattern = isAssignmentTarget(node);
    const inConstContext = isConstContext(node);
    const contextualType = getApparentTypeOfContextualType(
      node,
      /*contextFlags*/
      void 0
    );
    const inTupleContext = isSpreadIntoCallOrNew(node) || !!contextualType && someType(contextualType, (t) => isTupleLikeType(t) || isGenericMappedType(t) && !t.nameType && !!getHomomorphicTypeVariable(t.target || t));
    let hasOmittedExpression = false;
    for (let i = 0; i < elementCount; i++) {
      const e = elements[i];
      if (e.kind === 230 /* SpreadElement */) {
        if (languageVersion < LanguageFeatureMinimumTarget.SpreadElements) {
          checkExternalEmitHelpers(e, compilerOptions.downlevelIteration ? 1536 /* SpreadIncludes */ : 1024 /* SpreadArray */);
        }
        const spreadType = checkExpression(e.expression, checkMode, forceTuple);
        if (isArrayLikeType(spreadType)) {
          elementTypes.push(spreadType);
          elementFlags.push(8 /* Variadic */);
        } else if (inDestructuringPattern) {
          const restElementType = getIndexTypeOfType(spreadType, numberType) || getIteratedTypeOrElementType(
            65 /* Destructuring */,
            spreadType,
            undefinedType,
            /*errorNode*/
            void 0,
            /*checkAssignability*/
            false
          ) || unknownType;
          elementTypes.push(restElementType);
          elementFlags.push(4 /* Rest */);
        } else {
          elementTypes.push(checkIteratedTypeOrElementType(33 /* Spread */, spreadType, undefinedType, e.expression));
          elementFlags.push(4 /* Rest */);
        }
      } else if (exactOptionalPropertyTypes && e.kind === 232 /* OmittedExpression */) {
        hasOmittedExpression = true;
        elementTypes.push(undefinedOrMissingType);
        elementFlags.push(2 /* Optional */);
      } else {
        const type = checkExpressionForMutableLocation(e, checkMode, forceTuple);
        elementTypes.push(addOptionality(
          type,
          /*isProperty*/
          true,
          hasOmittedExpression
        ));
        elementFlags.push(hasOmittedExpression ? 2 /* Optional */ : 1 /* Required */);
        if (inTupleContext && checkMode && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && isContextSensitive(e)) {
          const inferenceContext = getInferenceContext(node);
          Debug.assert(inferenceContext);
          addIntraExpressionInferenceSite(inferenceContext, e, type);
        }
      }
    }
    popContextualType();
    if (inDestructuringPattern) {
      return createTupleType(elementTypes, elementFlags);
    }
    if (forceTuple || inConstContext || inTupleContext) {
      return createArrayLiteralType(createTupleType(
        elementTypes,
        elementFlags,
        /*readonly*/
        inConstContext && !(contextualType && someType(contextualType, isMutableArrayLikeType))
      ));
    }
    return createArrayLiteralType(createArrayType(
      elementTypes.length ? getUnionType(sameMap(elementTypes, (t, i) => elementFlags[i] & 8 /* Variadic */ ? getIndexedAccessTypeOrUndefined(t, numberType) || anyType : t), 2 /* Subtype */) : strictNullChecks ? implicitNeverType : undefinedWideningType,
      inConstContext
    ));
  }
  function createArrayLiteralType(type) {
    if (!(getObjectFlags(type) & 4 /* Reference */)) {
      return type;
    }
    let literalType = type.literalType;
    if (!literalType) {
      literalType = type.literalType = cloneTypeReference(type);
      literalType.objectFlags |= 16384 /* ArrayLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */;
    }
    return literalType;
  }
  function isNumericName(name) {
    switch (name.kind) {
      case 167 /* ComputedPropertyName */:
        return isNumericComputedName(name);
      case 80 /* Identifier */:
        return isNumericLiteralName(name.escapedText);
      case 9 /* NumericLiteral */:
      case 11 /* StringLiteral */:
        return isNumericLiteralName(name.text);
      default:
        return false;
    }
  }
  function isNumericComputedName(name) {
    return isTypeAssignableToKind(checkComputedPropertyName(name), 296 /* NumberLike */);
  }
  function checkComputedPropertyName(node) {
    const links = getNodeLinks(node.expression);
    if (!links.resolvedType) {
      if ((isTypeLiteralNode(node.parent.parent) || isClassLike(node.parent.parent) || isInterfaceDeclaration(node.parent.parent)) && isBinaryExpression(node.expression) && node.expression.operatorToken.kind === 103 /* InKeyword */ && node.parent.kind !== 177 /* GetAccessor */ && node.parent.kind !== 178 /* SetAccessor */) {
        return links.resolvedType = errorType;
      }
      links.resolvedType = checkExpression(node.expression);
      if (isPropertyDeclaration(node.parent) && !hasStaticModifier(node.parent) && isClassExpression(node.parent.parent)) {
        const container = getEnclosingBlockScopeContainer(node.parent.parent);
        const enclosingIterationStatement = getEnclosingIterationStatement(container);
        if (enclosingIterationStatement) {
          getNodeLinks(enclosingIterationStatement).flags |= 4096 /* LoopWithCapturedBlockScopedBinding */;
          getNodeLinks(node).flags |= 32768 /* BlockScopedBindingInLoop */;
          getNodeLinks(node.parent.parent).flags |= 32768 /* BlockScopedBindingInLoop */;
        }
      }
      if (links.resolvedType.flags & 98304 /* Nullable */ || !isTypeAssignableToKind(links.resolvedType, 402653316 /* StringLike */ | 296 /* NumberLike */ | 12288 /* ESSymbolLike */) && !isTypeAssignableTo(links.resolvedType, stringNumberSymbolType)) {
        error2(node, Diagnostics.A_computed_property_name_must_be_of_type_string_number_symbol_or_any);
      }
    }
    return links.resolvedType;
  }
  function isSymbolWithNumericName(symbol) {
    var _a;
    const firstDecl = (_a = symbol.declarations) == null ? void 0 : _a[0];
    return isNumericLiteralName(symbol.escapedName) || firstDecl && isNamedDeclaration(firstDecl) && isNumericName(firstDecl.name);
  }
  function isSymbolWithSymbolName(symbol) {
    var _a;
    const firstDecl = (_a = symbol.declarations) == null ? void 0 : _a[0];
    return isKnownSymbol(symbol) || firstDecl && isNamedDeclaration(firstDecl) && isComputedPropertyName(firstDecl.name) && isTypeAssignableToKind(checkComputedPropertyName(firstDecl.name), 4096 /* ESSymbol */);
  }
  function getObjectLiteralIndexInfo(isReadonly, offset, properties, keyType) {
    const propTypes = [];
    for (let i = offset; i < properties.length; i++) {
      const prop = properties[i];
      if (keyType === stringType && !isSymbolWithSymbolName(prop) || keyType === numberType && isSymbolWithNumericName(prop) || keyType === esSymbolType && isSymbolWithSymbolName(prop)) {
        propTypes.push(getTypeOfSymbol(properties[i]));
      }
    }
    const unionType = propTypes.length ? getUnionType(propTypes, 2 /* Subtype */) : undefinedType;
    return createIndexInfo(keyType, unionType, isReadonly);
  }
  function getImmediateAliasedSymbol(symbol) {
    Debug.assert((symbol.flags & 2097152 /* Alias */) !== 0, "Should only get Alias here.");
    const links = getSymbolLinks(symbol);
    if (!links.immediateTarget) {
      const node = getDeclarationOfAliasSymbol(symbol);
      if (!node) return Debug.fail();
      links.immediateTarget = getTargetOfAliasDeclaration(
        node,
        /*dontRecursivelyResolve*/
        true
      );
    }
    return links.immediateTarget;
  }
  function checkObjectLiteral(node, checkMode = 0 /* Normal */) {
    const inDestructuringPattern = isAssignmentTarget(node);
    checkGrammarObjectLiteralExpression(node, inDestructuringPattern);
    const allPropertiesTable = strictNullChecks ? createSymbolTable() : void 0;
    let propertiesTable = createSymbolTable();
    let propertiesArray = [];
    let spread = emptyObjectType;
    pushCachedContextualType(node);
    const contextualType = getApparentTypeOfContextualType(
      node,
      /*contextFlags*/
      void 0
    );
    const contextualTypeHasPattern = contextualType && contextualType.pattern && (contextualType.pattern.kind === 206 /* ObjectBindingPattern */ || contextualType.pattern.kind === 210 /* ObjectLiteralExpression */);
    const inConstContext = isConstContext(node);
    const checkFlags = inConstContext ? 8 /* Readonly */ : 0;
    const isInJavascript = isInJSFile(node) && !isInJsonFile(node);
    const enumTag = isInJavascript ? getJSDocEnumTag(node) : void 0;
    const isJSObjectLiteral = !contextualType && isInJavascript && !enumTag;
    let objectFlags = 8192 /* FreshLiteral */;
    let patternWithComputedProperties = false;
    let hasComputedStringProperty = false;
    let hasComputedNumberProperty = false;
    let hasComputedSymbolProperty = false;
    for (const elem of node.properties) {
      if (elem.name && isComputedPropertyName(elem.name)) {
        checkComputedPropertyName(elem.name);
      }
    }
    let offset = 0;
    for (const memberDecl of node.properties) {
      let member = getSymbolOfDeclaration(memberDecl);
      const computedNameType = memberDecl.name && memberDecl.name.kind === 167 /* ComputedPropertyName */ ? checkComputedPropertyName(memberDecl.name) : void 0;
      if (memberDecl.kind === 303 /* PropertyAssignment */ || memberDecl.kind === 304 /* ShorthandPropertyAssignment */ || isObjectLiteralMethod(memberDecl)) {
        let type = memberDecl.kind === 303 /* PropertyAssignment */ ? checkPropertyAssignment(memberDecl, checkMode) : (
          // avoid resolving the left side of the ShorthandPropertyAssignment outside of the destructuring
          // for error recovery purposes. For example, if a user wrote `{ a = 100 }` instead of `{ a: 100 }`.
          // we don't want to say "could not find 'a'".
          memberDecl.kind === 304 /* ShorthandPropertyAssignment */ ? checkExpressionForMutableLocation(!inDestructuringPattern && memberDecl.objectAssignmentInitializer ? memberDecl.objectAssignmentInitializer : memberDecl.name, checkMode) : checkObjectLiteralMethod(memberDecl, checkMode)
        );
        if (isInJavascript) {
          const jsDocType = getTypeForDeclarationFromJSDocComment(memberDecl);
          if (jsDocType) {
            checkTypeAssignableTo(type, jsDocType, memberDecl);
            type = jsDocType;
          } else if (enumTag && enumTag.typeExpression) {
            checkTypeAssignableTo(type, getTypeFromTypeNode(enumTag.typeExpression), memberDecl);
          }
        }
        objectFlags |= getObjectFlags(type) & 458752 /* PropagatingFlags */;
        const nameType = computedNameType && isTypeUsableAsPropertyName(computedNameType) ? computedNameType : void 0;
        const prop = nameType ? createSymbol(4 /* Property */ | member.flags, getPropertyNameFromType(nameType), checkFlags | 4096 /* Late */) : createSymbol(4 /* Property */ | member.flags, member.escapedName, checkFlags);
        if (nameType) {
          prop.links.nameType = nameType;
        }
        if (inDestructuringPattern && hasDefaultValue(memberDecl)) {
          prop.flags |= 16777216 /* Optional */;
        } else if (contextualTypeHasPattern && !(getObjectFlags(contextualType) & 512 /* ObjectLiteralPatternWithComputedProperties */)) {
          const impliedProp = getPropertyOfType(contextualType, member.escapedName);
          if (impliedProp) {
            prop.flags |= impliedProp.flags & 16777216 /* Optional */;
          } else if (!getIndexInfoOfType(contextualType, stringType)) {
            error2(memberDecl.name, Diagnostics.Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1, symbolToString(member), typeToString(contextualType));
          }
        }
        prop.declarations = member.declarations;
        prop.parent = member.parent;
        if (member.valueDeclaration) {
          prop.valueDeclaration = member.valueDeclaration;
        }
        prop.links.type = type;
        prop.links.target = member;
        member = prop;
        allPropertiesTable == null ? void 0 : allPropertiesTable.set(prop.escapedName, prop);
        if (contextualType && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && (memberDecl.kind === 303 /* PropertyAssignment */ || memberDecl.kind === 174 /* MethodDeclaration */) && isContextSensitive(memberDecl)) {
          const inferenceContext = getInferenceContext(node);
          Debug.assert(inferenceContext);
          const inferenceNode = memberDecl.kind === 303 /* PropertyAssignment */ ? memberDecl.initializer : memberDecl;
          addIntraExpressionInferenceSite(inferenceContext, inferenceNode, type);
        }
      } else if (memberDecl.kind === 305 /* SpreadAssignment */) {
        if (languageVersion < LanguageFeatureMinimumTarget.ObjectAssign) {
          checkExternalEmitHelpers(memberDecl, 2 /* Assign */);
        }
        if (propertiesArray.length > 0) {
          spread = getSpreadType(spread, createObjectLiteralType(), node.symbol, objectFlags, inConstContext);
          propertiesArray = [];
          propertiesTable = createSymbolTable();
          hasComputedStringProperty = false;
          hasComputedNumberProperty = false;
          hasComputedSymbolProperty = false;
        }
        const type = getReducedType(checkExpression(memberDecl.expression, checkMode & 2 /* Inferential */));
        if (isValidSpreadType(type)) {
          const mergedType = tryMergeUnionOfObjectTypeAndEmptyObject(type, inConstContext);
          if (allPropertiesTable) {
            checkSpreadPropOverrides(mergedType, allPropertiesTable, memberDecl);
          }
          offset = propertiesArray.length;
          if (isErrorType(spread)) {
            continue;
          }
          spread = getSpreadType(spread, mergedType, node.symbol, objectFlags, inConstContext);
        } else {
          error2(memberDecl, Diagnostics.Spread_types_may_only_be_created_from_object_types);
          spread = errorType;
        }
        continue;
      } else {
        Debug.assert(memberDecl.kind === 177 /* GetAccessor */ || memberDecl.kind === 178 /* SetAccessor */);
        checkNodeDeferred(memberDecl);
      }
      if (computedNameType && !(computedNameType.flags & 8576 /* StringOrNumberLiteralOrUnique */)) {
        if (isTypeAssignableTo(computedNameType, stringNumberSymbolType)) {
          if (isTypeAssignableTo(computedNameType, numberType)) {
            hasComputedNumberProperty = true;
          } else if (isTypeAssignableTo(computedNameType, esSymbolType)) {
            hasComputedSymbolProperty = true;
          } else {
            hasComputedStringProperty = true;
          }
          if (inDestructuringPattern) {
            patternWithComputedProperties = true;
          }
        }
      } else {
        propertiesTable.set(member.escapedName, member);
      }
      propertiesArray.push(member);
    }
    popContextualType();
    if (isErrorType(spread)) {
      return errorType;
    }
    if (spread !== emptyObjectType) {
      if (propertiesArray.length > 0) {
        spread = getSpreadType(spread, createObjectLiteralType(), node.symbol, objectFlags, inConstContext);
        propertiesArray = [];
        propertiesTable = createSymbolTable();
        hasComputedStringProperty = false;
        hasComputedNumberProperty = false;
      }
      return mapType(spread, (t) => t === emptyObjectType ? createObjectLiteralType() : t);
    }
    return createObjectLiteralType();
    function createObjectLiteralType() {
      const indexInfos = [];
      const isReadonly = isConstContext(node);
      if (hasComputedStringProperty) indexInfos.push(getObjectLiteralIndexInfo(isReadonly, offset, propertiesArray, stringType));
      if (hasComputedNumberProperty) indexInfos.push(getObjectLiteralIndexInfo(isReadonly, offset, propertiesArray, numberType));
      if (hasComputedSymbolProperty) indexInfos.push(getObjectLiteralIndexInfo(isReadonly, offset, propertiesArray, esSymbolType));
      const result = createAnonymousType(node.symbol, propertiesTable, emptyArray, emptyArray, indexInfos);
      result.objectFlags |= objectFlags | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */;
      if (isJSObjectLiteral) {
        result.objectFlags |= 4096 /* JSLiteral */;
      }
      if (patternWithComputedProperties) {
        result.objectFlags |= 512 /* ObjectLiteralPatternWithComputedProperties */;
      }
      if (inDestructuringPattern) {
        result.pattern = node;
      }
      return result;
    }
  }
  function isValidSpreadType(type) {
    const t = removeDefinitelyFalsyTypes(mapType(type, getBaseConstraintOrType));
    return !!(t.flags & (1 /* Any */ | 67108864 /* NonPrimitive */ | 524288 /* Object */ | 58982400 /* InstantiableNonPrimitive */) || t.flags & 3145728 /* UnionOrIntersection */ && every(t.types, isValidSpreadType));
  }
  function checkJsxSelfClosingElementDeferred(node) {
    checkJsxOpeningLikeElementOrOpeningFragment(node);
  }
  function checkJsxSelfClosingElement(node, _checkMode) {
    checkNodeDeferred(node);
    return getJsxElementTypeAt(node) || anyType;
  }
  function checkJsxElementDeferred(node) {
    checkJsxOpeningLikeElementOrOpeningFragment(node.openingElement);
    if (isJsxIntrinsicTagName(node.closingElement.tagName)) {
      getIntrinsicTagSymbol(node.closingElement);
    } else {
      checkExpression(node.closingElement.tagName);
    }
    checkJsxChildren(node);
  }
  function checkJsxElement(node, _checkMode) {
    checkNodeDeferred(node);
    return getJsxElementTypeAt(node) || anyType;
  }
  function checkJsxFragment(node) {
    checkJsxOpeningLikeElementOrOpeningFragment(node.openingFragment);
    const nodeSourceFile = getSourceFileOfNode(node);
    if (getJSXTransformEnabled(compilerOptions) && (compilerOptions.jsxFactory || nodeSourceFile.pragmas.has("jsx")) && !compilerOptions.jsxFragmentFactory && !nodeSourceFile.pragmas.has("jsxfrag")) {
      error2(
        node,
        compilerOptions.jsxFactory ? Diagnostics.The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option : Diagnostics.An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments
      );
    }
    checkJsxChildren(node);
    const jsxElementType = getJsxElementTypeAt(node);
    return isErrorType(jsxElementType) ? anyType : jsxElementType;
  }
  function isHyphenatedJsxName(name) {
    return name.includes("-");
  }
  function isJsxIntrinsicTagName(tagName) {
    return isIdentifier(tagName) && isIntrinsicJsxName(tagName.escapedText) || isJsxNamespacedName(tagName);
  }
  function checkJsxAttribute(node, checkMode) {
    return node.initializer ? checkExpressionForMutableLocation(node.initializer, checkMode) : trueType;
  }
  function createJsxAttributesTypeFromAttributesProperty(openingLikeElement, checkMode = 0 /* Normal */) {
    const allAttributesTable = strictNullChecks ? createSymbolTable() : void 0;
    let attributesTable = createSymbolTable();
    let spread = emptyJsxObjectType;
    let hasSpreadAnyType = false;
    let typeToIntersect;
    let explicitlySpecifyChildrenAttribute = false;
    let objectFlags = 2048 /* JsxAttributes */;
    const jsxChildrenPropertyName = getJsxElementChildrenPropertyName(getJsxNamespaceAt(openingLikeElement));
    const isJsxOpenFragment = isJsxOpeningFragment(openingLikeElement);
    let attributesSymbol;
    let attributeParent = openingLikeElement;
    if (!isJsxOpenFragment) {
      const attributes = openingLikeElement.attributes;
      attributesSymbol = attributes.symbol;
      attributeParent = attributes;
      const contextualType = getContextualType2(attributes, 0 /* None */);
      for (const attributeDecl of attributes.properties) {
        const member = attributeDecl.symbol;
        if (isJsxAttribute(attributeDecl)) {
          const exprType = checkJsxAttribute(attributeDecl, checkMode);
          objectFlags |= getObjectFlags(exprType) & 458752 /* PropagatingFlags */;
          const attributeSymbol = createSymbol(4 /* Property */ | member.flags, member.escapedName);
          attributeSymbol.declarations = member.declarations;
          attributeSymbol.parent = member.parent;
          if (member.valueDeclaration) {
            attributeSymbol.valueDeclaration = member.valueDeclaration;
          }
          attributeSymbol.links.type = exprType;
          attributeSymbol.links.target = member;
          attributesTable.set(attributeSymbol.escapedName, attributeSymbol);
          allAttributesTable == null ? void 0 : allAttributesTable.set(attributeSymbol.escapedName, attributeSymbol);
          if (getEscapedTextOfJsxAttributeName(attributeDecl.name) === jsxChildrenPropertyName) {
            explicitlySpecifyChildrenAttribute = true;
          }
          if (contextualType) {
            const prop = getPropertyOfType(contextualType, member.escapedName);
            if (prop && prop.declarations && isDeprecatedSymbol(prop) && isIdentifier(attributeDecl.name)) {
              addDeprecatedSuggestion(attributeDecl.name, prop.declarations, attributeDecl.name.escapedText);
            }
          }
          if (contextualType && checkMode & 2 /* Inferential */ && !(checkMode & 4 /* SkipContextSensitive */) && isContextSensitive(attributeDecl)) {
            const inferenceContext = getInferenceContext(attributes);
            Debug.assert(inferenceContext);
            const inferenceNode = attributeDecl.initializer.expression;
            addIntraExpressionInferenceSite(inferenceContext, inferenceNode, exprType);
          }
        } else {
          Debug.assert(attributeDecl.kind === 293 /* JsxSpreadAttribute */);
          if (attributesTable.size > 0) {
            spread = getSpreadType(
              spread,
              createJsxAttributesTypeHelper(),
              attributes.symbol,
              objectFlags,
              /*readonly*/
              false
            );
            attributesTable = createSymbolTable();
          }
          const exprType = getReducedType(checkExpression(attributeDecl.expression, checkMode & 2 /* Inferential */));
          if (isTypeAny(exprType)) {
            hasSpreadAnyType = true;
          }
          if (isValidSpreadType(exprType)) {
            spread = getSpreadType(
              spread,
              exprType,
              attributes.symbol,
              objectFlags,
              /*readonly*/
              false
            );
            if (allAttributesTable) {
              checkSpreadPropOverrides(exprType, allAttributesTable, attributeDecl);
            }
          } else {
            error2(attributeDecl.expression, Diagnostics.Spread_types_may_only_be_created_from_object_types);
            typeToIntersect = typeToIntersect ? getIntersectionType([typeToIntersect, exprType]) : exprType;
          }
        }
      }
      if (!hasSpreadAnyType) {
        if (attributesTable.size > 0) {
          spread = getSpreadType(
            spread,
            createJsxAttributesTypeHelper(),
            attributes.symbol,
            objectFlags,
            /*readonly*/
            false
          );
        }
      }
    }
    const parent2 = openingLikeElement.parent;
    if ((isJsxElement(parent2) && parent2.openingElement === openingLikeElement || isJsxFragment(parent2) && parent2.openingFragment === openingLikeElement) && getSemanticJsxChildren(parent2.children).length > 0) {
      const childrenTypes = checkJsxChildren(parent2, checkMode);
      if (!hasSpreadAnyType && jsxChildrenPropertyName && jsxChildrenPropertyName !== "") {
        if (explicitlySpecifyChildrenAttribute) {
          error2(attributeParent, Diagnostics._0_are_specified_twice_The_attribute_named_0_will_be_overwritten, unescapeLeadingUnderscores(jsxChildrenPropertyName));
        }
        const contextualType = isJsxOpeningElement(openingLikeElement) ? getApparentTypeOfContextualType(
          openingLikeElement.attributes,
          /*contextFlags*/
          void 0
        ) : void 0;
        const childrenContextualType = contextualType && getTypeOfPropertyOfContextualType(contextualType, jsxChildrenPropertyName);
        const childrenPropSymbol = createSymbol(4 /* Property */, jsxChildrenPropertyName);
        childrenPropSymbol.links.type = childrenTypes.length === 1 ? childrenTypes[0] : childrenContextualType && someType(childrenContextualType, isTupleLikeType) ? createTupleType(childrenTypes) : createArrayType(getUnionType(childrenTypes));
        childrenPropSymbol.valueDeclaration = factory.createPropertySignature(
          /*modifiers*/
          void 0,
          unescapeLeadingUnderscores(jsxChildrenPropertyName),
          /*questionToken*/
          void 0,
          /*type*/
          void 0
        );
        setParent(childrenPropSymbol.valueDeclaration, attributeParent);
        childrenPropSymbol.valueDeclaration.symbol = childrenPropSymbol;
        const childPropMap = createSymbolTable();
        childPropMap.set(jsxChildrenPropertyName, childrenPropSymbol);
        spread = getSpreadType(
          spread,
          createAnonymousType(attributesSymbol, childPropMap, emptyArray, emptyArray, emptyArray),
          attributesSymbol,
          objectFlags,
          /*readonly*/
          false
        );
      }
    }
    if (hasSpreadAnyType) {
      return anyType;
    }
    if (typeToIntersect && spread !== emptyJsxObjectType) {
      return getIntersectionType([typeToIntersect, spread]);
    }
    return typeToIntersect || (spread === emptyJsxObjectType ? createJsxAttributesTypeHelper() : spread);
    function createJsxAttributesTypeHelper() {
      objectFlags |= 8192 /* FreshLiteral */;
      return createJsxAttributesType(objectFlags, attributesSymbol, attributesTable);
    }
  }
  function createJsxAttributesType(objectFlags, attributesSymbol, attributesTable) {
    const result = createAnonymousType(attributesSymbol, attributesTable, emptyArray, emptyArray, emptyArray);
    result.objectFlags |= objectFlags | 8192 /* FreshLiteral */ | 128 /* ObjectLiteral */ | 131072 /* ContainsObjectOrArrayLiteral */;
    return result;
  }
  function checkJsxChildren(node, checkMode) {
    const childrenTypes = [];
    for (const child of node.children) {
      if (child.kind === 12 /* JsxText */) {
        if (!child.containsOnlyTriviaWhiteSpaces) {
          childrenTypes.push(stringType);
        }
      } else if (child.kind === 294 /* JsxExpression */ && !child.expression) {
        continue;
      } else {
        childrenTypes.push(checkExpressionForMutableLocation(child, checkMode));
      }
    }
    return childrenTypes;
  }
  function checkSpreadPropOverrides(type, props, spread) {
    for (const right of getPropertiesOfType(type)) {
      if (!(right.flags & 16777216 /* Optional */)) {
        const left = props.get(right.escapedName);
        if (left) {
          const diagnostic = error2(left.valueDeclaration, Diagnostics._0_is_specified_more_than_once_so_this_usage_will_be_overwritten, unescapeLeadingUnderscores(left.escapedName));
          addRelatedInfo(diagnostic, createDiagnosticForNode(spread, Diagnostics.This_spread_always_overwrites_this_property));
        }
      }
    }
  }
  function checkJsxAttributes(node, checkMode) {
    return createJsxAttributesTypeFromAttributesProperty(node.parent, checkMode);
  }
  function getJsxType(name, location) {
    const namespace = getJsxNamespaceAt(location);
    const exports2 = namespace && getExportsOfSymbol(namespace);
    const typeSymbol = exports2 && getSymbol2(exports2, name, 788968 /* Type */);
    return typeSymbol ? getDeclaredTypeOfSymbol(typeSymbol) : errorType;
  }
  function getIntrinsicTagSymbol(node) {
    const links = getNodeLinks(node);
    if (!links.resolvedSymbol) {
      const intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, node);
      if (!isErrorType(intrinsicElementsType)) {
        if (!isIdentifier(node.tagName) && !isJsxNamespacedName(node.tagName)) return Debug.fail();
        const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
        const intrinsicProp = getPropertyOfType(intrinsicElementsType, propName);
        if (intrinsicProp) {
          links.jsxFlags |= 1 /* IntrinsicNamedElement */;
          return links.resolvedSymbol = intrinsicProp;
        }
        const indexSymbol = getApplicableIndexSymbol(intrinsicElementsType, getStringLiteralType(unescapeLeadingUnderscores(propName)));
        if (indexSymbol) {
          links.jsxFlags |= 2 /* IntrinsicIndexedElement */;
          return links.resolvedSymbol = indexSymbol;
        }
        if (getTypeOfPropertyOrIndexSignatureOfType(intrinsicElementsType, propName)) {
          links.jsxFlags |= 2 /* IntrinsicIndexedElement */;
          return links.resolvedSymbol = intrinsicElementsType.symbol;
        }
        error2(node, Diagnostics.Property_0_does_not_exist_on_type_1, intrinsicTagNameToString(node.tagName), "JSX." + JsxNames.IntrinsicElements);
        return links.resolvedSymbol = unknownSymbol;
      } else {
        if (noImplicitAny) {
          error2(node, Diagnostics.JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists, unescapeLeadingUnderscores(JsxNames.IntrinsicElements));
        }
        return links.resolvedSymbol = unknownSymbol;
      }
    }
    return links.resolvedSymbol;
  }
  function getJsxNamespaceContainerForImplicitImport(location) {
    const file = location && getSourceFileOfNode(location);
    const links = file && getNodeLinks(file);
    if (links && links.jsxImplicitImportContainer === false) {
      return void 0;
    }
    if (links && links.jsxImplicitImportContainer) {
      return links.jsxImplicitImportContainer;
    }
    const runtimeImportSpecifier = getJSXRuntimeImport(getJSXImplicitImportBase(compilerOptions, file), compilerOptions);
    if (!runtimeImportSpecifier) {
      return void 0;
    }
    const isClassic = getEmitModuleResolutionKind(compilerOptions) === 1 /* Classic */;
    const errorMessage = isClassic ? Diagnostics.Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option : Diagnostics.This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed;
    const specifier = getJSXRuntimeImportSpecifier(file, runtimeImportSpecifier);
    const mod = resolveExternalModule(specifier || location, runtimeImportSpecifier, errorMessage, location);
    const result = mod && mod !== unknownSymbol ? getMergedSymbol(resolveSymbol(mod)) : void 0;
    if (links) {
      links.jsxImplicitImportContainer = result || false;
    }
    return result;
  }
  function getJsxNamespaceAt(location) {
    const links = location && getNodeLinks(location);
    if (links && links.jsxNamespace) {
      return links.jsxNamespace;
    }
    if (!links || links.jsxNamespace !== false) {
      let resolvedNamespace = getJsxNamespaceContainerForImplicitImport(location);
      if (!resolvedNamespace || resolvedNamespace === unknownSymbol) {
        const namespaceName = getJsxNamespace(location);
        resolvedNamespace = resolveName(
          location,
          namespaceName,
          1920 /* Namespace */,
          /*nameNotFoundMessage*/
          void 0,
          /*isUse*/
          false
        );
      }
      if (resolvedNamespace) {
        const candidate = resolveSymbol(getSymbol2(getExportsOfSymbol(resolveSymbol(resolvedNamespace)), JsxNames.JSX, 1920 /* Namespace */));
        if (candidate && candidate !== unknownSymbol) {
          if (links) {
            links.jsxNamespace = candidate;
          }
          return candidate;
        }
      }
      if (links) {
        links.jsxNamespace = false;
      }
    }
    const s = resolveSymbol(getGlobalSymbol(
      JsxNames.JSX,
      1920 /* Namespace */,
      /*diagnostic*/
      void 0
    ));
    if (s === unknownSymbol) {
      return void 0;
    }
    return s;
  }
  function getNameFromJsxElementAttributesContainer(nameOfAttribPropContainer, jsxNamespace) {
    const jsxElementAttribPropInterfaceSym = jsxNamespace && getSymbol2(jsxNamespace.exports, nameOfAttribPropContainer, 788968 /* Type */);
    const jsxElementAttribPropInterfaceType = jsxElementAttribPropInterfaceSym && getDeclaredTypeOfSymbol(jsxElementAttribPropInterfaceSym);
    const propertiesOfJsxElementAttribPropInterface = jsxElementAttribPropInterfaceType && getPropertiesOfType(jsxElementAttribPropInterfaceType);
    if (propertiesOfJsxElementAttribPropInterface) {
      if (propertiesOfJsxElementAttribPropInterface.length === 0) {
        return "";
      } else if (propertiesOfJsxElementAttribPropInterface.length === 1) {
        return propertiesOfJsxElementAttribPropInterface[0].escapedName;
      } else if (propertiesOfJsxElementAttribPropInterface.length > 1 && jsxElementAttribPropInterfaceSym.declarations) {
        error2(jsxElementAttribPropInterfaceSym.declarations[0], Diagnostics.The_global_type_JSX_0_may_not_have_more_than_one_property, unescapeLeadingUnderscores(nameOfAttribPropContainer));
      }
    }
    return void 0;
  }
  function getJsxLibraryManagedAttributes(jsxNamespace) {
    return jsxNamespace && getSymbol2(jsxNamespace.exports, JsxNames.LibraryManagedAttributes, 788968 /* Type */);
  }
  function getJsxElementTypeSymbol(jsxNamespace) {
    return jsxNamespace && getSymbol2(jsxNamespace.exports, JsxNames.ElementType, 788968 /* Type */);
  }
  function getJsxElementPropertiesName(jsxNamespace) {
    return getNameFromJsxElementAttributesContainer(JsxNames.ElementAttributesPropertyNameContainer, jsxNamespace);
  }
  function getJsxElementChildrenPropertyName(jsxNamespace) {
    return getNameFromJsxElementAttributesContainer(JsxNames.ElementChildrenAttributeNameContainer, jsxNamespace);
  }
  function getUninstantiatedJsxSignaturesOfType(elementType, caller) {
    if (elementType.flags & 4 /* String */) {
      return [anySignature];
    } else if (elementType.flags & 128 /* StringLiteral */) {
      const intrinsicType = getIntrinsicAttributesTypeFromStringLiteralType(elementType, caller);
      if (!intrinsicType) {
        error2(caller, Diagnostics.Property_0_does_not_exist_on_type_1, elementType.value, "JSX." + JsxNames.IntrinsicElements);
        return emptyArray;
      } else {
        const fakeSignature = createSignatureForJSXIntrinsic(caller, intrinsicType);
        return [fakeSignature];
      }
    }
    const apparentElemType = getApparentType(elementType);
    let signatures = getSignaturesOfType(apparentElemType, 1 /* Construct */);
    if (signatures.length === 0) {
      signatures = getSignaturesOfType(apparentElemType, 0 /* Call */);
    }
    if (signatures.length === 0 && apparentElemType.flags & 1048576 /* Union */) {
      signatures = getUnionSignatures(map(apparentElemType.types, (t) => getUninstantiatedJsxSignaturesOfType(t, caller)));
    }
    return signatures;
  }
  function getIntrinsicAttributesTypeFromStringLiteralType(type, location) {
    const intrinsicElementsType = getJsxType(JsxNames.IntrinsicElements, location);
    if (!isErrorType(intrinsicElementsType)) {
      const stringLiteralTypeName = type.value;
      const intrinsicProp = getPropertyOfType(intrinsicElementsType, escapeLeadingUnderscores(stringLiteralTypeName));
      if (intrinsicProp) {
        return getTypeOfSymbol(intrinsicProp);
      }
      const indexSignatureType = getIndexTypeOfType(intrinsicElementsType, stringType);
      if (indexSignatureType) {
        return indexSignatureType;
      }
      return void 0;
    }
    return anyType;
  }
  function checkJsxReturnAssignableToAppropriateBound(refKind, elemInstanceType, openingLikeElement) {
    if (refKind === 1 /* Function */) {
      const sfcReturnConstraint = getJsxStatelessElementTypeAt(openingLikeElement);
      if (sfcReturnConstraint) {
        checkTypeRelatedTo(elemInstanceType, sfcReturnConstraint, assignableRelation, openingLikeElement.tagName, Diagnostics.Its_return_type_0_is_not_a_valid_JSX_element, generateInitialErrorChain);
      }
    } else if (refKind === 0 /* Component */) {
      const classConstraint = getJsxElementClassTypeAt(openingLikeElement);
      if (classConstraint) {
        checkTypeRelatedTo(elemInstanceType, classConstraint, assignableRelation, openingLikeElement.tagName, Diagnostics.Its_instance_type_0_is_not_a_valid_JSX_element, generateInitialErrorChain);
      }
    } else {
      const sfcReturnConstraint = getJsxStatelessElementTypeAt(openingLikeElement);
      const classConstraint = getJsxElementClassTypeAt(openingLikeElement);
      if (!sfcReturnConstraint || !classConstraint) {
        return;
      }
      const combined = getUnionType([sfcReturnConstraint, classConstraint]);
      checkTypeRelatedTo(elemInstanceType, combined, assignableRelation, openingLikeElement.tagName, Diagnostics.Its_element_type_0_is_not_a_valid_JSX_element, generateInitialErrorChain);
    }
    function generateInitialErrorChain() {
      const componentName = getTextOfNode(openingLikeElement.tagName);
      return chainDiagnosticMessages(
        /*details*/
        void 0,
        Diagnostics._0_cannot_be_used_as_a_JSX_component,
        componentName
      );
    }
  }
  function getIntrinsicAttributesTypeFromJsxOpeningLikeElement(node) {
    var _a;
    Debug.assert(isJsxIntrinsicTagName(node.tagName));
    const links = getNodeLinks(node);
    if (!links.resolvedJsxElementAttributesType) {
      const symbol = getIntrinsicTagSymbol(node);
      if (links.jsxFlags & 1 /* IntrinsicNamedElement */) {
        return links.resolvedJsxElementAttributesType = getTypeOfSymbol(symbol) || errorType;
      } else if (links.jsxFlags & 2 /* IntrinsicIndexedElement */) {
        const propName = isJsxNamespacedName(node.tagName) ? getEscapedTextOfJsxNamespacedName(node.tagName) : node.tagName.escapedText;
        return links.resolvedJsxElementAttributesType = ((_a = getApplicableIndexInfoForName(getJsxType(JsxNames.IntrinsicElements, node), propName)) == null ? void 0 : _a.type) || errorType;
      } else {
        return links.resolvedJsxElementAttributesType = errorType;
      }
    }
    return links.resolvedJsxElementAttributesType;
  }
  function getJsxElementClassTypeAt(location) {
    const type = getJsxType(JsxNames.ElementClass, location);
    if (isErrorType(type)) return void 0;
    return type;
  }
  function getJsxElementTypeAt(location) {
    return getJsxType(JsxNames.Element, location);
  }
  function getJsxStatelessElementTypeAt(location) {
    const jsxElementType = getJsxElementTypeAt(location);
    if (jsxElementType) {
      return getUnionType([jsxElementType, nullType]);
    }
  }
  function getJsxElementTypeTypeAt(location) {
    const ns = getJsxNamespaceAt(location);
    if (!ns) return void 0;
    const sym = getJsxElementTypeSymbol(ns);
    if (!sym) return void 0;
    const type = instantiateAliasOrInterfaceWithDefaults(sym, isInJSFile(location));
    if (!type || isErrorType(type)) return void 0;
    return type;
  }
  function instantiateAliasOrInterfaceWithDefaults(managedSym, inJs, ...typeArguments) {
    const declaredManagedType = getDeclaredTypeOfSymbol(managedSym);
    if (managedSym.flags & 524288 /* TypeAlias */) {
      const params = getSymbolLinks(managedSym).typeParameters;
      if (length(params) >= typeArguments.length) {
        const args = fillMissingTypeArguments(typeArguments, params, typeArguments.length, inJs);
        return length(args) === 0 ? declaredManagedType : getTypeAliasInstantiation(managedSym, args);
      }
    }
    if (length(declaredManagedType.typeParameters) >= typeArguments.length) {
      const args = fillMissingTypeArguments(typeArguments, declaredManagedType.typeParameters, typeArguments.length, inJs);
      return createTypeReference(declaredManagedType, args);
    }
    return void 0;
  }
  function getJsxIntrinsicTagNamesAt(location) {
    const intrinsics = getJsxType(JsxNames.IntrinsicElements, location);
    return intrinsics ? getPropertiesOfType(intrinsics) : emptyArray;
  }
  function checkJsxPreconditions(errorNode) {
    if ((compilerOptions.jsx || 0 /* None */) === 0 /* None */) {
      error2(errorNode, Diagnostics.Cannot_use_JSX_unless_the_jsx_flag_is_provided);
    }
    if (getJsxElementTypeAt(errorNode) === void 0) {
      if (noImplicitAny) {
        error2(errorNode, Diagnostics.JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist);
      }
    }
  }
  function checkJsxOpeningLikeElementOrOpeningFragment(node) {
    const isNodeOpeningLikeElement = isJsxOpeningLikeElement(node);
    if (isNodeOpeningLikeElement) {
      checkGrammarJsxElement(node);
    }
    checkJsxPreconditions(node);
    markJsxAliasReferenced(node);
    const sig = getResolvedSignature(node);
    checkDeprecatedSignature(sig, node);
    if (isNodeOpeningLikeElement) {
      const jsxOpeningLikeNode = node;
      const elementTypeConstraint = getJsxElementTypeTypeAt(jsxOpeningLikeNode);
      if (elementTypeConstraint !== void 0) {
        const tagName = jsxOpeningLikeNode.tagName;
        const tagType = isJsxIntrinsicTagName(tagName) ? getStringLiteralType(intrinsicTagNameToString(tagName)) : checkExpression(tagName);
        checkTypeRelatedTo(tagType, elementTypeConstraint, assignableRelation, tagName, Diagnostics.Its_type_0_is_not_a_valid_JSX_element_type, () => {
          const componentName = getTextOfNode(tagName);
          return chainDiagnosticMessages(
            /*details*/
            void 0,
            Diagnostics._0_cannot_be_used_as_a_JSX_component,
            componentName
          );
        });
      } else {
        checkJsxReturnAssignableToAppropriateBound(getJsxReferenceKind(jsxOpeningLikeNode), getReturnTypeOfSignature(sig), jsxOpeningLikeNode);
      }
    }
  }
  function isKnownProperty(targetType, name, isComparingJsxAttributes) {
    if (targetType.flags & 524288 /* Object */) {
      if (getPropertyOfObjectType(targetType, name) || getApplicableIndexInfoForName(targetType, name) || isLateBoundName(name) && getIndexInfoOfType(targetType, stringType) || isComparingJsxAttributes && isHyphenatedJsxName(name)) {
        return true;
      }
    }
    if (targetType.flags & 33554432 /* Substitution */) {
      return isKnownProperty(targetType.baseType, name, isComparingJsxAttributes);
    }
    if (targetType.flags & 3145728 /* UnionOrIntersection */ && isExcessPropertyCheckTarget(targetType)) {
      for (const t of targetType.types) {
        if (isKnownProperty(t, name, isComparingJsxAttributes)) {
          return true;
        }
      }
    }
    return false;
  }
  function isExcessPropertyCheckTarget(type) {
    return !!(type.flags & 524288 /* Object */ && !(getObjectFlags(type) & 512 /* ObjectLiteralPatternWithComputedProperties */) || type.flags & 67108864 /* NonPrimitive */ || type.flags & 33554432 /* Substitution */ && isExcessPropertyCheckTarget(type.baseType) || type.flags & 1048576 /* Union */ && some(type.types, isExcessPropertyCheckTarget) || type.flags & 2097152 /* Intersection */ && every(type.types, isExcessPropertyCheckTarget));
  }
  function checkJsxExpression(node, checkMode) {
    checkGrammarJsxExpression(node);
    if (node.expression) {
      const type = checkExpression(node.expression, checkMode);
      if (node.dotDotDotToken && type !== anyType && !isArrayType(type)) {
        error2(node, Diagnostics.JSX_spread_child_must_be_an_array_type);
      }
      return type;
    } else {
      return errorType;
    }
  }
  function getDeclarationNodeFlagsFromSymbol(s) {
    return s.valueDeclaration ? getCombinedNodeFlagsCached(s.valueDeclaration) : 0;
  }
  function isPrototypeProperty(symbol) {
    if (symbol.flags & 8192 /* Method */ || getCheckFlags(symbol) & 4 /* SyntheticMethod */) {
      return true;
    }
    if (isInJSFile(symbol.valueDeclaration)) {
      const parent2 = symbol.valueDeclaration.parent;
      return parent2 && isBinaryExpression(parent2) && getAssignmentDeclarationKind(parent2) === 3 /* PrototypeProperty */;
    }
  }
  function checkPropertyAccessibility(node, isSuper, writing, type, prop, reportError = true) {
    const errorNode = !reportError ? void 0 : node.kind === 166 /* QualifiedName */ ? node.right : node.kind === 205 /* ImportType */ ? node : node.kind === 208 /* BindingElement */ && node.propertyName ? node.propertyName : node.name;
    return checkPropertyAccessibilityAtLocation(node, isSuper, writing, type, prop, errorNode);
  }
  function checkPropertyAccessibilityAtLocation(location, isSuper, writing, containingType, prop, errorNode) {
    var _a;
    const flags = getDeclarationModifierFlagsFromSymbol(prop, writing);
    if (isSuper) {
      if (languageVersion < 2 /* ES2015 */) {
        if (symbolHasNonMethodDeclaration(prop)) {
          if (errorNode) {
            error2(errorNode, Diagnostics.Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword);
          }
          return false;
        }
      }
      if (flags & 64 /* Abstract */) {
        if (errorNode) {
          error2(errorNode, Diagnostics.Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression, symbolToString(prop), typeToString(getDeclaringClass(prop)));
        }
        return false;
      }
      if (!(flags & 256 /* Static */) && ((_a = prop.declarations) == null ? void 0 : _a.some(isClassInstanceProperty))) {
        if (errorNode) {
          error2(errorNode, Diagnostics.Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super, symbolToString(prop));
        }
        return false;
      }
    }
    if (flags & 64 /* Abstract */ && symbolHasNonMethodDeclaration(prop) && (isThisProperty(location) || isThisInitializedObjectBindingExpression(location) || isObjectBindingPattern(location.parent) && isThisInitializedDeclaration(location.parent.parent))) {
      const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop));
      if (declaringClassDeclaration && isNodeUsedDuringClassInitialization(location)) {
        if (errorNode) {
          error2(errorNode, Diagnostics.Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor, symbolToString(prop), getTextOfIdentifierOrLiteral(declaringClassDeclaration.name));
        }
        return false;
      }
    }
    if (!(flags & 6 /* NonPublicAccessibilityModifier */)) {
      return true;
    }
    if (flags & 2 /* Private */) {
      const declaringClassDeclaration = getClassLikeDeclarationOfSymbol(getParentOfSymbol(prop));
      if (!isNodeWithinClass(location, declaringClassDeclaration)) {
        if (errorNode) {
          error2(errorNode, Diagnostics.Property_0_is_private_and_only_accessible_within_class_1, symbolToString(prop), typeToString(getDeclaringClass(prop)));
        }
        return false;
      }
      return true;
    }
    if (isSuper) {
      return true;
    }
    let enclosingClass = forEachEnclosingClass(location, (enclosingDeclaration) => {
      const enclosingClass2 = getDeclaredTypeOfSymbol(getSymbolOfDeclaration(enclosingDeclaration));
      return isClassDerivedFromDeclaringClasses(enclosingClass2, prop, writing);
    });
    if (!enclosingClass) {
      enclosingClass = getEnclosingClassFromThisParameter(location);
      enclosingClass = enclosingClass && isClassDerivedFromDeclaringClasses(enclosingClass, prop, writing);
      if (flags & 256 /* Static */ || !enclosingClass) {
        if (errorNode) {
          error2(errorNode, Diagnostics.Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses, symbolToString(prop), typeToString(getDeclaringClass(prop) || containingType));
        }
        return false;
      }
    }
    if (flags & 256 /* Static */) {
      return true;
    }
    if (containingType.flags & 262144 /* TypeParameter */) {
      containingType = containingType.isThisType ? getConstraintOfTypeParameter(containingType) : getBaseConstraintOfType(containingType);
    }
    if (!containingType || !hasBaseType(containingType, enclosingClass)) {
      if (errorNode) {
        error2(errorNode, Diagnostics.Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2, symbolToString(prop), typeToString(enclosingClass), typeToString(containingType));
      }
      return false;
    }
    return true;
  }
  function getEnclosingClassFromThisParameter(node) {
    const thisParameter = getThisParameterFromNodeContext(node);
    let thisType = (thisParameter == null ? void 0 : thisParameter.type) && getTypeFromTypeNode(thisParameter.type);
    if (thisType) {
      if (thisType.flags & 262144 /* TypeParameter */) {
        thisType = getConstraintOfTypeParameter(thisType);
      }
    } else {
      const thisContainer = getThisContainer(
        node,
        /*includeArrowFunctions*/
        false,
        /*includeClassComputedPropertyName*/
        false
      );
      if (isFunctionLike(thisContainer)) {
        thisType = getContextualThisParameterType(thisContainer);
      }
    }
    if (thisType && getObjectFlags(thisType) & (3 /* ClassOrInterface */ | 4 /* Reference */)) {
      return getTargetType(thisType);
    }
    return void 0;
  }
  function getThisParameterFromNodeContext(node) {
    const thisContainer = getThisContainer(
      node,
      /*includeArrowFunctions*/
      false,
      /*includeClassComputedPropertyName*/
      false
    );
    return thisContainer && isFunctionLike(thisContainer) ? getThisParameter(thisContainer) : void 0;
  }
  function symbolHasNonMethodDeclaration(symbol) {
    return !!forEachProperty2(symbol, (prop) => !(prop.flags & 8192 /* Method */));
  }
  function checkNonNullExpression(node) {
    return checkNonNullType(checkExpression(node), node);
  }
  function isNullableType(type) {
    return hasTypeFacts(type, 50331648 /* IsUndefinedOrNull */);
  }
  function getNonNullableTypeIfNeeded(type) {
    return isNullableType(type) ? getNonNullableType(type) : type;
  }
  function reportObjectPossiblyNullOrUndefinedError(node, facts) {
    const nodeText2 = isEntityNameExpression(node) ? entityNameToString(node) : void 0;
    if (node.kind === 106 /* NullKeyword */) {
      error2(node, Diagnostics.The_value_0_cannot_be_used_here, "null");
      return;
    }
    if (nodeText2 !== void 0 && nodeText2.length < 100) {
      if (isIdentifier(node) && nodeText2 === "undefined") {
        error2(node, Diagnostics.The_value_0_cannot_be_used_here, "undefined");
        return;
      }
      error2(
        node,
        facts & 16777216 /* IsUndefined */ ? facts & 33554432 /* IsNull */ ? Diagnostics._0_is_possibly_null_or_undefined : Diagnostics._0_is_possibly_undefined : Diagnostics._0_is_possibly_null,
        nodeText2
      );
    } else {
      error2(
        node,
        facts & 16777216 /* IsUndefined */ ? facts & 33554432 /* IsNull */ ? Diagnostics.Object_is_possibly_null_or_undefined : Diagnostics.Object_is_possibly_undefined : Diagnostics.Object_is_possibly_null
      );
    }
  }
  function reportCannotInvokePossiblyNullOrUndefinedError(node, facts) {
    error2(
      node,
      facts & 16777216 /* IsUndefined */ ? facts & 33554432 /* IsNull */ ? Diagnostics.Cannot_invoke_an_object_which_is_possibly_null_or_undefined : Diagnostics.Cannot_invoke_an_object_which_is_possibly_undefined : Diagnostics.Cannot_invoke_an_object_which_is_possibly_null
    );
  }
  function checkNonNullTypeWithReporter(type, node, reportError) {
    if (strictNullChecks && type.flags & 2 /* Unknown */) {
      if (isEntityNameExpression(node)) {
        const nodeText2 = entityNameToString(node);
        if (nodeText2.length < 100) {
          error2(node, Diagnostics._0_is_of_type_unknown, nodeText2);
          return errorType;
        }
      }
      error2(node, Diagnostics.Object_is_of_type_unknown);
      return errorType;
    }
    const facts = getTypeFacts(type, 50331648 /* IsUndefinedOrNull */);
    if (facts & 50331648 /* IsUndefinedOrNull */) {
      reportError(node, facts);
      const t = getNonNullableType(type);
      return t.flags & (98304 /* Nullable */ | 131072 /* Never */) ? errorType : t;
    }
    return type;
  }
  function checkNonNullType(type, node) {
    return checkNonNullTypeWithReporter(type, node, reportObjectPossiblyNullOrUndefinedError);
  }
  function checkNonNullNonVoidType(type, node) {
    const nonNullType = checkNonNullType(type, node);
    if (nonNullType.flags & 16384 /* Void */) {
      if (isEntityNameExpression(node)) {
        const nodeText2 = entityNameToString(node);
        if (isIdentifier(node) && nodeText2 === "undefined") {
          error2(node, Diagnostics.The_value_0_cannot_be_used_here, nodeText2);
          return nonNullType;
        }
        if (nodeText2.length < 100) {
          error2(node, Diagnostics._0_is_possibly_undefined, nodeText2);
          return nonNullType;
        }
      }
      error2(node, Diagnostics.Object_is_possibly_undefined);
    }
    return nonNullType;
  }
  function checkPropertyAccessExpression(node, checkMode, writeOnly) {
    return node.flags & 64 /* OptionalChain */ ? checkPropertyAccessChain(node, checkMode) : checkPropertyAccessExpressionOrQualifiedName(node, node.expression, checkNonNullExpression(node.expression), node.name, checkMode, writeOnly);
  }
  function checkPropertyAccessChain(node, checkMode) {
    const leftType = checkExpression(node.expression);
    const nonOptionalType = getOptionalExpressionType(leftType, node.expression);
    return propagateOptionalTypeMarker(checkPropertyAccessExpressionOrQualifiedName(node, node.expression, checkNonNullType(nonOptionalType, node.expression), node.name, checkMode), node, nonOptionalType !== leftType);
  }
  function checkQualifiedName(node, checkMode) {
    const leftType = isPartOfTypeQuery(node) && isThisIdentifier(node.left) ? checkNonNullType(checkThisExpression(node.left), node.left) : checkNonNullExpression(node.left);
    return checkPropertyAccessExpressionOrQualifiedName(node, node.left, leftType, node.right, checkMode);
  }
  function isMethodAccessForCall(node) {
    while (node.parent.kind === 217 /* ParenthesizedExpression */) {
      node = node.parent;
    }
    return isCallOrNewExpression(node.parent) && node.parent.expression === node;
  }
  function lookupSymbolForPrivateIdentifierDeclaration(propName, location) {
    for (let containingClass = getContainingClassExcludingClassDecorators(location); !!containingClass; containingClass = getContainingClass(containingClass)) {
      const { symbol } = containingClass;
      const name = getSymbolNameForPrivateIdentifier(symbol, propName);
      const prop = symbol.members && symbol.members.get(name) || symbol.exports && symbol.exports.get(name);
      if (prop) {
        return prop;
      }
    }
  }
  function checkGrammarPrivateIdentifierExpression(privId) {
    if (!getContainingClass(privId)) {
      return grammarErrorOnNode(privId, Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
    }
    if (!isForInStatement(privId.parent)) {
      if (!isExpressionNode(privId)) {
        return grammarErrorOnNode(privId, Diagnostics.Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression);
      }
      const isInOperation = isBinaryExpression(privId.parent) && privId.parent.operatorToken.kind === 103 /* InKeyword */;
      if (!getSymbolForPrivateIdentifierExpression(privId) && !isInOperation) {
        return grammarErrorOnNode(privId, Diagnostics.Cannot_find_name_0, idText(privId));
      }
    }
    return false;
  }
  function checkPrivateIdentifierExpression(privId) {
    checkGrammarPrivateIdentifierExpression(privId);
    const symbol = getSymbolForPrivateIdentifierExpression(privId);
    if (symbol) {
      markPropertyAsReferenced(
        symbol,
        /*nodeForCheckWriteOnly*/
        void 0,
        /*isSelfTypeAccess*/
        false
      );
    }
    return anyType;
  }
  function getSymbolForPrivateIdentifierExpression(privId) {
    if (!isExpressionNode(privId)) {
      return void 0;
    }
    const links = getNodeLinks(privId);
    if (links.resolvedSymbol === void 0) {
      links.resolvedSymbol = lookupSymbolForPrivateIdentifierDeclaration(privId.escapedText, privId);
    }
    return links.resolvedSymbol;
  }
  function getPrivateIdentifierPropertyOfType(leftType, lexicallyScopedIdentifier) {
    return getPropertyOfType(leftType, lexicallyScopedIdentifier.escapedName);
  }
  function checkPrivateIdentifierPropertyAccess(leftType, right, lexicallyScopedIdentifier) {
    let propertyOnType;
    const properties = getPropertiesOfType(leftType);
    if (properties) {
      forEach(properties, (symbol) => {
        const decl = symbol.valueDeclaration;
        if (decl && isNamedDeclaration(decl) && isPrivateIdentifier(decl.name) && decl.name.escapedText === right.escapedText) {
          propertyOnType = symbol;
          return true;
        }
      });
    }
    const diagName = diagnosticName(right);
    if (propertyOnType) {
      const typeValueDecl = Debug.checkDefined(propertyOnType.valueDeclaration);
      const typeClass = Debug.checkDefined(getContainingClass(typeValueDecl));
      if (lexicallyScopedIdentifier == null ? void 0 : lexicallyScopedIdentifier.valueDeclaration) {
        const lexicalValueDecl = lexicallyScopedIdentifier.valueDeclaration;
        const lexicalClass = getContainingClass(lexicalValueDecl);
        Debug.assert(!!lexicalClass);
        if (findAncestor(lexicalClass, (n) => typeClass === n)) {
          const diagnostic = error2(
            right,
            Diagnostics.The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling,
            diagName,
            typeToString(leftType)
          );
          addRelatedInfo(
            diagnostic,
            createDiagnosticForNode(
              lexicalValueDecl,
              Diagnostics.The_shadowing_declaration_of_0_is_defined_here,
              diagName
            ),
            createDiagnosticForNode(
              typeValueDecl,
              Diagnostics.The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here,
              diagName
            )
          );
          return true;
        }
      }
      error2(
        right,
        Diagnostics.Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier,
        diagName,
        diagnosticName(typeClass.name || anon)
      );
      return true;
    }
    return false;
  }
  function isThisPropertyAccessInConstructor(node, prop) {
    return (isConstructorDeclaredProperty(prop) || isThisProperty(node) && isAutoTypedProperty(prop)) && getThisContainer(
      node,
      /*includeArrowFunctions*/
      true,
      /*includeClassComputedPropertyName*/
      false
    ) === getDeclaringConstructor(prop);
  }
  function checkPropertyAccessExpressionOrQualifiedName(node, left, leftType, right, checkMode, writeOnly) {
    const parentSymbol = getNodeLinks(left).resolvedSymbol;
    const assignmentKind = getAssignmentTargetKind(node);
    const apparentType = getApparentType(assignmentKind !== 0 /* None */ || isMethodAccessForCall(node) ? getWidenedType(leftType) : leftType);
    const isAnyLike = isTypeAny(apparentType) || apparentType === silentNeverType;
    let prop;
    if (isPrivateIdentifier(right)) {
      if (languageVersion < LanguageFeatureMinimumTarget.PrivateNamesAndClassStaticBlocks || languageVersion < LanguageFeatureMinimumTarget.ClassAndClassElementDecorators || !useDefineForClassFields) {
        if (assignmentKind !== 0 /* None */) {
          checkExternalEmitHelpers(node, 1048576 /* ClassPrivateFieldSet */);
        }
        if (assignmentKind !== 1 /* Definite */) {
          checkExternalEmitHelpers(node, 524288 /* ClassPrivateFieldGet */);
        }
      }
      const lexicallyScopedSymbol = lookupSymbolForPrivateIdentifierDeclaration(right.escapedText, right);
      if (assignmentKind && lexicallyScopedSymbol && lexicallyScopedSymbol.valueDeclaration && isMethodDeclaration(lexicallyScopedSymbol.valueDeclaration)) {
        grammarErrorOnNode(right, Diagnostics.Cannot_assign_to_private_method_0_Private_methods_are_not_writable, idText(right));
      }
      if (isAnyLike) {
        if (lexicallyScopedSymbol) {
          return isErrorType(apparentType) ? errorType : apparentType;
        }
        if (getContainingClassExcludingClassDecorators(right) === void 0) {
          grammarErrorOnNode(right, Diagnostics.Private_identifiers_are_not_allowed_outside_class_bodies);
          return anyType;
        }
      }
      prop = lexicallyScopedSymbol && getPrivateIdentifierPropertyOfType(leftType, lexicallyScopedSymbol);
      if (prop === void 0) {
        if (checkPrivateIdentifierPropertyAccess(leftType, right, lexicallyScopedSymbol)) {
          return errorType;
        }
        const containingClass = getContainingClassExcludingClassDecorators(right);
        if (containingClass && isPlainJsFile(getSourceFileOfNode(containingClass), compilerOptions.checkJs)) {
          grammarErrorOnNode(right, Diagnostics.Private_field_0_must_be_declared_in_an_enclosing_class, idText(right));
        }
      } else {
        const isSetonlyAccessor = prop.flags & 65536 /* SetAccessor */ && !(prop.flags & 32768 /* GetAccessor */);
        if (isSetonlyAccessor && assignmentKind !== 1 /* Definite */) {
          error2(node, Diagnostics.Private_accessor_was_defined_without_a_getter);
        }
      }
    } else {
      if (isAnyLike) {
        if (isIdentifier(left) && parentSymbol) {
          markLinkedReferences(
            node,
            2 /* Property */,
            /*propSymbol*/
            void 0,
            leftType
          );
        }
        return isErrorType(apparentType) ? errorType : apparentType;
      }
      prop = getPropertyOfType(
        apparentType,
        right.escapedText,
        /*skipObjectFunctionPropertyAugment*/
        isConstEnumObjectType(apparentType),
        /*includeTypeOnlyMembers*/
        node.kind === 166 /* QualifiedName */
      );
    }
    markLinkedReferences(node, 2 /* Property */, prop, leftType);
    let propType;
    if (!prop) {
      const indexInfo = !isPrivateIdentifier(right) && (assignmentKind === 0 /* None */ || !isGenericObjectType(leftType) || isThisTypeParameter(leftType)) ? getApplicableIndexInfoForName(apparentType, right.escapedText) : void 0;
      if (!(indexInfo && indexInfo.type)) {
        const isUncheckedJS = isUncheckedJSSuggestion(
          node,
          leftType.symbol,
          /*excludeClasses*/
          true
        );
        if (!isUncheckedJS && isJSLiteralType(leftType)) {
          return anyType;
        }
        if (leftType.symbol === globalThisSymbol) {
          if (globalThisSymbol.exports.has(right.escapedText) && globalThisSymbol.exports.get(right.escapedText).flags & 418 /* BlockScoped */) {
            error2(right, Diagnostics.Property_0_does_not_exist_on_type_1, unescapeLeadingUnderscores(right.escapedText), typeToString(leftType));
          } else if (noImplicitAny) {
            error2(right, Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature, typeToString(leftType));
          }
          return anyType;
        }
        if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) {
          reportNonexistentProperty(right, isThisTypeParameter(leftType) ? apparentType : leftType, isUncheckedJS);
        }
        return errorType;
      }
      if (indexInfo.isReadonly && (isAssignmentTarget(node) || isDeleteTarget(node))) {
        error2(node, Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(apparentType));
      }
      propType = indexInfo.type;
      if (compilerOptions.noUncheckedIndexedAccess && getAssignmentTargetKind(node) !== 1 /* Definite */) {
        propType = getUnionType([propType, missingType]);
      }
      if (compilerOptions.noPropertyAccessFromIndexSignature && isPropertyAccessExpression(node)) {
        error2(right, Diagnostics.Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0, unescapeLeadingUnderscores(right.escapedText));
      }
      if (indexInfo.declaration && isDeprecatedDeclaration2(indexInfo.declaration)) {
        addDeprecatedSuggestion(right, [indexInfo.declaration], right.escapedText);
      }
    } else {
      const targetPropSymbol = resolveAliasWithDeprecationCheck(prop, right);
      if (isDeprecatedSymbol(targetPropSymbol) && isUncalledFunctionReference(node, targetPropSymbol) && targetPropSymbol.declarations) {
        addDeprecatedSuggestion(right, targetPropSymbol.declarations, right.escapedText);
      }
      checkPropertyNotUsedBeforeDeclaration(prop, node, right);
      markPropertyAsReferenced(prop, node, isSelfTypeAccess(left, parentSymbol));
      getNodeLinks(node).resolvedSymbol = prop;
      checkPropertyAccessibility(node, left.kind === 108 /* SuperKeyword */, isWriteAccess(node), apparentType, prop);
      if (isAssignmentToReadonlyEntity(node, prop, assignmentKind)) {
        error2(right, Diagnostics.Cannot_assign_to_0_because_it_is_a_read_only_property, idText(right));
        return errorType;
      }
      propType = isThisPropertyAccessInConstructor(node, prop) ? autoType : writeOnly || isWriteOnlyAccess(node) ? getWriteTypeOfSymbol(prop) : getTypeOfSymbol(prop);
    }
    return getFlowTypeOfAccessExpression(node, prop, propType, right, checkMode);
  }
  function isUncheckedJSSuggestion(node, suggestion, excludeClasses) {
    var _a;
    const file = getSourceFileOfNode(node);
    if (file) {
      if (compilerOptions.checkJs === void 0 && file.checkJsDirective === void 0 && (file.scriptKind === 1 /* JS */ || file.scriptKind === 2 /* JSX */)) {
        const declarationFile = forEach(suggestion == null ? void 0 : suggestion.declarations, getSourceFileOfNode);
        const suggestionHasNoExtendsOrDecorators = !(suggestion == null ? void 0 : suggestion.valueDeclaration) || !isClassLike(suggestion.valueDeclaration) || ((_a = suggestion.valueDeclaration.heritageClauses) == null ? void 0 : _a.length) || classOrConstructorParameterIsDecorated(
          /*useLegacyDecorators*/
          false,
          suggestion.valueDeclaration
        );
        return !(file !== declarationFile && !!declarationFile && isGlobalSourceFile(declarationFile)) && !(excludeClasses && suggestion && suggestion.flags & 32 /* Class */ && suggestionHasNoExtendsOrDecorators) && !(!!node && excludeClasses && isPropertyAccessExpression(node) && node.expression.kind === 110 /* ThisKeyword */ && suggestionHasNoExtendsOrDecorators);
      }
    }
    return false;
  }
  function getFlowTypeOfAccessExpression(node, prop, propType, errorNode, checkMode) {
    const assignmentKind = getAssignmentTargetKind(node);
    if (assignmentKind === 1 /* Definite */) {
      return removeMissingType(propType, !!(prop && prop.flags & 16777216 /* Optional */));
    }
    if (prop && !(prop.flags & (3 /* Variable */ | 4 /* Property */ | 98304 /* Accessor */)) && !(prop.flags & 8192 /* Method */ && propType.flags & 1048576 /* Union */) && !isDuplicatedCommonJSExport(prop.declarations)) {
      return propType;
    }
    if (propType === autoType) {
      return getFlowTypeOfProperty(node, prop);
    }
    propType = getNarrowableTypeForReference(propType, node, checkMode);
    let assumeUninitialized = false;
    if (strictNullChecks && strictPropertyInitialization && isAccessExpression(node) && node.expression.kind === 110 /* ThisKeyword */) {
      const declaration = prop && prop.valueDeclaration;
      if (declaration && isPropertyWithoutInitializer(declaration)) {
        if (!isStatic(declaration)) {
          const flowContainer = getControlFlowContainer(node);
          if (flowContainer.kind === 176 /* Constructor */ && flowContainer.parent === declaration.parent && !(declaration.flags & 33554432 /* Ambient */)) {
            assumeUninitialized = true;
          }
        }
      }
    } else if (strictNullChecks && prop && prop.valueDeclaration && isPropertyAccessExpression(prop.valueDeclaration) && getAssignmentDeclarationPropertyAccessKind(prop.valueDeclaration) && getControlFlowContainer(node) === getControlFlowContainer(prop.valueDeclaration)) {
      assumeUninitialized = true;
    }
    const flowType = getFlowTypeOfReference(node, propType, assumeUninitialized ? getOptionalType(propType) : propType);
    if (assumeUninitialized && !containsUndefinedType(propType) && containsUndefinedType(flowType)) {
      error2(errorNode, Diagnostics.Property_0_is_used_before_being_assigned, symbolToString(prop));
      return propType;
    }
    return assignmentKind ? getBaseTypeOfLiteralType(flowType) : flowType;
  }
  function checkPropertyNotUsedBeforeDeclaration(prop, node, right) {
    const { valueDeclaration } = prop;
    if (!valueDeclaration || getSourceFileOfNode(node).isDeclarationFile) {
      return;
    }
    let diagnosticMessage;
    const declarationName = idText(right);
    if (isInPropertyInitializerOrClassStaticBlock(node) && !isOptionalPropertyDeclaration(valueDeclaration) && !(isAccessExpression(node) && isAccessExpression(node.expression)) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right) && !(isMethodDeclaration(valueDeclaration) && getCombinedModifierFlagsCached(valueDeclaration) & 256 /* Static */) && (useDefineForClassFields || !isPropertyDeclaredInAncestorClass(prop))) {
      diagnosticMessage = error2(right, Diagnostics.Property_0_is_used_before_its_initialization, declarationName);
    } else if (valueDeclaration.kind === 263 /* ClassDeclaration */ && node.parent.kind !== 183 /* TypeReference */ && !(valueDeclaration.flags & 33554432 /* Ambient */) && !isBlockScopedNameDeclaredBeforeUse(valueDeclaration, right)) {
      diagnosticMessage = error2(right, Diagnostics.Class_0_used_before_its_declaration, declarationName);
    }
    if (diagnosticMessage) {
      addRelatedInfo(diagnosticMessage, createDiagnosticForNode(valueDeclaration, Diagnostics._0_is_declared_here, declarationName));
    }
  }
  function isInPropertyInitializerOrClassStaticBlock(node) {
    return !!findAncestor(node, (node2) => {
      switch (node2.kind) {
        case 172 /* PropertyDeclaration */:
          return true;
        case 303 /* PropertyAssignment */:
        case 174 /* MethodDeclaration */:
        case 177 /* GetAccessor */:
        case 178 /* SetAccessor */:
        case 305 /* SpreadAssignment */:
        case 167 /* ComputedPropertyName */:
        case 239 /* TemplateSpan */:
        case 294 /* JsxExpression */:
        case 291 /* JsxAttribute */:
        case 292 /* JsxAttributes */:
        case 293 /* JsxSpreadAttribute */:
        case 286 /* JsxOpeningElement */:
        case 233 /* ExpressionWithTypeArguments */:
        case 298 /* HeritageClause */:
          return false;
        case 219 /* ArrowFunction */:
        case 244 /* ExpressionStatement */:
          return isBlock(node2.parent) && isClassStaticBlockDeclaration(node2.parent.parent) ? true : "quit";
        default:
          return isExpressionNode(node2) ? false : "quit";
      }
    });
  }
  function isPropertyDeclaredInAncestorClass(prop) {
    if (!(prop.parent.flags & 32 /* Class */)) {
      return false;
    }
    let classType = getTypeOfSymbol(prop.parent);
    while (true) {
      classType = classType.symbol && getSuperClass(classType);
      if (!classType) {
        return false;
      }
      const superProperty = getPropertyOfType(classType, prop.escapedName);
      if (superProperty && superProperty.valueDeclaration) {
        return true;
      }
    }
  }
  function getSuperClass(classType) {
    const x = getBaseTypes(classType);
    if (x.length === 0) {
      return void 0;
    }
    return getIntersectionType(x);
  }
  function reportNonexistentProperty(propNode, containingType, isUncheckedJS) {
    const links = getNodeLinks(propNode);
    const cache = links.nonExistentPropCheckCache || (links.nonExistentPropCheckCache = /* @__PURE__ */ new Set());
    const key = `${getTypeId(containingType)}|${isUncheckedJS}`;
    if (cache.has(key)) {
      return;
    }
    cache.add(key);
    let errorInfo;
    let relatedInfo;
    if (!isPrivateIdentifier(propNode) && containingType.flags & 1048576 /* Union */ && !(containingType.flags & 402784252 /* Primitive */)) {
      for (const subtype of containingType.types) {
        if (!getPropertyOfType(subtype, propNode.escapedText) && !getApplicableIndexInfoForName(subtype, propNode.escapedText)) {
          errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1, declarationNameToString(propNode), typeToString(subtype));
          break;
        }
      }
    }
    if (typeHasStaticProperty(propNode.escapedText, containingType)) {
      const propName = declarationNameToString(propNode);
      const typeName = typeToString(containingType);
      errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead, propName, typeName, typeName + "." + propName);
    } else {
      const promisedType = getPromisedTypeOfPromise(containingType);
      if (promisedType && getPropertyOfType(promisedType, propNode.escapedText)) {
        errorInfo = chainDiagnosticMessages(errorInfo, Diagnostics.Property_0_does_not_exist_on_type_1, declarationNameToString(propNode), typeToString(containingType));
        relatedInfo = createDiagnosticForNode(propNode, Diagnostics.Did_you_forget_to_use_await);
      } else {
        const missingProperty = declarationNameToString(propNode);
        const container = typeToString(containingType);
        const libSuggestion = getSuggestedLibForNonExistentProperty(missingProperty, containingnbdkit_rate_filter_la-bucket.lo: bucket.c /usr/include/stdc-predef.h \
 ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/inttypes.h /usr/include/string.h /usr/include/strings.h \
 /usr/include/time.h /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/sys/time.h ../../include/nbdkit-filter.h \
 ../../include/nbdkit-common.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/include/minmax.h \
 ../../common/include/unique-name.h ../../common/include/tvdiff.h \
 bucket.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/inttypes.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/include/minmax.h:
../../common/include/unique-name.h:
../../common/include/tvdiff.h:
bucket.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         nbdkit_rate_filter_la-rate.lo: rate.c /usr/include/stdc-predef.h \
 ../../config.h /usr/include/fcntl.h /usr/include/features.h \
 /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/fcntl.h \
 /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/include/linux/falloc.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/stat.h \
 /usr/include/x86_64-linux-gnu/bits/struct_stat.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/inttypes.h /usr/include/string.h /usr/include/strings.h \
 /usr/include/time.h /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/sys/time.h /usr/include/unistd.h \
 /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
 /usr/include/x86_64-linux-gnu/bits/environments.h \
 /usr/include/x86_64-linux-gnu/bits/confname.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
 /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
 /usr/include/linux/close_range.h /usr/include/pthread.h \
 /usr/include/sched.h /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/utils/cleanup.h \
 /usr/include/assert.h ../../common/include/unique-name.h \
 ../../common/replacements/getline.h ../../common/utils/windows-compat.h \
 bucket.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/fcntl.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/fcntl.h:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/include/linux/falloc.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/inttypes.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/utils/cleanup.h:
/usr/include/assert.h:
../../common/include/unique-name.h:
../../common/replacements/getline.h:
../../common/utils/windows-compat.h:
bucket.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  nbdkit_readahead_filter_la-readahead.lo: readahead.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/pthread.h /usr/include/sched.h \
 /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h readahead.h ../../common/utils/vector.h \
 /usr/include/assert.h ../../common/include/compiler-macros.h \
 ../../common/include/static-assert.h ../../common/include/unique-name.h \
 ../../common/utils/cleanup.h ../../common/include/unique-name.h \
 ../../common/include/minmax.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
readahead.h:
../../common/utils/vector.h:
/usr/include/assert.h:
../../common/include/compiler-macros.h:
../../common/include/static-assert.h:
../../common/include/unique-name.h:
../../common/utils/cleanup.h:
../../common/include/unique-name.h:
../../common/include/minmax.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   	.file	"bgthread.c"
	.text
.Ltext0:
	.file 0 "/tmp/nbdkit/filters/readahead" "bgthread.c"
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"bgthread.c"
.LC1:
	.string	"!_r"
	.text
	.p2align 4
	.globl	readahead_thread
	.type	readahead_thread, @function
readahead_thread:
.LVL0:
.LFB40:
	.file 1 "bgthread.c"
	.loc 1 48 1 view -0
	.cfi_startproc
	.loc 1 49 3 view .LVU1
	.loc 1 48 1 is_stmt 0 view .LVU2
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
.LBB14:
.LBB15:
	.loc 1 58 9 view .LVU3
	leaq	64(%rdi), %r12
.LBE15:
.LBE14:
	.loc 1 48 1 view .LVU4
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
.LBB34:
.LBB31:
	.loc 1 56 7 view .LVU5
	leaq	24(%rdi), %rbp
.LBE31:
.LBE34:
	.loc 1 48 1 view .LVU6
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movq	%rdi, %rbx
	subq	$40, %rsp
	.cfi_def_cfa_offset 96
.LVL1:
.L8:
	.loc 1 51 3 is_stmt 1 view .LVU7
.LBB35:
	.loc 1 52 5 view .LVU8
.LBB32:
	.loc 1 56 7 view .LVU9
.LBB16:
	movq	%rbp, %rdi
.LBE16:
	movq	%rbp, 24(%rsp)
	.loc 1 56 7 view .LVU10
.LBB17:
	.loc 1 56 7 view .LVU11
	call	pthread_mutex_lock@PLT
.LVL2:
	.loc 1 56 7 view .LVU12
	testl	%eax, %eax
	je	.L16
	jmp	.L2
.LVL3:
	.p2align 4,,10
	.p2align 3
.L5:
	.loc 1 56 7 is_stmt 0 view .LVU13
.LBE17:
	.loc 1 58 9 is_stmt 1 view .LVU14
	movq	%rbp, %rsi
	movq	%r12, %rdi
	call	pthread_cond_wait@PLT
.LVL4:
.L16:
	.loc 1 57 29 view .LVU15
	.loc 1 57 24 is_stmt 0 view .LVU16
	movq	8(%rbx), %rdx
	.loc 1 57 29 view .LVU17
	testq	%rdx, %rdx
	je	.L5
	.loc 1 59 7 is_stmt 1 view .LVU18
	.loc 1 59 23 is_stmt 0 view .LVU19
	movq	(%rbx), %rdi
.LBB18:
.LBB19:
.LBB20:
	.file 2 "readahead.h"
	.loc 2 49 1 view .LVU20
	subq	$1, %rdx
	salq	$5, %rdx
.LBE20:
.LBE19:
.LBE18:
	.loc 1 59 11 view .LVU21
	movl	24(%rdi), %eax
.LBB27:
.LBB24:
.LBB21:
	.loc 2 49 1 view .LVU22
	leaq	32(%rdi), %rsi
.LBE21:
.LBE24:
.LBE27:
	.loc 1 59 11 view .LVU23
	movl	(%rdi), %r14d
.LVL5:
	.loc 1 59 11 view .LVU24
	movq	8(%rdi), %r13
.LVL6:
	.loc 1 59 11 view .LVU25
	movq	16(%rdi), %r15
.LVL7:
	.loc 1 60 7 is_stmt 1 view .LVU26
.LBB28:
.LBI18:
	.loc 2 49 1 view .LVU27
	.loc 2 49 1 view .LVU28
.LBB25:
.LBI19:
	.loc 2 49 1 view .LVU29
.LBB22:
	.loc 2 49 1 view .LVU30
	.loc 2 49 1 view .LVU31
.LBE22:
.LBE25:
.LBE28:
	.loc 1 59 11 is_stmt 0 view .LVU32
	movl	%eax, 12(%rsp)
.LVL8:
.LBB29:
.LBB26:
.LBB23:
	.loc 2 49 1 view .LVU33
	call	memmove@PLT
.LVL9:
	.loc 2 49 1 is_stmt 1 view .LVU34
	subq	$1, 8(%rbx)
.LVL10:
	.loc 2 49 1 is_stmt 0 view .LVU35
.LBE23:
.LBE26:
.LBE29:
	.loc 1 56 7 view .LVU36
	leaq	24(%rsp), %rdi
	call	cleanup_mutex_unlock@PLT
.LVL11:
.LBE32:
	.loc 1 63 5 is_stmt 1 view .LVU37
	testl	%r14d, %r14d
	je	.L11
	cmpl	$1, %r14d
	jne	.L8
	.loc 1 73 7 view .LVU38
	movl	12(%rsp), %esi
	xorl	%r8d, %r8d
	xorl	%ecx, %ecx
	movq	%r15, %rdx
	movq	%r13, %rdi
	call	*168(%r13)
.LVL12:
	jmp	.L8
	.p2align 4,,10
	.p2align 3
.L11:
.LBE35:
	.loc 1 76 1 is_stmt 0 view .LVU39
	addq	$40, %rsp
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	xorl	%eax, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
.LVL13:
	.loc 1 76 1 view .LVU40
	popq	%rbp
	.cfi_def_cfa_offset 40
.LVL14:
	.loc 1 76 1 view .LVU41
	popq	%r12
	.cfi_def_cfa_offset 32
.LVL15:
	.loc 1 76 1 view .LVU42
	popq	%r13
	.cfi_def_cfa_offset 24
.LVL16:
	.loc 1 76 1 view .LVU43
	popq	%r14
	.cfi_def_cfa_offset 16
.LVL17:
	.loc 1 76 1 view .LVU44
	popq	%r15
	.cfi_def_cfa_offset 8
.LVL18:
	.loc 1 76 1 view .LVU45
	ret
.LVL19:
.L2:
	.cfi_restore_state
.LBB36:
.LBB33:
.LBB30:
	.loc 1 56 7 is_stmt 1 discriminator 1 view .LVU46
	leaq	__PRETTY_FUNCTION__.1(%rip), %rcx
	movl	$56, %edx
	leaq	.LC0(%rip), %rsi
	leaq	.LC1(%rip), %rdi
	call	__assert_fail@PLT
.LVL20:
	.loc 1 56 7 is_stmt 0 discriminator 1 view .LVU47
.LBE30:
.LBE33:
.LBE36:
	.cfi_endproc
.LFE40:
	.size	readahead_thread, .-readahead_thread
	.section	.rodata
	.align 16
	.type	__PRETTY_FUNCTION__.1, @object
	.size	__PRETTY_FUNCTION__.1, 17
__PRETTY_FUNCTION__.1:
	.string	"readahead_thread"
	.text
.Letext0:
	.file 3 "/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h"
	.file 4 "/usr/include/x86_64-linux-gnu/bits/types.h"
	.file 5 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h"
	.file 6 "/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h"
	.file 7 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h"
	.file 8 "/usr/include/x86_64-linux-gnu/bits/struct_mutex.h"
	.file 9 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h"
	.file 10 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h"
	.file 11 "/usr/include/x86_64-linux-gnu/bits/sockaddr.h"
	.file 12 "/usr/include/x86_64-linux-gnu/bits/socket.h"
	.file 13 "../../include/nbdkit-filter.h"
	.file 14 "/usr/include/string.h"
	.file 15 "/usr/include/pthread.h"
	.file 16 "/usr/include/assert.h"
	.file 17 "../../common/utils/cleanup.h"
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.long	0xae9
	.value	0x5
	.byte	0x1
	.byte	0x8
	.long	.Ldebug_abbrev0
	.uleb128 0x1b
	.long	.LASF110
	.byte	0x1d
	.long	.LASF0
	.long	.LASF1
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.long	.Ldebug_line0
	.uleb128 0x6
	.long	.LASF8
	.byte	0x3
	.byte	0xd6
	.byte	0x17
	.long	0x3a
	.uleb128 0x9
	.byte	0x8
	.byte	0x7
	.long	.LASF2
	.uleb128 0x9
	.byte	0x4
	.byte	0x7
	.long	.LASF3
	.uleb128 0x1c
	.byte	0x8
	.uleb128 0x9
	.byte	0x1
	.byte	0x8
	.long	.LASF4
	.uleb128 0x9
	.byte	0x2
	.byte	0x7
	.long	.LASF5
	.uleb128 0x9
	.byte	0x1
	.byte	0x6
	.long	.LASF6
	.uleb128 0x9
	.byte	0x2
	.byte	0x5
	.long	.LASF7
	.uleb128 0x1d
	.byte	0x4
	.byte	0x5
	.string	"int"
	.uleb128 0x6
	.long	.LASF9
	.byte	0x4
	.byte	0x2a
	.byte	0x16
	.long	0x41
	.uleb128 0x6
	.long	.LASF10
	.byte	0x4
	.byte	0x2c
	.byte	0x19
	.long	0x85
	.uleb128 0x9
	.byte	0x8
	.byte	0x5
	.long	.LASF11
	.uleb128 0x6
	.long	.LASF12
	.byte	0x4
	.byte	0x2d
	.byte	0x1b
	.long	0x3a
	.uleb128 0x9
	.byte	0x1
	.byte	0x6
	.long	.LASF13
	.uleb128 0x5
	.long	0x98
	.uleb128 0x2
	.long	0x9f
	.uleb128 0x9
	.byte	0x8
	.byte	0x5
	.long	.LASF14
	.uleb128 0x6
	.long	.LASF15
	.byte	0x5
	.byte	0x1b
	.byte	0x13
	.long	0x79
	.uleb128 0x1e
	.byte	0x8
	.byte	0x6
	.byte	0x1c
	.byte	0x3
	.long	0xe0
	.uleb128 0x1
	.long	.LASF16
	.byte	0x6
	.byte	0x1e
	.byte	0x12
	.long	0x41
	.byte	0
	.uleb128 0x1
	.long	.LASF17
	.byte	0x6
	.byte	0x1f
	.byte	0x12
	.long	0x41
	.byte	0x4
	.byte	0
	.uleb128 0x11
	.byte	0x8
	.byte	0x6
	.byte	0x19
	.long	0x101
	.uleb128 0xb
	.long	.LASF18
	.byte	0x6
	.byte	0x1b
	.byte	0x28
	.long	0x101
	.uleb128 0xb
	.long	.LASF19
	.byte	0x6
	.byte	0x20
	.byte	0x5
	.long	0xbc
	.byte	0
	.uleb128 0x9
	.byte	0x8
	.byte	0x7
	.long	.LASF20
	.uleb128 0x6
	.long	.LASF21
	.byte	0x6
	.byte	0x21
	.byte	0x3
	.long	0xe0
	.uleb128 0xc
	.long	.LASF25
	.byte	0x10
	.byte	0x7
	.byte	0x33
	.byte	0x10
	.long	0x13c
	.uleb128 0x1
	.long	.LASF22
	.byte	0x7
	.byte	0x35
	.byte	0x23
	.long	0x13c
	.byte	0
	.uleb128 0x1
	.long	.LASF23
	.byte	0x7
	.byte	0x36
	.byte	0x23
	.long	0x13c
	.byte	0x8
	.byte	0
	.uleb128 0x2
	.long	0x114
	.uleb128 0x6
	.long	.LASF24
	.byte	0x7
	.byte	0x37
	.byte	0x3
	.long	0x114
	.uleb128 0xc
	.long	.LASF26
	.byte	0x28
	.byte	0x8
	.byte	0x16
	.byte	0x8
	.long	0x1c3
	.uleb128 0x1
	.long	.LASF27
	.byte	0x8
	.byte	0x18
	.byte	0x7
	.long	0x66
	.byte	0
	.uleb128 0x1
	.long	.LASF28
	.byte	0x8
	.byte	0x19
	.byte	0x10
	.long	0x41
	.byte	0x4
	.uleb128 0x1
	.long	.LASF29
	.byte	0x8
	.byte	0x1a
	.byte	0x7
	.long	0x66
	.byte	0x8
	.uleb128 0x1
	.long	.LASF30
	.byte	0x8
	.byte	0x1c
	.byte	0x10
	.long	0x41
	.byte	0xc
	.uleb128 0x1
	.long	.LASF31
	.byte	0x8
	.byte	0x20
	.byte	0x7
	.long	0x66
	.byte	0x10
	.uleb128 0x1
	.long	.LASF32
	.byte	0x8
	.byte	0x22
	.byte	0x9
	.long	0x5f
	.byte	0x14
	.uleb128 0x1
	.long	.LASF33
	.byte	0x8
	.byte	0x23
	.byte	0x9
	.long	0x5f
	.byte	0x16
	.uleb128 0x1
	.long	.LASF34
	.byte	0x8
	.byte	0x24
	.byte	0x14
	.long	0x141
	.byte	0x18
	.byte	0
	.uleb128 0xc
	.long	.LASF35
	.byte	0x30
	.byte	0x7
	.byte	0x5e
	.byte	0x8
	.long	0x22c
	.uleb128 0x1
	.long	.LASF36
	.byte	0x7
	.byte	0x60
	.byte	0x19
	.long	0x108
	.byte	0
	.uleb128 0x1
	.long	.LASF37
	.byte	0x7
	.byte	0x61
	.byte	0x19
	.long	0x108
	.byte	0x8
	.uleb128 0x1
	.long	.LASF38
	.byte	0x7
	.byte	0x62
	.byte	0x10
	.long	0x22c
	.byte	0x10
	.uleb128 0x1
	.long	.LASF39
	.byte	0x7
	.byte	0x63
	.byte	0x10
	.long	0x22c
	.byte	0x18
	.uleb128 0x1
	.long	.LASF40
	.byte	0x7
	.byte	0x64
	.byte	0x10
	.long	0x41
	.byte	0x20
	.uleb128 0x1
	.long	.LASF41
	.byte	0x7
	.byte	0x65
	.byte	0x10
	.long	0x41
	.byte	0x24
	.uleb128 0x1
	.long	.LASF42
	.byte	0x7
	.byte	0x66
	.byte	0x10
	.long	0x22c
	.byte	0x28
	.byte	0
	.uleb128 0xd
	.long	0x41
	.long	0x23c
	.uleb128 0xe
	.long	0x3a
	.byte	0x1
	.byte	0
	.uleb128 0x11
	.byte	0x28
	.byte	0x9
	.byte	0x43
	.long	0x269
	.uleb128 0xb
	.long	.LASF43
	.byte	0x9
	.byte	0x45
	.byte	0x1c
	.long	0x14d
	.uleb128 0xb
	.long	.LASF44
	.byte	0x9
	.byte	0x46
	.byte	0x8
	.long	0x269
	.uleb128 0xb
	.long	.LASF45
	.byte	0x9
	.byte	0x47
	.byte	0xc
	.long	0x85
	.byte	0
	.uleb128 0xd
	.long	0x98
	.long	0x279
	.uleb128 0xe
	.long	0x3a
	.byte	0x27
	.byte	0
	.uleb128 0x6
	.long	.LASF46
	.byte	0x9
	.byte	0x48
	.byte	0x3
	.long	0x23c
	.uleb128 0x11
	.byte	0x30
	.byte	0x9
	.byte	0x4b
	.long	0x2b2
	.uleb128 0xb
	.long	.LASF43
	.byte	0x9
	.byte	0x4d
	.byte	0x1b
	.long	0x1c3
	.uleb128 0xb
	.long	.LASF44
	.byte	0x9
	.byte	0x4e
	.byte	0x8
	.long	0x2b2
	.uleb128 0xb
	.long	.LASF45
	.byte	0x9
	.byte	0x4f
	.byte	0x1f
	.long	0xa9
	.byte	0
	.uleb128 0xd
	.long	0x98
	.long	0x2c2
	.uleb128 0xe
	.long	0x3a
	.byte	0x2f
	.byte	0
	.uleb128 0x6
	.long	.LASF47
	.byte	0x9
	.byte	0x50
	.byte	0x3
	.long	0x285
	.uleb128 0x2
	.long	0x2d3
	.uleb128 0x1f
	.uleb128 0x6
	.long	.LASF48
	.byte	0xa
	.byte	0x1a
	.byte	0x14
	.long	0x6d
	.uleb128 0x6
	.long	.LASF49
	.byte	0xa
	.byte	0x1b
	.byte	0x14
	.long	0x8c
	.uleb128 0x6
	.long	.LASF50
	.byte	0xb
	.byte	0x1c
	.byte	0x1c
	.long	0x51
	.uleb128 0xc
	.long	.LASF51
	.byte	0x10
	.byte	0xc
	.byte	0xb7
	.byte	0x8
	.long	0x320
	.uleb128 0x1
	.long	.LASF52
	.byte	0xc
	.byte	0xb9
	.byte	0x5
	.long	0x2ec
	.byte	0
	.uleb128 0x1
	.long	.LASF53
	.byte	0xc
	.byte	0xba
	.byte	0xa
	.long	0x325
	.byte	0x2
	.byte	0
	.uleb128 0x5
	.long	0x2f8
	.uleb128 0xd
	.long	0x98
	.long	0x335
	.uleb128 0xe
	.long	0x3a
	.byte	0xd
	.byte	0
	.uleb128 0x2
	.long	0x2f8
	.uleb128 0x4
	.long	0x335
	.uleb128 0x7
	.long	.LASF54
	.uleb128 0x5
	.long	0x33f
	.uleb128 0x2
	.long	0x33f
	.uleb128 0x4
	.long	0x349
	.uleb128 0x7
	.long	.LASF55
	.uleb128 0x5
	.long	0x353
	.uleb128 0x2
	.long	0x353
	.uleb128 0x4
	.long	0x35d
	.uleb128 0x7
	.long	.LASF56
	.uleb128 0x5
	.long	0x367
	.uleb128 0x2
	.long	0x367
	.uleb128 0x4
	.long	0x371
	.uleb128 0x7
	.long	.LASF57
	.uleb128 0x5
	.long	0x37b
	.uleb128 0x2
	.long	0x37b
	.uleb128 0x4
	.long	0x385
	.uleb128 0x7
	.long	.LASF58
	.uleb128 0x5
	.long	0x38f
	.uleb128 0x2
	.long	0x38f
	.uleb128 0x4
	.long	0x399
	.uleb128 0x7
	.long	.LASF59
	.uleb128 0x5
	.long	0x3a3
	.uleb128 0x2
	.long	0x3a3
	.uleb128 0x4
	.long	0x3ad
	.uleb128 0x7
	.long	.LASF60
	.uleb128 0x5
	.long	0x3b7
	.uleb128 0x2
	.long	0x3b7
	.uleb128 0x4
	.long	0x3c1
	.uleb128 0x7
	.long	.LASF61
	.uleb128 0x5
	.long	0x3cb
	.uleb128 0x2
	.long	0x3cb
	.uleb128 0x4
	.long	0x3d5
	.uleb128 0x7
	.long	.LASF62
	.uleb128 0x5
	.long	0x3df
	.uleb128 0x2
	.long	0x3df
	.uleb128 0x4
	.long	0x3e9
	.uleb128 0x7
	.long	.LASF63
	.uleb128 0x5
	.long	0x3f3
	.uleb128 0x2
	.long	0x3f3
	.uleb128 0x4
	.long	0x3fd
	.uleb128 0x7
	.long	.LASF64
	.uleb128 0x5
	.long	0x407
	.uleb128 0x2
	.long	0x407
	.uleb128 0x4
	.long	0x411
	.uleb128 0x7
	.long	.LASF65
	.uleb128 0x5
	.long	0x41b
	.uleb128 0x2
	.long	0x41b
	.uleb128 0x4
	.long	0x425
	.uleb128 0x2
	.long	0x320
	.uleb128 0x4
	.long	0x42f
	.uleb128 0x2
	.long	0x344
	.uleb128 0x4
	.long	0x439
	.uleb128 0x2
	.long	0x358
	.uleb128 0x4
	.long	0x443
	.uleb128 0x2
	.long	0x36c
	.uleb128 0x4
	.long	0x44d
	.uleb128 0x2
	.long	0x380
	.uleb128 0x4
	.long	0x457
	.uleb128 0x2
	.long	0x394
	.uleb128 0x4
	.long	0x461
	.uleb128 0x2
	.long	0x3a8
	.uleb128 0x4
	.long	0x46b
	.uleb128 0x2
	.long	0x3bc
	.uleb128 0x4
	.long	0x475
	.uleb128 0x2
	.long	0x3d0
	.uleb128 0x4
	.long	0x47f
	.uleb128 0x2
	.long	0x3e4
	.uleb128 0x4
	.long	0x489
	.uleb128 0x2
	.long	0x3f8
	.uleb128 0x4
	.long	0x493
	.uleb128 0x2
	.long	0x40c
	.uleb128 0x4
	.long	0x49d
	.uleb128 0x2
	.long	0x420
	.uleb128 0x4
	.long	0x4a7
	.uleb128 0x6
	.long	.LASF66
	.byte	0xd
	.byte	0x3e
	.byte	0x20
	.long	0x4bd
	.uleb128 0xc
	.long	.LASF67
	.byte	0xb0
	.byte	0xd
	.byte	0x4d
	.byte	0x8
	.long	0x5e9
	.uleb128 0x1
	.long	.LASF68
	.byte	0xd
	.byte	0x51
	.byte	0x9
	.long	0x5fd
	.byte	0
	.uleb128 0x1
	.long	.LASF69
	.byte	0xd
	.byte	0x52
	.byte	0x9
	.long	0x5fd
	.byte	0x8
	.uleb128 0x1
	.long	.LASF70
	.byte	0xd
	.byte	0x55
	.byte	0xd
	.long	0x611
	.byte	0x10
	.uleb128 0x1
	.long	.LASF71
	.byte	0xd
	.byte	0x56
	.byte	0x12
	.long	0x625
	.byte	0x18
	.uleb128 0x1
	.long	.LASF72
	.byte	0xd
	.byte	0x57
	.byte	0x9
	.long	0x64d
	.byte	0x20
	.uleb128 0x1
	.long	.LASF73
	.byte	0xd
	.byte	0x5a
	.byte	0x9
	.long	0x5fd
	.byte	0x28
	.uleb128 0x1
	.long	.LASF74
	.byte	0xd
	.byte	0x5b
	.byte	0x9
	.long	0x5fd
	.byte	0x30
	.uleb128 0x1
	.long	.LASF75
	.byte	0xd
	.byte	0x5c
	.byte	0x9
	.long	0x5fd
	.byte	0x38
	.uleb128 0x1
	.long	.LASF76
	.byte	0xd
	.byte	0x5d
	.byte	0x9
	.long	0x5fd
	.byte	0x40
	.uleb128 0x1
	.long	.LASF77
	.byte	0xd
	.byte	0x5e
	.byte	0x9
	.long	0x5fd
	.byte	0x48
	.uleb128 0x1
	.long	.LASF78
	.byte	0xd
	.byte	0x5f
	.byte	0x9
	.long	0x5fd
	.byte	0x50
	.uleb128 0x1
	.long	.LASF79
	.byte	0xd
	.byte	0x60
	.byte	0x9
	.long	0x5fd
	.byte	0x58
	.uleb128 0x1
	.long	.LASF80
	.byte	0xd
	.byte	0x61
	.byte	0x9
	.long	0x5fd
	.byte	0x60
	.uleb128 0x1
	.long	.LASF81
	.byte	0xd
	.byte	0x62
	.byte	0x9
	.long	0x5fd
	.byte	0x68
	.uleb128 0x1
	.long	.LASF82
	.byte	0xd
	.byte	0x63
	.byte	0x9
	.long	0x5fd
	.byte	0x70
	.uleb128 0x1
	.long	.LASF83
	.byte	0xd
	.byte	0x65
	.byte	0x9
	.long	0x67f
	.byte	0x78
	.uleb128 0x1
	.long	.LASF84
	.byte	0xd
	.byte	0x68
	.byte	0x9
	.long	0x6ac
	.byte	0x80
	.uleb128 0x1
	.long	.LASF85
	.byte	0xd
	.byte	0x6b
	.byte	0x9
	.long	0x6ca
	.byte	0x88
	.uleb128 0x1
	.long	.LASF86
	.byte	0xd
	.byte	0x6c
	.byte	0x9
	.long	0x6f2
	.byte	0x90
	.uleb128 0x1
	.long	.LASF87
	.byte	0xd
	.byte	0x6e
	.byte	0x9
	.long	0x6f2
	.byte	0x98
	.uleb128 0x1
	.long	.LASF88
	.byte	0xd
	.byte	0x70
	.byte	0x9
	.long	0x729
	.byte	0xa0
	.uleb128 0x1
	.long	.LASF89
	.byte	0xd
	.byte	0x72
	.byte	0x9
	.long	0x6f2
	.byte	0xa8
	.byte	0
	.uleb128 0xa
	.long	0x66
	.long	0x5f8
	.uleb128 0x3
	.long	0x5f8
	.byte	0
	.uleb128 0x2
	.long	0x4b1
	.uleb128 0x2
	.long	0x5e9
	.uleb128 0xa
	.long	0xb0
	.long	0x611
	.uleb128 0x3
	.long	0x5f8
	.byte	0
	.uleb128 0x2
	.long	0x602
	.uleb128 0xa
	.long	0xa4
	.long	0x625
	.uleb128 0x3
	.long	0x5f8
	.byte	0
	.uleb128 0x2
	.long	0x616
	.uleb128 0xa
	.long	0x66
	.long	0x648
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x648
	.uleb128 0x3
	.long	0x648
	.uleb128 0x3
	.long	0x648
	.byte	0
	.uleb128 0x2
	.long	0x2d4
	.uleb128 0x2
	.long	0x62a
	.uleb128 0xa
	.long	0x66
	.long	0x67a
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x48
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x2e0
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x67a
	.byte	0
	.uleb128 0x2
	.long	0x66
	.uleb128 0x2
	.long	0x652
	.uleb128 0xa
	.long	0x66
	.long	0x6ac
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x2ce
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x2e0
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x67a
	.byte	0
	.uleb128 0x2
	.long	0x684
	.uleb128 0xa
	.long	0x66
	.long	0x6ca
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x67a
	.byte	0
	.uleb128 0x2
	.long	0x6b1
	.uleb128 0xa
	.long	0x66
	.long	0x6f2
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x2e0
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x67a
	.byte	0
	.uleb128 0x2
	.long	0x6cf
	.uleb128 0xa
	.long	0x66
	.long	0x71f
	.uleb128 0x3
	.long	0x5f8
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x2e0
	.uleb128 0x3
	.long	0x2d4
	.uleb128 0x3
	.long	0x71f
	.uleb128 0x3
	.long	0x67a
	.byte	0
	.uleb128 0x2
	.long	0x724
	.uleb128 0x7
	.long	.LASF90
	.uleb128 0x2
	.long	0x6f7
	.uleb128 0x20
	.byte	0x7
	.byte	0x4
	.long	0x41
	.byte	0x2
	.byte	0x2c
	.byte	0x8
	.long	0x749
	.uleb128 0x13
	.long	.LASF91
	.byte	0
	.uleb128 0x13
	.long	.LASF92
	.byte	0x1
	.byte	0
	.uleb128 0xc
	.long	.LASF93
	.byte	0x20
	.byte	0x2
	.byte	0x2b
	.byte	0x8
	.long	0x78b
	.uleb128 0x1
	.long	.LASF94
	.byte	0x2
	.byte	0x2c
	.byte	0x20
	.long	0x72e
	.byte	0
	.uleb128 0x1
	.long	.LASF95
	.byte	0x2
	.byte	0x2d
	.byte	0x10
	.long	0x5f8
	.byte	0x8
	.uleb128 0x1
	.long	.LASF96
	.byte	0x2
	.byte	0x2e
	.byte	0xc
	.long	0x2e0
	.byte	0x10
	.uleb128 0x1
	.long	.LASF97
	.byte	0x2
	.byte	0x2f
	.byte	0xc
	.long	0x2d4
	.byte	0x18
	.byte	0
	.uleb128 0xc
	.long	.LASF98
	.byte	0x18
	.byte	0x2
	.byte	0x31
	.byte	0x1
	.long	0x7b7
	.uleb128 0x12
	.string	"ptr"
	.long	0x7b7
	.byte	0
	.uleb128 0x12
	.string	"len"
	.long	0x2e
	.byte	0x8
	.uleb128 0x12
	.string	"cap"
	.long	0x2e
	.byte	0x10
	.byte	0
	.uleb128 0x2
	.long	0x749
	.uleb128 0x6
	.long	.LASF98
	.byte	0x2
	.byte	0x31
	.byte	0x1
	.long	0x78b
	.uleb128 0xc
	.long	.LASF99
	.byte	0x70
	.byte	0x2
	.byte	0x33
	.byte	0x8
	.long	0x7fd
	.uleb128 0x1
	.long	.LASF100
	.byte	0x2
	.byte	0x34
	.byte	0x11
	.long	0x7bc
	.byte	0
	.uleb128 0x1
	.long	.LASF101
	.byte	0x2
	.byte	0x35
	.byte	0x13
	.long	0x279
	.byte	0x18
	.uleb128 0x1
	.long	.LASF102
	.byte	0x2
	.byte	0x36
	.byte	0x12
	.long	0x2c2
	.byte	0x40
	.byte	0
	.uleb128 0x21
	.long	.LASF103
	.byte	0xe
	.byte	0x2f
	.byte	0xe
	.long	0x48
	.long	0x81d
	.uleb128 0x3
	.long	0x48
	.uleb128 0x3
	.long	0x2ce
	.uleb128 0x3
	.long	0x2e
	.byte	0
	.uleb128 0x22
	.long	.LASF111
	.byte	0x11
	.byte	0x38
	.byte	0xd
	.long	0x82f
	.uleb128 0x3
	.long	0x82f
	.byte	0
	.uleb128 0x2
	.long	0x834
	.uleb128 0x2
	.long	0x279
	.uleb128 0x4
	.long	0x834
	.uleb128 0x14
	.long	.LASF104
	.value	0x46d
	.long	0x66
	.long	0x858
	.uleb128 0x3
	.long	0x85d
	.uleb128 0x3
	.long	0x839
	.byte	0
	.uleb128 0x2
	.long	0x2c2
	.uleb128 0x4
	.long	0x858
	.uleb128 0x23
	.long	.LASF105
	.byte	0x10
	.byte	0x45
	.byte	0xd
	.long	0x883
	.uleb128 0x3
	.long	0xa4
	.uleb128 0x3
	.long	0xa4
	.uleb128 0x3
	.long	0x41
	.uleb128 0x3
	.long	0xa4
	.byte	0
	.uleb128 0x14
	.long	.LASF106
	.value	0x31a
	.long	0x66
	.long	0x898
	.uleb128 0x3
	.long	0x834
	.byte	0
	.uleb128 0x24
	.long	.LASF112
	.byte	0x1
	.byte	0x2f
	.byte	0x1
	.long	0x48
	.quad	.LFB40
	.quad	.LFE40-.LFB40
	.uleb128 0x1
	.byte	0x9c
	.long	0xa77
	.uleb128 0x25
	.string	"vp"
	.byte	0x1
	.byte	0x2f
	.byte	0x19
	.long	0x48
	.long	.LLST0
	.long	.LVUS0
	.uleb128 0x26
	.long	.LASF107
	.byte	0x1
	.byte	0x31
	.byte	0x19
	.long	0xa77
	.long	.LLST1
	.long	.LVUS1
	.uleb128 0x27
	.long	.LASF113
	.long	0xa8c
	.uleb128 0x9
	.byte	0x3
	.quad	__PRETTY_FUNCTION__.1
	.uleb128 0x15
	.long	.LLRL2
	.uleb128 0x16
	.string	"cmd"
	.byte	0x34
	.byte	0x14
	.long	0x749
	.long	.LLST3
	.long	.LVUS3
	.uleb128 0x17
	.long	.LLRL4
	.long	0xa4c
	.uleb128 0x28
	.long	.LASF114
	.byte	0x1
	.byte	0x38
	.byte	0x7
	.long	0x834
	.uleb128 0x3
	.byte	0x91
	.sleb128 -72
	.uleb128 0x17
	.long	.LLRL5
	.long	0x994
	.uleb128 0x16
	.string	"_r"
	.byte	0x38
	.byte	0x7
	.long	0x66
	.long	.LLST6
	.long	.LVUS6
	.uleb128 0x18
	.quad	.LVL2
	.long	0x883
	.long	0x958
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x2
	.byte	0x76
	.sleb128 0
	.byte	0
	.uleb128 0x19
	.quad	.LVL20
	.long	0x862
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x9
	.byte	0x3
	.quad	.LC1
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x9
	.byte	0x3
	.quad	.LC0
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x51
	.uleb128 0x2
	.byte	0x8
	.byte	0x38
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x52
	.uleb128 0x9
	.byte	0x3
	.quad	__PRETTY_FUNCTION__.1
	.byte	0
	.byte	0
	.uleb128 0x29
	.long	0xa91
	.quad	.LBI18
	.byte	.LVU27
	.long	.LLRL7
	.byte	0x1
	.byte	0x3c
	.byte	0x7
	.long	0xa18
	.uleb128 0xf
	.long	0xaa1
	.long	.LLST8
	.long	.LVUS8
	.uleb128 0xf
	.long	0xa9a
	.long	.LLST9
	.long	.LVUS9
	.uleb128 0x2a
	.long	0xaae
	.quad	.LBI19
	.byte	.LVU29
	.long	.LLRL7
	.byte	0x2
	.byte	0x31
	.byte	0x1
	.uleb128 0xf
	.long	0xabe
	.long	.LLST10
	.long	.LVUS10
	.uleb128 0xf
	.long	0xac6
	.long	.LLST11
	.long	.LVUS11
	.uleb128 0xf
	.long	0xab7
	.long	.LLST12
	.long	.LVUS12
	.uleb128 0x15
	.long	.LLRL7
	.uleb128 0x2b
	.quad	.LVL9
	.long	0x7fd
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x18
	.quad	.LVL4
	.long	0x83e
	.long	0xa36
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x2
	.byte	0x7c
	.sleb128 0
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x2
	.byte	0x76
	.sleb128 0
	.byte	0
	.uleb128 0x19
	.quad	.LVL11
	.long	0x81d
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x3
	.byte	0x91
	.sleb128 -72
	.byte	0
	.byte	0
	.uleb128 0x2c
	.quad	.LVL12
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x2
	.byte	0x7d
	.sleb128 0
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x5
	.byte	0x91
	.sleb128 -84
	.byte	0x94
	.byte	0x4
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x51
	.uleb128 0x2
	.byte	0x7f
	.sleb128 0
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x52
	.uleb128 0x1
	.byte	0x30
	.uleb128 0x8
	.uleb128 0x1
	.byte	0x58
	.uleb128 0x1
	.byte	0x30
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x2
	.long	0x7c8
	.uleb128 0xd
	.long	0x9f
	.long	0xa8c
	.uleb128 0xe
	.long	0x3a
	.byte	0x10
	.byte	0
	.uleb128 0x5
	.long	0xa7c
	.uleb128 0x1a
	.long	.LASF108
	.long	0xaa9
	.uleb128 0x10
	.string	"v"
	.long	0xaa9
	.uleb128 0x10
	.string	"i"
	.long	0x2e
	.byte	0
	.uleb128 0x2
	.long	0x7bc
	.uleb128 0x1a
	.long	.LASF109
	.long	0xad7
	.uleb128 0x10
	.string	"v"
	.long	0xaa9
	.uleb128 0x10
	.string	"nr"
	.long	0x2e
	.uleb128 0x10
	.string	"i"
	.long	0x2e
	.uleb128 0x2d
	.long	.LASF113
	.long	0xae7
	.byte	0
	.uleb128 0xd
	.long	0x9f
	.long	0xae7
	.uleb128 0xe
	.long	0x3a
	.byte	0x1a
	.byte	0
	.uleb128 0x5
	.long	0xad7
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0x21
	.sleb128 8
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0x5
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0x37
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0x26
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0x13
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x49
	.byte	0
	.uleb128 0x2
	.uleb128 0x18
	.uleb128 0x7e
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xb
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xc
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xd
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xe
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0xf
	.uleb128 0x5
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x10
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 2
	.uleb128 0x3b
	.uleb128 0x21
	.sleb128 49
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x11
	.uleb128 0x17
	.byte	0x1
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 9
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x12
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 2
	.uleb128 0x3b
	.uleb128 0x21
	.sleb128 49
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x13
	.uleb128 0x28
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1c
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x14
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 15
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 12
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x15
	.uleb128 0xb
	.byte	0x1
	.uleb128 0x55
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x16
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x17
	.uleb128 0xb
	.byte	0x1
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x18
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x19
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1a
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 2
	.uleb128 0x3b
	.uleb128 0x21
	.sleb128 49
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x20
	.uleb128 0x21
	.sleb128 3
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1b
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x1f
	.uleb128 0x1b
	.uleb128 0x1f
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x1c
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x1d
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0
	.byte	0
	.uleb128 0x1e
	.uleb128 0x13
	.byte	0x1
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1f
	.uleb128 0x26
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x20
	.uleb128 0x4
	.byte	0x1
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x21
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x22
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x23
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x87
	.uleb128 0x19
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x24
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x25
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x26
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x27
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x34
	.uleb128 0x19
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x28
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x29
	.uleb128 0x1d
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x52
	.uleb128 0x1
	.uleb128 0x2138
	.uleb128 0xb
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.uleb128 0x57
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2a
	.uleb128 0x1d
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x52
	.uleb128 0x1
	.uleb128 0x2138
	.uleb128 0xb
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.uleb128 0x57
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x2b
	.uleb128 0x48
	.byte	0
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2c
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.byte	0
	.byte	0
	.uleb128 0x2d
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x34
	.uleb128 0x19
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_loclists,"",@progbits
	.long	.Ldebug_loc3-.Ldebug_loc2
.Ldebug_loc2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.Ldebug_loc0:
.LVUS0:
	.uleb128 0
	.uleb128 .LVU7
	.uleb128 .LVU7
	.uleb128 .LVU40
	.uleb128 .LVU40
	.uleb128 .LVU41
	.uleb128 .LVU41
	.uleb128 .LVU42
	.uleb128 .LVU42
	.uleb128 .LVU46
	.uleb128 .LVU46
	.uleb128 0
.LLST0:
	.byte	0x4
	.uleb128 .LVL0-.Ltext0
	.uleb128 .LVL1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL13-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0x4
	.uleb128 .LVL13-.Ltext0
	.uleb128 .LVL14-.Ltext0
	.uleb128 0x3
	.byte	0x76
	.sleb128 -24
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL14-.Ltext0
	.uleb128 .LVL15-.Ltext0
	.uleb128 0x3
	.byte	0x7c
	.sleb128 -64
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL15-.Ltext0
	.uleb128 .LVL19-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL19-.Ltext0
	.uleb128 .LFE40-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.LVUS1:
	.uleb128 .LVU2
	.uleb128 .LVU7
	.uleb128 .LVU7
	.uleb128 .LVU40
	.uleb128 .LVU40
	.uleb128 .LVU41
	.uleb128 .LVU41
	.uleb128 .LVU42
	.uleb128 .LVU42
	.uleb128 .LVU46
	.uleb128 .LVU46
	.uleb128 0
.LLST1:
	.byte	0x4
	.uleb128 .LVL0-.Ltext0
	.uleb128 .LVL1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL13-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0x4
	.uleb128 .LVL13-.Ltext0
	.uleb128 .LVL14-.Ltext0
	.uleb128 0x3
	.byte	0x76
	.sleb128 -24
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL14-.Ltext0
	.uleb128 .LVL15-.Ltext0
	.uleb128 0x3
	.byte	0x7c
	.sleb128 -64
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL15-.Ltext0
	.uleb128 .LVL19-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL19-.Ltext0
	.uleb128 .LFE40-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.LVUS3:
	.uleb128 .LVU24
	.uleb128 .LVU25
	.uleb128 .LVU25
	.uleb128 .LVU26
	.uleb128 .LVU26
	.uleb128 .LVU33
	.uleb128 .LVU33
	.uleb128 .LVU43
	.uleb128 .LVU43
	.uleb128 .LVU44
	.uleb128 .LVU44
	.uleb128 .LVU45
.LLST3:
	.byte	0x4
	.uleb128 .LVL5-.Ltext0
	.uleb128 .LVL6-.Ltext0
	.uleb128 0x5
	.byte	0x5e
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0x1c
	.byte	0x4
	.uleb128 .LVL6-.Ltext0
	.uleb128 .LVL7-.Ltext0
	.uleb128 0xa
	.byte	0x5e
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0x4
	.byte	0x5d
	.byte	0x93
	.uleb128 0x8
	.byte	0x93
	.uleb128 0x10
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL8-.Ltext0
	.uleb128 0x12
	.byte	0x5e
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0x4
	.byte	0x5d
	.byte	0x93
	.uleb128 0x8
	.byte	0x5f
	.byte	0x93
	.uleb128 0x8
	.byte	0x91
	.sleb128 -84
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0x4
	.byte	0x4
	.uleb128 .LVL8-.Ltext0
	.uleb128 .LVL16-.Ltext0
	.uleb128 0xd
	.byte	0x5e
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0x4
	.byte	0x5d
	.byte	0x93
	.uleb128 0x8
	.byte	0x5f
	.byte	0x93
	.uleb128 0x8
	.byte	0x93
	.uleb128 0x8
	.byte	0x4
	.uleb128 .LVL16-.Ltext0
	.uleb128 .LVL17-.Ltext0
	.uleb128 0xa
	.byte	0x5e
	.byte	0x93
	.uleb128 0x4
	.byte	0x93
	.uleb128 0xc
	.byte	0x5f
	.byte	0x93
	.uleb128 0x8
	.byte	0x93
	.uleb128 0x8
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LVL18-.Ltext0
	.uleb128 0x7
	.byte	0x93
	.uleb128 0x10
	.byte	0x5f
	.byte	0x93
	.uleb128 0x8
	.byte	0x93
	.uleb128 0x8
	.byte	0
.LVUS6:
	.uleb128 .LVU12
	.uleb128 .LVU13
	.uleb128 .LVU46
	.uleb128 .LVU47
.LLST6:
	.byte	0x4
	.uleb128 .LVL2-.Ltext0
	.uleb128 .LVL3-.Ltext0
	.uleb128 0x1
	.byte	0x50
	.byte	0x4
	.uleb128 .LVL19-.Ltext0
	.uleb128 .LVL20-1-.Ltext0
	.uleb128 0x1
	.byte	0x50
	.byte	0
.LVUS8:
	.uleb128 .LVU27
	.uleb128 .LVU35
.LLST8:
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL10-.Ltext0
	.uleb128 0x2
	.byte	0x30
	.byte	0x9f
	.byte	0
.LVUS9:
	.uleb128 .LVU27
	.uleb128 .LVU35
.LLST9:
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL10-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.LVUS10:
	.uleb128 .LVU30
	.uleb128 .LVU35
.LLST10:
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL10-.Ltext0
	.uleb128 0x2
	.byte	0x31
	.byte	0x9f
	.byte	0
.LVUS11:
	.uleb128 .LVU30
	.uleb128 .LVU35
.LLST11:
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL10-.Ltext0
	.uleb128 0x2
	.byte	0x30
	.byte	0x9f
	.byte	0
.LVUS12:
	.uleb128 .LVU29
	.uleb128 .LVU35
.LLST12:
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL10-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.Ldebug_loc3:
	.section	.debug_aranges,"",@progbits
	.long	0x2c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x8
	.byte	0
	.value	0
	.value	0
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.quad	0
	.quad	0
	.section	.debug_rnglists,"",@progbits
.Ldebug_ranges0:
	.long	.Ldebug_ranges3-.Ldebug_ranges2
.Ldebug_ranges2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.LLRL2:
	.byte	0x4
	.uleb128 .LBB14-.Ltext0
	.uleb128 .LBE14-.Ltext0
	.byte	0x4
	.uleb128 .LBB34-.Ltext0
	.uleb128 .LBE34-.Ltext0
	.byte	0x4
	.uleb128 .LBB35-.Ltext0
	.uleb128 .LBE35-.Ltext0
	.byte	0x4
	.uleb128 .LBB36-.Ltext0
	.uleb128 .LBE36-.Ltext0
	.byte	0
.LLRL4:
	.byte	0x4
	.uleb128 .LBB15-.Ltext0
	.uleb128 .LBE15-.Ltext0
	.byte	0x4
	.uleb128 .LBB31-.Ltext0
	.uleb128 .LBE31-.Ltext0
	.byte	0x4
	.uleb128 .LBB32-.Ltext0
	.uleb128 .LBE32-.Ltext0
	.byte	0x4
	.uleb128 .LBB33-.Ltext0
	.uleb128 .LBE33-.Ltext0
	.byte	0
.LLRL5:
	.byte	0x4
	.uleb128 .LBB16-.Ltext0
	.uleb128 .LBE16-.Ltext0
	.byte	0x4
	.uleb128 .LBB17-.Ltext0
	.uleb128 .LBE17-.Ltext0
	.byte	0x4
	.uleb128 .LBB30-.Ltext0
	.uleb128 .LBE30-.Ltext0
	.byte	0
.LLRL7:
	.byte	0x4
	.uleb128 .LBB18-.Ltext0
	.uleb128 .LBE18-.Ltext0
	.byte	0x4
	.uleb128 .LBB27-.Ltext0
	.uleb128 .LBE27-.Ltext0
	.byte	0x4
	.uleb128 .LBB28-.Ltext0
	.uleb128 .LBE28-.Ltext0
	.byte	0x4
	.uleb128 .LBB29-.Ltext0
	.uleb128 .LBE29-.Ltext0
	.byte	0
.Ldebug_ranges3:
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF70:
	.string	"get_size"
.LASF38:
	.string	"__g_refs"
.LASF109:
	.string	"command_queue_remove_range"
.LASF43:
	.string	"__data"
.LASF99:
	.string	"bgthread_ctrl"
.LASF72:
	.string	"block_size"
.LASF85:
	.string	"flush"
.LASF66:
	.string	"nbdkit_next"
.LASF75:
	.string	"is_rotational"
.LASF80:
	.string	"can_fua"
.LASF49:
	.string	"uint64_t"
.LASF39:
	.string	"__g_size"
.LASF8:
	.string	"size_t"
.LASF60:
	.string	"sockaddr_inarp"
.LASF25:
	.string	"__pthread_internal_list"
.LASF90:
	.string	"nbdkit_extents"
.LASF14:
	.string	"long long int"
.LASF9:
	.string	"__uint32_t"
.LASF18:
	.string	"__value64"
.LASF46:
	.string	"pthread_mutex_t"
.LASF64:
	.string	"sockaddr_un"
.LASF28:
	.string	"__count"
.LASF7:
	.string	"short int"
.LASF68:
	.string	"prepare"
.LASF15:
	.string	"int64_t"
.LASF84:
	.string	"pwrite"
.LASF76:
	.string	"can_trim"
.LASF112:
	.string	"readahead_thread"
.LASF110:
	.string	"GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables"
.LASF102:
	.string	"cond"
.LASF24:
	.string	"__pthread_list_t"
.LASF22:
	.string	"__prev"
.LASF69:
	.string	"finalize"
.LASF106:
	.string	"pthread_mutex_lock"
.LASF50:
	.string	"sa_family_t"
.LASF36:
	.string	"__wseq"
.LASF23:
	.string	"__next"
.LASF88:
	.string	"extents"
.LASF91:
	.string	"CMD_QUIT"
.LASF63:
	.string	"sockaddr_ns"
.LASF61:
	.string	"sockaddr_ipx"
.LASF20:
	.string	"long long unsigned int"
.LASF67:
	.string	"nbdkit_next_ops"
.LASF19:
	.string	"__value32"
.LASF11:
	.string	"long int"
.LASF10:
	.string	"__int64_t"
.LASF74:
	.string	"can_flush"
.LASF98:
	.string	"command_queue"
.LASF37:
	.string	"__g1_start"
.LASF40:
	.string	"__g1_orig_size"
.LASF27:
	.string	"__lock"
.LASF32:
	.string	"__spins"
.LASF71:
	.string	"export_description"
.LASF83:
	.string	"pread"
.LASF4:
	.string	"unsigned char"
.LASF78:
	.string	"can_fast_zero"
.LASF103:
	.string	"memmove"
.LASF57:
	.string	"sockaddr_eon"
.LASF89:
	.string	"cache"
.LASF62:
	.string	"sockaddr_iso"
.LASF44:
	.string	"__size"
.LASF86:
	.string	"trim"
.LASF35:
	.string	"__pthread_cond_s"
.LASF6:
	.string	"signed char"
.LASF95:
	.string	"next"
.LASF59:
	.string	"sockaddr_in6"
.LASF48:
	.string	"uint32_t"
.LASF3:
	.string	"unsigned int"
.LASF108:
	.string	"command_queue_remove"
.LASF113:
	.string	"__PRETTY_FUNCTION__"
.LASF73:
	.string	"can_write"
.LASF16:
	.string	"__low"
.LASF21:
	.string	"__atomic_wide_counter"
.LASF53:
	.string	"sa_data"
.LASF82:
	.string	"can_cache"
.LASF5:
	.string	"short unsigned int"
.LASF96:
	.string	"offset"
.LASF114:
	.string	"_lock0"
.LASF56:
	.string	"sockaddr_dl"
.LASF111:
	.string	"cleanup_mutex_unlock"
.LASF13:
	.string	"char"
.LASF30:
	.string	"__nusers"
.LASF94:
	.string	"type"
.LASF101:
	.string	"lock"
.LASF79:
	.string	"can_extents"
.LASF41:
	.string	"__wrefs"
.LASF77:
	.string	"can_zero"
.LASF17:
	.string	"__high"
.LASF12:
	.string	"__uint64_t"
.LASF47:
	.string	"pthread_cond_t"
.LASF2:
	.string	"long unsigned int"
.LASF107:
	.string	"ctrl"
.LASF33:
	.string	"__elision"
.LASF65:
	.string	"sockaddr_x25"
.LASF52:
	.string	"sa_family"
.LASF104:
	.string	"pthread_cond_wait"
.LASF97:
	.string	"count"
.LASF92:
	.string	"CMD_CACHE"
.LASF42:
	.string	"__g_signals"
.LASF29:
	.string	"__owner"
.LASF54:
	.string	"sockaddr_at"
.LASF100:
	.string	"cmds"
.LASF34:
	.string	"__list"
.LASF26:
	.string	"__pthread_mutex_s"
.LASF81:
	.string	"can_multi_conn"
.LASF31:
	.string	"__kind"
.LASF105:
	.string	"__assert_fail"
.LASF58:
	.string	"sockaddr_in"
.LASF45:
	.string	"__align"
.LASF93:
	.string	"command"
.LASF87:
	.string	"zero"
.LASF51:
	.string	"sockaddr"
.LASF55:
	.string	"sockaddr_ax25"
	.section	.debug_line_str,"MS",@progbits,1
.LASF1:
	.string	"/tmp/nbdkit/filters/readahead"
.LASF0:
	.string	"bgthread.c"
	.ident	"GCC: (Debian 12.2.0-14+deb12u1) 12.2.0"
	.section	.note.GNU-stack,"",@progbits
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          nbdkit_readonly_filter_la-readonly.lo: readonly.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/unistd.h \
 /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
 /usr/include/x86_64-linux-gnu/bits/environments.h \
 /usr/include/x86_64-linux-gnu/bits/confname.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
 /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
 /usr/include/linux/close_range.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                	.file	"rotational.c"
	.text
.Ltext0:
	.file 0 "/tmp/nbdkit/filters/rotational" "rotational.c"
	.p2align 4
	.type	rotational_is_rotational, @function
rotational_is_rotational:
.LVL0:
.LFB25:
	.file 1 "rotational.c"
	.loc 1 66 1 view -0
	.cfi_startproc
	.loc 1 67 3 view .LVU1
	.loc 1 68 1 is_stmt 0 view .LVU2
	movl	rotational(%rip), %eax
	ret
	.cfi_endproc
.LFE25:
	.size	rotational_is_rotational, .-rotational_is_rotational
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"rotational"
	.text
	.p2align 4
	.type	rotational_config, @function
rotational_config:
.LVL1:
.LFB24:
	.loc 1 46 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 46 1 is_stmt 0 view .LVU4
	pushq	%r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	movq	%rcx, %r14
	pushq	%r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	movq	%rsi, %r13
	.loc 1 49 7 view .LVU5
	leaq	.LC0(%rip), %rsi
.LVL2:
	.loc 1 46 1 view .LVU6
	pushq	%r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	movq	%rdi, %r12
	.loc 1 47 3 is_stmt 1 view .LVU7
	.loc 1 49 3 view .LVU8
	.loc 1 49 7 is_stmt 0 view .LVU9
	movq	%rdx, %rdi
.LVL3:
	.loc 1 46 1 view .LVU10
	pushq	%rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.loc 1 46 1 view .LVU11
	movq	%rdx, %rbx
	.loc 1 49 7 view .LVU12
	call	strcmp@PLT
.LVL4:
	.loc 1 49 6 view .LVU13
	testl	%eax, %eax
	je	.L8
	.loc 1 58 5 is_stmt 1 view .LVU14
	.loc 1 58 12 is_stmt 0 view .LVU15
	movq	%r14, %rdx
	movq	%rbx, %rsi
	movq	%r13, %rdi
	.loc 1 59 1 view .LVU16
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
.LVL5:
	.loc 1 58 12 view .LVU17
	movq	%r12, %rax
	.loc 1 59 1 view .LVU18
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
.LVL6:
	.loc 1 59 1 view .LVU19
	popq	%r13
	.cfi_def_cfa_offset 16
.LVL7:
	.loc 1 59 1 view .LVU20
	popq	%r14
	.cfi_def_cfa_offset 8
.LVL8:
	.loc 1 58 12 view .LVU21
	jmp	*%rax
.LVL9:
	.p2align 4,,10
	.p2align 3
.L8:
	.cfi_restore_state
.LBB4:
.LBB5:
	.loc 1 50 9 view .LVU22
	movq	%r14, %rdi
	movl	%eax, %ebp
.LVL10:
	.loc 1 50 9 view .LVU23
.LBE5:
.LBI4:
	.loc 1 44 1 is_stmt 1 view .LVU24
.LBB6:
	.loc 1 50 5 view .LVU25
	.loc 1 50 9 is_stmt 0 view .LVU26
	call	nbdkit_parse_bool@PLT
.LVL11:
	.loc 1 51 5 is_stmt 1 view .LVU27
	.loc 1 51 8 is_stmt 0 view .LVU28
	cmpl	$-1, %eax
	je	.L6
	.loc 1 53 5 is_stmt 1 view .LVU29
	.loc 1 53 16 is_stmt 0 view .LVU30
	movl	%eax, rotational(%rip)
	.loc 1 54 5 is_stmt 1 view .LVU31
.LVL12:
.L3:
	.loc 1 54 5 is_stmt 0 view .LVU32
.LBE6:
.LBE4:
	.loc 1 59 1 view .LVU33
	popq	%rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
.LVL13:
	.loc 1 59 1 view .LVU34
	movl	%ebp, %eax
	popq	%rbp
	.cfi_def_cfa_offset 32
	popq	%r12
	.cfi_def_cfa_offset 24
.LVL14:
	.loc 1 59 1 view .LVU35
	popq	%r13
	.cfi_def_cfa_offset 16
.LVL15:
	.loc 1 59 1 view .LVU36
	popq	%r14
	.cfi_def_cfa_offset 8
.LVL16:
	.loc 1 59 1 view .LVU37
	ret
.LVL17:
.L6:
	.cfi_restore_state
.LBB8:
.LBB7:
	.loc 1 52 14 view .LVU38
	movl	$-1, %ebp
.LVL18:
	.loc 1 52 14 view .LVU39
	jmp	.L3
.LBE7:
.LBE8:
	.cfi_endproc
.LFE24:
	.size	rotational_config, .-rotational_config
	.section	.rodata.str1.1
.LC1:
	.string	"1.44.3"
	.text
	.p2align 4
	.globl	filter_init
	.type	filter_init, @function
filter_init:
.LFB26:
	.loc 1 78 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 78 1 view .LVU41
	leaq	.LC1(%rip), %rax
	movl	$6, filter(%rip)
	.loc 1 78 1 view .LVU42
	movq	%rax, 8+filter(%rip)
	.loc 1 78 1 view .LVU43
	leaq	filter(%rip), %rax
	ret
	.cfi_endproc
.LFE26:
	.size	filter_init, .-filter_init
	.section	.rodata.str1.1
.LC2:
	.string	"nbdkit rotational filter"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC3:
	.string	"rotational=true|false   Set the rotational property (default: true)"
	.section	.data.rel.local,"aw"
	.align 32
	.type	filter, @object
	.size	filter, 336
filter:
	.zero	16
	.quad	.LC0
	.quad	.LC2
	.zero	24
	.quad	rotational_config
	.zero	8
	.quad	.LC3
	.zero	136
	.quad	rotational_is_rotational
	.zero	112
	.data
	.align 4
	.type	rotational, @object
	.size	rotational, 4
rotational:
	.long	1
	.text
.Letext0:
	.file 2 "/usr/include/x86_64-linux-gnu/bits/types.h"
	.file 3 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h"
	.file 4 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h"
	.file 5 "/usr/include/x86_64-linux-gnu/bits/sockaddr.h"
	.file 6 "/usr/include/x86_64-linux-gnu/bits/socket.h"
	.file 7 "../../include/nbdkit-filter.h"
	.file 8 "../../include/nbdkit-common.h"
	.file 9 "/usr/include/string.h"
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.long	0xcb7
	.value	0x5
	.byte	0x1
	.byte	0x8
	.long	.Ldebug_abbrev0
	.uleb128 0x13
	.long	.LASF97
	.byte	0x1d
	.long	.LASF0
	.long	.LASF1
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.long	.Ldebug_line0
	.uleb128 0x9
	.byte	0x8
	.byte	0x7
	.long	.LASF2
	.uleb128 0x9
	.byte	0x4
	.byte	0x7
	.long	.LASF3
	.uleb128 0x14
	.byte	0x8
	.uleb128 0x9
	.byte	0x1
	.byte	0x8
	.long	.LASF4
	.uleb128 0x9
	.byte	0x2
	.byte	0x7
	.long	.LASF5
	.uleb128 0x9
	.byte	0x1
	.byte	0x6
	.long	.LASF6
	.uleb128 0x9
	.byte	0x2
	.byte	0x5
	.long	.LASF7
	.uleb128 0x15
	.byte	0x4
	.byte	0x5
	.string	"int"
	.uleb128 0x6
	.long	.LASF8
	.byte	0x2
	.byte	0x2a
	.byte	0x16
	.long	0x35
	.uleb128 0x6
	.long	.LASF9
	.byte	0x2
	.byte	0x2c
	.byte	0x19
	.long	0x79
	.uleb128 0x9
	.byte	0x8
	.byte	0x5
	.long	.LASF10
	.uleb128 0x6
	.long	.LASF11
	.byte	0x2
	.byte	0x2d
	.byte	0x1b
	.long	0x2e
	.uleb128 0x9
	.byte	0x1
	.byte	0x6
	.long	.LASF12
	.uleb128 0x8
	.long	0x8c
	.uleb128 0x2
	.long	0x93
	.uleb128 0x9
	.byte	0x8
	.byte	0x5
	.long	.LASF13
	.uleb128 0x6
	.long	.LASF14
	.byte	0x3
	.byte	0x1b
	.byte	0x13
	.long	0x6d
	.uleb128 0x9
	.byte	0x8
	.byte	0x7
	.long	.LASF15
	.uleb128 0x2
	.long	0xbc
	.uleb128 0x16
	.uleb128 0x6
	.long	.LASF16
	.byte	0x4
	.byte	0x1a
	.byte	0x14
	.long	0x61
	.uleb128 0x6
	.long	.LASF17
	.byte	0x4
	.byte	0x1b
	.byte	0x14
	.long	0x80
	.uleb128 0x6
	.long	.LASF18
	.byte	0x5
	.byte	0x1c
	.byte	0x1c
	.long	0x45
	.uleb128 0xe
	.long	.LASF36
	.byte	0x10
	.byte	0x6
	.byte	0xb7
	.long	0x108
	.uleb128 0x3
	.long	.LASF19
	.byte	0x6
	.byte	0xb9
	.byte	0x5
	.long	0xd5
	.byte	0
	.uleb128 0x3
	.long	.LASF20
	.byte	0x6
	.byte	0xba
	.byte	0xa
	.long	0x10d
	.byte	0x2
	.byte	0
	.uleb128 0x8
	.long	0xe1
	.uleb128 0x17
	.long	0x8c
	.long	0x11d
	.uleb128 0x18
	.long	0x2e
	.byte	0xd
	.byte	0
	.uleb128 0x2
	.long	0xe1
	.uleb128 0x5
	.long	0x11d
	.uleb128 0x7
	.long	.LASF21
	.uleb128 0x8
	.long	0x127
	.uleb128 0x2
	.long	0x127
	.uleb128 0x5
	.long	0x131
	.uleb128 0x7
	.long	.LASF22
	.uleb128 0x8
	.long	0x13b
	.uleb128 0x2
	.long	0x13b
	.uleb128 0x5
	.long	0x145
	.uleb128 0x7
	.long	.LASF23
	.uleb128 0x8
	.long	0x14f
	.uleb128 0x2
	.long	0x14f
	.uleb128 0x5
	.long	0x159
	.uleb128 0x7
	.long	.LASF24
	.uleb128 0x8
	.long	0x163
	.uleb128 0x2
	.long	0x163
	.uleb128 0x5
	.long	0x16d
	.uleb128 0x7
	.long	.LASF25
	.uleb128 0x8
	.long	0x177
	.uleb128 0x2
	.long	0x177
	.uleb128 0x5
	.long	0x181
	.uleb128 0x7
	.long	.LASF26
	.uleb128 0x8
	.long	0x18b
	.uleb128 0x2
	.long	0x18b
	.uleb128 0x5
	.long	0x195
	.uleb128 0x7
	.long	.LASF27
	.uleb128 0x8
	.long	0x19f
	.uleb128 0x2
	.long	0x19f
	.uleb128 0x5
	.long	0x1a9
	.uleb128 0x7
	.long	.LASF28
	.uleb128 0x8
	.long	0x1b3
	.uleb128 0x2
	.long	0x1b3
	.uleb128 0x5
	.long	0x1bd
	.uleb128 0x7
	.long	.LASF29
	.uleb128 0x8
	.long	0x1c7
	.uleb128 0x2
	.long	0x1c7
	.uleb128 0x5
	.long	0x1d1
	.uleb128 0x7
	.long	.LASF30
	.uleb128 0x8
	.long	0x1db
	.uleb128 0x2
	.long	0x1db
	.uleb128 0x5
	.long	0x1e5
	.uleb128 0x7
	.long	.LASF31
	.uleb128 0x8
	.long	0x1ef
	.uleb128 0x2
	.long	0x1ef
	.uleb128 0x5
	.long	0x1f9
	.uleb128 0x7
	.long	.LASF32
	.uleb128 0x8
	.long	0x203
	.uleb128 0x2
	.long	0x203
	.uleb128 0x5
	.long	0x20d
	.uleb128 0x2
	.long	0x108
	.uleb128 0x5
	.long	0x217
	.uleb128 0x2
	.long	0x12c
	.uleb128 0x5
	.long	0x221
	.uleb128 0x2
	.long	0x140
	.uleb128 0x5
	.long	0x22b
	.uleb128 0x2
	.long	0x154
	.uleb128 0x5
	.long	0x235
	.uleb128 0x2
	.long	0x168
	.uleb128 0x5
	.long	0x23f
	.uleb128 0x2
	.long	0x17c
	.uleb128 0x5
	.long	0x249
	.uleb128 0x2
	.long	0x190
	.uleb128 0x5
	.long	0x253
	.uleb128 0x2
	.long	0x1a4
	.uleb128 0x5
	.long	0x25d
	.uleb128 0x2
	.long	0x1b8
	.uleb128 0x5
	.long	0x267
	.uleb128 0x2
	.long	0x1cc
	.uleb128 0x5
	.long	0x271
	.uleb128 0x2
	.long	0x1e0
	.uleb128 0x5
	.long	0x27b
	.uleb128 0x2
	.long	0x1f4
	.uleb128 0x5
	.long	0x285
	.uleb128 0x2
	.long	0x208
	.uleb128 0x5
	.long	0x28f
	.uleb128 0x6
	.long	.LASF33
	.byte	0x7
	.byte	0x3c
	.byte	0x1f
	.long	0x2a5
	.uleb128 0x7
	.long	.LASF33
	.uleb128 0x6
	.long	.LASF34
	.byte	0x7
	.byte	0x3d
	.byte	0x1f
	.long	0x2b6
	.uleb128 0x7
	.long	.LASF34
	.uleb128 0x6
	.long	.LASF35
	.byte	0x7
	.byte	0x3e
	.byte	0x20
	.long	0x2c7
	.uleb128 0xe
	.long	.LASF37
	.byte	0xb0
	.byte	0x7
	.byte	0x4d
	.long	0x3f2
	.uleb128 0x3
	.long	.LASF38
	.byte	0x7
	.byte	0x51
	.byte	0x9
	.long	0x4e4
	.byte	0
	.uleb128 0x3
	.long	.LASF39
	.byte	0x7
	.byte	0x52
	.byte	0x9
	.long	0x4e4
	.byte	0x8
	.uleb128 0x3
	.long	.LASF40
	.byte	0x7
	.byte	0x55
	.byte	0xd
	.long	0x4f8
	.byte	0x10
	.uleb128 0x3
	.long	.LASF41
	.byte	0x7
	.byte	0x56
	.byte	0x12
	.long	0x50c
	.byte	0x18
	.uleb128 0x3
	.long	.LASF42
	.byte	0x7
	.byte	0x57
	.byte	0x9
	.long	0x534
	.byte	0x20
	.uleb128 0x3
	.long	.LASF43
	.byte	0x7
	.byte	0x5a
	.byte	0x9
	.long	0x4e4
	.byte	0x28
	.uleb128 0x3
	.long	.LASF44
	.byte	0x7
	.byte	0x5b
	.byte	0x9
	.long	0x4e4
	.byte	0x30
	.uleb128 0x3
	.long	.LASF45
	.byte	0x7
	.byte	0x5c
	.byte	0x9
	.long	0x4e4
	.byte	0x38
	.uleb128 0x3
	.long	.LASF46
	.byte	0x7
	.byte	0x5d
	.byte	0x9
	.long	0x4e4
	.byte	0x40
	.uleb128 0x3
	.long	.LASF47
	.byte	0x7
	.byte	0x5e
	.byte	0x9
	.long	0x4e4
	.byte	0x48
	.uleb128 0x3
	.long	.LASF48
	.byte	0x7
	.byte	0x5f
	.byte	0x9
	.long	0x4e4
	.byte	0x50
	.uleb128 0x3
	.long	.LASF49
	.byte	0x7
	.byte	0x60
	.byte	0x9
	.long	0x4e4
	.byte	0x58
	.uleb128 0x3
	.long	.LASF50
	.byte	0x7
	.byte	0x61
	.byte	0x9
	.long	0x4e4
	.byte	0x60
	.uleb128 0x3
	.long	.LASF51
	.byte	0x7
	.byte	0x62
	.byte	0x9
	.long	0x4e4
	.byte	0x68
	.uleb128 0x3
	.long	.LASF52
	.byte	0x7
	.byte	0x63
	.byte	0x9
	.long	0x4e4
	.byte	0x70
	.uleb128 0x3
	.long	.LASF53
	.byte	0x7
	.byte	0x65
	.byte	0x9
	.long	0x566
	.byte	0x78
	.uleb128 0x3
	.long	.LASF54
	.byte	0x7
	.byte	0x68
	.byte	0x9
	.long	0x593
	.byte	0x80
	.uleb128 0x3
	.long	.LASF55
	.byte	0x7
	.byte	0x6b
	.byte	0x9
	.long	0x5b1
	.byte	0x88
	.uleb128 0x3
	.long	.LASF56
	.byte	0x7
	.byte	0x6c
	.byte	0x9
	.long	0x5d9
	.byte	0x90
	.uleb128 0x3
	.long	.LASF57
	.byte	0x7
	.byte	0x6e
	.byte	0x9
	.long	0x5d9
	.byte	0x98
	.uleb128 0x3
	.long	.LASF58
	.byte	0x7
	.byte	0x70
	.byte	0x9
	.long	0x610
	.byte	0xa0
	.uleb128 0x3
	.long	.LASF59
	.byte	0x7
	.byte	0x72
	.byte	0x9
	.long	0x5d9
	.byte	0xa8
	.byte	0
	.uleb128 0x6
	.long	.LASF60
	.byte	0x7
	.byte	0x42
	.byte	0xd
	.long	0x3fe
	.uleb128 0x4
	.long	0x5a
	.long	0x417
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x98
	.uleb128 0x1
	.long	0x98
	.byte	0
	.uleb128 0x2
	.long	0x299
	.uleb128 0x6
	.long	.LASF61
	.byte	0x7
	.byte	0x44
	.byte	0xd
	.long	0x428
	.uleb128 0x4
	.long	0x5a
	.long	0x437
	.uleb128 0x1
	.long	0x417
	.byte	0
	.uleb128 0x6
	.long	.LASF62
	.byte	0x7
	.byte	0x45
	.byte	0xd
	.long	0x443
	.uleb128 0x4
	.long	0x5a
	.long	0x457
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x6
	.long	.LASF63
	.byte	0x7
	.byte	0x46
	.byte	0xd
	.long	0x463
	.uleb128 0x4
	.long	0x5a
	.long	0x47c
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x47c
	.byte	0
	.uleb128 0x2
	.long	0x481
	.uleb128 0x7
	.long	.LASF64
	.uleb128 0x6
	.long	.LASF65
	.byte	0x7
	.byte	0x48
	.byte	0x15
	.long	0x492
	.uleb128 0x4
	.long	0x98
	.long	0x4a6
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x6
	.long	.LASF66
	.byte	0x7
	.byte	0x4a
	.byte	0xd
	.long	0x4b2
	.uleb128 0x4
	.long	0x5a
	.long	0x4cb
	.uleb128 0x1
	.long	0x4cb
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x98
	.byte	0
	.uleb128 0x2
	.long	0x2aa
	.uleb128 0x4
	.long	0x5a
	.long	0x4df
	.uleb128 0x1
	.long	0x4df
	.byte	0
	.uleb128 0x2
	.long	0x2bb
	.uleb128 0x2
	.long	0x4d0
	.uleb128 0x4
	.long	0xa4
	.long	0x4f8
	.uleb128 0x1
	.long	0x4df
	.byte	0
	.uleb128 0x2
	.long	0x4e9
	.uleb128 0x4
	.long	0x98
	.long	0x50c
	.uleb128 0x1
	.long	0x4df
	.byte	0
	.uleb128 0x2
	.long	0x4fd
	.uleb128 0x4
	.long	0x5a
	.long	0x52f
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x52f
	.uleb128 0x1
	.long	0x52f
	.uleb128 0x1
	.long	0x52f
	.byte	0
	.uleb128 0x2
	.long	0xbd
	.uleb128 0x2
	.long	0x511
	.uleb128 0x4
	.long	0x5a
	.long	0x561
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x5a
	.uleb128 0x2
	.long	0x539
	.uleb128 0x4
	.long	0x5a
	.long	0x593
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0xb7
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x56b
	.uleb128 0x4
	.long	0x5a
	.long	0x5b1
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x598
	.uleb128 0x4
	.long	0x5a
	.long	0x5d9
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x5b6
	.uleb128 0x4
	.long	0x5a
	.long	0x606
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x606
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x60b
	.uleb128 0x7
	.long	.LASF67
	.uleb128 0x2
	.long	0x5de
	.uleb128 0x19
	.long	.LASF68
	.value	0x150
	.byte	0x7
	.byte	0xa0
	.byte	0x8
	.long	0x83c
	.uleb128 0x3
	.long	.LASF69
	.byte	0x7
	.byte	0xa8
	.byte	0x7
	.long	0x5a
	.byte	0
	.uleb128 0x3
	.long	.LASF70
	.byte	0x7
	.byte	0xa9
	.byte	0xf
	.long	0x98
	.byte	0x8
	.uleb128 0x3
	.long	.LASF71
	.byte	0x7
	.byte	0xae
	.byte	0xf
	.long	0x98
	.byte	0x10
	.uleb128 0x3
	.long	.LASF72
	.byte	0x7
	.byte	0xaf
	.byte	0xf
	.long	0x98
	.byte	0x18
	.uleb128 0x3
	.long	.LASF73
	.byte	0x7
	.byte	0xb0
	.byte	0xf
	.long	0x98
	.byte	0x20
	.uleb128 0x3
	.long	.LASF74
	.byte	0x7
	.byte	0xb2
	.byte	0xa
	.long	0x83d
	.byte	0x28
	.uleb128 0x3
	.long	.LASF75
	.byte	0x7
	.byte	0xb3
	.byte	0xa
	.long	0x83d
	.byte	0x30
	.uleb128 0x3
	.long	.LASF76
	.byte	0x7
	.byte	0xb5
	.byte	0x9
	.long	0x865
	.byte	0x38
	.uleb128 0x3
	.long	.LASF77
	.byte	0x7
	.byte	0xb7
	.byte	0x9
	.long	0x883
	.byte	0x40
	.uleb128 0x3
	.long	.LASF78
	.byte	0x7
	.byte	0xb9
	.byte	0xf
	.long	0x98
	.byte	0x48
	.uleb128 0x3
	.long	.LASF79
	.byte	0x7
	.byte	0xba
	.byte	0x9
	.long	0x897
	.byte	0x50
	.uleb128 0x3
	.long	.LASF80
	.byte	0x7
	.byte	0xbb
	.byte	0xa
	.long	0x83d
	.byte	0x58
	.uleb128 0x3
	.long	.LASF81
	.byte	0x7
	.byte	0xbd
	.byte	0x9
	.long	0x897
	.byte	0x60
	.uleb128 0x3
	.long	.LASF82
	.byte	0x7
	.byte	0xbe
	.byte	0x9
	.long	0x89c
	.byte	0x68
	.uleb128 0x3
	.long	.LASF83
	.byte	0x7
	.byte	0xbf
	.byte	0xa
	.long	0x8ac
	.byte	0x70
	.uleb128 0x3
	.long	.LASF84
	.byte	0x7
	.byte	0xc0
	.byte	0x9
	.long	0x8cf
	.byte	0x78
	.uleb128 0x3
	.long	.LASF85
	.byte	0x7
	.byte	0xc2
	.byte	0x9
	.long	0x8fc
	.byte	0x80
	.uleb128 0x3
	.long	.LASF86
	.byte	0x7
	.byte	0xc5
	.byte	0x12
	.long	0x924
	.byte	0x88
	.uleb128 0x3
	.long	.LASF87
	.byte	0x7
	.byte	0xc9
	.byte	0xc
	.long	0x951
	.byte	0x90
	.uleb128 0x3
	.long	.LASF88
	.byte	0x7
	.byte	0xcb
	.byte	0xa
	.long	0x961
	.byte	0x98
	.uleb128 0x3
	.long	.LASF38
	.byte	0x7
	.byte	0xcd
	.byte	0x9
	.long	0x97f
	.byte	0xa0
	.uleb128 0x3
	.long	.LASF39
	.byte	0x7
	.byte	0xcf
	.byte	0x9
	.long	0x998
	.byte	0xa8
	.uleb128 0x3
	.long	.LASF40
	.byte	0x7
	.byte	0xd2
	.byte	0xd
	.long	0x9b1
	.byte	0xb0
	.uleb128 0x3
	.long	.LASF41
	.byte	0x7
	.byte	0xd4
	.byte	0x12
	.long	0x9ca
	.byte	0xb8
	.uleb128 0x3
	.long	.LASF42
	.byte	0x7
	.byte	0xd5
	.byte	0x9
	.long	0x9f2
	.byte	0xc0
	.uleb128 0x3
	.long	.LASF43
	.byte	0x7
	.byte	0xd8
	.byte	0x9
	.long	0x998
	.byte	0xc8
	.uleb128 0x3
	.long	.LASF44
	.byte	0x7
	.byte	0xda
	.byte	0x9
	.long	0x998
	.byte	0xd0
	.uleb128 0x3
	.long	.LASF45
	.byte	0x7
	.byte	0xdc
	.byte	0x9
	.long	0x998
	.byte	0xd8
	.uleb128 0x3
	.long	.LASF46
	.byte	0x7
	.byte	0xdd
	.byte	0x9
	.long	0x998
	.byte	0xe0
	.uleb128 0x3
	.long	.LASF47
	.byte	0x7
	.byte	0xdf
	.byte	0x9
	.long	0x998
	.byte	0xe8
	.uleb128 0x3
	.long	.LASF48
	.byte	0x7
	.byte	0xe1
	.byte	0x9
	.long	0x998
	.byte	0xf0
	.uleb128 0x3
	.long	.LASF49
	.byte	0x7
	.byte	0xe2
	.byte	0x9
	.long	0x998
	.byte	0xf8
	.uleb128 0xa
	.long	.LASF50
	.byte	0xe4
	.long	0x998
	.value	0x100
	.uleb128 0xa
	.long	.LASF51
	.byte	0xe6
	.long	0x998
	.value	0x108
	.uleb128 0xa
	.long	.LASF52
	.byte	0xe7
	.long	0x998
	.value	0x110
	.uleb128 0xa
	.long	.LASF53
	.byte	0xea
	.long	0xa24
	.value	0x118
	.uleb128 0xa
	.long	.LASF54
	.byte	0xed
	.long	0xa56
	.value	0x120
	.uleb128 0xa
	.long	.LASF55
	.byte	0xf1
	.long	0xa79
	.value	0x128
	.uleb128 0xa
	.long	.LASF56
	.byte	0xf3
	.long	0x566
	.value	0x130
	.uleb128 0xa
	.long	.LASF57
	.byte	0xf6
	.long	0x566
	.value	0x138
	.uleb128 0xa
	.long	.LASF58
	.byte	0xf9
	.long	0xaab
	.value	0x140
	.uleb128 0xa
	.long	.LASF59
	.byte	0xfc
	.long	0x566
	.value	0x148
	.byte	0
	.uleb128 0x1a
	.uleb128 0x2
	.long	0x83c
	.uleb128 0x4
	.long	0x5a
	.long	0x860
	.uleb128 0x1
	.long	0x860
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x98
	.uleb128 0x1
	.long	0x98
	.byte	0
	.uleb128 0x2
	.long	0x3f2
	.uleb128 0x2
	.long	0x842
	.uleb128 0x4
	.long	0x5a
	.long	0x87e
	.uleb128 0x1
	.long	0x87e
	.uleb128 0x1
	.long	0x417
	.byte	0
	.uleb128 0x2
	.long	0x41c
	.uleb128 0x2
	.long	0x86a
	.uleb128 0x4
	.long	0x5a
	.long	0x897
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x2
	.long	0x888
	.uleb128 0x2
	.long	0x428
	.uleb128 0xf
	.long	0x8ac
	.uleb128 0x1
	.long	0x417
	.byte	0
	.uleb128 0x2
	.long	0x8a1
	.uleb128 0x4
	.long	0x5a
	.long	0x8ca
	.uleb128 0x1
	.long	0x8ca
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x2
	.long	0x437
	.uleb128 0x2
	.long	0x8b1
	.uleb128 0x4
	.long	0x5a
	.long	0x8f7
	.uleb128 0x1
	.long	0x8f7
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x47c
	.byte	0
	.uleb128 0x2
	.long	0x457
	.uleb128 0x2
	.long	0x8d4
	.uleb128 0x4
	.long	0x98
	.long	0x91f
	.uleb128 0x1
	.long	0x91f
	.uleb128 0x1
	.long	0x417
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x2
	.long	0x486
	.uleb128 0x2
	.long	0x901
	.uleb128 0x4
	.long	0x3c
	.long	0x94c
	.uleb128 0x1
	.long	0x94c
	.uleb128 0x1
	.long	0x4cb
	.uleb128 0x1
	.long	0x5a
	.uleb128 0x1
	.long	0x98
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x2
	.long	0x4a6
	.uleb128 0x2
	.long	0x929
	.uleb128 0xf
	.long	0x961
	.uleb128 0x1
	.long	0x3c
	.byte	0
	.uleb128 0x2
	.long	0x956
	.uleb128 0x4
	.long	0x5a
	.long	0x97f
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0x5a
	.byte	0
	.uleb128 0x2
	.long	0x966
	.uleb128 0x4
	.long	0x5a
	.long	0x998
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.byte	0
	.uleb128 0x2
	.long	0x984
	.uleb128 0x4
	.long	0xa4
	.long	0x9b1
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.byte	0
	.uleb128 0x2
	.long	0x99d
	.uleb128 0x4
	.long	0x98
	.long	0x9ca
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.byte	0
	.uleb128 0x2
	.long	0x9b6
	.uleb128 0x4
	.long	0x5a
	.long	0x9f2
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0x52f
	.uleb128 0x1
	.long	0x52f
	.uleb128 0x1
	.long	0x52f
	.byte	0
	.uleb128 0x2
	.long	0x9cf
	.uleb128 0x4
	.long	0x5a
	.long	0xa24
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0x9f7
	.uleb128 0x4
	.long	0x5a
	.long	0xa56
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0xb7
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0xa29
	.uleb128 0x4
	.long	0x5a
	.long	0xa79
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0xa5b
	.uleb128 0x4
	.long	0x5a
	.long	0xaab
	.uleb128 0x1
	.long	0x4df
	.uleb128 0x1
	.long	0x3c
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0xc9
	.uleb128 0x1
	.long	0xbd
	.uleb128 0x1
	.long	0x606
	.uleb128 0x1
	.long	0x561
	.byte	0
	.uleb128 0x2
	.long	0xa7e
	.uleb128 0x10
	.long	.LASF89
	.byte	0x29
	.byte	0xc
	.long	0x5a
	.uleb128 0x9
	.byte	0x3
	.quad	rotational
	.uleb128 0x10
	.long	.LASF90
	.byte	0x46
	.byte	0x1d
	.long	0x615
	.uleb128 0x9
	.byte	0x3
	.quad	filter
	.uleb128 0x11
	.long	.LASF91
	.byte	0x8
	.byte	0x6e
	.byte	0x1
	.long	0x5a
	.long	0xaf0
	.uleb128 0x1
	.long	0x98
	.byte	0
	.uleb128 0x11
	.long	.LASF92
	.byte	0x9
	.byte	0x9c
	.byte	0xc
	.long	0x5a
	.long	0xb0b
	.uleb128 0x1
	.long	0x98
	.uleb128 0x1
	.long	0x98
	.byte	0
	.uleb128 0x1b
	.long	.LASF98
	.byte	0x1
	.byte	0x4e
	.byte	0x1
	.long	0xb29
	.quad	.LFB26
	.quad	.LFE26-.LFB26
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x2
	.long	0x615
	.uleb128 0x1c
	.long	.LASF99
	.byte	0x1
	.byte	0x41
	.byte	0x1
	.long	0x5a
	.quad	.LFB25
	.quad	.LFE25-.LFB25
	.uleb128 0x1
	.byte	0x9c
	.long	0xb6b
	.uleb128 0x12
	.long	.LASF93
	.byte	0x41
	.byte	0x28
	.long	0x4df
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x12
	.long	.LASF94
	.byte	0x41
	.byte	0x34
	.long	0x3c
	.uleb128 0x1
	.byte	0x54
	.byte	0
	.uleb128 0x1d
	.long	.LASF100
	.byte	0x1
	.byte	0x2c
	.byte	0x1
	.long	0x5a
	.byte	0x1
	.long	0xbb4
	.uleb128 0xd
	.long	.LASF93
	.byte	0x2c
	.byte	0x28
	.long	0x860
	.uleb128 0xd
	.long	.LASF95
	.byte	0x2c
	.byte	0x3e
	.long	0x417
	.uleb128 0x1e
	.string	"key"
	.byte	0x1
	.byte	0x2d
	.byte	0x20
	.long	0x98
	.uleb128 0xd
	.long	.LASF96
	.byte	0x2d
	.byte	0x31
	.long	0x98
	.uleb128 0x1f
	.string	"r"
	.byte	0x1
	.byte	0x2f
	.byte	0x7
	.long	0x5a
	.byte	0
	.uleb128 0x20
	.long	0xb6b
	.quad	.LFB24
	.quad	.LFE24-.LFB24
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0xb
	.long	0xb7c
	.long	.LLST0
	.long	.LVUS0
	.uleb128 0xb
	.long	0xb87
	.long	.LLST1
	.long	.LVUS1
	.uleb128 0xb
	.long	0xb92
	.long	.LLST2
	.long	.LVUS2
	.uleb128 0xb
	.long	0xb9e
	.long	.LLST3
	.long	.LVUS3
	.uleb128 0x21
	.long	0xba9
	.uleb128 0x22
	.long	0xb6b
	.quad	.LBI4
	.byte	.LVU24
	.long	.LLRL4
	.byte	0x1
	.byte	0x2c
	.byte	0x1
	.long	0xc71
	.uleb128 0xb
	.long	0xb7c
	.long	.LLST5
	.long	.LVUS5
	.uleb128 0x23
	.long	0xb87
	.uleb128 0xb
	.long	0xb92
	.long	.LLST6
	.long	.LVUS6
	.uleb128 0xb
	.long	0xb9e
	.long	.LLST7
	.long	.LVUS7
	.uleb128 0x24
	.long	.LLRL8
	.uleb128 0x25
	.long	0xba9
	.long	.LLST9
	.long	.LVUS9
	.uleb128 0x26
	.quad	.LVL11
	.long	0xada
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x2
	.byte	0x7e
	.sleb128 0
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x27
	.quad	.LVL4
	.long	0xaf0
	.long	0xc96
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x2
	.byte	0x73
	.sleb128 0
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x9
	.byte	0x3
	.quad	.LC0
	.byte	0
	.uleb128 0x28
	.quad	.LVL9
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.uleb128 0xc
	.uleb128 0x1
	.byte	0x51
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0x5
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0x21
	.sleb128 8
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0x37
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0x13
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x26
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 7
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 9
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0xb
	.uleb128 0x5
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0xc
	.uleb128 0x49
	.byte	0
	.uleb128 0x2
	.uleb128 0x18
	.uleb128 0x7e
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xd
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xe
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 8
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xf
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x10
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x11
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x12
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x13
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x1f
	.uleb128 0x1b
	.uleb128 0x1f
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x14
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x15
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0
	.byte	0
	.uleb128 0x16
	.uleb128 0x26
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x17
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x18
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x19
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0x5
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1a
	.uleb128 0x15
	.byte	0
	.uleb128 0x27
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x1b
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x1c
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1d
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x20
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1e
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1f
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x20
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x21
	.uleb128 0x34
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x22
	.uleb128 0x1d
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x52
	.uleb128 0x1
	.uleb128 0x2138
	.uleb128 0xb
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x58
	.uleb128 0xb
	.uleb128 0x59
	.uleb128 0xb
	.uleb128 0x57
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x23
	.uleb128 0x5
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x24
	.uleb128 0xb
	.byte	0x1
	.uleb128 0x55
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x25
	.uleb128 0x34
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x26
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x27
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x28
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x82
	.uleb128 0x19
	.uleb128 0x83
	.uleb128 0x18
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_loclists,"",@progbits
	.long	.Ldebug_loc3-.Ldebug_loc2
.Ldebug_loc2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.Ldebug_loc0:
.LVUS0:
	.uleb128 0
	.uleb128 .LVU10
	.uleb128 .LVU10
	.uleb128 .LVU19
	.uleb128 .LVU19
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU35
	.uleb128 .LVU35
	.uleb128 .LVU38
	.uleb128 .LVU38
	.uleb128 0
.LLST0:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL3-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL3-.Ltext0
	.uleb128 .LVL6-.Ltext0
	.uleb128 0x1
	.byte	0x5c
	.byte	0x4
	.uleb128 .LVL6-.Ltext0
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 0x1
	.byte	0x50
	.byte	0x4
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 .LVL9-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL9-.Ltext0
	.uleb128 .LVL14-.Ltext0
	.uleb128 0x1
	.byte	0x5c
	.byte	0x4
	.uleb128 .LVL14-.Ltext0
	.uleb128 .LVL17-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LFE24-.Ltext0
	.uleb128 0x1
	.byte	0x5c
	.byte	0
.LVUS1:
	.uleb128 0
	.uleb128 .LVU6
	.uleb128 .LVU6
	.uleb128 .LVU20
	.uleb128 .LVU20
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU36
	.uleb128 .LVU36
	.uleb128 .LVU38
	.uleb128 .LVU38
	.uleb128 0
.LLST1:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL2-.Ltext0
	.uleb128 0x1
	.byte	0x54
	.byte	0x4
	.uleb128 .LVL2-.Ltext0
	.uleb128 .LVL7-.Ltext0
	.uleb128 0x1
	.byte	0x5d
	.byte	0x4
	.uleb128 .LVL7-.Ltext0
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 .LVL9-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL9-.Ltext0
	.uleb128 .LVL15-.Ltext0
	.uleb128 0x1
	.byte	0x5d
	.byte	0x4
	.uleb128 .LVL15-.Ltext0
	.uleb128 .LVL17-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LFE24-.Ltext0
	.uleb128 0x1
	.byte	0x5d
	.byte	0
.LVUS2:
	.uleb128 0
	.uleb128 .LVU13
	.uleb128 .LVU13
	.uleb128 .LVU17
	.uleb128 .LVU17
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU34
	.uleb128 .LVU34
	.uleb128 .LVU38
	.uleb128 .LVU38
	.uleb128 0
.LLST2:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 0x1
	.byte	0x51
	.byte	0x4
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 .LVL5-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0x4
	.uleb128 .LVL5-.Ltext0
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 0x1
	.byte	0x54
	.byte	0x4
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 .LVL9-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL9-.Ltext0
	.uleb128 .LVL13-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0x4
	.uleb128 .LVL13-.Ltext0
	.uleb128 .LVL17-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LFE24-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.LVUS3:
	.uleb128 0
	.uleb128 .LVU13
	.uleb128 .LVU13
	.uleb128 .LVU21
	.uleb128 .LVU21
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU22
	.uleb128 .LVU37
	.uleb128 .LVU37
	.uleb128 .LVU38
	.uleb128 .LVU38
	.uleb128 0
.LLST3:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 0x1
	.byte	0x52
	.byte	0x4
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 .LVL8-.Ltext0
	.uleb128 0x1
	.byte	0x5e
	.byte	0x4
	.uleb128 .LVL8-.Ltext0
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 0x1
	.byte	0x51
	.byte	0x4
	.uleb128 .LVL9-1-.Ltext0
	.uleb128 .LVL9-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL9-.Ltext0
	.uleb128 .LVL16-.Ltext0
	.uleb128 0x1
	.byte	0x5e
	.byte	0x4
	.uleb128 .LVL16-.Ltext0
	.uleb128 .LVL17-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x9f
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LFE24-.Ltext0
	.uleb128 0x1
	.byte	0x5e
	.byte	0
.LVUS5:
	.uleb128 .LVU25
	.uleb128 .LVU32
	.uleb128 .LVU38
	.uleb128 .LVU39
.LLST5:
	.byte	0x4
	.uleb128 .LVL10-.Ltext0
	.uleb128 .LVL12-.Ltext0
	.uleb128 0x1
	.byte	0x5c
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LVL18-.Ltext0
	.uleb128 0x1
	.byte	0x5c
	.byte	0
.LVUS6:
	.uleb128 .LVU25
	.uleb128 .LVU32
	.uleb128 .LVU38
	.uleb128 .LVU39
.LLST6:
	.byte	0x4
	.uleb128 .LVL10-.Ltext0
	.uleb128 .LVL12-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LVL18-.Ltext0
	.uleb128 0x1
	.byte	0x53
	.byte	0
.LVUS7:
	.uleb128 .LVU23
	.uleb128 .LVU27
	.uleb128 .LVU27
	.uleb128 .LVU32
	.uleb128 .LVU38
	.uleb128 .LVU39
.LLST7:
	.byte	0x4
	.uleb128 .LVL10-.Ltext0
	.uleb128 .LVL11-1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL11-1-.Ltext0
	.uleb128 .LVL12-.Ltext0
	.uleb128 0x1
	.byte	0x5e
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LVL18-.Ltext0
	.uleb128 0x1
	.byte	0x5e
	.byte	0
.LVUS9:
	.uleb128 .LVU27
	.uleb128 .LVU32
	.uleb128 .LVU38
	.uleb128 .LVU39
.LLST9:
	.byte	0x4
	.uleb128 .LVL11-.Ltext0
	.uleb128 .LVL12-.Ltext0
	.uleb128 0x1
	.byte	0x50
	.byte	0x4
	.uleb128 .LVL17-.Ltext0
	.uleb128 .LVL18-.Ltext0
	.uleb128 0x1
	.byte	0x50
	.byte	0
.Ldebug_loc3:
	.section	.debug_aranges,"",@progbits
	.long	0x2c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x8
	.byte	0
	.value	0
	.value	0
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.quad	0
	.quad	0
	.section	.debug_rnglists,"",@progbits
.Ldebug_ranges0:
	.long	.Ldebug_ranges3-.Ldebug_ranges2
.Ldebug_ranges2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.LLRL4:
	.byte	0x4
	.uleb128 .LBB4-.Ltext0
	.uleb128 .LBE4-.Ltext0
	.byte	0x4
	.uleb128 .LBB8-.Ltext0
	.uleb128 .LBE8-.Ltext0
	.byte	0
.LLRL8:
	.byte	0x4
	.uleb128 .LBB5-.Ltext0
	.uleb128 .LBE5-.Ltext0
	.byte	0x4
	.uleb128 .LBB6-.Ltext0
	.uleb128 .LBE6-.Ltext0
	.byte	0x4
	.uleb128 .LBB7-.Ltext0
	.uleb128 .LBE7-.Ltext0
	.byte	0
.Ldebug_ranges3:
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF82:
	.string	"after_fork"
.LASF66:
	.string	"nbdkit_next_open"
.LASF98:
	.string	"filter_init"
.LASF75:
	.string	"unload"
.LASF42:
	.string	"block_size"
.LASF55:
	.string	"flush"
.LASF64:
	.string	"nbdkit_exports"
.LASF35:
	.string	"nbdkit_next"
.LASF45:
	.string	"is_rotational"
.LASF58:
	.string	"extents"
.LASF50:
	.string	"can_fua"
.LASF17:
	.string	"uint64_t"
.LASF73:
	.string	"description"
.LASF29:
	.string	"sockaddr_iso"
.LASF54:
	.string	"pwrite"
.LASF74:
	.string	"load"
.LASF27:
	.string	"sockaddr_inarp"
.LASF65:
	.string	"nbdkit_next_default_export"
.LASF67:
	.string	"nbdkit_extents"
.LASF13:
	.string	"long long int"
.LASF8:
	.string	"__uint32_t"
.LASF72:
	.string	"longname"
.LASF31:
	.string	"sockaddr_un"
.LASF97:
	.string	"GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables"
.LASF34:
	.string	"nbdkit_context"
.LASF38:
	.string	"prepare"
.LASF14:
	.string	"int64_t"
.LASF96:
	.string	"value"
.LASF46:
	.string	"can_trim"
.LASF84:
	.string	"preconnect"
.LASF39:
	.string	"finalize"
.LASF76:
	.string	"config"
.LASF7:
	.string	"short int"
.LASF99:
	.string	"rotational_is_rotational"
.LASF33:
	.string	"nbdkit_backend"
.LASF30:
	.string	"sockaddr_ns"
.LASF28:
	.string	"sockaddr_ipx"
.LASF15:
	.string	"long long unsigned int"
.LASF86:
	.string	"default_export"
.LASF37:
	.string	"nbdkit_next_ops"
.LASF40:
	.string	"get_size"
.LASF10:
	.string	"long int"
.LASF9:
	.string	"__int64_t"
.LASF44:
	.string	"can_flush"
.LASF80:
	.string	"dump_plugin"
.LASF81:
	.string	"get_ready"
.LASF61:
	.string	"nbdkit_next_config_complete"
.LASF68:
	.string	"nbdkit_filter"
.LASF41:
	.string	"export_description"
.LASF53:
	.string	"pread"
.LASF4:
	.string	"unsigned char"
.LASF63:
	.string	"nbdkit_next_list_exports"
.LASF18:
	.string	"sa_family_t"
.LASF24:
	.string	"sockaddr_eon"
.LASF59:
	.string	"cache"
.LASF83:
	.string	"cleanup"
.LASF56:
	.string	"trim"
.LASF6:
	.string	"signed char"
.LASF93:
	.string	"next"
.LASF26:
	.string	"sockaddr_in6"
.LASF16:
	.string	"uint32_t"
.LASF3:
	.string	"unsigned int"
.LASF43:
	.string	"can_write"
.LASF85:
	.string	"list_exports"
.LASF69:
	.string	"_api_version"
.LASF20:
	.string	"sa_data"
.LASF52:
	.string	"can_cache"
.LASF5:
	.string	"short unsigned int"
.LASF48:
	.string	"can_fast_zero"
.LASF100:
	.string	"rotational_config"
.LASF23:
	.string	"sockaddr_dl"
.LASF12:
	.string	"char"
.LASF49:
	.string	"can_extents"
.LASF47:
	.string	"can_zero"
.LASF95:
	.string	"nxdata"
.LASF11:
	.string	"__uint64_t"
.LASF2:
	.string	"long unsigned int"
.LASF77:
	.string	"config_complete"
.LASF78:
	.string	"config_help"
.LASF91:
	.string	"nbdkit_parse_bool"
.LASF94:
	.string	"handle"
.LASF92:
	.string	"strcmp"
.LASF60:
	.string	"nbdkit_next_config"
.LASF70:
	.string	"_version"
.LASF19:
	.string	"sa_family"
.LASF21:
	.string	"sockaddr_at"
.LASF71:
	.string	"name"
.LASF79:
	.string	"thread_model"
.LASF87:
	.string	"open"
.LASF51:
	.string	"can_multi_conn"
.LASF32:
	.string	"sockaddr_x25"
.LASF89:
	.string	"rotational"
.LASF88:
	.string	"close"
.LASF90:
	.string	"filter"
.LASF25:
	.string	"sockaddr_in"
.LASF57:
	.string	"zero"
.LASF36:
	.string	"sockaddr"
.LASF22:
	.string	"sockaddr_ax25"
.LASF62:
	.string	"nbdkit_next_preconnect"
	.section	.debug_line_str,"MS",@progbits,1
.LASF1:
	.string	"/tmp/nbdkit/filters/rotational"
.LASF0:
	.string	"rotational.c"
	.ident	"GCC: (Debian 12.2.0-14+deb12u1) 12.2.0"
	.section	.note.GNU-stack,"",@progbits
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       nbdkit_rotational_filter_la-rotational.lo: rotational.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
 /usr/include/strings.h ../../include/nbdkit-filter.h \
 ../../include/nbdkit-common.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
/usr/include/strings.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   nbdkit_spinning_filter_la-spinning.lo: spinning.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/inttypes.h /usr/include/string.h /usr/include/strings.h \
 /usr/include/math.h /usr/include/x86_64-linux-gnu/bits/math-vector.h \
 /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
 /usr/include/x86_64-linux-gnu/bits/flt-eval-method.h \
 /usr/include/x86_64-linux-gnu/bits/fp-logb.h \
 /usr/include/x86_64-linux-gnu/bits/fp-fast.h \
 /usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h \
 /usr/include/x86_64-linux-gnu/bits/mathcalls.h \
 /usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h \
 /usr/include/x86_64-linux-gnu/bits/iscanonical.h /usr/include/assert.h \
 /usr/include/pthread.h /usr/include/sched.h \
 /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/utils/cleanup.h \
 ../../common/include/unique-name.h ../../common/utils/vector.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 ../../common/include/compiler-macros.h \
 ../../common/include/static-assert.h ../../common/include/unique-name.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/inttypes.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/math.h:
/usr/include/x86_64-linux-gnu/bits/math-vector.h:
/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h:
/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h:
/usr/include/x86_64-linux-gnu/bits/fp-logb.h:
/usr/include/x86_64-linux-gnu/bits/fp-fast.h:
/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:
/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h:
/usr/include/x86_64-linux-gnu/bits/iscanonical.h:
/usr/include/assert.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/utils/cleanup.h:
../../common/include/unique-name.h:
../../common/utils/vector.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
../../common/include/compiler-macros.h:
../../common/include/static-assert.h:
../../common/include/unique-name.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 nbdkit_swab_filter_la-swab.lo: swab.c /usr/include/stdc-predef.h \
 ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/inttypes.h /usr/include/string.h /usr/include/strings.h \
 ../../include/nbdkit-filter.h ../../include/nbdkit-common.h \
 /usr/include/errno.h /usr/include/x86_64-linux-gnu/bits/errno.h \
 /usr/include/linux/errno.h /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/include/byte-swapping.h \
 /usr/include/byteswap.h ../../common/include/isaligned.h \
 /usr/include/assert.h ../../common/include/ispowerof2.h \
 ../../common/utils/cleanup.h /usr/include/pthread.h /usr/include/sched.h \
 /usr/include/x86_64-linux-gnu/bits/sched.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h \
 /usr/include/x86_64-linux-gnu/bits/cpu-set.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 /usr/include/x86_64-linux-gnu/bits/setjmp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 ../../common/include/unique-name.h ../../common/include/minmax.h \
 ../../common/include/unique-name.h ../../common/include/rounding.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/inttypes.h:
/usr/include/string.h:
/usr/include/strings.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/include/byte-swapping.h:
/usr/include/byteswap.h:
../../common/include/isaligned.h:
/usr/include/assert.h:
../../common/include/ispowerof2.h:
../../common/utils/cleanup.h:
/usr/include/pthread.h:
/usr/include/sched.h:
/usr/include/x86_64-linux-gnu/bits/sched.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h:
/usr/include/x86_64-linux-gnu/bits/cpu-set.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
/usr/include/x86_64-linux-gnu/bits/setjmp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct___jmp_buf_tag.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
../../common/include/unique-name.h:
../../common/include/minmax.h:
../../common/include/unique-name.h:
../../common/include/rounding.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        nbdkit_time_limit_filter_la-time-limit.lo: time-limit.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/time.h ../../include/nbdkit-filter.h \
 ../../include/nbdkit-common.h /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h ../../common/include/tvdiff.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/time.h:
../../include/nbdkit-filter.h:
../../include/nbdkit-common.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
../../common/include/tvdiff.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   nbdkit_tls_fallback_filter_la-tls-fallback.lo: tls-fallback.c \
 /usr/include/stdc-predef.h ../../config.h /usr/include/string.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/strings.h /usr/include/assert.h \
 ../../include/nbdkit-filter.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 ../../include/nbdkit-common.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/bits/types/error_t.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/asm/socket.h \
 /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h \
 /usr/include/x86_64-linux-gnu/asm/sockios.h \
 /usr/include/asm-generic/sockios.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h \
 ../../include/nbdkit-version.h
/usr/include/stdc-predef.h:
../../config.h:
/usr/include/string.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/strings.h:
/usr/include/assert.h:
../../include/nbdkit-filter.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
../../include/nbdkit-common.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/bits/types/error_t.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/asm/socket.h:
/usr/include/asm-generic/socket.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/x86_64-linux-gnu/asm/sockios.h:
/usr/include/asm-generic/sockios.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_osockaddr.h:
../../include/nbdkit-version.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      nbdkit-wrapper.o: wrapper.c /usr/include/stdc-predef.h config.h \
 /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/waitflags.h \
 /usr/include/x86_64-linux-gnu/bits/waitstatus.h \
 /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h /usr/include/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endian.h \
 /usr/include/x86_64-linux-gnu/bits/endianness.h \
 /usr/include/x86_64-linux-gnu/bits/byteswap.h \
 /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \
 /usr/include/x86_64-linux-gnu/sys/select.h \
 /usr/include/x86_64-linux-gnu/bits/select.h \
 /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \
 /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \
 /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \
 /usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h \
 /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \
 /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h /usr/include/alloca.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h /usr/include/string.h \
 /usr/include/strings.h /usr/include/unistd.h \
 /usr/include/x86_64-linux-gnu/bits/posix_opt.h \
 /usr/include/x86_64-linux-gnu/bits/environments.h \
 /usr/include/x86_64-linux-gnu/bits/confname.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_core.h \
 /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \
 /usr/include/linux/close_range.h /usr/include/getopt.h \
 /usr/include/x86_64-linux-gnu/bits/getopt_ext.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h \
 /usr/include/limits.h /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \
 /usr/include/x86_64-linux-gnu/bits/local_lim.h \
 /usr/include/linux/limits.h \
 /usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h \
 /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \
 /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \
 /usr/include/x86_64-linux-gnu/bits/uio_lim.h /usr/include/time.h \
 /usr/include/x86_64-linux-gnu/bits/time.h \
 /usr/include/x86_64-linux-gnu/bits/timex.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \
 common/utils/const-string-vector.h common/utils/vector.h \
 /usr/include/assert.h common/include/compiler-macros.h \
 common/include/static-assert.h common/include/unique-name.h \
 server/options.h common/utils/windows-compat.h common/utils/utils.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \
 /usr/include/x86_64-linux-gnu/sys/stat.h \
 /usr/include/x86_64-linux-gnu/bits/stat.h \
 /usr/include/x86_64-linux-gnu/bits/struct_stat.h \
 /usr/include/x86_64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \
 /usr/include/linux/types.h /usr/include/x86_64-linux-gnu/asm/types.h \
 /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \
 /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \
 /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \
 /usr/include/linux/stddef.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types.h \
 /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \
 /usr/include/asm-generic/posix_types.h \
 /usr/include/x86_64-linux-gnu/bits/statx-generic.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h
/usr/include/stdc-predef.h:
config.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/waitflags.h:
/usr/include/x86_64-linux-gnu/bits/waitstatus.h:
/usr/include/x86_64-linux-gnu/bits/types/locale_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clock_t.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/endian.h:
/usr/include/x86_64-linux-gnu/bits/endian.h:
/usr/include/x86_64-linux-gnu/bits/endianness.h:
/usr/include/x86_64-linux-gnu/bits/byteswap.h:
/usr/include/x86_64-linux-gnu/bits/uintn-identity.h:
/usr/include/x86_64-linux-gnu/sys/select.h:
/usr/include/x86_64-linux-gnu/bits/select.h:
/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h:
/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h:
/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h:
/usr/include/x86_64-linux-gnu/bits/atomic_wide_counter.h:
/usr/include/x86_64-linux-gnu/bits/struct_mutex.h:
/usr/include/x86_64-linux-gnu/bits/struct_rwlock.h:
/usr/include/alloca.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdbool.h:
/usr/include/string.h:
/usr/include/strings.h:
/usr/include/unistd.h:
/usr/include/x86_64-linux-gnu/bits/posix_opt.h:
/usr/include/x86_64-linux-gnu/bits/environments.h:
/usr/include/x86_64-linux-gnu/bits/confname.h:
/usr/include/x86_64-linux-gnu/bits/getopt_posix.h:
/usr/include/x86_64-linux-gnu/bits/getopt_core.h:
/usr/include/x86_64-linux-gnu/bits/unistd_ext.h:
/usr/include/linux/close_range.h:
/usr/include/getopt.h:
/usr/include/x86_64-linux-gnu/bits/getopt_ext.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/limits.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/syslimits.h:
/usr/include/limits.h:
/usr/include/x86_64-linux-gnu/bits/posix1_lim.h:
/usr/include/x86_64-linux-gnu/bits/local_lim.h:
/usr/include/linux/limits.h:
/usr/include/x86_64-linux-gnu/bits/pthread_stack_min-dynamic.h:
/usr/include/x86_64-linux-gnu/bits/posix2_lim.h:
/usr/include/x86_64-linux-gnu/bits/xopen_lim.h:
/usr/include/x86_64-linux-gnu/bits/uio_lim.h:
/usr/include/time.h:
/usr/include/x86_64-linux-gnu/bits/time.h:
/usr/include/x86_64-linux-gnu/bits/timex.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h:
common/utils/const-string-vector.h:
common/utils/vector.h:
/usr/include/assert.h:
common/include/compiler-macros.h:
common/include/static-assert.h:
common/include/unique-name.h:
server/options.h:
common/utils/windows-compat.h:
common/utils/utils.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/x86_64-linux-gnu/sys/stat.h:
/usr/include/x86_64-linux-gnu/bits/stat.h:
/usr/include/x86_64-linux-gnu/bits/struct_stat.h:
/usr/include/x86_64-linux-gnu/bits/statx.h:
/usr/include/linux/stat.h:
/usr/include/linux/types.h:
/usr/include/x86_64-linux-gnu/asm/types.h:
/usr/include/asm-generic/types.h:
/usr/include/asm-generic/int-ll64.h:
/usr/include/x86_64-linux-gnu/asm/bitsperlong.h:
/usr/include/asm-generic/bitsperlong.h:
/usr/include/linux/posix_types.h:
/usr/include/linux/stddef.h:
/usr/include/x86_64-linux-gnu/asm/posix_types.h:
/usr/include/x86_64-linux-gnu/asm/posix_types_64.h:
/usr/include/asm-generic/posix_types.h:
/usr/include/x86_64-linux-gnu/bits/statx-generic.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_statx.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       	.file	"test-ansi-c-plugin.c"
	.text
.Ltext0:
	.file 0 "/tmp/nbdkit/tests" "test-ansi-c-plugin.c"
	.p2align 4
	.type	ansi_c_load, @function
ansi_c_load:
.LFB8:
	.file 1 "test-ansi-c-plugin.c"
	.loc 1 121 1 view -0
	.cfi_startproc
	.loc 1 122 3 view .LVU1
	leaq	bootsector(%rip), %rsi
	leaq	data(%rip), %rdi
	movl	$64, %ecx
	rep movsq
	.loc 1 123 1 is_stmt 0 view .LVU2
	ret
	.cfi_endproc
.LFE8:
	.size	ansi_c_load, .-ansi_c_load
	.p2align 4
	.type	ansi_c_get_size, @function
ansi_c_get_size:
.LVL0:
.LFB10:
	.loc 1 133 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 134 3 view .LVU4
	.loc 1 135 1 is_stmt 0 view .LVU5
	movl	$104857600, %eax
	ret
	.cfi_endproc
.LFE10:
	.size	ansi_c_get_size, .-ansi_c_get_size
	.p2align 4
	.type	ansi_c_pread, @function
ansi_c_pread:
.LVL1:
.LFB11:
	.loc 1 141 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 142 3 view .LVU7
	.loc 1 141 1 is_stmt 0 view .LVU8
	movq	%rsi, %rdi
.LVL2:
	.loc 1 142 3 view .LVU9
	leaq	data(%rip), %rsi
.LVL3:
	.loc 1 141 1 view .LVU10
	subq	$8, %rsp
	.cfi_def_cfa_offset 16
	.loc 1 142 3 view .LVU11
	movl	%edx, %edx
	.loc 1 142 3 view .LVU12
	addq	%rcx, %rsi
	call	memcpy@PLT
.LVL4:
	.loc 1 143 3 is_stmt 1 view .LVU13
	.loc 1 144 1 is_stmt 0 view .LVU14
	xorl	%eax, %eax
	addq	$8, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE11:
	.size	ansi_c_pread, .-ansi_c_pread
	.p2align 4
	.type	ansi_c_open, @function
ansi_c_open:
.LVL5:
.LFB9:
	.loc 1 127 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 128 3 view .LVU16
	.loc 1 128 10 is_stmt 0 view .LVU17
	jmp	__errno_location@PLT
.LVL6:
	.loc 1 128 10 view .LVU18
	.cfi_endproc
.LFE9:
	.size	ansi_c_open, .-ansi_c_open
	.p2align 4
	.globl	plugin_init
	.type	plugin_init, @function
plugin_init:
.LFB12:
	.loc 1 175 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 175 1 view .LVU20
	movq	.LC0(%rip), %rax
	movq	$384, plugin(%rip)
	.loc 1 175 1 view .LVU21
	.loc 1 175 1 view .LVU22
	movq	%rax, 8+plugin(%rip)
	.loc 1 175 1 view .LVU23
	leaq	plugin(%rip), %rax
	ret
	.cfi_endproc
.LFE12:
	.size	plugin_init, .-plugin_init
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"ansic"
.LC2:
	.string	"1.0"
	.section	.data.rel.local,"aw"
	.align 32
	.type	plugin, @object
	.size	plugin, 384
plugin:
	.quad	0
	.long	0
	.long	0
	.quad	.LC1
	.quad	0
	.quad	.LC2
	.quad	0
	.quad	ansi_c_load
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	ansi_c_open
	.quad	0
	.quad	ansi_c_get_size
	.quad	0
	.quad	0
	.quad	0
	.quad	0
	.quad	ansi_c_pread
	.zero	232
	.local	data
	.comm	data,104857600,32
	.section	.rodata
	.align 32
	.type	bootsector, @object
	.size	bootsector, 512
bootsector:
	.byte	-6
	.byte	-72
	.byte	0
	.byte	16
	.byte	-114
	.byte	-48
	.byte	-68
	.byte	0
	.byte	-80
	.byte	-72
	.byte	0
	.byte	0
	.byte	-114
	.byte	-40
	.byte	-114
	.byte	-64
	.byte	-5
	.byte	-66
	.byte	0
	.byte	124
	.byte	-65
	.byte	0
	.byte	6
	.byte	-71
	.byte	0
	.byte	2
	.byte	-13
	.byte	-92
	.byte	-22
	.byte	33
	.byte	6
	.byte	0
	.byte	0
	.byte	-66
	.byte	-66
	.byte	7
	.byte	56
	.byte	4
	.byte	117
	.byte	11
	.byte	-125
	.byte	-58
	.byte	16
	.byte	-127
	.byte	-2
	.byte	-2
	.byte	7
	.byte	117
	.byte	-13
	.byte	-21
	.byte	22
	.byte	-76
	.byte	2
	.byte	-80
	.byte	1
	.byte	-69
	.byte	0
	.byte	124
	.byte	-78
	.byte	-128
	.byte	-118
	.byte	116
	.byte	1
	.byte	-117
	.byte	76
	.byte	2
	.byte	-51
	.byte	19
	.byte	-22
	.byte	0
	.byte	124
	.byte	0
	.byte	0
	.byte	-21
	.byte	-2
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	-31
	.byte	91
	.byte	2
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	2
	.byte	3
	.byte	0
	.byte	-125
	.byte	-68
	.byte	49
	.byte	12
	.byte	-128
	.byte	0
	.byte	0
	.byte	0
	.byte	1
	.byte	31
	.byte	3
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	85
	.byte	-86
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	1
	.long	1
	.text
.Letext0:
	.file 2 "/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h"
	.file 3 "/usr/include/x86_64-linux-gnu/bits/types.h"
	.file 4 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h"
	.file 5 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h"
	.file 6 "../include/nbdkit-plugin.h"
	.file 7 "/usr/include/errno.h"
	.file 8 "/usr/include/string.h"
	.file 9 "<built-in>"
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.long	0x773
	.value	0x5
	.byte	0x1
	.byte	0x8
	.long	.Ldebug_abbrev0
	.uleb128 0xe
	.long	.LASF78
	.byte	0x1
	.long	.LASF0
	.long	.LASF1
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.long	.Ldebug_line0
	.uleb128 0x7
	.long	.LASF8
	.byte	0x2
	.byte	0xd6
	.byte	0x17
	.long	0x3a
	.uleb128 0x6
	.byte	0x8
	.byte	0x7
	.long	.LASF2
	.uleb128 0x6
	.byte	0x4
	.byte	0x7
	.long	.LASF3
	.uleb128 0xf
	.byte	0x8
	.uleb128 0x6
	.byte	0x1
	.byte	0x8
	.long	.LASF4
	.uleb128 0x6
	.byte	0x2
	.byte	0x7
	.long	.LASF5
	.uleb128 0x6
	.byte	0x1
	.byte	0x6
	.long	.LASF6
	.uleb128 0x6
	.byte	0x2
	.byte	0x5
	.long	.LASF7
	.uleb128 0x10
	.byte	0x4
	.byte	0x5
	.string	"int"
	.uleb128 0x7
	.long	.LASF9
	.byte	0x3
	.byte	0x2a
	.byte	0x16
	.long	0x41
	.uleb128 0x7
	.long	.LASF10
	.byte	0x3
	.byte	0x2c
	.byte	0x19
	.long	0x85
	.uleb128 0x6
	.byte	0x8
	.byte	0x5
	.long	.LASF11
	.uleb128 0x7
	.long	.LASF12
	.byte	0x3
	.byte	0x2d
	.byte	0x1b
	.long	0x3a
	.uleb128 0x6
	.byte	0x1
	.byte	0x6
	.long	.LASF13
	.uleb128 0x11
	.long	0x98
	.uleb128 0x3
	.long	0xa9
	.uleb128 0x12
	.uleb128 0x7
	.long	.LASF14
	.byte	0x4
	.byte	0x1b
	.byte	0x13
	.long	0x79
	.uleb128 0x7
	.long	.LASF15
	.byte	0x5
	.byte	0x1a
	.byte	0x14
	.long	0x6d
	.uleb128 0x7
	.long	.LASF16
	.byte	0x5
	.byte	0x1b
	.byte	0x14
	.long	0x8c
	.uleb128 0x13
	.long	.LASF79
	.value	0x180
	.byte	0x6
	.byte	0x34
	.byte	0x8
	.long	0x339
	.uleb128 0x2
	.long	.LASF17
	.byte	0x3a
	.byte	0xc
	.long	0xc2
	.byte	0
	.uleb128 0x2
	.long	.LASF18
	.byte	0x3b
	.byte	0x7
	.long	0x66
	.byte	0x8
	.uleb128 0x2
	.long	.LASF19
	.byte	0x3c
	.byte	0x7
	.long	0x66
	.byte	0xc
	.uleb128 0x2
	.long	.LASF20
	.byte	0x42
	.byte	0xf
	.long	0x339
	.byte	0x10
	.uleb128 0x2
	.long	.LASF21
	.byte	0x43
	.byte	0xf
	.long	0x339
	.byte	0x18
	.uleb128 0x2
	.long	.LASF22
	.byte	0x44
	.byte	0xf
	.long	0x339
	.byte	0x20
	.uleb128 0x2
	.long	.LASF23
	.byte	0x45
	.byte	0xf
	.long	0x339
	.byte	0x28
	.uleb128 0x2
	.long	.LASF24
	.byte	0x47
	.byte	0xa
	.long	0x33f
	.byte	0x30
	.uleb128 0x2
	.long	.LASF25
	.byte	0x48
	.byte	0xa
	.long	0x33f
	.byte	0x38
	.uleb128 0x2
	.long	.LASF26
	.byte	0x4a
	.byte	0x9
	.long	0x358
	.byte	0x40
	.uleb128 0x2
	.long	.LASF27
	.byte	0x4b
	.byte	0x9
	.long	0x362
	.byte	0x48
	.uleb128 0x2
	.long	.LASF28
	.byte	0x4c
	.byte	0xf
	.long	0x339
	.byte	0x50
	.uleb128 0x2
	.long	.LASF29
	.byte	0x4e
	.byte	0xc
	.long	0x376
	.byte	0x58
	.uleb128 0x2
	.long	.LASF30
	.byte	0x4f
	.byte	0xa
	.long	0x386
	.byte	0x60
	.uleb128 0x2
	.long	.LASF31
	.byte	0x51
	.byte	0xd
	.long	0x39a
	.byte	0x68
	.uleb128 0x2
	.long	.LASF32
	.byte	0x53
	.byte	0x9
	.long	0x3ae
	.byte	0x70
	.uleb128 0x2
	.long	.LASF33
	.byte	0x54
	.byte	0x9
	.long	0x3ae
	.byte	0x78
	.uleb128 0x2
	.long	.LASF34
	.byte	0x55
	.byte	0x9
	.long	0x3ae
	.byte	0x80
	.uleb128 0x2
	.long	.LASF35
	.byte	0x56
	.byte	0x9
	.long	0x3ae
	.byte	0x88
	.uleb128 0x2
	.long	.LASF36
	.byte	0x59
	.byte	0x9
	.long	0x3d1
	.byte	0x90
	.uleb128 0x2
	.long	.LASF37
	.byte	0x5a
	.byte	0x9
	.long	0x3f4
	.byte	0x98
	.uleb128 0x2
	.long	.LASF38
	.byte	0x5c
	.byte	0x9
	.long	0x3ae
	.byte	0xa0
	.uleb128 0x2
	.long	.LASF39
	.byte	0x5d
	.byte	0x9
	.long	0x412
	.byte	0xa8
	.uleb128 0x2
	.long	.LASF40
	.byte	0x5e
	.byte	0x9
	.long	0x435
	.byte	0xb0
	.uleb128 0x2
	.long	.LASF41
	.byte	0x67
	.byte	0x7
	.long	0x66
	.byte	0xb8
	.uleb128 0x2
	.long	.LASF42
	.byte	0x69
	.byte	0xa
	.long	0x33f
	.byte	0xc0
	.uleb128 0x2
	.long	.LASF43
	.byte	0x6b
	.byte	0x9
	.long	0x3ae
	.byte	0xc8
	.uleb128 0x2
	.long	.LASF44
	.byte	0x6c
	.byte	0x9
	.long	0x3ae
	.byte	0xd0
	.uleb128 0x2
	.long	.LASF45
	.byte	0x6e
	.byte	0x9
	.long	0x45d
	.byte	0xd8
	.uleb128 0x2
	.long	.LASF46
	.byte	0x6f
	.byte	0x9
	.long	0x485
	.byte	0xe0
	.uleb128 0x2
	.long	.LASF47
	.byte	0x70
	.byte	0x9
	.long	0x49e
	.byte	0xe8
	.uleb128 0x2
	.long	.LASF48
	.byte	0x71
	.byte	0x9
	.long	0x4c1
	.byte	0xf0
	.uleb128 0x2
	.long	.LASF49
	.byte	0x72
	.byte	0x9
	.long	0x4c1
	.byte	0xf8
	.uleb128 0x5
	.long	.LASF50
	.byte	0x7d
	.byte	0xf
	.long	0x339
	.value	0x100
	.uleb128 0x5
	.long	.LASF51
	.byte	0x7f
	.byte	0x9
	.long	0x3ae
	.value	0x108
	.uleb128 0x5
	.long	.LASF52
	.byte	0x81
	.byte	0x9
	.long	0x3ae
	.value	0x110
	.uleb128 0x5
	.long	.LASF53
	.byte	0x82
	.byte	0x9
	.long	0x4f3
	.value	0x118
	.uleb128 0x5
	.long	.LASF54
	.byte	0x84
	.byte	0x9
	.long	0x3ae
	.value	0x120
	.uleb128 0x5
	.long	.LASF55
	.byte	0x85
	.byte	0x9
	.long	0x4c1
	.value	0x128
	.uleb128 0x5
	.long	.LASF56
	.byte	0x87
	.byte	0x9
	.long	0x362
	.value	0x130
	.uleb128 0x5
	.long	.LASF57
	.byte	0x89
	.byte	0x9
	.long	0x3ae
	.value	0x138
	.uleb128 0x5
	.long	.LASF58
	.byte	0x8b
	.byte	0x9
	.long	0x507
	.value	0x140
	.uleb128 0x5
	.long	.LASF59
	.byte	0x8d
	.byte	0x9
	.long	0x362
	.value	0x148
	.uleb128 0x5
	.long	.LASF60
	.byte	0x8e
	.byte	0x9
	.long	0x362
	.value	0x150
	.uleb128 0x5
	.long	.LASF61
	.byte	0x90
	.byte	0x9
	.long	0x52f
	.value	0x158
	.uleb128 0x5
	.long	.LASF62
	.byte	0x92
	.byte	0x12
	.long	0x548
	.value	0x160
	.uleb128 0x5
	.long	.LASF63
	.byte	0x93
	.byte	0x12
	.long	0x55c
	.value	0x168
	.uleb128 0x5
	.long	.LASF64
	.byte	0x95
	.byte	0xa
	.long	0x33f
	.value	0x170
	.uleb128 0x5
	.long	.LASF65
	.byte	0x97
	.byte	0x9
	.long	0x584
	.value	0x178
	.byte	0
	.uleb128 0x3
	.long	0x9f
	.uleb128 0x14
	.uleb128 0x3
	.long	0x33e
	.uleb128 0x4
	.long	0x66
	.long	0x358
	.uleb128 0x1
	.long	0x339
	.uleb128 0x1
	.long	0x339
	.byte	0
	.uleb128 0x3
	.long	0x344
	.uleb128 0x15
	.long	0x66
	.uleb128 0x3
	.long	0x35d
	.uleb128 0x4
	.long	0x48
	.long	0x376
	.uleb128 0x1
	.long	0x66
	.byte	0
	.uleb128 0x3
	.long	0x367
	.uleb128 0x16
	.long	0x386
	.uleb128 0x1
	.long	0x48
	.byte	0
	.uleb128 0x3
	.long	0x37b
	.uleb128 0x4
	.long	0xaa
	.long	0x39a
	.uleb128 0x1
	.long	0x48
	.byte	0
	.uleb128 0x3
	.long	0x38b
	.uleb128 0x4
	.long	0x66
	.long	0x3ae
	.uleb128 0x1
	.long	0x48
	.byte	0
	.uleb128 0x3
	.long	0x39f
	.uleb128 0x4
	.long	0x66
	.long	0x3d1
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.byte	0
	.uleb128 0x3
	.long	0x3b3
	.uleb128 0x4
	.long	0x66
	.long	0x3f4
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xa4
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.byte	0
	.uleb128 0x3
	.long	0x3d6
	.uleb128 0x4
	.long	0x66
	.long	0x412
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.byte	0
	.uleb128 0x3
	.long	0x3f9
	.uleb128 0x4
	.long	0x66
	.long	0x435
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.uleb128 0x1
	.long	0x66
	.byte	0
	.uleb128 0x3
	.long	0x417
	.uleb128 0x4
	.long	0x66
	.long	0x45d
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.uleb128 0x1
	.long	0xb6
	.byte	0
	.uleb128 0x3
	.long	0x43a
	.uleb128 0x4
	.long	0x66
	.long	0x485
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xa4
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.uleb128 0x1
	.long	0xb6
	.byte	0
	.uleb128 0x3
	.long	0x462
	.uleb128 0x4
	.long	0x66
	.long	0x49e
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.byte	0
	.uleb128 0x3
	.long	0x48a
	.uleb128 0x4
	.long	0x66
	.long	0x4c1
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.uleb128 0x1
	.long	0xb6
	.byte	0
	.uleb128 0x3
	.long	0x4a3
	.uleb128 0x4
	.long	0x66
	.long	0x4e9
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0xc2
	.uleb128 0x1
	.long	0xb6
	.uleb128 0x1
	.long	0x4e9
	.byte	0
	.uleb128 0x3
	.long	0x4ee
	.uleb128 0xc
	.long	.LASF66
	.uleb128 0x3
	.long	0x4c6
	.uleb128 0x4
	.long	0x66
	.long	0x507
	.uleb128 0x1
	.long	0x66
	.byte	0
	.uleb128 0x3
	.long	0x4f8
	.uleb128 0x4
	.long	0x66
	.long	0x525
	.uleb128 0x1
	.long	0x66
	.uleb128 0x1
	.long	0x66
	.uleb128 0x1
	.long	0x525
	.byte	0
	.uleb128 0x3
	.long	0x52a
	.uleb128 0xc
	.long	.LASF67
	.uleb128 0x3
	.long	0x50c
	.uleb128 0x4
	.long	0x339
	.long	0x548
	.uleb128 0x1
	.long	0x66
	.uleb128 0x1
	.long	0x66
	.byte	0
	.uleb128 0x3
	.long	0x534
	.uleb128 0x4
	.long	0x339
	.long	0x55c
	.uleb128 0x1
	.long	0x48
	.byte	0
	.uleb128 0x3
	.long	0x54d
	.uleb128 0x4
	.long	0x66
	.long	0x57f
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0x57f
	.uleb128 0x1
	.long	0x57f
	.uleb128 0x1
	.long	0x57f
	.byte	0
	.uleb128 0x3
	.long	0xb6
	.uleb128 0x3
	.long	0x561
	.uleb128 0xd
	.long	0x4a
	.long	0x59a
	.uleb128 0x17
	.long	0x3a
	.value	0x1ff
	.byte	0
	.uleb128 0x9
	.long	.LASF68
	.byte	0x33
	.byte	0x16
	.long	0x589
	.uleb128 0x9
	.byte	0x3
	.quad	bootsector
	.uleb128 0xd
	.long	0x4a
	.long	0x5c2
	.uleb128 0x18
	.long	0x3a
	.long	0x63fffff
	.byte	0
	.uleb128 0x9
	.long	.LASF69
	.byte	0x75
	.byte	0x16
	.long	0x5af
	.uleb128 0x9
	.byte	0x3
	.quad	data
	.uleb128 0x9
	.long	.LASF70
	.byte	0x9f
	.byte	0x1d
	.long	0xce
	.uleb128 0x9
	.byte	0x3
	.quad	plugin
	.uleb128 0x19
	.long	.LASF80
	.byte	0x7
	.byte	0x25
	.byte	0xd
	.long	0x5f8
	.uleb128 0x3
	.long	0x66
	.uleb128 0x1a
	.long	.LASF81
	.byte	0x8
	.byte	0x2b
	.byte	0xe
	.long	0x48
	.long	0x61d
	.uleb128 0x1
	.long	0x48
	.uleb128 0x1
	.long	0xa4
	.uleb128 0x1
	.long	0x2e
	.byte	0
	.uleb128 0x1b
	.long	.LASF82
	.byte	0x1
	.byte	0xaf
	.byte	0x1
	.long	0x63b
	.quad	.LFB12
	.quad	.LFE12-.LFB12
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x3
	.long	0xce
	.uleb128 0xa
	.long	.LASF74
	.byte	0x8c
	.long	0x66
	.quad	.LFB11
	.quad	.LFE11-.LFB11
	.uleb128 0x1
	.byte	0x9c
	.long	0x6e1
	.uleb128 0x8
	.long	.LASF71
	.byte	0x8c
	.byte	0x15
	.long	0x48
	.long	.LLST0
	.long	.LVUS0
	.uleb128 0x1c
	.string	"buf"
	.byte	0x1
	.byte	0x8c
	.byte	0x23
	.long	0x48
	.long	.LLST1
	.long	.LVUS1
	.uleb128 0x8
	.long	.LASF72
	.byte	0x8c
	.byte	0x31
	.long	0xb6
	.long	.LLST2
	.long	.LVUS2
	.uleb128 0x8
	.long	.LASF73
	.byte	0x8c
	.byte	0x41
	.long	0xc2
	.long	.LLST3
	.long	.LVUS3
	.uleb128 0x1d
	.quad	.LVL4
	.long	0x76b
	.uleb128 0xb
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.uleb128 0xb
	.uleb128 0x1
	.byte	0x54
	.uleb128 0xd
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x3
	.quad	data
	.byte	0x22
	.uleb128 0xb
	.uleb128 0x1
	.byte	0x51
	.uleb128 0x9
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0xc
	.long	0xffffffff
	.byte	0x1a
	.byte	0
	.byte	0
	.uleb128 0xa
	.long	.LASF75
	.byte	0x84
	.long	0xaa
	.quad	.LFB10
	.quad	.LFE10-.LFB10
	.uleb128 0x1
	.byte	0x9c
	.long	0x710
	.uleb128 0x1e
	.long	.LASF71
	.byte	0x1
	.byte	0x84
	.byte	0x18
	.long	0x48
	.uleb128 0x1
	.byte	0x55
	.byte	0
	.uleb128 0xa
	.long	.LASF76
	.byte	0x7e
	.long	0x48
	.quad	.LFB9
	.quad	.LFE9-.LFB9
	.uleb128 0x1
	.byte	0x9c
	.long	0x751
	.uleb128 0x8
	.long	.LASF77
	.byte	0x7e
	.byte	0x12
	.long	0x66
	.long	.LLST4
	.long	.LVUS4
	.uleb128 0x1f
	.quad	.LVL6
	.long	0x5ec
	.byte	0
	.uleb128 0x20
	.long	.LASF83
	.byte	0x1
	.byte	0x78
	.byte	0x1
	.quad	.LFB8
	.quad	.LFE8-.LFB8
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x21
	.long	.LASF81
	.long	.LASF84
	.byte	0x9
	.byte	0
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0x5
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 6
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0x21
	.sleb128 8
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 6
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xb
	.uleb128 0x49
	.byte	0
	.uleb128 0x2
	.uleb128 0x18
	.uleb128 0x7e
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0xc
	.uleb128 0x13
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0xd
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xe
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x1f
	.uleb128 0x1b
	.uleb128 0x1f
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0xf
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x10
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0
	.byte	0
	.uleb128 0x11
	.uleb128 0x26
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x12
	.uleb128 0x26
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x13
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0x5
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x14
	.uleb128 0x15
	.byte	0
	.uleb128 0x27
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x15
	.uleb128 0x15
	.byte	0
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x16
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x17
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0x18
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0x6
	.byte	0
	.byte	0
	.uleb128 0x19
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x1a
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1b
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x1c
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x1d
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1e
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x1f
	.uleb128 0x48
	.byte	0
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x82
	.uleb128 0x19
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x20
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x27
	.uleb128 0x19
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x21
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_loclists,"",@progbits
	.long	.Ldebug_loc3-.Ldebug_loc2
.Ldebug_loc2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.Ldebug_loc0:
.LVUS0:
	.uleb128 0
	.uleb128 .LVU9
	.uleb128 .LVU9
	.uleb128 0
.LLST0:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL2-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL2-.Ltext0
	.uleb128 .LFE11-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0
.LVUS1:
	.uleb128 0
	.uleb128 .LVU10
	.uleb128 .LVU10
	.uleb128 .LVU13
	.uleb128 .LVU13
	.uleb128 0
.LLST1:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL3-.Ltext0
	.uleb128 0x1
	.byte	0x54
	.byte	0x4
	.uleb128 .LVL3-.Ltext0
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 .LFE11-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.byte	0x9f
	.byte	0
.LVUS2:
	.uleb128 0
	.uleb128 .LVU13
	.uleb128 .LVU13
	.uleb128 0
.LLST2:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 0x1
	.byte	0x51
	.byte	0x4
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 .LFE11-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0x9f
	.byte	0
.LVUS3:
	.uleb128 0
	.uleb128 .LVU13
	.uleb128 .LVU13
	.uleb128 0
.LLST3:
	.byte	0x4
	.uleb128 .LVL1-.Ltext0
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 0x1
	.byte	0x52
	.byte	0x4
	.uleb128 .LVL4-1-.Ltext0
	.uleb128 .LFE11-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x9f
	.byte	0
.LVUS4:
	.uleb128 0
	.uleb128 .LVU18
	.uleb128 .LVU18
	.uleb128 0
.LLST4:
	.byte	0x4
	.uleb128 .LVL5-.Ltext0
	.uleb128 .LVL6-1-.Ltext0
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL6-1-.Ltext0
	.uleb128 .LFE9-.Ltext0
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0
.Ldebug_loc3:
	.section	.debug_aranges,"",@progbits
	.long	0x2c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x8
	.byte	0
	.value	0
	.value	0
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.quad	0
	.quad	0
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF23:
	.string	"description"
.LASF72:
	.string	"count"
.LASF60:
	.string	"after_fork"
.LASF8:
	.string	"size_t"
.LASF16:
	.string	"uint64_t"
.LASF30:
	.string	"close"
.LASF37:
	.string	"pwrite"
.LASF56:
	.string	"thread_model"
.LASF32:
	.string	"can_write"
.LASF18:
	.string	"_api_version"
.LASF10:
	.string	"__int64_t"
.LASF53:
	.string	"extents"
.LASF50:
	.string	"magic_config_key"
.LASF6:
	.string	"signed char"
.LASF11:
	.string	"long int"
.LASF81:
	.string	"memcpy"
.LASF41:
	.string	"errno_is_preserved"
.LASF52:
	.string	"can_extents"
.LASF9:
	.string	"__uint32_t"
.LASF40:
	.string	"zero"
.LASF3:
	.string	"unsigned int"
.LASF65:
	.string	"block_size"
.LASF2:
	.string	"long unsigned int"
.LASF20:
	.string	"name"
.LASF69:
	.string	"data"
.LASF5:
	.string	"short unsigned int"
.LASF83:
	.string	"ansi_c_load"
.LASF43:
	.string	"can_zero"
.LASF28:
	.string	"config_help"
.LASF39:
	.string	"trim"
.LASF84:
	.string	"__builtin_memcpy"
.LASF76:
	.string	"ansi_c_open"
.LASF67:
	.string	"nbdkit_exports"
.LASF62:
	.string	"default_export"
.LASF24:
	.string	"load"
.LASF22:
	.string	"version"
.LASF19:
	.string	"_thread_model"
.LASF34:
	.string	"is_rotational"
.LASF29:
	.string	"open"
.LASF59:
	.string	"get_ready"
.LASF68:
	.string	"bootsector"
.LASF75:
	.string	"ansi_c_get_size"
.LASF35:
	.string	"can_trim"
.LASF51:
	.string	"can_multi_conn"
.LASF64:
	.string	"cleanup"
.LASF12:
	.string	"__uint64_t"
.LASF44:
	.string	"can_fua"
.LASF4:
	.string	"unsigned char"
.LASF7:
	.string	"short int"
.LASF46:
	.string	"_unused2"
.LASF31:
	.string	"get_size"
.LASF25:
	.string	"unload"
.LASF58:
	.string	"preconnect"
.LASF79:
	.string	"nbdkit_plugin"
.LASF77:
	.string	"readonly"
.LASF17:
	.string	"_struct_size"
.LASF27:
	.string	"config_complete"
.LASF15:
	.string	"uint32_t"
.LASF70:
	.string	"plugin"
.LASF33:
	.string	"can_flush"
.LASF13:
	.string	"char"
.LASF26:
	.string	"config"
.LASF66:
	.string	"nbdkit_extents"
.LASF80:
	.string	"__errno_location"
.LASF73:
	.string	"offset"
.LASF82:
	.string	"plugin_init"
.LASF74:
	.string	"ansi_c_pread"
.LASF38:
	.string	"flush"
.LASF45:
	.string	"_unused1"
.LASF42:
	.string	"dump_plugin"
.LASF47:
	.string	"_unused3"
.LASF48:
	.string	"_unused4"
.LASF49:
	.string	"_unused5"
.LASF54:
	.string	"can_cache"
.LASF78:
	.string	"GNU C89 12.2.0 -mtune=generic -march=x86-64 -g -O2 -std=c90 -fasynchronous-unwind-tables"
.LASF21:
	.string	"longname"
.LASF63:
	.string	"export_description"
.LASF71:
	.string	"handle"
.LASF61:
	.string	"list_exports"
.LASF57:
	.string	"can_fast_zero"
.LASF14:
	.string	"int64_t"
.LASF55:
	.string	"cache"
.LASF36:
	.string	"pread"
	.section	.debug_line_str,"MS",@progbits,1
.LASF0:
	.string	"test-ansi-c-plugin.c"
.LASF1:
	.string	"/tmp/nbdkit/tests"
	.ident	"GCC: (Debian 12.2.0-14+deb12u1) 12.2.0"
	.section	.note.GNU-stack,"",@progbits
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   test_ansi_c_plugin_la-test-ansi-c-plugin.lo: test-ansi-c-plugin.c \
 /usr/include/stdc-predef.h /usr/include/stdio.h \
 /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \
 /usr/include/features.h /usr/include/features-time64.h \
 /usr/include/x86_64-linux-gnu/bits/wordsize.h \
 /usr/include/x86_64-linux-gnu/bits/timesize.h \
 /usr/include/x86_64-linux-gnu/sys/cdefs.h \
 /usr/include/x86_64-linux-gnu/bits/long-double.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs.h \
 /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h \
 /usr/include/x86_64-linux-gnu/bits/types.h \
 /usr/include/x86_64-linux-gnu/bits/typesizes.h \
 /usr/include/x86_64-linux-gnu/bits/time64.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/FILE.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \
 /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
 /usr/include/x86_64-linux-gnu/bits/floatn.h \
 /usr/include/x86_64-linux-gnu/bits/floatn-common.h \
 /usr/include/x86_64-linux-gnu/bits/stdio.h /usr/include/stdlib.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \
 /usr/include/x86_64-linux-gnu/bits/stdlib-float.h /usr/include/string.h \
 ../include/nbdkit-plugin.h ../include/nbdkit-common.h \
 /usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h /usr/include/stdint.h \
 /usr/include/x86_64-linux-gnu/bits/wchar.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \
 /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h /usr/include/errno.h \
 /usr/include/x86_64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \
 /usr/include/x86_64-linux-gnu/asm/errno.h \
 /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \
 /usr/include/x86_64-linux-gnu/sys/socket.h \
 /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \
 /usr/include/x86_64-linux-gnu/bits/socket.h \
 /usr/include/x86_64-linux-gnu/sys/types.h \
 /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/time_t.h \
 /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \
 /usr/include/x86_64-linux-gnu/bits/socket_type.h \
 /usr/include/x86_64-linux-gnu/bits/sockaddr.h \
 /usr/include/x86_64-linux-gnu/bits/socket-constants.h \
 ../include/nbdkit-version.h
/usr/include/stdc-predef.h:
/usr/include/stdio.h:
/usr/include/x86_64-linux-gnu/bits/libc-header-start.h:
/usr/include/features.h:
/usr/include/features-time64.h:
/usr/include/x86_64-linux-gnu/bits/wordsize.h:
/usr/include/x86_64-linux-gnu/bits/timesize.h:
/usr/include/x86_64-linux-gnu/sys/cdefs.h:
/usr/include/x86_64-linux-gnu/bits/long-double.h:
/usr/include/x86_64-linux-gnu/gnu/stubs.h:
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdarg.h:
/usr/include/x86_64-linux-gnu/bits/types.h:
/usr/include/x86_64-linux-gnu/bits/typesizes.h:
/usr/include/x86_64-linux-gnu/bits/time64.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h:
/usr/include/x86_64-linux-gnu/bits/types/__FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/FILE.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h:
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h:
/usr/include/x86_64-linux-gnu/bits/floatn.h:
/usr/include/x86_64-linux-gnu/bits/floatn-common.h:
/usr/include/x86_64-linux-gnu/bits/stdio.h:
/usr/include/stdlib.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:
/usr/include/x86_64-linux-gnu/bits/stdlib-float.h:
/usr/include/string.h:
../include/nbdkit-plugin.h:
../include/nbdkit-common.h:
/usr/lib/gcc/x86_64-linux-gnu/12/include/stdint.h:
/usr/include/stdint.h:
/usr/include/x86_64-linux-gnu/bits/wchar.h:
/usr/include/x86_64-linux-gnu/bits/stdint-intn.h:
/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:
/usr/include/errno.h:
/usr/include/x86_64-linux-gnu/bits/errno.h:
/usr/include/linux/errno.h:
/usr/include/x86_64-linux-gnu/asm/errno.h:
/usr/include/asm-generic/errno.h:
/usr/include/asm-generic/errno-base.h:
/usr/include/x86_64-linux-gnu/sys/socket.h:
/usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h:
/usr/include/x86_64-linux-gnu/bits/socket.h:
/usr/include/x86_64-linux-gnu/sys/types.h:
/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:
/usr/include/x86_64-linux-gnu/bits/types/timer_t.h:
/usr/include/x86_64-linux-gnu/bits/socket_type.h:
/usr/include/x86_64-linux-gnu/bits/sockaddr.h:
/usr/include/x86_64-linux-gnu/bits/socket-constants.h:
../include/nbdkit-version.h:
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   	.file	"test-cxx-plugin.cpp"
	.text
.Ltext0:
	.file 0 "/tmp/nbdkit/tests" "test-cxx-plugin.cpp"
	.p2align 4
	.type	_ZL8cxx_loadv, @function
_ZL8cxx_loadv:
.LFB49:
	.file 1 "test-cxx-plugin.cpp"
	.loc 1 116 1 view -0
	.cfi_startproc
	.loc 1 117 3 view .LVU1
	.loc 1 117 10 is_stmt 0 view .LVU2
	leaq	_ZL10bootsector(%rip), %rsi
	leaq	_ZL4data(%rip), %rdi
	movl	$64, %ecx
	rep movsq
	.loc 1 118 1 view .LVU3
	ret
	.cfi_endproc
.LFE49:
	.size	_ZL8cxx_loadv, .-_ZL8cxx_loadv
	.p2align 4
	.type	_ZL12cxx_get_sizePv, @function
_ZL12cxx_get_sizePv:
.LVL0:
.LFB51:
	.loc 1 128 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 129 3 view .LVU5
	.loc 1 130 1 is_stmt 0 view .LVU6
	movl	$104857600, %eax
	ret
	.cfi_endproc
.LFE51:
	.size	_ZL12cxx_get_sizePv, .-_ZL12cxx_get_sizePv
	.p2align 4
	.type	_ZL9cxx_preadPvS_jm, @function
_ZL9cxx_preadPvS_jm:
.LVL1:
.LFB52:
	.loc 1 136 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 137 3 view .LVU8
	.loc 1 136 1 is_stmt 0 view .LVU9
	movq	%rsi, %rdi
.LVL2:
	.loc 1 137 10 view .LVU10
	leaq	_ZL4data(%rip), %rsi
.LVL3:
	.loc 1 136 1 view .LVU11
	subq	$8, %rsp
	.cfi_def_cfa_offset 16
	.loc 1 137 10 view .LVU12
	movl	%edx, %edx
	.loc 1 137 10 view .LVU13
	addq	%rcx, %rsi
	call	memcpy@PLT
.LVL4:
	.loc 1 138 3 is_stmt 1 view .LVU14
	.loc 1 139 1 is_stmt 0 view .LVU15
	xorl	%eax, %eax
	addq	$8, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE52:
	.size	_ZL9cxx_preadPvS_jm, .-_ZL9cxx_preadPvS_jm
	.p2align 4
	.type	_ZL8cxx_openi, @function
_ZL8cxx_openi:
.LVL5:
.LFB50:
	.loc 1 122 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 123 3 view .LVU17
	.loc 1 123 10 is_stmt 0 view .LVU18
	jmp	__errno_location@PLT
.LVL6:
	.loc 1 123 10 view .LVU19
	.cfi_endproc
.LFE50:
	.size	_ZL8cxx_openi, .-_ZL8cxx_openi
	.p2align 4
	.globl	plugin_init
	.type	plugin_init, @function
plugin_init:
.LFB54:
	.loc 1 156 1 is_stmt 1 view -0
	.cfi_startproc
	.loc 1 156 1 view .LVU21
	movq	.LC0(%rip), %rax
	movq	$384, _ZL6plugin(%rip)
	.loc 1 156 1 view .LVU22
	.loc 1 156 1 view .LVU23
	movq	%rax, 8+_ZL6plugin(%rip)
	.loc 1 156 1 view .LVU24
	leaq	_ZL6plugin(%rip), %rax
	ret
	.cfi_endproc
.LFE54:
	.size	plugin_init, .-plugin_init
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC1:
	.string	"cxx"
.LC2:
	.string	"1.44.3"
	.section	.text.startup,"ax",@progbits
	.p2align 4
	.type	_GLOBAL__sub_I_test_cxx_plugin.cpp, @function
_GLOBAL__sub_I_test_cxx_plugin.cpp:
.LFB56:
	.loc 1 156 1 view -0
	.cfi_startproc
.LBB10:
.LBI10:
	.loc 1 156 1 view .LVU26
.LVL7:
.LBB11:
.LBI11:
	.loc 1 143 17 view .LVU27
.LBB12:
	.loc 1 144 5 view .LVU28
	.loc 1 144 19 is_stmt 0 view .LVU29
	xorl	%eax, %eax
	leaq	_ZL6plugin(%rip), %rdi
	movl	$48, %ecx
	rep stosq
	.loc 1 145 5 is_stmt 1 view .LVU30
	.loc 1 145 17 is_stmt 0 view .LVU31
	leaq	.LC1(%rip), %rax
	movq	%rax, 16+_ZL6plugin(%rip)
	.loc 1 146 5 is_stmt 1 view .LVU32
	.loc 1 146 20 is_stmt 0 view .LVU33
	leaq	.LC2(%rip), %rax
	movq	%rax, 32+_ZL6plugin(%rip)
	.loc 1 147 5 is_stmt 1 view .LVU34
	.loc 1 147 17 is_stmt 0 view .LVU35
	leaq	_ZL8cxx_loadv(%rip), %rax
	movq	%rax, 48+_ZL6plugin(%rip)
	.loc 1 148 5 is_stmt 1 view .LVU36
	.loc 1 148 17 is_stmt 0 view .LVU37
	leaq	_ZL8cxx_openi(%rip), %rax
	movq	%rax, 88+_ZL6plugin(%rip)
	.loc 1 149 5 is_stmt 1 view .LVU38
	.loc 1 149 21 is_stmt 0 view .LVU39
	leaq	_ZL12cxx_get_sizePv(%rip), %rax
	movq	%rax, 104+_ZL6plugin(%rip)
	.loc 1 150 5 is_stmt 1 view .LVU40
	.loc 1 150 18 is_stmt 0 view .LVU41
	leaq	_ZL9cxx_preadPvS_jm(%rip), %rax
	movq	%rax, 144+_ZL6plugin(%rip)
	.loc 1 151 5 is_stmt 1 view .LVU42
.LVL8:
	.loc 1 151 5 is_stmt 0 view .LVU43
.LBE12:
.LBE11:
.LBE10:
	.loc 1 156 1 view .LVU44
	ret
	.cfi_endproc
.LFE56:
	.size	_GLOBAL__sub_I_test_cxx_plugin.cpp, .-_GLOBAL__sub_I_test_cxx_plugin.cpp
	.section	.init_array,"aw"
	.align 8
	.quad	_GLOBAL__sub_I_test_cxx_plugin.cpp
	.local	_ZL6plugin
	.comm	_ZL6plugin,384,32
	.local	_ZL4data
	.comm	_ZL4data,104857600,32
	.section	.rodata
	.align 32
	.type	_ZL10bootsector, @object
	.size	_ZL10bootsector, 512
_ZL10bootsector:
	.byte	-6
	.byte	-72
	.byte	0
	.byte	16
	.byte	-114
	.byte	-48
	.byte	-68
	.byte	0
	.byte	-80
	.byte	-72
	.byte	0
	.byte	0
	.byte	-114
	.byte	-40
	.byte	-114
	.byte	-64
	.byte	-5
	.byte	-66
	.byte	0
	.byte	124
	.byte	-65
	.byte	0
	.byte	6
	.byte	-71
	.byte	0
	.byte	2
	.byte	-13
	.byte	-92
	.byte	-22
	.byte	33
	.byte	6
	.byte	0
	.byte	0
	.byte	-66
	.byte	-66
	.byte	7
	.byte	56
	.byte	4
	.byte	117
	.byte	11
	.byte	-125
	.byte	-58
	.byte	16
	.byte	-127
	.byte	-2
	.byte	-2
	.byte	7
	.byte	117
	.byte	-13
	.byte	-21
	.byte	22
	.byte	-76
	.byte	2
	.byte	-80
	.byte	1
	.byte	-69
	.byte	0
	.byte	124
	.byte	-78
	.byte	-128
	.byte	-118
	.byte	116
	.byte	1
	.byte	-117
	.byte	76
	.byte	2
	.byte	-51
	.byte	19
	.byte	-22
	.byte	0
	.byte	124
	.byte	0
	.byte	0
	.byte	-21
	.byte	-2
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	-31
	.byte	91
	.byte	2
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	2
	.byte	3
	.byte	0
	.byte	-125
	.byte	-68
	.byte	49
	.byte	12
	.byte	-128
	.byte	0
	.byte	0
	.byte	0
	.byte	1
	.byte	31
	.byte	3
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	0
	.byte	85
	.byte	-86
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	1
	.long	1
	.text
.Letext0:
	.file 2 "/usr/lib/gcc/x86_64-linux-gnu/12/include/stddef.h"
	.file 3 "/usr/include/x86_64-linux-gnu/bits/types.h"
	.file 4 "/usr/include/stdlib.h"
	.file 5 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h"
	.file 6 "/usr/include/c++/12/cstdlib"
	.file 7 "/usr/include/c++/12/bits/std_abs.h"
	.file 8 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h"
	.file 9 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h"
	.file 10 "/usr/include/c++/12/stdlib.h"
	.file 11 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h"
	.file 12 "../include/nbdkit-plugin.h"
	.file 13 "/usr/include/errno.h"
	.file 14 "/usr/include/string.h"
	.file 15 "/usr/include/x86_64-linux-gnu/c++/12/bits/c++config.h"
	.file 16 "/usr/include/x86_64-linux-gnu/bits/socket.h"
	.section	.debug_info,"",@progbits
.Ldebug_info0:
	.long	0x102d
	.value	0x5
	.byte	0x1
	.byte	0x8
	.long	.Ldebug_abbrev0
	.uleb128 0x1d
	.long	.LASF158
	.byte	0x21
	.long	.LASF0
	.long	.LASF1
	.long	.LLRL7
	.quad	0
	.long	.Ldebug_line0
	.uleb128 0x9
	.long	.LASF8
	.byte	0x2
	.byte	0xd6
	.byte	0x17
	.long	0x36
	.uleb128 0x6
	.byte	0x8
	.byte	0x7
	.long	.LASF2
	.uleb128 0x6
	.byte	0x4
	.byte	0x7
	.long	.LASF3
	.uleb128 0x1e
	.byte	0x8
	.uleb128 0x6
	.byte	0x1
	.byte	0x8
	.long	.LASF4
	.uleb128 0x6
	.byte	0x2
	.byte	0x7
	.long	.LASF5
	.uleb128 0x6
	.byte	0x1
	.byte	0x6
	.long	.LASF6
	.uleb128 0x6
	.byte	0x2
	.byte	0x5
	.long	.LASF7
	.uleb128 0x1f
	.byte	0x4
	.byte	0x5
	.string	"int"
	.uleb128 0x9
	.long	.LASF9
	.byte	0x3
	.byte	0x2a
	.byte	0x16
	.long	0x3d
	.uleb128 0x9
	.long	.LASF10
	.byte	0x3
	.byte	0x2c
	.byte	0x19
	.long	0x81
	.uleb128 0x6
	.byte	0x8
	.byte	0x5
	.long	.LASF11
	.uleb128 0x9
	.long	.LASF12
	.byte	0x3
	.byte	0x2d
	.byte	0x1b
	.long	0x36
	.uleb128 0x4
	.long	0x99
	.uleb128 0x6
	.byte	0x1
	.byte	0x6
	.long	.LASF13
	.uleb128 0x15
	.long	0x99
	.uleb128 0x4
	.long	0xa0
	.uleb128 0x5
	.long	0x62
	.long	0xb9
	.uleb128 0x1
	.long	0x44
	.byte	0
	.uleb128 0x6
	.byte	0x20
	.byte	0x3
	.long	.LASF14
	.uleb128 0x6
	.byte	0x10
	.byte	0x4
	.long	.LASF15
	.uleb128 0x6
	.byte	0x4
	.byte	0x4
	.long	.LASF16
	.uleb128 0x6
	.byte	0x8
	.byte	0x4
	.long	.LASF17
	.uleb128 0x6
	.byte	0x10
	.byte	0x4
	.long	.LASF18
	.uleb128 0x10
	.byte	0x8
	.byte	0x3c
	.long	.LASF21
	.long	0x101
	.uleb128 0x3
	.long	.LASF19
	.byte	0x4
	.byte	0x3d
	.byte	0x9
	.long	0x62
	.byte	0
	.uleb128 0x11
	.string	"rem"
	.byte	0x3e
	.byte	0x9
	.long	0x62
	.byte	0x4
	.byte	0
	.uleb128 0x9
	.long	.LASF20
	.byte	0x4
	.byte	0x3f
	.byte	0x5
	.long	0xdc
	.uleb128 0x10
	.byte	0x10
	.byte	0x44
	.long	.LASF22
	.long	0x132
	.uleb128 0x3
	.long	.LASF19
	.byte	0x4
	.byte	0x45
	.byte	0xe
	.long	0x81
	.byte	0
	.uleb128 0x11
	.string	"rem"
	.byte	0x46
	.byte	0xe
	.long	0x81
	.byte	0x8
	.byte	0
	.uleb128 0x9
	.long	.LASF23
	.byte	0x4
	.byte	0x47
	.byte	0x5
	.long	0x10d
	.uleb128 0x10
	.byte	0x10
	.byte	0x4e
	.long	.LASF24
	.long	0x163
	.uleb128 0x3
	.long	.LASF19
	.byte	0x4
	.byte	0x4f
	.byte	0x13
	.long	0x163
	.byte	0
	.uleb128 0x11
	.string	"rem"
	.byte	0x50
	.byte	0x13
	.long	0x163
	.byte	0x8
	.byte	0
	.uleb128 0x6
	.byte	0x8
	.byte	0x5
	.long	.LASF25
	.uleb128 0x9
	.long	.LASF26
	.byte	0x4
	.byte	0x51
	.byte	0x5
	.long	0x13e
	.uleb128 0x9
	.long	.LASF27
	.byte	0x5
	.byte	0x1b
	.byte	0x13
	.long	0x75
	.uleb128 0x6
	.byte	0x8
	.byte	0x7
	.long	.LASF28
	.uleb128 0x20
	.long	.LASF29
	.byte	0x4
	.value	0x33d
	.byte	0xf
	.long	0x196
	.uleb128 0x4
	.long	0x19b
	.uleb128 0x5
	.long	0x62
	.long	0x1af
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x1af
	.byte	0
	.uleb128 0x4
	.long	0x1b4
	.uleb128 0x21
	.uleb128 0x22
	.string	"std"
	.byte	0xf
	.value	0x128
	.byte	0xb
	.long	0x384
	.uleb128 0x2
	.byte	0x6
	.byte	0x7f
	.byte	0xb
	.long	0x101
	.uleb128 0x2
	.byte	0x6
	.byte	0x80
	.byte	0xb
	.long	0x132
	.uleb128 0x2
	.byte	0x6
	.byte	0x86
	.byte	0xb
	.long	0x384
	.uleb128 0x2
	.byte	0x6
	.byte	0x89
	.byte	0xb
	.long	0x3a0
	.uleb128 0x2
	.byte	0x6
	.byte	0x8c
	.byte	0xb
	.long	0x3bb
	.uleb128 0x2
	.byte	0x6
	.byte	0x8d
	.byte	0xb
	.long	0x3d1
	.uleb128 0x2
	.byte	0x6
	.byte	0x8e
	.byte	0xb
	.long	0x3e7
	.uleb128 0x2
	.byte	0x6
	.byte	0x8f
	.byte	0xb
	.long	0x3fd
	.uleb128 0x2
	.byte	0x6
	.byte	0x91
	.byte	0xb
	.long	0x427
	.uleb128 0x2
	.byte	0x6
	.byte	0x94
	.byte	0xb
	.long	0x443
	.uleb128 0x2
	.byte	0x6
	.byte	0x96
	.byte	0xb
	.long	0x459
	.uleb128 0x2
	.byte	0x6
	.byte	0x99
	.byte	0xb
	.long	0x474
	.uleb128 0x2
	.byte	0x6
	.byte	0x9a
	.byte	0xb
	.long	0x48f
	.uleb128 0x2
	.byte	0x6
	.byte	0x9b
	.byte	0xb
	.long	0x4c0
	.uleb128 0x2
	.byte	0x6
	.byte	0x9d
	.byte	0xb
	.long	0x4e0
	.uleb128 0x2
	.byte	0x6
	.byte	0xa0
	.byte	0xb
	.long	0x500
	.uleb128 0x2
	.byte	0x6
	.byte	0xa3
	.byte	0xb
	.long	0x513
	.uleb128 0x2
	.byte	0x6
	.byte	0xa5
	.byte	0xb
	.long	0x520
	.uleb128 0x2
	.byte	0x6
	.byte	0xa6
	.byte	0xb
	.long	0x531
	.uleb128 0x2
	.byte	0x6
	.byte	0xa7
	.byte	0xb
	.long	0x551
	.uleb128 0x2
	.byte	0x6
	.byte	0xa8
	.byte	0xb
	.long	0x571
	.uleb128 0x2
	.byte	0x6
	.byte	0xa9
	.byte	0xb
	.long	0x591
	.uleb128 0x2
	.byte	0x6
	.byte	0xab
	.byte	0xb
	.long	0x5a7
	.uleb128 0x2
	.byte	0x6
	.byte	0xac
	.byte	0xb
	.long	0x5cc
	.uleb128 0x2
	.byte	0x6
	.byte	0xf0
	.byte	0x16
	.long	0x16a
	.uleb128 0x2
	.byte	0x6
	.byte	0xf5
	.byte	0x16
	.long	0x62c
	.uleb128 0x2
	.byte	0x6
	.byte	0xf6
	.byte	0x16
	.long	0x646
	.uleb128 0x2
	.byte	0x6
	.byte	0xf8
	.byte	0x16
	.long	0x661
	.uleb128 0x2
	.byte	0x6
	.byte	0xf9
	.byte	0x16
	.long	0x6b7
	.uleb128 0x2
	.byte	0x6
	.byte	0xfa
	.byte	0x16
	.long	0x677
	.uleb128 0x2
	.byte	0x6
	.byte	0xfb
	.byte	0x16
	.long	0x697
	.uleb128 0x2
	.byte	0x6
	.byte	0xfc
	.byte	0x16
	.long	0x6d2
	.uleb128 0xd
	.string	"abs"
	.byte	0x67
	.long	.LASF30
	.long	0xc0
	.long	0x2da
	.uleb128 0x1
	.long	0xc0
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x55
	.long	.LASF31
	.long	0x71d
	.long	0x2f2
	.uleb128 0x1
	.long	0x71d
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x4f
	.long	.LASF32
	.long	0xd5
	.long	0x30a
	.uleb128 0x1
	.long	0xd5
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x4b
	.long	.LASF33
	.long	0xc7
	.long	0x322
	.uleb128 0x1
	.long	0xc7
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x47
	.long	.LASF34
	.long	0xce
	.long	0x33a
	.uleb128 0x1
	.long	0xce
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x3d
	.long	.LASF35
	.long	0x163
	.long	0x352
	.uleb128 0x1
	.long	0x163
	.byte	0
	.uleb128 0xd
	.string	"abs"
	.byte	0x38
	.long	.LASF36
	.long	0x81
	.long	0x36a
	.uleb128 0x1
	.long	0x81
	.byte	0
	.uleb128 0x16
	.string	"div"
	.byte	0xb1
	.long	.LASF59
	.long	0x132
	.uleb128 0x1
	.long	0x81
	.uleb128 0x1
	.long	0x81
	.byte	0
	.byte	0
	.uleb128 0x8
	.long	.LASF37
	.value	0x267
	.byte	0xc
	.long	0x62
	.long	0x39a
	.uleb128 0x1
	.long	0x39a
	.byte	0
	.uleb128 0x4
	.long	0x39f
	.uleb128 0x23
	.uleb128 0x24
	.long	.LASF38
	.byte	0x4
	.value	0x26c
	.byte	0x12
	.long	.LASF38
	.long	0x62
	.long	0x3bb
	.uleb128 0x1
	.long	0x39a
	.byte	0
	.uleb128 0xa
	.long	.LASF39
	.byte	0x8
	.byte	0x19
	.byte	0x1
	.long	0xce
	.long	0x3d1
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0x8
	.long	.LASF40
	.value	0x16a
	.byte	0x1
	.long	0x62
	.long	0x3e7
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0x8
	.long	.LASF41
	.value	0x16f
	.byte	0x1
	.long	0x81
	.long	0x3fd
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0xa
	.long	.LASF42
	.byte	0x9
	.byte	0x14
	.byte	0x1
	.long	0x44
	.long	0x427
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x2a
	.uleb128 0x1
	.long	0x2a
	.uleb128 0x1
	.long	0x189
	.byte	0
	.uleb128 0x25
	.string	"div"
	.byte	0x4
	.value	0x369
	.byte	0xe
	.long	0x101
	.long	0x443
	.uleb128 0x1
	.long	0x62
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x8
	.long	.LASF43
	.value	0x28e
	.byte	0xe
	.long	0x94
	.long	0x459
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0x8
	.long	.LASF44
	.value	0x36b
	.byte	0xf
	.long	0x132
	.long	0x474
	.uleb128 0x1
	.long	0x81
	.uleb128 0x1
	.long	0x81
	.byte	0
	.uleb128 0x8
	.long	.LASF45
	.value	0x3af
	.byte	0xc
	.long	0x62
	.long	0x48f
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x2a
	.byte	0
	.uleb128 0x8
	.long	.LASF46
	.value	0x3ba
	.byte	0xf
	.long	0x2a
	.long	0x4af
	.uleb128 0x1
	.long	0x4af
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x2a
	.byte	0
	.uleb128 0x4
	.long	0x4b4
	.uleb128 0x6
	.byte	0x4
	.byte	0x5
	.long	.LASF47
	.uleb128 0x15
	.long	0x4b4
	.uleb128 0x8
	.long	.LASF48
	.value	0x3b2
	.byte	0xc
	.long	0x62
	.long	0x4e0
	.uleb128 0x1
	.long	0x4af
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x2a
	.byte	0
	.uleb128 0x17
	.long	.LASF50
	.value	0x353
	.long	0x500
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x2a
	.uleb128 0x1
	.long	0x2a
	.uleb128 0x1
	.long	0x189
	.byte	0
	.uleb128 0x26
	.long	.LASF49
	.byte	0x4
	.value	0x283
	.byte	0xd
	.long	0x513
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x27
	.long	.LASF146
	.byte	0x4
	.value	0x1c6
	.byte	0xc
	.long	0x62
	.uleb128 0x17
	.long	.LASF51
	.value	0x1c8
	.long	0x531
	.uleb128 0x1
	.long	0x3d
	.byte	0
	.uleb128 0xa
	.long	.LASF52
	.byte	0x4
	.byte	0x76
	.byte	0xf
	.long	0xce
	.long	0x54c
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.byte	0
	.uleb128 0x4
	.long	0x94
	.uleb128 0xa
	.long	.LASF53
	.byte	0x4
	.byte	0xb1
	.byte	0x11
	.long	0x81
	.long	0x571
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0xa
	.long	.LASF54
	.byte	0x4
	.byte	0xb5
	.byte	0x1a
	.long	0x36
	.long	0x591
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x8
	.long	.LASF55
	.value	0x324
	.byte	0xc
	.long	0x62
	.long	0x5a7
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0x8
	.long	.LASF56
	.value	0x3be
	.byte	0xf
	.long	0x2a
	.long	0x5c7
	.uleb128 0x1
	.long	0x94
	.uleb128 0x1
	.long	0x5c7
	.uleb128 0x1
	.long	0x2a
	.byte	0
	.uleb128 0x4
	.long	0x4bb
	.uleb128 0x8
	.long	.LASF57
	.value	0x3b6
	.byte	0xc
	.long	0x62
	.long	0x5e7
	.uleb128 0x1
	.long	0x94
	.uleb128 0x1
	.long	0x4b4
	.byte	0
	.uleb128 0x28
	.long	.LASF58
	.byte	0xf
	.value	0x14d
	.byte	0xb
	.long	0x646
	.uleb128 0x2
	.byte	0x6
	.byte	0xc8
	.byte	0xb
	.long	0x16a
	.uleb128 0x2
	.byte	0x6
	.byte	0xd8
	.byte	0xb
	.long	0x646
	.uleb128 0x2
	.byte	0x6
	.byte	0xe3
	.byte	0xb
	.long	0x661
	.uleb128 0x2
	.byte	0x6
	.byte	0xe4
	.byte	0xb
	.long	0x677
	.uleb128 0x2
	.byte	0x6
	.byte	0xe5
	.byte	0xb
	.long	0x697
	.uleb128 0x2
	.byte	0x6
	.byte	0xe7
	.byte	0xb
	.long	0x6b7
	.uleb128 0x2
	.byte	0x6
	.byte	0xe8
	.byte	0xb
	.long	0x6d2
	.uleb128 0x16
	.string	"div"
	.byte	0xd5
	.long	.LASF60
	.long	0x16a
	.uleb128 0x1
	.long	0x163
	.uleb128 0x1
	.long	0x163
	.byte	0
	.byte	0
	.uleb128 0x8
	.long	.LASF61
	.value	0x36f
	.byte	0x1e
	.long	0x16a
	.long	0x661
	.uleb128 0x1
	.long	0x163
	.uleb128 0x1
	.long	0x163
	.byte	0
	.uleb128 0x8
	.long	.LASF62
	.value	0x176
	.byte	0x1
	.long	0x163
	.long	0x677
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0xa
	.long	.LASF63
	.byte	0x4
	.byte	0xc9
	.byte	0x16
	.long	0x163
	.long	0x697
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0xa
	.long	.LASF64
	.byte	0x4
	.byte	0xce
	.byte	0x1f
	.long	0x182
	.long	0x6b7
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0xa
	.long	.LASF65
	.byte	0x4
	.byte	0x7c
	.byte	0xe
	.long	0xc7
	.long	0x6d2
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.byte	0
	.uleb128 0xa
	.long	.LASF66
	.byte	0x4
	.byte	0x7f
	.byte	0x14
	.long	0xd5
	.long	0x6ed
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0x54c
	.byte	0
	.uleb128 0x2
	.byte	0xa
	.byte	0x27
	.byte	0xc
	.long	0x384
	.uleb128 0x2
	.byte	0xa
	.byte	0x2b
	.byte	0xe
	.long	0x3a0
	.uleb128 0x2
	.byte	0xa
	.byte	0x2e
	.byte	0xe
	.long	0x500
	.uleb128 0x2
	.byte	0xa
	.byte	0x33
	.byte	0xc
	.long	0x101
	.uleb128 0x2
	.byte	0xa
	.byte	0x34
	.byte	0xc
	.long	0x132
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x2c2
	.uleb128 0x6
	.byte	0x10
	.byte	0x5
	.long	.LASF67
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x2da
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x2f2
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x30a
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x322
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x33a
	.uleb128 0x2
	.byte	0xa
	.byte	0x36
	.byte	0xc
	.long	0x352
	.uleb128 0x2
	.byte	0xa
	.byte	0x37
	.byte	0xc
	.long	0x3bb
	.uleb128 0x2
	.byte	0xa
	.byte	0x38
	.byte	0xc
	.long	0x3d1
	.uleb128 0x2
	.byte	0xa
	.byte	0x39
	.byte	0xc
	.long	0x3e7
	.uleb128 0x2
	.byte	0xa
	.byte	0x3a
	.byte	0xc
	.long	0x3fd
	.uleb128 0x2
	.byte	0xa
	.byte	0x3c
	.byte	0xc
	.long	0x62c
	.uleb128 0x2
	.byte	0xa
	.byte	0x3c
	.byte	0xc
	.long	0x36a
	.uleb128 0x2
	.byte	0xa
	.byte	0x3c
	.byte	0xc
	.long	0x427
	.uleb128 0x2
	.byte	0xa
	.byte	0x3e
	.byte	0xc
	.long	0x443
	.uleb128 0x2
	.byte	0xa
	.byte	0x40
	.byte	0xc
	.long	0x459
	.uleb128 0x2
	.byte	0xa
	.byte	0x43
	.byte	0xc
	.long	0x474
	.uleb128 0x2
	.byte	0xa
	.byte	0x44
	.byte	0xc
	.long	0x48f
	.uleb128 0x2
	.byte	0xa
	.byte	0x45
	.byte	0xc
	.long	0x4c0
	.uleb128 0x2
	.byte	0xa
	.byte	0x47
	.byte	0xc
	.long	0x4e0
	.uleb128 0x2
	.byte	0xa
	.byte	0x48
	.byte	0xc
	.long	0x513
	.uleb128 0x2
	.byte	0xa
	.byte	0x4a
	.byte	0xc
	.long	0x520
	.uleb128 0x2
	.byte	0xa
	.byte	0x4b
	.byte	0xc
	.long	0x531
	.uleb128 0x2
	.byte	0xa
	.byte	0x4c
	.byte	0xc
	.long	0x551
	.uleb128 0x2
	.byte	0xa
	.byte	0x4d
	.byte	0xc
	.long	0x571
	.uleb128 0x2
	.byte	0xa
	.byte	0x4e
	.byte	0xc
	.long	0x591
	.uleb128 0x2
	.byte	0xa
	.byte	0x50
	.byte	0xc
	.long	0x5a7
	.uleb128 0x2
	.byte	0xa
	.byte	0x51
	.byte	0xc
	.long	0x5cc
	.uleb128 0x9
	.long	.LASF68
	.byte	0xb
	.byte	0x1a
	.byte	0x14
	.long	0x69
	.uleb128 0x9
	.long	.LASF69
	.byte	0xb
	.byte	0x1b
	.byte	0x14
	.long	0x88
	.uleb128 0x29
	.byte	0x7
	.byte	0x4
	.long	0x3d
	.byte	0x10
	.byte	0xce
	.byte	0x3
	.long	0x8be
	.uleb128 0xb
	.long	.LASF70
	.byte	0x1
	.uleb128 0xb
	.long	.LASF71
	.byte	0x2
	.uleb128 0xb
	.long	.LASF72
	.byte	0x4
	.uleb128 0xb
	.long	.LASF73
	.byte	0x4
	.uleb128 0xb
	.long	.LASF74
	.byte	0x8
	.uleb128 0xb
	.long	.LASF75
	.byte	0x10
	.uleb128 0xb
	.long	.LASF76
	.byte	0x20
	.uleb128 0xb
	.long	.LASF77
	.byte	0x40
	.uleb128 0xb
	.long	.LASF78
	.byte	0x80
	.uleb128 0xc
	.long	.LASF79
	.value	0x100
	.uleb128 0xc
	.long	.LASF80
	.value	0x200
	.uleb128 0xc
	.long	.LASF81
	.value	0x400
	.uleb128 0xc
	.long	.LASF82
	.value	0x800
	.uleb128 0xc
	.long	.LASF83
	.value	0x1000
	.uleb128 0xc
	.long	.LASF84
	.value	0x2000
	.uleb128 0xc
	.long	.LASF85
	.value	0x4000
	.uleb128 0xc
	.long	.LASF86
	.value	0x8000
	.uleb128 0xe
	.long	.LASF87
	.long	0x10000
	.uleb128 0xe
	.long	.LASF88
	.long	0x40000
	.uleb128 0xe
	.long	.LASF89
	.long	0x4000000
	.uleb128 0xe
	.long	.LASF90
	.long	0x20000000
	.uleb128 0xe
	.long	.LASF91
	.long	0x40000000
	.byte	0
	.uleb128 0x2a
	.long	.LASF159
	.value	0x180
	.byte	0xc
	.byte	0x34
	.byte	0x8
	.long	0xb4a
	.uleb128 0x3
	.long	.LASF92
	.byte	0xc
	.byte	0x3a
	.byte	0xc
	.long	0x808
	.byte	0
	.uleb128 0x3
	.long	.LASF93
	.byte	0xc
	.byte	0x3b
	.byte	0x7
	.long	0x62
	.byte	0x8
	.uleb128 0x3
	.long	.LASF94
	.byte	0xc
	.byte	0x3c
	.byte	0x7
	.long	0x62
	.byte	0xc
	.uleb128 0x3
	.long	.LASF95
	.byte	0xc
	.byte	0x42
	.byte	0xf
	.long	0xa5
	.byte	0x10
	.uleb128 0x3
	.long	.LASF96
	.byte	0xc
	.byte	0x43
	.byte	0xf
	.long	0xa5
	.byte	0x18
	.uleb128 0x3
	.long	.LASF97
	.byte	0xc
	.byte	0x44
	.byte	0xf
	.long	0xa5
	.byte	0x20
	.uleb128 0x3
	.long	.LASF98
	.byte	0xc
	.byte	0x45
	.byte	0xf
	.long	0xa5
	.byte	0x28
	.uleb128 0x3
	.long	.LASF99
	.byte	0xc
	.byte	0x47
	.byte	0xa
	.long	0x39a
	.byte	0x30
	.uleb128 0x3
	.long	.LASF100
	.byte	0xc
	.byte	0x48
	.byte	0xa
	.long	0x39a
	.byte	0x38
	.uleb128 0x3
	.long	.LASF101
	.byte	0xc
	.byte	0x4a
	.byte	0x9
	.long	0xb5e
	.byte	0x40
	.uleb128 0x3
	.long	.LASF102
	.byte	0xc
	.byte	0x4b
	.byte	0x9
	.long	0xb68
	.byte	0x48
	.uleb128 0x3
	.long	.LASF103
	.byte	0xc
	.byte	0x4c
	.byte	0xf
	.long	0xa5
	.byte	0x50
	.uleb128 0x3
	.long	.LASF104
	.byte	0xc
	.byte	0x4e
	.byte	0xc
	.long	0xb7c
	.byte	0x58
	.uleb128 0x3
	.long	.LASF105
	.byte	0xc
	.byte	0x4f
	.byte	0xa
	.long	0xb8c
	.byte	0x60
	.uleb128 0x3
	.long	.LASF106
	.byte	0xc
	.byte	0x51
	.byte	0xd
	.long	0xba0
	.byte	0x68
	.uleb128 0x3
	.long	.LASF107
	.byte	0xc
	.byte	0x53
	.byte	0x9
	.long	0xba5
	.byte	0x70
	.uleb128 0x3
	.long	.LASF108
	.byte	0xc
	.byte	0x54
	.byte	0x9
	.long	0xba5
	.byte	0x78
	.uleb128 0x3
	.long	.LASF109
	.byte	0xc
	.byte	0x55
	.byte	0x9
	.long	0xba5
	.byte	0x80
	.uleb128 0x3
	.long	.LASF110
	.byte	0xc
	.byte	0x56
	.byte	0x9
	.long	0xba5
	.byte	0x88
	.uleb128 0x3
	.long	.LASF111
	.byte	0xc
	.byte	0x59
	.byte	0x9
	.long	0xbc8
	.byte	0x90
	.uleb128 0x3
	.long	.LASF112
	.byte	0xc
	.byte	0x5a
	.byte	0x9
	.long	0xbeb
	.byte	0x98
	.uleb128 0x3
	.long	.LASF113
	.byte	0xc
	.byte	0x5c
	.byte	0x9
	.long	0xba5
	.byte	0xa0
	.uleb128 0x3
	.long	.LASF114
	.byte	0xc
	.byte	0x5d
	.byte	0x9
	.long	0xc09
	.byte	0xa8
	.uleb128 0x3
	.long	.LASF115
	.byte	0xc
	.byte	0x5e
	.byte	0x9
	.long	0xc2c
	.byte	0xb0
	.uleb128 0x3
	.long	.LASF116
	.byte	0xc
	.byte	0x67
	.byte	0x7
	.long	0x62
	.byte	0xb8
	.uleb128 0x3
	.long	.LASF117
	.byte	0xc
	.byte	0x69
	.byte	0xa
	.long	0x39a
	.byte	0xc0
	.uleb128 0x3
	.long	.LASF118
	.byte	0xc
	.byte	0x6b
	.byte	0x9
	.long	0xba5
	.byte	0xc8
	.uleb128 0x3
	.long	.LASF119
	.byte	0xc
	.byte	0x6c
	.byte	0x9
	.long	0xba5
	.byte	0xd0
	.uleb128 0x3
	.long	.LASF120
	.byte	0xc
	.byte	0x6e
	.byte	0x9
	.long	0xc54
	.byte	0xd8
	.uleb128 0x3
	.long	.LASF121
	.byte	0xc
	.byte	0x6f
	.byte	0x9
	.long	0xc7c
	.byte	0xe0
	.uleb128 0x3
	.long	.LASF122
	.byte	0xc
	.byte	0x70
	.byte	0x9
	.long	0xc95
	.byte	0xe8
	.uleb128 0x3
	.long	.LASF123
	.byte	0xc
	.byte	0x71
	.byte	0x9
	.long	0xcb8
	.byte	0xf0
	.uleb128 0x3
	.long	.LASF124
	.byte	0xc
	.byte	0x72
	.byte	0x9
	.long	0xcb8
	.byte	0xf8
	.uleb128 0x7
	.long	.LASF125
	.byte	0x7d
	.byte	0xf
	.long	0xa5
	.value	0x100
	.uleb128 0x7
	.long	.LASF126
	.byte	0x7f
	.byte	0x9
	.long	0xba5
	.value	0x108
	.uleb128 0x7
	.long	.LASF127
	.byte	0x81
	.byte	0x9
	.long	0xba5
	.value	0x110
	.uleb128 0x7
	.long	.LASF128
	.byte	0x82
	.byte	0x9
	.long	0xcea
	.value	0x118
	.uleb128 0x7
	.long	.LASF129
	.byte	0x84
	.byte	0x9
	.long	0xba5
	.value	0x120
	.uleb128 0x7
	.long	.LASF130
	.byte	0x85
	.byte	0x9
	.long	0xcb8
	.value	0x128
	.uleb128 0x7
	.long	.LASF131
	.byte	0x87
	.byte	0x9
	.long	0xb68
	.value	0x130
	.uleb128 0x7
	.long	.LASF132
	.byte	0x89
	.byte	0x9
	.long	0xba5
	.value	0x138
	.uleb128 0x7
	.long	.LASF133
	.byte	0x8b
	.byte	0x9
	.long	0xcfe
	.value	0x140
	.uleb128 0x7
	.long	.LASF134
	.byte	0x8d
	.byte	0x9
	.long	0xb68
	.value	0x148
	.uleb128 0x7
	.long	.LASF135
	.byte	0x8e
	.byte	0x9
	.long	0xb68
	.value	0x150
	.uleb128 0x7
	.long	.LASF136
	.byte	0x90
	.byte	0x9
	.long	0xd26
	.value	0x158
	.uleb128 0x7
	.long	.LASF137
	.byte	0x92
	.byte	0x12
	.long	0xd3f
	.value	0x160
	.uleb128 0x7
	.long	.LASF138
	.byte	0x93
	.byte	0x12
	.long	0xd53
	.value	0x168
	.uleb128 0x7
	.long	.LASF139
	.byte	0x95
	.byte	0xa
	.long	0x39a
	.value	0x170
	.uleb128 0x7
	.long	.LASF140
	.byte	0x97
	.byte	0x9
	.long	0xd7b
	.value	0x178
	.byte	0
	.uleb128 0x5
	.long	0x62
	.long	0xb5e
	.uleb128 0x1
	.long	0xa5
	.uleb128 0x1
	.long	0xa5
	.byte	0
	.uleb128 0x4
	.long	0xb4a
	.uleb128 0x2b
	.long	0x62
	.uleb128 0x4
	.long	0xb63
	.uleb128 0x5
	.long	0x44
	.long	0xb7c
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x4
	.long	0xb6d
	.uleb128 0x2c
	.long	0xb8c
	.uleb128 0x1
	.long	0x44
	.byte	0
	.uleb128 0x4
	.long	0xb81
	.uleb128 0x5
	.long	0x176
	.long	0xba0
	.uleb128 0x1
	.long	0x44
	.byte	0
	.uleb128 0x4
	.long	0xb91
	.uleb128 0x4
	.long	0xaa
	.uleb128 0x5
	.long	0x62
	.long	0xbc8
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.byte	0
	.uleb128 0x4
	.long	0xbaa
	.uleb128 0x5
	.long	0x62
	.long	0xbeb
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.byte	0
	.uleb128 0x4
	.long	0xbcd
	.uleb128 0x5
	.long	0x62
	.long	0xc09
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.byte	0
	.uleb128 0x4
	.long	0xbf0
	.uleb128 0x5
	.long	0x62
	.long	0xc2c
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x4
	.long	0xc0e
	.uleb128 0x5
	.long	0x62
	.long	0xc54
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.uleb128 0x1
	.long	0x7fc
	.byte	0
	.uleb128 0x4
	.long	0xc31
	.uleb128 0x5
	.long	0x62
	.long	0xc7c
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.uleb128 0x1
	.long	0x7fc
	.byte	0
	.uleb128 0x4
	.long	0xc59
	.uleb128 0x5
	.long	0x62
	.long	0xc95
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.byte	0
	.uleb128 0x4
	.long	0xc81
	.uleb128 0x5
	.long	0x62
	.long	0xcb8
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.uleb128 0x1
	.long	0x7fc
	.byte	0
	.uleb128 0x4
	.long	0xc9a
	.uleb128 0x5
	.long	0x62
	.long	0xce0
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0x808
	.uleb128 0x1
	.long	0x7fc
	.uleb128 0x1
	.long	0xce0
	.byte	0
	.uleb128 0x4
	.long	0xce5
	.uleb128 0x18
	.long	.LASF141
	.uleb128 0x4
	.long	0xcbd
	.uleb128 0x5
	.long	0x62
	.long	0xcfe
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x4
	.long	0xcef
	.uleb128 0x5
	.long	0x62
	.long	0xd1c
	.uleb128 0x1
	.long	0x62
	.uleb128 0x1
	.long	0x62
	.uleb128 0x1
	.long	0xd1c
	.byte	0
	.uleb128 0x4
	.long	0xd21
	.uleb128 0x18
	.long	.LASF142
	.uleb128 0x4
	.long	0xd03
	.uleb128 0x5
	.long	0xa5
	.long	0xd3f
	.uleb128 0x1
	.long	0x62
	.uleb128 0x1
	.long	0x62
	.byte	0
	.uleb128 0x4
	.long	0xd2b
	.uleb128 0x5
	.long	0xa5
	.long	0xd53
	.uleb128 0x1
	.long	0x44
	.byte	0
	.uleb128 0x4
	.long	0xd44
	.uleb128 0x5
	.long	0x62
	.long	0xd76
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0xd76
	.uleb128 0x1
	.long	0xd76
	.uleb128 0x1
	.long	0xd76
	.byte	0
	.uleb128 0x4
	.long	0x7fc
	.uleb128 0x4
	.long	0xd58
	.uleb128 0x19
	.long	0x46
	.long	0xd91
	.uleb128 0x2d
	.long	0x36
	.value	0x1ff
	.byte	0
	.uleb128 0x12
	.long	.LASF143
	.byte	0x2e
	.byte	0x16
	.long	0xd80
	.uleb128 0x9
	.byte	0x3
	.quad	_ZL10bootsector
	.uleb128 0x19
	.long	0x46
	.long	0xdb9
	.uleb128 0x2e
	.long	0x36
	.long	0x63fffff
	.byte	0
	.uleb128 0x12
	.long	.LASF144
	.byte	0x70
	.byte	0x16
	.long	0xda6
	.uleb128 0x9
	.byte	0x3
	.quad	_ZL4data
	.uleb128 0x12
	.long	.LASF145
	.byte	0x9a
	.byte	0x1d
	.long	0x8be
	.uleb128 0x9
	.byte	0x3
	.quad	_ZL6plugin
	.uleb128 0x2f
	.long	.LASF147
	.byte	0xd
	.byte	0x25
	.byte	0xd
	.long	0xdef
	.uleb128 0x4
	.long	0x62
	.uleb128 0xa
	.long	.LASF148
	.byte	0xe
	.byte	0x2b
	.byte	0xe
	.long	0x44
	.long	0xe14
	.uleb128 0x1
	.long	0x44
	.uleb128 0x1
	.long	0x1af
	.uleb128 0x1
	.long	0x2a
	.byte	0
	.uleb128 0x30
	.long	.LASF160
	.quad	.LFB56
	.quad	.LFE56-.LFB56
	.uleb128 0x1
	.byte	0x9c
	.long	0xe91
	.uleb128 0x1a
	.long	0xe91
	.quad	.LBI10
	.byte	.LVU26
	.quad	.LBB10
	.quad	.LBE10-.LBB10
	.byte	0x9c
	.byte	0x1
	.uleb128 0x1b
	.long	0xe9b
	.long	.LLST5
	.long	.LVUS5
	.uleb128 0x1b
	.long	0xea5
	.long	.LLST6
	.long	.LVUS6
	.uleb128 0x1a
	.long	0xee5
	.quad	.LBI11
	.byte	.LVU27
	.quad	.LBB11
	.quad	.LBE11-.LBB11
	.byte	0x9a
	.byte	0x34
	.uleb128 0x31
	.long	0xeef
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x32
	.long	.LASF161
	.byte	0x1
	.long	0xeb0
	.uleb128 0x1c
	.long	.LASF149
	.byte	0x9c
	.long	0x62
	.uleb128 0x1c
	.long	.LASF150
	.byte	0x9c
	.long	0x62
	.byte	0
	.uleb128 0x33
	.long	.LASF162
	.byte	0x1
	.byte	0x9c
	.byte	0x1
	.long	0xece
	.quad	.LFB54
	.quad	.LFE54-.LFB54
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x4
	.long	0x8be
	.uleb128 0x34
	.long	0xee5
	.uleb128 0x35
	.long	.LASF163
	.byte	0x1
	.byte	0x8f
	.byte	0x11
	.long	0x8be
	.byte	0
	.uleb128 0x36
	.long	0xed8
	.byte	0x1
	.long	0xefc
	.uleb128 0x37
	.long	.LASF145
	.byte	0x1
	.byte	0x90
	.byte	0x13
	.long	0x8be
	.byte	0
	.uleb128 0x13
	.long	.LASF154
	.byte	0x87
	.long	0x62
	.quad	.LFB52
	.quad	.LFE52-.LFB52
	.uleb128 0x1
	.byte	0x9c
	.long	0xf9d
	.uleb128 0xf
	.long	.LASF151
	.byte	0x87
	.byte	0x12
	.long	0x44
	.long	.LLST0
	.long	.LVUS0
	.uleb128 0x38
	.string	"buf"
	.byte	0x1
	.byte	0x87
	.byte	0x20
	.long	0x44
	.long	.LLST1
	.long	.LVUS1
	.uleb128 0xf
	.long	.LASF152
	.byte	0x87
	.byte	0x2e
	.long	0x7fc
	.long	.LLST2
	.long	.LVUS2
	.uleb128 0xf
	.long	.LASF153
	.byte	0x87
	.byte	0x3e
	.long	0x808
	.long	.LLST3
	.long	.LVUS3
	.uleb128 0x39
	.quad	.LVL4
	.long	0x1027
	.uleb128 0x14
	.uleb128 0x1
	.byte	0x55
	.uleb128 0x3
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.uleb128 0x14
	.uleb128 0x1
	.byte	0x54
	.uleb128 0xd
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x3
	.quad	_ZL4data
	.byte	0x22
	.uleb128 0x14
	.uleb128 0x1
	.byte	0x51
	.uleb128 0x9
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0xc
	.long	0xffffffff
	.byte	0x1a
	.byte	0
	.byte	0
	.uleb128 0x13
	.long	.LASF155
	.byte	0x7f
	.long	0x176
	.quad	.LFB51
	.quad	.LFE51-.LFB51
	.uleb128 0x1
	.byte	0x9c
	.long	0xfcc
	.uleb128 0x3a
	.long	.LASF151
	.byte	0x1
	.byte	0x7f
	.byte	0x15
	.long	0x44
	.uleb128 0x1
	.byte	0x55
	.byte	0
	.uleb128 0x13
	.long	.LASF156
	.byte	0x79
	.long	0x44
	.quad	.LFB50
	.quad	.LFE50-.LFB50
	.uleb128 0x1
	.byte	0x9c
	.long	0x100d
	.uleb128 0xf
	.long	.LASF157
	.byte	0x79
	.byte	0xf
	.long	0x62
	.long	.LLST4
	.long	.LVUS4
	.uleb128 0x3b
	.quad	.LVL6
	.long	0xde3
	.byte	0
	.uleb128 0x3c
	.long	.LASF164
	.byte	0x1
	.byte	0x73
	.byte	0x1
	.quad	.LFB49
	.quad	.LFE49-.LFB49
	.uleb128 0x1
	.byte	0x9c
	.uleb128 0x3d
	.long	.LASF148
	.long	.LASF165
	.byte	0
	.section	.debug_abbrev,"",@progbits
.Ldebug_abbrev0:
	.uleb128 0x1
	.uleb128 0x5
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2
	.uleb128 0x8
	.byte	0
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x18
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x4
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0x21
	.sleb128 8
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x5
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x6
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.uleb128 0x7
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 12
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0x8
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 4
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x9
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xa
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xb
	.uleb128 0x28
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1c
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0xc
	.uleb128 0x28
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1c
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0xd
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 7
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 3
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0xe
	.uleb128 0x28
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x1c
	.uleb128 0x6
	.byte	0
	.byte	0
	.uleb128 0xf
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x10
	.uleb128 0x13
	.byte	0x1
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 4
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 3
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x11
	.uleb128 0xd
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 4
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x38
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x12
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x13
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x14
	.uleb128 0x49
	.byte	0
	.uleb128 0x2
	.uleb128 0x18
	.uleb128 0x7e
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x15
	.uleb128 0x26
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x16
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 6
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 3
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x17
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 4
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x18
	.uleb128 0x13
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x19
	.uleb128 0x1
	.byte	0x1
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1a
	.uleb128 0x1d
	.byte	0x1
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x52
	.uleb128 0x1
	.uleb128 0x2138
	.uleb128 0xb
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x58
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x59
	.uleb128 0xb
	.uleb128 0x57
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x1b
	.uleb128 0x5
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x1c
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0x21
	.sleb128 1
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x1d
	.uleb128 0x11
	.byte	0x1
	.uleb128 0x25
	.uleb128 0xe
	.uleb128 0x13
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x1f
	.uleb128 0x1b
	.uleb128 0x1f
	.uleb128 0x55
	.uleb128 0x17
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x10
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x1e
	.uleb128 0xf
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.byte	0
	.byte	0
	.uleb128 0x1f
	.uleb128 0x24
	.byte	0
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0x3
	.uleb128 0x8
	.byte	0
	.byte	0
	.uleb128 0x20
	.uleb128 0x16
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x21
	.uleb128 0x26
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x22
	.uleb128 0x39
	.byte	0x1
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x23
	.uleb128 0x15
	.byte	0
	.byte	0
	.byte	0
	.uleb128 0x24
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x25
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x26
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x87
	.uleb128 0x19
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x27
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x28
	.uleb128 0x39
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0x5
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x29
	.uleb128 0x4
	.byte	0x1
	.uleb128 0x3e
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2a
	.uleb128 0x13
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0xb
	.uleb128 0x5
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2b
	.uleb128 0x15
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2c
	.uleb128 0x15
	.byte	0x1
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x2d
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0x5
	.byte	0
	.byte	0
	.uleb128 0x2e
	.uleb128 0x21
	.byte	0
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2f
	.uleb128 0x6
	.byte	0
	.byte	0
	.uleb128 0x2f
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x30
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x34
	.uleb128 0x19
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x31
	.uleb128 0x34
	.byte	0
	.uleb128 0x31
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x32
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x34
	.uleb128 0x19
	.uleb128 0x20
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x33
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x34
	.uleb128 0x39
	.byte	0x1
	.uleb128 0x89
	.uleb128 0x19
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x35
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x3c
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x36
	.uleb128 0x2e
	.byte	0x1
	.uleb128 0x47
	.uleb128 0x13
	.uleb128 0x20
	.uleb128 0xb
	.uleb128 0x1
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x37
	.uleb128 0x34
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x38
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0x8
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x17
	.uleb128 0x2137
	.uleb128 0x17
	.byte	0
	.byte	0
	.uleb128 0x39
	.uleb128 0x48
	.byte	0x1
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3a
	.uleb128 0x5
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x49
	.uleb128 0x13
	.uleb128 0x2
	.uleb128 0x18
	.byte	0
	.byte	0
	.uleb128 0x3b
	.uleb128 0x48
	.byte	0
	.uleb128 0x7d
	.uleb128 0x1
	.uleb128 0x82
	.uleb128 0x19
	.uleb128 0x7f
	.uleb128 0x13
	.byte	0
	.byte	0
	.uleb128 0x3c
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3
	.uleb128 0xe
	.uleb128 0x3a
	.uleb128 0xb
	.uleb128 0x3b
	.uleb128 0xb
	.uleb128 0x39
	.uleb128 0xb
	.uleb128 0x11
	.uleb128 0x1
	.uleb128 0x12
	.uleb128 0x7
	.uleb128 0x40
	.uleb128 0x18
	.uleb128 0x7a
	.uleb128 0x19
	.byte	0
	.byte	0
	.uleb128 0x3d
	.uleb128 0x2e
	.byte	0
	.uleb128 0x3f
	.uleb128 0x19
	.uleb128 0x3c
	.uleb128 0x19
	.uleb128 0x6e
	.uleb128 0xe
	.uleb128 0x3
	.uleb128 0xe
	.byte	0
	.byte	0
	.byte	0
	.section	.debug_loclists,"",@progbits
	.long	.Ldebug_loc3-.Ldebug_loc2
.Ldebug_loc2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.Ldebug_loc0:
.LVUS5:
	.uleb128 .LVU27
	.uleb128 .LVU43
.LLST5:
	.byte	0x8
	.quad	.LVL7
	.uleb128 .LVL8-.LVL7
	.uleb128 0x2
	.byte	0x31
	.byte	0x9f
	.byte	0
.LVUS6:
	.uleb128 .LVU27
	.uleb128 .LVU43
.LLST6:
	.byte	0x8
	.quad	.LVL7
	.uleb128 .LVL8-.LVL7
	.uleb128 0x4
	.byte	0xa
	.value	0xffff
	.byte	0x9f
	.byte	0
.LVUS0:
	.uleb128 0
	.uleb128 .LVU10
	.uleb128 .LVU10
	.uleb128 0
.LLST0:
	.byte	0x6
	.quad	.LVL1
	.byte	0x4
	.uleb128 .LVL1-.LVL1
	.uleb128 .LVL2-.LVL1
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL2-.LVL1
	.uleb128 .LFE52-.LVL1
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0
.LVUS1:
	.uleb128 0
	.uleb128 .LVU11
	.uleb128 .LVU11
	.uleb128 .LVU14
	.uleb128 .LVU14
	.uleb128 0
.LLST1:
	.byte	0x6
	.quad	.LVL1
	.byte	0x4
	.uleb128 .LVL1-.LVL1
	.uleb128 .LVL3-.LVL1
	.uleb128 0x1
	.byte	0x54
	.byte	0x4
	.uleb128 .LVL3-.LVL1
	.uleb128 .LVL4-1-.LVL1
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL4-1-.LVL1
	.uleb128 .LFE52-.LVL1
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x54
	.byte	0x9f
	.byte	0
.LVUS2:
	.uleb128 0
	.uleb128 .LVU14
	.uleb128 .LVU14
	.uleb128 0
.LLST2:
	.byte	0x6
	.quad	.LVL1
	.byte	0x4
	.uleb128 .LVL1-.LVL1
	.uleb128 .LVL4-1-.LVL1
	.uleb128 0x1
	.byte	0x51
	.byte	0x4
	.uleb128 .LVL4-1-.LVL1
	.uleb128 .LFE52-.LVL1
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x51
	.byte	0x9f
	.byte	0
.LVUS3:
	.uleb128 0
	.uleb128 .LVU14
	.uleb128 .LVU14
	.uleb128 0
.LLST3:
	.byte	0x6
	.quad	.LVL1
	.byte	0x4
	.uleb128 .LVL1-.LVL1
	.uleb128 .LVL4-1-.LVL1
	.uleb128 0x1
	.byte	0x52
	.byte	0x4
	.uleb128 .LVL4-1-.LVL1
	.uleb128 .LFE52-.LVL1
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x52
	.byte	0x9f
	.byte	0
.LVUS4:
	.uleb128 0
	.uleb128 .LVU19
	.uleb128 .LVU19
	.uleb128 0
.LLST4:
	.byte	0x6
	.quad	.LVL5
	.byte	0x4
	.uleb128 .LVL5-.LVL5
	.uleb128 .LVL6-1-.LVL5
	.uleb128 0x1
	.byte	0x55
	.byte	0x4
	.uleb128 .LVL6-1-.LVL5
	.uleb128 .LFE50-.LVL5
	.uleb128 0x4
	.byte	0xa3
	.uleb128 0x1
	.byte	0x55
	.byte	0x9f
	.byte	0
.Ldebug_loc3:
	.section	.debug_aranges,"",@progbits
	.long	0x3c
	.value	0x2
	.long	.Ldebug_info0
	.byte	0x8
	.byte	0
	.value	0
	.value	0
	.quad	.Ltext0
	.quad	.Letext0-.Ltext0
	.quad	.LFB56
	.quad	.LFE56-.LFB56
	.quad	0
	.quad	0
	.section	.debug_rnglists,"",@progbits
.Ldebug_ranges0:
	.long	.Ldebug_ranges3-.Ldebug_ranges2
.Ldebug_ranges2:
	.value	0x5
	.byte	0x8
	.byte	0
	.long	0
.LLRL7:
	.byte	0x7
	.quad	.Ltext0
	.uleb128 .Letext0-.Ltext0
	.byte	0x7
	.quad	.LFB56
	.uleb128 .LFE56-.LFB56
	.byte	0
.Ldebug_ranges3:
	.section	.debug_line,"",@progbits
.Ldebug_line0:
	.section	.debug_str,"MS",@progbits,1
.LASF43:
	.string	"getenv"
.LASF118:
	.string	"can_zero"
.LASF105:
	.string	"close"
.LASF146:
	.string	"rand"
.LASF145:
	.string	"plugin"
.LASF55:
	.string	"system"
.LASF59:
	.string	"_ZSt3divll"
.LASF119:
	.string	"can_fua"
.LASF45:
	.string	"mblen"
.LASF3:
	.string	"unsigned int"
.LASF97:
	.string	"version"
.LASF58:
	.string	"__gnu_cxx"
.LASF47:
	.string	"wchar_t"
.LASF156:
	.string	"cxx_open"
.LASF110:
	.string	"can_trim"
.LASF60:
	.string	"_ZN9__gnu_cxx3divExx"
.LASF64:
	.string	"strtoull"
.LASF107:
	.string	"can_write"
.LASF165:
	.string	"__builtin_memcpy"
.LASF147:
	.string	"__errno_location"
.LASF34:
	.string	"_ZSt3absd"
.LASF32:
	.string	"_ZSt3abse"
.LASF33:
	.string	"_ZSt3absf"
.LASF30:
	.string	"_ZSt3absg"
.LASF36:
	.string	"_ZSt3absl"
.LASF66:
	.string	"strtold"
.LASF31:
	.string	"_ZSt3absn"
.LASF63:
	.string	"strtoll"
.LASF68:
	.string	"uint32_t"
.LASF35:
	.string	"_ZSt3absx"
.LASF129:
	.string	"can_cache"
.LASF48:
	.string	"mbtowc"
.LASF111:
	.string	"pread"
.LASF16:
	.string	"float"
.LASF152:
	.string	"count"
.LASF162:
	.string	"plugin_init"
.LASF28:
	.string	"long long unsigned int"
.LASF84:
	.string	"MSG_ERRQUEUE"
.LASF139:
	.string	"cleanup"
.LASF163:
	.string	"create_plugin"
.LASF57:
	.string	"wctomb"
.LASF76:
	.string	"MSG_TRUNC"
.LASF61:
	.string	"lldiv"
.LASF62:
	.string	"atoll"
.LASF135:
	.string	"after_fork"
.LASF106:
	.string	"get_size"
.LASF70:
	.string	"MSG_OOB"
.LASF108:
	.string	"can_flush"
.LASF149:
	.string	"__initialize_p"
.LASF8:
	.string	"size_t"
.LASF51:
	.string	"srand"
.LASF27:
	.string	"int64_t"
.LASF153:
	.string	"offset"
.LASF73:
	.string	"MSG_TRYHARD"
.LASF133:
	.string	"preconnect"
.LASF150:
	.string	"__priority"
.LASF42:
	.string	"bsearch"
.LASF80:
	.string	"MSG_FIN"
.LASF78:
	.string	"MSG_EOR"
.LASF12:
	.string	"__uint64_t"
.LASF116:
	.string	"errno_is_preserved"
.LASF99:
	.string	"load"
.LASF13:
	.string	"char"
.LASF21:
	.string	"5div_t"
.LASF96:
	.string	"longname"
.LASF125:
	.string	"magic_config_key"
.LASF144:
	.string	"data"
.LASF85:
	.string	"MSG_NOSIGNAL"
.LASF49:
	.string	"quick_exit"
.LASF93:
	.string	"_api_version"
.LASF19:
	.string	"quot"
.LASF143:
	.string	"bootsector"
.LASF46:
	.string	"mbstowcs"
.LASF77:
	.string	"MSG_DONTWAIT"
.LASF25:
	.string	"long long int"
.LASF115:
	.string	"zero"
.LASF98:
	.string	"description"
.LASF44:
	.string	"ldiv"
.LASF89:
	.string	"MSG_ZEROCOPY"
.LASF81:
	.string	"MSG_SYN"
.LASF29:
	.string	"__compar_fn_t"
.LASF138:
	.string	"export_description"
.LASF14:
	.string	"__unknown__"
.LASF90:
	.string	"MSG_FASTOPEN"
.LASF100:
	.string	"unload"
.LASF114:
	.string	"trim"
.LASF130:
	.string	"cache"
.LASF74:
	.string	"MSG_CTRUNC"
.LASF117:
	.string	"dump_plugin"
.LASF10:
	.string	"__int64_t"
.LASF141:
	.string	"nbdkit_extents"
.LASF132:
	.string	"can_fast_zero"
.LASF18:
	.string	"long double"
.LASF128:
	.string	"extents"
.LASF102:
	.string	"config_complete"
.LASF161:
	.string	"__static_initialization_and_destruction_0"
.LASF101:
	.string	"config"
.LASF7:
	.string	"short int"
.LASF11:
	.string	"long int"
.LASF103:
	.string	"config_help"
.LASF72:
	.string	"MSG_DONTROUTE"
.LASF92:
	.string	"_struct_size"
.LASF154:
	.string	"cxx_pread"
.LASF140:
	.string	"block_size"
.LASF37:
	.string	"atexit"
.LASF15:
	.string	"__float128"
.LASF158:
	.string	"GNU C++17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables"
.LASF69:
	.string	"uint64_t"
.LASF136:
	.string	"list_exports"
.LASF71:
	.string	"MSG_PEEK"
.LASF88:
	.string	"MSG_BATCH"
.LASF23:
	.string	"ldiv_t"
.LASF155:
	.string	"cxx_get_size"
.LASF134:
	.string	"get_ready"
.LASF95:
	.string	"name"
.LASF104:
	.string	"open"
.LASF38:
	.string	"at_quick_exit"
.LASF83:
	.string	"MSG_RST"
.LASF131:
	.string	"thread_model"
.LASF86:
	.string	"MSG_MORE"
.LASF54:
	.string	"strtoul"
.LASF2:
	.string	"long unsigned int"
.LASF87:
	.string	"MSG_WAITFORONE"
.LASF79:
	.string	"MSG_WAITALL"
.LASF67:
	.string	"__int128"
.LASF20:
	.string	"div_t"
.LASF4:
	.string	"unsigned char"
.LASF9:
	.string	"__uint32_t"
.LASF91:
	.string	"MSG_CMSG_CLOEXEC"
.LASF52:
	.string	"strtod"
.LASF65:
	.string	"strtof"
.LASF137:
	.string	"default_export"
.LASF56:
	.string	"wcstombs"
.LASF53:
	.string	"strtol"
.LASF22:
	.string	"6ldiv_t"
.LASF127:
	.string	"can_extents"
.LASF157:
	.string	"readonly"
.LASF160:
	.string	"_GLOBAL__sub_I_test_cxx_plugin.cpp"
.LASF159:
	.string	"nbdkit_plugin"
.LASF164:
	.string	"cxx_load"
.LASF82:
	.string	"MSG_CONFIRM"
.LASF24:
	.string	"7lldiv_t"
.LASF6:
	.string	"signed char"
.LASF126:
	.string	"can_multi_conn"
.LASF5:
	.string	"short unsigned int"
.LASF26:
	.string	"lldiv_t"
.LASF151:
	.string	"handle"
.LASF148:
	.string	"memcpy"
.LASF39:
	.string	"atof"
.LASF40:
	.string	"atoi"
.LASF41:
	.string	"atol"
.LASF142:
	.string	"nbdkit_exports"
.LASF17:
	.string	"double"
.LASF113:
	.string	"flush"
.LASF112:
	.string	"pwrite"
.LASF75:
	.string	"MSG_PROXY"
.LASF109:
	.string	"is_rotational"
.LASF94:
	.string	"_thread_model"
.LASF120:
	.string	"_unused1"
.LASF121:
	.string	"_unused2"
.LASF122:
	.string	"_unused3"
.LASF123:
	.string	"_unused4"
.LASF124:
	.string	"_unused5"
.LASF50:
	.string	"qsort"
	.section	.debug_line_str,"MS",@progbits,1
.LASF0:
	.string	"test-cxx-plugin.cpp"
.LASF1:
	.string	"/tmp/nbdkit/tests"
	.ident	"GCC: (Debian 12.2.0-14+deb12u1) 12.2.0"
	.section	.note.GNU-stack,"",@progbits
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ELF          >                    `5          @     @   AWAVAUATUSHH  HzHDjPDzTn  D    E9~  AA  I5    D9/  1AAą  DDHHvHBL9%  E   HD$,HL$1Lt$@HD$LD$Dl$MAHD1AӅu"    HE1LLL$HUxtXALoHK HS()D$0HD$8HD$0At	D95    t7D9t$uD    DH=    1    HH  []A\A]A^A_Ð    HHH\$H)LD$HH1HHIDH=    1    H=    1    H=    1    H=    1    s   non-standard GPT layout: partition entries are not adjacent to header   GPT partition number out of range       GPT partition entry size is invalid (%d bytes)  GPT partition table is too large for this disk                  GPT partition %d not found o
                                         :                           &J       int     *A       ,           -:                :                            :           _       y              Q       L             
Q   %     a  :   
 %  a      k  k  u                                                                                          )      3  3  =      G  G  Q  L  [  p  e    o    y                          $    8    L        >       M      Q	(       R	(      U
<      VP      W	x       Z	(  (    [	(  0    \	(  8    ]	(  @    ^	(  H    _	(  P    `	(  X    a	(  `    b	(  h    c	(  p    e	  x    h	      k	      l	      n	      p	T      r	   
r   #  #       
   <  #   -  
   P  #   A  
r   s  #  s  s  s     U  
r     #  H     
       r   }  
r     #       
         
r     #         
r     #    
         
r   J  #    
    J     O      "      `	$      	%        	&       	'  crc 	(      	)      	*
      	+
       	,
  (    	-
  0    	.  8    	/
  H    	0  P    	1  T    	2  X    ,  :        	8      	9       	:      	;
       	<
  (    	=
  0    	>  8      :   G     *A       ,A       @r           .         
_     ! "    Rr                 	      R"#              S               S,	              T	              T1	              V	  _    W	              X              X"              X8      Y	  _    Z
              Z
          #i [r           $err \r   _%	          	    ^v  #
          
          
          &    .
                    	U	           '	                           	          	          	          	          	           (        	  	Uv 	T} 	X0	Y_           #	  	U	                   H	  	U	        	T            g	  	U	                   	U	                   	  ):       	  :    *    G	  
    G	  
    H	  
    I	  
    I3	      K	   
  ,      0r   :
  
    0	  
    1s  
    2s      4:
   Y      -   Z
  __x -    +    'y   __x 'y      !I  
 :;9I8   I  7 I  & I   <   :;9I  $ >  	I ~  
'I  I   1B  
 :!;9I  ! I/   :!;9IB  4 :!;9IB  :;9!  4 :!;9I  H}  4 :!
;9!I?<  4 :!;9!I  4 1B  H}  .:;9!'I    :!;9!I  %     $ >  &   
 :;9I8  .?:;9'I<   .?:;9'<  !   ".?:;9'I@z  #4 :;9IB  $4 :;9I  %1RBUXYW  &U  '1RBXYW  (H}  )! I/  *.:;9'   +.:;9'I                                     UVUVUUUUUUUU                    GTGYTTTYTTT              TQTQQQQQ                          R_R_RRRRRRRR                          X_X_XXXXXXXX       SS~|  } "         ]__]     __      RR~|  } "#         QQs(~|  } "#(        }0^~~~ 	   $           	   $           	     $QQQ             TQTQQQQQ             _ S      SS~|  } " ,                                                      $     z   
                                                                                          	         R iwXKRf$t: " f H f*(JJ
w sK$)f;
<]vCKKHY8		H<>K) s t{P1Xx. I Y;X-=K,J==^.vT.tv.tun.tu get_size gpt_entry crc_partitions block_size attributes flush nbdkit_next is_rotational can_fua partnum range_r size_t offset_r sockaddr_inarp last_usable_lba nbdkit_extents long long int partition_entries_lba partition_entry_sector sockaddr_un GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables header short int prepare int64_t pwrite can_trim gpt_header uint8_t guid finalize sector extents nbdkit_error unique_guid memcmp sockaddr_ns sockaddr_ipx long long unsigned int nbdkit_next_ops find_gpt_partition long int __int64_t can_flush revision __uint8_t first_usable_lba sector_size __uint32_t name export_description pread unsigned char header_size entry sa_family_t sockaddr_eon cache sockaddr_iso trim signed char uint64_t next sockaddr_in6 uint32_t unsigned int can_write sa_data can_cache short unsigned int can_fast_zero sockaddr_dl char can_extents can_zero partition_bytes __uint64_t current_lba partition_type_guid long unsigned int size_partition_entry bytes nr_partition_entries header_bytes first_lba sockaddr_x25 entries_per_sector size backup_lba get_gpt_header signature zero sa_family sockaddr_at __uint32_identity __uint64_identity can_multi_conn reserved sockaddr_in get_gpt_partition sockaddr sockaddr_ax25 last_lba /tmp/nbdkit/filters/partition partition-gpt.c /tmp/nbdkit/filters/partition /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits ../../include ../../common/gpt /usr/include partition-gpt.c partition-gpt.c stddef.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h nbdkit-filter.h gpt.h partition.h uintn-identity.h string.h nbdkit-common.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0            zR x  L             BBB B(A0A8G!3
8A0A(B BBBB                                                                                                                                             p                                                           %      H                                          
                                                                                                                               *                   =                      E                      Q                       partition-gpt.c .LC5 .LC2 .LC0 .LC3 .LC1 find_gpt_partition partnum sector_size nbdkit_error   '             C                                      #            -            4            R                                                                                             	                      
              
       
                    
                    
                                   *       
              /       
      p       =       
            D       
            M       
            T       
      9      [       
            `       
      ?      n       
      L      z       
      f             
      "             
                   
                   
      f             
                    
      ^             
                   
                  
                  
                  
            &      
            2      
      b      ?      
      '      l      
      l            
                  
      Z            
                  
                  
                  
                   
                  
                   
            4      
             H      
                  
      >             
                  
      V            
                  
                    
      v      *      
      "       7      
            D      
      ,      Q      
      J       ^      
      m      k      
      w      x      
      L            
      k            
      X             
                  
      /            
                  
      f            
      8             
                  
      ]            
                  
            P      
             Z      
      v      f      
      S      s      
      6            
                  
                  
                  
      9            
      I            
                   
                  
                   
                  
                  
             -      
      	       9      
            F      
            S      
      
      `      
            m      
      -       z      
      q            
      `             
      Z            
                  
                  
                                      
                  
      $             
                   
      4            
             "      
             '      
            1      
             5      
             :      
      w       D      
      7      H      
            M      
      h       W      
            [      
            `      
             n      
            x      
      #      |      
                  
                  
      R            
      J            
                  
      v            
      r            
      !            
                  
      
            
                  
                  
                  
                  
                  
                  
                                      
   
          %      
      "      )      
            2      
      =      6      
      9      ?      
      Z      C      
      T      H      
   
          Q      
      }      U      
      q      Z                  k                    {                                            
                  
                  
                  
                  
                  
                  
                  
                  
                  
                               	            8      	                    $	                  9	            p       I	                  ^	                   h	                  y	            H       	      
            	      
            	      
            	      
      
      	      
            	      
            	      
      D      
      
            
      
            $
      
            /
      
      E      @
      
            [
      
      x      '      
   
         3      
   
         B      
   
         N      
   
               
   
               
   
                
   
                                "       
      .       &       
      L       *       
      u       .       
             2       
             6       
             @       
             E       
             J       
             O       
             T       
             Y       
            ^       
            c       
            h       
      &      m       
      6      r       
      <      w       
      H      |       
      Y             
      b                                                  .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.8 .rodata .rodata.str1.1 .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @                                          @                                               &                                                          ,                                                          1      2                                                  @                                                         H      2                                                  \                            s
                             W      @                !      h                          h                      v
      l                             {                                                         v      @               1                                                             0                                    @               2      0          
                                       "                                                          :                                         @               H2                                      0               P                                        0               B      r                                  0                     (                                                                                                                   h                                    @               @4                                                       H                                	                      @      ^                                                    X4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit_partition_filter_la-partition-gpt.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_partition_filter_la-partition-gpt.o'

# Name of the non-PIC object
non_pic_object='nbdkit_partition_filter_la-partition-gpt.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ELF          >                    >          @     @   AWAVAUATUSHHH(  H    DAwYH  1
DRrt   HuDH=    1    H(  []A\A]A^A_fD  H  HH  pDXtAAAtttoHH9uH=    1    fD  AAAh_A9VH       LHLI 1NfD  L-    AE HH  E߉t$HpA   MD\$ILH|$LD$LMIH   L   I9   LH)I9   LH=    1L$    Hkx    E1AU LIHt$ HՃH    L$DE9~   $  $  PAE AMLHM9   AHtHpMH> H
       H5    H=        H=    1    LD$  M狔$  IAE D\$t$H|$LLD$HMM9sIMLHHH9HADL1H=        LLH=    1    i=   t=   t&H=    1    HH=    1    5H=    1    "       rejecting GPT protective entry from MBR, if the underlying storage uses 4K sectors try using partition-sectorsize=4k    rejecting GPT protective entry from MBR, if the underlying storage uses 512 byte sectors try using partition-sectorsize=512     rejecting GPT protective entry from MBR MBR logical partition selected, but there is no extended partition in the partition table       invalid EBR chain: next EBR boot sector is located outside disk boundary        logical partition start or size out of range (offset=%lu, range=%lu, ep:startsect=%u, ep:nrsects=%u)    invalid EBR chain: next EBR %lu <= current EBR %lu partition-mbr.c is_power_of_2 ((sector_size)) partition: reading EBR at %li MBR partition %d not found       find_mbr_partition 
                           A          	    	    	    	    	    
    &>   	    int 
    *5   
    ,   	    
    -.   	          	    
    y   	        
    S   
    m   
       
    E                      
%         5  .   
    5      ?  ?  I      S  S  ]      g  g  q      {  {                                                                                  %     /  D  9  X  C  l  M    W    a    k    u                       
    >       M      Q	       R	      U
      V$      W	L       Z	  (    [	  0    \	  8    ]	  @    ^	  H    _	  P    `	  X    a	  `    b	  h    c	  p    e	~  x    h	      k	      l	      n	      p	(      r	   f                         $       f   G    G  G  G      )  f   y    <            y   f   Q  f                   y     f          y     f                y     f                  y   #            *5       ,5       4u      5        6       7    !    %
y      d      "    
E
        5           _      #    Gf           A      8
      G"              H           $mbr H,8
              I=
              I1=
          i Kf               LA  
    M           
    M           ebr N           
    N           %    OB
  _&    }        '    c
  	        (      
               
               h
                          	i  
          
          u
          
                     U	        R_X_  h
              T  
          
          u
          )    
            h
                  
       sC  
          
          u
          
           
              i  
           h
                           
          
          u
          
                       U	                    	  U	                   %	  U	        T  *        u  +        v [	  Us T_R X0           	  U	        T	        QR	                   	  U	                   	  U	        Q            	  U	                   
  U	                   U	                   S
  ,.       c
  .    S
  -    ;
      8
  i ;)f       B
      =f    A  .    ,
  
  v ,.    	    /    'm   __x 'm      !I   I  
 :;9I8  7 I  I ~  & I   <   1B  	$ >  
 :;9I  'I  H}  
4 :!;9IB   :!;9IB  4 1B  :;9!  I  1RBX!YW   :;9I  ! I/  4 :!	;9!I?<  .?:!
;9!'<     4 :!;9IB  4 :!;9I  H}  1RBUX!YW   :!;!;9I  %     $ >   &   !. ?:;9'I<  ".?:;9'<  #.?:;9'I@z  $ :;9IB  %4 :;9I  &
 :;9  '4 I4  (U  )U  *H }  +H}  ,! I/  -.:;9'   ..:;9'I   /.:;9'I                         UcSczUzSUSUS                0T0zTzTVTVT                  .Q.0q|0zQzQq{Qq{Q                                    0R0RURzRzRURURU_R_URURUR                                RXRzXzXXXXX_X_XXXXXX                  0:P:IpIRp
p q #@4%p q #@4%#p q #04%#p
p q #@4%5^^      [__      T__                 { p  p R_Y_P\_     YY   Y  Q 	      	0 	_ 	
 0=        0:P:=p 0=Q 0=	q Q4       
p q #@4% q{ 	p q #   PP       1 _ 
 ,                     A                      4         07:=   h    v   
                                                                                      	         x<|/g =Kj<=$    XtH 9=K1
 K   J_t.Z\t3 .	t-	
,	K)	K =<	C <JJ 	yff *<+fYJ

tJ
<u '>/J$<;N>
?@JXJ~< 	1X!<1=1s	z<	 1J/1JYI	=( Z - R	 =( x9 < R v<jX	?Xx
yttxXtt\tt nbdkit_debug __errno_location found_extended block_size flush nbdkit_next is_rotational can_fua partnum range_r pwrite offset_r sockaddr_inarp is_power_of_2 __PRETTY_FUNCTION__ nbdkit_extents long long int __uint32_t sockaddr_un nr_sectors next_ebr short int prepare int64_t ep_start_sector can_trim uint8_t GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables finalize sector get_mbr_partition extents nbdkit_error sockaddr_ns sockaddr_ipx long long unsigned int nbdkit_next_ops get_size part long int __int64_t can_flush offset __uint8_t sector_size start_sector export_description pread unsigned char sa_family_t sockaddr_eon cache sockaddr_iso trim signed char uint64_t next sockaddr_in6 uint32_t unsigned int can_write sa_data can_cache short unsigned int can_fast_zero sockaddr_dl char find_mbr_partition can_extents ep_nr_sectors _Bool can_zero __uint64_t long unsigned int sockaddr_x25 size range sa_family partition sockaddr_at __uint32_identity can_multi_conn part_type_byte mbr_partition __assert_fail sockaddr_in zero sockaddr sockaddr_ax25 /tmp/nbdkit/filters/partition partition-mbr.c /tmp/nbdkit/filters/partition ../../common/include /usr/include/x86_64-linux-gnu/bits ../../include /usr/include partition-mbr.c partition-mbr.c ispowerof2.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h nbdkit-filter.h partition.h nbdkit-common.h uintn-identity.h errno.h assert.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0            zR x  L          A   BBB B(A0A8M X
8A0A(B BBBG                                                                                                                        L                                          .               !                    7                      <                     A                    F                    K      8              P                     U                      Z      x                                                                
                                                                                                                               _             A      r                                                                                                                                                           partition-mbr.c .LC10 .LC3 .LC7 __PRETTY_FUNCTION__.0 .LC4 .LC5 .LC6 .LC8 .LC9 .LC2 .LC0 .LC1 find_mbr_partition _GLOBAL_OFFSET_TABLE_ partnum nbdkit_error sector_size nbdkit_debug __errno_location __assert_fail           *      X             _                                              *      #      *                                                *      ;            G         	   N         
   S             Z            a                                             
                                                   %            1            8                   
              
       
      4             
                    
                                   *       
              1       
            8       
            A       
      o      H       
            O       
            T       
      3      b       
             n       
             z       
                   
                   
      u             
      4             
                    
                   
                   
      ,             
                   
                   
      }             
      '            
                  
            @      
            T      
      0      h      
      (      |      
                  
                  
                  
                   
                  
                  
                  
                   
                  
      >             
                  
                  
                  
                  
      V            
      -             
                  
      "      %      
      J       2      
      #      ?      
      l      L      
            Y      
      L      f      
      X       s      
                  
                  
      i            
      p             
      8             
                  
      "            
                  
            $      
             .      
      `       8      
      =      B      
            N      
            [      
      I      h      
             v      
      
             
                    
                  
                  
      9                                
                  
                   
                   
                  
      e             
      W             
                   
             !      
      w       +      
            /      
             4      
      h       >      
            B      
            O      
      _      S      
      I      X      
            c      
            m      
            q      
            v      
      X            
                  
                  
      (            
                  
                   
      |            
      x            
                  
                                      
                                       
                   
      ,            
                  
                  
                  
                  
                                                9      
            =      
            F      
            J      
            S      
            W      
            `      
            d      
            j                  {                              0             
                   
                  
                  
                  
                  
                  
                  
                   
                  
                                                        
                  
                   
            $      
            -      
      0      1      
      .      :      
      =      >      
      ;      H            .      Q      
             `      
      Q      d      
      M      n                  w                        
      b            
      `            
      q            
      o            
      |            
      z            
                  
                        c                   L                                             	                  	            .       &	                  3	                  \	            W      q	                   ~	                    	                    	            e      	                  	                  	            8      	                  	                   	            )      
                    
            <      .
            x       i
      
            v
      
            
      
      
      
      
      ,      
      
             
      
      f      
      
                  
      W            
      W            
      W      i      
      W             
                                   "       
      .       &       
      L       *       
      a       .       
             2       
             <       
             A       
             F       
             K       
             P       
             U       
             Z       
             _       
             d       
            i       
            n       
      !      s       
      1      x       
      B      }       
      J                                                  .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.8 .rodata.str1.1 .rodata .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       A                                   @               x&                                &                                                          ,                                                          1      2                     k                            @      2                     g                             O                     `                                    \                      s      
                             W      @                )                                h                      U                                   {                                                         v      @               ;      `                                                       0                                    @               x;      0          
                                             8                                                          l                                   @               ;                                      0               c      >                                  0                      S                                  0               !      (                                                   "                                                           "      h                                    @               =                                                       "                                	                      %                                                          =                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ELF          >                    >          @     @   AWAVAUIATUSH(  D
    AwWH  1
zrt   HuDH=    1    H(  []A\A]A^A_D  H  HIH  Xxt΃@tttoHH9uH=    1    fD  AAAi`A9W      HHHIE 1I0ND      HH   A\$HpLLMLl$IHȉ|$A   LD$IH   L   I9   LH)I9   LH=    1    H]x    E1Ht$ L    IHӃD
    E9}   $  $  `    LHHI9   AHtIHpHH H
       H5    H=        H=    1    
    L|$D$  $  \$Ll$LLD$HIL9sMHLHLL9]AL1H=        LH=    1       t   t&H=    1    `H=    1    MH=    1    :      rejecting GPT protective entry from MBR, if the underlying storage uses 4K sectors try using partition-sectorsize=4k    rejecting GPT protective entry from MBR, if the underlying storage uses 512 byte sectors try using partition-sectorsize=512     rejecting GPT protective entry from MBR MBR logical partition selected, but there is no extended partition in the partition table       invalid EBR chain: next EBR boot sector is located outside disk boundary        logical partition start or size out of range (offset=%lu, range=%lu, ep:startsect=%u, ep:nrsects=%u)    invalid EBR chain: next EBR %lu <= current EBR %lu partition-mbr.c is_power_of_2 ((sector_size)) partition: reading EBR at %li MBR partition %d not found       find_mbr_partition 
                           "          	    	    	    	    	    
    &>   	    int 
    *5   
    ,   	    
    -.   	          	    
    y   	        
    S   
    m   
       
    E                      
%         5  .   
    5      ?  ?  I      S  S  ]      g  g  q      {  {                                                                                  %     /  D  9  X  C  l  M    W    a    k    u                       
    >       M      Q	       R	      U
      V$      W	L       Z	  (    [	  0    \	  8    ]	  @    ^	  H    _	  P    `	  X    a	  `    b	  h    c	  p    e	~  x    h	      k	      l	      n	      p	(      r	   f                         $       f   G    G  G  G      )  f   y    <            y   f   Q  f                   y     f          y     f                y     f                  y   #            *5       ,5       4u      5        6       7    !    %
y      d      "    
E
        5           _      #    Gf           "      5
      G"              H           $mbr H,5
              I:
              I1:
          i Kf               LA  
    M           
    M           ebr N           
    N           %    O?
  _&    }        '    `
  	        (      
               
               e
                          	i  
          |
          r
          
                     U	        R_Xs   e
              T  
          |
          r
          )    
            e
                  	       s@  
          |
          r
          
           
              f  
           e
                           
          |
          r
          
                       U	                     U	                   "	  U	        T}  *        u  +        s X	  Uv T_R} X0           	  U	        T	        QR	                   	  U	                   	  U	        Q}            	  U	                   
  U	                   U	                   P
  ,.       `
  .    P
  -    ;
      5
  i ;)f       B
      =f    A  .    ,
  
  v ,.    	    /    'm   __x 'm      !I   I  
 :;9I8  7 I  I ~  & I   <   1B  	$ >  
 :;9I  'I  H}  
4 :!;9IB   :!;9IB  4 1B  :;9!  I  1RBX!YW   :;9I  ! I/  4 :!	;9!I?<  .?:!
;9!'<     4 :!;9IB  4 :!;9I  H}  1RBUX!YW   :!;!;9I  %     $ >   &   !. ?:;9'I<  ".?:;9'<  #.?:;9'I@z  $ :;9IB  %4 :;9I  &
 :;9  '4 I4  (U  )U  *H }  +H}  ,! I/  -.:;9'   ..:;9'I   /.:;9'I                           *U*sUsUVUVU                        *T*sTsT\T\S_T_T                  (Q(*q|*sQsQq{Qq{Q                      *R*K]KsRsR]R]_R_]                                KXKsXsXXXXX_X_XXXXXX                        *3P3BpBKp
p q #@4%p q #@4%#p q #04%#p
p q #@4%5^^ppp      U__      S__                     u p  p r p | p R]T]]R]       T]T   Y  Q 	      	0 	_ 	
 *6        *3P36p *6Q *6	q Q4       
p q #@4% q{ 	p q #   PP       1 _ 
 ,                     "                      9         *036   T    v   
                                                                                      	         xDt/g ==j<=$    Xf<H 9==1
 K   J_Z\t3 .	e	
,)=,I	K J .	GfC <Jt	 fJQ֐ *<+fJ

tu '>$f;N>
?@JX~<J 	1X!1s/1J	zX	 I	=( Z - 	J( x<9 < Q	 = v\X	X
XxXX\X nbdkit_debug __errno_location found_extended block_size flush nbdkit_next is_rotational can_fua partnum range_r pwrite offset_r sockaddr_inarp is_power_of_2 __PRETTY_FUNCTION__ nbdkit_extents long long int __uint32_t sockaddr_un GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fasynchronous-unwind-tables next_ebr short int prepare int64_t ep_start_sector can_trim uint8_t finalize sector get_mbr_partition extents nbdkit_error sockaddr_ns sockaddr_ipx long long unsigned int nbdkit_next_ops get_size part long int __int64_t can_flush offset __uint8_t sector_size start_sector export_description pread unsigned char sa_family_t sockaddr_eon cache sockaddr_iso trim signed char uint64_t next sockaddr_in6 uint32_t unsigned int can_write sa_data can_cache short unsigned int can_fast_zero sockaddr_dl char find_mbr_partition can_extents ep_nr_sectors _Bool can_zero __uint64_t nr_sectors long unsigned int sockaddr_x25 size range sa_family partition sockaddr_at __uint32_identity can_multi_conn part_type_byte mbr_partition __assert_fail sockaddr_in zero sockaddr sockaddr_ax25 /tmp/nbdkit/filters/partition partition-mbr.c /tmp/nbdkit/filters/partition ../../common/include /usr/include/x86_64-linux-gnu/bits ../../include /usr/include partition-mbr.c partition-mbr.c ispowerof2.h types.h stdint-intn.h stdint-uintn.h sockaddr.h socket.h nbdkit-filter.h partition.h nbdkit-common.h uintn-identity.h errno.h assert.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0         zR x  L          "   BBB E(A0A8G T
8A0A(B BBBF                                                                                                                        L                                          .               !                    7                      <                     A                    F                    K      8              P                     U                      Z      x                                                                
                                                                                                                               _             "      r                      z                                                                                                               partition-mbr.c .LC10 .LC3 .LC7 __PRETTY_FUNCTION__.0 .LC4 .LC5 .LC6 .LC8 .LC9 .LC2 .LC0 .LC1 find_mbr_partition partnum nbdkit_error sector_size nbdkit_debug __errno_location __assert_fail               Q             X                                                                                                                                        #            /         	   6         
   ;            B            I            T                                             
                                                                                              
              
       
                    
                    
                                   *       
              1       
      z      8       
            A       
      ^      H       
            O       
            T       
      "      b       
      >      n       
             z       
                   
                   
      d             
      #             
                    
      P             
                   
      q             
                   
                   
      l             
      !            
                  
            @      
            T      
      *      h      
            |      
      x            
                  
                  
                   
                  
                  
                  
                   
                  
      >             
                  
      H            
      y            
                  
      E            
      -             
                  
            %      
      J       2      
      h      ?      
      [      L      
      	      Y      
      ;      f      
      X       s      
                  
                  
      X            
      p             
      8             
                  
                  
                  
            $      
             .      
      `       8      
      ,      B      
            N      
            [      
      8      h      
      o      v      
      
             
                    
                  
                  
      (                                
                  
                   
                   
                  
      f             
      P             
                   
             !      
      w       +      
      %      /      
            4      
      h       >      
            B      
      y      O      
      :      S      
            X      
            c      
      X      m      
            q      
            v      
      G            
                  
                  
      "            
                  
      5            
                  
                  
                  
                                     
                                       
                   
                  
                  
                  
                  
                  
                                                9      
            =      
            F      
            J      
            S      
            W      
            `      
            d      
            j                  {                              *             
                   
                  
                  
                  
                  
                  
                  
                   
                  
                                                        
      )            
      '            
      8      !      
      6      *      
      K      .      
      I      7      
      X      ;      
      V      E            !      N      
      #       ]      
      l      a      
      h      k                  t                        
      }            
      {            
                  
                  
                  
                  
                  
                        \                   L                                                               	            .       #	                  0	                  Y	            ?      n	                   {	                    	                    	            M      	                  	                  	            8      	                  	                   	            
      
                    
                  +
            x       f
      
            s
      
            
      
            
      
            
      
             
      
      U      
      
                  
      W            
      W      0      
      W            
      W             
                                   "       
      .       &       
      L       *       
      a       .       
             2       
             <       
             A       
             F       
             K       
             P       
             U       
             Z       
             _       
             d       
            i       
            n       
      !      s       
      1      x       
      B      }       
      J                                                  .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.8 .rodata.str1.1 .rodata .rela.debug_info .debug_abbrev .rela.debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @       "                                   @               (&                                &                     b                                     ,                     b                                     1      2               h      k                            @      2                     g                             O                     @                                    \                      S      
                             W      @               (                                h                      2                                   {                                                         v      @               ;      `                                                       0                                    @               p;      0          
                                             =                                                          X                                   @               ;                                      0               L      8                                  0                      S                                  0               !      (                                                   !                                                           "      h                                    @               =                                                       h"                                 	                      h%                                                          =                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   # nbdkit_partition_filter_la-partition-mbr.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_partition_filter_la-partition-mbr.o'

# Name of the non-PIC object
non_pic_object='nbdkit_partition_filter_la-partition-mbr.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     # nbdkit-partition-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-partition-filter.so'

# Names of this library.
library_names='nbdkit-partition-filter.so nbdkit-partition-filter.so nbdkit-partition-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-partition-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      # nbdkit-partition-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-partition-filter.so'

# Names of this library.
library_names='nbdkit-partition-filter.so nbdkit-partition-filter.so nbdkit-partition-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-partition-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     .\" Automatically generated by Podwrapper::Man 1.44.3 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
.    if \nF \{\
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{\
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "nbdkit-partition-filter 1"
.TH nbdkit-partition-filter 1 "2025-08-23" "nbdkit-1.44.3" "NBDKIT"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
nbdkit\-partition\-filter \- nbdkit partition filter
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& nbdkit \-\-filter=partition plugin partition=PART [plugin\-args...]
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\f(CW\*(C`nbdkit\-partition\-filter\*(C'\fR is a filter that limits requests to a
single partition within a disk image that is served by another plugin.
.PP
Partition numbers are specified by the required \f(CW\*(C`partition\*(C'\fR
parameter, and count from 1.
.PP
This works like the \f(CW\*(C`qemu\-nbd \-P\*(C'\fR option.
.PP
The opposite of this filter is \fBnbdkit\-partitioning\-plugin\fR\|(1) which
adds a virtual partition table to a file or files.
.SH "PARAMETERS"
.IX Header "PARAMETERS"
.IP "\fBpartition=\fR\s-1PART\s0" 4
.IX Item "partition=PART"
The partition number to serve, counting from 1.
.Sp
This parameter is required.
.IP "\fBpartition\-sectorsize=\fR\s-1SECTOR_SIZE\s0" 4
.IX Item "partition-sectorsize=SECTOR_SIZE"
The default for this parameter is chosen according to the minimum block
size advertised by the underlying device.  If it is 512 or 4K, then the
sector size is set to that.  If the underlying device does not advertise
a minimum block size, or it is something other than 512 or 4K, the
default is 512 bytes.
.Sp
The user may specify 512 or 4096 as the sector size manually via config.
.Sp
However set, this parameter instructs the partition table
logic to treat the underlying storage as having the
indicated sector size.  This is important for \s-1MBR\s0
and \s-1GPT\s0 logic using \s-1LBA\s0 (logical block addressing).
.SH "EXAMPLE"
.IX Header "EXAMPLE"
\&\fIdisk.img\fR is a partitioned disk image (eg. a virtual machine disk
image).  To serve the first partition only use:
.PP
.Vb 1
\& nbdkit \-\-filter=partition file disk.img partition=1
.Ve
.SH "FILES"
.IX Header "FILES"
.IP "\fI\f(CI$filterdir\fI/nbdkit\-partition\-filter.so\fR" 4
.IX Item "$filterdir/nbdkit-partition-filter.so"
The filter.
.Sp
Use \f(CW\*(C`nbdkit \-\-dump\-config\*(C'\fR to find the location of \f(CW$filterdir\fR.
.SH "VERSION"
.IX Header "VERSION"
\&\f(CW\*(C`nbdkit\-partition\-filter\*(C'\fR first appeared in nbdkit 1.2.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBnbdkit\fR\|(1),
\&\fBnbdkit\-file\-plugin\fR\|(1),
\&\fBnbdkit\-filter\fR\|(3),
\&\fBnbdkit\-offset\-filter\fR\|(1),
\&\fBnbdkit\-partitioning\-plugin\fR\|(1),
\&\fBnbdkit\-protect\-filter\fR\|(1),
\&\fBnbdkit\-truncate\-filter\fR\|(1),
\&\fBparted\fR\|(8).
.SH "AUTHORS"
.IX Header "AUTHORS"
Eric Blake
.PP
Richard W.M. Jones
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
Copyright Red Hat
.SH "LICENSE"
.IX Header "LICENSE"
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
.IP "\(bu" 4
Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
.IP "\(bu" 4
Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
.IP "\(bu" 4
Neither the name of Red Hat nor the names of its contributors may be
used to endorse or promote products derived from this software without
specific prior written permission.
.PP
\&\s-1THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS\s0 ''\s-1AS IS\s0'' \s-1AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\s0 (\s-1INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES\s0; \s-1LOSS OF
USE, DATA, OR PROFITS\s0; \s-1OR BUSINESS INTERRUPTION\s0) \s-1HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT\s0 (\s-1INCLUDING NEGLIGENCE OR OTHERWISE\s0) \s-1ARISING IN ANY WAY OUT
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.\s0
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
<html>
<head>
<title>nbdkit-partition-filter - nbdkit partition filter</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><link rel="stylesheet" href="pod.css" type="text/css" />
</head>
<body>


<ul id="index">
  <li><a href="#NAME">NAME</a></li>
  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
  <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
  <li><a href="#PARAMETERS">PARAMETERS</a></li>
  <li><a href="#EXAMPLE">EXAMPLE</a></li>
  <li><a href="#FILES">FILES</a></li>
  <li><a href="#VERSION">VERSION</a></li>
  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
  <li><a href="#AUTHORS">AUTHORS</a></li>
  <li><a href="#COPYRIGHT">COPYRIGHT</a></li>
  <li><a href="#LICENSE">LICENSE</a></li>
</ul>

<h1 id="NAME">NAME</h1>

<p>nbdkit-partition-filter - nbdkit partition filter</p>

<h1 id="SYNOPSIS">SYNOPSIS</h1>

<pre><code> nbdkit --filter=partition plugin partition=PART [plugin-args...]</code></pre>

<h1 id="DESCRIPTION">DESCRIPTION</h1>

<p><code>nbdkit-partition-filter</code> is a filter that limits requests to a single partition within a disk image that is served by another plugin.</p>

<p>Partition numbers are specified by the required <code>partition</code> parameter, and count from 1.</p>

<p>This works like the <code>qemu-nbd -P</code> option.</p>

<p>The opposite of this filter is <a href="nbdkit-partitioning-plugin.1.html">nbdkit-partitioning-plugin(1)</a> which adds a virtual partition table to a file or files.</p>

<h1 id="PARAMETERS">PARAMETERS</h1>

<dl>

<dt><b>partition=</b>PART</dt>
<dd>

<p>The partition number to serve, counting from 1.</p>

<p>This parameter is required.</p>

</dd>
<dt><b>partition-sectorsize=</b>SECTOR_SIZE</dt>
<dd>

<p>The default for this parameter is chosen according to the minimum block size advertised by the underlying device. If it is 512 or 4K, then the sector size is set to that. If the underlying device does not advertise a minimum block size, or it is something other than 512 or 4K, the default is 512 bytes.</p>

<p>The user may specify 512 or 4096 as the sector size manually via config.</p>

<p>However set, this parameter instructs the partition table logic to treat the underlying storage as having the indicated sector size. This is important for MBR and GPT logic using LBA (logical block addressing).</p>

</dd>
</dl>

<h1 id="EXAMPLE">EXAMPLE</h1>

<p><i>disk.img</i> is a partitioned disk image (eg. a virtual machine disk image). To serve the first partition only use:</p>

<pre><code> nbdkit --filter=partition file disk.img partition=1</code></pre>

<h1 id="FILES">FILES</h1>

<dl>

<dt><i>$filterdir/nbdkit-partition-filter.so</i></dt>
<dd>

<p>The filter.</p>

<p>Use <code>nbdkit --dump-config</code> to find the location of <code>$filterdir</code>.</p>

</dd>
</dl>

<h1 id="VERSION">VERSION</h1>

<p><code>nbdkit-partition-filter</code> first appeared in nbdkit 1.2.</p>

<h1 id="SEE-ALSO">SEE ALSO</h1>

<p><a href="nbdkit.1.html">nbdkit(1)</a>, <a href="nbdkit-file-plugin.1.html">nbdkit-file-plugin(1)</a>, <a href="nbdkit-filter.3.html">nbdkit-filter(3)</a>, <a href="nbdkit-offset-filter.1.html">nbdkit-offset-filter(1)</a>, <a href="nbdkit-partitioning-plugin.1.html">nbdkit-partitioning-plugin(1)</a>, <a href="nbdkit-protect-filter.1.html">nbdkit-protect-filter(1)</a>, <a href="nbdkit-truncate-filter.1.html">nbdkit-truncate-filter(1)</a>, <a href="http://man.he.net/man8/parted">parted(8)</a>.</p>

<h1 id="AUTHORS">AUTHORS</h1>

<p>Eric Blake</p>

<p>Richard W.M. Jones</p>

<h1 id="COPYRIGHT">COPYRIGHT</h1>

<p>Copyright Red Hat</p>

<h1 id="LICENSE">LICENSE</h1>

<p>Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:</p>

<ul>

<li><p>Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.</p>

</li>
<li><p>Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</p>

</li>
<li><p>Neither the name of Red Hat nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.</p>

</li>
</ul>

<p>THIS SOFTWARE IS PROVIDED BY RED HAT AND CONTRIBUTORS &#39;&#39;AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RED HAT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</p>

</body>
</html>

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ELF          >                              @     @   HH=    H<$    u3H=    H|$    u=H|$        H    HH
       H5    H=        H
      H5    H=            S1HF   1HH|$    ÅuH[    H=    1    ff.     AWL=    AVAUL-    ATL%    USH(Hl$     =       11Lt$    ÃL  @    H    H_  D$<p   h<
T<кX   T$H       Hu     t	A  i    ]D  < xfD  <ru=     t0L         H=    1    T$JЀhP` =     uL    H=    1        LLd$    t   @ LL        uH=    1    L    r     ~uH=    1    bfHD$    HT$Ht      D  H=    1    H
       H5    H=        ff.      AVAUATUSHpL-    Md  HLI    HHk   L    1Ҿ             Aƃ      HT$f$HCrwIM H|$HL$It
Ht
H)LH)։HHn   D          D       LHp[]A\A]A^fD  u$tAM L$tALfL@ AM L$ALLyHƺk   H=    1    LH=    1    H=    1    H=    1    H=    1    붋=    Sx    H    HtH    H[     [ff.      HH=    H|$    u"H=    -        H|$    HH
      H5    H=        fD  AVMAUEATIUSHMDLH   j[]A\A]A^ff.     @ AVMAUEATIUSHELL$0MDLH   []A\A]A^f.     AVMAUEATIUSHMDLH   []A\A]A^ff.     @ AVMAUEATIUSHMDLH   z[]A\A]A^ff.     @ AVEAUMATAUHSHTLL$0ELDHH   #[]A\A]A^     AVEAUMATAUHSHLL$0ELDHHSx[]A\A]A^ff.     AUIH5    ATIHUHSHH    tHHHL[L]A\A]    H=        H    HH    H[]A\A]ff.     H           H    H                pause.c !_r pthread_create: %m accept: %m pause: paused pause: resumed socket: %m %s: %m listen: %m pause-control 1.44.3 pause nbdkit pause filter      pause: pausing, waiting for requests to complete        pause-control socket was not set        pause-control socket path too long: length %zu > max %d bytes   pause-control=SOCKET           Control socket.  do_pause        end_request     begin_request                                                                                                                                                                                                                                                                                                                                                           !       0                                  :           1H                   2int     *A       ,           -:                 
       A          M           ~   3      A        A    /      (/                   !      3j      5#j       6#j   B      7B      (      k        A       k       A        k       "	d       #	d       $o       0^Z      `6       a6      bZ      cZ      dA        eA   $    fZ  ( A   j  :        	:   4    8	8      	:      	;         :   7     	>v  
  (	C      	E{      	F      	G         :   '     	H  0	K3      	M      	N3      	O       C  :   /     	P  T  5    
r       
   6       7    A                                 
8       9          V       
      
       
    
       :   
     
    
    $  
    
.  .  8  
    
B  B  L  
    
V  V  `  
    
j  j  t  
    
~  ~    
    
      
    
      
    
      
    
          n
              
   
      
    
    #      P
9  &O  ;    E  3  O  G  Y  [  c  o  m    w                  
            T
  &S     :   k :A   0                                            '+  H           <<  
        =M  
        > ^      M      Q	|       R	|      U
      V      W	       Z	|  (    [	|  0    \	|  8    ]	|  @    ^	|  H    _	|  P    `	|  X    a	|  `    b	|  h    c	|  p    e	  x    h	+	      k	I	      l	q	      n	q	      p		      r	q	       B
  k              0      D
  k            E
  k       k        F
  k       k        
        H*     >    k        J
J  k   c  c  k       A  k   w  w   R  h       w          w     k     w         U    k     w  H   U  a  U     k     k   +	  w  O  U  a  U     	  k   I	  w  U     0	  k   q	  w  U  a  U     N	  k   	  w  U  a  U  	     	  
    v	  ;    P      k                                     
  (    
  0    	  8    	  @       H    	/  P    
  X    	/  `    	4  h    
D  p    	g  x    	                  
+      	
      	 
      
9
      R
      	z
      	 
      	 
      	 
      	 
      	 
      	 
      	 
       
        
       
      
      
         (      0      8    3  @      H <  k                    k              k   /  k         'D     9  k   b  b    k      I  k         k   k        l           k   k        H       c  k      k    >    k   
  w  H   k      k    
  w  H    
     9
  w  H    %
     R
  w  H    >
  k   z
  w  H          W
  k   
  w  H   H   U  a  U     
  k   
  w  H   O  U  a  U     
  k     w  H   U     
  k   3  w  H   U  a  U  	           7   	            8k   	              	            
  	                  	            C  	            A   	            e	  	            j         =    8
  H        k   ,             (k   H  k   k        pk   h  k     m       +H     H   O  .        fk     k   k   k        Zk             .             Ck                mk          C         d0     (     fk   G  k        s   h  k   H   .        z     k   O  .        :k     k   -    k    m         _     ( >    %
      k           J    j          H   %  H        ak   <          8
N  N     ?    E
t        A           k        @    u                  	      Yk           A             Yw              ZH               Z%U              Z5a              ZFU          err [          r ]k                   
            Us Tv Q| R} X~                 Kk           F             Kw              LH               L'U              L7a              LHU              M'	          !err M5   r Ok                   
            Us Tv Q| R} X~ Y                 =k           A             =w              >H               >$U              >4a              ?U          err ?"          r Ak                   
            Us Tv Q| R} X~                 /k           A             /w              0H               0$U              04a              0EU          err 1          r 3k                   
            Us Tv Q| R} X~                  k           H              w              !H           buf "O              ")U              "9a              "JU          !err #   r %k                   
            Us Tv Q| R} X~ Y                 k           E             w              H           buf "H               0U              @a              U          !err #   r k                   
            Us Tv Q| R} X~ Y             A    	  B      "      	        )C_r k           t  U	                :    
  *                   t         `"      	              h+      _r  k           	        t    U	                 S  U	        T	        Q
 R	          +    G  _r k           	        t  
  U	                 S  U	        T	        Q
R	          	        <  _  Uh         <  U`       :   
 
t  #    k           D       5  $    #          err k               
j  h	            UhT0Q	        R0                     U	          #    H           2        Darg H           s k           Ec    n            Fout         G              	  H    ,  I8      >  -9          	        t    U|          S  U	        T	        QR	          	        t  V  U  	          u  U	         	            U} T|  	            U	                 <  U~    .                  &       	   	            U            U	          	          C  T0Q0R@?$ 	        G  f  Us Tv Q1 	        h    Us Tv Q1           	        0    Us            	            U	                             U	          J    K    F  L      "    V  	        )M_r k        V  :    
F  #    Uk                   $    U5          $    V(          len X
.               Y  ~	            U}  	            U}  	            U1T  Q0 	        H  =  U~ T~Qn 	        ,  \  U~ T
          p  U|  	            U	        Ts Qk 	            U	        T}  	            U	         	            U	                   U	          N    Fk   Y  %    F#  %    F9  Okey G   %    G,    *    ;        2                 0  	            Us  P           Q          Z          ,  hR          	         -           S                          	u   /  T                 /          S  U	        T	        Q
R	           	        %     U	                 <  Uh  U          t       +          6          A          M          .                   !       Ff!  +          V6  A          M                              Uv   	          !  Us T	         W        UUTTQQR    I  I ~   !I  
 :;9I8  7 I  'I   :!;9IB   :;9I  	H}  
& I  H }  (   
 <  H}  $ >  .?:;9'I<  
 :;9I  
 :!;9!	I8  I  ! I/  4 :!;9I  4 :!;9IB  H}   1B  :;9  .?:;9'I<  .:!;9!'I@z   :!;9IB  4 :!;9IB  :;9!	  4 :!;9I   .?:;9'<  ! :!;9I  "4 I4  #.:!;9!'I@z  $ :!;9IB  % :!;9I  & !:!;9!	  ''  (   )  *.:!;9!'@z  +U  ,4 1  -4 1B  .1RBX!YW  /4 1  0%  1   2$ >  3:;9  4:;9  5&   6 :;9I  7>I:;9  8(   9(   :>I:;9  ;:;9  < '  =.?:;9'<  >. ?:;9'I<  ?.?:;9'<  @. ?:;9'I@z  A.:;9'   B4 :;9I  C4 :;9I  D :;9IB  E4 :;9I  F
 :;9  G1RBUXYW  HU  I1U  J. :;9'   K.:;9'   L4 :;9I  M4 :;9I  N.:;9'I   O :;9I  PH }  Q.1@z  R1  S1RBXYW  T1  U.1@z  V 1  WH}                 

U
SU     

T
T       

Q
VQ       

R
\R       

X
]X       

Y
^Y       PSP       USU     TT       QVQ       R\R       X]X       Y^Y       PSP       US
U     T
T       QV
Q       R\
R       X]
X       Y
^

Y       PS
P       USU     TT       QVQ       R\R       X]X       Y^Y       PSP       

U

S

U     

T

T       

Q

V

Q       

R

\

R       

X

]

X       

Y

^

Y       

P

S

P       

U
SU     

T
T       

Q
VQ       

R
\R       

X
]X       

Y
^Y       PSP     (PKiP     )=PjP     UU       PPS     UU         PSPS               PPPQQ     PP               UVUVU	V		U		U               T\T\T	\		T		T            PSSPS	S     

P

P             U\PU\U             T]UT]T             QSTQSQ             RVQRVR    \U    SQ     VR ,                                           7         Kj $-j          
                                                                                                                                         	        LXJXJYsU S    	        k	$	NXuP}Ys//WYB0	c	Xy""X	 f K  
 	kX.X Jd	A\
;uY*	 	pL
yYX	?X.tS	U	..
h@. 	        t	<<	X=
m
yCYWK9
Ys.i@[ytw..[.tu_.e!KYtY>KXJsuVS 	         .?YYY< ...k.?YY< ...].?YYY< ....?YYY< ...]<?YY< ...j<?YY< ...~YsY;XRI= .-uIu4X ..t __size after_fork __low nbdkit_absolute_path strcmp count_cond size_t next pthread_cond_wait __prev socket __align uint64_t close unload pwrite ssize_t __g1_start list_exports can_write __wseq __pthread_cond_s _api_version __g1_orig_size SOCK_NONBLOCK long long unsigned int addr nbdkit_next_config __next __int64_t paused socklen_t free extents pthread_mutex_lock pthread_attr_t long long int signed char sockaddr_inarp __g_refs nbdkit_debug prepare preconnect sun_path count_requests long int PTHREAD_MUTEX_FAST_NP __ssize_t nbdkit_backend SOCK_STREAM sockaddr_dl __lock __pthread_list_t __atomic_wide_counter thread_model sockaddr_x25 count sockaddr_ipx can_extents __uint32_t sock pause_pwrite zero value SOCK_RDM PTHREAD_MUTEX_ERRORCHECK unsigned int _version filter_init sockfile long unsigned int __kind __data name bind PTHREAD_MUTEX_ADAPTIVE_NP short unsigned int nbdkit_next_config_complete nbdkit_next_default_export strlen listen pause_unload can_zero nxdata config_help nbdkit_next_open trim __g_signals pthread_cond_signal nbdkit_exports default_export __CONST_SOCKADDR_ARG block_size sockaddr_un __owner load write description nbdkit_context cleanup_mutex_unlock unlink pause_config is_rotational open get_ready GNU C17 12.2.0 -mtune=generic -march=x86-64 -g -O2 -fPIC -fasynchronous-unwind-tables can_trim can_multi_conn nbdkit_next_preconnect __PRETTY_FUNCTION__ cleanup __value32 pause_cache PTHREAD_MUTEX_RECURSIVE_NP SOCK_DCCP __pthread_internal_list __uint64_t pause_pread sockaddr_ns sa_family count_lock can_fua nbdkit_next_ops __socket_type __assert_fail config_complete PTHREAD_MUTEX_ERRORCHECK_NP pthread_t _Bool unsigned char sockaddr_iso short int get_size _lock0 _lock1 nbdkit_next_list_exports _lock3 pause_after_fork sockaddr_ax25 __pthread_mutex_s SOCK_PACKET __count pthread_cond_t uint32_t sun_family is_paused pause_zero PTHREAD_MUTEX_NORMAL finalize can_flush char __socklen_t config accept4 sockaddr __high nbdkit_extents __elision __errno_location thread nbdkit_filter begin_request __wrefs offset memcpy nbdkit_next PTHREAD_MUTEX_DEFAULT pthread_mutex_t sockaddr_eon end_request __spins sockaddr_at filter flush sa_family_t dump_plugin pause_trim SOCK_CLOEXEC can_cache sockaddr_in6 do_resume SOCK_DGRAM pthread_create nbdkit_error sockaddr_in PTHREAD_MUTEX_RECURSIVE longname __nusers pause_extents PTHREAD_MUTEX_TIMED_NP flags __g_size export_description pause_config_complete read handle sa_data do_pause __list SOCK_RAW can_fast_zero int64_t _lock2 pthread_mutex_unlock SOCK_SEQPACKET control_socket_thread __value64 __SOCKADDR_ARG cache pread pause.c /tmp/nbdkit/filters/pause /tmp/nbdkit/filters/pause /usr/lib/gcc/x86_64-linux-gnu/12/include /usr/include/x86_64-linux-gnu/bits /usr/include /usr/include/x86_64-linux-gnu/sys ../../include ../../common/utils pause.c pause.c stddef.h types.h stdio.h stdint-intn.h atomic_wide_counter.h thread-shared-types.h struct_mutex.h pthreadtypes.h stdint-uintn.h unistd.h sockaddr.h socket.h un.h socket.h nbdkit-filter.h nbdkit-common.h string.h pthread.h stdlib.h cleanup.h assert.h socket_type.h errno.h  GCC: (Debian 12.2.0-14+deb12u1) 12.2.0        zR x                D F
A     8       D    AO T
CA  0   \       2   BIB I(H0A8D`  @             BBB A(A0D
0A(A BBBG          2    Ga
HA           Z    D v
A  8         A    BEE D(C0f(A BBB   8   L      F    BEE D(C0k(A BBB   8         A    BEE D(C0f(A BBB   8         A    BEE D(C0f(A BBB   8          H    BEE D(D0l(A BBB   8   <      E    BEE D(D0i(A BBB   H   x      t    BLG D(G0M
(J DBBIe(A ABB                                                                                                                                                            	                                (            `       (       "                    1                    G                      L                     Q            D       b            2      x                                           }             0                                                    8                                           *                                                 	                                                  `                     R                     G                     Y                     8                          2                 Z                         *    P      A       6          F       D          A       O    @      A       Z          H       g          E       s    0      t            d                    r                           P                                                       
                                            
                                                                                                                                                                                                                                                            s                      a                                                                                    &                     8                     ?                     F                     M                     R                     Y                     ^                     r                     y                                        pause.c begin_request count_lock count_requests __PRETTY_FUNCTION__.2 .LC0 .LC1 pause_after_fork control_socket_thread .LC2 count_cond sock is_paused .LC6 .LC4 .LC5 .LC3 __PRETTY_FUNCTION__.0 pause_config_complete sockfile .LC8 .LC10 .LC9 .LC11 .LC7 pause_unload end_request __PRETTY_FUNCTION__.1 pause_cache pause_extents pause_zero pause_trim pause_pwrite pause_pread pause_config .LC12 .LC13 filter pthread_mutex_lock cleanup_mutex_unlock __assert_fail pthread_create __errno_location nbdkit_error accept4 close pthread_mutex_unlock nbdkit_debug pthread_cond_wait strlen unlink socket bind listen free pthread_cond_signal strcmp nbdkit_absolute_path filter_init                                     6                \       %          6   4             :          7   B          7   N          -          Z             a             f          8   m          -          y                                    8             9             :                          ;                                                        \                   %         <   C         =   |         >            :            ?                                                  @                        A                               6   $            ,                   2         A   ?         6   W         B   ]            h            o         A   w         7            :                        ;            :                        ;            -               	                     8   /                   F         C   [         D   l         E   r                     F            G   [            b         ;   s            z         ;                        ;                        ;                        ;                        ?                               D               \                6                                           I   "         7   .         -          :            A            F         8   8         *   Q         J   {                            H            K                               +            .            .                   .            H                y                           0                   8             0      @                    H                    h                                                         0            @      8                  @                  H            P             
   0           
       
   4                
   5                  
   5                               *       
   3           /       
   4   ?       =       
   4         D       
   4         R       
   4   g      Y       
   4   V      `       
   4         g       
   4         s       
   4                
   4   2             
   4                
   4                
   4                
   4   h             
   4   m             
   4                 
   4   |             
   4   	             
   4                
   4               
   4   	      #      
   4   l      2      
   4          7      
   4   N      C      
   4         P      
   4   ]       ]      
   4   +      p      
   4   =      |      
   4               
   4   6            
   4                
   4   W            
   4   	            
   4   $            
   4   F            
   4               
   4   	            
   4                
   4                
   4                
   4         &      
   4   @	      3      
   4          @      
   4         M      
   4         k      
   4   W      w      
   4   m            
   4                 
   4   k             
   4   m            
   4   +            
   4                 
   4   k             
   4               
   4   +            
   4           '      
   4   k       D      
   4         V      
   4         b      
   4   s       n      
   4   C      {      
   4               
   4               
   4               
   4   	            
   4               
   4   	            
   4               
   4               
   4               
   4                
   4   g            
   4               
   4               
   4   ~	            
   4   N      /      
   4         C      
   4   *      W      
   4   -      k      
   4               
   4               
   4               
   4               
   4   u            
   4               
   4   K            
   4                
   4               
   4   q      .      
   4    
            
   4   +            
   4   #	            
   4               
   4   ;            
   4   <            
   4   @            
   4               
   4               
   4               
   4         1      
   4         =      
   4         B      
   4   v      N      
   4   v      S      
   4         _      
   4         l      
   4         y      
   4   U            
   4               
   4   I	            
   4   @            
   4                
   4   ^            
   4               
   4   !            
   4               
   4   	            
   4               
   4               
   4   *      "      
   4         /      
   4   
      <      
   4          I      
   4   a      V      
   4         c      
   4         p      
   4   R      }      
   4   
            
   4               
   4   i            
   4   9            
   4               
   4   
            
   4         ?      
   4         	      
   4         	      
   4         	      
   4          	      
   4         	      
   4   2      	      
   4   	      	      
   4   j      	      
   4   _      

      
   4          
      
   4   y      $
      
   4   +      1
      
   4         >
      
   4   d      K
      
   4   s      X
      
   4         e
      
   4          r
      
   4   d      
      
   4         
      
   4          
      
   4         
      
   4         
      
   4   |       
      
   4         
      
   4   U      
      
   4         
      
   4   I	      
      
   4   @            
   4                
   4   ^            
   4         (      
   4   !      5      
   4         B      
   4   	      O      
   4         \      
   4         h      
   4   *      t      
   4               
   4   
            
   4                
   4   a            
   4               
   4               
   4   R            
   4   
      9      
   4   	      E                   N      
   4         Z                    c      
   4   <      o                   x      
   4   +                               
   4   a            
   4                     `             
   4   4                                 
   4                                   
   4   Z               .                 
   4                
   4   M            
   4   -       -      
   4         I      
   4   7      i      
   4               
   4   d             
   4               
   4               
   4   	            
   4   K             
   4         1      
   4   |       H      
   4   r	      i      
   4   d            
   4               
   4               
   4               
   4         &      
   4         =      
   4         T      
   4         u      
   4   Z            
   4                                 
   4   v                  P            
   4   F             
   1                
   1                
   4   w	            
   1   /             
   1   +             
   4   ~            
   1   G             
   1   A       
      
   4               
   1   f             
   1   `       !      
   4   :	      ,      
   1          0      
   1          @      
   1          D      
   1          R      
   1          V      
   1          [            k      h                                          
   4   	                              
   4   F             
   1                
   1                
   4   w	            
   1                
   1                
   4   ~            
   1               
   1               
   4         
      
   1   3            
   1   -            
   4   :	            
   1   R      "      
   1   L      '      
   4   R      2      
   1   q      6      
   1   k      S      
   1         W      
   1         \                  i                                          
   4                     @            
   4   F             
   1               
   1               
   4   w	            
   1               
   1               
   4   ~            
   1               
   1               
   4               
   1                
   1               
   4   :	      &      
   1         *      
   1         :      
   1   >      >      
   1   8      L      
   1   ]      P      
   1   W      U            [      b            o                  v            
   4   5                              
   4   F             
   1   y            
   1   s            
   4   w	            
   1               
   1               
   4   ~            
   1               
   1               
   4               
   1               
   1         
      
   4   :	            
   1               
   1         ,      
   1         0      
   1         >      
   1   *      B      
   1   $      G                  T                              &            
   4                                 
   4   F             
   1   F            
   1   @            
   4   w	            
   1   c            
   1   _            
   1   {            
   1   u            
   4   ~            
   1               
   1               
   4         
      
   1               
   1               
   4   :	            
   1         "      
   1         ?      
   1         C      
   1         H                  U                                          
   4                                 
   4   F             
   1               
   1   
            
   4   w	            
   1   0            
   1   ,            
   1   H            
   1   B            
   4   ~            
   1   g            
   1   a            
   4               
   1               
   1               
   4   :	      &      
   1         *      
   1         G      
   1         K      
   1         P                  ]                                          
   4   :            
   4               
   4   P               -                                        `             
   4                             '      
   4         6      
   4   P      @         -           I      
   4   	      X      
   2          k      
   1         o      
   1         t                                                  j                                                       -                 
   2                
   1               
   1                     )                   `                                             )                    =         -           H            >       `            F             
   4                                  
   4               
   1               
   1               
   1               
   1               
   4                                               
                                      +                   6      
   4   	      ?                   a      
   1   /      e      
   1   +      r      
   1   I      v      
   1   A            
   1   t            
   1   f                                                
   2                
   2                
   2   +             
   1               
   1                     C                                           !                    4         -           ?            !      W            6      l                    v            [                  s                  *                   {                                                                                          8       !            )      D            G      g                                                                                                                                                                          
   4         
      
   4   	            
   4         &      
   4   P      0         -           \      
   4   \	      e                   |      
   4   F             
   1               
   1               
   4               
   1               
   1               
   1   m            
   1   a            
   4                     J                  _                  p                        >                  ]                  q            f                  `                   ~                  R                                     G                                     Y                                     8             
   4         ,      
   4   F       7      
   4         N      
   4         Z      
   4         _                  v                                                                                                 
   1               
   1                     +                    +      "             +      8             J      I                    V                     j          -          v                                                     &                   0             
   1                
   1                
   1                
   1                
   1   1             
   1   %             
   1   n             
   1   b                   x      !            x      !      
   1         !!      
   1         /!      
   1         3!      
   1         <!      
   1         @!      
   1         E!                  R!                  g!            U      !            d       !            q             
   /                                "       
   5   "       &       
   5   <       *       
   5   e       .       
   5          2       
   5          6       
   5          :       
   5          D       
   5          I       
   5          N       
   5          S       
   5          X       
   5          ]       
   5         b       
   5         g       
   5   %      l       
   5   ;      q       
   5   J      v       
   5   Y      {       
   5   h             
   5   q             
   5   |             
   5                
   5                
   5                
   5                
   5                
   5                
   5                
   5                
   5                
   5                
   5                                                                                P                            <                    `                                                                                          P      P                                                @                        @                  |            0                         .symtab .strtab .shstrtab .rela.text .data .bss .rodata.str1.1 .rodata.str1.8 .rodata .rela.data.rel.local .rela.debug_info .debug_abbrev .debug_loclists .rela.debug_aranges .debug_rnglists .rela.debug_line .debug_str .debug_line_str .comment .note.GNU-stack .rela.eh_frame                                                                                            @                                          @               X       	                          &                                                         ,                                                           1      2                                                   @      2                                                  O                     	      .                              \                     	      P                              W      @               a      8                          q                            !                             l      @               Pb      @2         
                 }                      ,                                                         1                                                         9      0                                    @                     0                                                 9      ;                                                    $:      	                                   @                     `                                0               -?      
                                  0               HI                                        0               @K      (                                                   hK                                     	                    hK                                        @                      P                                                @N      8         6                 	                      xU                                                         p                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           # nbdkit_pause_filter_la-pause.lo - a libtool object file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object='.libs/nbdkit_pause_filter_la-pause.o'

# Name of the non-PIC object
non_pic_object='nbdkit_pause_filter_la-pause.o'

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         # nbdkit-pause-filter.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.7 Debian-2.4.7-7~deb12u1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='nbdkit-pause-filter.so'

# Names of this library.
library_names='nbdkit-pause-filter.so nbdkit-pause-filter.so nbdkit-pause-filter.so'

# The name of the static archive.
old_library=''

# Linker flags that cannot go in dependency_libs.
inherited_linker_flags=' -pthread'

# Libraries that this one depends upon.
dependency_libs=' -lpthread'

# Names of additional weak libraries provided by this library
weak_library_names=''

# Version information for nbdkit-pause-filter.
current=0
age=0
revision=0

# Is this an already installed library?
installed=no

# Should we warn about portability when linking against -modules?
shouldnotlink=yes

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/local/lib/nbdkit/filters'
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              