// File: contracts/traists/Trait4.sol



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "./TraitBase.sol";

// Clothe
contract Trait4 is TraitBase {
	constructor(address factory) TraitBase("Clothe", factory) {
		items.push(
			Item(
				"Rain Coat",
				'<style>.z7{fill:#303030}.y7{fill:#FFA6D8}</style><path d="M385,731c0,0,151,75,277-9l65,330l-386,5L385,731z" class="s y7"/><path d="M409,627c-261,140-253,415-253,415l281,25L409,627z" class="s d z7"/><path d="M432.5,617.5l-65.91,45.22c-10.05,6.89-10.66,21.5-1.23,29.21l90.57,93.59c8.15,8.42,13.24,19.32,14.47,30.97l27.08,255.78L354,1061c0,0-66.53-158.07-77.27-186.85c-10.74-28.78,52.77-51.65,46.77-67.65c-4.1-10.94-46-91-61-126C248.64,648.15,411.36,597.65,432.5,617.5z" class="s z7"/><path d="M617,615l27,446l237-20C853,763,714.7,663.85,617,615C609,611,617,615,617,615" class="s z7"/><path d="M599.64,617.74l65.91,45.22c10.05,6.89,10.66,21.5,1.23,29.21l-89.37,90.29c-8.36,8.45-13.6,19.48-14.88,31.29l-27.87,258.75L697,1058c0,0,47.67-154.82,58.41-183.6c10.74-28.78-52.77-51.65-46.77-67.65c4.1-10.94,46-91,61-126C783.51,648.4,620.78,597.9,599.64,617.74z" class="s z7"/>'
			)
		);
		items.push(
			Item(
				"Long Sleeve T-Shirt",
				'<style>.z7{fill:#FFFFFF}.y7{fill:#A4A4F4}.x7{fill:#F4DA5B}</style><path d="M795,1034c0,0,98-414-277-409c-377.97,5.04-276,414-276,414" class="s d z7"/><path d="M299,690c0,0-101.77,102.83-134,201c-25.63,78.05-29,151-29,151l203-5l22-148" class="s d z7"/><path d="M755,700c0,0,53.86,46.13,103,167c37,91,46,167,46,167H696l-22-146" class="s d z7"/><path d="M293,1037l23-123l-193-16c0,0,71.73-229,215.37-228.5c0,0,185.63,173.5,350.13-8C725,655,835,693,896,873l-166,36l22,125L293,1037z" class="s d y7"/><path d="M351,887c0,0-22,63-28,148" class="s e d"/><path d="M690,883c0,0,22,50,24,147" class="s e d"/><path d="M522,816c7.77,15.12,78-50,43,37c0,0,76,25,4,51c0,0,18,84-44,27c0,0-50,67-54-3c0,0-90,24-23-50c0,0-65.12-75,22.44-55C470.44,823,486,746,522,816z" class="s d z7"/><circle cx="511" cy="873" r="31" class="s d x7"/>'
			)
		);
		items.push(
			Item(
				"Hoody",
				'<style>.z7{fill:#00FFEC}.y7{fill:#FFFFFF}</style><path d="M793,1051c0,0,35.53-437.52-278-432c-297,5.23-265,430.95-265,430.95" class="s d z7"/><path d="M371,857c17,122-34,194-34,194H111c0,0,18-255,176-370c64.25-46.76,57.55,106.58,213,97.35" class="s d z7"/><path d="M533.09,774.45C699.88,747.17,698.55,637.31,721,662c40,44,198,150,186,389H769c0.01,0,5-124-44-208" class="s d z7"/><path d="M526,798c126-1,186.69-50.58,236-74c40-19,30-63,0-63c0,0,17.93-81.64-65-63c0,0-18,94-154,118s-202-93-202-93s-84-15-78,58c0,0-56,0-46,50c6.45,32.26,50.68,20.87,89,30C381.6,779.02,480.19,798.36,526,798z" class="s d z7"/><path d="M577.5,755.5c0,0,34,37,26,87s10,77,10,77" class="s e d"/><path d="M487.5,762.5c0,0-26,53,0,100c20.21,36.54,0,66,0,66" class="s e d"/><path d="M499.21,953.29c-4.87,12.33-13.7,10.46-23.21,6.71s-16.07-7.96-11.21-20.29s16.51-19.28,26.02-15.53C500.31,927.93,504.07,940.96,499.21,953.29z" class="s d y7"/><path d="M638.02,917.25c6.63,11.48-1.17,16.64-10.02,21.75s-15.39,8.23-22.02-3.25c-6.63-11.48-4.83-24.93,4.02-30.03S631.39,905.77,638.02,917.25z" class="s d y7"/>'
			)
		);
		items.push(
			Item(
				"Sweater",
				'<style>.z7{fill:#64B3FF}.y7{fill:#FFFFFF}.x7{stroke:#FFFFFF}</style><path d="M793,1032c0,0,35.53-410.13-278-404.95c-297,4.9-265,403.97-265,403.97" class="s d z7"/><path d="M366,944c0,0,146,64,288,0" class="s e d x7"/><circle cx="406" cy="860" r="9" style="fill:#FFFFFF"/><circle cx="444" cy="923" r="9" style="fill:#FFFFFF"/><circle cx="502" cy="869" r="9" style="fill:#FFFFFF"/><circle cx="565" cy="923" r="9" style="fill:#FFFFFF"/><circle cx="616" cy="862" r="9" style="fill:#FFFFFF"/><path d="M349,836c13,124-34.18,196-34,196s-192.96,0-192.94,0c0.06,0-29.75-188.09,65-233c75.94-36,55-83,110-135s145,0,211,0" class="s d z7"/><path d="M532.18,664c66,0,156-52,211,0s34.06,99,110,135c94.75,44.91,65.18,233,65,233c-0.06,0-197.89,0-198.18,0c0,0-45-60-33-196" class="s d z7"/><path d="M371,785c0,0,113,99,286,12" class="s e d x7"/><path d="M506,627c-76,1-171.84-52.99-180,47c-8,98,156,113,195,112s204-29,193-118S616.99,625.54,506,627z" class="s d z7"/>'
			)
		);
		items.push(
			Item(
				"Jacket",
				'<style>.z7{fill:#69DCFF}</style><path d="M790,1033c0,0,37.53-417.28-276-412c-297,5-265,412-265,412" class="s d z7"/><path d="M320,685c-24-8-105,49-106,92c0,0-57,69-58,122c0,0-57,72-45,136l205.86-0.93C345,975,348,929,348,929" class="s d z7"/><path d="M214,777c0,0,30,34,82,35" class="s e d"/><path d="M156,899c0,0,33,35,85,31" class="s e d"/><path d="M710.26,691c24-8,105,49,106,92c0,0,57,69,58,122c0,0,54,64,42,128H726c0-61-22-106-22-106" class="s d z7"/><path d="M816,783c0,0-27,32-64,40" class="s e d"/><path d="M874,905c0,0-41,37-69,38" class="s e d"/><line x1="501" y1="750" x2="509.57" y2="1030.5" class="s e d"/><path d="M350.19,642C340,656,391,685,459,704c38.57,10.78,63,18.93,63,46c0,37-57,36-145,11s-109.86-110-38.93-143.5L350.19,642z" class="s d z7"/><path d="M677,637c4,15-53,56-104,60s-83,13-83,34c0,39,0,85,164,19c135.54-54.55,56.1-134,34.05-132.5L677,637z" class="s d z7"/>'
			)
		);
		items.push(
			Item(
				"Biker Jacket",
				'<style>.z7{fill:#303030}.y7{fill:#FFFFFF}.x7{fill:#F4DA5B}</style><path d="M790,1033c0,0,37.53-417.28-276-412c-297,5-265,412-265,412" class="s d z7"/><path d="M619,719.5c0,31.76-30.98,321.5-84,321.5S427,751.26,427,719.5s42.98-57.5,96-57.5S619,687.74,619,719.5z" class="s d y7"/><path d="M362,655c0,0-124.93,64.24-165,157c-54,125-60,223-60,223l174-3c0,0,2-80,30-145" class="s d z7"/><path d="M261.76,764c0,0-68-87-52-89s89,43,89,43C287.76,751,261.76,764,261.76,764z M243.63,785.57c0,0-82.51-23.35-97.36-17.06c-14.85,6.29,74.33,71.42,74.33,71.42S242.06,820.32,243.63,785.57z M207.01,864.27c0,0-84.44-14.96-98.58-7.21c-14.14,7.75,81.12,63.6,81.12,63.6S208.94,899,207.01,864.27z" class="s d y7"/><path d="M427,617c-4.93-3.12-116.79-2-150.79,25s99,82,99,82s-39.95,25.73-28,45C359,788,503,1083,524,1089S457,636,427,617z" class="s d z7"/><line x1="385" y1="767" x2="518" y2="1032" class="s d"/><path d="M676,653c0,0,97.34,53.28,159,170c56,106,69,211,69,211l-176-2c0,0-2-90-24-149" class="s d z7"/><path d="M737,721c0,0,73-45,89-43s-52,89-52,89S748,754,737,721z M815.17,842.93c0,0,89.17-65.12,74.33-71.42c-14.85-6.29-97.36,17.06-97.36,17.06C793.71,823.32,815.17,842.93,815.17,842.93z M847.21,923.66c0,0,95.26-55.85,81.12-63.6c-14.14-7.75-98.58,7.21-98.58,7.21C827.83,902,847.21,923.66,847.21,923.66z" class="s d y7"/><path d="M612,616c4.93-3.12,111-1,145,26s-99,82-99,82s38.46,24.89,28,45c-13,25-127,315-148,321S582,635,612,616z" class="s d z7"/><line x1="654" y1="767" x2="530" y2="1071" class="s d"/>'
			)
		);
		items.push(
			Item(
				"Dalmation Furry Coat",
				'<style>.z7{fill:#FFA6D8}.y7{fill:#FFFFFF}</style><path d="M821,1039c0,0,86-12,86-82s-66-56-66-56s66-79-20-105c0,0,16-83-55-92c0,0-13.94-99.87-116-53c-98,45-177,35-199,146S318,1203,821,1039z" class="s d y7"/><path d="M611.53,790.19c-30.43-0.1,19.98-102.11,40.92-92.54C673.39,707.22,681.25,790.42,611.53,790.19z M706.6,825.01c-21.29,3.28-43.18,47.43-20.24,55.09c22.94,7.67,22.57-15.87,64.31,20.05C772.35,918.81,781.33,813.49,706.6,825.01zM798.85,829.84c-6.18-4.17-16.32,0.06-22.66,9.44s-6.46,20.37-0.28,24.54s16.32-0.06,22.66-9.44C804.91,845,805.03,834.02,798.85,829.84z M674.18,793.51c-7.45,0.17-13.29,9.48-13.03,20.8c0.26,11.32,6.51,20.36,13.96,20.19s13.29-9.48,13.03-20.8C687.88,802.38,681.63,793.34,674.18,793.51z M726.44,762.46c-9.09-2.34-19.34,6.96-22.9,20.76c-3.55,13.81,0.94,26.89,10.03,29.23c9.09,2.34,19.34-6.96,22.9-20.76S735.53,764.8,726.44,762.46z M780.52,779.98c-8.01-4.9-20.53,1-27.97,13.16c-7.43,12.16-6.97,25.99,1.04,30.89c8.01,4.9,20.53-1,27.97-13.16C789,798.71,788.53,784.88,780.52,779.98z M851,947c-1-23-67.25-26.95-53.49,0.19C829.01,1009.39,852,970,851,947z M713.6,922.84c-33.81-27.47-73.09,16.86-44.5,49.41c28.59,32.55,120.8,14.58,102.62-24.12C761.35,926.03,747.42,950.32,713.6,922.84z M732,697c-1-23-67.25-26.95-53.49,0.19C710.01,759.39,733,720,732,697z"/><path d="M214,1039c0,0-86-12-86-82s66-56,66-56s-72-78,20-105c0,0-16-83,55-92c0,0,7.68-82.68,116-53c73,20,177.3,27.35,196,126C621,988,796,1175,214,1039z" class="s d y7"/><path d="M493,878c-47,37-82.13-8.17-66-26C465,810,540,841,493,878z M243.02,801.9c-23.04,48.95,79.58,25.45,94.93-23.23C353.3,730,263.16,759.12,243.02,801.9z M247,945c-7,43,51,55,65,14s-47.48-112.03-72-77C226,902,254,902,247,945z M392.12,789.1c-22.96-1.65-34.51,63.7-5.96,53.16C451.56,818.11,415.08,790.75,392.12,789.1z M184.12,928.1c-22.96-1.65-34.51,63.7-5.96,53.16C243.56,957.11,207.08,929.75,184.12,928.1z M408,921c-51-20-35.08,44.16-15,54c51,25,137-32.3,104-61C474,894,468.83,944.86,408,921z M383,755c14,26,93,36.84,93,15c0-34-32.73-13.62-61-46s-100.56-45.7-100-20C316,750,369,729,383,755z"/><circle cx="533" cy="777" r="20" class="s d z7"/><circle cx="557" cy="871" r="20" class="s d z7"/><circle cx="584" cy="969" r="20" class="s d z7"/><path d="M327,889l48-27c0,0-62,100-37,167" class="s e d"/>'
			)
		);
		items.push(
			Item(
				"Bullet Proof Vest",
				'<style>.z7{fill:#303030}.y7{fill:#4F4F4F}.x7{fill:#F4DA5B}</style><path d="M778,1031c0,0,57.57-406.97-256-406c-324,1-272,408-272,408" class="s d y7"/><path d="M342,667c0,0-70,30-124,135c-55.63,108.18-62,231-62,231h157c0,0,6-122,50-192" class="s d y7"/><path d="M187.07,850.8c5.14-7.54,15.07-10.07,23.25-6.02C224.8,851.94,243.74,868.3,238,904c-5.98,37.18-35.18,46.95-54.14,49.31c-10.21,1.27-19.54-5.92-21.03-16.1C160.21,919.34,161.46,888.35,187.07,850.8z" class="s d z7"/><path d="M686,660c0,0,67,40,115,144c47.36,102.61,50,228,50,228l-124-1c0,0-8-131-61-200" class="s d y7"/><path d="M830.87,856.8c-5.14-7.54-15.07-10.07-23.25-6.02c-14.48,7.17-33.41,23.52-27.68,59.23c5.98,37.18,35.18,46.95,54.14,49.31c10.21,1.27,19.54-5.92,21.03-16.1C857.72,925.34,856.47,894.35,830.87,856.8z" class="s d z7"/><path d="M342,1034c0,0,2.11-259.17,177-253c170,6,174,251,174,251L342,1034z" class="s d z7"/><path d="M664.26,718.16c-0.53,10.36-41.02,97.82-54.77,126.61c-12.6,26.39-41.01,14.68-25.59-19.17c15.42-33.84,34.54-88.65,46.79-111.99C641.39,693.22,665.17,700.47,664.26,718.16z" class="s d z7"/><path d="M372.45,721.16c0.53,10.36,41.02,97.82,54.77,126.61c12.6,26.39,41.01,14.68,25.59-19.17c-15.42-33.84-34.54-88.65-46.79-111.99C395.32,696.22,371.54,703.47,372.45,721.16z" class="s d z7"/><path d="M406,770.12L406,770.12c-24.53,14.16-56.19,5.68-70.35-18.85l-18.5-32.04c-14.16-24.53-5.68-56.19,18.85-70.35l0,0c24.53-14.16,56.19-5.68,70.35,18.85l18.5,32.04C439.01,724.3,430.53,755.96,406,770.12z" class="s d z7"/><path d="M618,765.12L618,765.12c24.53,14.16,56.19,5.68,70.35-18.85l18.5-32.04c14.16-24.53,5.68-56.19-18.85-70.35l0,0c-24.53-14.16-56.19-5.68-70.35,18.85l-18.5,32.04C584.99,719.3,593.47,750.96,618,765.12z" class="s d z7"/><path d="M554,974.5h-80c-23.92,0-43.5-19.57-43.5-43.5v0c0-23.92,19.57-43.5,43.5-43.5h80c23.92,0,43.5,19.57,43.5,43.5v0C597.5,954.93,577.93,974.5,554,974.5z" class="s d x7"/>'
			)
		);
		items.push(
			Item(
				"Turtle Neck",
				'<style>.z7{fill:#F4DA5B}</style><path d="M777,1033c0,0,70-405-241.5-408.5C168.95,620.38,258,1035,258,1035" class="s d z7"/><path d="M345,672c-30.96,18.18-84,50-136,158c-44.88,93.21-60,209-60,209l163-1c0,0-1-102,51-197" class="s d z7"/><path d="M689,676c32.16,31.51,81,64,127,171c49.01,114,57,187,57,187H727c0,0-2-104-61-203" class="s d z7"/><path d="M401,953c7-70,75-63,131-38s110-1,84-53" class="s e d"/><path d="M378,751c-60-21-83.18-52.89-63-94c24.81-50.53,100.26,4.29,165,14c160,24,189-54,227-10c24.31,28.15,17.45,88.18-96,111c-25.31,5.09-94,15-144,5" class="s d z7"/>'
			)
		);
		items.push(
			Item(
				"Jump Suit",
				'<style>.z7{fill:#FFFFFF}.y7{fill:#A4A4F4}</style><path d="M777,1033c0,0,70-405-241.5-408.5C168.95,620.38,258,1035,258,1035" class="s d z7"/><path d="M366,659c-35,13-100.8,55.26-140,137c-47,98-64,239-64,239h150c0,0,0-102,51-194" class="s d z7"/><path d="M669,657c0,0,91,48,135,155c37.77,91.85,47,220,47,220l-124,1c-2-133-61-202-61-202" class="s d z7"/><path d="M340,1035c0,0-10.12-151.39,73.68-222.01C437.53,792.9,422,822.16,514,824c100,2,75.68-32.69,101.45-14.81C713.03,876.92,694,1033,694,1033L340,1035z" class="s d y7"/><path d="M340.05,673.87c-1.33,15.17,39.72,150.65,53.85,195.33c12.95,40.96,65.93,28.52,50.4-23.85c-15.53-52.37-39.6-188.48-54.97-194.46C373.96,644.91,342.33,647.95,340.05,673.87z" class="s d y7"/><circle cx="423.59" cy="877.5" r="34.5" class="s d z7"/><path d="M691.76,673.13c1.53,15.15-37.78,151.14-51.34,196c-12.42,41.12-65.56,29.37-50.7-23.2c14.86-52.57,37.17-188.97,52.47-195.15S689.14,647.24,691.76,673.13z" class="s d y7"/><circle cx="610.84" cy="877.81" r="34.5" class="s d z7"/>'
			)
		);
		items.push(
			Item(
				"Coat",
				'<style>.z7{fill:#64AFFF}</style><path d="M777,1038c0,0,70-410-241.5-413.5C168.95,620.38,259,1038,259,1038" class="s d z7"/><path d="M388,620c-195,20-232,418-232,418l326-1L388,620z" class="s d z7"/><path d="M384,586l98.19,451.26l-89.72-8.03c0,0-115.7-139.99-127.23-166.42c-11.53-26.43,48.2-62.05,40.01-69.34c-8.2-7.28-67.15-8.04-88.43-33.31C195.54,734.91,331,604,384,586z" class="s d z7"/><path d="M649,648c101.14-3.17,188,208,215,390H595L649,648" class="s d z7"/><path d="M625.93,596.87L595,1038l93-7c0,0,84.6-143.79,91.75-171.31c7.15-27.51-56.51-52.99-49.65-61.34c6.86-8.36,64.15-18.19,80.97-46.08S666,588,625.93,596.87z" class="s d z7"/>'
			)
		);
		items.push(
			Item(
				"Long Sleeve T-Shirt Chain",
				'<style>.z7{fill:#FFFFFF}.y7{fill:#303030}.x7{fill:#F4DA5B;stroke-width:6.6}</style><path d="M795,1034c0,0,98-414-277-409c-377.97,5.04-276,414-276,414" class="s d z7"/><path d="M299,690c0,0-101.77,102.83-134,201c-25.63,78.05-29,151-29,151l203-5l22-148" class="s d z7"/><path d="M755,700c0,0,53.86,46.13,103,167c37,91,46,167,46,167H696l-22-146" class="s d z7"/><path d="M293,1037l23-123l-193-16c0,0,71.73-229,215.37-228.5c0,0,185.63,173.5,350.13-8C725,655,835,693,896,873l-166,36l22,125L293,1037z" class="s d y7"/><path d="M392.51,693.34c-7.75-30.61-32.34-50.79-54.94-45.07c-22.59,5.72-34.63,35.17-26.88,65.78c7.75,30.61,32.34,50.79,54.94,45.07C388.22,753.41,400.26,723.95,392.51,693.34z M359.86,735.17c-9.47,2.4-20.67-9.58-25.01-26.75c-4.35-17.17-0.19-33.03,9.28-35.43c9.47-2.4,20.67,9.58,25.01,26.75C373.49,716.91,369.33,732.78,359.86,735.17z" class="s d x7"/><path d="M446.6,762.25c-23.86-20.69-55.57-23.18-70.84-5.58c-15.27,17.61-8.31,48.65,15.55,69.34c23.86,20.69,55.57,23.18,70.84,5.58C477.42,813.98,470.46,782.94,446.6,762.25z M443.73,815.23c-6.4,7.38-22.43,3.95-35.81-7.65c-13.38-11.6-19.04-26.99-12.64-34.37c6.4-7.38,22.43-3.95,35.81,7.65C444.47,792.46,450.13,807.85,443.73,815.23z" class="s d x7"/><path d="M367.63,730.4c14,4.73,30.28,18.47,34.97,42.41C408.52,803.01,326.45,716.5,367.63,730.4z" class="s d x7"/><path d="M335.71,674.62c-3.42-14.38-0.42-35.46,17.38-52.14C375.55,601.43,345.77,716.9,335.71,674.62z" class="s d x7"/><path d="M526.44,769.71c-31.33,3.92-54.39,25.85-51.49,48.97c2.89,23.13,30.64,38.7,61.97,34.77c31.33-3.92,54.39-25.85,51.49-48.97C585.52,781.36,557.78,765.79,526.44,769.71z M563.94,807.25c1.21,9.69-12.05,19.33-29.63,21.53c-17.57,2.2-32.8-3.87-34.02-13.56c-1.21-9.69,12.05-19.33,29.63-21.53C547.49,791.49,562.72,797.56,563.94,807.25z" class="s d x7"/><path d="M605.48,747.43c-20.56,23.97-22.88,55.7-5.18,70.87c17.69,15.17,48.7,8.04,69.25-15.93c20.56-23.97,22.88-55.7,5.18-70.87C657.04,716.33,626.03,723.46,605.48,747.43z M658.47,750.01c7.41,6.36,4.08,22.41-7.45,35.86c-11.53,13.45-26.89,19.19-34.3,12.83c-7.41-6.36-4.08-22.41,7.45-35.86C635.7,749.4,651.06,743.65,658.47,750.01z" class="s d x7"/><path d="M563.32,797.71c10.25-10.65,29.61-19.53,53.26-13.57C646.43,791.65,533.19,829.04,563.32,797.71z" class="s d x7"/><path d="M653.03,687.51c1.46,31.54,21.52,56.24,44.8,55.16c23.28-1.08,40.97-27.53,39.51-59.07c-1.46-31.54-21.52-56.24-44.81-55.16C669.26,629.52,651.57,655.96,653.03,687.51z M693.39,653.06c9.76-0.45,18.33,13.52,19.15,31.22c0.82,17.69-6.42,32.4-16.18,32.85c-9.76,0.45-18.33-13.52-19.15-31.22C676.39,668.22,683.63,653.51,693.39,653.06z" class="s d x7"/><path d="M656.54,755.29c1.88-14.66,12.14-33.32,34.69-42.64C719.67,700.9,651.01,798.4,656.54,755.29z" class="s d x7"/><path d="M690.3,615.88c10.02,10.87,17.71,30.73,10.34,53.98C691.35,699.2,660.85,583.92,690.3,615.88z" class="s d x7"/><path d="M448.99,799.05c13.74-5.45,35.04-5.5,54.1,9.72C527.13,827.99,408.59,815.08,448.99,799.05z" class="s d x7"/>'
			)
		);
		itemCount = items.length;
	}
}

