func RandomBarStyle() BarChars {
	rand.Seed(time.Now().UnixNano())
	return BarStyles[rand.Intn(len(BarStyles)-1)]
}
RandomBarStyle get random bar style
package progress
import (
	"math/rand"
	"time"
)
const (
	CharStar    rune = '*'
	CharPlus    rune = '+'
	CharWell    rune = '#'
	CharEqual   rune = '='
	CharEqual1  rune = '═'
	CharSpace   rune = ' '
	CharCenter  rune = '●'
	CharSquare  rune = '■'
	CharSquare1 rune = '▇'
	CharSquare2 rune = '▉'
	CharSquare3 rune = '░'
	CharSquare4 rune = '▒'
	CharSquare5 rune = '▢'
	CharHyphen      rune = '-'
	CharCNHyphen    rune = '—'
	CharUnderline   rune = '_'
	CharLeftArrow   rune = '<'
	CharRightArrow  rune = '>'
	CharRightArrow1 rune = '▶'
)
const (
	MinFormat  = "{@message}{@current}"
	TxtFormat  = "{@message}{@percent:4s}%({@current}/{@max})"
	DefFormat  = "{@message}{@percent:4s}%({@current}/{@max})"
	FullFormat = "{@percent:4s}%({@current}/{@max}) {@elapsed:7s}/{@estimated:-7s} {@memory:6s}"
)
func Txt(maxSteps ...int) *Progress {
	return New(maxSteps...).Config(func(p *Progress) {
		p.Format = TxtFormat
	})
}
func Full(maxSteps ...int) *Progress {
	return NewWithConfig(func(p *Progress) {
		p.Format = FullFormat
	}, maxSteps...)
}
func Counter(maxSteps ...int) *Progress {
	return NewWithConfig(func(p *Progress) {
		p.Format = MinFormat
	}, maxSteps...)
}
func DynamicText(messages map[int]string, maxSteps ...int) *Progress {
	return NewWithConfig(func(p *Progress) {
		p.Format = "{@percent:4s}%({@current}/{@max}){@message}"
		p.AddWidget("message", DynamicTextWidget(messages))
	}, maxSteps...)
}
const (
	BarWidth  = 40
	BarFormat = "{@bar} {@percent:4s}%({@current}/{@max}){@message}"
	MdlBarFormat  = "{@bar} {@percent:4s}%({@current}/{@max}) {@elapsed:7s}/{@estimated:-7s}"
	FullBarFormat = "{@bar} {@percent:4s}%({@current}/{@max}) {@elapsed:7s}/{@estimated:-7s} {@memory:6s}"
)
type BarChars struct {
	Completed, Processing, Remaining rune
}
var BarStyles = []BarChars{
	{'=', '>', ' '},
	{'=', '>', '-'},
	{'#', '>', ' '},
	{'#', '>', '-'},
	{'*', '>', '-'},
	{'▉', '▉', '░'},
	{'■', '■', ' '},
	{'■', '■', '▢'},
	{'■', '▶', ' '},
}
func Bar(maxSteps ...int) *Progress {
	return CustomBar(BarWidth, BarStyles[0], maxSteps...)
}
func Tape(maxSteps ...int) *Progress {
	return Bar(maxSteps...)
}
func CustomBar(width int, cs BarChars, maxSteps ...int) *Progress {
	return New(maxSteps...).
		Config(func(p *Progress) {
			p.Format = BarFormat
		}).
		AddWidget("bar", BarWidget(width, cs))
}