Your task is to create a Java program that models different types of eco-friendly products using inheritance. Your program should have a superclass called "Product" that contains common attributes of eco-friendly products such as name, brand, price, type, and eco-friendliness. You will also create five derived classes: "ClothingProduct," "SkincareProduct," "CleaningProduct," "ElectronicProduct," and "PlantProduct," each with their own unique attributes.

Additionally, you will create a class called "ProductInventory" that will manage an array of products. This class will have methods to add, remove, and search for products based on name, brand, or price.

	Objectives
•	Create a superclass with common attributes of eco-friendly products
•	Create derived classes with unique attributes and override a method to display all attributes
•	Create a class to manage an array of products with methods to add, remove, and search for products
•	Utilize inheritance to create derived classes and encapsulation to protect attributes of the classes

	Requirements
Your Java program should have the following classes:

	Product
•	Private attributes: Name (string), Brand (string), Price (float), Type (string), Eco-Friendly (boolean)
•	Public getters and setters for all attributes, and print_info() method that prints the values of all the attributes. 

	ClothingProduct
•	Inherits from Product
•	Additional private attributes: Size (string), Material (string), Color (string), Style (string)
•	Public getters and setters for all attributes.
•	Override the print_info() method to display all attributes.

	SkincareProduct
•	Inherits from Product
•	Additional private attributes: SkinType (string), TargetConcerns (array of strings), FragranceFree (boolean)
•	Public getters and setters for all attributes
•	Override the print_info() method to display all attributes

	CleaningProduct
•	Inherits from Product
•	Additional private attributes: SurfaceType (string), Scent (string), Biodegradable (boolean)
•	Public getters and setters for all attributes
•	Override the print_info() method to display all attributes

	ElectronicProduct
•	Inherits from Product
•	Additional private attributes: PowerSource (string), EnergyEfficient (boolean), SmartHomeCompatible (boolean)
•	Public getters and setters for all attributes
•	Override the print_info() method to display all attributes
	PlantProduct
•	Inherits from Product
•	Additional private attributes: PotType (string), SunlightNeeds (string), TypeOfPlant (string)
•	Public getters and setters for all attributes
•	Override the print_info() method to display all attributes

	ProductInventory
•	Private attribute: Products (array of Product objects)
•	Public methods:
•	add_product(product): adds a Product object to the array of products
•	remove_product(product): removes a Product object from the array of products
•	search_product(search_term): searches for a Product object in the array of products based on the product name and returns the full product information. If the product is not in the store then it should notify the user. 
•	All classes should implement default and overloaded constructors.


Your program should also allow the user to perform the following actions:
•	Display all eco-friendly products of a specific type (clothing, skincare, cleaning, electronic, or plant) in the product inventory, including all their attributes, using the print_info() method.
