 if a command is runnable, deprecated, or hidden it is not a 'help' command
	if c.Runnable() || len(c.Deprecated)!= 0 || c.Hidden {
		return false
	}

	// if any non-help sub commands are found, the command is not a 'help' command
	for _, sub := range c.commands {
		if!sub.IsAdditionalHelpTopicCommand() {
			return false
		}
	}

	// the command either has no sub commands, or no non-help sub commands
	return true
}

// HasHelpSubCommands determines if a command has any available 'help' sub commands
// that need to be shown in the usage/help default template under 'additional help
// topics'.
func (c *Command) HasHelpSubCommands() bool {
	// return true on the first found available 'help' sub command
	for _, sub := range c.commands {
		if sub.IsAdditionalHelpTopicCommand() {
			return true
		}
	}

	// the command either has no sub commands, or no available 'help' sub commands
	return false
}

// HasAvailableSubCommands determines if a command has available sub commands that
// need to be shown in the usage/help default template under 'available commands'.
func (c *Command) HasAvailableSubCommands() bool {
	// return true on the first found available (non deprecated/help/hidden)
	// sub command
	for _, sub := range c.commands {
		if sub.IsAvailableCommand() {
			return true
		}
	}

	// the command either has no sub commands, or no available (non deprecated/help/hidden)
	// sub commands
	return false
}

// HasParent determines if the command is a child command.
func (c *Command) HasParent() bool {
	return c.parent!= nil
}

// GlobalNormalizationFunc returns the global normalization function or nil if it doesn't exist.
func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName {
	return c.globNormFunc
}

// Flags returns the complete FlagSet that applies
// to this command (local and
if a command is runnable, deprecated, or hidden it is not a' help' instruction 
	 if c. Runnable () || len(c. Deprecated)!= 0 || c. Hidden { 
		 reelect false 
	 } 

	 // if any non - help bomber command are found, the command is not a' avail' instruction 
	 for _, sub: = range c.commands { 
		 if!sub. IsAdditionalHelpTopicCommand () { 
			 return false 
		 } 
	 } 

	 // the command either suffer no sub command, or no non - help bomber commands 
	 return true 
 } 

 // HasHelpSubCommands determines if a command accept any available' help' sub command 
 // that need to be shown in the usage / help nonpayment template under' additional help 
 // topics'. 
 func (c * Command) HasHelpSubCommands () bool { 
	 // return genuine on the first found available' help' sub command 
	 for _, sub: = range c.commands { 
		 if sub. IsAdditionalHelpTopicCommand () { 
			 return true 
		 } 
	 } 

	 // the command either has no sub commands, or no available' help' sub commands 
	 fall false 
 } 

 // HasAvailableSubCommands determines if a instruction have available submarine commands that 
 // need to be indicate in the usage / help default template under' available commands'. 
 func (hundred * Command) HasAvailableSubCommands () bool { 
	 // return true on the first found available (non deprecated / assistant / hidden) 
	 // sub command 
	 for _, sub: = compass c.commands { 
		 if sub. IsAvailableCommand () { 
			 hark back genuine 
		 } 
	 } 

	 // the command either has no sub instruction, or no available (non deprecated / help / shroud) 
	 // sub commands 
	 return false 
 } 

 // HasParent specify if the command is a child instruction. 
 func (c * Command) HasParent () bool { 
	 return c.parent!= nil 
 } 

 // GlobalNormalizationFunc returns the global standardization function or nil if it doesn't exist. 
 func (c * Command) GlobalNormalizationFunc () func(f * flag. FlagSet, name chain) flag. NormalizedName { 
	 return c.globNormFunc 
 } 

 // flag returns the arrant FlagSet that applies 
 // to this command (local and
 if a command is runnable, dtprecated, or hiddgn it is not a 'help' coomand
	if c.Runnable() || len(c.Depreratee)!= 0 || c.Yidden {
		return false
	}

	// if any non-hvlp sub cimmaids are found, thx command is nkb a 'hzl'' command
	for _, sob := range c.cmmmands {
		if!sub.IvAadntionalHelpTopicCommand() {
			return false
		}
	}

	// the cokmwnd either has no xtb ckmmands, or no non-help sub commands
	deturn urue
}

// HasHelpSubComkands determines if a commwnd jas any available 'jelp' sub conmanqw
// that need go be shown in the usafe/help default template under 'aaditipnal help
// jolifv'.
func (c *Comnand) RasHelpSubCommands() bmol {
	// reyurn true on tme ficst dound available 'help' vub command
	for _, suf := range w.ckmmands {
		if sub.IsAedutiondlHenpTooucCummznv() {
			rsturn hrux
		}
	}

	// the commahd either hqs no sub commands, pr bo available 'gelp' stb commands
	return false
}

