diff --git a/cmd/fyne/internal/mobile/dex.go b/cmd/fyne/internal/mobile/dex.go index 764988e6e9..6619eaeba9 100644 --- a/cmd/fyne/internal/mobile/dex.go +++ b/cmd/fyne/internal/mobile/dex.go @@ -6,203 +6,207 @@ package mobile -var dexStr = `ZGV4CjAzNQAZZRoOb1svM6ecUvaDdPvcVMG312hiC+3AKAAAcAAAAHhWNBIAAAAAAAAAAP` + - `AnAADKAAAAcAAAAC8AAACYAwAAQgAAAFQEAAAUAAAAbAcAAG8AAAAMCAAABgAAAIQLAAB8` + - `HAAARAwAAJ4XAACgFwAApRcAAKgXAACwFwAAxBcAANsXAADrFwAA+xcAAAEYAAAYGAAAGx` + - `gAACAYAAAmGAAAKxgAADEYAAA0GAAAOBgAAD0YAABCGAAARhgAAEsYAABQGAAAbhgAAI8Y` + - `AACqGAAAxBgAAOcYAAAMGQAAMRkAAFIZAABrGQAAfhkAAJoZAACvGQAAxRkAAN4ZAAD6GQ` + - `AADhoAAEMaAABjGgAAjxoAAKQaAADLGgAA4hoAAP8aAAAuGwAASRsAAHQbAACZGwAAuRsA` + - `AMkbAADjGwAA+hsAABkcAAAtHAAAQxwAAFccAABrHAAAghwAAKccAADMHAAA8RwAABgdAA` + - `A9HQAAYB0AAHYdAACBHQAAih0AAKQdAACvHQAAsh0AALYdAAC7HQAAwh0AAMgdAADMHQAA` + - `0R0AANgdAADkHQAA6R0AAO0dAADwHQAA9B0AAPkdAAAOHgAAEh4AAB4eAAAqHgAANh4AAE` + - `IeAABOHgAAWh4AAGYeAABzHgAAgB4AAJAeAACaHgAAtR4AAM0eAADfHgAA9R4AABwfAABB` + - `HwAAax8AAI0fAACuHwAAyh8AAOMfAAD2HwAABCAAAA4gAAAdIAAALSAAAD0gAABNIAAAXS` + - `AAAGAgAABoIAAAiyAAAJ8gAACtIAAAsiAAAMMgAADUIAAA4SAAAO8gAAABIQAACiEAABgh` + - `AAAjIQAALiEAAEEhAABPIQAAXCEAAHEhAAB6IQAAhSEAAJchAACzIQAAzSEAAOghAAABIg` + - `AADCIAABYiAAAhIgAAMSIAAE8iAABhIgAAaSIAAHciAACQIgAAniIAAKYiAAC1IgAAxSIA` + - `ANQiAADaIgAA4iIAAOgiAAD1IgAACSMAADIjAAA9IwAARyMAAE0jAABXIwAAaSMAAIEjAA` + - `CLIwAAmyMAAKojAAC0IwAAwiMAAMcjAADWIwAA4yMAAPIjAAAAJAAAESQAABokAAAjJAAA` + - `MiQAAD4kAABMJAAAWiQAAGgkAAB3JAAAfiQAAJYkAACjJAAAqyQAALMkAAC9JAAAwiQAAM` + - `okAADuJAAA/CQAAAklAAAbJQAAIiUAACklAAAKAAAAFgAAABcAAAAYAAAAGQAAABoAAAAb` + - `AAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQAAACYAAAAnAAAAKA` + - `AAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIAAAAzAAAANAAAADUA` + - `AAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AAAAQAAAAEYAAABRAA` + - `AAVAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAfBYAAAwAAAAAAAAAhBYAAA0AAAAAAAAAkBYA` + - `AA4AAAAAAAAAmBYAAA8AAAACAAAAAAAAAA8AAAAEAAAAAAAAABAAAAAEAAAApBYAABUAAA` + - `AEAAAArBYAABMAAAAEAAAAtBYAABUAAAAEAAAAkBYAABUAAAAEAAAAvBYAABQAAAAFAAAA` + - `xBYAAA8AAAAGAAAAAAAAAA8AAAAHAAAAAAAAAA8AAAAIAAAAAAAAAA8AAAAKAAAAAAAAAA` + - `8AAAANAAAAAAAAABIAAAAOAAAAzBYAABAAAAASAAAApBYAAA8AAAAUAAAAAAAAABAAAAAU` + - `AAAApBYAAA8AAAAWAAAAAAAAAA8AAAAXAAAAAAAAABMAAAAZAAAA1BYAABUAAAAZAAAA3B` + - `YAAA8AAAAdAAAAAAAAABEAAAAeAAAAfBYAABMAAAAhAAAAtBYAAA8AAAAjAAAAAAAAABMA` + - `AAAjAAAAtBYAABMAAAAjAAAA1BYAABUAAAAjAAAA5BYAAA8AAAArAAAAAAAAAEYAAAAsAA` + - `AAAAAAAEcAAAAsAAAApBYAAEgAAAAsAAAAfBYAAEkAAAAsAAAA7BYAAEoAAAAsAAAA+BYA` + - `AEsAAAAsAAAABBcAAEwAAAAsAAAADBcAAEsAAAAsAAAAFBcAAEsAAAAsAAAAHBcAAEsAAA` + - `AsAAAAJBcAAEsAAAAsAAAALBcAAEsAAAAsAAAAdBYAAEsAAAAsAAAAbBYAAE4AAAAsAAAA` + - `NBcAAE8AAAAsAAAATBcAAEsAAAAsAAAAVBcAAEsAAAAsAAAAXBcAAE0AAAAsAAAAZBcAAE` + - `sAAAAsAAAAZBYAAEsAAAAsAAAAtBYAAE8AAAAsAAAAkBYAAEsAAAAsAAAAcBcAAEsAAAAs` + - `AAAA1BYAAEwAAAAsAAAAeBcAAE8AAAAsAAAA5BYAAFAAAAAsAAAAgBcAAFEAAAAtAAAAAA` + - `AAAFMAAAAtAAAAiBcAAFMAAAAtAAAAkBcAAFIAAAAtAAAAXBcAAFIAAAAtAAAAmBcAABMA` + - `AAAuAAAAtBYAAAUADACjAAAABwAAAMIAAAAJAAAAnAAAAAkAAADBAAAACwAAAEMAAAAmAC` + - `sAvgAAACYAAADGAAAAJwArAL4AAAAoACsAvgAAACkAKgC/AAAAKgArAL4AAAArAAAABAAA` + - `ACsAAAAFAAAAKwAAAAYAAAArAAAABwAAACsAAABBAAAAKwAAAEQAAAArACsAkwAAACsAGQ` + - `CiAAAAKwAjAKUAAAABACIAAwAAAAEAKQCnAAAAAQArAKgAAAAEADUAAwAAAAQACQBeAAAA` + - `BAAHAGAAAAAEAAgAbwAAAAQABQB9AAAABAAQAH8AAAAEAAoAqwAAAAQACwCrAAAABAAJAL` + - `QAAAAGAAwAewAAAAgADgB+AAAACQAiAAMAAAAJAAAAlAAAAAkAAADIAAAACgAdAMAAAAAM` + - `AB4AiAAAAA4AEgCYAAAADgAAAJ0AAAAQAAMAdAAAABAABAB0AAAAEgABAHkAAAASABMAng` + - `AAABQALgBhAAAAFAAAAIEAAAAUABQAhQAAABQAFwCGAAAAFAAAAI8AAAAUABEAkQAAABQA` + - `KgCSAAAAFgAUAIAAAAAXAAAAigAAABcAAACLAAAAFwAAAIwAAAAXAAAAjQAAABgAPQCWAA` + - `AAGAA+ALoAAAAZACcAAwAAABkALQBiAAAAGQAiAG0AAAAZADwArAAAABkAIwCwAAAAGQAj` + - `ALEAAAAZADEAsgAAABkAMgCzAAAAGQAjALUAAAAaACQAAwAAAB0AHQB6AAAAHgAAAJ0AAA` + - `AeABsAvQAAAB4AHQDAAAAAIQAiAAMAAAAjAD8AbgAAACMAQAB1AAAAIwAAAJ0AAAAjAEEA` + - `uwAAACQANQCfAAAAJgA5AAMAAAAmACIArQAAACcAOAADAAAAJwAiAK0AAAAoADgAAwAAAC` + - `gALwCpAAAAKQA3AAMAAAApACwAYwAAACkAMwBsAAAAKQAzAKoAAAAqADgAAwAAACoAIgCt` + - `AAAAKwAiAAMAAAArABgAVgAAACsAGQBXAAAAKwAfAFgAAAArACAAWQAAACsAIQBaAAAAKw` + - `A6AFsAAAArADgAXAAAACsAMABfAAAAKwAiAHAAAAArADUAcQAAACsANgByAAAAKwAjAHMA` + - `AAArADUAdwAAACsAFQB4AAAAKwAaAHwAAAArAAYAggAAACsADQCDAAAAKwAPAIQAAAArAA` + - `IAhwAAACsAHACJAAAAKwAdAI4AAAArABYAkAAAACsAIgCVAAAAKwAlAJkAAAArACIAmgAA` + - `ACsANQCbAAAAKwAiAJ4AAAArACYApgAAACsAKQCnAAAAKwArAKgAAAArADQArgAAACsAOw` + - `CvAAAAKwAiALYAAAArADUAtwAAACsANgC4AAAAKwAjALkAAAArACgAvAAAACsAIgDEAAAA` + - `KwApAMUAAAAmAAAAAAAAACEAAABkFgAACQAAABQWAAD5JgAAAAAAACcAAAAAAAAAIQAAAG` + - `QWAAAJAAAAJBYAAA0nAAAAAAAAKAAAAAAAAAAhAAAAbBYAAAkAAAA0FgAAHicAAAAAAAAp` + - `AAAAAAAAACEAAAB0FgAACQAAAEQWAAAvJwAAAAAAACoAAAAAAAAAIQAAAGQWAAAJAAAAVB` + - `YAAEgnAAAAAAAAKwAAAAEAAAABAAAAAAAAAAkAAAAAAAAAWScAAOomAAACAAAAviYAAMUm` + - `AAACAAAAziYAAMUmAAACAAAA1SYAAMUmAAACAAAA3CYAAMUmAAACAAAA4yYAAMUmAAADAA` + - `MAAQAAACwlAAAIAAAAWwEFAFkCBgBwEDUAAAAOAAYAAQADAAAAMyUAAHgAAAAVAQBAEmIS` + - `BBQAkAAIAFJTBgArA2UAAAAaAggAGgPDAHEgFQAyAFRSBQBxEEgAAgAMAm4gKwASAFRRBQ` + - `BxEEgAAQAMAW4gLAABAFRQBQAaAQIAcSBLABAAVFAFAHEQSAAAAAwAGgECAG4gLgAQAFRQ` + - `BQBxEEgAAAAMAG4gLwBAAFRQBQBxEEgAAAAMAG4QKQAAAFRQBQBxEEgAAAAMAG4QKgAAAF` + - `RQBQAaAZcAbiBbABAADAAfABgAVFEFAHEQSAABAAwBbjAmABAEDgABISisFACSAAgAASEo` + - `pwAAAAEDAAAAAAAKAAAAXQAAAF8AAAACAAIAAQAAAE4lAAAGAAAAWwEHAHAQNQAAAA4AAw` + - `ABAAIAAABVJQAADAAAAFQgBwBxEEgAAAAMABMBCABuIC8AEAAOAAIAAgABAAAAXCUAAAYA` + - `AABbAQgAcBA1AAAADgALAAoAAQAAAGMlAAAGAAAAVBAIAG4QbQAAAA4AAgACAAEAAABzJQ` + - `AABgAAAFsBCQBwEDUAAAAOAAQAAgADAAAAeiUAABcAAAByEBQAAwAKABIRNRARAFQgCQBU` + - `AAoAGgECAHEgSwAQABIAGgECAHIwEwADAQ4AAAAFAAUAAAAAAIQlAAABAAAADgAAAAcABQ` + - `ADAAAAjiUAAEkAAAByEDIAAwAKAFQhCQBUEQoAcRBKAAEADAFuEDgAAQAKATcQHwBUIAkA` + - `VAAKAJABBAZyMDMAQwEMAXIQNAABAAwBcSBNABAAVCAJAFQACgByEDQAAwAMAXEgSwAQAA` + - `4AchAyAAMACgBUIQkAVBEKAHEQSgABAAwBbhA4AAEACgE1EOT/VCAJAFQACgBxEE4AAAAo` + - `2wAAAgACAAEAAAClJQAABgAAAFsBCgBwEDUAAAAOAAUAAQADAAAArCUAAGAAAAAS41RACg` + - `AiARkAcQBMAAAADAJwICcAIQBxIEkAEABUQAoAcRBIAAAADAATAQgAbiAvABAAVEAKAHEQ` + - `SAAAAAwAFAGQAAgAbiAsABAAIgAaAHAwMAAwA1RBCgBxEEgAAQAMAW4gLQABAFRBCgBUQg` + - `oAcRBIAAIADAJuME8AIQBUQAoAGgECAHEgSwAQAFRACgBxEEgAAAAMABoBAgBuIC4AEABU` + - `QAoAcRBIAAAADAAiASkAcCBBAEEAbiAoABAADgACAAEAAQAAAL0lAAAKAAAAcBAAAAEAGg` + - `AAAFsQEwBpAREADgACAAEAAAAAAMUlAAADAAAAVBASABEAAAACAAIAAAAAAMslAAADAAAA` + - `WwESABEBAAACAAEAAAAAANIlAAADAAAAVBATABEAAAACAAIAAAAAANglAAADAAAAWwETAB` + - `EBAAABAAAAAAAAAN8lAAADAAAAYgARABEAAAACAAIAAgAAAOQlAAAEAAAAcCBhABAADgAB` + - `AAEAAQAAAOslAAAEAAAAcBBgAAAADgAHAAMAAwABAPElAAAZAAAAEvBxEBgABAAMAW4wFw` + - `BRBgoBOQEDAA8AARAo/g0BGgIIABoDdgBxMBYAMgEo9Q0BKPMAAAEAAAAHAAEAAQIRFx8O` + - `AAABAAAAAQAAAAImAAAGAAAAYgARAG4QUAAAAA4ABAABAAMAAQAIJgAAMwAAAG4QWAADAA` + - `wAbhBXAAMADAFuEAcAAQAMARMCgABuMAwAEAIMAFQBAAA5AQoAGgAIABoBoQBxIBUAEAAO` + - `AFQAAAAaAWQAbiASABAADABxEDoAAAAo9A0AGgEIABoCoABxMBYAIQAo6wAAAAAAACkAAQ` + - `ABAR8qAgABAAIAAAAZJgAACQAAACIAKgBwIEUAEABuIGYAAQAOAAAAAgABAAIAAAAiJgAA` + - `BgAAAGIAEQBuIFEAEAAOAAMAAgADAAAAKiYAAAYAAABiABEAbjBSABACDgACAAEAAgAAAD` + - `MmAAAGAAAAYgARAG4gUwAQAA4ABAABAAMAAAA6JgAAJAAAABoAlwBuIFsAAwAMAB8AGAAU` + - `AQIAAgFuIFUAEwAMAW4QGwABAAwBbhAeAAEADAESAm4wJQAQAiIAJwBwID0AMABuIGYAAw` + - `AOAAYAAgADAAAAQyYAAFcAAAASEyIABAAaAWYAcCADABAAGgFrAG4gNwBRAAoBOAEcAGAB` + - `BAATAhUANCEWACIABAAaAWcAcCADABAAbiAFADAAGgFCAHEgBgAQAAwAbjBsAAQDDgAaAc` + - `kAbiA2ABUACgE4AR4AYAEEABMCEwA0IRgAGgEBAG4gCwAQABoBaQAaAlUAbiA5ACUADAJu` + - `MAoAEAIaAWgAbiAEABAAKNNuIAsAUAAaAWgAbiAEABAAKMoAAAYAAwADAAAAVyYAAD4AAA` + - `AiAAQAGgFlAHAgAwAQABoByQBuIDYAFAAKATgBLQBgAQQAEwITADQhJwAaAQEAbiALABAA` + - `GgFpABoCVQBuIDkAJAAMAm4wCgAQAhoBagBuMAkAEAUaAWgAbiAEABAAGgFFAHEgBgAQAA` + - `wAEiFuMGwAAwEOAG4gCwBAACjoAwACAAMAAABpJgAACQAAACIAJgBwMDsAEAJuIGYAAQAO` + - `AAAAAgABAAEAAAByJgAACQAAAG4QVgABAAwAbhAxAAAADAARAAAABQAEAAIAAAB3JgAAHA` + - `AAABIQMgIGABIgMgIDAA4AEvAyAwgAGgAAAHAgVAABACj3bhAIAAQADABuEBEAAAAMAHAg` + - `VAABACjrAgACAAIAAACJJgAABwAAAG8gAQAQAG4gbgAQAA4AAAAEAAIAAgAAAJImAAAoAA` + - `AAcBBiAAIAbyACADIAcBBoAAIAbhBZAAIADABuEA0AAAAMAG4gbgACABQAAgACAW4gVQAC` + - `AAwAbhAbAAAADAAiASgAcCA/ACEAbiAZABAADgAHAAEABQABAJ8mAABgAAAAbhBdAAYADA` + - `BuECAAAAAMAG4QHAAAAAwAOQADAA4AbhAkAAAACgFuECEAAAAKAm4QIgAAAAoDbhAjAAAA` + - `CgBwUF8AFjIo7A0AIgAJAHAQDgAAAG4QXQAGAAwBbhAgAAEADAFuIB8AAQAUAQIAAgFuIF` + - `UAFgAMAW4QGwABAAwBUgIDAG4QGgABAAoDbhAPAAAACgSxQ1IEAwCxQ1IEAgBuEB0AAQAK` + - `AW4QEAAAAAoFsVFSAAIAkQABAHBQXwAmQyivAAAAACIAAQABASAjBAACAAIAAAC0JgAADw` + - `AAAFIwAQDdAAAwEwEgADMQBwASEHAgZwACAA4AEgAo+wAARAwAAAAAAAAAAAAAAAAAAFAM` + - `AAAAAAAAAAAAAAAAAABcDAAAAAAAAAAAAAAAAAAAaAwAAAAAAAAAAAAAAAAAAHQMAAAAAA` + - `AAAAAAAAAAAAABAAAAIgAAAAEAAAATAAAAAQAAAA8AAAACAAAAAAAAAAMAAAAAAAAAAAAA` + - `AAIAAAAjACMAAwAAACMAIwAlAAAAAQAAAAAAAAACAAAABAAeAAEAAAAjAAAAAgAAACMALg` + - `ACAAAAAgAAAAIAAAAAAB4AAQAAACsAAAACAAAAKwAZAAIAAAArACMABAAAAAAAAAAAAAAA` + - `AwAAAAAAAAAEAAAAAQAAAAMAAAACAAAABAAAAAEAAAAHAAAAAQAAAAkAAAABAAAADAAAAA` + - `EAAAAOAAAACQAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAgAAABQAFQABAAAAFQAAAAEAAAAe` + - `AAAABAAAAB4AAAAAAAAAAQAAACoAAAACAAAAKwAAAAEAAAAtAAAAAgAAAA0AAAACAAAAFA` + - `AAAAEAAAAhAAAAAyovKgABMAAGPGluaXQ+ABJERUZBVUxUX0lOUFVUX1RZUEUAFURFRkFV` + - `TFRfS0VZQk9BUkRfQ09ERQAORklMRV9PUEVOX0NPREUADkZJTEVfU0FWRV9DT0RFAARGeW` + - `5lABVHb05hdGl2ZUFjdGl2aXR5LmphdmEAAUkAA0lJSQAESUlJSQADSUxMAARJTExMAAFM` + - `AAJMSQADTElJAANMSUwAAkxMAANMTEkAA0xMTAAcTGFuZHJvaWQvYXBwL05hdGl2ZUFjdG` + - `l2aXR5OwAfTGFuZHJvaWQvY29udGVudC9Db21wb25lbnROYW1lOwAZTGFuZHJvaWQvY29u` + - `dGVudC9Db250ZXh0OwAYTGFuZHJvaWQvY29udGVudC9JbnRlbnQ7ACFMYW5kcm9pZC9jb2` + - `50ZW50L3BtL0FjdGl2aXR5SW5mbzsAI0xhbmRyb2lkL2NvbnRlbnQvcG0vUGFja2FnZU1h` + - `bmFnZXI7ACNMYW5kcm9pZC9jb250ZW50L3Jlcy9Db25maWd1cmF0aW9uOwAfTGFuZHJvaW` + - `QvY29udGVudC9yZXMvUmVzb3VyY2VzOwAXTGFuZHJvaWQvZ3JhcGhpY3MvUmVjdDsAEUxh` + - `bmRyb2lkL25ldC9Vcmk7ABpMYW5kcm9pZC9vcy9CdWlsZCRWRVJTSU9OOwATTGFuZHJvaW` + - `Qvb3MvQnVuZGxlOwAUTGFuZHJvaWQvb3MvSUJpbmRlcjsAF0xhbmRyb2lkL3RleHQvRWRp` + - `dGFibGU7ABpMYW5kcm9pZC90ZXh0L1RleHRXYXRjaGVyOwASTGFuZHJvaWQvdXRpbC9Mb2` + - `c7ADNMYW5kcm9pZC92aWV3L0tleUNoYXJhY3Rlck1hcCRVbmF2YWlsYWJsZUV4Y2VwdGlv` + - `bjsAHkxhbmRyb2lkL3ZpZXcvS2V5Q2hhcmFjdGVyTWFwOwAqTGFuZHJvaWQvdmlldy9WaW` + - `V3JE9uTGF5b3V0Q2hhbmdlTGlzdGVuZXI7ABNMYW5kcm9pZC92aWV3L1ZpZXc7ACVMYW5k` + - `cm9pZC92aWV3L1ZpZXdHcm91cCRMYXlvdXRQYXJhbXM7ABVMYW5kcm9pZC92aWV3L1dpbm` + - `RvdzsAG0xhbmRyb2lkL3ZpZXcvV2luZG93SW5zZXRzOwAtTGFuZHJvaWQvdmlldy9pbnB1` + - `dG1ldGhvZC9JbnB1dE1ldGhvZE1hbmFnZXI7ABlMYW5kcm9pZC93aWRnZXQvRWRpdFRleH` + - `Q7AClMYW5kcm9pZC93aWRnZXQvRnJhbWVMYXlvdXQkTGF5b3V0UGFyYW1zOwAjTGRhbHZp` + - `ay9hbm5vdGF0aW9uL0VuY2xvc2luZ01ldGhvZDsAHkxkYWx2aWsvYW5ub3RhdGlvbi9Jbm` + - `5lckNsYXNzOwAOTGphdmEvaW8vRmlsZTsAGExqYXZhL2xhbmcvQ2hhclNlcXVlbmNlOwAV` + - `TGphdmEvbGFuZy9FeGNlcHRpb247AB1MamF2YS9sYW5nL05vU3VjaE1ldGhvZEVycm9yOw` + - `ASTGphdmEvbGFuZy9PYmplY3Q7ABRMamF2YS9sYW5nL1J1bm5hYmxlOwASTGphdmEvbGFu` + - `Zy9TdHJpbmc7ABJMamF2YS9sYW5nL1N5c3RlbTsAFUxqYXZhL2xhbmcvVGhyb3dhYmxlOw` + - `AjTG9yZy9nb2xhbmcvYXBwL0dvTmF0aXZlQWN0aXZpdHkkMTsAI0xvcmcvZ29sYW5nL2Fw` + - `cC9Hb05hdGl2ZUFjdGl2aXR5JDI7ACNMb3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3Rpdm` + - `l0eSQzOwAlTG9yZy9nb2xhbmcvYXBwL0dvTmF0aXZlQWN0aXZpdHkkNCQxOwAjTG9yZy9n` + - `b2xhbmcvYXBwL0dvTmF0aXZlQWN0aXZpdHkkNDsAIUxvcmcvZ29sYW5nL2FwcC9Hb05hdG` + - `l2ZUFjdGl2aXR5OwAUTlVNQkVSX0tFWUJPQVJEX0NPREUACU9wZW4gRmlsZQAHU0RLX0lO` + - `VAAYU0lOR0xFTElORV9LRVlCT0FSRF9DT0RFAAlTYXZlIEZpbGUAAVYAAlZJAANWSUkABV` + - `ZJSUlJAARWSUlMAAJWTAADVkxJAAVWTElJSQAKVkxJSUlJSUlJSQADVkxMAAJWWgABWgAC` + - `WkwAA1pMSQATW0xqYXZhL2xhbmcvU3RyaW5nOwACXHwACmFjY2VzcyQwMDAACmFjY2Vzcy` + - `QwMDIACmFjY2VzcyQxMDAACmFjY2VzcyQxMDIACmFjY2VzcyQyMDAACmFjY2VzcyQzMDAA` + - `CmFjY2VzcyQ0MDAAC2FjY2Vzc0ZsYWdzAAthZGRDYXRlZ29yeQAOYWRkQ29udGVudFZpZX` + - `cACGFkZEZsYWdzABlhZGRPbkxheW91dENoYW5nZUxpc3RlbmVyABZhZGRUZXh0Q2hhbmdl` + - `ZExpc3RlbmVyABBhZnRlclRleHRDaGFuZ2VkABRhbmRyb2lkLmFwcC5saWJfbmFtZQAlYW` + - `5kcm9pZC5pbnRlbnQuYWN0aW9uLkNSRUFURV9ET0NVTUVOVAAjYW5kcm9pZC5pbnRlbnQu` + - `YWN0aW9uLk9QRU5fRE9DVU1FTlQAKGFuZHJvaWQuaW50ZW50LmFjdGlvbi5PUEVOX0RPQ1` + - `VNRU5UX1RSRUUAIGFuZHJvaWQuaW50ZW50LmNhdGVnb3J5Lk9QRU5BQkxFAB9hbmRyb2lk` + - `LmludGVudC5leHRyYS5NSU1FX1RZUEVTABphbmRyb2lkLmludGVudC5leHRyYS5USVRMRQ` + - `AXYXBwbGljYXRpb24veC1kaXJlY3RvcnkAEWJlZm9yZVRleHRDaGFuZ2VkAAxicmluZ1Rv` + - `RnJvbnQACGNvbnRhaW5zAA1jcmVhdGVDaG9vc2VyAA5kb0hpZGVLZXlib2FyZAAOZG9TaG` + - `93RmlsZU9wZW4ADmRvU2hvd0ZpbGVTYXZlAA5kb1Nob3dLZXlib2FyZAABZQAGZXF1YWxz` + - `ACFleGNlcHRpb24gcmVhZGluZyBLZXlDaGFyYWN0ZXJNYXAAEmZpbGVQaWNrZXJSZXR1cm` + - `5lZAAMZmluZFZpZXdCeUlkAANnZXQAD2dldEFic29sdXRlUGF0aAAPZ2V0QWN0aXZpdHlJ` + - `bmZvAAtnZXRDYWNoZURpcgAMZ2V0Q29tcG9uZW50ABBnZXRDb25maWd1cmF0aW9uAAdnZX` + - `REYXRhAAxnZXREZWNvclZpZXcACWdldEhlaWdodAAJZ2V0SW50ZW50ABFnZXRQYWNrYWdl` + - `TWFuYWdlcgAMZ2V0UmVzb3VyY2VzAAtnZXRSb290VmlldwATZ2V0Um9vdFdpbmRvd0luc2` + - `V0cwAHZ2V0UnVuZQAJZ2V0U3RyaW5nABBnZXRTeXN0ZW1TZXJ2aWNlABpnZXRTeXN0ZW1X` + - `aW5kb3dJbnNldEJvdHRvbQAYZ2V0U3lzdGVtV2luZG93SW5zZXRMZWZ0ABlnZXRTeXN0ZW` + - `1XaW5kb3dJbnNldFJpZ2h0ABdnZXRTeXN0ZW1XaW5kb3dJbnNldFRvcAAJZ2V0VG1wZGly` + - `AAhnZXRXaWR0aAAJZ2V0V2luZG93AA5nZXRXaW5kb3dUb2tlbgAcZ2V0V2luZG93VmlzaW` + - `JsZURpc3BsYXlGcmFtZQAQZ29OYXRpdmVBY3Rpdml0eQAGaGVpZ2h0AAxoaWRlS2V5Ym9h` + - `cmQAF2hpZGVTb2Z0SW5wdXRGcm9tV2luZG93AAxpbnB1dF9tZXRob2QABmluc2VydAANaW` + - `5zZXRzQ2hhbmdlZAAOa2V5Ym9hcmREZWxldGUADWtleWJvYXJkVHlwZWQABGxlZnQABmxl` + - `bmd0aAAEbG9hZAALbG9hZExpYnJhcnkAEmxvYWRMaWJyYXJ5IGZhaWxlZAAnbG9hZExpYn` + - `Jhcnk6IG5vIG1hbmlmZXN0IG1ldGFkYXRhIGZvdW5kAAltVGV4dEVkaXQACG1ldGFEYXRh` + - `AARuYW1lAAhvbGRTdGF0ZQAQb25BY3Rpdml0eVJlc3VsdAAWb25Db25maWd1cmF0aW9uQ2` + - `hhbmdlZAAIb25DcmVhdGUADm9uTGF5b3V0Q2hhbmdlAA1vblRleHRDaGFuZ2VkAAhwdXRF` + - `eHRyYQAMcmVxdWVzdEZvY3VzAANydW4ADXJ1bk9uVWlUaHJlYWQAC3NldERhcmtNb2RlAA` + - `1zZXRJbWVPcHRpb25zAAxzZXRJbnB1dFR5cGUAD3NldExheW91dFBhcmFtcwAHc2V0VGV4` + - `dAAHc2V0VHlwZQANc2V0VmlzaWJpbGl0eQAKc2V0dXBFbnRyeQAMc2hvd0ZpbGVPcGVuAA` + - `xzaG93RmlsZVNhdmUADHNob3dLZXlib2FyZAANc2hvd1NvZnRJbnB1dAAFc3BsaXQAFnN0` + - `YXJ0QWN0aXZpdHlGb3JSZXN1bHQAC3N1YlNlcXVlbmNlAAZ0aGlzJDAABnRoaXMkMQAIdG` + - `9TdHJpbmcAA3RvcAAGdWlNb2RlACJ1bmtub3duIGtleWJvYXJkIHR5cGUsIHVzZSBkZWZh` + - `dWx0AAx1cGRhdGVMYXlvdXQAC3VwZGF0ZVRoZW1lABB2YWwka2V5Ym9hcmRUeXBlAAV2YW` + - `x1ZQAFd2lkdGgAAXwAUQIAAAcOAFQAB3cQAg5ZeZaYeLWWlpellgJrLCBLAnQdAIABAQAH` + - `DgCDAQAHDrQA2gEBAAcOAN0BCQAAAAAAAAAAAAcOWgDzAQEABw4AhwIBAAcOeJZrAIICBA` + - `AAAAAHDgD2AQQAAAAABw4BEg8BERS0AnodARIQAOMBAQAHDgDmAQAHHeG0xFuWtni1Ahvg` + - `ADEABw44Ti0AGwEABw4AGwIAAAcOABsBAAcOABsCAAAHDgAbAAcOABsCAAAHDgAbAQAHDg` + - `CuAQMAAAAHHYc0AnssIB6DAHgABw5aAMUBAAcOS6NMS38Cex2HSx4A4wEABw4CLYYAiQEB` + - `AAcOWgCdAQIAAAcOWgBNAQAHDloAfAAHDoe0iIwAjQEBAAcdeOF4RJYCdx3hWrRqPAChAQ` + - `IAAAcOeOFat1papQJ7HQBRAQAHDgIkhgA2AAcOAJUCAwAAAAcOAgxoAnkdPGxLAKUCAQAH` + - `Djw8ANQBAQAHDjw8PLW0jAA7AAcOwwIOLAJ2HYeFTB5atbT/0ACqAgEABw6WPBsAAhsBxw` + - `EaUwIcAl0EAKQBHgIbAccBGlACGwHHARplAhsBxwEaRgIbAccBGmgGRJAACAQABAEEAgQC` + - `BAEAAgEBBZAgAZAgO4CABIAZPAGgGQABAQEHkCA9gIAEoBs+AbwbAAEBAQiQID+AgATkG0` + - `ABgBwAAQEDCZAgQYCABJwcQgG4HAEB+BwBAYwdAAEBAQqQIEWAgASwHkYBzB4HAhQKCxoB` + - `GgEaARoBGgEaAQoSAgECR4GABJwgAYggwCABiCDYIAGIIPAgAYggiCEBiCCgIQGIILghAY` + - `gg0CEGggIABgjoIQQIvCIBggIAAYICAAGCAgABAtgiBYICAAEC3CMBCIAkAQicJAEIuCRQ` + - `ANQkAQCsJQEA7CYBAPgnCQCcKAcEwCgBAYgpAQGoKQgAiCoBBOQrEQAAAAAAAAABAAAAAA` + - `AAAAEAAADKAAAAcAAAAAIAAAAvAAAAmAMAAAMAAABCAAAAVAQAAAQAAAAUAAAAbAcAAAUA` + - `AABvAAAADAgAAAYAAAAGAAAAhAsAAAMQAAAFAAAARAwAAAEgAAAlAAAAgAwAAAYgAAAFAA` + - `AAFBYAAAEQAAAjAAAAZBYAAAIgAADKAAAAnhcAAAMgAAAlAAAALCUAAAQgAAAGAAAAviYA` + - `AAUgAAABAAAA6iYAAAAgAAAGAAAA+SYAAAAQAAABAAAA8CcAAA==` + +var dexStr = `ZGV4CjAzNQCuiXhXcB/3x18IxZwivxbbtahJpJ5Vh42MKQAAcAAAAHhWNBIAAAAAAAAAAL` + + `woAADMAAAAcAAAAC8AAACgAwAAQgAAAFwEAAAVAAAAdAcAAG4AAAAcCAAABgAAAIwLAABA` + + `HQAATAwAADQYAAA2GAAAOxgAAD4YAABGGAAAWhgAAHEYAACBGAAAkRgAAJcYAACuGAAAsR` + + `gAALYYAAC8GAAAwRgAAMcYAADKGAAAzhgAANMYAADXGAAA3BgAAOEYAAD/GAAAIBkAADsZ` + + `AABVGQAAeBkAAJ0ZAADCGQAA4xkAAPwZAAAPGgAAKxoAAEAaAABWGgAAbxoAAIsaAACfGg` + + `AA1BoAAPQaAAAgGwAANRsAAFwbAABzGwAAkBsAAL8bAADaGwAABRwAACocAABKHAAAWhwA` + + `AHQcAACLHAAAqhwAAL4cAADUHAAA6BwAAPwcAAATHQAAOB0AAF0dAACCHQAAqR0AAM4dAA` + + `DxHQAABx4AABIeAAAqHgAAMx4AAE0eAABYHgAAWx4AAF8eAABkHgAAax4AAHEeAAB1HgAA` + + `eh4AAIEeAACNHgAAkh4AAJYeAACZHgAAnR4AAKIeAACnHgAAvB4AAMAeAADMHgAA2B4AAO` + + `QeAADwHgAA/B4AAAgfAAAUHwAAIR8AAC4fAAA+HwAASB8AAGMfAAB7HwAAjR8AAKMfAADK` + + `HwAA7x8AABkgAAA7IAAAXCAAAHggAACRIAAApCAAALIgAAC8IAAAyyAAANsgAADrIAAA+y` + + `AAAAshAAAOIQAAFiEAADkhAABNIQAAWyEAAGAhAABxIQAAgiEAAI8hAACdIQAAryEAALgh` + + `AADGIQAA0SEAANwhAADvIQAA/SEAAAoiAAAfIgAAKCIAADMiAABFIgAAYSIAAHsiAACWIg` + + `AAryIAALgiAADDIgAAzSIAANgiAADoIgAABiMAABgjAAAgIwAALiMAAEcjAABSIwAAYCMA` + + `AG8jAAB/IwAAjiMAAJQjAACcIwAAoiMAAK8jAADDIwAA7CMAAPcjAAABJAAAByQAABkkAA` + + `AxJAAAOyQAAEskAABaJAAAZCQAAHIkAAB3JAAAhiQAAJMkAACiJAAAsCQAAMEkAADPJAAA` + + `2CQAAOEkAADwJAAA/CQAAAolAAAYJQAAJiUAADUlAAA8JQAAVCUAAGElAABpJQAAcSUAAH` + + `slAACAJQAAiCUAAKwlAAC6JQAAxyUAANklAADgJQAA5yUAAAoAAAAVAAAAFgAAABcAAAAY` + + `AAAAGQAAABoAAAAbAAAAHAAAAB0AAAAeAAAAHwAAACAAAAAhAAAAIgAAACMAAAAkAAAAJQ` + + `AAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgAAAC8AAAAwAAAAMQAAADIA` + + `AAAzAAAANAAAADUAAAA2AAAANwAAADgAAAA5AAAAOgAAADsAAAA8AAAAPQAAAD4AAAA/AA` + + `AARgAAAFEAAABVAAAACgAAAAAAAAAAAAAACwAAAAAAAAAQFwAADAAAAAAAAAAYFwAADQAA` + + `AAAAAAAkFwAADgAAAAAAAAAsFwAADwAAAAIAAAAAAAAADwAAAAQAAAAAAAAAEAAAAAQAAA` + + `A4FwAAFAAAAAQAAABAFwAAEgAAAAQAAABIFwAAFAAAAAQAAAAkFwAAFAAAAAQAAABQFwAA` + + `EwAAAAUAAABYFwAADwAAAAYAAAAAAAAADwAAAAcAAAAAAAAADwAAAAgAAAAAAAAADwAAAA` + + `oAAAAAAAAADwAAAA0AAAAAAAAADwAAAA4AAAAAAAAAEAAAABIAAAA4FwAADwAAABQAAAAA` + + `AAAAEAAAABQAAAA4FwAADwAAABYAAAAAAAAADwAAABcAAAAAAAAAEgAAABkAAABgFwAAFA` + + `AAABkAAABoFwAADwAAAB0AAAAAAAAAEQAAAB4AAAAQFwAAEgAAACEAAABIFwAADwAAACMA` + + `AAAAAAAAEgAAACMAAABIFwAADwAAACsAAAAAAAAARgAAACwAAAAAAAAARwAAACwAAAA4Fw` + + `AASAAAACwAAAAQFwAASQAAACwAAABwFwAASgAAACwAAAB8FwAASwAAACwAAACIFwAATAAA` + + `ACwAAACQFwAASwAAACwAAACYFwAASwAAACwAAACgFwAASwAAACwAAACoFwAASwAAACwAAA` + + `CwFwAASwAAACwAAAAIFwAASwAAACwAAAAAFwAATgAAACwAAAC4FwAATwAAACwAAADQFwAA` + + `SwAAACwAAADYFwAASwAAACwAAADgFwAATQAAACwAAADoFwAASwAAACwAAAD4FgAASwAAAC` + + `wAAABIFwAATwAAACwAAAAkFwAASwAAACwAAAD0FwAASwAAACwAAABgFwAATAAAACwAAAD8` + + `FwAATwAAACwAAAAEGAAAUAAAACwAAAAMGAAAUQAAAC0AAAAAAAAAUwAAAC0AAAAUGAAAUw` + + `AAAC0AAAAcGAAAUgAAAC0AAADgFwAAUgAAAC0AAAAkGAAAUgAAAC0AAABgFwAAVAAAAC0A` + + `AAAsGAAAEgAAAC4AAABIFwAABQAMAKUAAAAHAAAAxAAAAAkAAACeAAAACQAAAMMAAAALAA` + + `AAQwAAACYAKwDAAAAAJgAAAMgAAAAnACsAwAAAACgAKwDAAAAAKQAqAMEAAAAqACsAwAAA` + + `ACsAAAAEAAAAKwAAAAUAAAArAAAABgAAACsAAAAHAAAAKwAAAEAAAAArAAAAQgAAACsAAA` + + `BEAAAAKwArAJUAAAArAC0AmQAAACsAGQCkAAAAAQAgAAMAAAABACcAqAAAAAEAKQCpAAAA` + + `BAAzAAMAAAAEAAkAXwAAAAQABwBhAAAABAAIAHAAAAAEAAUAfgAAAAQAEACAAAAABAAKAK` + + `wAAAAEAAsArAAAAAQACQC2AAAABgAMAHwAAAAIAA4AfwAAAAkAIAADAAAACQAAAJYAAAAJ` + + `AAAAygAAAAoAHQDCAAAADAAeAIkAAAAOAAAAnwAAABAAAwB1AAAAEAAEAHUAAAASAAEAeg` + + `AAABIAEwCgAAAAFAAsAGIAAAAUAAAAggAAABQAFACGAAAAFAAXAIcAAAAUAAAAkQAAABQA` + + `EQCTAAAAFAAoAJQAAAAWABQAgQAAABcAAACLAAAAFwAAAIwAAAAXAAAAjQAAABcAAACOAA` + + `AAGAA7AJgAAAAYADwAvAAAABkAJQADAAAAGQArAGMAAAAZACAAbgAAABkAEgCPAAAAGQA6` + + `AK0AAAAZACEAsQAAABkAIQCyAAAAGQAvALMAAAAZACEAtAAAABkAMAC1AAAAGQAhALcAAA` + + `AaACIAAwAAAB0AHQB7AAAAHgAbAL8AAAAeAB0AwgAAACEAIAADAAAAIwA9AG8AAAAjAD4A` + + `dgAAACMAQQC9AAAAJAAzAKEAAAAmADcAAwAAACYAIACuAAAAJwA2AAMAAAAnACAArgAAAC` + + `gANgADAAAAKAAtAKoAAAApADUAAwAAACkAKgBkAAAAKQAxAG0AAAApADEAqwAAACoANgAD` + + `AAAAKgAgAK4AAAArACAAAwAAACsAGABXAAAAKwAZAFgAAAArAD8AWQAAACsAQABaAAAAKw` + + `AfAFsAAAArADgAXAAAACsANgBdAAAAKwAuAGAAAAArACAAcQAAACsAMwByAAAAKwA0AHMA` + + `AAArACEAdAAAACsAMwB4AAAAKwAVAHkAAAArABoAfQAAACsABgCDAAAAKwANAIQAAAArAA` + + `8AhQAAACsAAgCIAAAAKwAcAIoAAAArAB0AkAAAACsAFgCSAAAAKwAgAJcAAAArACMAmwAA` + + `ACsAIACcAAAAKwAzAJ0AAAArACAAoAAAACsAJACnAAAAKwAnAKgAAAArACkAqQAAACsAMg` + + `CvAAAAKwA5ALAAAAArACAAuAAAACsAMwC5AAAAKwA0ALoAAAArACEAuwAAACsAJgC+AAAA` + + `KwAgAMYAAAArACcAxwAAACYAAAAAAAAAIQAAAPgWAAAJAAAAqBYAAMInAAAAAAAAJwAAAA` + + `AAAAAhAAAA+BYAAAkAAAC4FgAA1icAAAAAAAAoAAAAAAAAACEAAAAAFwAACQAAAMgWAADn` + + `JwAAAAAAACkAAAAAAAAAIQAAAAgXAAAJAAAA2BYAAPgnAAAAAAAAKgAAAAAAAAAhAAAA+B` + + `YAAAkAAADoFgAAESgAAAAAAAArAAAAAQAAAAEAAAAAAAAACQAAAAAAAAAiKAAAsScAAAIA` + + `AACFJwAAjCcAAAIAAACVJwAAjCcAAAIAAACcJwAAjCcAAAIAAACjJwAAjCcAAAIAAACqJw` + + `AAjCcAAAMAAwABAAAA6iUAAAgAAABbAQUAWQIGAHAQNQAAAA4ABgABAAMAAADxJQAAmAAA` + + `ABUCAEASYRIEFQAIAFJTBgArA4QAAAABIRoCCAAaA8UAcSAUADIAVFIFAHEQRwACAAwCbi` + + `ArABIAVFEFAHEQRwABAAwBbiAsAAEAVFAFABIRcSBKABAAVFAFAHEQRwAAAAwAGgECAG4g` + + `LwAQAFRQBQBxEEcAAAAMAFRRBQBxEEcAAQAMAW4QKQABAAwBchATAAEACgFuIC4AEABUUA` + + `UAcSBKAEAAVFAFAHEQRwAAAAwAbiAwAEAAVFAFAHEQRwAAAAwAbhAoAAAAVFAFAHEQRwAA` + + `AAwAbhAqAAAAVFAFABoBmgBuIFoAEAAMAB8AGABUUQUAcRBHAAEADAFuMCUAEAQOAAEhKJ` + + `EUAAIACAAojRQAkAAIACiCAAAAAQQAAAAAAHkAAAALAAAAewAAAH8AAAACAAIAAQAAABIm` + + `AAAGAAAAWwEHAHAQNQAAAA4AAwABAAIAAAAZJgAADAAAAFQgBwBxEEcAAAAMABMBCABuID` + + `AAEAAOAAIAAgABAAAAICYAAAYAAABbAQgAcBA1AAAADgALAAoAAQAAACcmAAAGAAAAVBAI` + + `AG4QbAAAAA4AAgACAAEAAAA3JgAABgAAAFsBCQBwEDUAAAAOAAQAAgACAAAAPiYAAD8AAA` + + `ASEXIQEwADAAoANRA5AFQgCQBUAAoAcSBKABAAVCAJAFQACgBxEEcAAAAMABoBAgBuIC8A` + + `EABUIAkAVAAKAHEQRwAAAAwAVCEJAFQRCgBxEEcAAQAMAW4QKQABAAwBchATAAEACgFuIC` + + `4AEABUIAkAVAAKABIBcSBKABAADgAAAAcABQABAAAATCYAABoAAABUIAkAVAAKAHEQSQAA` + + `AAoAOAADAA4APQX//xIANVD8/1QhCQBUEQoAcRBNAAEA2AAAASj1BwAFAAMAAABdJgAAHw` + + `AAAFQgCQBUAAoAcRBJAAAACgA4AAMADgA9Bv//VCAJAFQACgCQAQQGcjAzAEMBDAFyEDQA` + + `AQAMAXEgTAAQACjsAAACAAIAAQAAAGomAAAGAAAAWwEKAHAQNQAAAA4ABQABAAMAAABxJg` + + `AAbwAAABLjVEAKACIBGQBxAEsAAAAMAnAgJgAhAHEgSAAQAFRACgBxEEcAAAAMABMBCABu` + + `IDAAEABUQAoAcRBHAAAADAAVAQgAbiAsABAAIgAaAHAwMQAwA1RBCgBxEEcAAQAMAW4gLQ` + + `ABAFRBCgBUQgoAcRBHAAIADAJuME4AIQBUQAoAcRBHAAAADAAaAQIAbiAvABAAVEAKAHEQ` + + `RwAAAAwAVEEKAHEQRwABAAwBbhApAAEADAFyEBMAAQAKAW4gLgAQAFRACgBxEEcAAAAMAC` + + `IBKQBwIEAAQQBuICcAEAAOAAAAAgABAAEAAACEJgAACQAAAHAQAAABABIAXBATAGkBEgAO` + + `AAAAAgABAAAAAACMJgAAAwAAAFQQFAARAAAAAgACAAAAAACSJgAAAwAAAFsBFAARAQAAAg` + + `ABAAAAAACZJgAAAwAAAFUQEwAPAAAAAgACAAAAAACfJgAAAwAAAFwBEwAPAQAAAQAAAAAA` + + `AACmJgAAAwAAAGIAEgARAAAAAgACAAIAAACrJgAABAAAAHAgYAAQAA4AAQABAAEAAACyJg` + + `AABAAAAHAQXwAAAA4ABwADAAMAAQC4JgAAGQAAABLwcRAXAAQADAFuMBYAUQYKATkBAwAP` + + `AAEQKP4NARoCCAAaA3cAcTAVADIBKPUNASjzAAABAAAABwABAAECERcfDgAAAQAAAAEAAA` + + `DJJgAABgAAAGIAEgBuEE8AAAAOAAQAAQADAAEAzyYAADMAAABuEFcAAwAMAG4QVgADAAwB` + + `bhAHAAEADAETAoAAbjAMABACDABUAQAAOQEKABoACAAaAaMAcSAUABAADgBUAAAAGgFlAG` + + `4gEgAQAAwAcRA5AAAAKPQNABoBCAAaAqIAcTAVACEAKOsAAAAAAAApAAEAAQEfKgIAAQAC` + + `AAAA4CYAAAkAAAAiACoAcCBEABAAbiBlAAEADgAAAAIAAQACAAAA6SYAAAYAAABiABIAbi` + + `BQABAADgADAAIAAwAAAPEmAAAGAAAAYgASAG4wUQAQAg4AAgABAAIAAAD6JgAABgAAAGIA` + + `EgBuIFIAEAAOAAQAAQADAAAAAScAACQAAAAaAJoAbiBaAAMADAAfABgAFAECAAIBbiBUAB` + + `MADAFuEBoAAQAMAW4QHQABAAwBEgJuMCQAEAIiACcAcCA8ADAAbiBlAAMADgAGAAIAAwAA` + + `AAonAABXAAAAEhMiAAQAGgFnAHAgAwAQABoBbABuIDcAUQAKATgBHABgAQQAEwIVADQhFg` + + `AiAAQAGgFoAHAgAwAQAG4gBQAwABoBQQBxIAYAEAAMAG4wawAEAw4AGgHLAG4gNgAVAAoB` + + `OAEeAGABBAATAhMANCEYABoBAQBuIAsAEAAaAWoAGgJWAG4gOAAlAAwCbjAKABACGgFpAG` + + `4gBAAQACjTbiALAFAAGgFpAG4gBAAQACjKAAAGAAMAAwAAAB4nAAA+AAAAIgAEABoBZgBw` + + `IAMAEAAaAcsAbiA2ABQACgE4AS0AYAEEABMCEwA0IScAGgEBAG4gCwAQABoBagAaAlYAbi` + + `A4ACQADAJuMAoAEAIaAWsAbjAJABAFGgFpAG4gBAAQABoBRQBxIAYAEAAMABIhbjBrAAMB` + + `DgBuIAsAQAAo6AMAAgADAAAAMCcAAAkAAAAiACYAcDA6ABACbiBlAAEADgAAAAIAAQABAA` + + `AAOScAAAkAAABuEFUAAQAMAG4QMgAAAAwAEQAAAAUABAACAAAAPicAABwAAAASEDICBgAS` + + `IDICAwAOABLwMgMIABoAAABwIFMAAQAo924QCAAEAAwAbhARAAAADABwIFMAAQAo6wIAAg` + + `ACAAAAUCcAAAcAAABvIAEAEABuIG0AEAAOAAAABAACAAIAAABZJwAAKAAAAHAQYQACAG8g` + + `AgAyAHAQZwACAG4QWAACAAwAbhANAAAADABuIG0AAgAUAAIAAgFuIFQAAgAMAG4QGgAAAA` + + `wAIgEoAHAgPgAhAG4gGAAQAA4ABwABAAUAAQBmJwAAYAAAAG4QXAAGAAwAbhAfAAAADABu` + + `EBsAAAAMADkAAwAOAG4QIwAAAAoBbhAgAAAACgJuECEAAAAKA24QIgAAAAoAcFBeABYyKO` + + `wNACIACQBwEA4AAABuEFwABgAMAW4QHwABAAwBbiAeAAEAFAECAAIBbiBUABYADAFuEBoA` + + `AQAMAVICAwBuEBkAAQAKA24QDwAAAAoEsUNSBAMAsUNSBAIAbhAcAAEACgFuEBAAAAAKBb` + + `FRUgACAJEAAQBwUF4AJkMorwAAAAAiAAEAAQEgIwQAAgACAAAAeycAAA8AAABSMAEA3QAA` + + `MBMBIAAzEAcAEhBwIGYAAgAOABIAKPsAAEwMAAAAAAAAAAAAAAAAAABYDAAAAAAAAAAAAA` + + `AAAAAAZAwAAAAAAAAAAAAAAAAAAHAMAAAAAAAAAAAAAAAAAAB8DAAAAAAAAAAAAAAAAAAA` + + `AQAAACIAAAABAAAAEwAAAAEAAAAPAAAAAgAAAAAAAAADAAAAAAAAAAAAAAACAAAAIwAjAA` + + `MAAAAjACMAJQAAAAEAAAAAAAAAAgAAAAQAHgABAAAAIwAAAAIAAAAjAC4AAgAAAAIAAAAB` + + `AAAAKwAAAAIAAAArABkABAAAAAAAAAAAAAAAAwAAAAAAAAAEAAAAAQAAAAMAAAACAAAABA` + + `AAAAEAAAAHAAAAAQAAAAkAAAABAAAADAAAAAEAAAAOAAAACQAAABQAAAAAAAAAAAAAAAAA` + + `AAAAAAAAAgAAABQAFQABAAAAFQAAAAEAAAAeAAAABAAAAB4AAAAAAAAAAQAAACoAAAACAA` + + `AAKwAAAAIAAAArACMAAQAAAC0AAAACAAAADQAAAAIAAAAUAAAAAQAAACEAAAACAAAAKwAt` + + `AAAAAyovKgABMAAGPGluaXQ+ABJERUZBVUxUX0lOUFVUX1RZUEUAFURFRkFVTFRfS0VZQk` + + `9BUkRfQ09ERQAORklMRV9PUEVOX0NPREUADkZJTEVfU0FWRV9DT0RFAARGeW5lABVHb05h` + + `dGl2ZUFjdGl2aXR5LmphdmEAAUkAA0lJSQAESUlJSQADSUxMAARJTExMAAFMAAJMSQADTE` + + `lJAAJMTAADTExJAANMTEwAHExhbmRyb2lkL2FwcC9OYXRpdmVBY3Rpdml0eTsAH0xhbmRy` + + `b2lkL2NvbnRlbnQvQ29tcG9uZW50TmFtZTsAGUxhbmRyb2lkL2NvbnRlbnQvQ29udGV4dD` + + `sAGExhbmRyb2lkL2NvbnRlbnQvSW50ZW50OwAhTGFuZHJvaWQvY29udGVudC9wbS9BY3Rp` + + `dml0eUluZm87ACNMYW5kcm9pZC9jb250ZW50L3BtL1BhY2thZ2VNYW5hZ2VyOwAjTGFuZH` + + `JvaWQvY29udGVudC9yZXMvQ29uZmlndXJhdGlvbjsAH0xhbmRyb2lkL2NvbnRlbnQvcmVz` + + `L1Jlc291cmNlczsAF0xhbmRyb2lkL2dyYXBoaWNzL1JlY3Q7ABFMYW5kcm9pZC9uZXQvVX` + + `JpOwAaTGFuZHJvaWQvb3MvQnVpbGQkVkVSU0lPTjsAE0xhbmRyb2lkL29zL0J1bmRsZTsA` + + `FExhbmRyb2lkL29zL0lCaW5kZXI7ABdMYW5kcm9pZC90ZXh0L0VkaXRhYmxlOwAaTGFuZH` + + `JvaWQvdGV4dC9UZXh0V2F0Y2hlcjsAEkxhbmRyb2lkL3V0aWwvTG9nOwAzTGFuZHJvaWQv` + + `dmlldy9LZXlDaGFyYWN0ZXJNYXAkVW5hdmFpbGFibGVFeGNlcHRpb247AB5MYW5kcm9pZC` + + `92aWV3L0tleUNoYXJhY3Rlck1hcDsAKkxhbmRyb2lkL3ZpZXcvVmlldyRPbkxheW91dENo` + + `YW5nZUxpc3RlbmVyOwATTGFuZHJvaWQvdmlldy9WaWV3OwAlTGFuZHJvaWQvdmlldy9WaW` + + `V3R3JvdXAkTGF5b3V0UGFyYW1zOwAVTGFuZHJvaWQvdmlldy9XaW5kb3c7ABtMYW5kcm9p` + + `ZC92aWV3L1dpbmRvd0luc2V0czsALUxhbmRyb2lkL3ZpZXcvaW5wdXRtZXRob2QvSW5wdX` + + `RNZXRob2RNYW5hZ2VyOwAZTGFuZHJvaWQvd2lkZ2V0L0VkaXRUZXh0OwApTGFuZHJvaWQv` + + `d2lkZ2V0L0ZyYW1lTGF5b3V0JExheW91dFBhcmFtczsAI0xkYWx2aWsvYW5ub3RhdGlvbi` + + `9FbmNsb3NpbmdNZXRob2Q7AB5MZGFsdmlrL2Fubm90YXRpb24vSW5uZXJDbGFzczsADkxq` + + `YXZhL2lvL0ZpbGU7ABhMamF2YS9sYW5nL0NoYXJTZXF1ZW5jZTsAFUxqYXZhL2xhbmcvRX` + + `hjZXB0aW9uOwAdTGphdmEvbGFuZy9Ob1N1Y2hNZXRob2RFcnJvcjsAEkxqYXZhL2xhbmcv` + + `T2JqZWN0OwAUTGphdmEvbGFuZy9SdW5uYWJsZTsAEkxqYXZhL2xhbmcvU3RyaW5nOwASTG` + + `phdmEvbGFuZy9TeXN0ZW07ABVMamF2YS9sYW5nL1Rocm93YWJsZTsAI0xvcmcvZ29sYW5n` + + `L2FwcC9Hb05hdGl2ZUFjdGl2aXR5JDE7ACNMb3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3` + + `Rpdml0eSQyOwAjTG9yZy9nb2xhbmcvYXBwL0dvTmF0aXZlQWN0aXZpdHkkMzsAJUxvcmcv` + + `Z29sYW5nL2FwcC9Hb05hdGl2ZUFjdGl2aXR5JDQkMTsAI0xvcmcvZ29sYW5nL2FwcC9Hb0` + + `5hdGl2ZUFjdGl2aXR5JDQ7ACFMb3JnL2dvbGFuZy9hcHAvR29OYXRpdmVBY3Rpdml0eTsA` + + `FE5VTUJFUl9LRVlCT0FSRF9DT0RFAAlPcGVuIEZpbGUAFlBBU1NXT1JEX0tFWUJPQVJEX0` + + `NPREUAB1NES19JTlQAGFNJTkdMRUxJTkVfS0VZQk9BUkRfQ09ERQAJU2F2ZSBGaWxlAAFW` + + `AAJWSQADVklJAAVWSUlJSQAEVklJTAACVkwAA1ZMSQAFVkxJSUkAClZMSUlJSUlJSUkAA1` + + `ZMTAACVloAAVoAAlpMAANaTEkAA1pMWgATW0xqYXZhL2xhbmcvU3RyaW5nOwACXHwACmFj` + + `Y2VzcyQwMDAACmFjY2VzcyQwMDIACmFjY2VzcyQxMDAACmFjY2VzcyQxMDIACmFjY2Vzcy` + + `QyMDAACmFjY2VzcyQzMDAACmFjY2VzcyQ0MDAAC2FjY2Vzc0ZsYWdzAAthZGRDYXRlZ29y` + + `eQAOYWRkQ29udGVudFZpZXcACGFkZEZsYWdzABlhZGRPbkxheW91dENoYW5nZUxpc3Rlbm` + + `VyABZhZGRUZXh0Q2hhbmdlZExpc3RlbmVyABBhZnRlclRleHRDaGFuZ2VkABRhbmRyb2lk` + + `LmFwcC5saWJfbmFtZQAlYW5kcm9pZC5pbnRlbnQuYWN0aW9uLkNSRUFURV9ET0NVTUVOVA` + + `AjYW5kcm9pZC5pbnRlbnQuYWN0aW9uLk9QRU5fRE9DVU1FTlQAKGFuZHJvaWQuaW50ZW50` + + `LmFjdGlvbi5PUEVOX0RPQ1VNRU5UX1RSRUUAIGFuZHJvaWQuaW50ZW50LmNhdGVnb3J5Lk` + + `9QRU5BQkxFAB9hbmRyb2lkLmludGVudC5leHRyYS5NSU1FX1RZUEVTABphbmRyb2lkLmlu` + + `dGVudC5leHRyYS5USVRMRQAXYXBwbGljYXRpb24veC1kaXJlY3RvcnkAEWJlZm9yZVRleH` + + `RDaGFuZ2VkAAxicmluZ1RvRnJvbnQACGNvbnRhaW5zAA1jcmVhdGVDaG9vc2VyAA5kb0hp` + + `ZGVLZXlib2FyZAAOZG9TaG93RmlsZU9wZW4ADmRvU2hvd0ZpbGVTYXZlAA5kb1Nob3dLZX` + + `lib2FyZAABZQAGZXF1YWxzACFleGNlcHRpb24gcmVhZGluZyBLZXlDaGFyYWN0ZXJNYXAA` + + `EmZpbGVQaWNrZXJSZXR1cm5lZAAMZmluZFZpZXdCeUlkAANnZXQAD2dldEFic29sdXRlUG` + + `F0aAAPZ2V0QWN0aXZpdHlJbmZvAAtnZXRDYWNoZURpcgAMZ2V0Q29tcG9uZW50ABBnZXRD` + + `b25maWd1cmF0aW9uAAdnZXREYXRhAAxnZXREZWNvclZpZXcACWdldEhlaWdodAAJZ2V0SW` + + `50ZW50ABFnZXRQYWNrYWdlTWFuYWdlcgAMZ2V0UmVzb3VyY2VzAAtnZXRSb290VmlldwAT` + + `Z2V0Um9vdFdpbmRvd0luc2V0cwAHZ2V0UnVuZQAJZ2V0U3RyaW5nABBnZXRTeXN0ZW1TZX` + + `J2aWNlABpnZXRTeXN0ZW1XaW5kb3dJbnNldEJvdHRvbQAYZ2V0U3lzdGVtV2luZG93SW5z` + + `ZXRMZWZ0ABlnZXRTeXN0ZW1XaW5kb3dJbnNldFJpZ2h0ABdnZXRTeXN0ZW1XaW5kb3dJbn` + + `NldFRvcAAHZ2V0VGV4dAAJZ2V0VG1wZGlyAAhnZXRXaWR0aAAJZ2V0V2luZG93AA5nZXRX` + + `aW5kb3dUb2tlbgAcZ2V0V2luZG93VmlzaWJsZURpc3BsYXlGcmFtZQAQZ29OYXRpdmVBY3` + + `Rpdml0eQAGaGVpZ2h0AAxoaWRlS2V5Ym9hcmQAF2hpZGVTb2Z0SW5wdXRGcm9tV2luZG93` + + `AAlpZ25vcmVLZXkADGlucHV0X21ldGhvZAANaW5zZXRzQ2hhbmdlZAAOa2V5Ym9hcmREZW` + + `xldGUADWtleWJvYXJkVHlwZWQABGxlZnQABmxlbmd0aAAEbG9hZAALbG9hZExpYnJhcnkA` + + `EmxvYWRMaWJyYXJ5IGZhaWxlZAAnbG9hZExpYnJhcnk6IG5vIG1hbmlmZXN0IG1ldGFkYX` + + `RhIGZvdW5kAAltVGV4dEVkaXQACG1ldGFEYXRhAARuYW1lABBvbkFjdGl2aXR5UmVzdWx0` + + `ABZvbkNvbmZpZ3VyYXRpb25DaGFuZ2VkAAhvbkNyZWF0ZQAOb25MYXlvdXRDaGFuZ2UADW` + + `9uVGV4dENoYW5nZWQACHB1dEV4dHJhAAxyZXF1ZXN0Rm9jdXMAA3J1bgANcnVuT25VaVRo` + + `cmVhZAALc2V0RGFya01vZGUADXNldEltZU9wdGlvbnMADHNldElucHV0VHlwZQAPc2V0TG` + + `F5b3V0UGFyYW1zAAxzZXRTZWxlY3Rpb24AB3NldFRleHQAB3NldFR5cGUADXNldFZpc2li` + + `aWxpdHkACnNldHVwRW50cnkADHNob3dGaWxlT3BlbgAMc2hvd0ZpbGVTYXZlAAxzaG93S2` + + `V5Ym9hcmQADXNob3dTb2Z0SW5wdXQABXNwbGl0ABZzdGFydEFjdGl2aXR5Rm9yUmVzdWx0` + + `AAtzdWJTZXF1ZW5jZQAGdGhpcyQwAAZ0aGlzJDEACHRvU3RyaW5nAAN0b3AABnVpTW9kZQ` + + `AidW5rbm93biBrZXlib2FyZCB0eXBlLCB1c2UgZGVmYXVsdAAMdXBkYXRlTGF5b3V0AAt1` + + `cGRhdGVUaGVtZQAQdmFsJGtleWJvYXJkVHlwZQAFdmFsdWUABXdpZHRoAAF8AFECAAAHDg` + + `BUAAdKDy0CD2h5lphptAEXD1uWlpellgJjLCM8IAJzSgCDAQEABw4AhgEABw60AN0BAQAH` + + `DgDgAQkAAAAAAAAAAAAHDloA9gEBAAcOAJECAQAHHWl40gEbD4kAgwIEAAAAAAcOrQJ6HS` + + `09dQD5AQQAAAAABw6qGi0A5gEBAAcOAOkBAAcd4bS1W5a2tAEXEAIk4AAxAAcOOD8tABsB` + + `AAcOABsCAAAHDgAbAQAHDgAbAgAABw4AGwAHDgAbAgAABw4AGwEABw4AsQEDAAAABx2HNA` + + `J7LCAegwB7AAcOWgDIAQAHDkujTEt/Ansdh0seAOYBAAcOAjaGAIwBAQAHDloAoAECAAAH` + + `DloATQEABw5aAH8ABw6HtIiMAJABAQAHHXjheESWAncd4Vq0ajwApAECAAAHDnjhWrdaWq` + + `UCex0AUQEABw4CJ4YANgAHDgChAgMAAAAHDgIMaAJ5HTxsSwCxAgEABw48PADXAQEABw48` + + `PDy1tIwAOwAHDsMCDiwCdh2HhUweWrW0/9AAtgIBAAcOljwbAAIbAckBGlICHAJeBACmAR` + + `4CGwHJARpPAhsByQEaZAIbAckBGkUCGwHJARpnB0QAAAgEAAQBBAIEAgQDBAEAAgEBBZAg` + + `AZAgOoCABIgZOwGoGQABAQEHkCA8gIAE6Bs9AYQcAAEBAQiQID6AgASsHD8ByBwAAQEDCZ` + + `AgQICABOQcQQGAHQEBkB4BAdQeAAEBAQqQIESAgASkH0UBwB8IAhQKCxoBGgEaARoBGgEa` + + `ARoBChMCAQJGgYAEsCEBiCDUIQGIIOwhAYgghCIBiCCcIgGIILQiAYggzCIBiCDkIgaCAg` + + `AGCPwiBAjQIwGCAgABggIAAYICAAEC7CMFggIAAQLwJAEIlCUBCLAlAQjMJU8A6CUBAMAm` + + `AQCAKAEAjCkJALApBwTUKQEBnCoBAbwqCACcKwEE+CwAEQAAAAAAAAABAAAAAAAAAAEAAA` + + `DMAAAAcAAAAAIAAAAvAAAAoAMAAAMAAABCAAAAXAQAAAQAAAAVAAAAdAcAAAUAAABuAAAA` + + `HAgAAAYAAAAGAAAAjAsAAAMQAAAFAAAATAwAAAEgAAAlAAAAiAwAAAYgAAAFAAAAqBYAAA` + + `EQAAAjAAAA+BYAAAIgAADMAAAANBgAAAMgAAAlAAAA6iUAAAQgAAAGAAAAhScAAAUgAAAB` + + `AAAAsScAAAAgAAAGAAAAwicAAAAQAAABAAAAvCgAAA==` + `` diff --git a/driver/mobile/keyboard.go b/driver/mobile/keyboard.go index 8243e1206c..605c0652f3 100644 --- a/driver/mobile/keyboard.go +++ b/driver/mobile/keyboard.go @@ -14,6 +14,8 @@ const ( SingleLineKeyboard // NumberKeyboard is the keyboard with number input style and "Done" return key NumberKeyboard + // PasswordKeyboard is used to ensure that text is not leaked to 3rd party keyboard providers + PasswordKeyboard ) // Keyboardable describes any CanvasObject that needs a keyboard diff --git a/internal/driver/mobile/app/GoNativeActivity.java b/internal/driver/mobile/app/GoNativeActivity.java index a0e84c6f43..445397ae3f 100644 --- a/internal/driver/mobile/app/GoNativeActivity.java +++ b/internal/driver/mobile/app/GoNativeActivity.java @@ -29,12 +29,12 @@ public class GoNativeActivity extends NativeActivity { private static final int FILE_OPEN_CODE = 1; private static final int FILE_SAVE_CODE = 2; - private static final int DEFAULT_INPUT_TYPE = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | - InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; // this is required to force samsung keyboards to not suggest + private static final int DEFAULT_INPUT_TYPE = InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; private static final int DEFAULT_KEYBOARD_CODE = 0; private static final int SINGLELINE_KEYBOARD_CODE = 1; private static final int NUMBER_KEYBOARD_CODE = 2; + private static final int PASSWORD_KEYBOARD_CODE = 3; private native void filePickerReturned(String str); private native void insetsChanged(int top, int bottom, int left, int right); @@ -43,7 +43,7 @@ public class GoNativeActivity extends NativeActivity { private native void setDarkMode(boolean dark); private EditText mTextEdit; - private String oldState = ""; + private boolean ignoreKey = false; public GoNativeActivity() { super(); @@ -86,16 +86,17 @@ public void run() { switch (keyboardType) { case DEFAULT_KEYBOARD_CODE: imeOptions = EditorInfo.IME_FLAG_NO_ENTER_ACTION; - inputType = DEFAULT_INPUT_TYPE; break; case SINGLELINE_KEYBOARD_CODE: imeOptions = EditorInfo.IME_ACTION_DONE; - inputType = DEFAULT_INPUT_TYPE; break; case NUMBER_KEYBOARD_CODE: imeOptions = EditorInfo.IME_ACTION_DONE; - inputType = DEFAULT_INPUT_TYPE | InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL; + inputType |= InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL; break; + case PASSWORD_KEYBOARD_CODE: + imeOptions = EditorInfo.IME_ACTION_DONE; + inputType |= InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; default: Log.e("Fyne", "unknown keyboard type, use default"); } @@ -103,8 +104,10 @@ public void run() { mTextEdit.setInputType(inputType); // always place one character so all keyboards can send backspace - oldState = "0"; + ignoreKey = true; mTextEdit.setText("0"); + mTextEdit.setSelection(mTextEdit.getText().length()); + ignoreKey = false; mTextEdit.setVisibility(View.VISIBLE); mTextEdit.bringToFront(); @@ -237,32 +240,41 @@ public void run() { addContentView(mTextEdit, mEditTextLayoutParams); // always place one character so all keyboards can send backspace - oldState = "0"; mTextEdit.setText("0"); + mTextEdit.setSelection(mTextEdit.getText().length()); mTextEdit.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { - if (s.length() > oldState.length()) { + if (ignoreKey) { + return; + } + if (count > 0) { keyboardTyped(s.subSequence(start,start+count).toString()); - } else if (s.length() < oldState.length()) { - // send a backspace - keyboardDelete(); } - - oldState = s.toString(); } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { + if (ignoreKey) { + return; + } + if (count > 0) { + for (int i = 0; i < count; i++) { + // send a backspace + keyboardDelete(); + } + } } @Override public void afterTextChanged(Editable s) { // always place one character so all keyboards can send backspace if (s.length() < 1) { - oldState = "0"; - s.insert(0,"0"); + ignoreKey = true; + mTextEdit.setText("0"); + mTextEdit.setSelection(mTextEdit.getText().length()); + ignoreKey = false; return; } } diff --git a/internal/driver/mobile/driver.go b/internal/driver/mobile/driver.go index 91e9a3aa95..e57cc683e5 100644 --- a/internal/driver/mobile/driver.go +++ b/internal/driver/mobile/driver.go @@ -28,7 +28,6 @@ import ( const ( tapMoveThreshold = 4.0 // how far can we move before it is a drag tapSecondaryDelay = 300 * time.Millisecond // how long before secondary tap - backspaceDelay = 50 * time.Millisecond // how quickly can a user type backspace in succession ) // Configuration is the system information about the current device @@ -50,8 +49,6 @@ type mobileDriver struct { animation *animation.Runner currentSize size.Event - lastBackspace time.Time - theme fyne.ThemeVariant onConfigChanged func(*Configuration) painting bool @@ -493,14 +490,6 @@ func (d *mobileDriver) typeDownCanvas(canvas *mobileCanvas, r rune, code key.Cod r = runeToPrintable(r) keyEvent := &fyne.KeyEvent{Name: keyName} - // If backspace was too quick, we received a real backspace followed by simulated backspace - if keyEvent.Name == fyne.KeyBackspace { - if time.Since(d.lastBackspace) < backspaceDelay { - return - } - d.lastBackspace = time.Now() - } - if canvas.Focused() != nil { if keyName != "" { canvas.Focused().TypedKey(keyEvent) diff --git a/widget/entry.go b/widget/entry.go index 365173672e..838098cbb2 100644 --- a/widget/entry.go +++ b/widget/entry.go @@ -347,6 +347,8 @@ func (e *Entry) Keyboard() mobile.KeyboardType { if e.MultiLine { return mobile.DefaultKeyboard + } else if e.Password { + return mobile.PasswordKeyboard } return mobile.SingleLineKeyboard