Refactor the unstructured text into a valid JSON dictionary. The key names follow the Darwin Core Archive Standard. If a key lacks content, then insert an empty string. Fill in the following JSON structure as required: {"catalogNumber": "", "order": "", "family": "", "scientificName": "", "scientificNameAuthorship": "", "genus": "", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "", "recordNumber": "", "verbatimEventDate": "", "habitat": "", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}
   ) near port huron. -82.44219  K      ~P~ s.n. Salicaceae ~   POPULUS 4<:o   4 [at least 2 separate clones.][Active barcode. On same sheet as July 16 collec7ion with inactive barcode 1514716]  TNdB_ Populus tremuloides    Q A j.e. eckenwalder  abundant. damp or dry ground. 2    * michigan tremuloides `DT,    0 United States   131k7062 #    8)M st. clair
{"catalogNumber": "1317062", "order": "", "family": "Salicaceae", "scientificName": "Populus tremuloides", "scientificNameAuthorship": "", "genus": "Populus", "subgenus": "", "specificEpithet": "tremuloides", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "J.E. Eckenwalder", "recordedBy": "", "recordNumber": "s.n.", "verbatimEventDate": "", "habitat": "Abundant. Damp or dry ground.", "occurrenceRemarks": "[at least 2 separate clones.][Active barcode. On same sheet as July 16 collection with inactive barcode 1514716]", "associatedTaxa": "", "country": "United States", "stateProvince": "Michigan", "county": "St. Clair", "municipality": "", "locality": "Near Port Huron.", "decimalLatitude": "", "decimalLongitude": "-82.44219", "verbatimCoordinates": "", "minimumElevationInMeters": "", "maximumElevationInMeters": ""}