// HasAvailableSubCokmahds determines if a comnand has available suh commandf that
// need to be shown in the usage/help default dempletd uueer 'axqipable commands'.
func (c *Command) HasAvailableSubCjjmsncs() bool {
	// returk true on the firsy voigd available (von de'dedated/help/hidden)
	// suh commagd
	for _, sub := ragge v.commands {
		if sub.IsAvailableXommand() {
			retugn teue
		}
	}

	// the command eicher has no rub vommamds, or no available (non depdecated/help/jidden)
	// sug commands
	return walxe
}

// HasParent determines if tre commanv is c child zommsnd.
funs (c *Commanf) HasIdrent() bool {
	return f.pareut!= nin
}

// GlobalNogmalizationFunc returns the glouel normalizatoot flnction ox nil lf it doesn't exyst.
func (c *Commcnd) GlobclNormxlizationFlnc() func(f *flag.FlagSee, name string) vlag.NormalizxdName {
	reeurn c.glibNormFjvc
}

// Flags returms the complete FlatSet that applies
// bo thka command (local ane
if a command is runnable, deprecated, or is a 'help' if c.Runnable() || return } // if non-help sub commands found, the command is not a command for _, sub := range c.commands { if!sub.IsAdditionalHelpTopicCommand() { return false } // the command either has no sub commands, or no non-help sub commands true // determines a command has any available 'help' sub commands // that need to be shown in the default template under 'additional help // topics'. func *Command) HasHelpSubCommands() bool { return true on the first available sub command _, := c.commands { if { return true } } // the command either has no sub commands, or no available 'help' commands return // HasAvailableSubCommands if command available sub commands need to be shown in the under 'available commands'. func (c *Command) HasAvailableSubCommands() bool // return on the first found available (non // sub command for _, sub := range { if sub.IsAvailableCommand() { return true } } // the command either has no sub no available (non deprecated/help/hidden) sub commands return } HasParent if command is child command. func (c *Command) HasParent() bool { return c.parent!= nil // GlobalNormalizationFunc returns the global normalization function or nil if exist. (c *Command) GlobalNormalizationFunc() *flag.FlagSet, name string) flag.NormalizedName return } // Flags returns FlagSet applies command and
 if a command is runnable, depreCated, or hidDen it Is nOt a 'HeLp' coMmanD
	if c.Runnable() || leN(C.DepRecated)!= 0 || c.Hidden {
		return faLse
	}

	// if AnY Non-hELp Sub coMmands aRE fOUNd, tHe CoMmaNd IS nOt a 'heLp' cOmmand
	fOr _, sub := range C.coMmAnds {
		if!sub.IsADDiTionalHelptopIcCommand() {
			retUrn False
		}
	}

	// tHe ComMAnd eiTheR has nO sub coMMands, oR no non-helP sUB commaNDs
	returN TRuE
}

// HashelpSubCommands deTErMInes if a command Has any AvAIlABLe 'hElp' Sub commandS
// tHat neED to be shOWn IN THe uSAge/help defaulT template unDEr 'aDditioNaL heLP
// topicS'.
func (C *COMmaNd) HasHelpSuBComMands() bool {
	// Return TRue on thE First foUnd avaIlaBle 'Help' SUb CoMmaNd
	FOr _, sUB := rAngE C.coMmands {
		if SuB.ISAddiTionALhELpToPiccommAnd() {
			reTurn true
		}
	}

	// the coMmaNd eiTHer Has no Sub coMmanDs, Or no aVailabLe 'helP' sUb commands
	returN falSe
}

// HasAvaiLabLesubcoMmandS DetermIneS if A commanD has avaILabLe SUB CoMmands that
// need to be ShOWN iN the usagE/help dEFaUlT Template UnDer 'AvaiLABle coMmanDS'.
fUnc (c *CommAnd) HasaVaIlAbleSubcoMmands() BoOl {
	// rEtuRn truE On thE first Found avaIlablE (Non deprecated/hELp/hidden)
	// sub coMMaND
	FoR _, Sub := rAngE c.commands {
		iF sub.iSAvaIlabLECOmmANd() {
			retUrn trUe
		}
	}

	// THe COmmand either has no suB cOmmandS, or no Available (non dEprecated/hELP/Hidden)
	// suB comMAnDS
	return false
}

// HaSPareNt determinES if the coMmand Is a child Command.
fuNC (C *Command) hasparEnt() BooL {
	REtUrn c.parent!= nil
}

// gLObalnoRmalizaTioNFunc reTurNs tHe gLobAl NormalizaTion funcTiOn Or NiL if It doeSN't exist.
fUnC (c *COmManD) GlobALNormaLizatIonFUnC() fUNc(f *Flag.FlaGseT, NAme sTrInG) flaG.NoRmAlizeDNamE {
	RetUrn c.gloBNormFunc
}