// File: contracts/traists/TraitBase.sol



// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IFactory {
	function owner() external view returns (address);
}

contract TraitBase {
	struct Item {
		string name;
		string content;
	}

	string public name;
	IFactory public factory;

	uint256 public itemCount;
	Item[] items;

	constructor(string memory _name, address _factory) {
		name = _name;
		factory = IFactory(_factory);
	}

	function totalItems() external view returns (uint256) {
		return items.length;
	}

	function getTraitName(uint16 traitId) external view returns (string memory traitName) {
		traitName = items[traitId].name;
	}

	function getTraitContent(uint16 traitId) external view returns (string memory traitContent) {
		traitContent = items[traitId].content;
	}

	function addItems(string[] memory names, string[] memory contents) external {
		require(msg.sender == factory.owner());
		require(names.length == contents.length);
		for (uint16 i = 0; i < names.length; i++) {
			items.push(Item(names[i], contents[i]));
		}
	}

	function updateItem(uint16 traitId, string memory traitName, string memory traitContent) external {
		require(msg.sender == factory.owner());
		require(traitId < items.length);
		items[traitId].name = traitName;
		items[traitId].content = traitContent;
	}

	function setFactory(address _factory) external {
		require(msg.sender == factory.owner());
		factory = IFactory(_factory);
	}
}