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": ""}
 ANDROSACE PR<IMULOIDES !x  THAKUR RUP CHAND    ERICALES Hyt  304S8 N*m!   DRY SLOPE TbP          1933-08-12 o^M~      /T 1515045     primulaceae q,uT   androsace  TI9z  
{"catalogNumber": "1515045", "order": "Ericales", "family": "Primulaceae", "scientificName": "Androsace primuloides", "scientificNameAuthorship": "", "genus": "Androsace", "subgenus": "", "specificEpithet": "", "verbatimTaxonRank": "", "infraspecificEpithet": "", "identifiedBy": "", "recordedBy": "Thakur Rup Chand", "recordNumber": "", "verbatimEventDate": "1933-08-12", "habitat": "Dry slope", "occurrenceRemarks": "", "associatedTaxa": "", "country": "", "stateProvince": "", "county": "", "municipality": "", "locality": "", "decimalLatitude": "", "decimalLongitude": "", "verbatimCoordinates": "", "minimumElevationInMeters": "3048", "maximumElevationInMeters": ""}