Problem with function-definition

I have been creating a hydroponics system and I am almost done. I am using a ESP32 as my board and am having problems. This is my first time creating a code just by itself and I really can’t take much credit for it because I just put a lot of different code together. Anyways at line 96 that function-definition isn’t allowed. Please help and if possible I would be very thankful if someone could help me change the ESP32 going to a website. I would rather it go to the Blynk app.

#include <DHT.h>; #define DHTPIN 2 #define DHTTYPE DHT22 #include <WiFi.h> #include <PubSubClient.h> #include <LiquidCrystal.h> DHT dht(DHTPIN, DHTTYPE); //Your information const char* ssid = "SSID"; //Your SSID to your network const char* password = "password"; //Your password to your network const char* mqtt_server = "broker.mqtt-dashboard.com"; //Change from MQTT server if wanted #define mqtt_port 1883 #define MQTT_USER "mqtt username" #define MQTT_PASSWORD "mqtt password" #define MQTT_SERIAL_PUBLISH_CH "/ic/esp32/serialdata/uno/" WiFiClient wifiClient; PubSubClient client(wifiClient); void setup_wifi() { delay(10); // We start by connecting to a WiFi network Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); //Do not change these values WiFi.begin(ssid, password); //These variables stay the same while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } randomSeed(micros()); Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); } void reconnect() { // Loop until we're reconnected while (!client.connected()) { Serial.print("Attempting MQTT connection..."); client.publish("outTopic", "hello world"); // Create a random client ID String clientId = "ESP32Client-"; clientId += String(random(0xffff), HEX); // Attempt to connect if (client.connect(clientId.c_str(),MQTT_USER,MQTT_PASSWORD)) { Serial.println("connected"); //Once connected, publish an announcement... client.publish("/ic/presence/esp32/", "hello world"); } else { Serial.print("failed, rc="); Serial.print(client.state()); Serial.println(" try again in 5 seconds"); // Wait 5 seconds before retrying delay(5000); } } } void setup() { Serial.begin(115200); Serial.setTimeout(500);// Set time out for setup_wifi(); client.setServer(mqtt_server, mqtt_port); reconnect(); } void publishSerialData(char *serialData){ if (!client.connected()) { reconnect(); } client.publish(MQTT_SERIAL_PUBLISH_CH, serialData); } void loop() { client.loop(); if (Serial.available() > 0) { char bfr[501]; memset(bfr,0, 501); Serial.readBytesUntil( '\n',bfr,500); publishSerialData(bfr); #include <LiquidCrystal.h> LiquidCrystal lcd(22,23,5,18,19,21); int chk; float hum; //Stores humidity value float temp; //Stores temperature value //Check to see if initializer goes before loop wiithout variable void setup() { Serial.begin(9600); dht.begin(); //Read and store hum = dht.readHumidity(); temp= dht.readTemperature(); //Print temp and humidity values to serial monitor //Change serial monitor to text document Serial.print("Humidity: "); Serial.print(hum); Serial.print(" %, Temp: "); Serial.print(temp); Serial.println(" Farenheit"); delay(2000); //Delay set as value // initialize serial communication at 9600 bits per seconds or set values Serial.begin(9600); // read the input on analog pin 0: int sensorValue = analogRead(A0); // print out the value you read: Serial.println(sensorValue); delay(2); // delay in between reads for stability int mosfetPin = 2; pinMode(mosfetPin, OUTPUT); digitalWrite(mosfetPin, HIGH); delay(60000); digitalWrite(mosfetPin, LOW); delay(5000); } void setup() { lcd.begin(16, 2); lcd.clear(); lcd.print("How to Interface"); // go to row 1 column 0, note that this is indexed at 0 lcd.setCursor(0,1); lcd.print ("LCD with ESP32"); } void loop(){} } }

Never mind I figured it out