From bc75d05772b06208bb115f4b28ee0641873b4cd5 Mon Sep 17 00:00:00 2001 From: matejcik Date: Wed, 3 Nov 2021 15:59:47 +0100 Subject: [PATCH] chore(common/defs/fido): add coinbase u2f [no changelog] --- common/defs/fido/coinbase.json | 4 ++++ common/defs/fido/coinbase.png | Bin 0 -> 2851 bytes core/src/apps/webauthn/knownapps.py | 8 ++++++++ core/src/apps/webauthn/res/icon_coinbase.toif | Bin 0 -> 559 bytes core/src/trezor/res/resources.py | 2 ++ 5 files changed, 14 insertions(+) create mode 100644 common/defs/fido/coinbase.json create mode 100644 common/defs/fido/coinbase.png create mode 100644 core/src/apps/webauthn/res/icon_coinbase.toif diff --git a/common/defs/fido/coinbase.json b/common/defs/fido/coinbase.json new file mode 100644 index 000000000..64bba4970 --- /dev/null +++ b/common/defs/fido/coinbase.json @@ -0,0 +1,4 @@ +{ + "name": "Coinbase", + "webauthn": ["coinbase.com"] +} diff --git a/common/defs/fido/coinbase.png b/common/defs/fido/coinbase.png new file mode 100644 index 0000000000000000000000000000000000000000..87d310f6ba306c44596cc1b1d36f905eedb64ad6 GIT binary patch literal 2851 zcma);X*|=91INF!4AW-jnq#h?JI7qPY0RyDxs9+XwH!r@k!YGLcf=%ja^#3#xs@R) za#e0ga+NbV=7@j4|KtCI|AWux^Lo7>e;&N=oj+#|g9nFysXV}fFK|Oh@FfT^#4OR0xa-k0N~{LHy|K82L%AoPD>otA!K4TH|*wFXVGpW zt$VmBoFun>O8pBni=r5u0fbgw^HGj$lk@~TG_saFc3ajGTpE*D?KJgpw)zFR(m zLfbe>7P4Q(?bhhpii*M?G7gSdybdofHiA2+jU{$~aUgq* z*4cN7{3wSZl!XAlERraaenEnOj^12ou0-}P8t>r8D7;QjK+{5iblz4JDsGuW)fQnV z=9gA_o$dThu-Z9B^6!n{<~mQo%o7E5Xyms7PYOv$=F8F-w$5SwvEPD$o7hosvQp^96pkl;IY2d*9*cl6lpN80DDUZ{%qD*T=m=)PtQ${wTUSq#>UbnH1UMv5o;yrzCs68Nn zdux3y;!XG7%h`zBHzCPi9X;{m$4*-Xz9!uW~Xm;EW;akZ3yqZ5*NAQz{<+le2AIj-~x;5qDJ0x z=aUTF+aqgk!EbVGBY+=aoiU>Z%ei-q4BK0tnYf@SYz)vN*|3;~;{xb)_@ffZH2f4F zRck+9+jF^P+eW}epK%rxQlfe&Ic*>inwZuHc?OSN6bsSI0|Fzwl_ z`SYD+aicEZ&-@lIscI8}wm5M$J`o^Y7Y|VL&3bc>Qsx;icpun%DTwrCGKFfe13OQ_ zGt@Y-9^t5L*V?y_=REX;6(^yB!`m#U^Kf{7UFpmM?{ZW1 zZ=F~ZP#i3FKW*oij!4bk#ZT35h_qcJ{_qTmF!vBuD`>-~-CJ@lZ zv7QrDkn3=b7WCifw(-3=+-m{cmNqDimR|a2#0g-Sr_nuZpTM3N0hmAm8~G#cU^!YP!fL+~=+NT1;qpttXTQ(&24)spgF z(l{AoPMf*Wq`7j86K~bzxh<{T<(Ws@R!?-}#B4oOP|Q>>2nr__M4zU^;~reROHoVC8Kj(lR-_5AxT(gnw+J?euZN?>XtNOves3JQPgT%Avam zv|V%yk+*U`NJ&P-0jNUOAqpeJyvg`=Y#}=W`eYV%+cSXSALq9-V1f)9To8i#a+M-`7__NGl>i6tIn?Q zTv>dL#i#E#m|Ll#e|r-QvJ8cimG3gy6WvvBGB!p6E=fqe@>>gyVN;tE^!#xW=r_J! z5j}dX#K%YCccUC{(+>ofqnuhHPvQz!?&Lf7xjp3!XX6z4R6M~J01QRARJMYW=tos{ zwGUHoAYZ*QFCRnbolJIat4@c>UUDUoODlpD*^mv{ zA2aFrs`uw&($xH?!eYYtFtXzsy;*e9%SDCCkiU7gDSR#>_FkPqKTP9tzX=Xu z`&m&M!u4`Dp7pFW4#-7SlV9sb>M8T<@=7$9$RD*FWLhBd3pQMVP}v%w=iKgHlBR_|!2A!dy-j+B?Bj zbl2;rCFK^>N}$O>7%1(yP3&_CseiP$h%hSaIYk`6X0`U`tnZ0}7+OAVVi8)FxrTUkcYB_gNP74bX`hqpf7OE8D_J@{&KsOyi~d~=VJTg+zL%<4nm$GOa+Wc~_l7-{E`v7jf6{{KSw f#}jX;|7PPF6HYpxyKv`^;{ukZ=Wx}=guDL%lj$mU literal 0 HcmV?d00001 diff --git a/core/src/apps/webauthn/knownapps.py b/core/src/apps/webauthn/knownapps.py index 4394cd6ef..238aca2c3 100644 --- a/core/src/apps/webauthn/knownapps.py +++ b/core/src/apps/webauthn/knownapps.py @@ -69,6 +69,14 @@ def by_rp_id_hash(rp_id_hash: bytes) -> FIDOApp | None: use_sign_count=None, use_self_attestation=None, ) + elif rp_id_hash == b"\xe2\x7d\x61\xb4\xe9\x9d\xe0\xed\x98\x16\x3c\xb3\x8b\x7a\xf9\x33\xc6\x66\x5e\x55\x09\xe8\x49\x08\x37\x05\x58\x13\x77\x8e\x23\x6a": + # WebAuthn key for Coinbase + return FIDOApp( + label="coinbase.com", + icon="apps/webauthn/res/icon_coinbase.toif", + use_sign_count=None, + use_self_attestation=None, + ) elif rp_id_hash == b"\x68\x20\x19\x15\xd7\x4c\xb4\x2a\xf5\xb3\xcc\x5c\x95\xb9\x55\x3e\x3e\x3a\x83\xb4\xd2\xa9\x3b\x45\xfb\xad\xaa\x84\x69\xff\x8e\x6e": # U2F key for Dashlane return FIDOApp( diff --git a/core/src/apps/webauthn/res/icon_coinbase.toif b/core/src/apps/webauthn/res/icon_coinbase.toif new file mode 100644 index 0000000000000000000000000000000000000000..0cabcad10b0cd77178e4f90fa7f6b4f09701ce03 GIT binary patch literal 559 zcmV+~0?_?bPf2D#06+jE0ssK*QX!J$Fbu3R3^cq20(rv00|o<4!-p6y^uZ~=BG|te zY8IF;2nPBIy4~8HtGhZYqu809x~izDq;9oZMRnl7fdl^$G!EdRrwd%blZyjr`Wj}7 zV?;xRLNiADKowo`SZ4mS7UQu?`?I@{0|_e!w<~vVCNcM|rnjkm*iV=vRaD+34K5H; zZQ*NZW^b$(1t)B{{kI3TU+7KU-~Y`)T@t52JJs}{&*y-EkOiG?BYT&Y)va@Kv4>mt z3%EF^b){X}!tYmdx0rIGETQ42JZ|CVH(k$~-K6nqc-3-ti#)qp_c8Gb%C40#2JQxZ z*F}vBqhOS~4=op1=6)1@KqHrVss1^YH|Qq)PVAqH)-J` z{3zg?$p4?vlAd-voB!GVKRbVxTBg@77(^FnEKko#%0H*_22HYgWc;(#;-5UhBjev< zG~Rb_G3Dt|{6EWlfarQw>t9IMGdF8Vi4~yX74RNtys~qPk+ZAlSqI)Xl`pZxt0wZe zg}+P7nO15}F7|NiegVg3{-bi}(iVOdU7)*_0|G)8bh@ZEV-oC@)l|W*VsCQXgFU}( zQdJ60NZ3q|<+SdXg7tb0_3WPt>OH_#_Kz>r bytes: return b'TOIf@\x00@\x00y\x04\x00\x00\xbd\xd2\xbfo\xe2H\x14\x07\xf0Q\x14\xe5F\xd6\x14.Cg\xa3(\xc2tI\xe9\xca\x9al6\xacS\xbat\x13\xe4 \x96\x8bK\x97n\x10\x8c\x90\x15QR\x1a\t!&B\xf9+X\xedm.\x97\xfd+P\xc4\x01\xcb\x1fq6^\xc2\x8f\x18\xf0\x8f\xc9\xbd\xa7mVx>y\xef}\x01\xf8_J\x00\n\xbc\xe1;\xfc7~\xe8\xfd\xeb\xc0"T\xbc\xff\xfb\xb8R\xf8\xa1T\x93?\xa9#\xbd|\xfb\x87Y\xb0\x1c\xfby\xb3\xadJ\xfd\x1f\xbe\xc3v\xca\xcc\xc1\xf9\xe1\xf5\xd1-\x0c\xf36z\xd2\xfc\x93pR\x97\r\xcc\x0f\xe5\x13\xbdlU\xf6\xaao\xddT\xb5+w\x86I\xda\x89E\x8c\xff2s\xd1\xdd\xa0I^o\xdc\x8d)\xd2N\x93\xd3\xc7C\xdc3\x0bq\xe5\xb9\xceY\x8ex\xe1\xce(2\x9e\x92\xa5\xeb\xec\xd5xJ"\x07\x97\'\x1c\xdf1\x0b\x14Qd\xc2\xb84\xacbb}Ml\xfb\xb9S3\x07R\xb7\x8d\xe6~.V\xca:\xea\xc8\xea\xa7\xb0\xe7\xa9\xf72/\xd4\xa7t\xee[N\xf4\xb9S\xdb\xf3\xd4\xfb\x89\xc7$\xd0)\xaaO\xa2\xdd[.YNZ\xdb\xcb\x9d\xea\xe7\x1dV[\xf7o\xfet?.u\x93\xa5\xfc\x9d\x9e\xd7\x1b\xfe{zc\xa1S\xd4\xcc\xef\xbb\xb8Vfa\xfb\xba\xf1\x04\x04\x00D\xec\xce\x96>\xe1v\xe9\xe7\x87,\xb6>\xd79\xab\xe0\xeb\xcb\xe4\xed\xbb?T\xb4\xcfl\xec\xb9^\x81\x8a\xff\xaa:Z\xd5)\xb2\x9d-{\x1f\xdcBv\xba\xed\xc0\xa2\xffj\xe6`u\xf7~\x9b\xb90]\xc4V\x85\xa1\xde\x87\xd5\xf9\xb3\x82\xdd_\xd7=\x1f\x86\xea\xce\x07\xe8@\xfd\xb1\xa9S\xe4e\xf2Cu\xcbY\xe8\xde\xee_\xde\xfbzc\xf3\xeeL\xf5Jp\xf7\xf0\xdd\xfb\xad\x8e\xd62\x7fc\xe6\xd8\xe9f!\xc8\xbc_\xdai\x98N\x11.\xad\xfa\xdagfz\xde\xf8\x1b\x08\x8bw\xa5\xdaf\xee\x17-u\x97\xfa\xd9+;]//u\xbe\xd3\xbc\x0b\xd7\xdb\xe8x\xf8\xb6\xfb*\xab\xcb\x13U\xed\xad,U\xb0*\xe1:E\xee\xaf\xe5\x85\xae\x8f\x98\xe8\x13\x92??\\\xbf\xe96\x9d\xa2f~\xf1\xab\xe3!\x1b\xbd>\x15/Vu\xf9\xa4\x8d\xb6\xfbf\x8ee\xf2\x08gU\xf8\xce\xaa.b\xf7\x85\xee\xf0\xb5\xd3\xdf\t\x190\xc9\\\x03(\xab\xba\x97\xbb\xeb]:Eg\xaf\xc1/q/\xfd\xd5\xe5K\xb0VP\xb1\x9fw\xebm\xc4\x0f\x82\x84\x9a\x85t\xba\xdd\xcfd\xd7u\xef\xcd\xdcn\xddK\xdfu\xf0\xd3L6\xed\xde\xa1\xb2\xa1\x03\xbd\xb1O\xa7\xe8n\x9cz\xfb^\xde\xcf\x0f\xc1\xbb\xd2N\xf7\xeb\x14\xe1R\xf0kc\x9c4\xef\xc6x=\xef\xbf\xf5\xa3(\xfa\xe2\xfaP\xb1\xfa\x89n>\x95C&\x07@\x1d\xb5Q\x14\xbf>M|\xfd\t\xe1\xbc\x9bWC\xf5\x1f\xd1t\x8a\xb4\xd3\xe0\x8b\xf3\xc3\xb8[\xb7\n\xa2\x01@\x9a\xd9\xfd\xed\x8b\xd9\x04\xe9\x9b\xd8}\xf9\x04\x08\xe1z\xb4\xd4\x05M\xb8\xe5W\x91\xedgL\xa0\x12n\x03AoD\xd7)RG\x8b\x0f\xf5F\xb4\xb9qo\xab\xede\xd8,\xc4\xd1\xdd\x19\xdfY|k\xfc\xbb\xc7\x9eZ\x15\xf9r\xbb\r\x00?\xa8O\xe3\xe8\x14\x99p\xf9\xb5\twL=\xd1\x1f\xa4\xda\xb6{\x07%\x1a\xad\xfbx:E\xe2\xc5\x1e\xdf\x93M\xe8M]\x05{\n\x13w\x16W\xb7\x9d\xd5\x176\xf6\xef]Z\x7f\x90/\xf9\x01\xd8[\xb0x7\x8ekS\xd4FR\xf7\x9d\xefe\xdb,\xe8e\xb9$b\xa0\x80H%\xd5\x9aj|\x9d"\xeb\xcb\xfa;\x99\xacT\xcb\x1c\xc0"\x88QP\xd1\xaf\xe2\xef\xddow\x96\xc9\x82\x94%\xd5\x08\x97\xc4\xf6[/\xa7\xb3\xf9\x8e1n\xa3\xa4z3\x0fo\x92\xdbPQG\xadG\x9aXwgR-1\xae`\xd2\xbcNn\xfb\xad\x1d%\x9c\xbb\x88{\xc9\xb2\xbe\x91{!\xbe\x9d9\xd0\xafZ\xf7im\x8a\x08\x07\x8bq\xa7\x96/m\xa7\x8d(\x83n\xaa\xfc F\xc6\x07\xb8d}q\x7fRDY\xe9\xdf\xa2\xa4[\xcc\xe2\x92\xf1@\xf2\xee\x8c\x95\xecw}\x1ae\xf6\xb3\xef\xee\x0bKu\x99:x\x13m\xeb\xb8\xc4vn\x8a\xdcG\xdc\x8b\x938\xa9\xcb"\xe9A\xb7\x91\x99\x8b\x93\xb9E\xf2l\x87\x85N\xb8\xb3\xef Y\t\xb8\xd7zL\x97v\\\x02\x02HQ|\xc7xJ\x96\x05\xc2y\xb6\x02\x18\xd4\xf1Po\xb81\xf6\xe0\xbe\x98P\xea\xa6\x9b{\xb3`\x11\x97\xac\x8a\xfbs\xb7\xdcz4s\xf2\'X\x04\x1fT\xb0(u\xb5#3G\xb8\xd6}\xf0\xb7\xb8\xb3\xd6cS\xb5\x1d\xe3\x01\x131\xcbf\xdf\xd1\xb2\t\x15X\xf4Za\xb9\xe7\xff\x00' elif name == "apps/webauthn/res/icon_bitwarden.toif": return b'TOIf@\x00@\x00a\x02\x00\x00\xed\xd21h\xdb@\x14\x00P-\x85\x94L\x1e2X\xc1`\xb4jT\x08\x18\x1f\x86\x82p\x17-\x06\x11#\xeaz\xf3f-\x86r\xb4\xc4\xdd2zl\x0c\xa1X\x9bi\x17-YL\x86f3t\xf2R\x90\x08\x04-)\x19\xb54\xd8P\x8cZ\xa9U-Y\'\x9fN\xb2\xe5\xa1\xf7\xff\xe6\xbb\xfbO\xfe\xff3\x0c\x8d@\xbc\xe0\xba|\xef\xe4\x08\xc0\xadgSx\xe2\x1b\xec!S\x8e\xc7Y\t\x9c\xee@\x0e\xa5\xf0\xa3\xf0\t\xad\xf3\x8d]\xdb~r\xfa>u\xef\x0b\x06\x91\xce\xc3|\xb3\xf02\xb8u\xbb\x9f{t\x0fV\x9b\xc8u\xf3\xd6\xbd\x0e\xd4}_\xe8\xa1\xce\xe5\xc5\xf8\xd5\xb8\x95=GUi\x82\xdc\x81\xae\xef\x9f\x1cEOEhk\xce\x96\xc2\xa8!\'p\xed\xfb\xa8\xd3\xd6\xc2\xd9b ;p\xb6g\x1fR?\xbb\xaf*qi\xb5\xf3\xf0Qo\xff\xe4\xacD}\xeaS\x9f\xfa\xd4\xa7>\xf5\xa9\xff\x7f\xf9F-\x8b/\x9bY}\xeb\xfd\xea\x968$\xf5\x01\x9c[Y|q\xb2\xback\xe8;\x9b}\xab\x9d\xc5\x1fUWw\xf4\xf34\xbe\xfe1\x8b\xff\x18\xe8~\xff*\x8d\x9fl\x03\xf1\xff\xde\xb1\xd0\xdb\x87\xf3\x01\x9c\x95\xd2\xf9\x9dJpwF\xd5\xb8\xfa8_U\xd2\xf8\xb2ik\xc1\x1b\xb2\x99\xd6\x07p\xba$\xf5\xa5Ip\xf2\x8esy\x1c_\x1d\xefK\xa6}K\xe2\xcb\x8b\xb0n\xd4\xc4a\x16\x1f?\x83\xf0\xdd\xf0\xd7\xce-y\xb1\xa9v\x12\x1f\xc0\x8b\xbbd\xfe\xe5qp\xeb\xdcP+\x9b+\'\xf3\xdd\xca8_6g\xa5\xf5\x937oqu\x93\xfa\x00\x0e\xee6\xf9\x1f~\xce#[\xa2*\xf8\xaa\xc9}\x00\xfbW\xeb\xdd\xfd\xfb/\xdf\x19\xed\xf5\xdf\xec\xdbN1IM\x12\x1f\xc0N\xc5\xd6\x9c\x04a\xd4d3YE2\x1f@\xc9\x9c.q\xba~.\x0e\x93\xd6#\xf5\xdd\xbc\xb8A\xcf\xc1\xeb\xbb\x86\xdf9\xa4\xdf$y%\x9b_\xeeQ\xfa\xb8%MH\xea\x803\xdf\x17\x9e\x88\xde\xfdNU\xb1B[7]\xbe.\x92\xd6\x10z\xbe\xcf7H\xdf\x02(\x0e\xfb7\x8f#\xd7\x9e\x95\xc8\xba\xee\'\xcb\xfb>{\x98\xe6\xbd\xfb\r\xaa\xd2\xa9\xa4{\x0b\xe0\xf3g\xbe\xcf\x94\xc9\'\x905\xf9\x7f\xddw\xa3\xf09o\xff\xe0;\x13\nN\xcfS/~e"\xc1\r\xf6\xa9{S\xa8\x0b\xdfv?\xf7\x83\x07&>\xca\x85:\xa7\n\xd7\xa0\xb9u\xf9\x94\xef\xb1|`\xe7ix\xf1\x0b' + elif name == "apps/webauthn/res/icon_coinbase.toif": + return b'TOIf@\x00@\x00#\x02\x00\x00\xedR!\x92\xe40\x0c\xac2\x0c4\xbc\x05\x02y\xc2\xc1\x03\x06\x03M\xc3\x87\x18.\xf4\xc1)\xbf"\xd8\xbf\x18j\x16\x98/\x08\x06\xfa\t\xba\xdd\xda\x9d\xab\xbb:+\xa3\xd8\x99\x9d\xba\xaa\xa8\xa9\xa4n\xb5ZEu\xe0\xc0\x81\x03\xff\x114\x0e\xe0\xa2\xa7\x0b\\\xc0\x93\x8b\x03h\xfa\x1af\x8bcDC\x85B3F\xfb@\x15]\xf2Xf\xfe\xb3\x16\xe3\xb1K\xfb\xb3\xbb\x90\x03\t+\x07\xb7+wo&1\xf7\xad\xa6\xb7\xa9}\xd8O\x98#UT\xde%\r.\x10Rm\xe1khfo\xac\x16\x05\'l\xb8\xfd\xb7\x07\xb5_\xe8M\xdd\xdf\xff\xcdA]\x12\xa7@;\xd5\xf4\xa0\xcf\xe7\x80\x80\x90\x05\x9dn#{\x97\x96\xd5\xadsr\xb1\x87[\xf7\x0b\xb88\xa7u\xa5]\xda\xc2\xefWr\xb7\x98r\xa2,\xa1\xe1\xa7*\x94\xc7\x05\xe5\xe1\x06\xee\xc1\xe9l=\x86e\x19\x0b\xa0(=\xc6\x068aMnD&\xcb\x81\x8b;*7\x04\x12=T\xdc\t\x99\xd1!\'\xd0\xcb\x86\xd7\xe3\x97$\x13E\x10\xaf\xcd,C\xa0N.\xc7fa\xf5\xd6\x18\xd4\x06qv\xc8\xce\x0e\xa7y\xee\xfb}\x1e\x90\x16\xda\xd2_\xfa~\xffE\xd2\xf2\xfa\xf4\xf3\xfd \x88\x9b\xb9\xc5]\x83\xa6r\xbf\xe1\xecB\xe2\x91\xe7\x1a\x8e\x0fw\x1b\xba\x07}\xf0\xb4\xff\xe1\xfe\xc8\xf9\'\x92\xf3\xcc\xe10N\x047\x1f=\x86NZ\xd8\x96]\xc2\xe9C\x0e<\x13y\x15\xe7}n+z\x16\xc83}`\xb7/s\xc6\x90\x06\xaf\xc9\xf1\x9c\xc3\xdck\xe8$O`aOO\x80\t\xa4\xcb\xa9B;S\xa4r\xa3\x90[\x1e\xc99\x9c>t)&\xc0p\x0c\xe7\xe1<\x01\xec\x8c\x8do\x90mo\xab5\x1bh\x10]\xdc\xc1)\xd1\t;S|\xca\xdd\xca\xe1\xb9,7\xf0\xc7\xfc\xdf\xc4D\xd3\xc5-\' \xd2s\xff\xac\xbaD3\xb2e\x0c\xb2\xaa\x10\xc9wv\xa7\xf8#\'\x02\tsB\xee\xf1{Ip\x0c\xcf\x80\xc520\xb1\xe5\x04\xa4\\\xde\xd9\xfb\x98v\x18\xa3B\x11\x9b\xf2?\xff\xf9\x13L\xf0\x02\xd1\x7fs[8\xb9\xf6\xa6\xe0\xf8\xf8\xe5\x0b\x86\x88\xbd8l\xe6\xf4\x04bv\x02QG\xe9\xc8\xe0J\xda\xe9\x98T\xca\xe2\x8c\xe5X\xd0\xac\x0e}\xb6\xe8O\xdcq\xce!$\xde\xd2\xe6\xef"D\xc4I\xd0\xeai\x7f/\xeb\xe3\x19\x92\xebUB\x9d\x8cv+fC[\xad,\x13\x7f\x05\xea\xb3>o=\xb6\x0e\xd6\xdf\x7f\xd6\x0f\xdaF^ .XO ]Q\x9dm(\xa3=\x8f\xa1\xa3;\xb7\x88xk\x8e\xff&\xf6\xb2\xb5O\xb2>\x98 \xe3\x1d\xc5>\x93\x82\xf6rz\x7f\x95_ ?\x02\xfe:\x9b~\'\xdc\x00\xa5k\xab3\xa9\x9d\xff\x9f\xaa\x1bF\x1774H\xc82\xec\xf8`\x82\xc4`\xd7\xfe\x9b"\x0b\x9d\x94\x9c\xaf\n1\xb8p!\xca\xbf1z*\xb6\xd6\xca\x1f\x86\x13\xb8\xea\xd3\x06\xea3t\x12^8u\xe2\xe0\xb0.\xce)\xffc\x1b\xfeK\xac/\xf9\xc5\xf5\x1bWdQ\'\xe0\x04\xb0d\xa1\xbc\xf3\xdac\'\xfcT\xecC+\xdf\x0f\xf8`\x02\xd1/\xee\xdd\x96\xeaF\xca\xc3\x99\x19\xd0\x07\xc4\xdb\x05E*\xbd\xdd7{\x07\xe8\xd0_<\xeb\x07\xde\x9d\xf6\x87\xdd\xbfo]\\\xee\xf6\xd9\x19\xd0\x89\xeaWm\x7f\xae*\x86\xf1w\xe3\xd8\xac\xcf\xef\'G\xa0O\xb9\xe9\x0f\x12\x95S\xd2\xe5\xf8\x86Y\x1d\x0b2\x96\xd9\xfel\xd9\nF\xdf\xed\xaf\xb5\xf0+\xa8\x11v\x03\xb4\xc1\xf5\xdd\xe3\x02\x8b\xdf\r.\xb1\xfa\xd5\x0e\xbd=\x9d\xa6K\x1fb\xbf\x07~\xa5\xa0\xd9\xc2\xdf<\xe3\x9b\xd4\xae\xffz\xb8w\xea\x84\xbcF\xb6\x11\xfa\xca,\xc7\x9f\x96\x9f\x87\xbf\x1e\xf8\x1fX\xf8>\xd4\x14\xfb\x02\xf6\xe7v\x14\x93\x82\xa6\xcdj\xe2m\xe8\x1bK\x17\x98\xf68\xd4\xf13\x82\xc8Y\x1fi\x98\xf1\x07_s\xf7\xfer\x8b\xd8\xfd/\xf4\x82\xd2W\x80^\x89\xb7\xfa\x19-\xfcxj\n\xbc\xc0\x08\xd9\xa9z\xe2\x9e\xae,\x9e\xb9<\xb8\x0bG\x89\x0b\x80:q\xd5\xef\x90\x85\x8fP\x9d\x8c?\xdcV\xe7\x8e\xde\xfb\x18\x0b\x9a\xf1\x15\x0b\xbc?\xd9\x86\x1fe\xfc\x08K\x9f\x143/0R%q]W\xdd\xc0\x043::A\xfe\xc9\xec\xf0\x86M\xf5l\xb7~`\xe9\x87\xb7\xb3\xbe\xfcWWuE\x96\xff\xe4\xb4\xce\xf8\xe8D\xca\xcf&\xd5\xc2\xdf[o\xb5\xff\xd0\xa5\xec\x05d\x14\xbbv\xf7\xb2\xdf\xa1\xb3\xfa\xb4\x8fN\x10i\x05\xd5\xd51\xca\x8f\xdbNu\\d\xfa=\xd3G\x1dS*\xa6\xea\x10u\x880\x82\xdf\xc0\xd7 _\xb1~P>\xf0\xc1\x06$S\xce\xdafu\xe5\x14.\xb2\xa5\xa3?\xc1\xf2\x962]\x8b\xc1JA\x0b\xc0\xbb\x83\x97\xc7[\x08-1\xbe\xd2/bM\xc4\xd6\xe8d\xfe(\xeb\xf3\x1b\xa9G\xec\x0b\x98\xd4\xce\xdc[A\rcO\xa2\x93N\xeb\xf9Ou-q7\x02\xfaQ\xd1\xc9\xbe7Y\xdf\xb7\x07\xfa\xf0\x05\xae\xbc0\xef\x97\x1a:n\xb4\xd5\x81\xee\xab\xde$\xef\x92\xae \xc4\xe8\xcf\xa0\x93\xb6}|\xbdd\x08l?\xb8\xe3\xe2`\xa8\xb1\xd4\xac2\x1b,\xff\x974\x15\xea+\xfd\x04I\xc8\x9cP]\xac\xaf(\x99\xeb\xeb^\xa3Nb\x1b11\xe82\xde2\x1e\xce\xe8s\xfd\t\xe2\xad\xdcL\xe5\x0e\x83\xcc\xf1\xe6H-1\x00\x7f}P\xc2\\?\xfc[\xf6\x05\n\xf4\xb6\xdeZ\x1a\x0cu\x1b>\xb0\xa9\xc2\x83\xc3:\x8937\xa3\xcb\x86\xbf\x9e\x04>\xff\x8d\xb9\xbe\xf0\x1a\xeb\xc7\x85\xd8\xbct5\xb9w\xbe\x8f\x0b\nj\x06W\xd2NGQM\x0c@\x9d\x1cC^\x9f\xeb\x07\xc2\x0b|\x04_\xc0Pf\xeb\xbbUB\xeb\xfdSrE\xac\xf5\xdb.\x9c\xdc/Y\x9f\x88D\xe6\'\x87\xf1\xc1\x06\x94u\xb6\xbe\xdbqi\xd6\xa7>k\xdbG\xbb\x11\xea\x1e\xc9l?\xe8k\x1b>B.c}\xd9\xa9\xf9\xdf4*$:\xd6\'2\x14\xd9\xb4[\xb9"$\x07\xa0\x1f\xed\xc7\xcf\xb1\xe5\x0b+\xa3\x85\xf0\x05\xa8\x11\x93\xda\xfa\x9b\xbdO\xc8\x93\xd8F\xe0\x8bK\xbb\xccj\xda\xcd\x94\t\xc8\x01\n\xe8T?\x12f\xcb\xf7\xbd\xc5\xf8\xf0\x05\xea\xad^>\x14\xcf\x04\xfaF\x89N\x17G{\x10\xc98\x05}~x\x12b\'\xa4\x98\xbdAi\xd6\xd3\xbb\xff{\xc6\x0e|;hf\xe9\xf7\xb4\xc1\x13\xbdc\x18\xea\xd4\x98\x98\x1f\xd8`\xcf\x0fJ\x99\xd9\xc0\x95\x17\xd8\xbdS\xc3x\x11^D]\xe8}B{\x18\xd9nj@tW4FU\xd8\xde>\x93\x1cj\nn\x00\xdc`-\xd8\xbb\x84\xac!j\x88\xa2\xdcb\x93\xdaS}P(\x1a\x10\xf5\x8b\xc6Dc\xc2\x7f \x0e\x12\xba\x94\xbdArD\x1aKv\x115d\xa7\xb2\x84\xf6Br?\x04z\xbfdL\xd2\x8f\xecw\xe4#\r\xcc\x05\x80\r\x80vIc\re\xde\xd0U\xc3\x92&I?\xe8X\xb8\x0f\xb2@B\x03\xd8\rP#U\x12\xda+1\xff\x90\x81A?aL\xd2\xe7\xfb\xb9c\xdd\xb7\x87\x12\x8b\x81\x9f\x18\xcb^\xa07R-Hh\x02\x05\xfe\xea\xd3\x8e\xf5\xc0\xbb\xa2)\xf1&\xb1P\xfe\x98\xbd8\x93\xccs}0$\x05\xe8)M)\xfd\t[\x90\xd7\x1d\xe0\xf1\xe1iq\xd9q\xd9b\xa1p\xdb\xbf\xcc\xf0\x9b\xd7c\xea\xd6~\xf3\xd03\xddT\xff\xae6\xe5H\n\xf4\xfbB\x0e8\xfa\xed\xab\xcf$\x96\xc4e\x8b\xf6\xfa\xdeF\x90U\xa4I\xf6\xf5\x86\xd3KZ\x17\xb7\xfcx\xa7\xcb\x03\xde \x8fN?\x02\xda\x98\xde\xb8a\xa1\xcb\x8b\x97\x0c\x87\xafCV\xb1\x7f$\xdf9\xb7\xe4\xdc\xe2\xf6{\xed\xf7\xcea\xa6Pw\xf9\xcaO\xd3\xf3\xd2+@\x1bS\x169\xdc=\x9b\x1c\xcb?\x8a\x1b\xbb\xef\x81\x8e\xb7k/a\xe6M\xee\xe8\xf5_\xbe\x9b\x07Z\x01\x9a\x17p\x13q1\xbea\xb5Q\x9aq\x8d\xb6{\xa0{\xe0\x92\x1b;\xa8?\xb6s\xcb\xce<\xd0\x8a\x9d\x15\xab\x0e n$\xe0\xbd\xf6d\xed\x80\xa6Y\xd3\xdc\xdd\xdc=~\xdf\x95;\xf8\xa1>5\x7f\x0bh\x1e\xec\x1a\x14q3\xc1\xfb\xbb\x93\xb5\xcd\xda&\r\xd3;\xcb\x9c\xbc\xf9\x92\xa3W\x0b#\x0b\xb70\xdd\x15\x9b\x80x\x100A\xe4P\x93\xf6\x08h\x85\xa6\xe2\xbb\x00Z\xb5\x90~\xbd\xb3<\xb9\xe4E\xa6\x9b\x0b7\xc7\x86#\x1e&\xf8\xbd\xb3\xc6\xa1\nX-\xe8U\xbf\xfb#\x0ep\xd5\xf9=G\x17\x95\xc3\xbeX\x0e&X\xafA\xbc\x10\xdf\xb0S\x07\xf5y\xfa]C\xa0\xda\xc3\x9a\xc3\xff\r\xa0\xebm>\xfa\xc9\xba\xe4\xe3\xc6\xbf\x1a\x8f.\x82\xfdKo\xd4\x1b\x88\xd7\xb2G\xa3\xdf<=\x01l\xe3\xedv\xeb\x97\xb8?u\xae\xb5\xf6\n\xa8\xf18\xd3}\x89\xc1\x9f#^M\xccM\xedo\xf4I\xfa\xf7\x87@\xb5\xb0}`\x06f\x0f\xf7kzZ[\x94-\xca\x06eCoCo-hV\x02\x12\x86x=\x01a\x9f\xf0F\x93\xc0\x0cIC\xa0p\x06\xcd\xa1o\xcf\xf4\xf0\xbb\x0f\xb5\xc3*[\x98\x1e\x8f\x88\xe2 \xcf,1_],\x1f\xfd-\x98!q\x08T\x9b\x08f\x00\xed\x86\x053\xb4\xe4\xee\x18\xf5\rC\x9eq\xd2V_>=\x1a\xa1\x07\x1d\x8a`f\x00\xd5$v\'~\x84\x06\xfc\x01yNI\xe3\x9c\xdd9\xea\xa3\xf7a\xa7\xb8|{\x8f&\xf8\xb9\xd93\x89\xdc\xbf\xff\x8b\xcb\xe5_\xa0i\xab=\xdb\xf9\xff\x01' elif name == "apps/webauthn/res/icon_dropbox.toif":