diff --git a/data/leagues.yml b/data/leagues.yml index 9bc0185..a6d21f8 100644 --- a/data/leagues.yml +++ b/data/leagues.yml @@ -1,9 +1,12 @@ - id: 1 symbol: 🈸 name: "ИНСТИНКТ" + name_english: "INSTINCT" - id: 2 symbol: 🈳 name: "МИСТИКА" + name_english: "MYSTIC" - id: 3 symbol: 🈵 - name: "ОТВАГА" \ No newline at end of file + name: "ОТВАГА" + name_english: "VALOR" \ No newline at end of file diff --git a/lib/datacache/datacacheinterface/datacacheinterface.go b/lib/datacache/datacacheinterface/datacacheinterface.go index 5c0a4a6..05eefcc 100644 --- a/lib/datacache/datacacheinterface/datacacheinterface.go +++ b/lib/datacache/datacacheinterface/datacacheinterface.go @@ -4,9 +4,9 @@ package datacacheinterface import ( - "github.com/go-telegram-bot-api/telegram-bot-api" "github.com/fat0troll/i2_bot/lib/datamapping" "github.com/fat0troll/i2_bot/lib/dbmapping" + "github.com/go-telegram-bot-api/telegram-bot-api" ) // DataCacheInterface implements DataCache for importing via appcontext. @@ -52,6 +52,7 @@ type DataCacheInterface interface { FindElementIDBySymbol(symbol string) (int, error) GetLeagueByID(leagueID int) (*datamapping.League, error) + GetLeagueByEnglishName(name string) (*datamapping.League, error) GetLeagueByName(name string) (*datamapping.League, error) GetLeagueBySymbol(symbol string) (*datamapping.League, error) diff --git a/lib/datacache/leagues.go b/lib/datacache/leagues.go index 043c394..6ad4338 100644 --- a/lib/datacache/leagues.go +++ b/lib/datacache/leagues.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "gopkg.in/yaml.v2" "github.com/fat0troll/i2_bot/lib/datamapping" "github.com/fat0troll/i2_bot/static" + "gopkg.in/yaml.v2" ) func (dc *DataCache) initLeagues() { @@ -68,6 +68,17 @@ func (dc *DataCache) GetLeagueByName(name string) (*datamapping.League, error) { return nil, errors.New("There is no league with name = " + name) } +// GetLeagueByEnglishName returns league from datacache by english name +func (dc *DataCache) GetLeagueByEnglishName(name string) (*datamapping.League, error) { + for i := range dc.leagues { + if strings.Contains(dc.leagues[i].NameEnglish, name) { + return dc.leagues[i], nil + } + } + + return nil, errors.New("There is no league with name = " + name) +} + // GetLeagueBySymbol returns league from datacache by emoji func (dc *DataCache) GetLeagueBySymbol(symbol string) (*datamapping.League, error) { for i := range dc.leagues { diff --git a/lib/datamapping/leagues.go b/lib/datamapping/leagues.go index a12d550..1378d4d 100644 --- a/lib/datamapping/leagues.go +++ b/lib/datamapping/leagues.go @@ -5,7 +5,8 @@ package datamapping // League is a struct, which represents league data type League struct { - ID int `yaml:"id"` - Symbol string `yaml:"symbol"` - Name string `yaml:"name"` + ID int `yaml:"id"` + Symbol string `yaml:"symbol"` + Name string `yaml:"name"` + NameEnglish string `yaml:"name_english"` } diff --git a/lib/forwarder/forwarder.go b/lib/forwarder/forwarder.go index fd0b4d6..be3483f 100644 --- a/lib/forwarder/forwarder.go +++ b/lib/forwarder/forwarder.go @@ -6,8 +6,8 @@ package forwarder import ( "regexp" - "github.com/go-telegram-bot-api/telegram-bot-api" "github.com/fat0troll/i2_bot/lib/dbmapping" + "github.com/go-telegram-bot-api/telegram-bot-api" ) // ProcessForward process forwards for single-user chats @@ -16,7 +16,7 @@ func (f *Forwarder) ProcessForward(update *tgbotapi.Update, playerRaw *dbmapping // Forwards var pokememeMsg = regexp.MustCompile(`Dex(.+)\nGrade(.+)\nName(.+)`) - var profileMsg = regexp.MustCompile(`id(\s)(\d+)\n(Team)(\s)([А-Я]+)\nName(\s)(.*)\nLvl(\s)(\d+)`) + var profileMsg = regexp.MustCompile(`id(\s)(\d+)\n(Team)(\s)([A-Z]+)\nName(\s)(.*)\nLvl(\s)(\d+)`) switch { case pokememeMsg.MatchString(text): diff --git a/lib/users/parsers.go b/lib/users/parsers.go index e090ca2..bb2ef27 100644 --- a/lib/users/parsers.go +++ b/lib/users/parsers.go @@ -9,8 +9,8 @@ import ( "strings" "time" - "github.com/go-telegram-bot-api/telegram-bot-api" "github.com/fat0troll/i2_bot/lib/dbmapping" + "github.com/go-telegram-bot-api/telegram-bot-api" ) // Internal functions @@ -76,7 +76,7 @@ func (u *Users) ParseProfile(update *tgbotapi.Update, playerRaw *dbmapping.Playe fmt.Println(rawProfileData) nickname := rawProfileData["Name"] - league, err := c.DataCache.GetLeagueByName(rawProfileData["Team"]) + league, err := c.DataCache.GetLeagueByEnglishName(rawProfileData["Team"]) if err != nil { c.Log.Error(err.Error()) u.profileAddFailureMessage(update) diff --git a/static/ab0x.go b/static/ab0x.go index 0de0b44..8cd0830 100644 --- a/static/ab0x.go +++ b/static/ab0x.go @@ -1,5 +1,5 @@ -// Code generated by fileb0x at "2018-05-02 00:25:44.144411419 +0400 +04 m=+0.066099166" from config file "b0x.yaml" DO NOT EDIT. -// modification hash(83ad4dda8e66a6feb4190259a26611ae.ae20b9ca3e83a6c4eed604fe73f76ef2) +// Code generated by fileb0x at "2018-05-19 13:11:26.068433547 +0400 +04 m=+0.080360541" from config file "b0x.yaml" DO NOT EDIT. +// modification hash(1e9ed18bc8593e482b3ec2faf1a5934e.ae20b9ca3e83a6c4eed604fe73f76ef2) package static @@ -33,10 +33,10 @@ var ( type HTTPFS struct{} // FileElementsYml is "elements.yml" -var FileElementsYml = []byte("\x2d\x20\x69\x64\x3a\x20\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\x8a\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x91\xd0\xbe\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x8c\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9b\xd0\xb5\xd1\x82\xd0\xb0\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x33\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xaf\xd0\xb4\xd0\xbe\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x34\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x97\xbf\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9a\xd0\xb0\xd0\xbc\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x35\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x94\xa5\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd0\xb3\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x36\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xe2\x9a\xa1\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xad\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xb8\xd1\x87\xd0\xb5\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x37\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\xa7\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x92\xd0\xbe\xd0\xb4\xd1\x8f\xd0\xbd\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x38\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x8d\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xa2\xd1\x80\xd0\xb0\xd0\xb2\xd1\x8f\xd0\xbd\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x39\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\xa9\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd1\x82\xd0\xb2\xd0\xb0\xd0\xb6\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x31\x30\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\x81\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9f\xd1\x81\xd0\xb8\xd1\x85\xd0\xb8\xd1\x87\xd0\xb5\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x31\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\xbf\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xa2\xd0\xb5\xd0\xbc\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x31\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xe2\x8c\x9b\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x92\xd1\x80\xd0\xb5\xd0\xbc\xd0\xb5\xd0\xbd\xd0\xb8\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33") +var FileElementsYml = []byte("\x2d\x20\x69\x64\x3a\x20\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\x8a\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x91\xd0\xbe\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x8c\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9b\xd0\xb5\xd1\x82\xd0\xb0\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x33\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xaf\xd0\xb4\xd0\xbe\xd0\xb2\xd0\xb8\xd1\x82\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x34\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x97\xbf\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9a\xd0\xb0\xd0\xbc\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x31\x0a\x2d\x20\x69\x64\x3a\x20\x35\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x94\xa5\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd0\xb3\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x36\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xe2\x9a\xa1\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xad\xd0\xbb\xd0\xb5\xd0\xba\xd1\x82\xd1\x80\xd0\xb8\xd1\x87\xd0\xb5\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x37\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\xa7\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x92\xd0\xbe\xd0\xb4\xd1\x8f\xd0\xbd\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x38\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x8d\x80\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xa2\xd1\x80\xd0\xb0\xd0\xb2\xd1\x8f\xd0\xbd\xd0\xbe\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x33\x0a\x2d\x20\x69\x64\x3a\x20\x39\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x92\xa9\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd1\x82\xd0\xb2\xd0\xb0\xd0\xb6\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x31\x30\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\x81\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9f\xd1\x81\xd0\xb8\xd1\x85\xd0\xb8\xd1\x87\xd0\xb5\xd1\x81\xd0\xba\xd0\xb8\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x31\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xf0\x9f\x91\xbf\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\xa2\xd0\xb5\xd0\xbc\xd0\xbd\xd1\x8b\xd0\xb9\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32\x0a\x2d\x20\x69\x64\x3a\x20\x31\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\x22\xe2\x8c\x9b\x22\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x92\xd1\x80\xd0\xb5\xd0\xbc\xd0\xb5\xd0\xbd\xd0\xb8\x22\x0a\x20\x20\x6c\x65\x61\x67\x75\x65\x5f\x69\x64\x3a\x20\x32") // FileLeaguesYml is "leagues.yml" -var FileLeaguesYml = []byte("\x2d\x20\x69\x64\x3a\x20\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb8\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x98\xd0\x9d\xd0\xa1\xd0\xa2\xd0\x98\xd0\x9d\xd0\x9a\xd0\xa2\x22\x0a\x2d\x20\x69\x64\x3a\x20\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb3\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9c\xd0\x98\xd0\xa1\xd0\xa2\xd0\x98\xd0\x9a\xd0\x90\x22\x0a\x2d\x20\x69\x64\x3a\x20\x33\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb5\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd0\xa2\xd0\x92\xd0\x90\xd0\x93\xd0\x90\x22") +var FileLeaguesYml = []byte("\x2d\x20\x69\x64\x3a\x20\x31\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb8\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x98\xd0\x9d\xd0\xa1\xd0\xa2\xd0\x98\xd0\x9d\xd0\x9a\xd0\xa2\x22\x0a\x20\x20\x6e\x61\x6d\x65\x5f\x65\x6e\x67\x6c\x69\x73\x68\x3a\x20\x22\x49\x4e\x53\x54\x49\x4e\x43\x54\x22\x0a\x2d\x20\x69\x64\x3a\x20\x32\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb3\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9c\xd0\x98\xd0\xa1\xd0\xa2\xd0\x98\xd0\x9a\xd0\x90\x22\x0a\x20\x20\x6e\x61\x6d\x65\x5f\x65\x6e\x67\x6c\x69\x73\x68\x3a\x20\x22\x4d\x59\x53\x54\x49\x43\x22\x0a\x2d\x20\x69\x64\x3a\x20\x33\x0a\x20\x20\x73\x79\x6d\x62\x6f\x6c\x3a\x20\xf0\x9f\x88\xb5\x0a\x20\x20\x6e\x61\x6d\x65\x3a\x20\x22\xd0\x9e\xd0\xa2\xd0\x92\xd0\x90\xd0\x93\xd0\x90\x22\x0a\x20\x20\x6e\x61\x6d\x65\x5f\x65\x6e\x67\x6c\x69\x73\x68\x3a\x20\x22\x56\x41\x4c\x4f\x52\x22") // FileLevelsYml is "levels.yml" var FileLevelsYml = []byte("\x2d\x20\x69\x64\x3a\x20\x31\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x36\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x30\x0a\x2d\x20\x69\x64\x3a\x20\x32\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x33\x36\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x31\x30\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x30\x30\x0a\x2d\x20\x69\x64\x3a\x20\x33\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x36\x35\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x31\x39\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x35\x36\x30\x0a\x2d\x20\x69\x64\x3a\x20\x34\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x31\x34\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x34\x32\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x32\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x35\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x33\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x36\x39\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x36\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x36\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x33\x33\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x39\x39\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x34\x39\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x37\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x34\x38\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x31\x34\x34\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x38\x32\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x38\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x36\x34\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x31\x39\x32\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x33\x30\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x39\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x37\x39\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x32\x33\x37\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x39\x34\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x31\x30\x35\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x33\x31\x35\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x37\x33\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x31\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x31\x33\x35\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x34\x30\x35\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x33\x37\x38\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x32\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x31\x36\x36\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x34\x39\x38\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x35\x31\x33\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x33\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x31\x38\x36\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x35\x35\x38\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x36\x37\x39\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x34\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x30\x37\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x36\x32\x31\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x38\x36\x35\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x35\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x32\x37\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x36\x38\x31\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x30\x37\x32\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x36\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x33\x38\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x37\x31\x34\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x32\x39\x39\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x37\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x34\x38\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x37\x34\x34\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x35\x33\x37\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x38\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x35\x39\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x37\x37\x37\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x31\x37\x38\x35\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x31\x39\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x36\x39\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x38\x30\x37\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x30\x34\x34\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x32\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x37\x35\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x38\x32\x35\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x33\x31\x33\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x32\x31\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x38\x30\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x38\x34\x30\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x35\x38\x38\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x32\x32\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x38\x35\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x38\x35\x35\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x32\x38\x36\x38\x31\x30\x0a\x2d\x20\x69\x64\x3a\x20\x32\x33\x0a\x20\x20\x6d\x61\x78\x5f\x65\x78\x70\x3a\x20\x32\x39\x30\x30\x30\x0a\x20\x20\x6d\x61\x78\x5f\x65\x67\x67\x3a\x20\x38\x37\x30\x0a\x20\x20\x6c\x65\x76\x65\x6c\x5f\x73\x74\x61\x72\x74\x3a\x20\x33\x31\x35\x33\x31\x30")