admin
2020-08-12 cefe2a41db4a275fb1e940a902cb156f1ed68d80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Êþº¾2‹5com/mozillaonline/providers/downloads/ui/DownloadListandroid/app/Activity6android/widget/ExpandableListView$OnChildClickListener.android/widget/AdapterView$OnItemClickListener
Lcom/mozillaonline/providers/downloads/ui/DownloadItem$DownloadSelectListener !android/view/View$OnClickListener0android/content/DialogInterface$OnCancelListenerLOG_TAGLjava/lang/String; ConstantValue DownloadListmDateOrderedListView#Landroid/widget/ExpandableListView;mSizeOrderedListViewLandroid/widget/ListView;
mEmptyViewLandroid/view/View;mSelectionMenuViewLandroid/view/ViewGroup;mSelectionDeleteButtonLandroid/widget/Button;mDownloadManager-Lcom/mozillaonline/providers/DownloadManager;mDateSortedCursorLandroid/database/Cursor;mDateSortedAdapterDLcom/mozillaonline/providers/downloads/ui/DateSortedDownloadAdapter;mSizeSortedCursormSizeSortedAdapter:Lcom/mozillaonline/providers/downloads/ui/DownloadAdapter;mContentObserverILcom/mozillaonline/providers/downloads/ui/DownloadList$MyContentObserver;mDataSetObserverILcom/mozillaonline/providers/downloads/ui/DownloadList$MyDataSetObserver;mStatusColumnIdI mIdColumnIdmLocalUriColumnIdmMediaTypeColumnIdmReasonColumndIdmIsSortedBySizeZ mSelectedIdsLjava/util/Set;    Signature!Ljava/util/Set<Ljava/lang/Long;>;mQueuedDownloadIdLjava/lang/Long; mQueuedDialogLandroid/app/AlertDialog;<init>()VCode
? ;<AGcom/mozillaonline/providers/downloads/ui/DownloadList$MyContentObserver
@C ;D:(Lcom/mozillaonline/providers/downloads/ui/DownloadList;)V    F '(HGcom/mozillaonline/providers/downloads/ui/DownloadList$MyDataSetObserver
GJ ;Kƒ(Lcom/mozillaonline/providers/downloads/ui/DownloadList;Lcom/mozillaonline/providers/downloads/ui/DownloadList$MyDataSetObserver;)V    M )*    O 12Qjava/util/HashSet
P?    T 34    V 78LineNumberTableLocalVariableTablethis7Lcom/mozillaonline/providers/downloads/ui/DownloadList;onCreate(Landroid/os/Bundle;)V
^ [\
` a<
setupViewsc+com/mozillaonline/providers/DownloadManager
e fggetContentResolver#()Landroid/content/ContentResolver;
i jkgetPackageName()Ljava/lang/String;
bm ;n6(Landroid/content/ContentResolver;Ljava/lang/String;)V    p 
br stsetAccessAllDownloads(Z)Vv1com/mozillaonline/providers/DownloadManager$Query
u?
uy z{"setOnlyIncludeVisibleInDownloadsUi6(Z)Lcom/mozillaonline/providers/DownloadManager$Query;
b} ~queryN(Lcom/mozillaonline/providers/DownloadManager$Query;)Landroid/database/Cursor;      !ƒ
total_size
u… †‡orderByH(Ljava/lang/String;I)Lcom/mozillaonline/providers/DownloadManager$Query;    ‰ $!
‹ Œ haveCursors()Z
 ‘startManagingCursor(Landroid/database/Cursor;)V“status •—–android/database/Cursor ˜™getColumnIndexOrThrow(Ljava/lang/String;)I    › +,_id    Ÿ -,¡    local_uri    £ .,¥
media_type    § /,©reason    « 0,­Bcom/mozillaonline/providers/downloads/ui/DateSortedDownloadAdapter
¬¯ ;°ƒ(Landroid/content/Context;Landroid/database/Cursor;Lcom/mozillaonline/providers/downloads/ui/DownloadItem$DownloadSelectListener;)V    ² "#    ´ 
¶¸·!android/widget/ExpandableListView ¹º
setAdapter)(Landroid/widget/ExpandableListAdapter;)V¼8com/mozillaonline/providers/downloads/ui/DownloadAdapter
»¯    ¿ %&    Á 
ÃÅÄandroid/widget/ListView ¹Æ(Landroid/widget/ListAdapter;)V
È É<ensureSomeGroupIsExpanded
Ë Ì<chooseListToShowicicleLandroid/os/Bundle;    baseQuery3Lcom/mozillaonline/providers/DownloadManager$Query; StackMapTableÓ7com/mozillaonline/providers/downloads/ui/DownloadList$1
ÒC
¶Ö רpost(Ljava/lang/Runnable;)Z    ÚÜÛ+com/mozillaonline/downloadprovider/R$layout Ý, download_list
ß àásetContentView(I)V    ãåä+com/mozillaonline/downloadprovider/R$string æ,download_title
è éêgetText(I)Ljava/lang/CharSequence;
ì íîsetTitle(Ljava/lang/CharSequence;)V    ðòñ'com/mozillaonline/downloadprovider/R$id ó,date_ordered_list
õ ö÷ findViewById(I)Landroid/view/View;
¶ù úûsetOnChildClickListener;(Landroid/widget/ExpandableListView$OnChildClickListener;)V    ðý þ,size_ordered_list
à setOnItemClickListener3(Landroid/widget/AdapterView$OnItemClickListener;)V    ð ,empty         ð     
,selection_menu android/view/ViewGroup         ð ,selection_deleteandroid/widget/Button     
 setOnClickListener&(Landroid/view/View$OnClickListener;)V    ð , deselect_allonResume
 < •! "#registerContentObserver%(Landroid/database/ContentObserver;)V •% &'registerDataSetObserver%(Landroid/database/DataSetObserver;)V
) *<refreshonPause
- +< •/ 0#unregisterContentObserver •2 3'unregisterDataSetObserveronSaveInstanceState
6 4\8isSortedBySize
:<;android/os/Bundle =>
putBoolean(Ljava/lang/String;Z)V@    selection
B CDgetSelectionAsArray()[J
:F GH putLongArray(Ljava/lang/String;[J)VoutState KML java/util/Set NOsize()I KQ RSiterator()Ljava/util/Iterator; UWVjava/util/Iterator XYnext()Ljava/lang/Object;[java/lang/Long
Z] ^_    longValue()J selectedIds[JLjava/util/Iterator;iLocalVariableTypeTable&Ljava/util/Iterator<Ljava/lang/Long;>;aonRestoreInstanceState
i g\
:k lm
getBoolean(Ljava/lang/String;)Z Ko p<clear
:r st getLongArray(Ljava/lang/String;)[J
Zv wxvalueOf(J)Ljava/lang/Long; Kz {|add(Ljava/lang/Object;)Z
~ <showOrHideSelectionMenusavedInstanceState
selectedIdJonCreateOptionsMenu(Landroid/view/Menu;)Z
† ‡ˆgetMenuInflater()Landroid/view/MenuInflater;    ŠŒ‹)com/mozillaonline/downloadprovider/R$menu ,download_ui_menu
‘android/view/MenuInflater ’“inflate(ILandroid/view/Menu;)VmenuLandroid/view/Menu;inflaterLandroid/view/MenuInflater;onPrepareOptionsMenu    ðš ›,download_menu_sort_by_size Ÿžandroid/view/Menu  ¡findItem(I)Landroid/view/MenuItem; £¥¤android/view/MenuItem ¦§
setVisible(Z)Landroid/view/MenuItem;    ð© ª,download_menu_sort_by_date
¬ ˜„onOptionsItemSelected(Landroid/view/MenuItem;)Z £° ±O    getItemId
³ ´µ getResources!()Landroid/content/res/Resources;›¸id
º¼»android/content/res/Resources ½¾ getIdentifier9(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)IªitemLandroid/view/MenuItem;
¶Ã Äá setVisibility
Ãà •Ç ÈOgetCount
ÊÃËandroid/view/View
Í ÎÏactiveListView()Landroid/widget/ListView;
ÃÑ Ò<invalidateViewsgetDeleteClickHandler4(J)Landroid/content/DialogInterface$OnClickListener;Ö7com/mozillaonline/providers/downloads/ui/DownloadList$2
ÕØ ;Ù;(Lcom/mozillaonline/providers/downloads/ui/DownloadList;J)V
downloadIdgetPauseClickHandlerÝ7com/mozillaonline/providers/downloads/ui/DownloadList$3
ÜØgetResumeClickHandlerá7com/mozillaonline/providers/downloads/ui/DownloadList$4
àØgetRestartClickHandlerå7com/mozillaonline/providers/downloads/ui/DownloadList$5
äØopenCurrentDownload •é êë    getString(I)Ljava/lang/String;
íïîandroid/net/Uri ðñparse%(Ljava/lang/String;)Landroid/net/Uri;ór
õ÷öandroid/content/ContentResolver øùopenFileDescriptorF(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
ûýüandroid/os/ParcelFileDescriptor þ<closejava/lang/StringBuilderFailed to open download 
ÿ ;(Ljava/lang/String;)V •     getLong(I)J
ÿ   append(J)Ljava/lang/StringBuilder;
ÿ ktoString
android/util/Log d<(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I    ã ,dialog_file_missing_body
é
 showFailedDialog(JLjava/lang/String;)V android/content/Intent"android.intent.action.VIEW
 
% &'setDataAndType=(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/Intent;
* +,setFlags(I)Landroid/content/Intent;
. /0 startActivity(Landroid/content/Intent;)V    ã2 3,download_no_application_title
576android/widget/Toast 89makeText3(Landroid/content/Context;II)Landroid/widget/Toast;
5; <<show>java/io/FileNotFoundException@java/io/IOExceptionB)android/content/ActivityNotFoundExceptioncursorlocalUriLandroid/net/Uri;excLjava/io/FileNotFoundException;intentLandroid/content/Intent;ex+Landroid/content/ActivityNotFoundException;handleItemClick •N OPgetInt(I)I
R STshowRunningDialog(J)V
V WXisPausedForWifi(Landroid/database/Cursor;)ZZandroid/app/AlertDialog$Builder
Y\ ;](Landroid/content/Context;)V    ã_ `,dialog_title_queued_body
Yb íc$(I)Landroid/app/AlertDialog$Builder;    ãe f,dialog_queued_body
Yh ic
setMessage    ãk l,keep_queued_download
Yn opsetPositiveButtonU(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;    ãr s,remove_download
u ÓÔ
Yw xpsetNegativeButton
Yz {|setOnCancelListenerU(Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/AlertDialog$Builder;
Y~ <()Landroid/app/AlertDialog;     9:
ƒ „TshowPausedDialog
† ç‘
ˆ ‰ŠgetErrorMessage-(Landroid/database/Cursor;)Ljava/lang/String;
Œ XisOnExternalStorage    ã ,dialog_file_already_exists
’ “kgetUnknownErrorMessage    ã• –,%dialog_insufficient_space_on_external    ã˜ ™,"dialog_insufficient_space_on_cache    ã› œ,dialog_media_not_found    ãž Ÿ,dialog_cannot_resume
í¡ ¢k    getScheme¤file
¦¨§java/lang/String ©|equals
í« ¬kgetPath
®°¯android/os/Environment ±²getExternalStorageDirectory()Ljava/io/File;
´«µ java/io/File
¦· ¸m
startsWithlocalUriStringpath externalRoot    ã½ ¾,dialog_failed_body    ãÀ Á,download_running    ãà Ä,dialog_running_body    ãÆ Ç,cancel_running_download    ãÉ Ê,pause_download
Ì ÛÔ    ãÎ Ï,download_queued    ãÑ Ò,dialog_paused_body    ãÔ Õ,delete_download    ã× Ø,resume_download
Ú ßÔ    ãÜ Ý,dialog_title_not_available
Yß ià;(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;    ãâ ã,retry_download
å ãÔ
dialogBody onChildClick<(Landroid/widget/ExpandableListView;Landroid/view/View;IIJ)Z
¬ê ëìmoveCursorToChildPosition(II)Z
î L‘parentv groupPosition childPosition onItemClick4(Landroid/widget/AdapterView;Landroid/view/View;IJ)V7(Landroid/widget/AdapterView<*>;Landroid/view/View;IJ)V •÷ øùmoveToPosition(I)ZLandroid/widget/AdapterView;viewpositionLandroid/widget/AdapterView<*>;onDownloadSelectionChanged(JZ)V K |remove
isSelected K isEmpty
      O getVisibility
  <updateSelectionMenu
 à   )com/mozillaonline/downloadprovider/R$anim , footer_appear
%android/view/animation/AnimationUtils  loadAnimation>(Landroid/content/Context;I)Landroid/view/animation/Animation;
  startAnimation%(Landroid/view/animation/Animation;)V     ,footer_disappearshouldBeVisible    isVisible
u# $% setFilterById7([J)Lcom/mozillaonline/providers/DownloadManager$Query; •' ( moveToFirst •ý
+ ,ásetTextdeleteButtonStringId/java/lang/ThrowableonClick(Landroid/view/View;)V
Ê3 4OgetId
7 8TdeleteDownload U: ;hasNext
= ><clearSelection •A Brequery
D EFmoveToDownload(J)Z
bH IJmarkRowDeleted([J)I
bL J
isCompleteisDownloadSelected KP Q|containshandleDownloadsChanged
T U<checkSelectionForDeletedEntries
WYXandroid/app/AlertDialog Z<cancel •\ ]
moveToNext •_ ` isAfterLast Ub <allIdsonCancel$(Landroid/content/DialogInterface;)Vdialog!Landroid/content/DialogInterface;access$0access$1access$2}(Lcom/mozillaonline/providers/downloads/ui/DownloadList;)Lcom/mozillaonline/providers/downloads/ui/DateSortedDownloadAdapter;access$3\(Lcom/mozillaonline/providers/downloads/ui/DownloadList;)Landroid/widget/ExpandableListView;access$4access$5f(Lcom/mozillaonline/providers/downloads/ui/DownloadList;)Lcom/mozillaonline/providers/DownloadManager;
SourceFileDownloadList.java!Landroid/app/Activity;Landroid/widget/ExpandableListView$OnChildClickListener;Landroid/widget/AdapterView$OnItemClickListener;Lcom/mozillaonline/providers/downloads/ui/DownloadItem$DownloadSelectListener;Landroid/view/View$OnClickListener;Landroid/content/DialogInterface$OnCancelListener; InnerClassesBuilderwandroid/content/DialogInterfaceOnCancelListenerz/android/content/DialogInterface$OnClickListenerOnClickListener}android/widget/AdapterViewOnItemClickListenerOnChildClickListener$com/mozillaonline/downloadprovider/RanimlayoutstringQuery‡5com/mozillaonline/providers/downloads/ui/DownloadItemDownloadSelectListenerMyContentObserverMyDataSetObserver!      !"#$!%&'()*+,-,.,/,0,123456789:0;<=u3*·>*»@Y*·BµE*»GY*·IµL*µN*»PY·RµS*µU±W=MNV"W-^2=X 3YZ[\=åñ*+·]*·_*»bY*¶d*¶h·lµo*´o¶q»uY·w¶xM**´o,¶|µ€**´o,‚¶„¶|µˆ*·Š™š**´€¶Ž**´ˆ¶Ž**´€’¹”µš**´€œ¹”µž**´€ ¹”µ¢**´€¤¹”µ¦**´€¨¹”µª*»¬Y**´€*·®µ±*´³*´±¶µ*»»Y**´ˆ*·½µ¾*´À*´¾¶Â*·Ç*·Ê±W®+wx    z{z|$}+~/}0<€BD‚E€N‡Uˆ]‰e‹jŒq‹tyŽ€ƒˆ’‘—’ž‘¡“¦”­“°–¶—¾–Á˜Ì™ÖšÚ™Ý›èì ð¡X ñYZñÍÎ0ÁÏÐÑüìuÉ<=?*´³»ÒY*·Ô¶ÕW±W
§´X YZa<=Ò|*²Ù¶Þ**²â¶ç¶ë**²ï¶ôÀ¶µ³*´³*¶ø**²ü¶ôÀõÀ*´À*¶ÿ**²¶ôµ**²¶ôÀ µ **²¶ôÀµ*´*¶*²¶ôÀ*¶±W2 ·¸º »(¼6½>¾IÀWÁeÂmÄ{ÅX |YZŒ=E*´€Æ *´ˆÆ¬¬WÈX YZÑ<=q**·*·Š™!*´€*´E¹ *´€*´L¹$*·(±WÍÎ ÏÐ%Ñ)ÓX *YZÑ)+<=i&*·,*·Š™*´€*´E¹.*´€*´L¹1±Wר ÙÚ%ÜX &YZÑ%4\=\*+·5+7*´N¶9+?*·A¶E±WàáâãXYZIÎCD=¶5*´S¹J¼ L*´S¹PM>§+,¹TÀZ¶\P„+¾¡ÿë+°Wæ çèé*è3ëX*5YZ )`aRbc,d ReÑ þfUg\=ÎS*+·h*+7¶jµN*´S¹n+?¶qY:¾66§/A*´S ¸u¹yW„¡ÿå*·Ê*·}±W&    ðñòó2ô@óJöN÷RøX SYZS€Î2‚Ñÿ,:fƒ„=i*·Š™*¶…M,²‰+¶Ž¬Wüý þX YZ”• –—ј„=4+²™¹œ*´N™§¹¢W+²¨¹œ*´N¹¢W*+·«¬W    $(.    X4YZ4”•ÑT£ÿ£­®=ºL+¹¯*¶²¶·*¶h¶¹ *µN*·Ê¬+¹¯*¶²¿·*¶h¶¹ *µN*·Ê¬¬W6  #%29?DHJXLYZLÀÁÑ%$Ì<=žI*´³¶Â*´À¶Å*´€Æ*´€¹Æš*´¶ɧ*´¶É*·Ì¶Å*·̶бW&         !#%$-%0&9'A(H*X IYZÑ%
ÎÏ=L*´N™*´À°*´³°W01 3X YZÑ ÓÔ=>
»ÕY*·×°W<X
YZ
Ú‚ÛÔ=>
»ÜY*·Þ°WJX
YZ
Ú‚ßÔ=>
ȈY*ቡWXX
YZ
Ú‚ãÔ=>
ȊY*ᾡWfX
YZ
Ú‚ç‘=‘+*´¢¹è¸ìM*¶d,ò¶ô¶ú§<N»ÿY·+*´ž¹¶
¶-¸W*+*´ž¹*²¶·±N»Y!·#N-,+*´¦¹è¶$W-(¶)W*-¶-§:*²1¸4¶:±=W?{€ƒAWZsuv w"x<y=wAzL{SzV|W}Xc‚sƒ{†€‡…ˆ‰‰Šˆ‰‹X>‘YZ‘C!ƒDE 7FGc.HI… JKÑ1ÿ•í=w?ÿ*•íA L‘=T¯+*´ž¹M…A+*´š¹M«˜22:†Ž* ·Q§a*+·U™?* ¸uµU*»YY*·[²^¶a²d¶g²j¶m²q* ·t¶v*¶y¶}µ€§* ·‚§*+·…§ * *+·‡·±WZŽ H’M“P–X—`˜i™ošu›|œ„œ‡žŽ˜‘Ÿ” ™¢œ¥¡¦¤©®¬X ¯YZ¯C! £¸‚Ñ üHûC    ‰Š=Ñj+*´ª¹Mª[îñ3KS*+·‹™ *²޶°*·‘°*+·‹™ *²”¶°*²—¶°*²š¶°*²¶°*·‘°W*
³(µ0¶8»=¿EÀMÂUÆ]ÉeÌXjYZjC!Ñ    (X=Ó;+*´¢¹èM,Ǭ,¸ìN-¶ £¶¥š¬-¶ª:¸­¶³:¶¶¬W. Ñ ÒÓÕÖ#×%Ù+Ú.Û1Ú3ÜX>;YZ;C! 0¹%DE+º3»Ñü¦üí“k=2*²¼¶°WàX YZST=‹/»YY*·[²¿¶a²¶g²Å*·t¶v²È*·˶m¶}W±W. äåæçèçé"ê'é*ê.ëX/YZ/Ú‚„T=‹/»YY*·[²Ͷa²жg²Ó*·t¶v²Ö*·Ù¶m¶}W±W. îïðñòñó"ô'ó*ô.õX/YZ/Ú‚=“-»YY*·[²Û¶a-¶Þ²Ó*·t¶v²á*·ä¶m¶}W±W. øùúûüûý þ%ý(þ,ÿX -YZ-Ú‚-æçè=*´±¶éW**´€·í¬W X>YZïðñ,ò,¸‚óô5õ=€*´ˆ¹öW**´ˆ·í±W X4YZïúûü,¸‚d ïýþÿ=„(™*´S¸u¹yW§*´S¸u¹W*·}±W#'X (YZ(Ú‚(2Ñ <=óg*´S¹™§<*´ ¶š§=™$*·
š;*´ ¶ *´ *²¸¶§"š™*´ ¶ *´ *²¸¶±W> "!&"*#.%6&:'>&D)O+X,\-`,f/X gYZU 2"E!2Ñ@ü@ü% <=I¥²Ó<*´S¹J Ž*´o»uY·w¼ Y*´S¹P¹TÀZ¶\P¶"¶|M,¹&W,*´š¹M«<188*²Ó<§²q<§²Å<§ N,¹)-¿,¹)*´¶*±=WJ567!897=:D;x=|>AƒB†FŠIŽJ”K–JœM¤NX ¥YZ¡-,=_C!Ñýx•B.ú01=öd+¶2*¶²5·*¶h¶¹ 2*´S¹PN§-¹TÀZM*,¶\·6-¹9šÿè*·<§+¶2*¶²?·*¶h¶¹ *·<±W2 R SRT/U7T@WDXRYYX_Zc\X dYZdð/Ú8Ñ"ÿ%ÊUÿÊ*<=G*´€¹@W*´ˆ¹@W±Wb
ceX YZ><=@*´S¹n*·}±Wh    i jX YZ8T=#z*·C™e*´€*´š¹M>Ÿ Ÿ§6*´€*´¢¹è:™0Æ+¸ì¶ª:¸­¶³¶¶™*´o¼ YP¶GW±*´o¼ YP¶KW±WBpqrs"r)t8uBvLwQxTwWxZyizj~yX>zYZzÚ‚T“,)AM282DLºÑ ü&@úBNF=B*´S¸u¹O¬WƒXYZ¸‚R<=…=*·S*´UÆ4**´U¶\·C™&*´€*´š¹M **´€·Uš
*´€¶V±WŠŒ*Ž5<’X =YZÑ5WX=O+*´ª¹M ¬¬W•XYZC!ÑU<=
n»PY·RL*´€¹&W§$+*´€*´ž¹¸u¹yW*´€¹[W*´€¹^™ÿÖ*´S¹PM§+,¹T¹Oš    ,¹a,¹9šÿå±W2 žŸ¡,Ÿ0 6ŸB¥O§^¨d¥e¦m«X nYZfc4L!Rbdfc6L!ReÑüK üUEF=9*´€¹&W§!*´€*´ž¹”š¬*´€¹[W*´€¹^™ÿÙ¬W³ µ¶!³%´+³7¹X9YZ9Ú‚Ñ     de=G *µU*µ€±WÁÂ
ÃX YZ fghD=%*·Ê±WXiD=%*·Ç±W¦Xjk=%*´±°WJXlm=%*´³°WBXnÙ=&*·6±WoXop=%*´o°WHXqr5st¢YWu     vx    yv{     Ê{    |~    ¶    €‚ð€¸Ú€ƒŠ€”〄ub…        †ˆÒÕÜàä@‰GŠ