From e88b50763149ff8f85bc35d2152c447ac5b9852f Mon Sep 17 00:00:00 2001 From: Igor Zhukov Date: Fri, 2 Oct 2015 16:27:26 +0300 Subject: [PATCH] merged with master --- app.manifest | 2 +- css/app.css | 26 ++- css/mobile.css | 17 ++ img/icons/ProfileIcons.png | Bin 3237 -> 3533 bytes img/icons/ProfileIcons_2x.png | Bin 6157 -> 7097 bytes js/app.js | 50 ++-- js/locales/en-us.json | 37 ++- js/locales/it-it.json | 22 +- js/locales/pt-br.json | 242 ++++++++++---------- js/locales/ru-ru.json | 16 +- vendor/angular/i18n/angular-locale_de-de.js | 13 ++ vendor/angular/i18n/angular-locale_en-us.js | 15 +- vendor/angular/i18n/angular-locale_es-es.js | 17 +- vendor/angular/i18n/angular-locale_it-it.js | 19 +- vendor/angular/i18n/angular-locale_nl-nl.js | 21 +- vendor/angular/i18n/angular-locale_pt-br.js | 52 ++--- vendor/angular/i18n/angular-locale_ru-ru.js | 13 ++ webogram.appcache | 2 +- 18 files changed, 344 insertions(+), 220 deletions(-) diff --git a/app.manifest b/app.manifest index 29391792..84e47325 100644 --- a/app.manifest +++ b/app.manifest @@ -1,5 +1,5 @@ CACHE MANIFEST -# Time: Mon Jul 20 2015 01:22:28 GMT+0300 (EEST) +# Time: Fri Oct 02 2015 16:26:31 GMT+0300 (MSK) CACHE: diff --git a/css/app.css b/css/app.css index 2fe8055e..c00e8a19 100644 --- a/css/app.css +++ b/css/app.css @@ -1,6 +1,8 @@ @charset "UTF-8"; .ng-cloak,.ng-hide:not(.ng-hide-animate),.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important} ng\:form{display:block} +.ng-animate-shim{visibility:hidden} +.ng-anchor{position:absolute} /*! * Bootstrap v3.2.0 (http://getbootstrap.com) * Copyright 2011-2014 Twitter, Inc. @@ -1226,7 +1228,7 @@ a.tg_checkbox{color:#000;display:block;line-height:18px;padding:8px 0;margin:9px a.tg_checkbox:hover{text-decoration:none} .tg_checkbox span.icon-checkbox-outer{float:right;display:inline-block;background-color:#e6e6e6;width:36px;height:14px;line-height:14px;vertical-align:middle;border-radius:8px;margin:3px 0;-webkit-transition:background-color ease-in-out .1s;transition:background-color ease-in-out .1s} .tg_checkbox.tg_checkbox_on span.icon-checkbox-outer{background-color:#bfd9ed} -.tg_checkbox i.icon-checkbox-inner{display:inline-block;background:#fff;width:20px;height:20px;border-radius:10px;overflow:hidden;float:left;margin-left:-6px;margin-top:-3px;-webkit-transition:all ease .1s;transition:all ease .1s;border:1px solid #E7E7E7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.05);-moz-box-shadow:0 0 1px rgba(0,0,0,.05);box-shadow:0 0 1px rgba(0,0,0,.05)} +.tg_checkbox i.icon-checkbox-inner{display:inline-block;background:#fff;width:20px;height:20px;border-radius:10px;overflow:hidden;float:left;margin-left:-1px;margin-top:-3px;-webkit-transition:all ease .1s;transition:all ease .1s;border:1px solid #E7E7E7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.05);-moz-box-shadow:0 0 1px rgba(0,0,0,.05);box-shadow:0 0 1px rgba(0,0,0,.05)} .tg_checkbox.tg_checkbox_on i.icon-checkbox-inner{background:#6b9bc2;margin-left:16px;border:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none} .tg_checkbox_label{display:inline-block;line-height:18px;vertical-align:middle} .tg_radios_wrap{margin:15px 0} @@ -1436,8 +1438,8 @@ img.im_message_document_thumb{max-width:100px;max-height:100px;vertical-align:mi .im_bot_intro_message_wrap{max-width:300px;padding:4px 10px;margin:10px auto;color:#000;line-height:1.4;text-align:left;font-size:13px} .im_bot_intro_message_header{font-weight:700;text-align:center} .im_bot_intro_message{margin-top:10px} -.im_service_message{display:inline-block;min-width:10px;padding:4px 7px;line-height:1.4;color:#999;text-align:center;border-radius:10px;margin:5px 0} -.im_service_message_photo_thumb{display:block;margin:0 auto} +.im_service_message{display:block;min-width:10px;padding:4px 7px;line-height:1.4;color:#999;text-align:center;border-radius:10px;margin:5px 0} +.im_service_message_photo_thumb{display:inline-block;margin:0 auto} .im_message_date,.im_message_fwd_date{color:#adadad;font-size:.85em;padding:0 0 20px 10px} div.im_message_author,div.im_message_body{display:block;overflow:hidden} .im_message_body,.im_message_meta{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text} @@ -1458,6 +1460,7 @@ div.im_message_author,div.im_message_body{display:block;overflow:hidden} a.im_message_fwd_photo{position:absolute;margin-top:1px} .im_message_fwd_date{padding:0} .im_message_text{word-wrap:break-word;line-height:150%} +.im_message_text pre{margin-bottom:0;max-height:300px;overflow:auto;padding:4px} .im_message_photo_caption,.im_message_video_caption{clear:both;word-wrap:break-word;line-height:150%;margin-top:3px} .im_message_mymention{background:#fff8cc} .reply_markup_wrap{margin:15px -2px 0} @@ -1632,7 +1635,8 @@ a.contacts_modal_search_clear{right:9px;margin-top:-24px} .contacts_modal_members_list .active a.contacts_modal_contact,.contacts_modal_members_list .active a.contacts_modal_contact:hover,.contacts_modal_members_list a.contacts_modal_contact:hover{background:#f2f6fa} .contacts_modal_contact_name{display:block;color:#3C6E97;font-weight:700;margin:1px 0 2px} .non_osx .contacts_modal_contact_name{font-size:12px} -.contacts_modal_contact_photo{width:40px;height:40px;margin-right:10px;overflow:hidden;border-radius:2px} +.contacts_modal_contact_photo{width:40px;height:40px;margin-right:10px;overflow:hidden;border-radius:20px} +.contacts_modal_contact_photo .peer_initials{line-height:40px;font-size:15px} .contacts_modal_contact_status{color:#999} .contacts_modal_members_list .active a.contacts_modal_contact .contacts_modal_contact_status,.contacts_modal_members_list .active a.contacts_modal_contact .md_modal_list_peer_description,a.contacts_modal_contact:hover .contacts_modal_contact_status,a.contacts_modal_contact:hover .md_modal_list_peer_description{color:#91a6ba} .chat_modal_participant_wrap{padding:8px 0;border-top:1px solid #F0F0F0} @@ -1641,8 +1645,9 @@ a.contacts_modal_search_clear{right:9px;margin-top:-24px} .chat_modal_participant_name{display:block;color:#3C6E97;font-weight:700;margin:1px 0 2px} .non_osx .chat_modal_participant_name{font-size:12px} .chat_modal_participant_status{color:#999} -a.chat_modal_participant_photo{width:40px;height:40px;margin-right:10px;border-radius:2px;overflow:hidden} +a.chat_modal_participant_photo{width:40px;height:40px;margin-right:10px;border-radius:20px;overflow:hidden} img.chat_modal_participant_photo{width:40px;height:40px} +.chat_modal_participant_photo .peer_initials{line-height:40px;font-size:15px} .chat_modal_members_forbidden{color:#999} .icon-contact-tick{position:absolute;right:10px;top:17px;display:inline-block;width:25px;height:25px;opacity:.5;background-image:url(../img/icons/IconsetW.png);background-repeat:no-repeat;background-position:-9px -516px} .is_2x .icon-contact-tick{background-image:url(../img/icons/IconsetW_2x.png);background-size:42px 1171px} @@ -1696,7 +1701,7 @@ a.peer_photo_init:active,a.peer_photo_init:focus,a.peer_photo_init:hover{text-de .peer_initials{display:block;color:#fff;text-align:center;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} .im_dialogs_contacts_wrap h5,.im_dialogs_messages_wrap h5{color:#999;font-size:13px;margin-left:20px;font-weight:700} .img_gif_with_progress_wrap{position:relative;overflow:hidden;float:left;margin-top:3px;max-width:100%} -.img_gif_thumb{-webkit-filter:blur(2px);-moz-filter:blur(2px);-o-filter:blur(2px);-ms-filter:blur(2px);filter:blur(2px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='2');margin:-1px;padding:1px;max-width:100%} +.img_gif_thumb{-webkit-filter:blur(3px);-moz-filter:blur(3px);-o-filter:blur(3px);-ms-filter:blur(3px);filter:blur(3px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='3');margin:-1px;padding:1px;max-width:100%;height:auto} .img_gif_image{max-width:100%} .img_gif_info_wrap{color:#fff;font-size:10px;position:absolute;bottom:0;left:0;right:0;padding:4px} .img_gif_label,.img_gif_size{padding:1px 8px;background:rgba(0,0,0,.5);border-radius:3px;overflow:hidden} @@ -1758,13 +1763,13 @@ a.peer_modal_photo,div.peer_modal_photo{display:block;margin-right:19px} .md_modal_split_actions{position:absolute;right:25px;top:-26px} .md_modal_split_actions_wrap{position:relative} .md_modal_split_action_camera{display:inline-block;width:20px;height:18px;margin:17px 0 0 16px;background-image:url(../img/icons/ProfileIcons.png);background-repeat:no-repeat;background-position:-10px -164px} -.is_2x .md_modal_split_action_camera{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 360px} +.is_2x .md_modal_split_action_camera{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 420px} .md_modal_split_action:active .md_modal_split_action_camera,.md_modal_split_action:hover .md_modal_split_action_camera{background-position:-10px -192px} .md_modal_split_action_twitter{display:inline-block;width:27px;height:22px;margin:17px 0 0 13px;background-image:url(../img/icons/ProfileIcons.png);background-repeat:no-repeat;background-position:-7px -280px} -.is_2x .md_modal_split_action_twitter{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 360px} +.is_2x .md_modal_split_action_twitter{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 420px} .md_modal_split_action:active .md_modal_split_action_twitter,.md_modal_split_action:hover .md_modal_split_action_twitter{background-position:-7px -312px} .md_modal_split_action_msg{display:inline-block;width:20px;height:20px;margin:18px 0 0 16px;background-image:url(../img/icons/ProfileIcons.png);background-repeat:no-repeat;background-position:-10px -220px} -.is_2x .md_modal_split_action_msg{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 360px} +.is_2x .md_modal_split_action_msg{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 420px} .md_modal_split_action:active .md_modal_split_action_msg,.md_modal_split_action:hover .md_modal_split_action_msg{background-position:-10px -250px} .md_modal_iconed_section_wrap{position:relative;border-bottom:1px solid #ebebeb;margin:19px 0 0 120px;padding-right:28px} .md_modal_iconed_section_wrap:last-child{border-bottom:0} @@ -1773,11 +1778,12 @@ a.peer_modal_photo,div.peer_modal_photo{display:block;margin-right:19px} .md_modal_iconed_section_radio{margin-top:1px} .md_modal_sections{padding-top:17px} .md_modal_section_icon{display:inline-block;margin-left:-64px;margin-top:5px;position:absolute;background-image:url(../img/icons/ProfileIcons.png);background-repeat:no-repeat;background-position:0 0} -.is_2x .md_modal_section_icon{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 360px} +.is_2x .md_modal_section_icon{background-image:url(../img/icons/ProfileIcons_2x.png);background-size:40px 420px} .md_modal_iconed_section_toggle .md_modal_section_icon{margin-top:8px} .md_modal_iconed_section_radio .md_modal_section_icon{margin-top:10px} .md_modal_iconed_section_link .md_modal_section_icon{margin-top:4px} .md_modal_section_icon_phone{width:18px;height:18px;background-position:-12px -10px;margin-top:3px} +.md_modal_section_icon_about{width:20px;height:20px;background-position:-10px -344px;margin-top:0} .md_modal_section_icon_notification{width:17px;height:20px;background-position:-12px -38px} .md_modal_section_icon_keyboard{width:20px;height:14px;background-position:-10px -140px;margin-left:-66px} .md_modal_section_icon_person{width:16px;height:16px;background-position:-12px -90px} diff --git a/css/mobile.css b/css/mobile.css index 4eafb00a..fb3901d3 100644 --- a/css/mobile.css +++ b/css/mobile.css @@ -307,6 +307,12 @@ html { border-radius: 18px; overflow: hidden; } +.navbar-peer-wrap .peer_initials { + line-height: 36px; + font-size: 15px; + border-radius: 18px; + overflow: hidden; +} .navbar_peer_not_selected .navbar-peer-wrap { display: none; } @@ -787,6 +793,10 @@ a.im_message_from_photo { div.im_dialog_photo { margin: 0 12px 0 0; } +div.im_dialog_photo .peer_initials { + line-height: 54px; + font-size: 18px; +} .im_dialog_peer, .im_dialog_message { font-size: 1.3em; @@ -861,6 +871,9 @@ a.im_message_fwd_author { background: #fff; padding: 0; } +.mobile_modal.md_simple_modal_window .modal-dialog { + max-width: none; +} .mobile_modal .modal-content { border-radius: 0; box-shadow: none; @@ -891,6 +904,10 @@ a.im_message_fwd_author { height: 64px; margin-right: 14px; } +.mobile_user_modal_image_wrap .peer_initials { + line-height: 64px; + font-size: 18px; +} .mobile_chat_modal_image { margin-right: 14px; float: left; diff --git a/img/icons/ProfileIcons.png b/img/icons/ProfileIcons.png index f7135af97c92920cbb8be79966dd83fe5311a84e..2051aa1095b90330e2b754223de863cb4f64bdbb 100644 GIT binary patch delta 2889 zcmZ`*dpOhW8{dXG#&Rm-WhCb*HbjYSj!~~SqZlEZ9FkKh$M2X)@5FMd4axhGMV7N1 z3Y9}eSj=ge)0-kBN+SJKzxVgg@9KK~xv$T4-`D+ouKV+O?x$FxN0GiutVje30)cQF zXQC@r_d-1O8(}awG#YD+GBq(Uur|VCP&QVEhA1m*v@y=w+Efj3DLC}#Q8TL$-wVN{ zbLZ`?%+l5r5qP^Q+oSeE}?>12+l= zfy6NORv7%H(RcY#DK0KboxL|k5|LI7JMndY;N`WiAhV#^!~kZURt=+pII4?cDJ`e7 z{A^GjRaj^D9;CMJlOygVcfFqOs+4ElS~@aD5nr~NTTa|#tSv?_J~)%Nl%R6v_01Um z29G}yKfCtg_+Ve3w})hT>NJo*7F0)o31;5&EU5u5myI1LpW*0tk+FppPvmw)B3Cjz zJ)ceSpL+z&N>9|2*!gqP6PhIU1>DG?F1glh61$vw_M%Xzc2VIqn|)Tut>>baMEXv*1WR0VQKNb`a5se^%^%$o5VozmvAw^&6d{0gdy}+p<$;CyWkASEa+*>uL7z0CvfvZ01*S)$~@aOM6T#$ycnmv}T|MW6G3N z&>Qvv{1#gQ&7U4;pey>n1Bik} z?JObE6(g(dhvQbCrYNJwn=x;h#PPWUs|^LSPm|E20}$eQq-hl_si9 z3+QLHiN|uH8$rVp(a2MinRPs&)-ZQf_+>BEi~mTnYHJS8Sa-Q*x4TnXZdt#&8zYV8 zl{Y1NYTC3k&j$QeL-f zDOZgX_ah39Hc4|-jo(3*I8zuytaP}ZVbCGfF}8xsv+gZ?Fm`wC z`BWM6$XjmJNySrP_;JXH$wVaMv6+COGGc7`okSe_Y-71z4mLhWb`ha)BX2c-b1t)TFasPUUN_G@q+L;)T- z#L|M-fHg67zPZ^p@?*T>O3zY~lZKYOrnb%3n0saFg*`~ZOPoVQf?KzqG16zzm9CKy z7=Mp5A@A%r)OQ0unwJbE5poLjv`E$KA+%j-wC%|Q-_^|~px)3(l0n7m97Dygg^m(j zu}~AWXx^;+`g=u?siruMd6Swm?WQFozdIzPUI0&Ao3Uo2QCi1@*4-R5`jms4k@@^b zMk7689^+(j(DBP+=bM-7TD^p?G2W_7xt|F>okQew<9El{)jbqgA4Z!)W(2151^28q z1B{{jC+n&#+OjMPW*ny%Xr~G;Dx8ltze1ec#caPyQTnt}yZ$Y~f+3JL$fs-sF?6Yl zMFG@9;Elo$JW=}9(mTE`MC4NwJH_;tjTtu@4a3Z6%n<88YBbbYvMk|33l1)iY&gQs zCeqrMibIlprGMC2{nlRJ$uHW^V}UqSb*D#0K?pRoFcw92JOnlo-C{_4=lfMJjzxX*tEehIw zPm80}yo*K21%{pFI}W=$@+IO>N|~^qdR^Epp7*hzV=jKT9r&T&Z3o_7a;p&CHChcD zibC)F)94D2(cu-=@r*pp7@4BWfX)F%dX@K`S%6J@Ht8HrpU4veL;0>u%bx=xV{@Uy1@l5b-qZY-H7vf zl_eWp@v(!z$x(v2XUPrs5}>jDrInyAjJxxY8zj$H&M78K-=}&nqS?Fo@%8e+ z(56q)50Id=-`kZ1i}a>q%vJOBpqn~I6gm3oJ6(Sy-NP8$B*lyp!&(gyC5lVlOIkti za+n`FcX!mYigTTB?R0A;mT*U zNTZU7&i0@3YVGR4vO>RRk+L(?)`iccH>lqPV4w%8cfJ6^x^2{+Dg0LonII+fWJPMK zO=AlaJ5fj0OZ!LV$?WK|6r`&WsF3zR+zKqa0>J1WVY*vw9j4MH60WOK5JRtT2+-)n zj#rf&9JA_LgeV}DU~GYcc5?&$DgWBJ*y{}JUZ$gM(w&(d@owjERdtIkVzU_ zUZ-MxZ0F*_6z-R$&VHMh4K2HGdro*}g#nsN|MMlH-fB}n$`5UMu_V7eY$8=sPCfO= zQ3|uXS6y#Sps;ZP3 ZAiI%`(;5!NPTOB*kiGRWD>l|U@jt6#BC-Gg delta 2591 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 Ub^O*I`T8C()HT(q(t<_)4;FP%0ssI2 delta 5235 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 diff --git a/js/app.js b/js/app.js index 27cbd6e2..bf44e237 100644 --- a/js/app.js +++ b/js/app.js @@ -1,24 +1,26 @@ -function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,i,a,o){for(;--o>=0;){var s=t*this[e++]+n[i]+a;a=Math.floor(s/67108864),n[i++]=67108863&s}return a}function am2(e,t,n,i,a,o){for(var s=32767&t,r=t>>15;--o>=0;){var l=32767&this[e],c=this[e++]>>15,d=r*l+c*s;l=s*l+((32767&d)<<15)+n[i]+(1073741823&a),a=(l>>>30)+(d>>>15)+r*c+(a>>>30),n[i++]=1073741823&l}return a}function am3(e,t,n,i,a,o){for(var s=16383&t,r=t>>14;--o>=0;){var l=16383&this[e],c=this[e++]>>14,d=r*l+c*s;l=s*l+((16383&d)<<14)+n[i]+a,a=(l>>28)+(d>>14)+r*c,n[i++]=268435455&l}return a}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=0>e?-1:0,e>0?this[0]=e:-1>e?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var a=e.length,o=!1,s=0;--a>=0;){var r=8==i?255&e[a]:intAt(e,a);0>r?"-"==e.charAt(a)&&(o=!0):(o=!1,0==s?this[this.t++]=r:s+i>this.DB?(this[this.t-1]|=(r&(1<>this.DB-s):this[this.t-1]|=r<=this.DB&&(s-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,s>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,i=(1<0)for(r>r)>0&&(a=!0,o=int2char(n));s>=0;)t>r?(n=(this[s]&(1<>(r+=this.DB-t)):(n=this[s]>>(r-=t)&i,0>=r&&(r+=this.DB,--s)),n>0&&(a=!0),a&&(o+=int2char(n));return a?o:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n=0;--n)t[n+s+1]=this[n]>>a|r,r=(this[n]&o)<=0;--n)t[n]=0;t[s]=r,t.t=this.t+s+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var i=e%this.DB,a=this.DB-i,o=(1<>i;for(var s=n+1;s>i;i>0&&(t[this.t-n-1]|=(this.s&o)<n;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t>=this.DB;i+=this.s}else{for(i+=this.s;n>=this.DB;i-=e.s}t.s=0>i?-1:0,-1>i?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),a=n.t;for(t.t=a+i.t;--a>=0;)t[a]=0;for(a=0;a=0;)e[n]=0;for(n=0;n=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()}function bnpDivRemTo(e,t,n){var i=e.abs();if(!(i.t<=0)){var a=this.abs();if(a.t0?(i.lShiftTo(l,o),a.lShiftTo(l,n)):(i.copyTo(o),a.copyTo(n));var c=o.t,d=o[c-1];if(0!=d){var u=d*(1<1?o[c-2]>>this.F2:0),p=this.FV/u,m=(1<=0&&(n[n.t++]=1,n.subTo(_,n)),BigInteger.ONE.dlShiftTo(c,_),_.subTo(o,o);o.t=0;){var v=n[--g]==d?this.DM:Math.floor(n[g]*p+(n[g-1]+h)*m);if((n[g]+=o.am(0,v,n,f,0,c))0&&n.rShiftTo(l,n),0>s&&BigInteger.ZERO.subTo(n,n)}}}function bnMod(e){var t=nbi();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(BigInteger.ZERO)>0&&e.subTo(t,t),t}function Classic(e){this.m=e}function cConvert(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function cRevert(e){return e}function cReduce(e){e.divRemTo(this.m,null,e)}function cMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function cSqrTo(e,t){e.squareTo(t),this.reduce(t)}function bnpInvDigit(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Montgomery(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(t,t),t}function montRevert(e){var t=nbi();return e.copyTo(t),this.reduce(t),t}function montReduce(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(n=t+this.m.t,e[n]+=this.m.am(0,i,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function montSqrTo(e,t){e.squareTo(t),this.reduce(t)}function montMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(e,t){if(e>4294967295||1>e)return BigInteger.ONE;var n=nbi(),i=nbi(),a=t.convert(this),o=nbits(e)-1;for(a.copyTo(n);--o>=0;)if(t.sqrTo(n,i),(e&1<0)t.mulTo(i,a,n);else{var s=n;n=i,i=s}return t.revert(n)}function bnModPowInt(e,t){var n;return n=256>e||t.isEven()?new Classic(t):new Montgomery(t),this.exp(e,n)}function bnClone(){var e=nbi();return this.copyTo(e),e}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(e){if(null==e&&(e=10),0==this.signum()||2>e||e>36)return"0";var t=this.chunkSize(e),n=Math.pow(e,t),i=nbv(n),a=nbi(),o=nbi(),s="";for(this.divRemTo(i,a,o);a.signum()>0;)s=(n+o.intValue()).toString(e).substr(1)+s,a.divRemTo(i,a,o);return o.intValue().toString(e)+s}function bnpFromRadix(e,t){this.fromInt(0),null==t&&(t=10);for(var n=this.chunkSize(t),i=Math.pow(t,n),a=!1,o=0,s=0,r=0;rl?"-"==e.charAt(r)&&0==this.signum()&&(a=!0):(s=t*s+l,++o>=n&&(this.dMultiply(i),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),a&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(e,t,n){if("number"==typeof t)if(2>e)this.fromInt(1);else for(this.fromNumber(e,n),this.testBit(e-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(e-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(BigInteger.ONE.shiftLeft(e-1),this);else{var i=new Array,a=7&e;i.length=(e>>3)+1,t.nextBytes(i),a>0?i[0]&=(1<0)for(a>a)!=(this.s&this.DM)>>a&&(n[o++]=i|this.s<=0;)8>a?(i=(this[t]&(1<>(a+=this.DB-8)):(i=this[t]>>(a-=8)&255,0>=a&&(a+=this.DB,--t)),e&&0!=(128&i)&&(i|=-256),0==o&&(128&this.s)!=(128&i)&&++o,(o>0||i!=this.s)&&(n[o++]=i);return n}function bnEquals(e){return 0==this.compareTo(e)}function bnMin(e){return this.compareTo(e)<0?this:e}function bnMax(e){return this.compareTo(e)>0?this:e}function bnpBitwiseTo(e,t,n){var i,a,o=Math.min(e.t,this.t);for(i=0;o>i;++i)n[i]=t(this[i],e[i]);if(e.te?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function bnShiftRight(e){var t=nbi();return 0>e?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function lbit(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function bnGetLowestSetBit(){for(var e=0;e=this.t?0!=this.s:0!=(this[t]&1<n;)i+=this[n]+e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t>=this.DB;i+=this.s}else{for(i+=this.s;n>=this.DB;i+=e.s}t.s=0>i?-1:0,i>0?t[n++]=i:-1>i&&(t[n++]=this.DV+i),t.t=n,t.clamp()}function bnAdd(e){var t=nbi();return this.addTo(e,t),t}function bnSubtract(e){var t=nbi();return this.subTo(e,t),t}function bnMultiply(e){var t=nbi();return this.multiplyTo(e,t),t}function bnSquare(){var e=nbi();return this.squareTo(e),e}function bnDivide(e){var t=nbi();return this.divRemTo(e,t,null),t}function bnRemainder(e){var t=nbi();return this.divRemTo(e,null,t),t}function bnDivideAndRemainder(e){var t=nbi(),n=nbi();return this.divRemTo(e,t,n),new Array(t,n)}function bnpDMultiply(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function NullExp(){}function nNop(e){return e}function nMulTo(e,t,n){e.multiplyTo(t,n)}function nSqrTo(e,t){e.squareTo(t)}function bnPow(e){return this.exp(e,new NullExp)}function bnpMultiplyLowerTo(e,t,n){var i=Math.min(this.t+e.t,t);for(n.s=0,n.t=i;i>0;)n[--i]=0;var a;for(a=n.t-this.t;a>i;++i)n[i+this.t]=this.am(0,e[i],n,i,0,this.t);for(a=Math.min(e.t,t);a>i;++i)this.am(0,e[i],n,i,0,t-i);n.clamp()}function bnpMultiplyUpperTo(e,t,n){--t;var i=n.t=this.t+e.t-t;for(n.s=0;--i>=0;)n[i]=0;for(i=Math.max(t-this.t,0);i2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=nbi();return e.copyTo(t),this.reduce(t),t}function barrettRevert(e){return e}function barrettReduce(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function barrettSqrTo(e,t){e.squareTo(t),this.reduce(t)}function barrettMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function bnModPow(e,t){var n,i,a=e.bitLength(),o=nbv(1);if(0>=a)return o;n=18>a?1:48>a?3:144>a?4:768>a?5:6,i=8>a?new Classic(t):t.isEven()?new Barrett(t):new Montgomery(t);var s=new Array,r=3,l=n-1,c=(1<1){var d=nbi();for(i.sqrTo(s[1],d);c>=r;)s[r]=nbi(),i.mulTo(d,s[r-2],s[r]),r+=2}var u,p,m=e.t-1,h=!0,g=nbi();for(a=nbits(e[m])-1;m>=0;){for(a>=l?u=e[m]>>a-l&c:(u=(e[m]&(1<0&&(u|=e[m-1]>>this.DB+a-l)),r=n;0==(1&u);)u>>=1,--r;if((a-=r)<0&&(a+=this.DB,--m),h)s[u].copyTo(o),h=!1;else{for(;r>1;)i.sqrTo(o,g),i.sqrTo(g,o),r-=2;r>0?i.sqrTo(o,g):(p=o,o=g,g=p),i.mulTo(g,s[u],o)}for(;m>=0&&0==(e[m]&1<o)return t;for(o>a&&(o=a),o>0&&(t.rShiftTo(o,t),n.rShiftTo(o,n));t.signum()>0;)(a=t.getLowestSetBit())>0&&t.rShiftTo(a,t),(a=n.getLowestSetBit())>0&&n.rShiftTo(a,n),t.compareTo(n)>=0?(t.subTo(n,t),t.rShiftTo(1,t)):(n.subTo(t,n),n.rShiftTo(1,n));return o>0&&n.lShiftTo(o,n),n}function bnpModInt(e){if(0>=e)return 0;var t=this.DV%e,n=this.s<0?e-1:0;if(this.t>0)if(0==t)n=this[0]%e;else for(var i=this.t-1;i>=0;--i)n=(t*n+this[i])%e;return n}function bnModInverse(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return BigInteger.ZERO;for(var n=e.clone(),i=this.clone(),a=nbv(1),o=nbv(0),s=nbv(0),r=nbv(1);0!=n.signum();){for(;n.isEven();)n.rShiftTo(1,n),t?(a.isEven()&&o.isEven()||(a.addTo(this,a),o.subTo(e,o)),a.rShiftTo(1,a)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;i.isEven();)i.rShiftTo(1,i),t?(s.isEven()&&r.isEven()||(s.addTo(this,s),r.subTo(e,r)),s.rShiftTo(1,s)):r.isEven()||r.subTo(e,r),r.rShiftTo(1,r);n.compareTo(i)>=0?(n.subTo(i,n),t&&a.subTo(s,a),o.subTo(r,o)):(i.subTo(n,i),t&&s.subTo(a,s),r.subTo(o,r))}return 0!=i.compareTo(BigInteger.ONE)?BigInteger.ZERO:r.compareTo(e)>=0?r.subtract(e):r.signum()<0?(r.addTo(e,r),r.signum()<0?r.add(e):r):r}function bnIsProbablePrime(e){var t,n=this.abs();if(1==n.t&&n[0]<=lowprimes[lowprimes.length-1]){for(t=0;ti;)i*=lowprimes[a++];for(i=n.modInt(i);a>t;)if(i%lowprimes[t++]==0)return!1}return n.millerRabin(e)}function bnpMillerRabin(e){var t=this.subtract(BigInteger.ONE),n=t.getLowestSetBit();if(0>=n)return!1;var i=t.shiftRight(n);e=e+1>>1,e>lowprimes.length&&(e=lowprimes.length);for(var a=nbi(),o=0;e>o;++o){a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var s=a.modPow(i,this);if(0!=s.compareTo(BigInteger.ONE)&&0!=s.compareTo(t)){for(var r=1;r++>8&255,rng_pool[rng_pptr++]^=e>>16&255,rng_pool[rng_pptr++]^=e>>24&255,rng_pptr>=rng_psize&&(rng_pptr-=rng_psize)}function rng_seed_time(){rng_seed_int((new Date).getTime())}function rng_get_byte(){if(null==rng_state){for(rng_seed_time(),rng_state=prng_newstate(),rng_state.init(rng_pool),rng_pptr=0;rng_pptrt;++t)this.S[t]=t;for(n=0,t=0;256>t;++t)n=n+this.S[t]+e[t%e.length]&255,i=this.S[t],this.S[t]=this.S[n],this.S[n]=i;this.i=0,this.j=0}function ARC4next(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}function findPrimes(e){var t,n,i,a;for(n=new Array(e),t=0;e>t;t++)n[t]=0;for(n[0]=2,i=0;n[i]t;t+=n[i])n[t]=1;for(i++,n[i]=n[i-1]+1;n[i]t;t++)a[t]=n[t];return a}function millerRabinInt(e,t){return mr_x1.length!=e.length&&(mr_x1=dup(e),mr_r=dup(e),mr_a=dup(e)),copyInt_(mr_a,t),millerRabin(e,mr_a)}function millerRabin(e,t){var n,i,a,o;for(mr_x1.length!=e.length&&(mr_x1=dup(e),mr_r=dup(e),mr_a=dup(e)),copy_(mr_a,t),copy_(mr_r,e),copy_(mr_x1,e),addInt_(mr_r,-1),addInt_(mr_x1,-1),a=0,n=0;n=i&&!equals(mr_a,mr_x1);){if(squareMod_(mr_a,e),equalsInt(mr_a,1))return 0;i++}if(!equals(mr_a,mr_x1))return 0}return 1}function bitSize(e){var t,n,i;for(t=e.length-1;0==e[t]&&t>0;t--);for(n=0,i=e[t];i;i>>=1,n++);return n+=bpe*t}function expand(e,t){var n=int2bigInt(0,(e.length>t?e.length:t)*bpe,0);return copy_(n,e),n}function randTruePrime(e){var t=int2bigInt(0,e,0);return randTruePrime_(t,e),trim(t,1)}function randProbPrime(e){return e>=600?randProbPrimeRounds(e,2):e>=550?randProbPrimeRounds(e,4):e>=500?randProbPrimeRounds(e,5):e>=400?randProbPrimeRounds(e,6):e>=350?randProbPrimeRounds(e,7):e>=300?randProbPrimeRounds(e,9):e>=250?randProbPrimeRounds(e,12):e>=200?randProbPrimeRounds(e,15):e>=150?randProbPrimeRounds(e,18):e>=100?randProbPrimeRounds(e,27):randProbPrimeRounds(e,40)}function randProbPrimeRounds(e,t){var n,i,a,o;for(o=3e4,n=int2bigInt(0,e,0),0==primes.length&&(primes=findPrimes(3e4)),rpprb.length!=n.length&&(rpprb=dup(n));;){for(randBigInt_(n,e,0),n[0]|=1,a=0,i=0;ii&&!a;i++){for(randBigInt_(rpprb,e,0);!greater(n,rpprb);)randBigInt_(rpprb,e,0);millerRabin(n,rpprb)||(a=1)}if(!a)return n}}function mod(e,t){var n=dup(e);return mod_(n,t),trim(n,1)}function addInt(e,t){var n=expand(e,e.length+1);return addInt_(n,t),trim(n,1)}function mult(e,t){var n=expand(e,e.length+t.length);return mult_(n,t),trim(n,1)}function powMod(e,t,n){var i=expand(e,n.length);return powMod_(i,trim(t,2),trim(n,2),0),trim(i,1)}function sub(e,t){var n=expand(e,e.length>t.length?e.length+1:t.length+1);return sub_(n,t),trim(n,1)}function add(e,t){var n=expand(e,e.length>t.length?e.length+1:t.length+1);return add_(n,t),trim(n,1)}function inverseMod(e,t){var n,i=expand(e,t.length);return n=inverseMod_(i,t),n?trim(i,1):null}function multMod(e,t,n){var i=expand(e,n.length);return multMod_(i,t,n),trim(i,1)}function randTruePrime_(e,t){var n,i,a,o,s,r,l,c,d,u,p;if(0==primes.length&&(primes=findPrimes(3e4)),0==pows.length)for(pows=new Array(512),s=0;512>s;s++)pows[s]=Math.pow(2,s/511-1);if(n=.1,i=20,recLimit=20,s_i2.length!=e.length&&(s_i2=dup(e),s_R=dup(e),s_n1=dup(e),s_r2=dup(e),s_d=dup(e),s_x1=dup(e),s_x2=dup(e),s_b=dup(e),s_n=dup(e),s_i=dup(e),s_rm=dup(e),s_q=dup(e),s_a=dup(e),s_aa=dup(e)),t<=recLimit){for(a=(1<<(t+2>>1))-1,copyInt_(e,0),o=1;o;)for(o=0,e[0]=1|1<2*i)for(r=1;i>=t-t*r;)r=pows[Math.floor(512*Math.random())];else r=.5;for(p=Math.floor(r*t)+1,randTruePrime_(s_q,p),copyInt_(s_i2,0),s_i2[Math.floor((t-2)/bpe)]|=1<<(t-2)%bpe,divide_(s_i2,s_q,s_i,s_rm),d=bitSize(s_i);;){for(;randBigInt_(s_R,d,0),!greater(s_i,s_R););for(addInt_(s_R,1),add_(s_R,s_i),copy_(s_n,s_q),mult_(s_n,s_R),multInt_(s_n,2),addInt_(s_n,1),copy_(s_r2,s_R),multInt_(s_r2,2),c=0,s=0;s0;s--);for(u=0,w=s_n[s];w;w>>=1,u++);for(u+=bpe*s;randBigInt_(s_a,u,0),!greater(s_n,s_a););if(addInt_(s_n,3),addInt_(s_a,2),copy_(s_b,s_a),copy_(s_n1,s_n),addInt_(s_n1,-1),powMod_(s_b,s_n1,s_n),addInt_(s_b,-1),isZero(s_b)&&(copy_(s_b,s_a),powMod_(s_b,s_r2,s_n),addInt_(s_b,-1),copy_(s_aa,s_n),copy_(s_d,s_b),GCD_(s_d,s_n),equalsInt(s_d,1)))return void copy_(e,s_aa)}}}function randBigInt(e,t){var n,i;return n=Math.floor((e-1)/bpe)+2,i=int2bigInt(0,0,n),randBigInt_(i,e,t),i}function randBigInt_(e,t,n){var i,a;for(i=0;ii;i++)e[i]=Math.floor(Math.random()*(1<=0;i--);for(a=e[i],o=n[i],s=1,r=0,l=0,c=1;o+l&&o+c&&(d=Math.floor((a+s)/(o+l)),qp=Math.floor((a+r)/(o+c)),d==qp);)t=s-d*l,s=l,l=t,t=r-d*c,r=c,c=t,t=a-d*o,a=o,o=t;r?(copy_(T,e),linComb_(e,n,s,r),linComb_(n,T,c,l)):(mod_(e,n),copy_(T,e),copy_(e,n),copy_(n,T))}if(0!=n[0])for(t=modInt(e,n[0]),copyInt_(e,n[0]),n[0]=t;n[0];)e[0]%=n[0],t=e[0],e[0]=n[0],n[0]=t}function inverseMod_(e,t){var n=1+2*Math.max(e.length,t.length);if(!(1&e[0]||1&t[0]))return copyInt_(e,0),0;for(eg_u.length!=n&&(eg_u=new Array(n),eg_v=new Array(n),eg_A=new Array(n),eg_B=new Array(n),eg_C=new Array(n),eg_D=new Array(n)),copy_(eg_u,e),copy_(eg_v,t),copyInt_(eg_A,1),copyInt_(eg_B,0),copyInt_(eg_C,0),copyInt_(eg_D,1);;){for(;!(1&eg_u[0]);)halve_(eg_u),1&eg_A[0]||1&eg_B[0]?(add_(eg_A,t),halve_(eg_A),sub_(eg_B,e),halve_(eg_B)):(halve_(eg_A),halve_(eg_B));for(;!(1&eg_v[0]);)halve_(eg_v),1&eg_C[0]||1&eg_D[0]?(add_(eg_C,t),halve_(eg_C),sub_(eg_D,e),halve_(eg_D)):(halve_(eg_C),halve_(eg_D));if(greater(eg_v,eg_u)?(sub_(eg_v,eg_u),sub_(eg_C,eg_A),sub_(eg_D,eg_B)):(sub_(eg_u,eg_v),sub_(eg_A,eg_C),sub_(eg_B,eg_D)),equalsInt(eg_u,0)){for(;negative(eg_C);)add_(eg_C,t);return copy_(e,eg_C),equalsInt(eg_v,1)?1:(copyInt_(e,0),0)}}}function inverseModInt(e,t){for(var n=1,i=0;;){if(1==e)return n;if(0==e)return 0;if(i-=n*Math.floor(t/e),t%=e,1==t)return i;if(0==t)return 0;n-=i*Math.floor(e/t),e%=t}}function inverseModInt_(e,t){return inverseModInt(e,t)}function eGCD_(e,t,n,i,a){var o=0,s=Math.max(e.length,t.length);for(eg_u.length!=s&&(eg_u=new Array(s),eg_A=new Array(s),eg_B=new Array(s),eg_C=new Array(s),eg_D=new Array(s));!(1&e[0]||1&t[0]);)halve_(e),halve_(t),o++;for(copy_(eg_u,e),copy_(n,t),copyInt_(eg_A,1),copyInt_(eg_B,0),copyInt_(eg_C,0),copyInt_(eg_D,1);;){for(;!(1&eg_u[0]);)halve_(eg_u),1&eg_A[0]||1&eg_B[0]?(add_(eg_A,t),halve_(eg_A),sub_(eg_B,e),halve_(eg_B)):(halve_(eg_A),halve_(eg_B));for(;!(1&n[0]);)halve_(n),1&eg_C[0]||1&eg_D[0]?(add_(eg_C,t),halve_(eg_C),sub_(eg_D,e),halve_(eg_D)):(halve_(eg_C),halve_(eg_D));if(greater(n,eg_u)?(sub_(n,eg_u),sub_(eg_C,eg_A),sub_(eg_D,eg_B)):(sub_(eg_u,n),sub_(eg_A,eg_C),sub_(eg_B,eg_D)),equalsInt(eg_u,0)){for(;negative(eg_C);)add_(eg_C,t),sub_(eg_D,e);return multInt_(eg_D,-1),copy_(i,eg_C),copy_(a,eg_D),void leftShift_(n,o)}}}function negative(e){return e[e.length-1]>>bpe-1&1}function greaterShift(e,t,n){var i,a=e.length,o=t.length;for(k=o>a+n?a+n:o,i=o-1-n;a>i&&i>=0;i++)if(e[i]>0)return 1;for(i=a-1+n;o>i;i++)if(t[i]>0)return 0;for(i=k-1;i>=n;i--){if(e[i-n]>t[i])return 1;if(e[i-n]=0;n--){if(e[n]>t[n])return 1;if(e[n]>=1;for(d=bpe-d,leftShift_(t,d),leftShift_(i,d),a=i.length;0==i[a-1]&&a>o;a--);for(copyInt_(n,0);!greaterShift(t,i,a-o);)subShift_(i,t,a-o),n[a-o]++;for(s=a-1;s>=o;s--){for(n[s-o]=i[s]==t[o-1]?mask:Math.floor((i[s]*radix+i[s-1])/t[o-1]);l=(o>1?t[o-2]:0)*n[s-o],c=l>>bpe,l&=mask,r=c+n[s-o]*t[o-1],c=r>>bpe,r&=mask,c==i[s]?r==i[s-1]?l>(s>1?i[s-2]:0):r>i[s-1]:c>i[s];)n[s-o]--;linCombShift_(i,t,-n[s-o],s-o),negative(i)&&(addShift_(i,t,s-o),n[s-o]--)}rightShift_(t,d),rightShift_(i,d)}function carry_(e){var t,n,i,a;for(n=e.length,i=0,t=0;n>t;t++)i+=e[t],a=0,0>i&&(a=-(i>>bpe),i+=a*radix),e[t]=i&mask,i=(i>>bpe)-a}function modInt(e,t){var n,i=0;for(n=e.length-1;n>=0;n--)i=(i*radix+e[n])%t;return i}function int2bigInt(e,t,n){var i;return i=Math.ceil(t/bpe)+1,i=n>i?n:i,buff=new Array(i),copyInt_(buff,e),buff}function str2bigInt(e,t,n){var i,a,o,s,r,l=e.length;if(-1==t){for(o=new Array(0);;){for(s=new Array(o.length+1),a=0;ai)break;if(e=e.substring(i+1),0==e.length)break}return o.lengtha&&(i=digitsStr.indexOf(e.substring(a,a+1),0),36>=t&&i>=36&&(i-=26),!(i>=t||0>i));a++)multInt_(o,t),addInt_(o,i);for(l=o.length;l>0&&!o[l-1];l--);for(l=n>l+1?n:l+1,s=new Array(l),r=la;a++)s[a]=o[a];for(;l>a;a++)s[a]=0;return s}function equalsInt(e,t){var n;if(e[0]!=t)return 0;for(n=1;nn;n++)if(e[n]!=t[n])return 0;if(e.length>t.length){for(;n0;n--)a+=e[n]+",";a+=e[0]}else for(;!isZero(s6);)i=divInt_(s6,t),a=digitsStr.substring(i,i+1)+a;return 0==a.length&&(a="0"),a}function dup(e){return buff=new Array(e.length),copy_(buff,e),buff}function copy_(e,t){var n,i=e.lengthn;n++)e[n]=t[n];for(n=i;n>=bpe}function addInt_(e,t){var n,i,a,o;for(e[0]+=t,i=e.length,a=0,n=0;i>n;n++)if(a+=e[n],o=0,0>a&&(o=-(a>>bpe),a+=o*radix),e[n]=a&mask,a=(a>>bpe)-o,!a)return}function rightShift_(e,t){var n,i=Math.floor(t/bpe);if(i){for(n=0;n>t);e[n]>>=t}function halve_(e){var t;for(t=0;t>1);e[t]=e[t]>>1|e[t]&radix>>1}function leftShift_(e,t){var n,i=Math.floor(t/bpe);if(i){for(n=e.length;n>=i;n--)e[n]=e[n-i];for(;n>=0;n--)e[n]=0;t%=bpe}if(t){for(n=e.length-1;n>0;n--)e[n]=mask&(e[n]<>bpe-t);e[n]=mask&e[n]<n;n++)a+=e[n]*t,o=0,0>a&&(o=-(a>>bpe),a+=o*radix),e[n]=a&mask,a=(a>>bpe)-o}function divInt_(e,t){var n,i,a=0;for(n=e.length-1;n>=0;n--)i=a*radix+e[n],e[n]=Math.floor(i/t),a=i%t;return a}function linComb_(e,t,n,i){var a,o,s,r;for(s=e.lengtha;a++)o+=n*e[a]+i*t[a],e[a]=o&mask,o>>=bpe;for(a=s;r>a;a++)o+=n*e[a],e[a]=o&mask,o>>=bpe}function linCombShift_(e,t,n,i){var a,o,s,r;for(s=e.lengtha;a++)o+=e[a]+n*t[a-i],e[a]=o&mask,o>>=bpe;for(a=s;o&&r>a;a++)o+=e[a],e[a]=o&mask,o>>=bpe}function addShift_(e,t,n){var i,a,o,s;for(o=e.lengthi;i++)a+=e[i]+t[i-n],e[i]=a&mask,a>>=bpe;for(i=o;a&&s>i;i++)a+=e[i],e[i]=a&mask,a>>=bpe}function subShift_(e,t,n){var i,a,o,s;for(o=e.lengthi;i++)a+=e[i]-t[i-n],e[i]=a&mask,a>>=bpe;for(i=o;a&&s>i;i++)a+=e[i],e[i]=a&mask,a>>=bpe}function sub_(e,t){var n,i,a;for(a=e.lengthn;n++)i+=e[n]-t[n],e[n]=i&mask,i>>=bpe;for(n=a;i&&n>=bpe}function add_(e,t){var n,i,a;for(a=e.lengthn;n++)i+=e[n]+t[n],e[n]=i&mask,i>>=bpe;for(n=a;i&&n>=bpe}function mult_(e,t){var n;for(ss.length!=2*e.length&&(ss=new Array(2*e.length)),copyInt_(ss,0),n=0;n0&&!e[o-1];o--);for(s=o>t.length?2*o:2*t.length,s0.length!=s&&(s0=new Array(s)),copyInt_(s0,0),n=0;o>n;n++){for(a=s0[2*n]+e[n]*e[n],s0[2*n]=a&mask,a>>=bpe,i=n+1;o>i;i++)a=s0[n+i]+2*e[n]*e[i]+a,s0[n+i]=a&mask,a>>=bpe;s0[n+o]=a}mod_(s0,t),copy_(e,s0)}function trim(e,t){var n,i;for(n=e.length;n>0&&!e[n-1];n--);return i=new Array(n+t),copy_(i,e),i}function powMod_(e,t,n){var i,a,o,s;if(s7.length!=n.length&&(s7=dup(n)),0!=(1&n[0])){for(copyInt_(s7,0),o=n.length;o>0&&!n[o-1];o--);for(s=radix-inverseModInt(modInt(n,radix),radix),s7[o]=1,multMod_(e,s7,n),s3.length!=e.length?s3=dup(e):copy_(s3,e),i=t.length-1;i>0&!t[i];i--);if(0==t[i])return void copyInt_(e,1);for(a=1<>=1);for(;;){if(!(a>>=1)){if(i--,0>i)return void mont_(e,one,n,s);a=1<0&&0==n[d-1];d--);for(;u>0&&0==t[u-1];u--);for(c=sa.length-1,a=0;d>a;a++){for(l=sa[0]+e[a]*t[0],r=(l&mask)*i&mask,s=l+r*n[0]>>bpe,l=e[a],o=1;u-4>o;)s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++;for(;u>o;)s+=sa[o]+r*n[o]+l*t[o],sa[o-1]=s&mask,s>>=bpe,o++;for(;d-4>o;)s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++,s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++;for(;d>o;)s+=sa[o]+r*n[o],sa[o-1]=s&mask,s>>=bpe,o++;for(;c>o;)s+=sa[o],sa[o-1]=s&mask,s>>=bpe,o++;sa[o-1]=s&mask}greater(n,sa)||sub_(sa,n),copy_(e,sa)}function dT(){return"["+(((new Date).getTime()-_logTimer)/1e3).toFixed(3)+"]"}function checkClick(e,t){return 1==e.which&&(e.ctrlKey||e.metaKey)||2==e.which?!0:(t||e.preventDefault(),!1)}function checkDragEvent(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t").css({position:"absolute",width:100,height:100,overflow:"scroll",top:-9999}).appendTo($(document.body)),t=e[0].offsetWidth-e[0].clientWidth;return e.remove(),t}function onCtrlEnter(e,t){$(e).on("keydown",function(e){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}function setFieldSelection(e,t,n){e=$(e)[0];try{if(e.focus(),(void 0===t||t===!1)&&(t=e.value.length),(void 0===n||n===!1)&&(n=t),e.createTextRange){var i=e.createTextRange();i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i.select()}else e.setSelectionRange&&e.setSelectionRange(t,n)}catch(a){}}function getFieldSelection(e){if(e.selectionStart)return e.selectionStart;if(!document.selection)return 0;var t="",n=document.selection.createRange(),i=n.text,a=n.duplicate(),o=0;try{a.moveToElementText(e)}catch(s){return 0}return n.text=i+t,o=a.text.indexOf(t),n.moveStart("character",-1),n.text="",o}function getRichValue(e){if(!e)return"";var t=[],n=[];return getRichElementValue(e,t,n),n.length&&t.push(n.join("")),t.join("\n")}function getRichValueWithCaret(e){if(!e)return[];var t,n,i=[],a=[],o=window.getSelection?window.getSelection():!1;if(o&&o.rangeCount){var s=o.getRangeAt(0);s.startContainer&&s.startContainer==s.endContainer&&s.startOffset==s.endOffset&&(t=s.startContainer,n=s.startOffset)}getRichElementValue(e,i,a,t,n),a.length&&i.push(a.join(""));var r=i.join("\n"),l=r.indexOf("");return-1!=l&&(r=r.substr(0,l)+r.substr(l+1)),[r,l]}function getRichElementValue(e,t,n,i,a){if(3!=e.nodeType){if(1==e.nodeType){var o,s="DIV"==e.tagName||"P"==e.tagName;s&&n.length||"BR"==e.tagName?(t.push(n.join("")),n.splice(0,n.length)):"IMG"==e.tagName&&e.alt&&n.push(e.alt);for(var o=e.firstChild;o;)getRichElementValue(o,t,n,i,a),o=o.nextSibling;i===e&&n.push(""),s&&n.length&&(t.push(n.join("")),n.splice(0,n.length))}}else if(i===e){var r=e.nodeValue;n.push(r.substr(0,a)+""+r.substr(a))}else n.push(e.nodeValue)}function setRichFocus(e,t){if(e.focus(),window.getSelection&&document.createRange){var n=document.createRange();t?n.selectNode(t):n.selectNodeContents(e),n.collapse(!1);var i=window.getSelection();i.removeAllRanges(),i.addRange(n)}else if(void 0!==document.body.createTextRange){var a=document.body.createTextRange();a.moveToElementText(t||e),a.collapse(!1),a.select()}}function getSelectedText(){var e=(window.getSelection&&window.getSelection()||document.getSelection&&document.getSelection()||document.selection&&document.selection.createRange().text||"").toString().replace(/^\s+|\s+$/g,"");return e}function scrollToNode(e,t,n){var i=t.offsetTop-15,a=t.offsetHeight+30,o=e.scrollTop,s=e.clientHeight;o>i?(e.scrollTop=i,$(n).nanoScroller({flash:!0})):i+a-s>o&&(e.scrollTop=i+a-s,$(n).nanoScroller({flash:!0}))}function onContentLoaded(e){setZeroTimeout(e)}function tsNow(e){var t=+new Date+(window.tsOffset||0);return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}function listMergeSorted(e,t){e=e||[],t=t||[];for(var n=angular.copy(e),i=e.length?e[e.length-1]:4294967295,a=0;a/g,">")}function calcImageInBox(e,t,n,i,a){var o=n,s=i;return e/t>n/i?s=parseInt(t*n/e):(o=parseInt(e*i/t),o>n&&(s=parseInt(s*n/o),o=n)),a&&o>=e&&s>=t&&(o=e,s=t),{w:o,h:s}}function versionCompare(e,t){"string"!=typeof e&&(e=""),"string"!=typeof t&&(t=""),e=e.replace(/^\s+|\s+$/g,"").split("."),t=t.replace(/^\s+|\s+$/g,"").split(".");var n,i=Math.max(e.length,t.length);for(n=0;i>n;n++)if(e[n]!=t[n])return e[n]>t[n]?1:-1;return 0}function bigint(e){return new BigInteger(e.toString(16),16)}function bigStringInt(e){return new BigInteger(e,10)}function dHexDump(e){for(var t=[],n=0;nt;t+=2)a.push(parseInt(e.substr(t,2),16));return a}function bytesToBase64(e){for(var t,n="",i=e.length,a=0,o=0;i>o;o++)t=o%3,a|=e[o]<<(16>>>t&24),(2===t||i-o===1)&&(n+=String.fromCharCode(uint6ToBase64(a>>>18&63),uint6ToBase64(a>>>12&63),uint6ToBase64(a>>>6&63),uint6ToBase64(63&a)),a=0);return n.replace(/A(?=A$|$)/g,"=")}function uint6ToBase64(e){return 26>e?e+65:52>e?e+71:62>e?e-4:62===e?43:63===e?47:65}function base64ToBlob(e,t){for(var n=1024,i=atob(e),a=i.length,o=Math.ceil(a/n),s=new Array(o),r=0;o>r;++r){for(var l=r*n,c=Math.min(l+n,a),d=new Array(c-l),u=l,p=0;c>u;++p,++u)d[p]=i[u].charCodeAt(0);s[r]=new Uint8Array(d)}return blobConstruct(s,t)}function dataUrlToBlob(e){var t=e.split(","),n=t[1],i=t[0].split(":")[1].split(";")[0],a=base64ToBlob(n,i);return a}function blobConstruct(e,t){var n;try{n=new Blob(e,{type:t})}catch(i){var a=new BlobBuilder;angular.forEach(e,function(e){a.append(e)}),n=a.getBlob(t)}return n}function bytesCmp(e,t){var n=e.length;if(n!=t.length)return!1;for(var i=0;n>i;i++)if(e[i]!=t[i])return!1;return!0}function bytesXor(e,t){for(var n=e.length,i=[],a=0;n>a;++a)i[a]=e[a]^t[a];return i}function bytesToWords(e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var t,n=e.length,i=[];for(t=0;n>t;t++)i[t>>>2]|=e[t]<<24-t%4*8;return new CryptoJS.lib.WordArray.init(i,n)}function bytesFromWords(e){for(var t=e.words,n=e.sigBytes,i=[],a=0;n>a;a++)i.push(t[a>>>2]>>>24-a%4*8&255);return i}function bytesFromBigInt(e,t){var n=e.toByteArray();if(t&&n.lengtha;a++)i[a]=0;n=n instanceof ArrayBuffer?bufferConcat(i,n):i.concat(n)}else for(;!n[0]&&(!t||n.length>t);)n=n.slice(1);return n}function bytesFromLeemonBigInt(e){var t=bigInt2str(e,16);return bytesFromHex(t)}function bytesToArrayBuffer(e){return new Uint8Array(e).buffer}function convertToArrayBuffer(e){return e instanceof ArrayBuffer?e:void 0!==e.buffer&&e.buffer.byteLength==e.length*e.BYTES_PER_ELEMENT?e.buffer:bytesToArrayBuffer(e)}function convertToUint8Array(e){return void 0!==e.buffer?e:new Uint8Array(e)}function convertToByteArray(e){if(Array.isArray(e))return e;e=convertToUint8Array(e);for(var t=[],n=0,i=e.length;i>n;n++)t.push(e[n]);return t}function bytesFromArrayBuffer(e){for(var t=e.byteLength,n=new Uint8Array(e),i=[],a=0;t>a;++a)i[a]=n[a];return i}function bufferConcat(e,t){var n=e.byteLength||e.length,i=t.byteLength||t.length,a=new Uint8Array(n+i);return a.set(e instanceof ArrayBuffer?new Uint8Array(e):e,0),a.set(t instanceof ArrayBuffer?new Uint8Array(t):t,n),a.buffer}function longToInts(e){var t=bigStringInt(e).divideAndRemainder(bigint(4294967296));return[t[0].intValue(),t[1].intValue()]}function longToBytes(e){return bytesFromWords({words:longToInts(e),sigBytes:8}).reverse()}function longFromInts(e,t){return bigint(e).shiftLeft(32).add(bigint(t)).toString(10)}function intToUint(e){return e=parseInt(e),0>e&&(e+=4294967296),e}function uintToInt(e){return e>2147483647&&(e-=4294967296),e}function sha1HashSync(e){this.rushaInstance=this.rushaInstance||new Rusha(1048576);var t=rushaInstance.rawDigest(e).buffer;return t}function sha1BytesSync(e){return bytesFromArrayBuffer(sha1HashSync(e))}function sha256HashSync(e){var t=CryptoJS.SHA256(bytesToWords(e)),n=bytesFromWords(t);return n}function rsaEncrypt(e,t){t=addPadding(t,255);var n=new BigInteger(e.modulus,16),i=new BigInteger(e.exponent,16),a=new BigInteger(t),o=a.modPowInt(i,n),s=bytesFromBigInt(o,256);return s}function addPadding(e,t,n){t=t||16;var i=e.byteLength||e.length,a=t-i%t;if(a>0&&t>a){var o=new Array(a);if(n)for(var s=0;a>s;s++)o[s]=0;else(new SecureRandom).nextBytes(o);e=e instanceof ArrayBuffer?bufferConcat(e,o):e.concat(o)}return e}function aesEncryptSync(e,t,n){e.byteLength||e.length;e=addPadding(e);var i=CryptoJS.AES.encrypt(bytesToWords(e),bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}).ciphertext,a=bytesFromWords(i);return a}function aesDecryptSync(e,t,n){var i=CryptoJS.AES.decrypt({ciphertext:bytesToWords(e)},bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}),a=bytesFromWords(i);return a}function gzipUncompress(e){var t=new Zlib.Gunzip(e).decompress();return t}function nextRandomInt(e){return Math.floor(Math.random()*e)}function pqPrimeFactorization(e){var t=new BigInteger(e),n=!1;try{n=pqPrimeLeemon(str2bigInt(t.toString(16),16,Math.ceil(64/bpe)+1))}catch(i){console.error("Pq leemon Exception",i)}if(n===!1&&t.bitLength()<=64)try{n=pqPrimeLong(goog.math.Long.fromString(t.toString(16),16))}catch(i){console.error("Pq long Exception",i)}return n===!1&&(n=pqPrimeBigInteger(t)),n}function pqPrimeBigInteger(e){for(var t,n=0,i=0;3>i;i++){for(var a=(15&nextRandomInt(128))+17,o=bigint(nextRandomInt(1e9)+1),s=o.clone(),r=1<l;l++){++n;for(var c=o.clone(),d=o.clone(),u=bigint(a);!d.equals(BigInteger.ZERO);)d.and(BigInteger.ONE).equals(BigInteger.ZERO)||(u=u.add(c),u.compareTo(e)>0&&(u=u.subtract(e))),c=c.add(c),c.compareTo(e)>0&&(c=c.subtract(e)),d=d.shiftRight(1);o=u.clone();var p=o.compareTo(s)<0?s.subtract(o):o.subtract(s);if(t=p.gcd(e),!t.equals(BigInteger.ONE))break;0==(l&l-1)&&(s=o.clone())}if(t.compareTo(BigInteger.ONE)>0)break}var m,h,g=e.divide(t);return t.compareTo(g)>0?(m=g,h=t):(m=t,h=g),[bytesFromBigInt(m),bytesFromBigInt(h),n]}function gcdLong(e,t){for(;e.notEquals(goog.math.Long.ZERO)&&t.notEquals(goog.math.Long.ZERO);){for(;t.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)t=t.shiftRight(1);for(;e.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)e=e.shiftRight(1);e.compare(t)>0?e=e.subtract(t):t=t.subtract(e)}return t.equals(goog.math.Long.ZERO)?e:t}function pqPrimeLong(e){for(var t,n=0,i=0;3>i;i++){for(var a=goog.math.Long.fromInt((15&nextRandomInt(128))+17),o=goog.math.Long.fromInt(nextRandomInt(1e9)+1),s=o,r=1<l;l++){++n;for(var c=o,d=o,u=a;d.notEquals(goog.math.Long.ZERO);)d.and(goog.math.Long.ONE).notEquals(goog.math.Long.ZERO)&&(u=u.add(c),u.compare(e)>0&&(u=u.subtract(e))),c=c.add(c),c.compare(e)>0&&(c=c.subtract(e)),d=d.shiftRight(1);o=u;var p=o.compare(s)<0?s.subtract(o):o.subtract(s);if(t=gcdLong(p,e),t.notEquals(goog.math.Long.ONE))break;0==(l&l-1)&&(s=o)}if(t.compare(goog.math.Long.ONE)>0)break}var m,h,g=e.div(t);return t.compare(g)>0?(m=g,h=t):(m=t,h=g),[bytesFromHex(m.toString(16)),bytesFromHex(h.toString(16)),n]}function pqPrimeLeemon(e){var t,n,i,a,o,s,r,l=64,c=Math.ceil(l/bpe)+1,d=0,u=new Array(c),p=new Array(c),m=new Array(c),o=new Array(c),h=new Array(c),g=new Array(c),f=new Array(c);for(t=0;3>t;t++){for(n=(15&nextRandomInt(128))+17,copyInt_(g,nextRandomInt(1e9)+1),copy_(f,g),a=1<i;i++){for(++d,copy_(u,g),copy_(p,g),copyInt_(m,n);!isZero(p);)1&p[0]&&(add_(m,u),greater(m,e)&&sub_(m,e)),add_(u,u),greater(u,e)&&sub_(u,e),rightShift_(p,1);if(copy_(g,m),greater(g,f)?(copy_(h,g),sub_(h,f)):(copy_(h,f),sub_(h,g)),eGCD_(h,e,o,u,p),!equalsInt(o,1))break;0==(i&i-1)&©_(f,g)}if(greater(o,one))break}return divide_(e,o,g,f),greater(o,g)?(s=g,r=o):(s=o,r=g),[bytesFromLeemonBigInt(s),bytesFromLeemonBigInt(r),d]}function bytesModPow(e,t,n){try{var i=str2bigInt(bytesToHex(e),16),a=str2bigInt(bytesToHex(t),16),o=str2bigInt(bytesToHex(n),16),s=powMod(i,a,o);return bytesFromHex(bigInt2str(s,16))}catch(r){console.error("mod pow error",r)}return bytesFromBigInt(new BigInteger(e).modPow(new BigInteger(t),new BigInteger(n)),256)}function TLSerialization(e){return e=e||{},this.maxLength=e.startMaxLength||2048,this.offset=0,this.createBuffer(),this.mtproto=e.mtproto||!1,this}function TLDeserialization(e,t){return t=t||{},this.offset=0,this.override=t.override||{},this.buffer=e,this.intView=new Uint32Array(this.buffer),this.byteView=new Uint8Array(this.buffer),this.mtproto=t.mtproto||!1,this}function EmojiTooltip(e,t){t=t||{};var n=this;this.btnEl=$(e),this.onEmojiSelected=t.onEmojiSelected,this.onStickerSelected=t.onStickerSelected,this.getStickers=t.getStickers,this.getStickerImage=t.getStickerImage,this.onStickersetSelected=t.onStickersetSelected,Config.Navigator.touch||$(this.btnEl).on("mouseenter mouseleave",function(e){n.isOverBtn="mouseenter"==e.type,n.createTooltip(),n.isOverBtn?n.onMouseEnter(!0):n.onMouseLeave(!0)}),$(this.btnEl).on("mousedown",function(e){return n.shown?(clearTimeout(n.hideTimeout),delete n.hideTimeout,n.hide()):(clearTimeout(n.showTimeout),delete n.showTimeout,n.createTooltip(),n.show()),cancelEvent(e)}),$(document).on("mousedown",function(){n.shown&&n.hide()})}function EmojiPanel(e,t){t=t||{};var n=this;this.containerEl=$(e),this.onEmojiSelected=t.onEmojiSelected,this.containerEl.on("mousedown",function(e){e=e.originalEvent||e;var t,i=$(e.target);return"A"!=i[0].tagName&&(i=$(i[0].parentNode)),(t=i.attr("data-code"))&&(n.onEmojiSelected&&n.onEmojiSelected(t),EmojiHelper.pushPopularEmoji(t)),cancelEvent(e)}),this.update()}function MessageComposer(e,t){this.textareaEl=$(e),this.setUpInput(),this.autoCompleteWrapEl=$('
').appendTo(document.body),this.autoCompleteEl=$('').appendTo(this.autoCompleteWrapEl),this.scroller=new Scroller(this.autoCompleteEl,{maxHeight:180});var n=this;this.autoCompleteEl.on("mousedown",function(e){e=e.originalEvent||e;var t,i,a,o=$(e.target);return"A"!=o[0].tagName&&(o=$(o[0].parentNode)),(i=o.attr("data-code"))&&(n.onEmojiSelected&&n.onEmojiSelected(i,!0),EmojiHelper.pushPopularEmoji(i)),(t=o.attr("data-mention"))&&n.onMentionSelected(t),(a=o.attr("data-command"))&&(n.onCommandSelected&&n.onCommandSelected(a),n.hideSuggestions()),cancelEvent(e)}),this.isActive=!1,this.onTyping=t.onTyping,this.onMessageSubmit=t.onMessageSubmit,this.getSendOnEnter=t.getSendOnEnter,this.onFilePaste=t.onFilePaste,this.mentions=t.mentions,this.commands=t.commands,this.getPeerImage=t.getPeerImage,this.onCommandSend=t.onCommandSend}function Scroller(e,t){t=t||{};t.classPrefix||"scroller";this.content=$(e),this.useNano=void 0!==t.nano?t.nano:!Config.Mobile,this.maxHeight=t.maxHeight,this.minHeight=t.minHeight,this.useNano?this.setUpNano():this.setUpNative(),this.updateHeight()}!function(e){"use strict";e.console=e.console||{};for(var t,n,i=e.console,a={},o=function(){},s="memory".split(","),r="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");t=s.pop();)i[t]||(i[t]=a);for(;n=r.pop();)i[n]||(i[n]=o)}("undefined"==typeof window?this:window),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n;if(null==this)throw new TypeError('"this" is null or not defined');var i=Object(this),a=i.length>>>0;if(0===a)return-1;var o=+t||0;if(1/0===Math.abs(o)&&(o=0),o>=a)return-1;for(n=Math.max(o>=0?o:a-Math.abs(o),0);a>n;){if(n in i&&i[n]===e)return n;n++}return-1}),Array.isArray||(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),"function"!=typeof Object.create&&(Object.create=function(){var e=function(){};return function(t){if(arguments.length>1)throw Error("Second argument not supported");if("object"!=typeof t)throw TypeError("Argument must be an object");e.prototype=t;var n=new e;return e.prototype=null,n}}()),Function.prototype.bind||(Function.prototype.bind=function(e){if("function"!=typeof this)throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");var t=Array.prototype.slice.call(arguments,1),n=this,i=function(){},a=function(){return n.apply(this instanceof i&&e?this:e,t.concat(Array.prototype.slice.call(arguments)))};return i.prototype=this.prototype,a.prototype=new i,a}),function(e){function t(t){i.push(t),e.postMessage(a,"*")}function n(t){if(t.source==e&&t.data==a&&(t.stopPropagation(),i.length>0)){var n=i.shift();n()}}var i=[],a="zero-timeout-message";e.addEventListener("message",n,!0);var o=e.setTimeout;e.setTimeout=function(e,n){return!n||5>=n?t(e):o(e,n)},e.setZeroTimeout=t}(this),!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=e.length,n=at.type(e);return"function"===n||at.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function i(e,t,n){if(at.isFunction(t))return at.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return at.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(pt.test(t))return at.filter(t,e,n);t=at.filter(t,e)}return at.grep(e,function(e){return at.inArray(e,t)>=0!==n})}function a(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t=bt[e]={};return at.each(e.match(yt)||[],function(e,n){t[n]=!0}),t}function s(){ht.addEventListener?(ht.removeEventListener("DOMContentLoaded",r,!1),e.removeEventListener("load",r,!1)):(ht.detachEvent("onreadystatechange",r),e.detachEvent("onload",r))}function r(){(ht.addEventListener||"load"===event.type||"complete"===ht.readyState)&&(s(),at.ready())}function l(e,t,n){if(void 0===n&&1===e.nodeType){var i="data-"+t.replace(Ct,"-$1").toLowerCase();if(n=e.getAttribute(i),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:St.test(n)?at.parseJSON(n):n}catch(a){}at.data(e,t,n)}else n=void 0}return n}function c(e){var t;for(t in e)if(("data"!==t||!at.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function d(e,t,n,i){if(at.acceptData(e)){var a,o,s=at.expando,r=e.nodeType,l=r?at.cache:e,c=r?e[s]:e[s]&&s;if(c&&l[c]&&(i||l[c].data)||void 0!==n||"string"!=typeof t)return c||(c=r?e[s]=K.pop()||at.guid++:s),l[c]||(l[c]=r?{}:{toJSON:at.noop}),("object"==typeof t||"function"==typeof t)&&(i?l[c]=at.extend(l[c],t):l[c].data=at.extend(l[c].data,t)),o=l[c],i||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[at.camelCase(t)]=n),"string"==typeof t?(a=o[t],null==a&&(a=o[at.camelCase(t)])):a=o,a}}function u(e,t,n){if(at.acceptData(e)){var i,a,o=e.nodeType,s=o?at.cache:e,r=o?e[at.expando]:at.expando;if(s[r]){if(t&&(i=n?s[r]:s[r].data)){at.isArray(t)?t=t.concat(at.map(t,at.camelCase)):t in i?t=[t]:(t=at.camelCase(t),t=t in i?[t]:t.split(" ")),a=t.length;for(;a--;)delete i[t[a]];if(n?!c(i):!at.isEmptyObject(i))return}(n||(delete s[r].data,c(s[r])))&&(o?at.cleanData([e],!0):nt.deleteExpando||s!=s.window?delete s[r]:s[r]=null)}}}function p(){return!0}function m(){return!1}function h(){try{return ht.activeElement}catch(e){}}function g(e){var t=Ot.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function f(e,t){var n,i,a=0,o=typeof e.getElementsByTagName!==$t?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==$t?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(i=n[a]);a++)!t||at.nodeName(i,t)?o.push(i):at.merge(o,f(i,t));return void 0===t||t&&at.nodeName(e,t)?at.merge([e],o):o}function _(e){Tt.test(e.type)&&(e.defaultChecked=e.checked)}function v(e,t){return at.nodeName(e,"table")&&at.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function y(e){return e.type=(null!==at.find.attr(e,"type"))+"/"+e.type,e}function b(e){var t=Gt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function w(e,t){for(var n,i=0;null!=(n=e[i]);i++)at._data(n,"globalEval",!t||at._data(t[i],"globalEval"))}function k(e,t){if(1===t.nodeType&&at.hasData(e)){var n,i,a,o=at._data(e),s=at._data(t,o),r=o.events;if(r){delete s.handle,s.events={};for(n in r)for(i=0,a=r[n].length;a>i;i++)at.event.add(t,n,r[n][i])}s.data&&(s.data=at.extend({},s.data))}}function $(e,t){var n,i,a;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!nt.noCloneEvent&&t[at.expando]){a=at._data(t);for(i in a.events)at.removeEvent(t,i,a.handle);t.removeAttribute(at.expando)}"script"===n&&t.text!==e.text?(y(t).text=e.text,b(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),nt.html5Clone&&e.innerHTML&&!at.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Tt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function S(t,n){var i,a=at(n.createElement(t)).appendTo(n.body),o=e.getDefaultComputedStyle&&(i=e.getDefaultComputedStyle(a[0]))?i.display:at.css(a[0],"display");return a.detach(),o}function C(e){var t=ht,n=Qt[e];return n||(n=S(e,t),"none"!==n&&n||(Jt=(Jt||at("