From e3b28fddff322e39d26f369712f7237854cabd5b Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 5 Mar 2026 20:24:30 +0200 Subject: [PATCH 1/7] #5462 Login form update --- indra/llui/llbutton.cpp | 14 + indra/llui/llbutton.h | 3 + indra/llui/lllineeditor.cpp | 4 +- indra/llui/lllineeditor.h | 4 +- indra/newview/llpanellogin.cpp | 28 +- indra/newview/llviewernetwork.cpp | 2 +- indra/newview/llviewernetwork.h | 1 + indra/newview/skins/default/colors.xml | 3 + .../skins/default/textures/textures.xml | 10 +- .../textures/widgets/Checkbox_Slim_Off.png | Bin 0 -> 18115 bytes .../textures/widgets/Checkbox_Slim_On.png | Bin 0 -> 17762 bytes .../textures/widgets/ComboButton_Arrow.png | Bin 0 -> 16236 bytes .../textures/widgets/ComboButton_white.png | Bin 0 -> 15808 bytes .../textures/widgets/PushButton_Sign.png | Bin 0 -> 18631 bytes .../textures/widgets/PushButton_Sign_Over.png | Bin 0 -> 18631 bytes .../widgets/PushButton_Sign_Pressed.png | Bin 0 -> 18631 bytes .../textures/widgets/Text_Field_Cropped.png | Bin 0 -> 869 bytes .../windows/login_sl_logo_horizontal.png | Bin 0 -> 4366 bytes .../skins/default/xui/en/panel_login.xml | 405 ++++++++++-------- .../newview/skins/default/xui/en/strings.xml | 2 + 20 files changed, 289 insertions(+), 187 deletions(-) create mode 100644 indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png create mode 100644 indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png create mode 100644 indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png create mode 100644 indra/newview/skins/default/textures/widgets/ComboButton_white.png create mode 100644 indra/newview/skins/default/textures/widgets/PushButton_Sign.png create mode 100644 indra/newview/skins/default/textures/widgets/PushButton_Sign_Over.png create mode 100644 indra/newview/skins/default/textures/widgets/PushButton_Sign_Pressed.png create mode 100644 indra/newview/skins/default/textures/widgets/Text_Field_Cropped.png create mode 100644 indra/newview/skins/default/textures/windows/login_sl_logo_horizontal.png diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 3a3616c905..6ffc707b25 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -85,6 +85,7 @@ LLButton::Params::Params() image_top_pad("image_top_pad"), image_bottom_pad("image_bottom_pad"), imgoverlay_label_space("imgoverlay_label_space", 1), + image_overlay_right_delta("image_overlay_right_delta", 0), label_color("label_color"), label_color_selected("label_color_selected"), // requires is_toggle true label_color_disabled("label_color_disabled"), @@ -158,6 +159,7 @@ LLButton::LLButton(const LLButton::Params& p) mImageOverlayTopPad(p.image_top_pad), mImageOverlayBottomPad(p.image_bottom_pad), mImgOverlayLabelSpace(p.imgoverlay_label_space), + mImageOverlayRightDelta(p.image_overlay_right_delta), mIsToggle(p.is_toggle), mScaleImage(p.scale_image), mDropShadowedText(p.label_shadow), @@ -929,6 +931,17 @@ void LLButton::draw() } overlay_color.mV[VALPHA] *= alpha; + if (mImageOverlayRightDelta > 0) + { + mImageOverlay->draw(getRect().getWidth() - overlay_width - mImageOverlayRightDelta, + center_y - (overlay_height / 2), + overlay_width, + overlay_height, + overlay_color); + } + else + { + switch(mImageOverlayAlignment) { case LLFontGL::LEFT: @@ -963,6 +976,7 @@ void LLButton::draw() // draw nothing break; } + } } // Draw label diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index f530eceb4b..ac301d5149 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -110,6 +110,7 @@ public: //image overlay paddings Optional image_top_pad; Optional image_bottom_pad; + Optional image_overlay_right_delta; /** * Space between image_overlay and label @@ -372,6 +373,8 @@ protected: */ S32 mImgOverlayLabelSpace; + S32 mImageOverlayRightDelta; + F32 mHoverGlowStrength; F32 mCurGlowStrength; diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index 4956d93e1c..9a88083a5d 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -97,6 +97,7 @@ LLLineEditor::Params::Params() ignore_tab("ignore_tab", true), is_password("is_password", false), allow_emoji("allow_emoji", true), + draw_focus_border("draw_focus_border", true), cursor_color("cursor_color"), use_bg_color("use_bg_color", false), bg_color("bg_color"), @@ -147,6 +148,7 @@ LLLineEditor::LLLineEditor(const LLLineEditor::Params& p) mIgnoreTab( p.ignore_tab ), mDrawAsterixes( p.is_password ), mAllowEmoji( p.allow_emoji ), + mDrawFocusBorder(p.draw_focus_border), mSpellCheck( p.spellcheck ), mSpellCheckStart(-1), mSpellCheckEnd(-1), @@ -1795,7 +1797,7 @@ void LLLineEditor::drawBackground() if (!image) return; // optionally draw programmatic border - if (has_focus) + if (has_focus && mDrawFocusBorder) { LLColor4 tmp_color = gFocusMgr.getFocusColor(); tmp_color.setAlpha(alpha); diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 6384bfdc5f..fd248edda3 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -95,7 +95,8 @@ public: show_label_focused, is_password, allow_emoji, - use_bg_color; + use_bg_color, + draw_focus_border; // colors Optional cursor_color, @@ -411,6 +412,7 @@ protected: bool mAllowEmoji; bool mUseBgColor; + bool mDrawFocusBorder; LLWString mPreeditWString; LLWString mPreeditOverwrittenWString; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 868e02f28b..77de25c28e 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -174,6 +174,19 @@ public: }; LLLoginLocationAutoHandler gLoginLocationAutoHandler; +std::string getShortGridLabel(const std::string& slurl_grid) +{ + if (slurl_grid == MAINGRID) + { + return LLTrans::getString("AgniGridLabelShort"); + } + if (slurl_grid == BETAGRID) + { + return LLTrans::getString("AditiGridLabelShort"); + } + return LLGridManager::getInstance()->getGridLabel(slurl_grid); +} + //--------------------------------------------------------------------------- // Public methods //--------------------------------------------------------------------------- @@ -221,13 +234,13 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, password_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnect, false)); childSetAction("connect_btn", onClickConnect, this); + childSetAction("sign_btn", onClickSignUp, this); mLoginBtn = getChild("connect_btn"); setDefaultBtn(mLoginBtn); // change z sort of clickable text to be behind buttons sendChildToBack(getChildView("forgot_password_text")); - sendChildToBack(getChildView("sign_up_text")); std::string current_grid = LLGridManager::getInstance()->getGrid(); if (!mFirstLoginThisInstall) @@ -251,13 +264,13 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, if (!grid_choice->first.empty() && current_grid != grid_choice->first) { LL_DEBUGS("AppInit") << "adding " << grid_choice->first << LL_ENDL; - server_choice_combo->add(grid_choice->second, grid_choice->first); + server_choice_combo->add(getShortGridLabel(grid_choice->first), grid_choice->first); } } server_choice_combo->sortByName(); LL_DEBUGS("AppInit") << "adding current " << current_grid << LL_ENDL; - server_choice_combo->add(LLGridManager::getInstance()->getGridLabel(), + server_choice_combo->add(getShortGridLabel(current_grid), current_grid, ADD_TOP); server_choice_combo->selectFirstItem(); @@ -308,9 +321,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, LLTextBox* forgot_password_text = getChild("forgot_password_text"); forgot_password_text->setClickedCallback(onClickForgotPassword, NULL); - LLTextBox* sign_up_text = getChild("sign_up_text"); - sign_up_text->setClickedCallback(onClickSignUp, NULL); - // get the web browser control LLMediaCtrl* web_browser = getChild("login_html"); web_browser->addObserver(this); @@ -752,6 +762,10 @@ void LLPanelLogin::updateLocationSelectorsVisibility() { server_combo->setVisible(show_server); } + if (LLTextBox* grid_txt = sInstance->getChild("grid_text")) + { + grid_txt->setVisible(show_server); + } } } @@ -787,7 +801,7 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl) // update the grid selector to match the slurl LLComboBox* server_combo = sInstance->getChild("server_combo"); - std::string server_label(LLGridManager::getInstance()->getGridLabel(slurl_grid)); + std::string server_label(getShortGridLabel(slurl_grid)); server_combo->setSimple(server_label); updateServer(); // to change the links and splash screen diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index 890580ddff..4101828019 100644 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -125,7 +125,7 @@ void LLGridManager::initialize(const std::string& grid_file) MAIN_GRID_WEB_PROFILE_URL, "Agni"); addSystemGrid(LLTrans::getString("AditiGridLabel"), - "util.aditi.lindenlab.com", + BETAGRID, "https://login.aditi.lindenlab.com/cgi-bin/login.cgi", "https://secondlife.aditi.lindenlab.com/helpers/", DEFAULT_LOGIN_PAGE, diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h index 2ed663e038..0937425a18 100644 --- a/indra/newview/llviewernetwork.h +++ b/indra/newview/llviewernetwork.h @@ -30,6 +30,7 @@ // @TODO this really should be private, but is used in llslurl #define MAINGRID "util.agni.lindenlab.com" +#define BETAGRID "util.aditi.lindenlab.com" /// Exception thrown when a grid is not valid class LLInvalidGridName diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index a686a3f20e..8752e3fe3d 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -1003,6 +1003,9 @@ + diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 6c0a3e3d0d..20507fe106 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -124,7 +124,9 @@ with the same filename but different name + + @@ -172,6 +174,8 @@ with the same filename but different name + + @@ -567,7 +571,9 @@ with the same filename but different name - + + + @@ -658,6 +664,7 @@ with the same filename but different name + @@ -715,6 +722,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png new file mode 100644 index 0000000000000000000000000000000000000000..99af0397d58f052fe2b9cc0bc424ae93b424de05 GIT binary patch literal 18115 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 R6Mx^=hU#EZw07&B{{W|Zp11%2 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png new file mode 100644 index 0000000000000000000000000000000000000000..cabecf146782714a6a31b9efd8ddaeab6ddfc698 GIT binary patch literal 17762 zcmeI3c{r5a|HmhZs4Q)k!k9v0c7~b8M2sc-k`QXlj4@$mni*p&loXY+l%*^o5fb%K zDtSsJC0ml77EyXAAv_|~?;cC3XZbzz`(5Ab`u;I7WZwzDuc2HUZj-gG}I2xMN9o)qZh z^kn71hRVQ@tcM5@hXXIK{R(OhP4py^QWSQqn=ggdDOJrDktLd(gqYjij%c!5>ugdg zv)rjfeC@(@NO_`@Hq*5AaB!IP84Ea%1DUp5el zPwSD5x99ePBIYUYh|mOCIh$VHUJ|-cruMxM$ac|r10gQgMOcp-(GfP{Uo+3R z_Uzu1i(vzyI($;u*jEK?I*wS6j&PlS# z)u^R%!_t$s2dlC!+@P%`^c@>)^uT_!A{~l=6|d5Qs#)L5qn$y!uD;rld2m!k{7Znc zm{D4gRA%)u;{KSkM;=(pl%1-1D|v;E$0dKtJUJ>|{pHM^ij^_Vqq277BM~hD>kY#` zh_92B1vib~@%WmPM&^Zb?OqUR!{FB&ShiAowF+ayLJcG`(6 z8lim_)EH^#FQ|{Se5H709wTym$8xI(+K!di#TLnkl2lP9d*7(8FkjYuunsInk*+Yh zVJEX(;?5=s8R?~)f*ZZ_<=00RWQF7_d{)Luq#rCcjBNDqS$y(9*uj@K7h3H*SF*Hd z!K&)TK!1CUUu|KDTo}$f2_#tP@LqMd355{c)}ZX)S)^s(_Vi00-~8hwx4}QzTNUgWnyK@TlN*0DwzhH z4zbs>C+EAinCU2-k8U-4cDk}rwp*0D@~Vu-UdE=&Iq+;|jz;4Jr2OI~IkBa;g1jI| zisCuAA1nM->1O)PB^~O!76oZuSAQwie~k8;GmtxKx?ArHE=;7#FizcPS?@yC{cCTj zZ&J%T!HOS<7)UT*TOfNrX0His*P7CVpd&%4`lh=r6I6TR-OZcUs?x=KWO`QjzK+I;?TvG%u$+(!+b4dY1OAY2JD!k5YniLorZ(sUoS7C^^bq z&4tAD&P^nHjH4nDxXfwsmQ(MD*4Zl^t8%35XjCdCx%NP<_k-4Z8A(dHsyfhe=4>v@`C-yG?`LqO!d%+}fhK6Nn$neK=zS&r0`7vpvqn#A@3$wmHPt8S0*iS*iIITQAviJT13rx%(D6=d~U$ zPb*L674r^{%vZX2G_qbXT`YauRe6sCjEjAQ7pp=_GNL@QJ!4-6>~U##$Ska~4Q~Yb z@9_T>?Sqg!uBK(qlm$u;&VlykA-+L+i7Y)J0GaPqFC58HV)`@A}6rH`{~IwNyWsI^~w%>He2 z_4?L=)}8x}sG^9?^2z6$TI*X^71_F0m6iS?+qU}h*u&OF%+rzR4=wBuU1?ph4{AQN z^rrCs;N^^P$6dzfkK{-dNLd{eJ6Ln{-BG_9^%@HekG!>cIW`UH)@ft)AL@r-7}$IF z`U*&~axt-ZJ_E(bVmxLXd;a+Ovgg~L(+srnts!YcCZV5$`UY2jbQtss)(w3avMu<+ zP~RV_W1{0u&y#7d5)y+}6}1JyAIkIKFXlqm;|C0Ww$}0WMJ= zu!y7EdD?A9sOhVZnh(5}`8}>VZafQ@b*nK0QCreo^0s7*^#76;&3|{LFaR(39jE&DU0UpWR8mW2@Gt)@zeu!!<85PwTkKDy)Df z;1k~^yiJ@;lvWGhEMZHxypwzPY{r|~frQ{n`hEISdSuV%o~WK2U%%E~SM-BV9ePwl zg+kO-QKzN`rz$(MD@6SydZugQn7Wqsdy{f527Ya$8JrecPbm)VyX*^ai=rn}s ziapP9+ghdUrgHfPE%Nh$eM^?DGQcRmG-*42y(e#X;>5*?t*5H>0_E1N@Y9xW?<~#D zwabp%u7B|{&-VqU1=Cl)_ru#~h2`PeUUD8#jArq=uJvyJeWBc8!-tW})JI~B1 zTcI+)W`9jan9BI%z^=^K1{(4jZsCm+S>@@?o-OkN-f-)9>b#>oB5z5?FyZMV|7S10 zSXmc*301FMhI=r~U>Sn4fjnhz{Zn;s9L+F?YvbAcMTqG;U_(N<&%6+&ZXe?no zchMf3Jv8_;4?@75xA$ucj})dq(Y_EcylwdMSIS4n@rW+Nnt;Oh9(qMgt~5*qkA8#T zemVR8q2=Z443BG-og=SU-2>_I-SJHudN()*I`-YTk{rzJ_;OdgTbwAJtL%(-*xfR4 zsjtC5Cn+bd#=YjViulGG8|xLrM=bBc`!ysp;xe7A3al`;sn+Qyd6_ppa=RYI(0UqH zdP|0%_)<1fQ9q;-#+f)Dj`8AkF8F#Uuiet~eieRr=hMQBiiirc3y$02b#j&Q;ha(E zYyb9Z1A&Q)T>DG=wKjH#b${s|`gk+1#WwTHg83;!6HN8zz_Ah}!7_K{07uc={A=C` zEvZ!?5N;XW$%X4;ZG|H<{b3{u(~AlV@@D~R;M}<}h(#j%Qn_F+Dvi!Cfb?Ihf`I81 z1ISigYlJn+nCe3}4`EXsLu{PLA--fR1+tN_L=qo_12Xtixg>CqzaN8x3o?LACB^~& z^Q++y@RWq>YXC9g_Xu{ewgVe8*;KGDOczQ!6*b04M!s2C@d6- z#OdhakQngH3j%Z}foD^^aSkS?Gra*N1Befo%fi9ofq{XrKs1cWrooX|EEbMH!BHqE zpn!6M8C+5jl)+gum18=I36(=;(^*_PlL6)@C3!IexCRj5ai_=O&-#{`!I^;tV1oyd zSa2i^!5`PG(AxT+rT+fk)Eq962lO)Y$bXrb;}p!I!X2m_W&oQ^CGw~Y?wZ-oDCBRk ztN^y()L`~*{3(-=zylV+Sp#OEkhmlh5|>IqAy6170u4oAoRC-?LKla`Y9UZK1OgBLlXgxD zCWY=D{I3#xSAGk(w#Hd7I9w8gOtml}0NudobP5iGLSZq0`JnoGSTxiNql1QGy{Q-| z21(_65u;1-LQXx@kKuE(nlQ-$eEc(6DL_^V3Q6^*pr}w?suv21rs#M>y(lCq6s4o@ zg~aIUqcCXi*{pNI=VrBK(}8tJ@|)Ale`Z0m|3#X)y_nNETqZksdY+~ih9h;?OmVvG zN1s|BEE1bT|9}m+0Zu6X|??GD_bS?ok)5lNM(*gYbe;S)3aHgOVfMNVxHAiSi z52E_Hn9zYOl*8XWkUBH+pBsLTas9iPISu@nX;aL3zvnN^=}O=v0Tck6%${O^((HNT zKY15+A`o36E+H;~2nZw=x=V;lAOZr3h3*pK5{Q66VxhZ)xC9~~kXYz0AufRk2qYG| zONdJ#0s@JJ?h@h>h=4$1p}T~*1R@}iSm-VxE`bOLBo?|$h)W;>0*Qt065B(v!-d7-$4)Y$T9$wwwZf0~%&wV&tT6 zTiIN?q#7(^Xnzkh+{>y)h+ExqsWYmUv>I^KFJGJzcV!^ir*C+jjH2NS^YGJsa)*Qd zNZcMOc0dMk*N=HC$xW%>Aa}XR8<1t2>SIG$)w}xc?7eOa^N%}3YWVD@O)T&*Htb3} rS61J++Rb-Y{gNT{^~o;YXdp8kvSHh##w$bq&rvOiHYUZJcI^8fG3rrV literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png b/indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7961967458d2c590842686dda314822321348194 GIT binary patch literal 16236 zcmeI3ZB!Fi8plU1Q37aJ>x%Byrcu^~GRe&3jf^3Hgq2jI5h8+Jg~`k$j3k*fGlW2? zm9_^(cirw%*!oher(IpDN4Ku46<@&ht(DaeZmZqeT34-G>kD0c>4Kaoq1(X&mNn^*7jc8S63%2qe|Z09EYu_QMav*-=3KJ z1Z02n)ep{5vO6)${@Ff5y5!t%(99jVdD_<&Kz8TSNA$z~1;@wFG$b{TmFa_W+rlQaKjotnAiR8p&He>$p~ zz5l(;hMJ?$V=Ev1sl578`-oS5J>Mo7^|VAXL=qzzCK+A})tYLnYGdN3k3WMfSG6FG z*p`w#M11%;_ad-`I3^?0Vb!C;q-yo+5uP z=Ri*DGRtV)=vMihCzGdC&P*wuKfn9snX5LpT!D8PE5~(ZNS_%S*Kp(2Gbvl=CR;Ug z?lk+YduL3t<(sd+baKd5Gv3@%Q1xQf)*HV|Ohq)=NbS0>Wzm+x5pNg zpWLN=c1MkW%dL|m53j^$Ejs?RLb|2XBfWNX;+IV=3x9D&YrM8^|KixYT|;ixjCrY1 z(jncI*p01Co~AgFk|J-BI~-S<-W?w6s%tS5?doUGbd1 zG=H_=9lyEY(%ai~W4jxY=I&mUShn}e4JR{PAC$e#7*D61D)?ye_WYJjf4j%=mFvv552@3)9xs^sb%*~`&R_h|-QmNzk#`Iy7SHVY-}3sC8;`$kHr~G6^VW)w z|G09Yc~5so_u4huo!8DZw{EPycksZTBlg+1GTN)3?Cd;yxo2l*hoZW)o9gcR@Knra z2VRi&;5RqkTzCH7JtzShrS3R(>>pqu#Cmg!I0%Xx6Z{QSr-71$cRJweg#)4S9*>owBTjitkt7h5A zsxnef$uo=zQbPa-8Qe5a$O3Mchr&6j5S&7)5cl4o9`J-a`($i#7Nt2cBp8Rc~+LDqUX6 z^Ilx3tf;6^RHziJT9dc6|Clo$pB1^57!F|U{eMNuM$-t!RLwyEtYSWy4`(hj?eLfUV4Z8z{H%b(n~Az zXpSxSk#vrq_VAM;ol#_8the0f3Oy`EDrpz(1~Lu|4DIX6Tgvh*SIU0FbM)OF@H9N* z=qEa0c)>dZq;!D!25In4SQ?zN*jNLw2yOvppa`BY5j<_g5KIdrDj3n)P%W-TaYXYJ zg5d~aP~NAFO2JZ$qw=8=^eg+qEf(DD;dsJB(q@wpbfaJx3MX}x%C1$>u%5;cm{h9~ zSWi(Jn8s8nfsvSAN2)@D8W^M&UG6O~PtY zt;ZZHjXF(5MzThQM`xYwW57BjTv4}!V-}kI0coOp$z?d6^;L%FDZDW9>1TT{!`Ch* zv_8CqkE4UuOqWNz8D33bf@2LKU*iNBTuw&PM}tYG49Wqmp>F%N%>8rmaMZ#{qrwLz zt|+BF0}Q4DzQR#m#9-n0kZMpQ$2#~5!bfL0!E74C)yf)KMKZ97_~kstL$MWHa^%ql zM)amLD1-IH#e7eS9O3^C4E5?X)Pd+Q*pX(}!x#dbXIB#ltkI>>Xc~p0`ZQf+^gm*T z5l4}wgvUu!MrCBok%k`w>xZiyg8e$EApYQf{f?}|Ht(wzk#aVmq8KO=cd$M;!5bMj z;iQ#bkJF&+Zw$?%q3>0MXR|KWXJIMYh#Hg+Y91T_w)VX{d!vcvWzz}91NIO}(ZNxY zaCGoZhJ(5Y7C8~BSD>%^+M=X|!FuN^4@q?x0uHc40Y`6C^zEpqqHm9iz8w|SA2ip) z@J6h+k3r4hfZ%I3Oe`O4-Dsm$qfu!L%E8T1Vk;A%U4nCv)gBB9J0fah6|8{aMzCcA7r-Nt?IO5}Z0vr>v)G9sx*{$SmmmUy#G<=IT!IJ) z5{vExQL`>D%jHNlbcUlQeV3 z&Cmb9k6f}u^)qWl#+q@NyUUIg&7Dj;HXp1lW~-pjcYPt*ITg#dnf31EePXOaK4? literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_white.png b/indra/newview/skins/default/textures/widgets/ComboButton_white.png new file mode 100644 index 0000000000000000000000000000000000000000..5c93700186eb9a6d2ae5bfee6587972dc9cd2791 GIT binary patch literal 15808 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 u2CNQ@*Z002!01^@s6Ar)_N0000PbVXQnQ*UN; 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 https://join.secondlife.com/ - - - - - - - - - - - - - -