Tarifflo Logo
Home
Features
Pricing
Contact
ABI Type Reference/AACAPQAVSABSType

@repo/shared


@repo/shared / AACAPQAVSABSType

Interface: AACAPQAVSABSType

APHIS agricultural commodity PGA data for CBP entry summary filings.

Covers four APHIS programs: AAC (Animal Care), APQ (Plant Protection and Quarantine), AVS (Veterinary Services), and ABS (Biotechnology Regulatory Services). Required for imports of animals, plants, plant products, veterinary biologics, and genetically engineered organisms subject to APHIS permit and inspection requirements.

Properties

PropertyTypeDescription
aphisCommodityAge?stringPG10 A10 Age — animal age (free text or AGE codes from Appendix PGA). Per APH_AVS_013 etc.
aphisCommodityBreed?stringPG10 A11 Breed — animal breed code from Appendix PGA breed list.
aphisCommodityColor?stringPG10 A12 Color — animal color code from Appendix PGA color list.
aphisCommodityDescription?stringPG10 free-form attribute description for any qualifier that needs additional explanation. Up to 57 chars (PG10 positions 24-80).
aphisCommodityGender?"F" | "M" | "S" | "U" | "N"PG10 A13 Gender — F (Female), M (Male), U (Unknown), S (Spayed Female), N (Neutered Male).
aphisCommodityGestationalAge?stringPG10 A15 Gestational Age — when pregnant=Y, age of gestation.
aphisCommodityPregnant?booleanPG10 A14 Pregnant — Y/N flag indicating fertilized/pregnant/gestating status.
aphisCommodityProductMix?"SGL" | "MIX"PG10 A60 Type — SGL (single ingredient) or MIX (mixed). Required for AP0600 per APH_APQ_025.
aphisCommodityProtected?booleanPG10 A16 Protected Species — Y/N flag for protected species status.
arrivalDate?DateAnticipated arrival date or pre-clearance date in MMDDCCYY.
arrivalLocation?stringPort code or location identifier. When status=A: 4-char Schedule D CBP port code. When status=P: UN/LOCODE. Up to 50 chars (PG30 positions 22-71).
arrivalStatus?"A" | "P"Inspection/laboratory testing status: A (Anticipated arrival) or P (Pre-cleared). Per APHIS 12-24.pdf p.172: only A and P are valid for APHIS. inspectionOrArrivalLocationCode is encoder-inferred from this (A→2, P→3).
citation?stringPG60 CIT — citation text. Free-form. Encoder emits as PG60 CIT against the relevant entity.
commodityCategoryCode?| "ADD" | "11" | "12" | "21" | "22" | "23" | "10" | "20" | "1" | "2" | "3" | "5" | "6" | "7" | "8" | "AR" | "IN" | "NV" | "RI" | "9" | "14" | "15" | "16" | "17" | "18" | "19" | "26" | "311" | "EXP" | "C" | "SG" | "13" | "25" | "27" | "28" | "29" | "24" | "FG" | "INC" | "DDF" | "101" | "315" | "4" | "YFT" | "NOT" | "TRA" | "NDR" | "NFL" | "NGG" | "NRD" | "NST" | "NRS" | "AM" | "AW" | "CH" | "GM" | "MG" | "MV" | "RE" | "SI" | "SR" | "SS" | "TG" | "102" | "103" | "104" | "105" | "106" | "107" | "108" | "109" | "110" | "111" | "112" | "113" | "114" | "116" | "117" | "118" | "119" | "120" | "121" | "122" | "123" | "124" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "301" | "302" | "303" | "304" | "305" | "306A" | "306B" | "307A" | "307B" | "308" | "309A" | "309B" | "310" | "312" | "313" | "314" | "316" | "317" | "318" | "399" | "401" | "402" | "403" | "404" | "405" | "406" | "407" | "501" | "502" | "601" | "602" | "603" | "701" | "702A" | "702B" | "702C" | "703" | "704" | "705" | "706" | "707" | "708" | "709" | "710" | "711" | "712" | "713" | "714" | "715" | "716" | "717" | "718" | "719" | "720" | "721" | "722" | "723" | "724" | "725" | "726" | "727" | "728" | "729" | "801" | "802" | "803" | "1001" | "1002" | "1003" | "1004" | "1005" | "1006" | "1007" | "1008" | "1009" | "1010" | "1011" | "1012" | "ABL" | "AMM" | "AMP" | "AMX" | "AOW" | "AP" | "API" | "ARP" | "ARPP" | "AV" | "BAC" | "BBL" | "BMB" | "BMP" | "DD" | "DDE" | "DET" | "DETP" | "ESP" | "EXX" | "FP" | "FT" | "FWK" | "GMP" | "GRN" | "GRP" | "HTZ" | "IOW" | "LAU" | "LAUP" | "MAG" | "MIN" | "MINP" | "MIS" | "MISP" | "MSC" | "MTR" | "MTRP" | "MVP" | "NSA" | "NSG" | "NSP" | "NVP" | "NW" | "NWD" | "OCEP" | "PI" | "REC" | "ROC" | "ROCP" | "SBR" | "SBS" | "SREK" | "SSA" | "SSAP" | "SSAX" | "SSBL" | "SSP" | "SUB" | "SUBP" | "TOX" | "TRP" | "TRPP" | "UNK" | "WH" | "WHP" | "MVS1" | "MVS2" | "MVS3" | "MVS4" | "MVS5" | "MVS6" | "MVS7" | "MVS8" | "MVS9" | "REI1" | "REI2" | "REI3" | "REI4" | "REI5" | "REI6" | "REI7" | "REI8" | "REI9" | "REI10" | "REI11" | "REI12" | "REI13" | "TPE1" | "TPE2" | "TPE3" | "TPE4" | "TPE5" | "TPE6" | "TPE7" | "TPE8" | "TPE9" | "TPE10" | "TPE11" | "TPE12" | "TPE13" | "TPE14" | "TPE15" | "TPE16" | "TPE17" | "TPE18" | "OEI1" | "OFF1"APHIS commodity category code (sub-category within type). Valid values are filtered by commodityCategoryType per APH_AVS_011 / APH_AAC_011. Per APHIS 12-24.pdf p.135, PG10 pos 11-15.
commodityCategoryType?| "AP0100" | "AP0200" | "AP0300" | "AP0400" | "AP0500" | "AP0600" | "AP0700" | "AP0800" | "AP1000"APHIS commodity category type (top-level basket). AP0100 / AP0200 / AP0300 / AP0400 / AP0500 / AP0600 / AP0700 / AP0800 / AP1000. Per APHIS 12-24.pdf p.135, PG10 pos 5-10. Mandatory.
commodityRouting?{
     commodityPoliticalSubunitOfRoutingName?: string;
    commodityRoutingCountryCode?: | "AL" | "AZ" | "AR" | "CA" | "CO" | "DE" | "GA" | "ID" | "IL" | "IN" | "KY" | "LA" | "ME" | "MD" | "MA" | "MN" | "MS" | "MO" | "MT" | "NE" | "NC" | "PA" | "PR" | "SC" | "SD" | "TN" | "VA" | "VI" | "CR" | "AU" | "BH" | "CL" | "JO" | "JP" | "KR" | "MX" | "NP" | "OM" | "PE" | "SG" | "CN" | "ST" | "SE" | "BY" | "SH" | "PK" | "CZ" | "CW" | "FM" | "GD" | "VN" | "BN" | "TO" | "KW" | "EE" | "EG" | "PN" | "CI" | "BB" | "GN" | "PL" | "TL" | "AD" | "AE" | "AF" | "AG" | "AI" | "AM" | "AO" | "AS" | "AT" | "AW" | "BA" | "BD" | "BE" | "BF" | "BG" | "BI" | "BJ" | "BM" | "BO" | "BR" | "BS" | "BT" | "BU" | "BV" | "BW" | "BZ" | "CC" | "CD" | "CF" | "CG" | "CH" | "CK" | "CM" | "CU" | "CV" | "CX" | "CY" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GB" | "GE" | "GF" | "GH" | "GI" | "GL" | "GM" | "GP" | "GQ" | "GR" | "GT" | "GU" | "GW" | "GY" | "GZ" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "IE" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JM" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KV" | "KZ" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MC" | "MG" | "MH" | "MK" | "ML" | "MM" | "MP" | "MQ" | "MR" | "MU" | "MV" | "MW" | "MY" | "MZ" | "NA" | "NF" | "NG" | "NI" | "NL" | "NO" | "NR" | "NU" | "NZ" | "PF" | "PG" | "PH" | "PM" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TM" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VC" | "VE" | "VG" | "VU" | "WE" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
    commodityRoutingTypeCode?: "13" | "49" | "198";
}[]
Routing path of the commodity to the U.S. At least one row with type=198 required per APH_GLOBAL_060. Additional rows for type=49 (transit) or 13 (transshipment).
commonName?stringCommon name. Up to 75 chars. Mandatory per APH_GLOBAL_020.
consolidatorEntity?EntityReferenceCR — Consolidator. Optional.
containers?{
     containerLength?: number;
    containerNumber?: string;
    containerType?: "1" | "2";
}[]
Container information. Each entry produces one container slot in a PG27 record (3 per record). Per APHIS 12-24.pdf p.181: required when product is shipped via container.
correctionIndicator?"A" | "D" | "R"Correction indicator for filing corrections to previously submitted APHIS PGA data. A = Add, D = Delete, R = Replace. Per APHIS 12-24.pdf, PG01: position 79, Conditional (C). Only set on correction filings.
cropGrowerEntity?EntityReferenceDFI — Crop Grower. Required when categoryType = AP0800 (Cut Flowers).
customsBrokerEntity?EntityReferenceCB — Customs Broker. At least one of CB or IM required. PG19+PG20+PG21.
deboningOrigin?APHISOriginEntryCountry of deboning (Source Type CDB). Used by AVS.
disclaimer?"A" | "B"Disclaimer code. APHIS allows A, B, D only — code "C" forbidden per APH_GLOBAL_003. When set, only OI and PG01 are submitted (per APHIS 12-24.pdf p.103). Per APHIS 12-24.pdf, PG01: position 80, Conditional (C).
electronicImageSubmittedFlag?booleanWhether an electronic image has been submitted via DIS (Document Image System). Per APHIS 12-24.pdf, PG01: position 17, Conditional (C).
govAgencyProcessingCode?"A01" | "A02" | "A03" | "A04" | "A05"Government Agency Processing Code indicating the specific APHIS processing site. A01 = CBP Agriculture, A02 = APHIS Plant Inspection Station, A03 = APHIS Pre-Clearance, A04 = APHIS VS Port Veterinarian, A05 = APHIS VS Animal Import Center. Per APHIS 12-24.pdf, PG01: positions 14-16, Optional (O). Allowed values are filtered by govAgencyProgramCode at the dropdown level.
govAgencyProgramCode?"AAC" | "APQ" | "AVS" | "ABS"Government Agency Program Code identifying which APHIS program applies. AAC = Animal Care, APQ = Plant Protection and Quarantine, AVS = Veterinary Services, ABS = Biotechnology Regulatory Services. Per APHIS 12-24.pdf, PG01: positions 11-13, Mandatory (M).
growerDistributorEntity?EntityReferenceGD — Producer/Grower Distributor. Optional; warning-level under APH_APQ_028.
harvestOrigin?APHISOriginEntryCountry of harvest (Source Type HRV). Used by APQ and ABS. Treatment fields realistic when paired with an A05 Treatment Certificate LPCO (APH_APQ_003 + Appendix APH-A treatment matrices per category type).
importerEntity?EntityReferenceIM — Importer. At least one of CB or IM required. PG19+PG20+PG21.
intendedUseCode?stringIntended Use Code from Appendix R / Appendix PGA. Free-text input; finite enumerated list lives in Appendix PGA Intended Use Codes. Per APHIS 12-24.pdf, PG01: positions 42-57, up to 16 chars, Mandatory (M) per APH_GLOBAL_002. Wire format: base+sub code without period (e.g. "010001" for 010.001).
intendedUseDescription?stringFree-form description expanding on the intended use code. Required when intendedUseCode is "For Other Use" (980.000). Per APHIS 12-24.pdf, PG01: positions 58-78, up to 21 chars, Conditional (C).
itemIdentification?{
     numbers?: {
         itemIdNumber?: string;
    }[];
    qualifier?: "NMT" | "BND" | "BRD" | "CHP" | "LAT" | "RID" | "SRX" | "SRY" | "TO";
}[]
Item identity entries. Each entry produces one PG07 record + chunked PG08 numbers. Required when commodityCategoryType = AP0100 (Live Animals) per APH_AVS_006. Multiple entries when an animal carries multiple ID types (e.g. tag + microchip). Numbers are stored as [{ itemIdNumber: string }] to satisfy the config-map array shape; the AbiStringArray chip component converts between this state shape and a flat string[] UI representation at the dispatch edge.
labTestReportAccessKey?stringPG60 CP3 — Lab test report access key. Encoder emits as PG60 CP3 against PG19 LAP.
labTestReportNumber?stringPG60 CP1 — Lab test report number. Free-form. Encoder emits as PG60 CP1 against PG19 LAP.
labTestReportUrl?stringPG60 CP2 — Lab test report URL. Encoder emits as PG60 CP2 against PG19 LAP.
lpcoAuthorizedPartyEntity?EntityReferenceLAP — LPCO Authorized Party. Required when ≥1 LPCO present per APH_APQ_013.
lpcos?{
     lpcoDate?: Date;
    lpcoIssuerCountry?: | "AL" | "AZ" | "AR" | "CA" | "CO" | "DE" | "GA" | "ID" | "IL" | "IN" | "KY" | "LA" | "ME" | "MD" | "MA" | "MN" | "MS" | "MO" | "MT" | "NE" | "NC" | "PA" | "PR" | "SC" | "SD" | "TN" | "VA" | "VI" | "CR" | "AU" | "BH" | "CL" | "JO" | "JP" | "KR" | "MX" | "NP" | "OM" | "PE" | "SG" | "CN" | "ST" | "SE" | "BY" | "SH" | "PK" | "CZ" | "CW" | "FM" | "GD" | "VN" | "BN" | "TO" | "KW" | "EE" | "EG" | "PN" | "CI" | "BB" | "GN" | "PL" | "TL" | "AD" | "AE" | "AF" | "AG" | "AI" | "AM" | "AO" | "AS" | "AT" | "AW" | "BA" | "BD" | "BE" | "BF" | "BG" | "BI" | "BJ" | "BM" | "BO" | "BR" | "BS" | "BT" | "BU" | "BV" | "BW" | "BZ" | "CC" | "CD" | "CF" | "CG" | "CH" | "CK" | "CM" | "CU" | "CV" | "CX" | "CY" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EH" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FK" | "FO" | "FR" | "GB" | "GE" | "GF" | "GH" | "GI" | "GL" | "GM" | "GP" | "GQ" | "GR" | "GT" | "GU" | "GW" | "GY" | "GZ" | "HK" | "HM" | "HN" | "HR" | "HT" | "HU" | "IE" | "IO" | "IQ" | "IR" | "IS" | "IT" | "JM" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KV" | "KZ" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MC" | "MG" | "MH" | "MK" | "ML" | "MM" | "MP" | "MQ" | "MR" | "MU" | "MV" | "MW" | "MY" | "MZ" | "NA" | "NF" | "NG" | "NI" | "NL" | "NO" | "NR" | "NU" | "NZ" | "PF" | "PG" | "PH" | "PM" | "PT" | "PW" | "PY" | "QA" | "RE" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SI" | "SJ" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "SV" | "SX" | "SY" | "SZ" | "TC" | "TD" | "TF" | "TG" | "TH" | "TJ" | "TK" | "TM" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "UM" | "US" | "UY" | "UZ" | "VC" | "VE" | "VG" | "VU" | "WE" | "WF" | "WS" | "YE" | "YT" | "ZA" | "ZM" | "ZW";
    lpcoIssuerRegion?: string;
    lpcoNumberOrName?: string;
    lpcoQuantity?: number;
    lpcoType?: | "A10" | "A11" | "A12" | "A13" | "A14" | "A15" | "A16" | "A20" | "A21" | "A30" | "A31" | "A32" | "AE1" | "A01" | "A02" | "A03" | "A05" | "A6A" | "A6B" | "A07" | "A09" | "A17" | "A18" | "A19" | "A22" | "A23" | "A24" | "A25" | "A26" | "A27" | "A28" | "A29" | "A33" | "A34" | "A35" | "A36" | "A37";
    lpcoUnitOfMeasure?: "L" | "G" | "KG" | "ML" | "NO";
}[]
License/Permit/Certificate/Other (LPCO) documents. Each entry produces a paired PG13 + PG14. Per APH_APQ_011 / APH_AVS_020 / APH_AAC_015 / ABS analog: at least one LPCO Type matching the chosen (program, categoryType) is mandatory — enforced by LPCO_PROGRAM_MANDATES. ENCODER-INFERRED FIELDS (not on this shape): - lpcoType drives PG14 lpcoDateQualifier per APHIS 12-24 p.142 (LPCO_TYPE_TO_DATE_QUALIFIER). - PG13 lpcoIssuerGovernmentGeographicCodeQualifier is hardcoded "ISO" (APHIS 12-24 p.271). - PG14 lpcoTransactionType is hardcoded "1" (Single Use) — APH_GLOBAL_014 mandates this for AAC and every example filing in the spec uses it.
manipulationOrigin?APHISOriginEntryCountry of manipulation (Source Type CMN). Used by AVS.
manufacturerEntity?EntityReferenceMF — Manufacturer. Optional; warning-level under APH_APQ_028 for some category combinations.
meatCuttingOrigin?APHISOriginEntryCountry of meat cutting (Source Type 244). Used by AVS.
offshoreGreenhouseEntity?EntityReferenceAG1 — Offshore Greenhouse. For OGCP-certified facilities (AP0400 + categoryCode 404).
origins?APHISOrigin[]Free-form generic origins array (PG06). Canonical input mode for commodityCategoryType === "AP0700". APHIS explicitly states "Currently AP0700 Misc. Process Products can use any Source Type Code" (APHIS 12-24 p.325, APH_APQ_003 carve-out), so the spec demands a free-form source-type-per-row entry rather than the fixed-code named slots above. The named slots are render-suppressed under AP0700 — array and named slots never coexist in the UI.
packaging?{
     quantity?: number;
    unitOfMeasure?: | "CT" | "FL" | "M" | "BH" | "L" | "G" | "CS" | "DR" | "BG" | "CG" | "CX" | "KG" | "MG" | "ML" | "NO" | "M2" | "M3" | "AMU" | "BL" | "BQT" | "BX" | "PKG" | "PO" | "PTU" | "SAD" | "SLF" | "STM" | "TWR" | "T";
}[]
Packaging quantities at each level. Up to 3 rows per APH_GLOBAL_068. Per APH_GLOBAL_072: at least one row must use grams (G) or kilograms (KG). Per APH_GLOBAL_073: no duplicate UOMs across rows. packagingQualifier (1..3) is encoder-inferred from row index — not user input.
packerEntity?EntityReferencePCK — Packer. Optional; warning-level under APH_APQ_028.
packingOrigin?APHISOriginEntryCountry of packing (Source Type CPK). Used by AVS.
permittedDestinationEntity?EntityReferenceAPD — Permitted Destination. Required when categoryCode begins with "307" per APH_AVS_021.
placeOfGrowth?APHISOriginEntryPlace of growth (Source Type 262). Used by APQ and ABS to identify where the plant was grown. Country + state/province (mandatory if MX/CA per APH_APQ_030).
placeOfPacking?APHISOriginEntryPlace of packing (Source Type 256). Used by AVS.
processingOrigin?APHISOriginEntryCountry of processing (Source Type CPR). Used by AVS.
producerEntity?EntityReferencePRO — Producer. Optional; warning-level under APH_APQ_028.
productCodes?APHISProductCodePair[]Product code pairs. Up to 3 (qualifier, number) pairs per APHIS 12-24.pdf PG02 record. Encoder always emits PG02 with itemType="P" (single product per line).
productionOrigin?APHISOriginEntryCountry of production (Source Type 39). Used by AVS — alternative to 267 for animal products. At least one of {267, 39} required for AVS + AP0300 per APH_AVS_026.
remarks?{
     embassyRelatedToImporter?: boolean;
    embassyRelatedToImporterText?: string;
    pestEstablishment?: "A53" | "A54";
    pestEstablishmentText?: string;
}
Optional remarks. The encoder emits one PG24 record per populated slot (pestEstablishment, embassyRelatedToImporter), each with a hardcoded remarksTypeCode = "GEN" — the only APHIS-applicable type code per Appendix PGA p.294. Free-form text is optional for every code (A53/A54 are self-describing pest establishment assertions; NEM is a flag).
remarks.embassyRelatedToImporter?booleanWhen true, encoder emits a PG24 with Remarks Code = NEM ("Embassy related to the Importer").
remarks.embassyRelatedToImporterText?stringFree-form remarks text accompanying the NEM record. Up to 68 chars (PG24 pos 13-80).
remarks.pestEstablishment?"A53" | "A54"A53 = Pests are established in the U.S.; A54 = Pests are not established. Mutually exclusive.
remarks.pestEstablishmentText?stringFree-form remarks text accompanying the pest establishment code. Up to 68 chars (PG24 pos 13-80).
researcherEntity?EntityReferenceRCH — Researcher / Re-handler. Optional.
scientificGenusName?stringScientific genus name (PG05). Up to 30 chars. Conditional per program / category type.
scientificSpeciesName?stringScientific species name (PG05). Up to 30 chars. Conditional.
scientificSubSpeciesName?stringScientific subspecies/variety (PG05). Up to 30 chars. Conditional.
shipperEntity?EntityReferenceDEQ — Shipper. Optional, allowed in any APHIS filing.
slaughterEstablishmentEntity?EntityReferenceSLA — Slaughter Establishment. Optional; relevant for AP0200/AP0300 (animal products).
slaughterOrigin?APHISOriginEntryCountry of slaughter (Source Type 243). Used by AVS for animal products.
slicingOrigin?APHISOriginEntryCountry of slicing (Source Type CSL). Used by AVS.
sourceOrigin?APHISOriginEntryCountry of source (Source Type 30). Used by AVS — generic source descriptor.
speciesOrigin?APHISOriginEntryCountry of species origin (Source Type 267). Required for AAC always (APH_AAC_003 — only valid code), APQ when category type ∈ {AP0100, AP0300, AP1000}, AVS when category type ∈ {AP0100, AP0300} unless productionOrigin is populated (APH_AVS_026), and ABS. Treatment fields realistic for AAC's AVRAB (rabies vaccination) pre-arrival.
storageOrigin?APHISOriginEntryCountry of storage (Source Type CST). Used by ABS only — biotechnology containment / storage location.
ultimateConsigneeEntity?EntityReferenceUC — Ultimate Consignee. Mandatory always. PG19+PG20 only.
← Back to ABI Type Reference
Tarifflo Logo

AI-driven trade automation platform
for modern companies.

Platform

Classifications
ABI Filing
API Access

Company

Contact

Resources

Help Center

Legal

Privacy
Terms

© 2026 Tarifflo, Inc. All rights reserved.