class LidoapiOfp {
  LidoapiOfp({
    required this.briefingPackages,
    required this.categories,
    required this.merge,
    required this.bpRestrictions,
    required this.categoriesNames,
  });

  final List<BriefingPackage> briefingPackages;
  static const String briefingPackagesKey = "briefingPackages";

  final List<Category> categories;
  static const String categoriesKey = "categories";

  final bool? merge;
  static const String mergeKey = "merge";

  final List<dynamic> bpRestrictions;
  static const String bpRestrictionsKey = "bpRestrictions";

  final CategoriesNames? categoriesNames;
  static const String categoriesNamesKey = "categoriesNames";

  LidoapiOfp copyWith({
    List<BriefingPackage>? briefingPackages,
    List<Category>? categories,
    bool? merge,
    List<dynamic>? bpRestrictions,
    CategoriesNames? categoriesNames,
  }) {
    return LidoapiOfp(
      briefingPackages: briefingPackages ?? this.briefingPackages,
      categories: categories ?? this.categories,
      merge: merge ?? this.merge,
      bpRestrictions: bpRestrictions ?? this.bpRestrictions,
      categoriesNames: categoriesNames ?? this.categoriesNames,
    );
  }

  factory LidoapiOfp.fromJson(Map<String, dynamic> json) {
    return LidoapiOfp(
      briefingPackages: json["briefingPackages"] == null
          ? []
          : List<BriefingPackage>.from(json["briefingPackages"]!
              .map((x) => BriefingPackage.fromJson(x))),
      categories: json["categories"] == null
          ? []
          : List<Category>.from(
              json["categories"]!.map((x) => Category.fromJson(x))),
      merge: json["merge"],
      bpRestrictions: json["bpRestrictions"] == null
          ? []
          : List<dynamic>.from(json["bpRestrictions"]!.map((x) => x)),
      categoriesNames: json["categoriesNames"] == null
          ? null
          : CategoriesNames.fromJson(json["categoriesNames"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "briefingPackages": briefingPackages.map((x) => x.toJson()).toList(),
        "categories": categories.map((x) => x.toJson()).toList(),
        "merge": merge,
        "bpRestrictions": bpRestrictions.map((x) => x).toList(),
        "categoriesNames": categoriesNames?.toJson(),
      };

  @override
  String toString() {
    return "$briefingPackages, $categories, $merge, $bpRestrictions, $categoriesNames, ";
  }
}

class BriefingPackage {
  BriefingPackage({
    required this.status,
    required this.previousStatus,
    required this.leg,
    required this.categories,
    required this.lidoBriefingData,
    required this.flightLegIdentifier,
    required this.briefingPackageDocuments,
    required this.briefingPackageOrigin,
    required this.briefingPackageConfirmationHistory,
    required this.bpVersion,
    required this.version,
    required this.creationTimeStamp,
    required this.latestFuelOrder,
    required this.interfaceHistory,
    required this.links,
  });

  final String? status;
  static const String statusKey = "status";

  final String? previousStatus;
  static const String previousStatusKey = "previousStatus";

  final List<Leg> leg;
  static const String legKey = "leg";

  final List<Category> categories;
  static const String categoriesKey = "categories";

  final LidoBriefingData? lidoBriefingData;
  static const String lidoBriefingDataKey = "lidoBriefingData";

  final dynamic flightLegIdentifier;
  static const String flightLegIdentifierKey = "flightLegIdentifier";

  final List<BriefingPackageDocument> briefingPackageDocuments;
  static const String briefingPackageDocumentsKey = "briefingPackageDocuments";

  final String? briefingPackageOrigin;
  static const String briefingPackageOriginKey = "briefingPackageOrigin";

  final List<dynamic> briefingPackageConfirmationHistory;
  static const String briefingPackageConfirmationHistoryKey =
      "briefingPackageConfirmationHistory";

  final int? bpVersion;
  static const String bpVersionKey = "bpVersion";

  final int? version;
  static const String versionKey = "version";

  final int? creationTimeStamp;
  static const String creationTimeStampKey = "creationTimeStamp";

  final dynamic latestFuelOrder;
  static const String latestFuelOrderKey = "latestFuelOrder";

  final InterfaceHistory? interfaceHistory;
  static const String interfaceHistoryKey = "interfaceHistory";

  final Links? links;
  static const String linksKey = "_links";

  BriefingPackage copyWith({
    String? status,
    String? previousStatus,
    List<Leg>? leg,
    List<Category>? categories,
    LidoBriefingData? lidoBriefingData,
    dynamic flightLegIdentifier,
    List<BriefingPackageDocument>? briefingPackageDocuments,
    String? briefingPackageOrigin,
    List<dynamic>? briefingPackageConfirmationHistory,
    int? bpVersion,
    int? version,
    int? creationTimeStamp,
    dynamic latestFuelOrder,
    InterfaceHistory? interfaceHistory,
    Links? links,
  }) {
    return BriefingPackage(
      status: status ?? this.status,
      previousStatus: previousStatus ?? this.previousStatus,
      leg: leg ?? this.leg,
      categories: categories ?? this.categories,
      lidoBriefingData: lidoBriefingData ?? this.lidoBriefingData,
      flightLegIdentifier: flightLegIdentifier ?? this.flightLegIdentifier,
      briefingPackageDocuments:
          briefingPackageDocuments ?? this.briefingPackageDocuments,
      briefingPackageOrigin:
          briefingPackageOrigin ?? this.briefingPackageOrigin,
      briefingPackageConfirmationHistory: briefingPackageConfirmationHistory ??
          this.briefingPackageConfirmationHistory,
      bpVersion: bpVersion ?? this.bpVersion,
      version: version ?? this.version,
      creationTimeStamp: creationTimeStamp ?? this.creationTimeStamp,
      latestFuelOrder: latestFuelOrder ?? this.latestFuelOrder,
      interfaceHistory: interfaceHistory ?? this.interfaceHistory,
      links: links ?? this.links,
    );
  }

  factory BriefingPackage.fromJson(Map<String, dynamic> json) {
    return BriefingPackage(
      status: json["status"],
      previousStatus: json["previousStatus"],
      leg: json["leg"] == null
          ? []
          : List<Leg>.from(json["leg"]!.map((x) => Leg.fromJson(x))),
      categories: json["categories"] == null
          ? []
          : List<Category>.from(
              json["categories"]!.map((x) => Category.fromJson(x))),
      lidoBriefingData: json["lidoBriefingData"] == null
          ? null
          : LidoBriefingData.fromJson(json["lidoBriefingData"]),
      flightLegIdentifier: json["flightLegIdentifier"],
      briefingPackageDocuments: json["briefingPackageDocuments"] == null
          ? []
          : List<BriefingPackageDocument>.from(json["briefingPackageDocuments"]!
              .map((x) => BriefingPackageDocument.fromJson(x))),
      briefingPackageOrigin: json["briefingPackageOrigin"],
      briefingPackageConfirmationHistory:
          json["briefingPackageConfirmationHistory"] == null
              ? []
              : List<dynamic>.from(
                  json["briefingPackageConfirmationHistory"]!.map((x) => x)),
      bpVersion: json["bpVersion"],
      version: json["version"],
      creationTimeStamp: json["creationTimeStamp"],
      latestFuelOrder: json["latestFuelOrder"],
      interfaceHistory: json["interfaceHistory"] == null
          ? null
          : InterfaceHistory.fromJson(json["interfaceHistory"]),
      links: json["_links"] == null ? null : Links.fromJson(json["_links"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "status": status,
        "previousStatus": previousStatus,
        "leg": leg.map((x) => x.toJson()).toList(),
        "categories": categories.map((x) => x.toJson()).toList(),
        "lidoBriefingData": lidoBriefingData?.toJson(),
        "flightLegIdentifier": flightLegIdentifier,
        "briefingPackageDocuments":
            briefingPackageDocuments.map((x) => x.toJson()).toList(),
        "briefingPackageOrigin": briefingPackageOrigin,
        "briefingPackageConfirmationHistory":
            briefingPackageConfirmationHistory.map((x) => x).toList(),
        "bpVersion": bpVersion,
        "version": version,
        "creationTimeStamp": creationTimeStamp,
        "latestFuelOrder": latestFuelOrder,
        "interfaceHistory": interfaceHistory?.toJson(),
        "_links": links?.toJson(),
      };

  @override
  String toString() {
    return "$status, $previousStatus, $leg, $categories, $lidoBriefingData, $flightLegIdentifier, $briefingPackageDocuments, $briefingPackageOrigin, $briefingPackageConfirmationHistory, $bpVersion, $version, $creationTimeStamp, $latestFuelOrder, $interfaceHistory, $links, ";
  }
}

class BriefingPackageDocument {
  BriefingPackageDocument({
    required this.name,
    required this.creationTime,
    required this.printedBy,
  });

  final String? name;
  static const String nameKey = "name";

  final int? creationTime;
  static const String creationTimeKey = "creationTime";

  final String? printedBy;
  static const String printedByKey = "printedBy";

  BriefingPackageDocument copyWith({
    String? name,
    int? creationTime,
    String? printedBy,
  }) {
    return BriefingPackageDocument(
      name: name ?? this.name,
      creationTime: creationTime ?? this.creationTime,
      printedBy: printedBy ?? this.printedBy,
    );
  }

  factory BriefingPackageDocument.fromJson(Map<String, dynamic> json) {
    return BriefingPackageDocument(
      name: json["name"],
      creationTime: json["creationTime"],
      printedBy: json["printedBy"],
    );
  }

  Map<String, dynamic> toJson() => {
        "name": name,
        "creationTime": creationTime,
        "printedBy": printedBy,
      };

  @override
  String toString() {
    return "$name, $creationTime, $printedBy, ";
  }
}

class Category {
  Category({
    required this.name,
    required this.documents,
    required this.flightRelated,
    required this.type,
    required this.links,
  });

  final String? name;
  static const String nameKey = "name";

  final List<Document> documents;
  static const String documentsKey = "documents";

  final bool? flightRelated;
  static const String flightRelatedKey = "flightRelated";

  final String? type;
  static const String typeKey = "type";

  final Links? links;
  static const String linksKey = "_links";

  Category copyWith({
    String? name,
    List<Document>? documents,
    bool? flightRelated,
    String? type,
    Links? links,
  }) {
    return Category(
      name: name ?? this.name,
      documents: documents ?? this.documents,
      flightRelated: flightRelated ?? this.flightRelated,
      type: type ?? this.type,
      links: links ?? this.links,
    );
  }

  factory Category.fromJson(Map<String, dynamic> json) {
    return Category(
      name: json["name"],
      documents: json["documents"] == null
          ? []
          : List<Document>.from(
              json["documents"]!.map((x) => Document.fromJson(x))),
      flightRelated: json["flightRelated"],
      type: json["type"],
      links: json["_links"] == null ? null : Links.fromJson(json["_links"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "name": name,
        "documents": documents.map((x) => x.toJson()).toList(),
        "flightRelated": flightRelated,
        "type": type,
        "_links": links?.toJson(),
      };

  @override
  String toString() {
    return "$name, $documents, $flightRelated, $type, $links, ";
  }
}

class Document {
  Document({
    required this.fileId,
    required this.legIdentifier,
    required this.mediaType,
    required this.creationTime,
    required this.metadata,
    required this.links,
    required this.fileName,
  });

  final String? fileId;
  static const String fileIdKey = "fileId";

  final String? legIdentifier;
  static const String legIdentifierKey = "legIdentifier";

  final String? mediaType;
  static const String mediaTypeKey = "mediaType";

  final int? creationTime;
  static const String creationTimeKey = "creationTime";

  final List<Metadatum> metadata;
  static const String metadataKey = "metadata";

  final Links? links;
  static const String linksKey = "_links";

  final String? fileName;
  static const String fileNameKey = "fileName";

  Document copyWith({
    String? fileId,
    String? legIdentifier,
    String? mediaType,
    int? creationTime,
    List<Metadatum>? metadata,
    Links? links,
    String? fileName,
  }) {
    return Document(
      fileId: fileId ?? this.fileId,
      legIdentifier: legIdentifier ?? this.legIdentifier,
      mediaType: mediaType ?? this.mediaType,
      creationTime: creationTime ?? this.creationTime,
      metadata: metadata ?? this.metadata,
      links: links ?? this.links,
      fileName: fileName ?? this.fileName,
    );
  }

  factory Document.fromJson(Map<String, dynamic> json) {
    return Document(
      fileId: json["fileId"],
      legIdentifier: json["legIdentifier"],
      mediaType: json["mediaType"],
      creationTime: json["creationTime"],
      metadata: json["metadata"] == null
          ? []
          : List<Metadatum>.from(
              json["metadata"]!.map((x) => Metadatum.fromJson(x))),
      links: json["_links"] == null ? null : Links.fromJson(json["_links"]),
      fileName: json["fileName"],
    );
  }

  Map<String, dynamic> toJson() => {
        "fileId": fileId,
        "legIdentifier": legIdentifier,
        "mediaType": mediaType,
        "creationTime": creationTime,
        "metadata": metadata.map((x) => x.toJson()).toList(),
        "_links": links?.toJson(),
        "fileName": fileName,
      };

  @override
  String toString() {
    return "$fileId, $legIdentifier, $mediaType, $creationTime, $metadata, $links, $fileName, ";
  }
}

class Links {
  Links({
    required this.self,
  });

  final Self? self;
  static const String selfKey = "self";

  Links copyWith({
    Self? self,
  }) {
    return Links(
      self: self ?? this.self,
    );
  }

  factory Links.fromJson(Map<String, dynamic> json) {
    return Links(
      self: json["self"] == null ? null : Self.fromJson(json["self"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "self": self?.toJson(),
      };

  @override
  String toString() {
    return "$self, ";
  }
}

class Self {
  Self({
    required this.href,
  });

  final String? href;
  static const String hrefKey = "href";

  Self copyWith({
    String? href,
  }) {
    return Self(
      href: href ?? this.href,
    );
  }

  factory Self.fromJson(Map<String, dynamic> json) {
    return Self(
      href: json["href"],
    );
  }

  Map<String, dynamic> toJson() => {
        "href": href,
      };

  @override
  String toString() {
    return "$href, ";
  }
}

class Metadatum {
  Metadatum({
    required this.key,
    required this.value,
  });

  final String? key;
  static const String keyKey = "key";

  final dynamic value;
  static const String valueKey = "value";

  Metadatum copyWith({
    String? key,
    dynamic value,
  }) {
    return Metadatum(
      key: key ?? this.key,
      value: value ?? this.value,
    );
  }

  factory Metadatum.fromJson(Map<String, dynamic> json) {
    return Metadatum(
      key: json["key"],
      value: json["value"],
    );
  }

  Map<String, dynamic> toJson() => {
        "key": key,
        "value": value,
      };

  @override
  String toString() {
    return "$key, $value, ";
  }
}

class InterfaceHistory {
  InterfaceHistory({
    required this.interfaceTimestamp,
  });

  final int? interfaceTimestamp;
  static const String interfaceTimestampKey = "interfaceTimestamp";

  InterfaceHistory copyWith({
    int? interfaceTimestamp,
  }) {
    return InterfaceHistory(
      interfaceTimestamp: interfaceTimestamp ?? this.interfaceTimestamp,
    );
  }

  factory InterfaceHistory.fromJson(Map<String, dynamic> json) {
    return InterfaceHistory(
      interfaceTimestamp: json["interfaceTimestamp"],
    );
  }

  Map<String, dynamic> toJson() => {
        "interfaceTimestamp": interfaceTimestamp,
      };

  @override
  String toString() {
    return "$interfaceTimestamp, ";
  }
}

class Leg {
  Leg({
    required this.legidentifier,
    required this.commercialAirlineIata,
    required this.commercialAirlineIcao,
    required this.flightNumber,
    required this.operationalSuffix,
    required this.aircraftOperatorIata,
    required this.aircraftOperatorIcao,
    required this.departureAirport,
    required this.destinationAirport,
    required this.ofpNumber,
    required this.aircraftDetails,
    required this.dispatcherInformation,
    required this.ctot,
    required this.slotAction,
    required this.estimatedDepartureTime,
    required this.scheduledDepartureTime,
    required this.estimatedTimeOfArrival,
    required this.scheduledTimeOfArrival,
    required this.crewMembers,
    required this.fuel,
    required this.weight,
    required this.reclearanceIndicator,
    required this.dateOfOrigin,
    required this.dateOfOperation,
    required this.masterOffice,
    required this.responsibleOffice,
    required this.flightDuplicationNumber,
    required this.destinationAirportIcao,
    required this.departureAirportIcao,
    required this.flightRoute,
  });

  final String? legidentifier;
  static const String legidentifierKey = "legidentifier";

  final String? commercialAirlineIata;
  static const String commercialAirlineIataKey = "commercialAirlineIATA";

  final String? commercialAirlineIcao;
  static const String commercialAirlineIcaoKey = "commercialAirlineICAO";

  final String? flightNumber;
  static const String flightNumberKey = "flightNumber";

  final String? operationalSuffix;
  static const String operationalSuffixKey = "operationalSuffix";

  final String? aircraftOperatorIata;
  static const String aircraftOperatorIataKey = "aircraftOperatorIATA";

  final String? aircraftOperatorIcao;
  static const String aircraftOperatorIcaoKey = "aircraftOperatorICAO";

  final String? departureAirport;
  static const String departureAirportKey = "departureAirport";

  final String? destinationAirport;
  static const String destinationAirportKey = "destinationAirport";

  final String? ofpNumber;
  static const String ofpNumberKey = "ofpNumber";

  final AircraftDetails? aircraftDetails;
  static const String aircraftDetailsKey = "aircraftDetails";

  final DispatcherInformation? dispatcherInformation;
  static const String dispatcherInformationKey = "dispatcherInformation";

  final int? ctot;
  static const String ctotKey = "ctot";

  final String? slotAction;
  static const String slotActionKey = "slotAction";

  final int? estimatedDepartureTime;
  static const String estimatedDepartureTimeKey = "estimatedDepartureTime";

  final int? scheduledDepartureTime;
  static const String scheduledDepartureTimeKey = "scheduledDepartureTime";

  final int? estimatedTimeOfArrival;
  static const String estimatedTimeOfArrivalKey = "estimatedTimeOfArrival";

  final int? scheduledTimeOfArrival;
  static const String scheduledTimeOfArrivalKey = "scheduledTimeOfArrival";

  final List<CrewMember> crewMembers;
  static const String crewMembersKey = "crewMembers";

  final Fuel? fuel;
  static const String fuelKey = "fuel";

  final Weight? weight;
  static const String weightKey = "weight";

  final bool? reclearanceIndicator;
  static const String reclearanceIndicatorKey = "reclearanceIndicator";

  final int? dateOfOrigin;
  static const String dateOfOriginKey = "dateOfOrigin";

  final int? dateOfOperation;
  static const String dateOfOperationKey = "dateOfOperation";

  final String? masterOffice;
  static const String masterOfficeKey = "masterOffice";

  final String? responsibleOffice;
  static const String responsibleOfficeKey = "responsibleOffice";

  final dynamic flightDuplicationNumber;
  static const String flightDuplicationNumberKey = "flightDuplicationNumber";

  final String? destinationAirportIcao;
  static const String destinationAirportIcaoKey = "destinationAirportICAO";

  final String? departureAirportIcao;
  static const String departureAirportIcaoKey = "departureAirportICAO";

  final String? flightRoute;
  static const String flightRouteKey = "flightRoute";

  Leg copyWith({
    String? legidentifier,
    String? commercialAirlineIata,
    String? commercialAirlineIcao,
    String? flightNumber,
    String? operationalSuffix,
    String? aircraftOperatorIata,
    String? aircraftOperatorIcao,
    String? departureAirport,
    String? destinationAirport,
    String? ofpNumber,
    AircraftDetails? aircraftDetails,
    DispatcherInformation? dispatcherInformation,
    int? ctot,
    String? slotAction,
    int? estimatedDepartureTime,
    int? scheduledDepartureTime,
    int? estimatedTimeOfArrival,
    int? scheduledTimeOfArrival,
    List<CrewMember>? crewMembers,
    Fuel? fuel,
    Weight? weight,
    bool? reclearanceIndicator,
    int? dateOfOrigin,
    int? dateOfOperation,
    String? masterOffice,
    String? responsibleOffice,
    dynamic flightDuplicationNumber,
    String? destinationAirportIcao,
    String? departureAirportIcao,
    String? flightRoute,
  }) {
    return Leg(
      legidentifier: legidentifier ?? this.legidentifier,
      commercialAirlineIata:
          commercialAirlineIata ?? this.commercialAirlineIata,
      commercialAirlineIcao:
          commercialAirlineIcao ?? this.commercialAirlineIcao,
      flightNumber: flightNumber ?? this.flightNumber,
      operationalSuffix: operationalSuffix ?? this.operationalSuffix,
      aircraftOperatorIata: aircraftOperatorIata ?? this.aircraftOperatorIata,
      aircraftOperatorIcao: aircraftOperatorIcao ?? this.aircraftOperatorIcao,
      departureAirport: departureAirport ?? this.departureAirport,
      destinationAirport: destinationAirport ?? this.destinationAirport,
      ofpNumber: ofpNumber ?? this.ofpNumber,
      aircraftDetails: aircraftDetails ?? this.aircraftDetails,
      dispatcherInformation:
          dispatcherInformation ?? this.dispatcherInformation,
      ctot: ctot ?? this.ctot,
      slotAction: slotAction ?? this.slotAction,
      estimatedDepartureTime:
          estimatedDepartureTime ?? this.estimatedDepartureTime,
      scheduledDepartureTime:
          scheduledDepartureTime ?? this.scheduledDepartureTime,
      estimatedTimeOfArrival:
          estimatedTimeOfArrival ?? this.estimatedTimeOfArrival,
      scheduledTimeOfArrival:
          scheduledTimeOfArrival ?? this.scheduledTimeOfArrival,
      crewMembers: crewMembers ?? this.crewMembers,
      fuel: fuel ?? this.fuel,
      weight: weight ?? this.weight,
      reclearanceIndicator: reclearanceIndicator ?? this.reclearanceIndicator,
      dateOfOrigin: dateOfOrigin ?? this.dateOfOrigin,
      dateOfOperation: dateOfOperation ?? this.dateOfOperation,
      masterOffice: masterOffice ?? this.masterOffice,
      responsibleOffice: responsibleOffice ?? this.responsibleOffice,
      flightDuplicationNumber:
          flightDuplicationNumber ?? this.flightDuplicationNumber,
      destinationAirportIcao:
          destinationAirportIcao ?? this.destinationAirportIcao,
      departureAirportIcao: departureAirportIcao ?? this.departureAirportIcao,
      flightRoute: flightRoute ?? this.flightRoute,
    );
  }

  factory Leg.fromJson(Map<String, dynamic> json) {
    return Leg(
      legidentifier: json["legidentifier"],
      commercialAirlineIata: json["commercialAirlineIATA"],
      commercialAirlineIcao: json["commercialAirlineICAO"],
      flightNumber: json["flightNumber"],
      operationalSuffix: json["operationalSuffix"],
      aircraftOperatorIata: json["aircraftOperatorIATA"],
      aircraftOperatorIcao: json["aircraftOperatorICAO"],
      departureAirport: json["departureAirport"],
      destinationAirport: json["destinationAirport"],
      ofpNumber: json["ofpNumber"],
      aircraftDetails: json["aircraftDetails"] == null
          ? null
          : AircraftDetails.fromJson(json["aircraftDetails"]),
      dispatcherInformation: json["dispatcherInformation"] == null
          ? null
          : DispatcherInformation.fromJson(json["dispatcherInformation"]),
      ctot: json["ctot"],
      slotAction: json["slotAction"],
      estimatedDepartureTime: json["estimatedDepartureTime"],
      scheduledDepartureTime: json["scheduledDepartureTime"],
      estimatedTimeOfArrival: json["estimatedTimeOfArrival"],
      scheduledTimeOfArrival: json["scheduledTimeOfArrival"],
      crewMembers: json["crewMembers"] == null
          ? []
          : List<CrewMember>.from(
              json["crewMembers"]!.map((x) => CrewMember.fromJson(x))),
      fuel: json["fuel"] == null ? null : Fuel.fromJson(json["fuel"]),
      weight: json["weight"] == null ? null : Weight.fromJson(json["weight"]),
      reclearanceIndicator: json["reclearanceIndicator"],
      dateOfOrigin: json["dateOfOrigin"],
      dateOfOperation: json["dateOfOperation"],
      masterOffice: json["masterOffice"],
      responsibleOffice: json["responsibleOffice"],
      flightDuplicationNumber: json["flightDuplicationNumber"],
      destinationAirportIcao: json["destinationAirportICAO"],
      departureAirportIcao: json["departureAirportICAO"],
      flightRoute: json["flightRoute"],
    );
  }

  Map<String, dynamic> toJson() => {
        "legidentifier": legidentifier,
        "commercialAirlineIATA": commercialAirlineIata,
        "commercialAirlineICAO": commercialAirlineIcao,
        "flightNumber": flightNumber,
        "operationalSuffix": operationalSuffix,
        "aircraftOperatorIATA": aircraftOperatorIata,
        "aircraftOperatorICAO": aircraftOperatorIcao,
        "departureAirport": departureAirport,
        "destinationAirport": destinationAirport,
        "ofpNumber": ofpNumber,
        "aircraftDetails": aircraftDetails?.toJson(),
        "dispatcherInformation": dispatcherInformation?.toJson(),
        "ctot": ctot,
        "slotAction": slotAction,
        "estimatedDepartureTime": estimatedDepartureTime,
        "scheduledDepartureTime": scheduledDepartureTime,
        "estimatedTimeOfArrival": estimatedTimeOfArrival,
        "scheduledTimeOfArrival": scheduledTimeOfArrival,
        "crewMembers": crewMembers.map((x) => x.toJson()).toList(),
        "fuel": fuel?.toJson(),
        "weight": weight?.toJson(),
        "reclearanceIndicator": reclearanceIndicator,
        "dateOfOrigin": dateOfOrigin,
        "dateOfOperation": dateOfOperation,
        "masterOffice": masterOffice,
        "responsibleOffice": responsibleOffice,
        "flightDuplicationNumber": flightDuplicationNumber,
        "destinationAirportICAO": destinationAirportIcao,
        "departureAirportICAO": departureAirportIcao,
        "flightRoute": flightRoute,
      };

  @override
  String toString() {
    return "$legidentifier, $commercialAirlineIata, $commercialAirlineIcao, $flightNumber, $operationalSuffix, $aircraftOperatorIata, $aircraftOperatorIcao, $departureAirport, $destinationAirport, $ofpNumber, $aircraftDetails, $dispatcherInformation, $ctot, $slotAction, $estimatedDepartureTime, $scheduledDepartureTime, $estimatedTimeOfArrival, $scheduledTimeOfArrival, $crewMembers, $fuel, $weight, $reclearanceIndicator, $dateOfOrigin, $dateOfOperation, $masterOffice, $responsibleOffice, $flightDuplicationNumber, $destinationAirportIcao, $departureAirportIcao, $flightRoute, ";
  }
}

class AircraftDetails {
  AircraftDetails({
    required this.aircraftRegistration,
    required this.aircraftModel,
    required this.aircraftIcaoType,
  });

  final String? aircraftRegistration;
  static const String aircraftRegistrationKey = "aircraftRegistration";

  final String? aircraftModel;
  static const String aircraftModelKey = "aircraftModel";

  final String? aircraftIcaoType;
  static const String aircraftIcaoTypeKey = "aircraftICAOType";

  AircraftDetails copyWith({
    String? aircraftRegistration,
    String? aircraftModel,
    String? aircraftIcaoType,
  }) {
    return AircraftDetails(
      aircraftRegistration: aircraftRegistration ?? this.aircraftRegistration,
      aircraftModel: aircraftModel ?? this.aircraftModel,
      aircraftIcaoType: aircraftIcaoType ?? this.aircraftIcaoType,
    );
  }

  factory AircraftDetails.fromJson(Map<String, dynamic> json) {
    return AircraftDetails(
      aircraftRegistration: json["aircraftRegistration"],
      aircraftModel: json["aircraftModel"],
      aircraftIcaoType: json["aircraftICAOType"],
    );
  }

  Map<String, dynamic> toJson() => {
        "aircraftRegistration": aircraftRegistration,
        "aircraftModel": aircraftModel,
        "aircraftICAOType": aircraftIcaoType,
      };

  @override
  String toString() {
    return "$aircraftRegistration, $aircraftModel, $aircraftIcaoType, ";
  }
}

class CrewMember {
  CrewMember({
    required this.position,
    required this.name,
    required this.crewId,
  });

  final String? position;
  static const String positionKey = "position";

  final String? name;
  static const String nameKey = "name";

  final String? crewId;
  static const String crewIdKey = "crewId";

  CrewMember copyWith({
    String? position,
    String? name,
    String? crewId,
  }) {
    return CrewMember(
      position: position ?? this.position,
      name: name ?? this.name,
      crewId: crewId ?? this.crewId,
    );
  }

  factory CrewMember.fromJson(Map<String, dynamic> json) {
    return CrewMember(
      position: json["position"],
      name: json["name"],
      crewId: json["crewId"],
    );
  }

  Map<String, dynamic> toJson() => {
        "position": position,
        "name": name,
        "crewId": crewId,
      };

  @override
  String toString() {
    return "$position, $name, $crewId, ";
  }
}

class DispatcherInformation {
  DispatcherInformation({
    required this.dispatchOffice,
    required this.dispatcherName,
    required this.dispatcherTelephoneNumber,
    required this.dispatcherRemarks,
  });

  final String? dispatchOffice;
  static const String dispatchOfficeKey = "dispatchOffice";

  final String? dispatcherName;
  static const String dispatcherNameKey = "dispatcherName";

  final String? dispatcherTelephoneNumber;
  static const String dispatcherTelephoneNumberKey =
      "dispatcherTelephoneNumber";

  final dynamic dispatcherRemarks;
  static const String dispatcherRemarksKey = "dispatcherRemarks";

  DispatcherInformation copyWith({
    String? dispatchOffice,
    String? dispatcherName,
    String? dispatcherTelephoneNumber,
    dynamic dispatcherRemarks,
  }) {
    return DispatcherInformation(
      dispatchOffice: dispatchOffice ?? this.dispatchOffice,
      dispatcherName: dispatcherName ?? this.dispatcherName,
      dispatcherTelephoneNumber:
          dispatcherTelephoneNumber ?? this.dispatcherTelephoneNumber,
      dispatcherRemarks: dispatcherRemarks ?? this.dispatcherRemarks,
    );
  }

  factory DispatcherInformation.fromJson(Map<String, dynamic> json) {
    return DispatcherInformation(
      dispatchOffice: json["dispatchOffice"],
      dispatcherName: json["dispatcherName"],
      dispatcherTelephoneNumber: json["dispatcherTelephoneNumber"],
      dispatcherRemarks: json["dispatcherRemarks"],
    );
  }

  Map<String, dynamic> toJson() => {
        "dispatchOffice": dispatchOffice,
        "dispatcherName": dispatcherName,
        "dispatcherTelephoneNumber": dispatcherTelephoneNumber,
        "dispatcherRemarks": dispatcherRemarks,
      };

  @override
  String toString() {
    return "$dispatchOffice, $dispatcherName, $dispatcherTelephoneNumber, $dispatcherRemarks, ";
  }
}

class Fuel {
  Fuel({
    required this.unitOfMeasure,
    required this.tankCapacity,
    required this.averageFuelFlow,
    required this.taxiFuel,
    required this.tripFuel,
    required this.blockFuel,
    required this.possibleExtra,
    required this.totalTripTimeMinutes,
    required this.taxiTimeMinutes,
    required this.estimTotalFlightTime,
    required this.takeOffFuel,
    required this.takeOffFuelTime,
    required this.averageTaxiFuelFlow,
    required this.fuelOnBoard,
  });

  final String? unitOfMeasure;
  static const String unitOfMeasureKey = "unitOfMeasure";

  final int? tankCapacity;
  static const String tankCapacityKey = "tankCapacity";

  final int? averageFuelFlow;
  static const String averageFuelFlowKey = "averageFuelFlow";

  final int? taxiFuel;
  static const String taxiFuelKey = "taxiFuel";

  final int? tripFuel;
  static const String tripFuelKey = "tripFuel";

  final int? blockFuel;
  static const String blockFuelKey = "blockFuel";

  final int? possibleExtra;
  static const String possibleExtraKey = "possibleExtra";

  final int? totalTripTimeMinutes;
  static const String totalTripTimeMinutesKey = "totalTripTimeMinutes";

  final int? taxiTimeMinutes;
  static const String taxiTimeMinutesKey = "taxiTimeMinutes";

  final int? estimTotalFlightTime;
  static const String estimTotalFlightTimeKey = "estimTotalFlightTime";

  final int? takeOffFuel;
  static const String takeOffFuelKey = "takeOffFuel";

  final int? takeOffFuelTime;
  static const String takeOffFuelTimeKey = "takeOffFuelTime";

  final int? averageTaxiFuelFlow;
  static const String averageTaxiFuelFlowKey = "averageTaxiFuelFlow";

  final FuelOnBoard? fuelOnBoard;
  static const String fuelOnBoardKey = "fuelOnBoard";

  Fuel copyWith({
    String? unitOfMeasure,
    int? tankCapacity,
    int? averageFuelFlow,
    int? taxiFuel,
    int? tripFuel,
    int? blockFuel,
    int? possibleExtra,
    int? totalTripTimeMinutes,
    int? taxiTimeMinutes,
    int? estimTotalFlightTime,
    int? takeOffFuel,
    int? takeOffFuelTime,
    int? averageTaxiFuelFlow,
    FuelOnBoard? fuelOnBoard,
  }) {
    return Fuel(
      unitOfMeasure: unitOfMeasure ?? this.unitOfMeasure,
      tankCapacity: tankCapacity ?? this.tankCapacity,
      averageFuelFlow: averageFuelFlow ?? this.averageFuelFlow,
      taxiFuel: taxiFuel ?? this.taxiFuel,
      tripFuel: tripFuel ?? this.tripFuel,
      blockFuel: blockFuel ?? this.blockFuel,
      possibleExtra: possibleExtra ?? this.possibleExtra,
      totalTripTimeMinutes: totalTripTimeMinutes ?? this.totalTripTimeMinutes,
      taxiTimeMinutes: taxiTimeMinutes ?? this.taxiTimeMinutes,
      estimTotalFlightTime: estimTotalFlightTime ?? this.estimTotalFlightTime,
      takeOffFuel: takeOffFuel ?? this.takeOffFuel,
      takeOffFuelTime: takeOffFuelTime ?? this.takeOffFuelTime,
      averageTaxiFuelFlow: averageTaxiFuelFlow ?? this.averageTaxiFuelFlow,
      fuelOnBoard: fuelOnBoard ?? this.fuelOnBoard,
    );
  }

  factory Fuel.fromJson(Map<String, dynamic> json) {
    return Fuel(
      unitOfMeasure: json["unitOfMeasure"],
      tankCapacity: json["tankCapacity"],
      averageFuelFlow: json["averageFuelFlow"],
      taxiFuel: json["taxiFuel"],
      tripFuel: json["tripFuel"],
      blockFuel: json["blockFuel"],
      possibleExtra: json["possibleExtra"],
      totalTripTimeMinutes: json["totalTripTimeMinutes"],
      taxiTimeMinutes: json["taxiTimeMinutes"],
      estimTotalFlightTime: json["estimTotalFlightTime"],
      takeOffFuel: json["takeOffFuel"],
      takeOffFuelTime: json["takeOffFuelTime"],
      averageTaxiFuelFlow: json["averageTaxiFuelFlow"],
      fuelOnBoard: json["fuelOnBoard"] == null
          ? null
          : FuelOnBoard.fromJson(json["fuelOnBoard"]),
    );
  }

  Map<String, dynamic> toJson() => {
        "unitOfMeasure": unitOfMeasure,
        "tankCapacity": tankCapacity,
        "averageFuelFlow": averageFuelFlow,
        "taxiFuel": taxiFuel,
        "tripFuel": tripFuel,
        "blockFuel": blockFuel,
        "possibleExtra": possibleExtra,
        "totalTripTimeMinutes": totalTripTimeMinutes,
        "taxiTimeMinutes": taxiTimeMinutes,
        "estimTotalFlightTime": estimTotalFlightTime,
        "takeOffFuel": takeOffFuel,
        "takeOffFuelTime": takeOffFuelTime,
        "averageTaxiFuelFlow": averageTaxiFuelFlow,
        "fuelOnBoard": fuelOnBoard?.toJson(),
      };

  @override
  String toString() {
    return "$unitOfMeasure, $tankCapacity, $averageFuelFlow, $taxiFuel, $tripFuel, $blockFuel, $possibleExtra, $totalTripTimeMinutes, $taxiTimeMinutes, $estimTotalFlightTime, $takeOffFuel, $takeOffFuelTime, $averageTaxiFuelFlow, $fuelOnBoard, ";
  }
}

class FuelOnBoard {
  FuelOnBoard({
    required this.remainingFuel,
    required this.unitOfMeasure,
    required this.remainingFuelIndicator,
  });

  final int? remainingFuel;
  static const String remainingFuelKey = "remainingFuel";

  final String? unitOfMeasure;
  static const String unitOfMeasureKey = "unitOfMeasure";

  final dynamic remainingFuelIndicator;
  static const String remainingFuelIndicatorKey = "remainingFuelIndicator";

  FuelOnBoard copyWith({
    int? remainingFuel,
    String? unitOfMeasure,
    dynamic remainingFuelIndicator,
  }) {
    return FuelOnBoard(
      remainingFuel: remainingFuel ?? this.remainingFuel,
      unitOfMeasure: unitOfMeasure ?? this.unitOfMeasure,
      remainingFuelIndicator:
          remainingFuelIndicator ?? this.remainingFuelIndicator,
    );
  }

  factory FuelOnBoard.fromJson(Map<String, dynamic> json) {
    return FuelOnBoard(
      remainingFuel: json["remainingFuel"],
      unitOfMeasure: json["unitOfMeasure"],
      remainingFuelIndicator: json["remainingFuelIndicator"],
    );
  }

  Map<String, dynamic> toJson() => {
        "remainingFuel": remainingFuel,
        "unitOfMeasure": unitOfMeasure,
        "remainingFuelIndicator": remainingFuelIndicator,
      };

  @override
  String toString() {
    return "$remainingFuel, $unitOfMeasure, $remainingFuelIndicator, ";
  }
}

class Weight {
  Weight({
    required this.maxZfw,
    required this.maxTaxiWeight,
    required this.maxTakeOffWeight,
    required this.plannedZfw,
    required this.restrictedTakeOffWeight,
    required this.maxLandingWeight,
  });

  final int? maxZfw;
  static const String maxZfwKey = "maxZfw";

  final int? maxTaxiWeight;
  static const String maxTaxiWeightKey = "maxTaxiWeight";

  final int? maxTakeOffWeight;
  static const String maxTakeOffWeightKey = "maxTakeOffWeight";

  final int? plannedZfw;
  static const String plannedZfwKey = "plannedZfw";

  final int? restrictedTakeOffWeight;
  static const String restrictedTakeOffWeightKey = "restrictedTakeOffWeight";

  final int? maxLandingWeight;
  static const String maxLandingWeightKey = "maxLandingWeight";

  Weight copyWith({
    int? maxZfw,
    int? maxTaxiWeight,
    int? maxTakeOffWeight,
    int? plannedZfw,
    int? restrictedTakeOffWeight,
    int? maxLandingWeight,
  }) {
    return Weight(
      maxZfw: maxZfw ?? this.maxZfw,
      maxTaxiWeight: maxTaxiWeight ?? this.maxTaxiWeight,
      maxTakeOffWeight: maxTakeOffWeight ?? this.maxTakeOffWeight,
      plannedZfw: plannedZfw ?? this.plannedZfw,
      restrictedTakeOffWeight:
          restrictedTakeOffWeight ?? this.restrictedTakeOffWeight,
      maxLandingWeight: maxLandingWeight ?? this.maxLandingWeight,
    );
  }

  factory Weight.fromJson(Map<String, dynamic> json) {
    return Weight(
      maxZfw: json["maxZfw"],
      maxTaxiWeight: json["maxTaxiWeight"],
      maxTakeOffWeight: json["maxTakeOffWeight"],
      plannedZfw: json["plannedZfw"],
      restrictedTakeOffWeight: json["restrictedTakeOffWeight"],
      maxLandingWeight: json["maxLandingWeight"],
    );
  }

  Map<String, dynamic> toJson() => {
        "maxZfw": maxZfw,
        "maxTaxiWeight": maxTaxiWeight,
        "maxTakeOffWeight": maxTakeOffWeight,
        "plannedZfw": plannedZfw,
        "restrictedTakeOffWeight": restrictedTakeOffWeight,
        "maxLandingWeight": maxLandingWeight,
      };

  @override
  String toString() {
    return "$maxZfw, $maxTaxiWeight, $maxTakeOffWeight, $plannedZfw, $restrictedTakeOffWeight, $maxLandingWeight, ";
  }
}

class LidoBriefingData {
  LidoBriefingData({
    required this.briefingStatus,
  });

  final String? briefingStatus;
  static const String briefingStatusKey = "briefingStatus";

  LidoBriefingData copyWith({
    String? briefingStatus,
  }) {
    return LidoBriefingData(
      briefingStatus: briefingStatus ?? this.briefingStatus,
    );
  }

  factory LidoBriefingData.fromJson(Map<String, dynamic> json) {
    return LidoBriefingData(
      briefingStatus: json["briefingStatus"],
    );
  }

  Map<String, dynamic> toJson() => {
        "briefingStatus": briefingStatus,
      };

  @override
  String toString() {
    return "$briefingStatus, ";
  }
}

class CategoriesNames {
  CategoriesNames({
    required this.raim,
    required this.cda,
    required this.vertprof,
    required this.iwfr,
    required this.uad,
    required this.dms,
    required this.disp,
    required this.ats,
    required this.addwxnotam,
    required this.firnotam,
    required this.wxnotam,
    required this.advaa,
    required this.wxsatwx,
    required this.admtrtaf,
    required this.notam,
    required this.sigwxroute,
    required this.adsigmets,
    required this.radar,
    required this.adwxsatwx,
    required this.abd,
    required this.ofp,
    required this.vaatca,
    required this.tlr,
    required this.dismap,
    required this.crewinfo,
    required this.arptnotam,
    required this.adwxsigwx,
    required this.wxsigwx,
    required this.sfc,
  });

  final String? raim;
  static const String raimKey = "RAIM";

  final String? cda;
  static const String cdaKey = "CDA";

  final String? vertprof;
  static const String vertprofKey = "VERTPROF";

  final String? iwfr;
  static const String iwfrKey = "IWFR";

  final String? uad;
  static const String uadKey = "UAD";

  final String? dms;
  static const String dmsKey = "DMS";

  final String? disp;
  static const String dispKey = "DISP";

  final String? ats;
  static const String atsKey = "ATS";

  final String? addwxnotam;
  static const String addwxnotamKey = "ADDWXNOTAM";

  final String? firnotam;
  static const String firnotamKey = "FIRNOTAM";

  final String? wxnotam;
  static const String wxnotamKey = "WXNOTAM";

  final String? advaa;
  static const String advaaKey = "ADVAA";

  final String? wxsatwx;
  static const String wxsatwxKey = "WXSATWX";

  final String? admtrtaf;
  static const String admtrtafKey = "ADMTRTAF";

  final String? notam;
  static const String notamKey = "NOTAM";

  final String? sigwxroute;
  static const String sigwxrouteKey = "SIGWXROUTE";

  final String? adsigmets;
  static const String adsigmetsKey = "ADSIGMETS";

  final String? radar;
  static const String radarKey = "RADAR";

  final String? adwxsatwx;
  static const String adwxsatwxKey = "ADWXSATWX";

  final String? abd;
  static const String abdKey = "ABD";

  final String? ofp;
  static const String ofpKey = "OFP";

  final String? vaatca;
  static const String vaatcaKey = "VAATCA";

  final String? tlr;
  static const String tlrKey = "TLR";

  final String? dismap;
  static const String dismapKey = "DISMAP";

  final String? crewinfo;
  static const String crewinfoKey = "CREWINFO";

  final String? arptnotam;
  static const String arptnotamKey = "ARPTNOTAM";

  final String? adwxsigwx;
  static const String adwxsigwxKey = "ADWXSIGWX";

  final String? wxsigwx;
  static const String wxsigwxKey = "WXSIGWX";

  final String? sfc;
  static const String sfcKey = "SFC";

  CategoriesNames copyWith({
    String? raim,
    String? cda,
    String? vertprof,
    String? iwfr,
    String? uad,
    String? dms,
    String? disp,
    String? ats,
    String? addwxnotam,
    String? firnotam,
    String? wxnotam,
    String? advaa,
    String? wxsatwx,
    String? admtrtaf,
    String? notam,
    String? sigwxroute,
    String? adsigmets,
    String? radar,
    String? adwxsatwx,
    String? abd,
    String? ofp,
    String? vaatca,
    String? tlr,
    String? dismap,
    String? crewinfo,
    String? arptnotam,
    String? adwxsigwx,
    String? wxsigwx,
    String? sfc,
  }) {
    return CategoriesNames(
      raim: raim ?? this.raim,
      cda: cda ?? this.cda,
      vertprof: vertprof ?? this.vertprof,
      iwfr: iwfr ?? this.iwfr,
      uad: uad ?? this.uad,
      dms: dms ?? this.dms,
      disp: disp ?? this.disp,
      ats: ats ?? this.ats,
      addwxnotam: addwxnotam ?? this.addwxnotam,
      firnotam: firnotam ?? this.firnotam,
      wxnotam: wxnotam ?? this.wxnotam,
      advaa: advaa ?? this.advaa,
      wxsatwx: wxsatwx ?? this.wxsatwx,
      admtrtaf: admtrtaf ?? this.admtrtaf,
      notam: notam ?? this.notam,
      sigwxroute: sigwxroute ?? this.sigwxroute,
      adsigmets: adsigmets ?? this.adsigmets,
      radar: radar ?? this.radar,
      adwxsatwx: adwxsatwx ?? this.adwxsatwx,
      abd: abd ?? this.abd,
      ofp: ofp ?? this.ofp,
      vaatca: vaatca ?? this.vaatca,
      tlr: tlr ?? this.tlr,
      dismap: dismap ?? this.dismap,
      crewinfo: crewinfo ?? this.crewinfo,
      arptnotam: arptnotam ?? this.arptnotam,
      adwxsigwx: adwxsigwx ?? this.adwxsigwx,
      wxsigwx: wxsigwx ?? this.wxsigwx,
      sfc: sfc ?? this.sfc,
    );
  }

  factory CategoriesNames.fromJson(Map<String, dynamic> json) {
    return CategoriesNames(
      raim: json["RAIM"],
      cda: json["CDA"],
      vertprof: json["VERTPROF"],
      iwfr: json["IWFR"],
      uad: json["UAD"],
      dms: json["DMS"],
      disp: json["DISP"],
      ats: json["ATS"],
      addwxnotam: json["ADDWXNOTAM"],
      firnotam: json["FIRNOTAM"],
      wxnotam: json["WXNOTAM"],
      advaa: json["ADVAA"],
      wxsatwx: json["WXSATWX"],
      admtrtaf: json["ADMTRTAF"],
      notam: json["NOTAM"],
      sigwxroute: json["SIGWXROUTE"],
      adsigmets: json["ADSIGMETS"],
      radar: json["RADAR"],
      adwxsatwx: json["ADWXSATWX"],
      abd: json["ABD"],
      ofp: json["OFP"],
      vaatca: json["VAATCA"],
      tlr: json["TLR"],
      dismap: json["DISMAP"],
      crewinfo: json["CREWINFO"],
      arptnotam: json["ARPTNOTAM"],
      adwxsigwx: json["ADWXSIGWX"],
      wxsigwx: json["WXSIGWX"],
      sfc: json["SFC"],
    );
  }

  Map<String, dynamic> toJson() => {
        "RAIM": raim,
        "CDA": cda,
        "VERTPROF": vertprof,
        "IWFR": iwfr,
        "UAD": uad,
        "DMS": dms,
        "DISP": disp,
        "ATS": ats,
        "ADDWXNOTAM": addwxnotam,
        "FIRNOTAM": firnotam,
        "WXNOTAM": wxnotam,
        "ADVAA": advaa,
        "WXSATWX": wxsatwx,
        "ADMTRTAF": admtrtaf,
        "NOTAM": notam,
        "SIGWXROUTE": sigwxroute,
        "ADSIGMETS": adsigmets,
        "RADAR": radar,
        "ADWXSATWX": adwxsatwx,
        "ABD": abd,
        "OFP": ofp,
        "VAATCA": vaatca,
        "TLR": tlr,
        "DISMAP": dismap,
        "CREWINFO": crewinfo,
        "ARPTNOTAM": arptnotam,
        "ADWXSIGWX": adwxsigwx,
        "WXSIGWX": wxsigwx,
        "SFC": sfc,
      };

  @override
  String toString() {
    return "$raim, $cda, $vertprof, $iwfr, $uad, $dms, $disp, $ats, $addwxnotam, $firnotam, $wxnotam, $advaa, $wxsatwx, $admtrtaf, $notam, $sigwxroute, $adsigmets, $radar, $adwxsatwx, $abd, $ofp, $vaatca, $tlr, $dismap, $crewinfo, $arptnotam, $adwxsigwx, $wxsigwx, $sfc, ";
  }
}
