From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-io0-f169.google.com ([209.85.223.169]:33459 "EHLO mail-io0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754078AbcCWIrs (ORCPT ); Wed, 23 Mar 2016 04:47:48 -0400 Received: by mail-io0-f169.google.com with SMTP id c63so25784317iof.0 for ; Wed, 23 Mar 2016 01:47:47 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <56F1A9E9.5090803@broadcom.com> References: <56F1A9E9.5090803@broadcom.com> Date: Wed, 23 Mar 2016 09:47:47 +0100 Message-ID: (sfid-20160323_094754_628007_502CC8F9) Subject: Re: Problem with brcmfmac removing extra interface From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= To: Arend van Spriel Cc: brcm80211 development , "linux-wireless@vger.kernel.org" , Brett Rudley , Arend van Spriel , "Franky (Zhenhui) Lin" , Hante Meuleman Content-Type: multipart/mixed; boundary=047d7bdc15ba537aba052eb362b2 Sender: linux-wireless-owner@vger.kernel.org List-ID: --047d7bdc15ba537aba052eb362b2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 22 March 2016 at 21:24, Arend van Spriel wrote: > On 22-3-2016 7:36, Rafa=C5=82 Mi=C5=82ecki wrote: >> On 3 March 2016 at 23:37, Rafa=C5=82 Mi=C5=82ecki wro= te: >>> brcmfmac in general is not capable of removing interfaces. If you take >>> a look at brcmf_cfg80211_del_iface implementation, you'll see it >>> returns -EOPNOTSUPP (except for p2p interfaces). >>> >>> However there is problem in handling NL80211_CMD_STOP_AP (with the >>> brcmf_cfg80211_stop_ap callback). Current implementation calls >>> brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1) >>> if mbss support is enabled/used. >>> >>> Above call results in firmware generating BRCMF_E_LINK event. This >>> event is handled with the following forward-traced functions chain: >>> 1) brcmf_notify_connect_status >>> 2) brcmf_notify_connect_status_ap >>> 3) brcmf_remove_interface >>> 4) brcmf_del_if >>> 5) brcmf_net_detach >>> 6) unregister_netdev >>> >>> So the result of NL80211_CMD_STOP_AP is interface being removed. The >>> problem with this behavior is that interface can't be recreated after >>> that: >>> # iw phy phy1 interface add wlan1-1 type __ap >>> [ 3602.929199] brcmfmac: brcmf_ap_add_vif: timeout occurred >>> command failed: I/O error (-5) >>> >>> I hit this problem when trying to restart hostapd using BCM43602 and 2 = BSSes. >>> >>> Could you analyze this problem and see if you see some way of solving >>> this problem, please? >> >> Hi, any ideas / help regarding this issue? > > Restarting hostapd obviously is a valid scenario. My guess is we would > need to avoid interface removal in brcmf_notify_connect_status_ap. But > first I would like to know in which state the firmware is upon > brcmf_ap_add_vif. Can you provide a full log with FWCON debug level enabl= ed? Sure, hope it helps! --=20 Rafa=C5=82 --047d7bdc15ba537aba052eb362b2 Content-Type: text/plain; charset=US-ASCII; name="brcmfmac-fwcon.txt" Content-Disposition: attachment; filename="brcmfmac-fwcon.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_im4lx1z50 MSkgbW9kcHJvYmUKWyAgMTU1LjQ0NjY3NF0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJm YWNlIGRyaXZlciBicmNtZm1hYwpbICAxNTUuNDUyNTMwXSBwY2kgMDAwMDowMDowMC4wOiBlbmFi bGluZyBkZXZpY2UgKDAxNDAgLT4gMDE0MikKWyAgMTU1LjQ1ODIwN10gYnJjbWZtYWMgMDAwMDow MTowMC4wOiBlbmFibGluZyBkZXZpY2UgKDAxNDAgLT4gMDE0MikKWyAgMTU1LjgyMjI4M10gYnJj bWZtYWMgMDAwMDowMTowMC4wOiBEaXJlY3QgZmlybXdhcmUgbG9hZCBmb3IgYnJjbS9icmNtZm1h YzQzNjZiLXBjaWUudHh0IGZhaWxlZCB3aXRoIGVycm9yIC0yClsgIDE1NS44MzIxNzddIGJyY21m bWFjIDAwMDA6MDE6MDAuMDogRmFsbGluZyBiYWNrIHRvIHVzZXIgaGVscGVyClsgIDE1NS44NDM5 NjVdIGZpcm13YXJlIGJyY20hYnJjbWZtYWM0MzY2Yi1wY2llLnR4dDogZmlybXdhcmVfbG9hZGlu Z19zdG9yZTogbWFwIHBhZ2VzIGZhaWxlZApbICAxNTYuMTI5MjM4XSBicmNtZm1hYzogYnJjbWZf cGNpZV9idXNfY29uc29sZV9pbml0IENvbnNvbGU6IGJhc2UgM2ZmY2YwLCBidWYgM2ZiY2U4LCBz aXplIDE2Mzg0ClsgIDE1Ni4xMzE4NjZdIGJyY21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIGlu aXR2YXJzX2Npc19wY2k6IE5vdCBDSVMgZm9ybWF0ClsgIDE1Ni4xMzE4OThdIGJyY21mbWFjOiBD T05TT0xFOiAwMDAwMDAuMDAwIHNyb20gcmV2OjAKWyAgMTU2LjEzMTk0MF0gYnJjbWZtYWM6IENP TlNPTEU6IDAwMDAwMC4wMDAgaW5pdHZhcnNfc3JvbV9wY2ksIFNST00gQ1JDIEVycm9yClsgIDE1 Ni4xMzE5NzldIGJyY21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIFNldHRpbmcgY2xvY2tzIHRv IDgwMC80MDAvMjAwClsgIDE1Ni4xMzIwMzJdIGJyY21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAw IHNpX3NldF9iYl92Y29mcmVxX2ZyYWM6IG9ubHkgd29yayBvbiA0MzYwLCA0MzUwClsgIDE1Ni4x MzIwNjFdIGJyY21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIEVuYWJsaW5nIEQtY2FjaGUKWyAg MTU2LjEzMjA5NV0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC41NjggZ2ljX2Rpc3RfaW5pdCBt YXhfaXJxIDY0ClsgIDE1Ni4xMzIxNDNdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNTY5IGNf aW5pdDogV2F0Y2hkb2cgcmVzZXQgYml0IHNldCwgY2xlYXJpbmcKWyAgMTU2LjEzMjE1N10gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjczOC41NjkgClsgIDE1Ni4xMzIyMjhdIGJyY21mbWFjOiBDT05T T0xFOiBSVEUgKFBDSUUtTVNHX0JVRikgMTAuMTAuNjkuMzMwOSAocjYxMDk5MSkgb24gQkNNNDM2 NiByMyBAIDQwLjAvMjAwLjAvODAwLjBNSHoKWyAgMTU2LjEzMjI4Nl0gYnJjbWZtYWM6IENPTlNP TEU6IDAyNjczOC41NjkgbnZyYW1faW5pdDogY2FsbGVkIGFnYWluIHdpdGhvdXQgY2FsbGluZyBu dnJhbV9leGl0KCkKWyAgMTU2LjEzMjMyN10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC41Njkg aW5pdHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3JtYXQKWyAgMTU2LjEzMjM0OV0gYnJjbWZtYWM6 IENPTlNPTEU6IDAyNjczOC42MDEgc3JvbSByZXY6MApbICAxNTYuMTMyMzkxXSBicmNtZm1hYzog Q09OU09MRTogMDI2NzM4LjYwMSBpbml0dmFyc19zcm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAg MTU2LjEzMjQzOF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MDEgYWxsb2NhdGluZyBhIG1h eCBvZiA1MTEgcnhjcGxpZCBidWZmZXJzClsgIDE1Ni4xMzI0ODZdIGJyY21mbWFjOiBDT05TT0xF OiAwMjY3MzguNjAxIHBjaWVtc2didWYwOiBCcm9hZGNvbSBQQ0lFIE1TR0JVRiBkcml2ZXIKWyAg MTU2LjEzMjU0M10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MDEgbnZyYW1faW5pdDogY2Fs bGVkIGFnYWluIHdpdGhvdXQgY2FsbGluZyBudnJhbV9leGl0KCkKWyAgMTU2LjEzMjU4NF0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjczOC42MDEgaW5pdHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3Jt YXQKWyAgMTU2LjEzMjYwNl0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MzQgc3JvbSByZXY6 MApbICAxNTYuMTMyNjQ5XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjYzNCBpbml0dmFyc19z cm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAgMTU2LjEzMjY5OV0gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC42MzQgd2xjX3Vjb2RlX2Rvd25sb2FkOiB3bDA6IExvYWRpbmcgbm9uLU1VIHVjb2Rl ClsgIDE1Ni4xMzI3NTVdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNjM0IHJlY2xhaW0gc2Vj dGlvbiAwOiBSZXR1cm5lZCAyMTYgYnl0ZXMgdG8gdGhlIGhlYXAKWyAgMTU2LjEzMjc5NV0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjczOC42MzQgaW5pdHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3Jt YXQKWyAgMTU2LjEzMjgxOV0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42Njcgc3JvbSByZXY6 MApbICAxNTYuMTMyODYwXSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjY2NyBpbml0dmFyc19z cm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAgMTU2LjEzMjkwOV0gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC42Njcgd2xjX2JtYWNfYXR0YWNoLCBkZXZpY2VpZCAweDQzYzQgbmJhbmRzIDEKWyAg MTU2LjEzMjk2OV0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzIgaXB4b3RwX2luaXQ6IG1h cHBpbmcgb3RwYmFzZSBhdCAweDE4MDA3MDAwIHRvIDB4MTgwMDcwMDAKWyAgMTU2LjEzMzA3Nl0g YnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzMgd2wwOiB3bGNfYm1hY19hdHRhY2g6IGNoaXBy ZXYgMyBjb3JlcmV2IDY0IGNjY2FwIDB4NTg0MDAwMDkgbWFjY2FwIDB4ZjAwMTg3MDUgYmFuZCAy LjRHLCBwaHlfdHlwZSAxMSBwaHlfcmV2IDMyClsgIDE1Ni4xMzMxMzVdIGJyY21mbWFjOiBDT05T T0xFOiAwMjY3MzguNjczIGVuYWJsZSAxOiBxMCBmcm1jbnQgMCwgd3JkY250IDAsIHExIGZybWNu dCAwLCB3cmRjbnQgMApbICAxNTYuMTMzMTk0XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjY3 MyBlbmFibGUgMTogcTAgZnJtY250IDAsIHdyZGNudCAwLCBxMSBmcm1jbnQgMCwgd3JkY250IDAK WyAgMTU2LjEzMzI0M10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzQgd2wwOiB3bGNfc3Rm X3R4Y29yZV9zaG1lbV93cml0ZTogTm8gY2xvY2sKWyAgMTU2LjEzMzMwMl0gYnJjbWZtYWM6IENP TlNPTEU6IDAyNjczOC42NzUgd2wwOiB3bGNfYW1wZHVfdHhfc2V0OiBBR0cgTW9kZSA9IE1BQytB UU0gdHhtYXhwa3RzIDUxMgpbICAxNTYuMTMzMzc3XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4 LjY3NiB3bDA6IEJyb2FkY29tIEJDTTQzNjYgODAyLjExIFdpcmVsZXNzIENvbnRyb2xsZXIgMTAu MTAuNjkuMzMwOSAocjYxMDk5MSkKWyAgMTU2LjEzMzQyNV0gYnJjbWZtYWM6IENPTlNPTEU6IDAy NjczOC42NzYgU1BMSVRSWF9NT0RFXzIgZW5hYmxlZCA6IHRjbXNlZ3NpemUgMTYwIApbICAxNTYu MTMzNDYyXSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjY3NiBUQ0FNOiA1MTIgdXNlZDogMTM1 IGV4Y2VlZDowClsgIDE1Ni4xMzM1MjBdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNjc2IHJl Y2xhaW0gc2VjdGlvbiAxOiBSZXR1cm5lZCAxNzczNjggYnl0ZXMgdG8gdGhlIGhlYXAKWyAgMTU2 LjEzMzU1NF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzcgVGhyZWFkWCB2NS42IGluaXRp YWxpemVkClsgIDE1Ni4xMzM1OTBdIGJyY21mbWFjOiBDT05TT0xFOiAKWyAgMTU2LjEzMzg1M10g YnJjbWZtYWM6IGJyY21mX2NfcHJlaW5pdF9kY21kczogRmlybXdhcmUgdmVyc2lvbiA9IHdsMDog SmFuICA4IDIwMTYgMTI6NTQ6MDcgdmVyc2lvbiAxMC4xMC42OS4zMzA5IChyNjEwOTkxKSBGV0lE IDAxLWM0N2E5MWE0ClsgIDE1Ni4xNDcxMjJdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNzEz IHdsMDogd2xjX2VuYWJsZV9wcm9iZV9yZXE6IHN0YXRlIGRvd24sIGRlZmVycmluZyBzZXR0aW5n IG9mIGhvc3QgZmxhZ3MKWyAgMTU2LjE1MjUzN10gYnJjbWZtYWM6IGJyY21mX2NmZzgwMjExX3Jl Z19ub3RpZmllcjogbm90IGEgSVNPMzE2NiBjb2RlICgweDMwIDB4MzApClsgIDE1Ni4xNjE0MDld IGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNzI3IHdsMDogd2xjX2VuYWJsZV9wcm9iZV9yZXE6 IHN0YXRlIGRvd24sIGRlZmVycmluZyBzZXR0aW5nIG9mIGhvc3QgZmxhZ3MKWyAgMTU2LjE2MTY2 Nl0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC43Mjcgd2wwOiB3bGNfZW5hYmxlX3Byb2JlX3Jl cTogc3RhdGUgZG93biwgZGVmZXJyaW5nIHNldHRpbmcgb2YgaG9zdCBmbGFncwpbICAxNTYuMTYy NDM3XSBwY2kgMDAwMTowMDowMC4wOiBlbmFibGluZyBkZXZpY2UgKDAxNDAgLT4gMDE0MikKWyAg MTU2LjE2ODE2MF0gYnJjbWZtYWMgMDAwMTowMTowMC4wOiBlbmFibGluZyBkZXZpY2UgKDAxNDAg LT4gMDE0MikKWyAgMTU2LjMzMTgwOF0gYnJjbWZtYWMgMDAwMTowMTowMC4wOiBEaXJlY3QgZmly bXdhcmUgbG9hZCBmb3IgYnJjbS9icmNtZm1hYzQzNjZiLXBjaWUudHh0IGZhaWxlZCB3aXRoIGVy cm9yIC0yClsgIDE1Ni4zNDE3MTRdIGJyY21mbWFjIDAwMDE6MDE6MDAuMDogRmFsbGluZyBiYWNr IHRvIHVzZXIgaGVscGVyClsgIDE1Ni4zNTMzMDZdIGZpcm13YXJlIGJyY20hYnJjbWZtYWM0MzY2 Yi1wY2llLnR4dDogZmlybXdhcmVfbG9hZGluZ19zdG9yZTogbWFwIHBhZ2VzIGZhaWxlZApbICAx NTYuNjM5MjM2XSBicmNtZm1hYzogYnJjbWZfcGNpZV9idXNfY29uc29sZV9pbml0IENvbnNvbGU6 IGJhc2UgM2ZmY2YwLCBidWYgM2ZiY2U4LCBzaXplIDE2Mzg0ClsgIDE1Ni42NDE4NTRdIGJyY21m bWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIGluaXR2YXJzX2Npc19wY2k6IE5vdCBDSVMgZm9ybWF0 ClsgIDE1Ni42NDE4ODZdIGJyY21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIHNyb20gcmV2OjAK WyAgMTU2LjY0MTkyOF0gYnJjbWZtYWM6IENPTlNPTEU6IDAwMDAwMC4wMDAgaW5pdHZhcnNfc3Jv bV9wY2ksIFNST00gQ1JDIEVycm9yClsgIDE1Ni42NDE5NjddIGJyY21mbWFjOiBDT05TT0xFOiAw MDAwMDAuMDAwIFNldHRpbmcgY2xvY2tzIHRvIDgwMC80MDAvMjAwClsgIDE1Ni42NDIwMjBdIGJy Y21mbWFjOiBDT05TT0xFOiAwMDAwMDAuMDAwIHNpX3NldF9iYl92Y29mcmVxX2ZyYWM6IG9ubHkg d29yayBvbiA0MzYwLCA0MzUwClsgIDE1Ni42NDIwNDldIGJyY21mbWFjOiBDT05TT0xFOiAwMDAw MDAuMDAwIEVuYWJsaW5nIEQtY2FjaGUKWyAgMTU2LjY0MjA4M10gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC41NjggZ2ljX2Rpc3RfaW5pdCBtYXhfaXJxIDY0ClsgIDE1Ni42NDIxMzFdIGJyY21m bWFjOiBDT05TT0xFOiAwMjY3MzguNTY5IGNfaW5pdDogV2F0Y2hkb2cgcmVzZXQgYml0IHNldCwg Y2xlYXJpbmcKWyAgMTU2LjY0MjE0NV0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC41NjkgClsg IDE1Ni42NDIyMTNdIGJyY21mbWFjOiBDT05TT0xFOiBSVEUgKFBDSUUtTVNHX0JVRikgMTAuMTAu NjkuMzMwOSAocjYxMDk5MSkgb24gQkNNNDM2NiByMyBAIDQwLjAvMjAwLjAvODAwLjBNSHoKWyAg MTU2LjY0MjI3MV0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC41NjkgbnZyYW1faW5pdDogY2Fs bGVkIGFnYWluIHdpdGhvdXQgY2FsbGluZyBudnJhbV9leGl0KCkKWyAgMTU2LjY0MjMxMl0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjczOC41NjkgaW5pdHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3Jt YXQKWyAgMTU2LjY0MjMzNF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MDEgc3JvbSByZXY6 MApbICAxNTYuNjQyMzc2XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjYwMSBpbml0dmFyc19z cm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAgMTU2LjY0MjQyMl0gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC42MDEgYWxsb2NhdGluZyBhIG1heCBvZiA1MTEgcnhjcGxpZCBidWZmZXJzClsgIDE1 Ni42NDI0NzBdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNjAxIHBjaWVtc2didWYwOiBCcm9h ZGNvbSBQQ0lFIE1TR0JVRiBkcml2ZXIKWyAgMTU2LjY0MjUyN10gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC42MDEgbnZyYW1faW5pdDogY2FsbGVkIGFnYWluIHdpdGhvdXQgY2FsbGluZyBudnJh bV9leGl0KCkKWyAgMTU2LjY0MjU2OF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MDEgaW5p dHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3JtYXQKWyAgMTU2LjY0MjU5MF0gYnJjbWZtYWM6IENP TlNPTEU6IDAyNjczOC42MzMgc3JvbSByZXY6MApbICAxNTYuNjQyNjMyXSBicmNtZm1hYzogQ09O U09MRTogMDI2NzM4LjYzMyBpbml0dmFyc19zcm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAgMTU2 LjY0MjY4M10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MzQgd2xjX3Vjb2RlX2Rvd25sb2Fk OiB3bDA6IExvYWRpbmcgbm9uLU1VIHVjb2RlClsgIDE1Ni42NDI3MzhdIGJyY21mbWFjOiBDT05T T0xFOiAwMjY3MzguNjM0IHJlY2xhaW0gc2VjdGlvbiAwOiBSZXR1cm5lZCAyMTYgYnl0ZXMgdG8g dGhlIGhlYXAKWyAgMTU2LjY0Mjc3OF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42MzQgaW5p dHZhcnNfY2lzX3BjaTogTm90IENJUyBmb3JtYXQKWyAgMTU2LjY0MjgwMF0gYnJjbWZtYWM6IENP TlNPTEU6IDAyNjczOC42Njcgc3JvbSByZXY6MApbICAxNTYuNjQyODQxXSBicmNtZm1hYzogQ09O U09MRTogMDI2NzM4LjY2NyBpbml0dmFyc19zcm9tX3BjaSwgU1JPTSBDUkMgRXJyb3IKWyAgMTU2 LjY0Mjg5MF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42Njcgd2xjX2JtYWNfYXR0YWNoLCBk ZXZpY2VpZCAweDQzYzUgbmJhbmRzIDEKWyAgMTU2LjY0Mjk0OV0gYnJjbWZtYWM6IENPTlNPTEU6 IDAyNjczOC42NzUgaXB4b3RwX2luaXQ6IG1hcHBpbmcgb3RwYmFzZSBhdCAweDE4MDA3MDAwIHRv IDB4MTgwMDcwMDAKWyAgMTU2LjY0MzA1NF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzUg d2wwOiB3bGNfYm1hY19hdHRhY2g6IGNoaXByZXYgMyBjb3JlcmV2IDY0IGNjY2FwIDB4NTg0MDAw MDkgbWFjY2FwIDB4ZjAwMTg3MDUgYmFuZCA1RywgcGh5X3R5cGUgMTEgcGh5X3JldiAzMgpbICAx NTYuNjQzMTEzXSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjY3NSBlbmFibGUgMTogcTAgZnJt Y250IDAsIHdyZGNudCAwLCBxMSBmcm1jbnQgMCwgd3JkY250IDAKWyAgMTU2LjY0MzE3Ml0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjczOC42NzUgZW5hYmxlIDE6IHEwIGZybWNudCAwLCB3cmRjbnQg MCwgcTEgZnJtY250IDAsIHdyZGNudCAwClsgIDE1Ni42NDMyMjBdIGJyY21mbWFjOiBDT05TT0xF OiAwMjY3MzguNjc2IHdsMDogd2xjX3N0Zl90eGNvcmVfc2htZW1fd3JpdGU6IE5vIGNsb2NrClsg IDE1Ni42NDMyODBdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNjc3IHdsMDogd2xjX2FtcGR1 X3R4X3NldDogQUdHIE1vZGUgPSBNQUMrQVFNIHR4bWF4cGt0cyA1MTIKWyAgMTU2LjY0MzM1M10g YnJjbWZtYWM6IENPTlNPTEU6IDAyNjczOC42Nzkgd2wwOiBCcm9hZGNvbSBCQ000MzY2IDgwMi4x MSBXaXJlbGVzcyBDb250cm9sbGVyIDEwLjEwLjY5LjMzMDkgKHI2MTA5OTEpClsgIDE1Ni42NDM0 MDFdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNjc5IFNQTElUUlhfTU9ERV8yIGVuYWJsZWQg OiB0Y21zZWdzaXplIDE2MCAKWyAgMTU2LjY0MzQzOF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjcz OC42NzkgVENBTTogNTEyIHVzZWQ6IDEzNSBleGNlZWQ6MApbICAxNTYuNjQzNDk1XSBicmNtZm1h YzogQ09OU09MRTogMDI2NzM4LjY3OSByZWNsYWltIHNlY3Rpb24gMTogUmV0dXJuZWQgMTc3MzY4 IGJ5dGVzIHRvIHRoZSBoZWFwClsgIDE1Ni42NDM1MjldIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3 MzguNjgwIFRocmVhZFggdjUuNiBpbml0aWFsaXplZApbICAxNTYuNjQzNTY0XSBicmNtZm1hYzog Q09OU09MRTogClsgIDE1Ni42NDM4MzldIGJyY21mbWFjOiBicmNtZl9jX3ByZWluaXRfZGNtZHM6 IEZpcm13YXJlIHZlcnNpb24gPSB3bDA6IEphbiAgOCAyMDE2IDEyOjU0OjA3IHZlcnNpb24gMTAu MTAuNjkuMzMwOSAocjYxMDk5MSkgRldJRCAwMS1jNDdhOTFhNApbICAxNTYuNjU3MDk2XSBicmNt Zm1hYzogQ09OU09MRTogMDI2NzM4LjcwOSB3bDA6IHdsY19lbmFibGVfcHJvYmVfcmVxOiBzdGF0 ZSBkb3duLCBkZWZlcnJpbmcgc2V0dGluZyBvZiBob3N0IGZsYWdzClsgIDE1Ni42NzEzNjNdIGJy Y21mbWFjOiBicmNtZl9jZmc4MDIxMV9yZWdfbm90aWZpZXI6IG5vdCBhIElTTzMxNjYgY29kZSAo MHgzMCAweDMwKQpbICAxNTYuNjc5MzUwXSBicmNtZm1hYzogQ09OU09MRTogMDI2NzM4LjczMiB3 bDA6IHdsY19lbmFibGVfcHJvYmVfcmVxOiBzdGF0ZSBkb3duLCBkZWZlcnJpbmcgc2V0dGluZyBv ZiBob3N0IGZsYWdzClsgIDE1Ni42Nzk1NDNdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3MzguNzMy IHdsMDogd2xjX2VuYWJsZV9wcm9iZV9yZXE6IHN0YXRlIGRvd24sIGRlZmVycmluZyBzZXR0aW5n IG9mIGhvc3QgZmxhZ3MKCjIpIGhvc3RhcGQKWyAgMTY4LjUzOTUxNl0gYnJjbWZtYWM6IENPTlNP TEU6IDAyNjc1MC41NzIgd2wwOiB3bF9vcGVuClsgIDE2OC41Mzk1NzddIGJyY21mbWFjOiBDT05T T0xFOiAwMjY3NTAuNTczIHdsY191Y29kZV9kb3dubG9hZDogd2wwOiBMb2FkaW5nIG5vbi1NVSB1 Y29kZQpbICAxNjguNTM5NjIyXSBicmNtZm1hYzogQ09OU09MRTogMDI2NzUwLjU3NCB3bDA6IENP UkUgSU5JVCA6IG5maWZvIDYgbXVfdHhfZW5hYiAwClsgIDE2OC41Mzk3MDBdIGJyY21mbWFjOiBD T05TT0xFOiAwMjY3NTAuNTc0IHdsMDogQ09SRSBJTklUIDogbW9kZSAyIHBrdGNsYXNzaWZ5IDEg cnhzcGxpdCAwICBoZHIgY29udmUgMCBETUFfQ1QgRGlzYWJsZWQKWyAgMTY4LjUzOTc3Ml0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjc1MC41ODcgd2wwOiB3bGNfZW5hYmxlX3Byb2JlX3JlcTogc3Rh dGUgZG93biwgZGVmZXJyaW5nIHNldHRpbmcgb2YgaG9zdCBmbGFncwpbICAxNjguNTM5ODMyXSBi cmNtZm1hYzogQ09OU09MRTogMDI2NzUwLjU4OCBlbmFibGUgMTogcTAgZnJtY250IDAsIHdyZGNu dCAwLCBxMSBmcm1jbnQgMCwgd3JkY250IDAKWyAgMTY4LjU0MTU0Nl0gSVB2NjogQUREUkNPTkYo TkVUREVWX1VQKTogd2xhbjE6IGxpbmsgaXMgbm90IHJlYWR5ClsgIDE2OC41NDg5NDVdIGRldmlj ZSB3bGFuMSBlbnRlcmVkIHByb21pc2N1b3VzIG1vZGUKWyAgMTY4LjU1NTY5M10gYnJjbWZtYWM6 IENPTlNPTEU6IDAyNjc1MC42MDQgd2wwOiBiYy9tYyBkZWF1dGhfcmVhc29uIG9uIFNUQSBCU1M/ ClsgIDE2OC42Mzc2MDddIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3NTAuNjcxIHdsMDogd2xfb3Bl bgpbICAxNjguNjM3NjY1XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzUwLjY3MiB3bGNfdWNvZGVf ZG93bmxvYWQ6IHdsMDogTG9hZGluZyBub24tTVUgdWNvZGUKWyAgMTY4LjYzNzcxMF0gYnJjbWZt YWM6IENPTlNPTEU6IDAyNjc1MC42NzMgd2wwOiBDT1JFIElOSVQgOiBuZmlmbyA2IG11X3R4X2Vu YWIgMApbICAxNjguNjM3Nzg3XSBicmNtZm1hYzogQ09OU09MRTogMDI2NzUwLjY3MyB3bDA6IENP UkUgSU5JVCA6IG1vZGUgMiBwa3RjbGFzc2lmeSAxIHJ4c3BsaXQgMCAgaGRyIGNvbnZlIDAgRE1B X0NUIERpc2FibGVkClsgIDE2OC42Mzc4NThdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3NTAuNjg2 IHdsMDogd2xjX2VuYWJsZV9wcm9iZV9yZXE6IHN0YXRlIGRvd24sIGRlZmVycmluZyBzZXR0aW5n IG9mIGhvc3QgZmxhZ3MKWyAgMTY4LjYzNzkxN10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjc1MC42 ODYgZW5hYmxlIDE6IHEwIGZybWNudCAwLCB3cmRjbnQgMCwgcTEgZnJtY250IDAsIHdyZGNudCAw ClsgIDE2OC42NDY1MTFdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3NTAuNjk1IHdsMDogbGluayB1 cCAod2wwKQpbICAxNjguNjQ2NTEzXSBJUHY2OiBBRERSQ09ORihORVRERVZfQ0hBTkdFKTogd2xh bjE6IGxpbmsgYmVjb21lcyByZWFkeQpbICAxNjguNjQ2NjMyXSBici1sYW46IHBvcnQgMih3bGFu MSkgZW50ZXJlZCBmb3J3YXJkaW5nIHN0YXRlClsgIDE2OC42NDY2NjVdIGJyLWxhbjogcG9ydCAy KHdsYW4xKSBlbnRlcmVkIGZvcndhcmRpbmcgc3RhdGUKWyAgMTY4LjY2ODI1OV0gZGV2aWNlIHds YW4xLTEgZW50ZXJlZCBwcm9taXNjdW91cyBtb2RlClsgIDE2OC42NzQyNDBdIElQdjY6IEFERFJD T05GKE5FVERFVl9VUCk6IHdsYW4xLTE6IGxpbmsgaXMgbm90IHJlYWR5ClsgIDE2OC42ODA0NThd IGJyLWxhbjogcG9ydCAzKHdsYW4xLTEpIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQpbICAxNjgu Njg2MjE2XSBici1sYW46IHBvcnQgMyh3bGFuMS0xKSBlbnRlcmVkIGZvcndhcmRpbmcgc3RhdGUK WyAgMTY4Ljc1OTg0NF0gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjc1MC44MDggd2wwOiB3bF9vcGVu ClsgIDE2OC43NjU4OThdIGJyY21mbWFjOiBDT05TT0xFOiAwMjY3NTAuODE0IHdsMDogbGluayB1 cCAod2wwLjIpClsgIDE2OC43NjU5NjFdIElQdjY6IEFERFJDT05GKE5FVERFVl9DSEFOR0UpOiB3 bGFuMS0xOiBsaW5rIGJlY29tZXMgcmVhZHkKWyAgMTY5LjkyOTcxNF0gYnJjbWZtYWM6IENPTlNP TEU6IDAyNjc1MS42ODYgcGNpZWRldl9zZW5kX2x0cjpHaXZpbmcgdXA6MHgzMDIKWyAgMTcwLjY0 OTIyMV0gYnItbGFuOiBwb3J0IDIod2xhbjEpIGVudGVyZWQgZm9yd2FyZGluZyBzdGF0ZQpbICAx NzAuNjg5MjE3XSBici1sYW46IHBvcnQgMyh3bGFuMS0xKSBlbnRlcmVkIGZvcndhcmRpbmcgc3Rh dGUKCjMpIGtpbGxhbGwgaG9zdGFwZApbICAyMzQuNDI0NTI4XSBkZXZpY2Ugd2xhbjEtMSBsZWZ0 IHByb21pc2N1b3VzIG1vZGUKWyAgMjM0LjQyOTQ1M10gYnItbGFuOiBwb3J0IDMod2xhbjEtMSkg ZW50ZXJlZCBkaXNhYmxlZCBzdGF0ZQpbICAyMzQuODQyMTg1XSBicmNtZm1hYzogQ09OU09MRTog MDI2ODE2LjcyNyB3bDA6IGxpbmsgZG93biAod2wwKQpbICAyMzQuODQyMjI0XSBicmNtZm1hYzog Q09OU09MRTogMDI2ODE2LjcyNyB3bDA6IGxpbmsgZG93biAod2wwLjIpClsgIDIzNS40MDk1MzNd IGRldmljZSB3bGFuMSBsZWZ0IHByb21pc2N1b3VzIG1vZGUKWyAgMjM1LjQxNDA1OV0gYnItbGFu OiBwb3J0IDIod2xhbjEpIGVudGVyZWQgZGlzYWJsZWQgc3RhdGUKWyAgMjM1Ljg0NjA3Ml0gYnJj bWZtYWM6IENPTlNPTEU6IDAyNjgxNy43MTQgd2wwOiB3bF9vcGVuClsgIDIzNS44NDYxMzFdIGJy Y21mbWFjOiBDT05TT0xFOiAwMjY4MTcuNzE0IHdsY191Y29kZV9kb3dubG9hZDogd2wwOiBMb2Fk aW5nIG5vbi1NVSB1Y29kZQpbICAyMzUuODQ2MTc2XSBicmNtZm1hYzogQ09OU09MRTogMDI2ODE3 LjcxNiB3bDA6IENPUkUgSU5JVCA6IG5maWZvIDYgbXVfdHhfZW5hYiAwClsgIDIzNS44NDYyNTRd IGJyY21mbWFjOiBDT05TT0xFOiAwMjY4MTcuNzE2IHdsMDogQ09SRSBJTklUIDogbW9kZSAyIHBr dGNsYXNzaWZ5IDEgcnhzcGxpdCAwICBoZHIgY29udmUgMCBETUFfQ1QgRGlzYWJsZWQKWyAgMjM1 Ljg0NjMyN10gYnJjbWZtYWM6IENPTlNPTEU6IDAyNjgxNy43Mjkgd2wwOiB3bGNfZW5hYmxlX3By b2JlX3JlcTogc3RhdGUgZG93biwgZGVmZXJyaW5nIHNldHRpbmcgb2YgaG9zdCBmbGFncwpbICAy MzUuODQ2Mzg1XSBicmNtZm1hYzogQ09OU09MRTogMDI2ODE3LjcyOSBlbmFibGUgMTogcTAgZnJt Y250IDAsIHdyZGNudCAwLCBxMSBmcm1jbnQgMCwgd3JkY250IDAKCjQpIGl3IHBoeSBwaHkxIGlu dGVyZmFjZSBhZGQgd2xhbjEtMSB0eXBlIF9fYXAKWyAgMjU2LjgxOTIyNV0gYnJjbWZtYWM6IGJy Y21mX2FwX2FkZF92aWY6IHRpbWVvdXQgb2NjdXJyZWQK --047d7bdc15ba537aba052eb362b2--