| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 | package modelsimport (	"math/rand"	"time")// NAMES - list of names 4-7 chars in lengthvar NAMES = []string{	"logic",	"warrant",	"iconic",	"threat",	"strike",	"boy",	"vital",	"unity",	"audio",	"schemer",	"depth",	"gravitl",	"mystic",	"donkey",	"atomic",	"turtle",	"monkey",	"rabbit",	"static",	"mosaic",	"elite",	"stonks",	"doggy",	"python",	"mohawk",	"arctic",	"rival",	"vibes",	"delay",	"bridge",	"weeble",	"combat",	"animal",	"wobble",	"rubble",	"bucket",	"proof",	"worker",	"beetle",	"racket",	"equal",	"panda",	"antics",	"strong",	"forum",	"koala",	"anchor",	"ornery",	"indigo",	"schism",	"dragon",	"knight",	"bishop",	"laser",	"rhino",	"clutch",	"shark",	"leader",	"young",	"robot",	"squish",	"chimp",	"rocket",	"space",	"queen",	"royalty",	"flush",	"earth",	"planet",	"heart",	"droplet",	"dillon",	"saturn",	"pluto",	"school",	"alien",	"matte",	"dingo",	"meercat",	"cookie",	"snack",	"goose",	"pepper",	"melissa",	"alex",	"elon",	"yeet",	"meh",	"walrus",	"avatar",	"chicken",	"proton",	"mohawk",	"tattoo",	"zebra",	"star",	"butter",	"tango",	"homie",	"rambo",	"cosmo",	"bubbles",	"hulk",	"pluto",	"scooby",	"thanos",	"yoda",	"draco",	"goofy",	"ditto",	"puff",	"duck",	"mouse",	"akita",	"water",	"hound",	"baby",	"spider",	"squid",	"roach",	"crab",	"cougar",	"cyborg",	"android",	"being",	"ninja",	"unicorn",	"zombie",	"warrior",	"zamboni",	"life",	"marine",	"node",	"mother",	"father",	"tesla",}// SMALL_NAMES - list of small (4 char or less) namesvar SMALL_NAMES = []string{	"ace",	"odd",	"hot",	"ill",	"root",	"sudo",	"moon",	"beef",	"bro",	"dank",	"red",	"gold",	"big",	"old",	"og",	"best",	"blue",	"lil",	"mom",	"bot",	"evil",	"good",	"holy",	"rad",	"bad",	"sad",	"mad",	"chad",	"pre",	"post",	"foot",	"soft",	"hard",	"lite",	"dark",	"true",	"toy",	"soy",	"rude",	"nice",	"fun",	"fat",	"pro",	"sly",	"tan",	"pet",	"fine",	"main",	"last",	"wide",	"free",	"open",	"poor",	"rich",	"next",	"real",	"long",	"huge",	"wild",	"sick",	"weak",	"firm",	"pink",	"okay",	"dull",	"loud",	"lazy",	"dumb",	"tidy",	"idle",	"bony",	"cute",	"oily",	"lame",	"mega",	"limp",	"wavy",	"edgy",	"nosy",	"zany",	"base",	"cold",}var logoString = retrieveLogo()// GenerateNodeName - generates a random node namefunc GenerateNodeName() string {	rng := rand.New(rand.NewSource(time.Now().UnixNano()))	return SMALL_NAMES[rng.Intn(len(SMALL_NAMES))] + "-" + NAMES[rng.Intn(len(NAMES))]}// RetrieveLogo - retrieves the ascii art logo for Netmakerfunc RetrieveLogo() string {	return logoString}// SetLogo - sets the logo ascii artfunc SetLogo(logo string) {	logoString = logo}func retrieveLogo() string {	return `               __   __     ______     ______   __    __     ______     __  __     ______     ______    /\ "-.\ \   /\  ___\   /\__  _\ /\ "-./  \   /\  __ \   /\ \/ /    /\  ___\   /\  == \   \ \ \-.  \  \ \  __\   \/_/\ \/ \ \ \-./\ \  \ \  __ \  \ \  _"-.  \ \  __\   \ \  __<    \ \_\\"\_\  \ \_____\    \ \_\  \ \_\ \ \_\  \ \_\ \_\  \ \_\ \_\  \ \_____\  \ \_\ \_\   \/_/ \/_/   \/_____/     \/_/   \/_/  \/_/   \/_/\/_/   \/_/\/_/   \/_____/   \/_/ /_/                                                                                          																							 `}
 |