-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcodemagic.yaml
44 lines (44 loc) · 11.6 KB
/
codemagic.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
workflows:
android-workflow:
name: Android Workflow
max_build_duration: 60
instance_type: mac_mini
environment:
vars:
FCI_KEYSTORE_PATH: /tmp/keystore.keystore
FCI_KEYSTORE: Encrypted(Z0FBQUFBQmd3WnVfWjN5Z0JSa3gyYnB5c0ZpTjNlR0J0aDBDYzA1Z2RmMkFWY1Q1amdPWXY2S3R1STZmTmRoMVNsQTlFazU1NExrcVJMMW02TmZfYXN1Y3FpcDZRckFhMFROb09EODFiREdkUUN1NEgtYTFUM014Zy1mNHl1OVZZMDRFUjlFbXdmbGVwRjNIcEpCZ3FOZVotNmdiNmdBRmpjZEViOENXV0Y4ZHVPTXp0cGtWVGdfd1V2ZWdBR0FtSkhieV9HMnllQ2tRTU9hTENnZWxkb29DSXhtc0JTS0hnaXZpZVJZY0d4c1B4bDI4MDZpVkpsSGdTNUxoQXM3MmdGR3l1bjdwZGNYUGM3YjhITXFaY3VLWDdOLVozTFRHRGxlR01WT1VDX0Q1dXlOMjVleHFDTTU5T2dFQ3o5a2RSaXpmTlg1VTJuTy1GMV9UTWY2Umxyb3RXR0tUYXhvY29iSHJwTndzMGZFZDBnTG9TdUNSY2xkd2cxLWFXNGpkQS1BdVlFUFB0dFZITlZuelR0RkhBeldrYUMxQjJBdXhaZ2hUY3NVbXZXZXhpaERtTmJDVHRwSkhUVWp5a1hIRmlxdXY1eGNlY1BkcmZBTjAwZVJzRVVnSXdWNWp1OEw2MzZYRkV1MjhCMzZ0aXFRVGk5Mmt6am04ZV9jTHZtRGR1TGY2Y3dRRXFXWldLMnJtNWZfQzNGNl9NaGUxcWZ5c2ViM3hoOWFndDRqemt1dnMtSXFMYW1QVmtPSDBIWmFpcFpyeUpHN1FnR2ppX3cwVGJkVjRMZDNmbE92Y3ZzZXNUYmREXzVkekZXamxEVmpJMjhGNzF5c1ZrMUxxSkNBVHhpQUlmRmdmNDVHeVBLa1c5ZkhmTU5PMG5aZjY3WFBHTU9qSTE2bnJ3dWpGVUctWVNJVEZETGZtWHZfbnRKZXFZVm1Lb2lieGV6YzFEN08zc2dNNURNdy1zbG9LRE8yWDJ4eDhrbE9GX2JBMHBnUEthYmtUZU1HdlhIR2xpSWI1YUdiZkRwejhBSnFsS0phX0RMWWFOMFlsbXUzSTV1QmVEUkh3SjBjZkFodUFzWXJnVDlSdVdPWDR3LV9HNU9RaFFSR1hLSUlWT2lxSVhYYzY1Q1U4dGRqaWlKNTdsdWlLYVBpRzI2bkRlYldZa0RSc09kVC1qMzJ0cE5wZTVlWEF0Qk91VW5EbGFrYjA1d1hSSVlrVmswemZLcnFXQW1oSlpieXgtWmdWQ1RGVW40UTFMWTY3eGMxOGF6d3NzS0gxUFBmUUdrWktlbUIySVpreGFFX1g0VUY3TW4tSzVzaXJJcW1GY0Jzc25NNG5hUGxxaXh1WXRmYkhVcnkzc3UtWkZYSy1EYzJQelFKZklqWGh4VUpOaUsxazUtTWNPR1VUS3FCdFlOQ0JvNkdPNDdIYTVnRnJ2UzRob01uZ2FQa0VOZnBmMk1KSnRZbm5GMTFVdENabTZJQlB1a3NxR01DQ3J2SjZhT0pTOTZVTkFYZlZUT0lUMGFwTHliMDEwb0lwdUVXazFXUHhuaUJMQ2dPWFNybzVBaHBITWZKWGFBRzZHejRrMG1HdFNicGdBTmhpczFkSFFRRlNKNGtWR1hGeGZjY3owcGM1Q2lmM0ducmFWVlg1WGVDZDhYSFFEb0tidXVZenZpNGJrZWVhT1VieG5SSGVkZ0h6eGFrNnBFR1l2eDlYYmY0emN4bFhqYVlpSTdYLTIzUEJaUHFvNWVFTXBLV1J6bXBVTEZfWWdZNmE0dENMbUNWb3d2NFhqY0tqQkVxd1BJXzYwT1FCdDhvdUtDS2JiOUc3N0x2bjNieEdfQ1dzRW1pbXU2aWtXWHdGOUQtNkJtU3Q5QXgzX1hTcFloZ3FmNVoxWGV2WmtpaTQ1STMweDJRV1A1bGNWVERsMGRfSXROM0lyeV9fcFRCV3B0UUxMdzYxS3M0Q2dEMjZzWkFWYUY5TGF2RkRUU0NPTHRhTEI2QWhVbFhVREx0VWV4Y1NTQ2Rnc0FtazVTV1M3N0pYQ0pFd1lET0xldm53S2dWVEdKVGllbi00Q3lka1l3ekwxUHh2aTRLQmZnaktSd1dGa0ZTVjBFRFpHYVVucDdNc0ZmeENqZjk3WEpjcC1Od1Q5WEhNMzBycS1UdmhNQXRZdXVfdnpOajRzQmR4SzhXd2VoeUVVT2hxSVEtNUJJdFRoYnUxSVBxUDdmTFU0dEFDSVd2RkJ4TGZsYUp4Q0JwRU9EblljbGtmZC1QUlRWN2c3aVFUUVpHVW5KYVI5Nm02Z2RCTVQ4c1RkbEJFZGczVnJkQ2huVjRIeXl2MDY3NzVWelhPZ2phRkwwbEF1empWVzlLaHBCeWZNVnA1VW53OVNpZ3pzbXRINEQtMXpZRlBUeUoxUWxMQXN2Tl9vMVQzOVVkdXBGd0ZYd2RiRTJTMEVfN3U0cl9PRmlwUXlYOUdpMnM5aFlhZEtGWmFrSkM3X25YVU8ydG5pdWFJWjlFcUJITDhFYl9ZUjljQW5uUkJxaFNFbFpoWHRkWUFWZzlLdWpqOUNoOHhWc1liTUo3c0lzOEZBNmRJM2NDak92emg0RkJNM3o2ZmZSOUJCUktWME50ODI5Vkl6Z0ZaVElfejZjRjhFblU2NVZES0hEMUV6c2RNRVJFcjdTek9uRjRZSXlueV9PRTQ4QnQ5cm4tb0d0Rkl0V0k4azIzRGg0MWVvSmk3RmprQXBNWmhkM19oMndwS1lrTWJBNzJBdk5hNl9zMmlyelQwNVBQb3ZOUWJ6VzJJVTBFQVJmOE53MlA4ZW12UGxKSUhnYTItWXhDSEVwS2VpM2hGNXRZazkxQ0NORV9DZG1sSDBNZ0J3bk9jYV9La2NrYUpwTkpDVE91OUFuX0t6TFpYUy01YUpqaFRRVlM4SHJONUpWZmtXZ0ZtVDRXdk5Bem5ESUktekFlZzFDOXBzOXZvakY4QXN4cjk2c1UzU0dSWWI2VXlhR3VIN082WTFkcjI2TFNmWURBV0VQR1RMRDRMWnJ6S29HenA5bkpUNEN3dzJKYVdQeUVzMDdpVjRxTnA3Q3phdkYtNFdMV2NuR2I0bV85c3lra1ZQekxuZFYyRXhFT2VQVU5xU1JvOERoWDBtRFVWYm5nZGp2dXNNdVF1dkpHTDdySkp0MmdaTTJoN3RmalB5ZUljQnh5UzhObGNWY1BFcld1eTdRNGVTQlFrT1dobE9wOU9hb3RpVWJneWdBdDBPcFIwOUhyME51MkVHTnJsR0wyY1hYZ2FxeF95LW93dmltd3Y0Nzh3SjA5eDdJTnhiM0thbW90NlY0emg4NWZtSkxYWlVFRkJJRlZMQ19EWVJRcWNHZmtFZ01rc0FUdEJRYlQ0MmdUUnppLS1oTVRsaU5wdnNTX3pwbk1pdjNvSXZRYW9IaXdwaE1uNEJGSWxhci1EQmY2YzNhaHFqTExVZjU2ejV2TlhMS2N3a0IwWVhUYUdGNFlJTVFEX3ptRU9WdjFLazhNMzRqQUkxM0lKemJGZHJQVV9tR2doTEYxczczT09iU2tHY2d4aHYwRXJZWmJtNGs0N1plOUNkX0Nzbkd3NlJKcGVYS1luVEI2ZkVTWkY5VVVldlNtUTYxLWdNVmlUQVJ1d3NxRXJ4TFlKSjRRVFRYaHB0bVhUSXJmWEZfNVd6UWcyTHJIUDY2MlpfRlFWQTdYN2RnYzVmcm1RTUR2YXRQLW45UlVVWXUyOVVXZWVNajBjeHBldVllSmZxNHVWVU5Ic3oyTkFJRjhBZkVXUjVoYmZwREkyWGg0UFdkU0M2SmdkaHNkUE14Z0s0ZDBhOFBhMDhQb1BKTVU3akN0cWlhMUFyNWZlNnIyNUgtVi03Zkx2aFhGVkhaUWQyYUZ2cVE2NVdXdDRYNEZDNHRSNDVhOEVMS1BuUEVGeF83UkZTYnVWSW9mZDdnVnRabDRkWm1LeVlSUjhoMW9ucVpFRVp4bTU5TC1uSS1EaFpaWTJTU2p2QTZzWjRZaHNBM2dXaFFUd0NaZVpfVkNWNUJvbE1CS1lsaU5pSVBaRkFjWkVhV0FPTGpZXzJMSGlaNGJXLTM2VmR6QmpmVktsSWY4dXJMc0g3emVudkRNWVpaSERpaTNyNDlMeVQ3RE5ka0dqaUE3U0ZTS3dWNVgzaVIzVzgtMURJZ2JXZVRPUmlUX2FvTGI5a19iQ2xoTzUweGN0bXVyRWt0a0F3Q3pBMmdENkZTRk1tRzFYaWg5bGl6Zl8yb1FnTU5Xc3FIclREQVRYRmpfOGVUNmpacWY2WGVOSk91MHlQV0owV2NPQkZiaGlfZ1JEUV82YVNYeXhBZDZOdEhnanJ1X2lVVFFWakZQMGRrTEs5QVZiYTdFSFFpUGJJVXl0NXYyY1ZlLVpXR2lIMHNkeWJNSGtIclh4TmdRMThyYXZQX0l2akVjbU0wSFBWQ0czVTRyRlJFaHFzRXVGMm1aM09DekZRZkVBYWV3U2owVVlBbEtQZjRfR2lQdFJwNDZaa0RZSG9pVnZlelVjaFMwV1VTT2ZId0c1SnppRUt3NjJNNUdJVFRoMWVIYWYwQ2FnX0MtaFpoNVFpVmpuUmRLMTBPVjJJcy05YXp2alNCWk80NTZ4X2Q2cU9pLWgyVTh3Y1k2MU5KZ2dmd3AteFFKeXBQYVNGSVNiejNOUVRHQ1Z3d1hsQnJtaG1KZnJ2V1FDeXVwUkJ4ZU93ZUNxWnFVTkI0UWI0TEdJUnBGT0F2MWJubF9zbUNXbVd2QjBBb1V2QzZ1S3NCM3c5YnlKOEZGUFBFTkZYYm4yU0dpR2hMU3ZzdGc3amlkWnVfOXpLM2d4RE83bFNVRDB2T0stWU9oOGFQbWp3anY0Y21obFY5Ry03MWhXdThsS29MR3R5TjFoOHJTREd5Y0UyTHJqeHR3V0xvWUtVaXE0RzVhVUJtNW1lOTZmT0xSczRLMDRaQ0dkcWYyTEhLUlA1VHNTSXJzbEh3WU5zcG45eUpNbU9yTHJIR1ZYWmNYWnVMYU9kb3JWd1dmRlVncTdldmRnaVFVRklPcy1IZmdGV2hWYW5SbnhuMUpVMl8yV1d4bXJTbFBQY2pJanJDTVppRlFGZmxhYlpEMUhMVzlLeGdYYVhIY2JROHBJMktfdnBHSy1XS1BqeTFFMDhsYWF2VHJ6Sk1BMzBTOFdEbGs4RVpsQ1BPU0wyNTJKdi1uTDJHclZ0MEM0VzhfMjVsLUtlOXJqLTJIcGJBUlF6TjBGR0YwLVN5eFFXT2dSRjR3MzJ5NjdMQ0Nzbko0ZERJbExCeldTVHNPam9TNEEyUjV1Z0wxV2w3NW9JTl9KN25YT2dLdVY2N0Q1cDBJSi0xc2tKUzlVRzhLQXA3YmpyOTloeTViM19BOUlCVTF2QV9qakI1SGduUWhpZkV6Q3luZ19Fb2tISENYbm0zWXllWFJiUDluUHFGV3ZZbUZpZ2NCQ05FSmZUcmlhSFlTS2FvYUNGdnpPaXF2Q0RMRmE0MVVfUjladkxPNEZRQ0M0Rk9hR3NMamNOS08wODNzdDRNN1hOSXlLYmpaQmMzR1FyRTQ2dXJrV0pFSmlCVWd1UVFDTmdqN3RHMzdZaHBWcXBsQzFjS0tpcnBYYVRqNTdhTFkyTVNLQm5lSklVMzc2TFJpdzBmUUpHcFF4Nm9ZWDVrNU16REJuSGNGWTkyb0s2MFNOVnJEeGswQm9EalFBSS1vZTBEVjd2SUdES2tIUjZXU0VyZy1LNld2ZDh4U3dfcWN6ZnRFb3BRLWc1UW1NVy1uOGlWWXpUclh5MGdYOGl3OFJINU1XdnAwcWFJMFM3OTNPZ21oS18wTm9WRFlucGtJM25BPT0=)
FCI_KEYSTORE_PASSWORD: Encrypted(Z0FBQUFBQmd3YlRpUUFzQmZicGZJM3NVU2VXUmF5eGtJcjh0YU5JdkJlRTJkeklqazVHSXJiS3c3WXFRRWxTd01WaUlDV3dURUs0dkV4T01vUnNhZEx4dTBZdTkzZEVfTEE9PQ==)
FCI_KEY_PASSWORD: Encrypted(Z0FBQUFBQmd3YlRpUUFzQmZicGZJM3NVU2VXUmF5eGtJcjh0YU5JdkJlRTJkeklqazVHSXJiS3c3WXFRRWxTd01WaUlDV3dURUs0dkV4T01vUnNhZEx4dTBZdTkzZEVfTEE9PQ==)
FCI_KEY_ALIAS: Encrypted(Z0FBQUFBQmd3YlVEdl93M2NFT3pmX0xqUXJ3cnpBN2FRVDB5MWM1SXF0R0E4RXZuTGhyV2FFbVdiVjEyVXBIbjhPVXh0aEdsTTNQREtPcWpfVW5iS0o5d3VydmRRWWF1dEE9PQ==)
node: latest
triggering:
events:
- push
- tag
- pull_request
branch_patterns:
- pattern: dev
include: true
source: true
scripts:
- name: Set up local properties
script: echo "sdk.dir=$ANDROID_SDK_ROOT" > "$FCI_BUILD_DIR/local.properties"
- name: Set up key.properties file for code signing
script: |
echo $FCI_KEYSTORE | base64 --decode > $FCI_KEYSTORE_PATH
cat >> "$FCI_BUILD_DIR/key.properties" <<EOF
storePassword=$FCI_KEYSTORE_PASSWORD
keyPassword=$FCI_KEY_PASSWORD
keyAlias=$FCI_KEY_ALIAS
storeFile=$FCI_KEYSTORE_PATH
EOF
- name: Make gradlew executable
script: chmod +x ./gradlew
- name: Build Android Release app
script: ./gradlew bundleRelease
artifacts:
- app/build/outputs/**/**/*.aab
publishing:
google_play:
credentials: Encrypted(Z0FBQUFBQmc1M09hLWlxQ29pSjcwd3VWdUV3Qnc0dUhqYVR0Z1BKUHlVZHczTXBLaHRXMmJxUGRrU3V5eHNLRGpQQWJBczRMQVlJMlJ5YXVOQXdocUMwNUxoeEF6Y0NrR2V0NmdUWHE2NEI2RDZldGx1UkFucG5MdW5oQ05oVloySFVMdlJVdUgwSDZzWWg5ZXhGcDM4c3hWOG9JWGZhRDJSLTVBTVlGQ0xQQmNTZ0g1Q1JZY09KaVR6QUEwSTZMZlNtM1VwNUU5QlRjdFJMcVRFNWV5eE4zd25FZUFxbV8yNGhQUVBPczZ2YXBQbnVoYjFUTnEtLTd1T0dzZDhfQ1ZQSl9uU0N5ajg2cTN4WGM3YVhXb0J5b3kyYUJUMkVlbXpXZkxUeHpxcVliSmxBVmd3bzU3eDk2UC1GWHZTd3dKZ3hHRU50a0Z1SjBRdGpLZkI4ckVlQjMycVVCTXJ3RHJqVUZuRVdLZ3V6UWhMNjVuQnM4V2U4UkNUT0hkc3hfQWExa2J6VU10dG5XQmNhSS1jdlpnUTdRQVFZVXJQTG81V3RyTWhsdE95X1drVW54aFNBQ2hZa21xSDJRUWpocDRZWXhQeFE4d2ZVMGs4QVdFdmtMZG5FWVZTMVRCZ2NMNmhQYXlEVHEyRGxRNHZMN0Y3MGVsbTdKb01lbWVNQ0xiU0x0RUdhNlVycUJjTUhpa3NXb1pMcFg3MmpKV3FPQklpdGFJT0JlWWJ2MjY0LXdQYVNNRGNVYXJnTkNMOXItZ3FKeFN5UjAtWDd2LXFDNngwUWNIanFsb1o5eVZXdFdueVhIaC1RMUdzOFI2dXI5RXlOYjZzQU5KbmpuT0lRbnBuSXFSSGY5b25oWjZUVmhEVFE3d0F3dGpQM3NjSjJNMTQtZEM3U3NaLTNLTjE5Nk8zdXk1Y3lrY3BJODJiaTlRZjY3Y0J3UkoySnM5a2l2MTB1c3Z6NnhOLVlITlRTMFdxTHI1bGRZcTdFbnJmYy1YNVNsX1hqc1FuMHdxWURYUUJkRVVCV21IX3pfRmtMWmFtM2RrQkN3M0ZuVnVzTGxWZ3BiTmhiNE5IUDd2STh1dTRJaF9iNnBEMHhzbjJnRVJvbURseXRlbjQ4Um5aV2FJWVpRNk96cmVGZjZoa2dhSlotcDhFS2oxUE56Sng2eHg2TlpCbjZKWTFHSHlnQkY4eXI4SEVtOWRTUXNTVEFDSDNyV2VSekVLR3N3Vnd6MU9NQ2RrNEVSUWF6TTBQRjE5UDFJTlcyYS16UFZxZi1zMnFmOEJ6VTQ3UlA4SnNpWURFN2dFWE81c0MyWkNPYk41MnFDX0xuZ1kwRmFmdnliLXdLcTFQTm9XclNlR1BET3NsT0JSeUU4SHhneFlYU2hqYkJKRzlWRjBuemZqejY4Ulhld1B4emdnMWhFaFk0NEVXeEl5aHgwd2l1Z05aZ0JzeDE5cUstWldVTHdrSFZkRXJzX25NRW4zdGtWck1mbmlFYmhHTHlVYjdIRXBndnJ5V09hTzRtQTIzMDNEVU9oUmpoV3otT2tzU1h4TkZ0MU5paFVaR0NtMXRUTXZHbWJLbFdEVXNodnhWWTVXNl9BSjBRRGl2ek5ZT3NTZTJBT29QTEg1aThfSG9WcE5CMTRhZUtTT05OclpNQ1FhWFdMWHhGZlZ3QzJvZHRTNDJXRU1oN2hlWE1SdVFaLWVZaG5MdHhKTEtIcHRCaFhjeEQwSE9DNzJ4ZWJRc0loZ0JCY3JFY190MVBrNXZ6S3JaZGhCOG02R2ZIZ2h6R3BHZndxX0lrZi1UYS1QNVBRSm1rVXc4UlQ3OWlFRVNVU0IxWUJtWlRNWVdZSzEzQmlfWEg5dV9TTGhOeVhQMVpkb2pKWGFvYlB4RmM4V3dVemFQY2syMm9OQmxMWlp4UXdkQmhONWcyV1ptaXktVFlSZmlnWS1DQUp2Z01GVEltWDNTUGRYakxwVXRaZE8yYmNheEtrdDhiTUs0cmRTd3lpd3pQUUJMdHMtQ2U2TkhyQzRDWFdzZXNZWnc2QjdadXVkWTFBYVJQbXh0TW95S3NPUjdGaG95RjRTamFvRXlEajBhbWRxNFNUXzEtSnJiWjU1TWxBMDRUUWlESmM3ZmpIUDdOanhJdzhiMmtxUEpXLVJDWXBzWDBLSzdTQlNNS01mQTZnQ2R1RjVFZURZVU4zYXlwcVhsTDctS19mS3RrQ3NTUlRid28wU2llMzNDcFI4MXRDUVEteWZYRU1CZ1huWlRsb2pyOFB3WlRFcm9xQkFuM2Rua0F6N3ZxaWEwNE5rS08yaEo1RWtGU0g5dkdIb2tvOFNaVEtnVGpZZC1IMVBBZi1ldndrb1gzeHdfOGVkQ0s3VWVNaG13bWhUeXgzdGpONXZsUmdwX1JJY216bXZNY0dURmY0UEl6ZlRvNWYwS3dUdXljbmxYanJMUFE0WEtWTS01VzdFNTRRVzRNZ3FpOUVGZmJHZUVpTmllY0Y5dWFkRFRPQ0dWRVl6d0F5ZlRTMVVfWjl0aUp4OV9PdzRYdFd1aVZDUUlvOFk2RklyNVR0ZGxRZGV2U0M0Rnp5Rmp6NW05UlZ5UHoya29TeHFNbE5SRHJSWHVEdURudWFqcmV4RDFRX3pFSWtFWGZPWm90RFY5aENBelVieERWb1dIX2Fyb1VERV9xdTdaTnVxUkpUcjNwVFpnUk05NEwyck5QRXd6d09YS0N3b19nUk5QNGJpcEdOQURFalg2R3FhTkF4TDJ5aEppUWxZNDZVUDIzRkcyaG1sMm45UXdLNWVWejJ5QXdrcE9KcTVDYUIzMVp0WTAycm9mbkZZeGZEb01aU1ZwX3p0M0hYVWJUUVJGdEhjZmtEdVFSTmYxeWg2VlJKQ1BNR0k5STFkbDVkbGlBdmE5MFk5WU1GV0ZneUlMVXV6SG5VRXRGYXhuYlFSaEQxanNYUHJaa0JOV3lnSWdtVGdycmFsdUtBQlAxVjVfYlZpbVV5OG5sOWNPcDdaXzhNTFdiSzhYbFZqZlkwejNzYnhvaXJXWUNLbGtrb2dweDNCN3lnaUk5MDBGeWMyNmZxaUNQOS1wdndCcHVVQ2EtSjl6aXZndF9wOENNWWZCNjBpQ1pCb0VZdnlYaWFMYUdPcWhha0FfanFkaFJfWl85SzVKMTc0U2UxTjVHSFhOZFFWMldkZGNYMDhvc2hZNXMtcm14bFVQa0k3Y2w5blhqMmc0MGx2eTQzclZZSlN6N0RpaWpmMm1HSHNESTBCNHZack5CbkRSd2R3SDJqbDBpUVdIQ3gzVE1RX294SDdCSEhldExYcy1fS2NmMUpLVmJKS0JsUmN3cm50QTQ3WUR2Vmk5QkxYRGtDYUtkTzVEdEVVVE9UZEd1MEhYNEwxMVJueXJDb2VvRDRPZXNXSmVsdVV1T2E2aHFIaWh2NXRPLUxzWlZuUndwUFJpUzVsd0EzSm40OWxWc1ZwRE1zQlhqS3FOUXVhR1Zjc1MyeTk2ZmtISjJ3TmxRbTZoU3hWdUVteTdBXzRKd3hGb0F1MUNHckUxZi1ReFViZ3RVc2luUmZNSmJsaUN2Vm9qVTlnSW5CX1ZzbUY3Y2E1dFFnR1duUWtRX3Q4N2ljcHo4Um80MWVDd213N3lGQnBJZFFCcEIyR1Z6T0NMa1k0NnJsZHJ5T0R3UHllc0o0Z0tHTzd0UFlwOXNlM0I1QTJYRXRwUDRiOFlTdXJ6c2lXMzJSWHNETTVQdlR2MWZBMllldmRCV2RTUElSN3pfQzFIZkNVWjlaRmpjMXM4eTVhQ091MWVOWEhQMzV2U2p2OTRvTHlOOUNBcnRxd2xNalR4ZlJ3NUk1a2tIaFhhOHRkV2ZHNW5aQXZVRGJYcTFJZUR0T0ZNdDA5XzBndlRLQzcyczVZMTgwajlBNGdyNnpzR0NnUVZzRE5OWlQ4RC1lTWFaV1ZWZEM3VHVkZ2dUV2R3X1JLX3ZTd3hZekQteVdxOFN5MzlfZHA1UnhiMUF4RTc0S255Y3cxSFpOeFFSV3dLTlM3ZkMyeGdqMjcydjUxd284NUp2S1ViN2NjUVRadzFsVkpwQ0JJOUNjOVdLTXRjOElNQ0EyYnFOODBTWnBhcHVHWWtoeEt2UGVzZjlBeDc2akM4OW55bDdTTTVkNThWZUV4TnBUenVNWHJCVjUzSXB2Z2h4a0lCTU90RnV1dU03VHhZV1lldnJtaXBVa0JlMXpoamVCN0pJLWctMEdpZjg5RDhTeUtmMDNBUlhZaG5iM1EwVGtuTzZiODVVeThBNW1oT2lFOFNzbmVBdTE2WktXT2trUExRPT0=)
track: internal