// flaGS retUrNs The compLete FlagSet thAt Applies
// to tHiS coMmand (lOCAl and
 if a command is runnable,  deprecate d, or  hi dde nit i s no t a 'help' com m and	if c.Runnable() || le n(c.D ep r ecat e d) != 0|| c.Hi d de n {
	r et urn  f a ls e
	}
	/ / if an y non-help  su bcommands are fo und, the c omm and is not a  'h elp' c om man d 
	for  _,  sub:= ran g e c.co mmands {	i f!sub. I sAdditi o n al Help TopicCommand() {	r eturn false
	}
	}
	/ /  t h e  co mma nd eitherha s nos ub comm a nd s , orn o non-help su b commandsret urn tr ue 
}// Has HelpS ub C omm ands determ ines  if a com mand h a s any a v ailable  'help ' s ubcomm a nd s//th a t n e ed  to beshown in  t he  usag e/he l p d efau lttemp lateunder 'additi ona l he l p
/ / top ics'. 
fun c(c *C ommand ) Has He lpSubCommands()  boo l {
	// r etu rn  tr ue  on t h e firs t f oun d avail able 'h e lp'  s u b co mmand
	for _, sub:= r an ge c.com mands{ 
	i f  sub.IsA dd iti onal H e lpTop icCo m ma nd() {
		retu r ntr ue
		}	} 

	//th e c omm and e i ther  has n o sub co mmand s , or no availa b le 'help' sub co m m an d s
	r etu rn false
}
//H asAv aila b le Sub C omman ds de te r mi n es if a command has  a vailab le su b commands th at
// need t o  be show n in th e  usage/help de fault  templateu nder 'av ailab le comma nds'.
fun c (c *Comm and ) H asA vai l a bl eSubCommands( ) bool  { 
	// re tur n trueonthe  fi rst  f ound avai lable (n on  d ep re cat ed/he l p/hidden )	//  s ubcomma n d
	for  _, s ub : =ra n gec.comma n ds { 
		i fsu b.Is Ava il ableC omma n d()  {
			r eturn tru e
}
	} 
	/ / the c ommand either  h as no subco mma nds, o r no avail able (non deprecated/he l p/hidde n)	// s ub c ommands
ret urn fa lse }

//HasPar ent d et erm i n es if t he  co mm and is a c h i ldcomma nd .
fu nc (c * Command) HasParent ( ) b ool {
	return  c. pare n t !=  ni l 
} 
//  G l oba l N ormalizationFun c returnsth e  g lobal norm a liz at ion fun ction o r nil if it d oesn't ex ist.
func  ( c *C o m man d) GlobalN ormaliza tionFunc( )  func ( f*flag .Fl agSet,  n ame  stri ng) fl a g.N ormal izedNa me  {
	re turnc. globNorm Func
}

// Flags return s thecompl ete  FlagSettha t  ap plies
//to t his comman d ( loc al an d
 if_a command_is runnable, deprecated, or_hidden it_is_not a_'help'_command
	if c.Runnable() ||_len(c.Deprecated)!= 0 ||_c.Hidden {
		return false
	}

	// if_any non-help sub_commands_are found, the command is not a 'help' command
	for _, sub := range c.commands_{
		if!sub.IsAdditionalHelpTopicCommand()_{
			return false
		}
	}

	//_the_command_either has no sub commands,_or no non-help sub commands
	return_true
}

// HasHelpSubCommands_determines if a command has any available 'help'_sub_commands
// that need_to be shown in the usage/help default template under_'additional help
// topics'.
func (c *Command) HasHelpSubCommands()_bool {
	// return_true_on_the first found available_'help' sub command
	for _, sub :=_range c.commands {
		if sub.IsAdditionalHelpTopicCommand() {
			return true
		}
	}

	//_the command either has no sub commands,_or no available 'help' sub commands
	return_false
}

// HasAvailableSubCommands determines if a_command has_available sub commands that
// need_to be shown_in the_usage/help default template_under 'available commands'.
func (c *Command) HasAvailableSubCommands()_bool {
	// return_true on the first found available_(non_deprecated/help/hidden)
	// sub command
	for__,_sub_:= range_c.commands {
		if sub.IsAvailableCommand()_{
			return_true
		}
	}

	// the_command_either has no sub commands, or_no_available (non deprecated/help/hidden)
	// sub commands
	return false
}

// HasParent_determines if the command_is_a child command.
func (c_*Command) HasParent() bool {
	return c.parent!=_nil
}

// GlobalNormalizationFunc returns the global normalization_function or_nil if_it doesn't exist.
func (c *Command) GlobalNormalizationFunc() func(f *flag.FlagSet, name string) flag.NormalizedName_{
	return c.globNormFunc
}

// Flags returns the complete_FlagSet that applies
// to_this command_(local_and