KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > derby > client > net > CodePoint


1 /*
2
3    Derby - Class org.apache.derby.client.net.CodePoint
4
5    Licensed to the Apache Software Foundation (ASF) under one or more
6    contributor license agreements. See the NOTICE file distributed with
7    this work for additional information regarding copyright ownership.
8    The ASF licenses this file to You under the Apache License, Version 2.0
9    (the "License"); you may not use this file except in compliance with
10    the License. You may obtain a copy of the License at
11
12       http://www.apache.org/licenses/LICENSE-2.0
13
14    Unless required by applicable law or agreed to in writing, software
15    distributed under the License is distributed on an "AS IS" BASIS,
16    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17    See the License for the specific language governing permissions and
18    limitations under the License.
19
20 */

21
22 package org.apache.derby.client.net;
23
24
25 public class CodePoint {
26     public static final int FIXED_ROW_QUERY_PROTOCOL = 0;
27     public static final int LIMITED_BLOCK_QUERY_PROTOCOL = 1;
28     public static final int FORCE_FIXED_ROW_QUERY_PROTOCOL = 2;
29
30
31     // Character Subtype MBCS
32
static final int CSTMBCS = 0x2435;
33
34
35     // Force Fixed Row Query Protocol
36
static final int FRCFIXROW = 0x2410;
37
38     // Title
39
static final int TITLE = 0x0045;
40
41     // ---------------callable statement codepoints-------------------------------
42

43     // PKGSNLST
44
static final int PKGSNLST = 0x2139;
45
46     // Output Expected
47
static final int OUTEXP = 0x2111;
48
49     // Procedure Name
50
static final int PRCNAM = 0x2138;
51
52     // Maximum Result Set Count.
53
static final int MAXRSLCNT = 0x2140;
54
55     // Maximum Result Set Count No Limit.
56
// Requester is capable of receiving all result sets in the response to EXCSQLSTT.
57
static final int MAXRSLCNT_NOLIMIT = 0xffff;
58
59     // Result Set Flags
60
static final int RSLSETFLG = 0x2142;
61
62     static final int RSLSETFLG_RETURN_NAMES = 0x80;
63
64     static final int RSLSETFLG_RETURN_LABELS = 0x40;
65
66     // RSLSETFLGs added in SQLAM 7 for requesting standard, extended, or light sqldas
67
static final int RSLSETFLG_STANDARD_SQLDA = 0x00;
68     static final int RSLSETFLG_EXTENDED_SQLDA = 0x04;
69
70     // --------------------code points for constant ddm data----------------------
71

72     // Indicates false state. This 1-byte code point is used by some DDM parameters.
73
static final byte FALSE = -16; // was 0xf0
74

75     // Indicates true state. This 1-byte code point is used by some DDM parameters.
76
static final byte TRUE = -15; // was 0xf1
77

78     // Zero indicator constant.
79
// Indicates data does flow.
80
static final int ZEROIND = 0x00;
81
82     // FDOCA NULL indicator constant.
83
// Indicates data does not flow.
84
static final int NULLDATA = 0xFF;
85
86     // Security check was successful.
87
static final int SECCHKCD_00 = 0x00;
88
89     // SECMEC value not supported.
90
static final int SECCHKCD_01 = 0x01;
91
92     // Local security service info.
93
static final int SECCHKCD_08 = 0x08;
94
95     // Local security service retryable error.
96
static final int SECCHKCD_09 = 0x09;
97
98     // Local security service non-retryable error.
99
static final int SECCHKCD_0A = 0x0A;
100
101     // SECTKN missing or invalid.
102
static final int SECCHKCD_0B = 0x0B;
103
104     // Password expired.
105
static final int SECCHKCD_0E = 0x0E;
106
107     // Password invalid.
108
static final int SECCHKCD_0F = 0x0F;
109
110     // Password missing.
111
static final int SECCHKCD_10 = 0x10;
112
113     // Userid missing.
114
static final int SECCHKCD_12 = 0x12;
115
116     // Userid invalid.
117
static final int SECCHKCD_13 = 0x13;
118
119     // Userid revoked.
120
static final int SECCHKCD_14 = 0x14;
121
122     // New password invalid.
123
static final int SECCHKCD_15 = 0x15;
124
125     //-----------------------ddm enumerated values-------------------------------
126

127     // TYPSQLDA - Standard Output SQLDA
128
static final int TYPSQLDA_STD_OUTPUT = 0;
129
130     // TYPSQLDA - Standard Input SQLDA
131
static final int TYPSQLDA_STD_INPUT = 1;
132
133     // TYPSQLDA - Light Output SQLDA
134
static final int TYPSQLDA_LIGHT_OUTPUT = 2;
135
136     // TYPSQLDA - Light Input SQLDA
137
static final int TYPSQLDA_LIGHT_INPUT = 3;
138
139     // TYPSQLDA - Extended Output SQLDA
140
static final int TYPSQLDA_X_OUTPUT = 4;
141
142     // TYPSQLDA - Extended Input SQLDA
143
static final int TYPSQLDA_X_INPUT = 5;
144
145     // QRYCLSIMP - Target Server determines whether to implicitly
146
// close the cursor or not upon SQLSTATE 02000 based on cursor type.
147
static final int QRYCLSIMP_SERVER_CHOICE = 0x00;
148
149     // QRYCLSIMP - Target Server must implicitly close the cursor
150
// upon SQLSTATE 02000.
151
static final int QRYCLSIMP_YES = 0x01;
152
153     // QRYCLSIMP - Target Server must not implicitly close the cursor
154
// upon SQLSTATE 02000.
155
static final int QRYCLSIMP_NO = 0x02;
156
157     // SQL Error Diagnostic Level
158
// DIAGLVL0 A null SQLDIAGGRP is returned. This is the default.
159
// DIAGLVL1 A non-null SQLDIAGGRP should be returned.
160
// DIAGLVL2 A non-null SQLDIAGGRP should be returned, and both SQLDCMSG
161
// message text fields should be returned as null strings.
162
static final byte DIAGLVL0 = (byte)0xF0;
163     static final byte DIAGLVL1 = (byte)0xF1;
164     static final byte DIAGLVL2 = (byte)0xF2;
165
166     // ----------------------ddm code points--------------------------------------
167

168     // Exchange Server Attributes.
169
final static int EXCSAT = 0x1041;
170
171
172     // Sync Point Control Request.
173
public final static int SYNCCTL = 0x1055;
174
175     // Sync Point Resync Command.
176
final static int SYNCRSY = 0x1069;
177
178     // Access Security.
179
final static int ACCSEC = 0x106D;
180
181     // Security Check.
182
final static int SECCHK = 0x106E;
183
184     // Access RDB.
185
final static int ACCRDB = 0x2001;
186
187     // Close Query.
188
final static int CLSQRY = 0x2005;
189
190     // Continue Query.
191
final static int CNTQRY = 0x2006;
192
193
194     // Describe SQL Statement.
195
final static int DSCSQLSTT = 0x2008;
196
197
198     // Execute Immediate SQL Statement.
199
final static int EXCSQLIMM = 0x200A;
200
201     // Execute SQL Statement.
202
final static int EXCSQLSTT = 0x200B;
203
204     // Set SQL Environment.
205
final static int EXCSQLSET = 0x2014;
206
207     // Open Query.
208
final static int OPNQRY = 0x200C;
209
210     // Output override.
211
final static int OUTOVR = 0x2415;
212
213     // Prepare SQL Statement.
214
final static int PRPSQLSTT = 0x200D;
215
216     // RDB Commit Unit of Work.
217
final static int RDBCMM = 0x200E;
218
219     // RDB Rollback Unit of Work.
220
final static int RDBRLLBCK = 0x200F;
221
222
223     // Describe RDB Table.
224
final static int DSCRDBTBL = 0x2012;
225
226     // SQL Program Variable Data.
227
final static int SQLDTA = 0x2412;
228
229     // SQL Data Reply Data.
230
public final static int SQLDTARD = 0x2413;
231
232     // SQL Statement.
233
final static int SQLSTT = 0x2414;
234
235
236     // Query Answer Set Description.
237
public final static int QRYDSC = 0x241A;
238
239     // Query Answer Set Data.
240
public final static int QRYDTA = 0x241B;
241
242     // SQL Statement Attributes.
243
final static int SQLATTR = 0x2450;
244
245     // Access Security Reply Data.
246
// Contains the security information from a target server's
247
// security manager. This information is returned in response
248
// to an ACCSEC command.
249
static final int ACCSECRD = 0x14AC;
250
251
252     // Agent codepoint constant.
253
static final int AGENT = 0x1403;
254
255     // The codepoint for codepoint
256
static final int CODPNT = 0x000C;
257
258     // CCSID for Double-Byte Characters codepoint constant.
259
static final int CCSIDDBC = 0x119D;
260
261     // CCSID for Mixed-Byte Characters codepoint constant.
262
static final int CCSIDMBC = 0x119E;
263
264
265     // CCSID for Single-Byte Characters codepoint constant.
266
static final int CCSIDSBC = 0x119C;
267
268     // Describes the communications manager that supports
269
// conversational protocols by using System Network
270
// Architecture Logical Unit 6.2 (SNA LU 6.2) local
271
// communications facilities.
272
static final int CMNAPPC = 0x1444;
273
274     // TCP/IP Communication Manager codepoint constant. Min. level 5.
275
static final int CMNTCPIP = 0x1474;
276
277     // Correlation Token codepoint constant.
278
static final int CRRTKN = 0x2135;
279
280     // Description Error code
281
static final int DSCERRCD = 0x2101;
282
283     // Server Attributes Reply Data codepoint constant.
284
static final int EXCSATRD = 0x1443;
285
286     // External Name codepoint constant.
287
static final int EXTNAM = 0x115E;
288
289     // Fixed Row Query Protocol.
290
static final int FIXROWPRC = 0x2418;
291
292     // Limited Block Query Protocol.
293
static final int LMTBLKPRC = 0x2417;
294
295     // Maximum Number of Extra Blocks.
296
static final int MAXBLKEXT = 0x2141;
297
298     // Manager Level List codepoint constant.
299
static final int MGRLVLLS = 0x1404;
300
301     // Manager Level Number Attribute constants.
302
// Specifies the level of a defined DDM manager.
303
static final int MGRLVLN = 0x1473;
304
305     // Password
306
static final int PASSWORD = 0x11A1;
307
308     // Package name & consistency token
309
static final int PKGNAMCT = 0x2112;
310
311     // Conversational Protocol Error Code
312
static final int PRCCNVCD = 0x113F;
313
314     // Product Specific Identifier codepoint constant.
315
static final int PRDID = 0x112E;
316
317     // Product Specific Data
318
static final int PRDDTA = 0x2104;
319
320     // Query Attribute for Scrollability.
321
static final int QRYATTSCR = 0x2149;
322
323     // Query Attribute for Rowset
324
static final int QRYATTSET = 0x214A;
325
326     // Query Attribute for Sensitivity.
327
static final int QRYATTSNS = 0x2157;
328
329     // Query Attribute for Updatability.
330
static final int QRYATTUPD = 0x2150;
331
332     // Query Close Implicit
333
static final int QRYCLSIMP = 0x215D;
334
335     // Query Scroll Orientation.
336
static final int QRYSCRORN = 0x2152;
337
338     // Query Scroll Relative Orientation.
339
static final int QRYSCRREL = 1;
340
341     // Query Scroll Absolute Orientation.
342
static final int QRYSCRABS = 2;
343
344     // Query Scroll After Orientation.
345
static final int QRYSCRAFT = 3;
346
347     // Query Scroll Before Orientation.
348
static final int QRYSCRBEF = 4;
349
350     // Query Instance Identifier
351
static final int QRYINSID = 0x215B;
352
353     // Query Insensitive to Changes
354
static final int QRYINS = 1;
355
356     // Sensitive static
357
static final int QRYSNSSTC = 0x2;
358
359     // Query Attributes is Unknown or Undefined
360
static final int QRYUNK = 0;
361
362     // Query Row Number.
363
static final int QRYROWNBR = 0x213D;
364
365     // Query Block Reset.
366
static final int QRYBLKRST = 0x2154;
367
368     // Query Returns Data.
369
static final int QRYRTNDTA = 0x2155;
370
371     // Query Block Protocol Control
372
static final int QRYBLKCTL = 0x2132;
373
374     // Query Block Size
375
static final int QRYBLKSZ = 0x2114;
376
377     // Query Protocol Type
378
static final int QRYPRCTYP = 0x2102;
379
380     // Query Rowset Size.
381
static final int QRYROWSET = 0x2156;
382
383     // Cursor is Read-only.
384
static final int QRYRDO = 0x1;
385
386     // Cursor Allows Read, Delete, and Update Operations.
387
static final int QRYUPD = 0x4;
388
389     // Relational Database codepoint constant. Min. level 3.
390
static final int RDB = 0x240F;
391
392     // RDB Access Manager Class.
393
static final int RDBACCCL = 0x210F;
394
395     // RDB Allow Updates
396
static final int RDBALWUPD = 0x211A;
397
398     // Relational Database Name codepoint constant.
399
static final int RDBNAM = 0x2110;
400
401
402     // Resynchronization Manager. Min levl 5.
403
// It is a manager object of DDM that performs
404
// resynchronization for in-doubt units of work after
405
// a sync point operation failure.
406
static final int RSYNCMGR = 0x14C1;
407
408     // Retuan SQL Descriptor Area
409
static final int RTNSQLDA = 0x2116;
410
411
412     // Type of SQL Descriptor Area
413
static final int TYPSQLDA = 0x2146;
414
415     // Security Check Code codepoint constant.
416
static final int SECCHKCD = 0x11A4;
417
418     // Security Mechanism codepoint constant.
419
static final int SECMEC = 0x11A2;
420
421     // Security Manager codepoint constant.
422
static final int SECMGR = 0x1440;
423
424     // Security Token codepoint constant.
425
static final int SECTKN = 0x11DC;
426
427     // SQL Application Manager codepoint constant. Min. level 3.
428
static final int SQLAM = 0x2407;
429
430     // SQL Communication Area Reply Data codepoint constant.
431
public static final int SQLCARD = 0x2408;
432
433     // SQL Result Set Column Information Reply Data.
434
public static final int SQLCINRD = 0x240B;
435
436     // Hold Cursor Position
437
static final int SQLCSRHLD = 0x211F;
438
439     // SQL Result Set Reply Data.
440
static final int SQLRSLRD = 0x240E;
441
442     // SQLDA Reply Data codepoint constant.
443
public static final int SQLDARD = 0x2411;
444
445     // Server Class Name codepoint constant.
446
static final int SRVCLSNM = 0x1147;
447
448
449     // Server Name codepoint constant.
450
static final int SRVNAM = 0x116D;
451
452     // Server Product Release Level codepoint constant.
453
static final int SRVRLSLV = 0x115A;
454
455     // Severity Code codepoint constant.
456
static final int SVRCOD = 0x1149;
457
458     // Sync Point Manager. Min. level 4.
459
// It is a manager object of DDM that coordinates resource
460
// recovery of the units of work associated with recoverable
461
// resources in multiple DDM servers.
462
static final int SYNCPTMGR = 0x14C0;
463
464     // Syntax Error code
465
static final int SYNERRCD = 0x114A;
466
467     // Data Type Definition Name codepoint constant.
468
public static final int TYPDEFNAM = 0x002F;
469
470     // TYPDEF Overrides codepoint constant.
471
public static final int TYPDEFOVR = 0x0035;
472
473     // Unit of Work Disposition codepoint constant.
474
static final int UOWDSP = 0x2115;
475
476     // Unit of Work Disposition. Committed Enumerated Value.
477
static final int UOWDSP_COMMIT = 0x01;
478
479     // Unit of Work Dispostion. Rolled Back Enumerated Value.
480
static final int UOWDSP_ROLLBACK = 0x02;
481
482     // Usrid codepoint constant.
483
static final int USRID = 0x11A0;
484
485     // Rdb Package Name, Consistency Token, and Section
486
// Number codepoint constant.
487
static final int PKGNAMCSN = 0x2113;
488
489     // RDB Package Section Number
490
static final int PKGSN = 0x210C;
491
492     // Scalar Data Length
493
static final int SCLDTALEN = 0x0100;
494
495     // XA Manager
496
static final int XAMGR = 0x1C01;
497
498     // SQL Error Diagnostic Level
499
static final int DIAGLVL = 0x2160;
500
501     //-----------------------DDM reply codepoints---------------------------------
502

503     // Command Check codepoint constant.
504
public static final int CMDCHKRM = 0x1254;
505
506     // Command Not Supported codepoint constant.
507
static final int CMDNSPRM = 0x1250;
508
509     // Abnormal End of Unit of Work Condition codepoint constant.
510
static final int ABNUOWRM = 0x220D;
511
512     // Access to RDB Completed.
513
// Specifies that an instance of the SQL application manager
514
// has been created and is bound to the specified RDB.
515
static final int ACCRDBRM = 0x2201;
516
517
518     final static int MGRLVLRM = 0x1210;
519
520     // End Unit of Work Condition codepoint constant.
521
static final int ENDUOWRM = 0x220C;
522
523     // Object Not Supported codepoint constant.
524
static final int OBJNSPRM = 0x1253;
525
526     // Conversational Protocol Error
527
public static final int PRCCNVRM = 0x1245;
528
529     // Query not open codepoint constant.
530
static final int QRYNOPRM = 0x2202;
531
532     // Query previously opened codepoint
533
static final int QRYPOPRM = 0x220F;
534
535     // RDB Currently Accessed Codepoint
536
static final int RDBACCRM = 0x2207;
537
538     // RDB Commit Allowed codepoint
539
static final int RDBCMTOK = 0x2105;
540
541     // Security Check.
542
// Indicates the acceptability of the security information.
543
static final int SECCHKRM = 0x1219;
544
545     // RDB Access Failed Reply Message codepoint
546
static final int RDBAFLRM = 0x221A;
547
548     // Not Authorized To RDB reply message codepoint
549
static final int RDBATHRM = 0x22CB;
550
551     // RDB Not Accessed codepoint constant.
552
static final int RDBNACRM = 0x2204;
553
554     // RDB not found codepoint
555
static final int RDBNFNRM = 0x2211;
556
557     // RDB Update Reply Message codepoint constant.
558
static final int RDBUPDRM = 0x2218;
559
560     // Data Stream Syntax Error
561
public static final int SYNTAXRM = 0x124C;
562
563     // Parameter Value Not Supported codepoint constant.
564
public static final int VALNSPRM = 0x1252;
565
566     // SQL Error Condition codepoint constant.
567
static final int SQLERRRM = 0x2213;
568
569     // Open Query Complete.
570
public final static int OPNQRYRM = 0x2205;
571
572     // End of Query.
573
public final static int ENDQRYRM = 0x220B;
574
575     // Data Descriptor Mismatch.
576
final static int DTAMCHRM = 0x220E;
577
578     // Open Query Failure.
579
final static int OPNQFLRM = 0x2212;
580
581     // RDB Result Set Reply Message.
582
public final static int RSLSETRM = 0x2219;
583
584     // Manager Level Overrides
585
public static final int MGRLVLOVR = 0x1C03;
586
587     //----------------------------fdoca code points-------------------------------
588

589     static final int RTNEXTDTA = 0x2148;
590     static final int RTNEXTROW = 0x01;
591     static final int RTNEXTALL = 0x02;
592
593     // Externalized FD:OCA Data codepoint constant.
594
public static final int EXTDTA = 0x146C;
595
596     // FDOCA data descriptor
597
static final int FDODSC = 0x0010;
598
599     // FDOCA data
600
static final int FDODTA = 0x147A;
601
602     //--------------------------ddm error code points---------------------------------
603
// Syntax Error Code. DSS header length less than 6.
604
static int SYNERRCD_DSS_LESS_THAN_6 = 0x01;
605
606     // Syntax Error Code. DSS header length does not match the number of
607
// bytes of data found.
608
static int SYNERRCD_DSS_LENGTH_BYTE_NUMBER_MISMATCH = 0x02;
609
610     // Syntax Error Code. DSS header C-byte not D0.
611
static int SYNERRCD_CBYTE_NOT_D0 = 0x03;
612
613     // Syntax Error Code. DSS header f-bytes either not recognized or not supported.
614
static int SYNERRCD_FBYTE_NOT_SUPPORTED = 0x04;
615
616     // Syntax Error Code. Object length less than four.
617
static int SYNERRCD_OBJ_LEN_LESS_THAN_4 = 0x07;
618
619     // Syntax Error Code. Object length not allowed.
620
static int SYNERRCD_OBJ_LEN_NOT_ALLOWED = 0x0B;
621
622     // Syntax Error Code. Required object not found.
623
static int SYNERRCD_REQ_OBJ_NOT_FOUND = 0x0E;
624
625     // Syntax Error Code. Duplicate object present.
626
static int SYNERRCD_DUP_OBJ_PRESENT = 0x12;
627
628     // Syntax Error Code. Invalid request correlator specified.
629
static int SYNERRCD_INVALID_CORRELATOR = 0x13;
630
631     // Syntax Error Code. Incorrect large object extended length field.
632
static int SYNERRCD_INCORRECT_EXTENDED_LEN = 0x0C;
633
634     // Syntax Error Code. DSS continuation less than or equal to two.
635
static int SYNERRCD_DSS_CONT_LESS_OR_EQUAL_2 = 0x16;
636
637     // Syntax Error Code. DSS chaining bit not b'1', but DSSFMT bit3 set to b'1'.
638
static int SYNERRCD_CHAIN_OFF_SAME_NEXT_CORRELATOR = 0x18;
639
640     // Syntax Error Code. DSS chaining bit not b'1', but error continuation requested.
641
static int SYNERRCD_CHAIN_OFF_ERROR_CONTINUE = 0x1A;
642
643     // Conversational Protocol Error Code. OBJDSS sent when not allowed.
644
static int PRCCNVCD_OBJDSS_SENT_NOT_ALLOWED = 0x03;
645
646     // Information Only Severity Code.
647
static int SVRCOD_INFO = 0;
648
649     // Warning Severity Code.
650
static int SVRCOD_WARNING = 4;
651
652     // Error Severity Code.
653
static int SVRCOD_ERROR = 8;
654
655     // Severe Error Severity Code.
656
static int SVRCOD_SEVERE = 16;
657
658     // Access Damage Severity Code.
659
static int SVRCOD_ACCDMG = 32;
660
661     // Permanent Damage Severity Code.
662
static int SVRCOD_PRMDMG = 64;
663
664     // Session Damage Severity Code.
665
static int SVRCOD_SESDMG = 128;
666
667
668     //--------------------------XA code points---------------------------
669

670     // SYNC Point Control Reply
671
public static final int SYNCCRD = 0x1248;
672
673     // XA Return Value
674
public static final int XARETVAL = 0x1904;
675
676     // new unit of work for XA
677
public static final int SYNCTYPE_NEW_UOW = 0x09;
678
679     // End unit of work (Sync type).
680
public static final int SYNCTYPE_END_UOW = 0x0B;
681
682     // Prepare to commit (Sync type).
683
public static final int SYNCTYPE_PREPARE = 0x01;
684
685     // migrate to resync server sync type
686
public static final int SYNCTYPE_MIGRATE = 0x02;
687
688     // commit sync type
689
public static final int SYNCTYPE_COMMITTED = 0x03;
690
691     // request to forget sync type
692
public static final int SYNCTYPE_REQ_FORGET = 0x06;
693
694     //rollback sync type
695
public static final int SYNCTYPE_ROLLBACK = 0x04;
696
697
698     // migrated unit of work sync type
699
public static final int SYNCTYPE_MIGRATED = 0x0A;
700
701     //recover sync type
702
public static final int SYNCTYPE_INDOUBT = 0x0C;
703
704     // Length Codepoint
705
public static final int LLCP = 0x0004;
706
707     // SYNC Type Codepoint
708
public static final int SYNCTYPE = 0x1187;
709
710     // XId Codepoint
711
public static final int XID = 0x1801;
712
713     // XA Flag Codepoint
714
public static final int XAFLAGS = 0x1903;
715
716
717     // Resync Types
718
public static final int RSYNC_FORGET = 0x02;
719
720     // UOW States
721
public static final int RESET_STATE = 0x01;
722     public static final int UNKNOWN_STATE = 0x3;
723     public static final int INDOUBT_STATE = 0x04;
724     public static final int COLD_STATE = 0x05;
725
726     // XA Flags
727
public static final int TMNOFLAGS = 0x00000000;
728     public static final int TMLOCAL = 0x10000000;
729
730     // Prepared and hueristic complete list
731
static final int PRPHRCLST = 0x1905;
732
733     // XID count
734
static final int XIDCNT = 0x1906;
735
736
737     // hide the default constructor
738
private CodePoint() {
739     }
740 }
741
742
743
Popular Tags