Guest User

GeoIP Pb APi

a guest
Apr 7th, 2017
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. EnableExplicit
  2.  
  3. ;Original Code ==> https://github.com/maxmind/geoip-api-c
  4. ;GeoIP Demo By Celtic88 2016(c) v: 1.1 new update 2017 add support for ipv6
  5. ;For full code contact me in skype :celtic906
  6.  
  7. Structure in6_addr
  8.   StructureUnion
  9.     u_char.b[16];
  10.     u_short.w[8];
  11.   EndStructureUnion
  12. EndStructure
  13.  
  14. Import "Ws2_32.lib"
  15.   inet_pton.l(Family.l,pszAddrString.p-ascii,*pAddrBuf.in6_addr); https://msdn.microsoft.com/en-us/library/windows/desktop/cc805844(v=vs.85).aspx
  16. EndImport
  17. ;For linux here http://man7.org/linux/man-pages/man3/inet_pton.3.html
  18. ;Mac x https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man3/inet_pton.3.html
  19.  
  20. ;http://www.minocacorp.com/doc/820/file/apps/inc/libc/netinet/in.h/
  21. Macro IN6_IS_ADDR_LOOPBACK(adr)
  22.   ((adr\u_short[0] = 0) And (adr\u_short[1] = 0) And (adr\u_short[2] = 0) And (adr\u_short[3] = 0) And (adr\u_short[4] = 0) And (adr\u_short[5] = 0) And (adr\u_short[6] = 0) And (adr\u_short[7] = $0100))
  23. EndMacro
  24.  
  25. Macro IN6_IS_ADDR_LINKLOCAL(adr)
  26.   ((adr\u_char[0] = $fffffffffffffffe) And ((adr\u_char[1] & $ffffffffffffffc0) = $ffffffffffffff80))
  27. EndMacro
  28.  
  29. Macro GEOIP_CHKBIT_V6(bit,ptr)
  30.   (ptr\u_char[((127 - bit) >> 3)] & (1 << (~(127 - bit) & 7)))
  31. EndMacro
  32.  
  33. #AF_INET6 = 23
  34.  
  35. #GeoIPMaxContry = 255
  36.  
  37. #STRUCTURE_INFO_MAX_SIZE = 20
  38. #FULL_RECORD_LENGTH = 50
  39. #COUNTRY_BEGIN = 16776960
  40.  
  41. #GEOIP_COUNTRY_EDITION = 1
  42. #GEOIP_COUNTRY_EDITION_V6 = 12
  43. #GEOIP_CITY_EDITION_REV1 = 2
  44. #GEOIP_CITY_EDITION_REV1_V6 = 30
  45. #GEOIP_ASNUM_EDITION = 9
  46. #GEOIP_ASNUM_EDITION_V6 = 21
  47.  
  48. Structure GeoIP_Info
  49.   GeoIP_databaseType.a
  50.   GeoIP_Path.s
  51.   GeoIP_fCach_Memory.b
  52.   GeoIP_File_ID.i
  53.   GeoIP_Size.l
  54.   GeoIP_databaseSegments.l
  55.   *GeoIP_datBuffer
  56. EndStructure
  57.  
  58. Structure GeoIPRecord
  59.   Index_Data.l
  60.   country_code.s
  61.   country_code3.s
  62.   country_name.s
  63.   region.s
  64.   city.s
  65.   postal_code.s
  66.   latitude.f
  67.   longitude.f
  68.   metro_code.l
  69.   area_code.l
  70.   continent_code.s
  71.   Geo_Asn.s
  72.   time_zone.s
  73.   GeoIP_databaseType.a
  74. EndStructure
  75.  
  76. Global Dim GeoIP_CountryNames.s(#GeoIPMaxContry)
  77. Global Dim GeoIP_CountryCodes.s(#GeoIPMaxContry)
  78. Global Dim GeoIP_CountryContinent.s(#GeoIPMaxContry)
  79. Global Dim GeoIP_CountryCodes3.s(#GeoIPMaxContry)
  80. Global Dim GeoIP_Countrytimezone.s(2,715)
  81.  
  82. Procedure.b GeoIP_Dataini()
  83.   Protected Ii.a,uo.l
  84.   Restore GeoIP_DCountryNames
  85.   For Ii = 0 To #GeoIPMaxContry
  86.     Read.s GeoIP_CountryNames(Ii)
  87.   Next
  88.   Restore GeoIP_DCountryCodes
  89.   For Ii = 0 To #GeoIPMaxContry
  90.     Read.s GeoIP_CountryCodes(Ii)
  91.   Next
  92.   Restore GeoIP_DCountryContinent
  93.   For Ii = 0 To #GeoIPMaxContry
  94.     Read.s GeoIP_CountryContinent(Ii)
  95.   Next
  96.   Restore GeoIP_DCountryCodes3
  97.   For Ii = 0 To #GeoIPMaxContry
  98.     Read.s GeoIP_CountryCodes3(Ii)
  99.   Next  
  100.   Restore GeoIP_Dtimezone
  101.   For uo = 0 To 715
  102.     For Ii = 0 To 2
  103.       Read.s GeoIP_Countrytimezone(Ii,uo)
  104.     Next
  105.   Next
  106. EndProcedure
  107.  
  108. Procedure.b GeoIP_Free(*iGeoIP_Info.GeoIP_Info)
  109.   If *iGeoIP_Info < 1
  110.     ProcedureReturn 0
  111.   EndIf
  112.   With *iGeoIP_Info
  113.     If \GeoIP_File_ID
  114.       CloseFile(\GeoIP_File_ID)
  115.     EndIf
  116.   EndWith
  117.   ClearStructure(*iGeoIP_Info, GeoIP_Info)
  118.   FreeMemory(*iGeoIP_Info)
  119. EndProcedure
  120.  
  121. Procedure.i GeoIP_OPen(GeoIP_Path.s,GeoIP_fCach_Memory.b=0,*GeoIP_datBuffer=0,GeoIP_datBufferSize.l=0)
  122.  
  123.   Protected GetSize.l = GeoIP_datBufferSize
  124.   Protected Dim buf.a(2)
  125.   Protected Ii.l,j.l,nRdb.l
  126.   Protected GoPenf.i
  127.  
  128.   If GeoIP_fCach_Memory
  129.     If Not *GeoIP_datBuffer Or Not GeoIP_datBufferSize
  130.       ProcedureReturn -1
  131.     EndIf
  132.   Else
  133.     GetSize = FileSize(GeoIP_Path)
  134.     If GetSize > 0
  135.       GoPenf = OpenFile(#PB_Any,GeoIP_Path)
  136.     Else
  137.       ProcedureReturn -1
  138.     EndIf
  139.     If GoPenf =0
  140.       ProcedureReturn -1
  141.     EndIf
  142.   EndIf
  143.  
  144.   Protected *iGeoIP_Info.GeoIP_Info = AllocateMemory(SizeOf(GeoIP_Info))
  145.   If *iGeoIP_Info =0
  146.     CloseFile(GoPenf)
  147.     ProcedureReturn -2
  148.   EndIf
  149.  
  150.   With *iGeoIP_Info
  151.     \GeoIP_databaseType = #GEOIP_COUNTRY_EDITION
  152.     \GeoIP_databaseSegments = #COUNTRY_BEGIN    
  153.     \GeoIP_datBuffer = *GeoIP_datBuffer
  154.     \GeoIP_fCach_Memory = GeoIP_fCach_Memory
  155.     \GeoIP_File_ID = GoPenf
  156.     \GeoIP_Size = GeoIP_datBufferSize
  157.    
  158.     GetSize-3
  159.    
  160.     If Not \GeoIP_fCach_Memory
  161.       FileSeek(\GeoIP_File_ID, GetSize)
  162.     EndIf
  163.    
  164.     For Ii=0 To #STRUCTURE_INFO_MAX_SIZE - 1
  165.      
  166.       If \GeoIP_fCach_Memory
  167.         nRdb = CopyMemory(\GeoIP_datBuffer + GetSize, @BUF(), 3)
  168.       Else
  169.         nRdb = ReadData(\GeoIP_File_ID,@BUF(), 3)
  170.       EndIf
  171.      
  172.       If nRdb < 3
  173.         GeoIP_Free(*iGeoIP_Info)
  174.         ProcedureReturn -3
  175.       EndIf
  176.      
  177.       If BUF(0) = 255 And BUF(1) = 255 And BUF(2) = 255
  178.        
  179.         GetSize + 3
  180.        
  181.         If \GeoIP_fCach_Memory
  182.          
  183.           \GeoIP_databaseType = PeekA(\GeoIP_datBuffer + GetSize)
  184.           nRdb = CopyMemory(\GeoIP_datBuffer + GetSize + 1, @BUF(), 3)
  185.          
  186.         Else
  187.          
  188.           FileSeek(\GeoIP_File_ID, GetSize)
  189.           \GeoIP_databaseType = ReadAsciiCharacter(\GeoIP_File_ID)
  190.           FileSeek(\GeoIP_File_ID, GetSize + 1)
  191.           nRdb = ReadData(\GeoIP_File_ID,@BUF(), 3)
  192.          
  193.         EndIf
  194.        
  195.         If nRdb < 3
  196.           GeoIP_Free(*iGeoIP_Info)
  197.           ProcedureReturn -3
  198.         EndIf
  199.        
  200.         If \GeoIP_databaseType = #GEOIP_COUNTRY_EDITION_V6
  201.           Break
  202.         EndIf
  203.        
  204.         If \GeoIP_databaseType = #GEOIP_ASNUM_EDITION_V6 Or
  205.            \GeoIP_databaseType = #GEOIP_CITY_EDITION_REV1 Or
  206.            \GeoIP_databaseType = #GEOIP_ASNUM_EDITION Or
  207.            \GeoIP_databaseType = #GEOIP_CITY_EDITION_REV1_V6
  208.          
  209.           \GeoIP_databaseSegments = 0
  210.           For j = 0 To 2
  211.             \GeoIP_databaseSegments + (BUF(j) << (j * 8))
  212.           Next
  213.          
  214.         Else
  215.          
  216.           GeoIP_Free(*iGeoIP_Info)
  217.           ProcedureReturn -4
  218.          
  219.         EndIf
  220.        
  221.       EndIf
  222.      
  223.       GetSize - 4
  224.      
  225.       If Not \GeoIP_fCach_Memory
  226.         FileSeek(\GeoIP_File_ID, GetSize)
  227.       EndIf
  228.      
  229.     Next
  230.    
  231.     If Not \GeoIP_fCach_Memory
  232.       FileSeek(\GeoIP_File_ID, 0)
  233.     EndIf
  234.    
  235.   EndWith
  236.   ProcedureReturn *iGeoIP_Info
  237. EndProcedure
  238.  
  239. Procedure GeoIP_is_private_ipnum_v4(ipnum.q)
  240.   ProcedureReturn Bool((ipnum >= 167772160 And ipnum <= 184549375) Or
  241.                        (ipnum >= 2851995648 And ipnum <= 2852061183) Or
  242.                        (ipnum >= 2886729728 And ipnum <= 2887778303) Or
  243.                        (ipnum >= 3232235520 And ipnum <= 3232301055) Or
  244.                        (ipnum >= 2130706432 And ipnum <= 2147483647))
  245. EndProcedure
  246.  
  247. Procedure.q GeoIP_ConvertIPAddressToNumber_IPv4(Address.s)
  248.   If CountString(Address, ".") = 3
  249.     ProcedureReturn (Pow(256,3) * Val(StringField(Address, 1, "."))) +
  250. (Pow(256,2) * Val(StringField(Address, 2, "."))) +
  251. (256 * Val(StringField(Address, 3, "."))) +
  252. Val(StringField(Address, 4, "."))
  253.   EndIf
  254.   ProcedureReturn 0
  255. EndProcedure
  256.  
  257. Procedure GeoIP_is_private_ipnum_v6(*IPAddressnum.in6_addr)
  258.   If IN6_IS_ADDR_LOOPBACK(*IPAddressnum) =1 Or IN6_IS_ADDR_LINKLOCAL(*IPAddressnum) =1
  259.     ProcedureReturn 1
  260.   EndIf
  261.   ProcedureReturn 0
  262. EndProcedure
  263.  
  264. Procedure GeoIP_ConvertIPAddressToNumber_IPv6(IPAddressV6.s, *IPAddressnum.in6_addr)
  265.   ProcedureReturn inet_pton(#AF_INET6, IPAddressV6, *IPAddressnum)
  266. EndProcedure
  267.  
  268. Procedure.l GeoIP_Seek_Record_IPV6(*iGeoIP_Info.GeoIP_Info,IPAddressV6.s)
  269.  
  270.   If *iGeoIP_Info < 1
  271.     ProcedureReturn -1
  272.   EndIf
  273.  
  274.   Protected IPAddressnum.in6_addr
  275.   If Not GeoIP_ConvertIPAddressToNumber_IPv6(IPAddressV6, @IPAddressnum)
  276.     ProcedureReturn -2
  277.   EndIf
  278.  
  279.   If GeoIP_is_private_ipnum_v6(@IPAddressnum)
  280.     ProcedureReturn -3
  281.   EndIf
  282.  
  283.   Protected depth.l
  284.   Protected x.l ,nRdb.l
  285.   Protected Dim stack_buffer.a(2 * 3)
  286.   Protected offset.l = 0
  287.   Protected record_pair_length.l = 6
  288.   Protected byte_offset.l
  289.  
  290.   With *iGeoIP_Info
  291.    
  292.     For depth = 127 To 0 Step -1
  293.      
  294.       byte_offset = record_pair_length * offset
  295.      
  296.       If \GeoIP_fCach_Memory
  297.         nRdb = CopyMemory(\GeoIP_datBuffer + byte_offset, @stack_buffer(), record_pair_length)
  298.       Else
  299.         FileSeek(\GeoIP_File_ID,byte_offset)
  300.         nRdb = ReadData(\GeoIP_File_ID,@stack_buffer(), record_pair_length)
  301.       EndIf
  302.      
  303.       If nRdb < record_pair_length
  304.         ProcedureReturn -2
  305.       EndIf
  306.      
  307.       If GEOIP_CHKBIT_V6(depth,IPAddressnum)
  308.        
  309.         x = (stack_buffer(3 * 1 + 0) << (0 * 8)) +
  310.             (stack_buffer(3 * 1 + 1) << (1 * 8)) +
  311.             (stack_buffer(3 * 1 + 2) << (2 * 8))
  312.        
  313.       Else
  314.        
  315.         x = (stack_buffer(3 * 0 + 0) << (0 * 8)) +
  316.             (stack_buffer(3 * 0 + 1) << (1 * 8)) +
  317.             (stack_buffer(3 * 0 + 2) << (2 * 8))
  318.        
  319.       EndIf
  320.      
  321.       If (x >= \GeoIP_databaseSegments)
  322.         ProcedureReturn x
  323.       EndIf
  324.      
  325.       offset = x
  326.     Next
  327.    
  328.   EndWith
  329. EndProcedure
  330.  
  331. Procedure.l GeoIP_Seek_Record(*iGeoIP_Info.GeoIP_Info,IPAddress.s)
  332.  
  333.   If *iGeoIP_Info < 1
  334.     ProcedureReturn -1
  335.   EndIf
  336.  
  337.   Protected ipnum.q = GeoIP_ConvertIPAddressToNumber_IPv4(IPAddress)
  338.   If Not ipnum
  339.     ProcedureReturn -2
  340.   EndIf
  341.  
  342.   If GeoIP_is_private_ipnum_v4(ipnum)
  343.     ProcedureReturn -3
  344.   EndIf
  345.  
  346.   Protected depth.l
  347.   Protected x.l ,nRdb.l
  348.   Protected Dim stack_buffer.a(2 * 3)
  349.   Protected offset.l = 0
  350.   Protected record_pair_length.l = 6
  351.   Protected byte_offset.l
  352.  
  353.   With *iGeoIP_Info
  354.    
  355.     For depth = 31 To 0 Step -1
  356.      
  357.       byte_offset = record_pair_length * offset
  358.      
  359.       If \GeoIP_fCach_Memory
  360.         nRdb = CopyMemory(\GeoIP_datBuffer + byte_offset, @stack_buffer(), record_pair_length)
  361.       Else
  362.         FileSeek(\GeoIP_File_ID,byte_offset)
  363.         nRdb = ReadData(\GeoIP_File_ID,@stack_buffer(), record_pair_length)
  364.       EndIf
  365.      
  366.       If nRdb < record_pair_length
  367.         ProcedureReturn -2
  368.       EndIf
  369.      
  370.       If (ipnum & (1 << depth))
  371.        
  372.         x = (stack_buffer(3 * 1 + 0) << (0 * 8)) +
  373.             (stack_buffer(3 * 1 + 1) << (1 * 8)) +
  374.             (stack_buffer(3 * 1 + 2) << (2 * 8))
  375.        
  376.       Else
  377.        
  378.         x = (stack_buffer(3 * 0 + 0) << (0 * 8)) +
  379.             (stack_buffer(3 * 0 + 1) << (1 * 8)) +
  380.             (stack_buffer(3 * 0 + 2) << (2 * 8))
  381.        
  382.       EndIf
  383.      
  384.       If (x >= \GeoIP_databaseSegments)
  385.         ProcedureReturn x
  386.       EndIf
  387.      
  388.       offset = x
  389.     Next
  390.    
  391.   EndWith
  392.   ProcedureReturn 0
  393. EndProcedure
  394.  
  395. Procedure.s GeoIP_Get_ASMname(*iGeoIP_Info.GeoIP_Info,seek_record.l)
  396.  
  397.   If *iGeoIP_Info < 1
  398.     ProcedureReturn ""
  399.   EndIf
  400.  
  401.   If seek_record < 1
  402.     ProcedureReturn ""
  403.   EndIf
  404.  
  405.   Protected Dim record_buf.a(#FULL_RECORD_LENGTH-1)
  406.   Protected record_pointer.l, nRdb.l
  407.  
  408.   With *iGeoIP_Info
  409.     record_pointer = seek_record + (5) * \GeoIP_databaseSegments
  410.    
  411.     If \GeoIP_fCach_Memory
  412.       nRdb = CopyMemory(\GeoIP_datBuffer + record_pointer, @record_buf(), #FULL_RECORD_LENGTH)
  413.     Else
  414.       FileSeek(\GeoIP_File_ID, record_pointer)
  415.       nRdb = ReadData(\GeoIP_File_ID, @record_buf(), #FULL_RECORD_LENGTH)
  416.     EndIf
  417.    
  418.     If nRdb < #FULL_RECORD_LENGTH
  419.       ProcedureReturn ""
  420.     EndIf
  421.    
  422.   EndWith
  423.  
  424.   ProcedureReturn PeekS(@record_buf(),-1,#PB_UTF8)
  425. EndProcedure
  426.  
  427. Procedure.s GeoIP_Time_Zone_By_Country_and_Region(country.s, region.s)
  428.   Protected uo.l
  429.   For uo = 0 To 715
  430.     If GeoIP_Countrytimezone(0,uo) = country
  431.       If GeoIP_Countrytimezone(1,uo) <> "*" And region <> ""
  432.         For uo = uo To 715
  433.           If GeoIP_Countrytimezone(1,uo) = region
  434.             Break
  435.           EndIf        
  436.         Next
  437.         Break
  438.       Else
  439.         Break
  440.       EndIf
  441.     EndIf
  442.   Next
  443.   If uo < 716
  444.     ProcedureReturn GeoIP_Countrytimezone(2,uo)
  445.   EndIf
  446.   ProcedureReturn ""
  447. EndProcedure
  448.  
  449. Procedure.b GeoIP_Extract_Record(*iGeoIP_Info.GeoIP_Info, *iGeoIPRecord.GeoIPRecord, seek_record.l)
  450.   If *iGeoIP_Info < 1
  451.     ProcedureReturn -1
  452.   EndIf
  453.   ClearStructure(*iGeoIPRecord, GeoIPRecord)
  454.   If Not *iGeoIPRecord
  455.     ProcedureReturn -1
  456.   EndIf
  457.  
  458.   If seek_record < 0
  459.     ProcedureReturn 0
  460.   EndIf
  461.  
  462.   *iGeoIPRecord\GeoIP_databaseType = *iGeoIP_Info\GeoIP_databaseType
  463.  
  464.   If *iGeoIP_Info\GeoIP_databaseType = #GEOIP_COUNTRY_EDITION Or *iGeoIP_Info\GeoIP_databaseType = #GEOIP_COUNTRY_EDITION_V6
  465.     seek_record - *iGeoIP_Info\GeoIP_databaseSegments
  466.     If seek_record > -1 And seek_record < #GeoIPMaxContry +1
  467.       With *iGeoIPRecord
  468.         \Index_Data = seek_record
  469.         \country_name =GeoIP_CountryNames(\Index_Data )
  470.         \country_code = GeoIP_CountryCodes(\Index_Data )
  471.         \continent_code = GeoIP_CountryContinent(\Index_Data )
  472.         \country_code3 = GeoIP_CountryCodes3(\Index_Data )
  473.         \time_zone = GeoIP_time_zone_by_country_and_region(\country_code ,"")
  474.         ProcedureReturn 1
  475.       EndWith
  476.     EndIf
  477.     ProcedureReturn 0
  478.   EndIf
  479.  
  480.   Protected record_pointer.l
  481.   Protected Dim record_buf.a(#FULL_RECORD_LENGTH-1)
  482.   Protected str_length.l = 0, nRdb.l, j.l
  483.  
  484.   Protected latitude.f = 0
  485.   Protected longitude.f = 0
  486.   Protected latitudei.i = 0
  487.   Protected longitudei.i = 0  
  488.   Protected metroarea_combo.l = 0
  489.  
  490.   With *iGeoIP_Info
  491.    
  492.     record_pointer = seek_record + 5 * \GeoIP_databaseSegments
  493.    
  494.     If \GeoIP_fCach_Memory
  495.       nRdb = CopyMemory(\GeoIP_datBuffer + record_pointer, @record_buf(), #FULL_RECORD_LENGTH)
  496.     Else
  497.       FileSeek(\GeoIP_File_ID, record_pointer)
  498.       nRdb = ReadData(\GeoIP_File_ID, @record_buf(), #FULL_RECORD_LENGTH)
  499.     EndIf
  500.    
  501.     If nRdb < #FULL_RECORD_LENGTH
  502.       ProcedureReturn -2
  503.     EndIf
  504.    
  505.   EndWith
  506.  
  507.   ;   ShowMemoryViewer(@record_buf(),50)
  508.  
  509.   If record_buf(0) > -1 And record_buf(0) < #GeoIPMaxContry +1
  510.     With *iGeoIPRecord
  511.       \Index_Data = record_buf(0)
  512.       \country_name =GeoIP_CountryNames(\Index_Data )
  513.       \country_code = GeoIP_CountryCodes(\Index_Data )
  514.       \continent_code = GeoIP_CountryContinent(\Index_Data )
  515.       \country_code3 = GeoIP_CountryCodes3(\Index_Data )
  516.       \region = PeekS(@record_buf(1),-1, #PB_UTF8)
  517.       \time_zone = GeoIP_time_zone_by_country_and_region(\country_code ,\region)
  518.      
  519.       str_length + Len(\region) + 1 + 1
  520.      
  521.       \city = PeekS(@record_buf(str_length),-1,#PB_UTF8)
  522.      
  523.       str_length + Len(\city) + 1
  524.      
  525.       \postal_code = PeekS(@record_buf(str_length),-1,#PB_UTF8)
  526.      
  527.       str_length + Len(\postal_code) + 1
  528.      
  529.       For j = 0 To 2
  530.         latitudei + (record_buf(str_length + j) << (j * 8))
  531.       Next
  532.       \latitude = (latitudei / 10000 - 180)
  533.      
  534.       str_length + 3
  535.      
  536.       For j = 0 To 2
  537.         longitudei + (record_buf(str_length+j) << (j * 8))
  538.       Next
  539.       \longitude = (longitudei / 10000 - 180)
  540.      
  541.       str_length + 3
  542.      
  543.       If \country_code = "US"
  544.         For j = 0 To 2
  545.           metroarea_combo + (record_buf(str_length+j) << (j * 8))
  546.         Next
  547.         \metro_code = metroarea_combo / 1000
  548.         \area_code = metroarea_combo % 1000
  549.       EndIf
  550.      
  551.     EndWith
  552.     ProcedureReturn 1
  553.   EndIf
  554.   ProcedureReturn 0
  555. EndProcedure
  556.  
  557. GeoIP_Dataini()
  558.  
  559. DataSection
  560.   GeoIP_DCountryCodes:
  561.   Data.s "--", "AP", "EU", "AD", "AE", "AF",  "AG", "AI", "AL", "AM", "CW",  "AO", "AQ", "AR", "AS", "AT", "AU",  "AW", "AZ", "BA", "BB",  "BD", "BE", "BF", "BG", "BH", "BI",  "BJ", "BM", "BN", "BO",  "BR", "BS", "BT", "BV", "BW", "BY",  "BZ", "CA", "CC", "CD",  "CF", "CG", "CH", "CI", "CK", "CL",  "CM", "CN", "CO", "CR",  "CU", "CV", "CX", "CY", "CZ", "DE",  "DJ", "DK", "DM", "DO",  "DZ", "EC", "EE", "EG", "EH", "ER",  "ES", "ET", "FI", "FJ",  "FK", "FM", "FO", "FR", "SX", "GA",  "GB", "GD", "GE", "GF",  "GH", "GI", "GL", "GM", "GN", "GP",  "GQ", "GR", "GS", "GT",  "GU", "GW", "GY", "HK", "HM", "HN",  "HR", "HT", "HU", "ID",  "IE", "IL", "IN", "IO", "IQ", "IR",  "IS", "IT", "JM", "JO",  "JP", "KE", "KG", "KH", "KI", "KM",  "KN", "KP", "KR", "KW",  "KY", "KZ", "LA", "LB", "LC", "LI",  "LK", "LR", "LS", "LT",  "LU", "LV", "LY", "MA", "MC", "MD",  "MG", "MH", "MK", "ML",  "MM", "MN", "MO", "MP", "MQ", "MR",  "MS", "MT", "MU", "MV",  "MW", "MX", "MY", "MZ", "NA", "NC",  "NE", "NF", "NG", "NI",  "NL", "NO", "NP", "NR", "NU", "NZ",  "OM", "PA", "PE", "PF",  "PG", "PH", "PK", "PL", "PM", "PN",  "PR", "PS", "PT", "PW",  "PY", "QA", "RE", "RO", "RU", "RW",  "SA", "SB", "SC", "SD",  "SE", "SG", "SH", "SI", "SJ", "SK",  "SL", "SM", "SN", "SO",  "SR", "ST", "SV", "SY", "SZ", "TC",  "TD", "TF", "TG", "TH",  "TJ", "TK", "TM", "TN", "TO", "TL",  "TR", "TT", "TV", "TW",  "TZ", "UA", "UG", "UM", "US", "UY",  "UZ", "VA", "VC", "VE",  "VG", "VI", "VN", "VU", "WF", "WS",  "YE", "YT", "RS", "ZA",  "ZM", "ME", "ZW", "A1", "A2", "O1",  "AX", "GG", "IM", "JE",  "BL", "MF", "BQ", "SS", "O1"
  562.   GeoIP_DCountryNames:
  563.   Data.s "N/A","Asia/Pacific Region",   "Europe","Andorra",    "United Arab Emirates","Afghanistan","Antigua and Barbuda","Anguilla","Albania",    "Armenia","Curacao","Angola","Antarctica", "Argentina","American Samoa",        "Austria","Australia",  "Aruba","Azerbaijan","Bosnia and Herzegovina","Barbados","Bangladesh","Belgium",    "Burkina Faso","Bulgaria",   "Bahrain","Burundi",    "Benin","Bermuda","Brunei Darussalam",     "Bolivia","Brazil","Bahamas",    "Bhutan","Bouvet Island",         "Botswana","Belarus",    "Belize","Canada","Cocos (Keeling) Islands","Congo, The Democratic Republic of the","Central African Republic","Congo",      "Switzerland","Cote D'Ivoire",         "Cook Islands","Chile",      "Cameroon","China","Colombia",   "Costa Rica","Cuba","Cape Verde", "Christmas Island","Cyprus",     "Czech Republic","Germany",    "Djibouti","Denmark","Dominica",   "Dominican Republic","Algeria","Ecuador",    "Estonia","Egypt",      "Western Sahara","Eritrea",    "Spain","Ethiopia","Finland",    "Fiji","Falkland Islands (Malvinas)","Micronesia, Federated States of",  "Faroe Islands","France",     "Sint Maarten (Dutch part)","Gabon",      "United Kingdom","Grenada","Georgia",    "French Guiana","Ghana","Gibraltar",  "Greenland","Gambia",     "Guinea","Guadeloupe", "Equatorial Guinea","Greece","South Georgia and the South Sandwich Islands","Guatemala","Guam","Guinea-Bissau",         "Guyana","Hong Kong","Heard Island and McDonald Islands","Honduras",   "Croatia","Haiti","Hungary",    "Indonesia","Ireland","Israel",     "India","British Indian Ocean Territory",   "Iraq","Iran, Islamic Republic of",        "Iceland","Italy","Jamaica",    "Jordan","Japan","Kenya",      "Kyrgyzstan","Cambodia",   "Kiribati","Comoros",    "Saint Kitts and Nevis","Korea, Democratic People's Republic of",      "Korea, Republic of","Kuwait","Cayman Islands","Kazakhstan","Lao People's Democratic Republic","Lebanon",    "Saint Lucia","Liechtenstein",         "Sri Lanka","Liberia","Lesotho",    "Lithuania","Luxembourg","Latvia",     "Libya","Morocco",    "Monaco","Moldova, Republic of",  "Madagascar","Marshall Islands",      "Macedonia","Mali","Myanmar","Mongolia",   "Macau","Northern Mariana Islands",         "Martinique","Mauritania", "Montserrat","Malta","Mauritius",  "Maldives","Malawi","Mexico",     "Malaysia","Mozambique", "Namibia","New Caledonia",         "Niger","Norfolk Island","Nigeria",    "Nicaragua","Netherlands","Norway",     "Nepal","Nauru",      "Niue","New Zealand","Oman","Panama","Peru",       "French Polynesia","Papua New Guinea","Philippines","Pakistan","Poland",     "Saint Pierre and Miquelon","Pitcairn Islands",      "Puerto Rico","Palestinian Territory", "Portugal","Palau","Paraguay","Qatar",      "Reunion","Romania",    "Russian Federation","Rwanda",     "Saudi Arabia","Solomon Islands",       "Seychelles","Sudan","Sweden","Singapore",  "Saint Helena","Slovenia",   "Svalbard and Jan Mayen","Slovakia",   "Sierra Leone","San Marino","Senegal",    "Somalia","Suriname","Sao Tome and Principe","El Salvador","Syrian Arab Republic","Swaziland",  "Turks and Caicos Islands","Chad",       "French Southern Territories","Togo","Thailand","Tajikistan","Tokelau",    "Turkmenistan","Tunisia",    "Tonga","Timor-Leste","Turkey","Trinidad and Tobago",   "Tuvalu","Taiwan","Tanzania, United Republic of","Ukraine",    "Uganda","United States Minor Outlying Islands",        "United States","Uruguay",    "Uzbekistan","Holy See (Vatican City State)","Saint Vincent and the Grenadines","Venezuela","Virgin Islands, British","Virgin Islands, U.S.",  "Vietnam","Vanuatu",    "Wallis and Futuna","Samoa",      "Yemen","Mayotte","Serbia",     "South Africa","Zambia","Montenegro", "Zimbabwe","Anonymous Proxy",       "Satellite Provider","Other",      "Aland Islands","Guernsey","Isle of Man","Jersey","Saint Barthelemy","Saint Martin","Bonaire, Saint Eustatius and Saba","South Sudan","Other"
  564.   GeoIP_DCountryContinent:
  565.   Data.s "--", "AS", "EU", "EU", "AS", "AS", "NA", "NA", "EU", "AS", "NA",    "AF", "AN", "SA", "OC", "EU", "OC", "NA", "AS", "EU", "NA",    "AS", "EU", "AF", "EU", "AS", "AF", "AF", "NA", "AS", "SA",    "SA", "NA", "AS", "AN", "AF", "EU", "NA", "NA", "AS", "AF",    "AF", "AF", "EU", "AF", "OC", "SA", "AF", "AS", "SA", "NA",    "NA", "AF", "AS", "AS", "EU", "EU", "AF", "EU", "NA", "NA",    "AF", "SA", "EU", "AF", "AF", "AF", "EU", "AF", "EU", "OC",    "SA", "OC", "EU", "EU", "NA", "AF", "EU", "NA", "AS", "SA",    "AF", "EU", "NA", "AF", "AF", "NA", "AF", "EU", "AN", "NA",    "OC", "AF", "SA", "AS", "AN", "NA", "EU", "NA", "EU", "AS",    "EU", "AS", "AS", "AS", "AS", "AS", "EU", "EU", "NA", "AS",    "AS", "AF", "AS", "AS", "OC", "AF", "NA", "AS", "AS", "AS",    "NA", "AS", "AS", "AS", "NA", "EU", "AS", "AF", "AF", "EU",    "EU", "EU", "AF", "AF", "EU", "EU", "AF", "OC", "EU", "AF",    "AS", "AS", "AS", "OC", "NA", "AF", "NA", "EU", "AF", "AS",    "AF", "NA", "AS", "AF", "AF", "OC", "AF", "OC", "AF", "NA",    "EU", "EU", "AS", "OC", "OC", "OC", "AS", "NA", "SA", "OC",    "OC", "AS", "AS", "EU", "NA", "OC", "NA", "AS", "EU", "OC",    "SA", "AS", "AF", "EU", "EU", "AF", "AS", "OC", "AF", "AF",    "EU", "AS", "AF", "EU", "EU", "EU", "AF", "EU", "AF", "AF",    "SA", "AF", "NA", "AS", "AF", "NA", "AF", "AN", "AF", "AS",    "AS", "OC", "AS", "AF", "OC", "AS", "EU", "NA", "OC", "AS",    "AF", "EU", "AF", "OC", "NA", "SA", "AS", "EU", "NA", "SA",    "NA", "NA", "AS", "OC", "OC", "OC", "AS", "AF", "EU", "AF",    "AF", "EU", "AF", "--", "--", "--", "EU", "EU", "EU", "EU",    "NA", "NA", "NA", "AF", "--"
  566.   GeoIP_DCountryCodes3:
  567.   Data.s "--",  "AP",  "EU",  "AND", "ARE", "AFG", "ATG", "AIA", "ALB","ARM",  "CUW", "AGO", "ATA", "ARG", "ASM","AUT", "AUS", "ABW", "AZE", "BIH","BRB", "BGD", "BEL", "BFA", "BGR","BHR", "BDI", "BEN", "BMU", "BRN","BOL", "BRA", "BHS", "BTN", "BVT","BWA", "BLR", "BLZ", "CAN", "CCK","COD", "CAF", "COG", "CHE", "CIV","COK", "CHL", "CMR", "CHN", "COL","CRI", "CUB", "CPV", "CXR", "CYP","CZE", "DEU", "DJI", "DNK", "DMA","DOM", "DZA", "ECU", "EST", "EGY","ESH", "ERI", "ESP", "ETH", "FIN","FJI", "FLK", "FSM", "FRO", "FRA","SXM", "GAB", "GBR", "GRD", "GEO","GUF", "GHA", "GIB", "GRL", "GMB","GIN", "GLP", "GNQ", "GRC", "SGS","GTM", "GUM", "GNB", "GUY", "HKG","HMD", "HND", "HRV", "HTI", "HUN","IDN", "IRL", "ISR", "IND", "IOT","IRQ", "IRN", "ISL", "ITA", "JAM","JOR", "JPN", "KEN", "KGZ", "KHM","KIR", "COM", "KNA", "PRK", "KOR","KWT", "CYM", "KAZ", "LAO", "LBN","LCA", "LIE", "LKA", "LBR", "LSO","LTU", "LUX", "LVA", "LBY", "MAR","MCO", "MDA", "MDG", "MHL", "MKD","MLI", "MMR", "MNG", "MAC", "MNP","MTQ", "MRT", "MSR", "MLT", "MUS","MDV", "MWI", "MEX", "MYS", "MOZ","NAM", "NCL", "NER", "NFK", "NGA","NIC", "NLD", "NOR", "NPL", "NRU","NIU", "NZL", "OMN", "PAN", "PER","PYF", "PNG", "PHL", "PAK", "POL","SPM", "PCN", "PRI", "PSE", "PRT","PLW", "PRY", "QAT", "REU", "ROU","RUS", "RWA", "SAU", "SLB", "SYC","SDN", "SWE", "SGP", "SHN", "SVN","SJM", "SVK", "SLE", "SMR", "SEN","SOM", "SUR", "STP", "SLV", "SYR","SWZ", "TCA", "TCD", "ATF", "TGO","THA", "TJK", "TKL", "TKM", "TUN","TON", "TLS", "TUR", "TTO", "TUV","TWN", "TZA", "UKR", "UGA", "UMI","USA", "URY", "UZB", "VAT", "VCT","VEN", "VGB", "VIR", "VNM", "VUT","WLF", "WSM", "YEM", "MYT", "SRB","ZAF", "ZMB", "MNE", "ZWE", "A1", "A2", "O1",  "ALA", "GGY", "IMN","JEY", "BLM", "MAF", "BES", "SSD","O1"
  568.   GeoIP_Dtimezone:
  569.   Data.s "AD", "*", "Europe/Andorra +01:00", "AE", "*", "Asia/Dubai +04:00", "AF", "*", "Asia/Kabul +04:30", "AG", "*", "America/Antigua -04:00", "AI", "*", "America/Anguilla -04:00", "AL", "*", "Europe/Tirane +01:00", "AM", "*", "Asia/Yerevan +04:00", "AN", "*", "America/Curacao -04:00", "AO", "*", "Africa/Luanda +01:00", "AQ", "*", "Antarctica/South_Pole", "AR", "01", "America/Argentina/Buenos_Aires -03:00", "AR", "02", "America/Argentina/Catamarca -03:00", "AR", "03", "America/Argentina/Tucuman -03:00", "AR", "04", "America/Argentina/Rio_Gallegos -03:00", "AR", "05", "America/Argentina/Cordoba -03:00", "AR", "06", "America/Argentina/Tucuman -03:00", "AR", "07", "America/Argentina/Buenos_Aires -03:00", "AR", "08", "America/Argentina/Buenos_Aires -03:00", "AR", "09", "America/Argentina/Tucuman -03:00", "AR", "10", "America/Argentina/Jujuy -03:00", "AR", "11", "America/Argentina/San_Luis -03:00", "AR", "12", "America/Argentina/La_Rioja -03:00", "AR", "13", "America/Argentina/Mendoza -03:00", "AR", "14", "America/Argentina/Buenos_Aires -03:00", "AR", "15", "America/Argentina/San_Luis -03:00", "AR", "16", "America/Argentina/Buenos_Aires -03:00", "AR", "17", "America/Argentina/Salta -03:00", "AR", "18", "America/Argentina/San_Juan -03:00", "AR", "19", "America/Argentina/San_Luis -03:00", "AR", "20", "America/Argentina/Rio_Gallegos -03:00", "AR", "21", "America/Argentina/Buenos_Aires -03:00", "AR", "22", "America/Argentina/Catamarca -03:00", "AR", "23", "America/Argentina/Ushuaia -03:00", "AR", "24", "America/Argentina/Tucuman -03:00", "AS", "*", "Pacific/Pago_Pago -11:00", "AT", "*", "Europe/Vienna +01:00", "AU", "01", "Australia/Sydney +10:00", "AU", "02", "Australia/Sydney +10:00", "AU", "03", "Australia/Darwin +09:30", "AU", "04", "Australia/Brisbane +10:00", "AU", "05", "Australia/Adelaide +09:30", "AU", "06", "Australia/Hobart +10:00", "AU", "07", "Australia/Melbourne +10:00", "AU", "08", "Australia/Perth +08:00", "AW", "*", "America/Aruba -04:00", "AX", "*", "Europe/Mariehamn", "AZ", "*", "Asia/Baku +04:00", "BA", "*", "Europe/Sarajevo", "BB", "*", "America/Barbados -04:00", "BD", "*", "Asia/Dhaka +06:00", "BE", "*", "Europe/Brussels +01:00", "BF", "*", "Africa/Ouagadougou +00:00", "BG", "*", "Europe/Sofia +02:00", "BH", "*", "Asia/Bahrain +03:00", "BI", "*", "Africa/Bujumbura +02:00", "BJ", "*", "Africa/Porto-Novo +01:00", "BL", "*", "America/St_Barthelemy", "BM", "*", "Atlantic/Bermuda -04:00", "BN", "*", "Asia/Brunei +08:00", "BO", "*", "America/La_Paz -04:00", "BQ", "*", "America/Curacao -04:00", "BR", "01", "America/Rio_Branco -04:00", "BR", "02", "America/Maceio -03:00", "BR", "03", "America/Sao_Paulo -03:00", "BR", "04", "America/Manaus -04:00", "BR", "05", "America/Bahia -03:00", "BR", "06", "America/Fortaleza -03:00", "BR", "07", "America/Sao_Paulo -03:00", "BR", "08", "America/Sao_Paulo -03:00", "BR", "11", "America/Campo_Grande -04:00", "BR", "13", "America/Belem -03:00", "BR", "14", "America/Cuiaba -04:00", "BR", "15", "America/Sao_Paulo -03:00", "BR", "16", "America/Belem -03:00", "BR", "17", "America/Recife -03:00", "BR", "18", "America/Sao_Paulo -03:00", "BR", "20", "America/Fortaleza -03:00", "BR", "21", "America/Sao_Paulo -03:00", "BR", "22", "America/Recife -03:00", "BR", "23", "America/Sao_Paulo -03:00", "BR", "24", "America/Porto_Velho -04:00", "BR", "25", "America/Boa_Vista -04:00", "BR", "26", "America/Sao_Paulo -03:00", "BR", "27", "America/Sao_Paulo -03:00", "BR", "28", "America/Maceio -03:00", "BR", "29", "America/Sao_Paulo -03:00", "BR", "30", "America/Recife -03:00", "BR", "31", "America/Araguaina -03:00", "BS", "*", "America/Nassau -05:00", "BT", "*", "Asia/Thimphu +06:00", "BV", "*", "Antarctica/Syowa +03:00", "BW", "*", "Africa/Gaborone +02:00", "BY", "*", "Europe/Minsk +02:00", "BZ", "*", "America/Belize -06:00", "CA", "AB", "America/Edmonton -07:00", "CA", "BC", "America/Vancouver -08:00", "CA", "MB", "America/Winnipeg -06:00", "CA", "NB", "America/Halifax -04:00", "CA", "NL", "America/St_Johns -03:30", "CA", "NS", "America/Halifax -04:00", "CA", "NT", "America/Yellowknife -07:00", "CA", "NU", "America/Rankin_Inlet -06:00", "CA", "ON", "America/Toronto -05:00", "CA", "PE", "America/Halifax -04:00", "CA", "QC", "America/Montreal -05:00", "CA", "SK", "America/Regina -06:00", "CA", "YT", "America/Whitehorse -08:00", "CC", "*", "Indian/Cocos +06:30", "CD", "01", "Africa/Kinshasa +01:00", "CD", "02", "Africa/Kinshasa +01:00", "CD", "03", "Africa/Kinshasa +01:00", "CD", "04", "Africa/Lubumbashi +02:00", "CD", "05", "Africa/Lubumbashi +02:00", "CD", "06", "Africa/Kinshasa +01:00", "CD", "07", "Africa/Lubumbashi +02:00", "CD", "08", "Africa/Kinshasa +01:00", "CD", "09", "Africa/Lubumbashi +02:00", "CD", "10", "Africa/Lubumbashi +02:00", "CD", "11", "Africa/Lubumbashi +02:00", "CD", "12", "Africa/Lubumbashi +02:00", "CF", "*", "Africa/Bangui +01:00", "CG", "*", "Africa/Brazzaville +01:00", "CH", "*", "Europe/Zurich +01:00", "CI", "*", "Africa/Abidjan +00:00", "CK", "*", "Pacific/Rarotonga -10:00", "CL", "*", "America/Santiago -04:00", "CM", "*", "Africa/Lagos +01:00", "CN", "01", "Asia/Shanghai +08:00", "CN", "02", "Asia/Shanghai +08:00", "CN", "03", "Asia/Shanghai +08:00", "CN", "04", "Asia/Shanghai +08:00", "CN", "05", "Asia/Harbin +08:00", "CN", "06", "Asia/Chongqing +08:00", "CN", "07", "Asia/Shanghai +08:00", "CN", "08", "Asia/Harbin +08:00", "CN", "09", "Asia/Shanghai +08:00", "CN", "10", "Asia/Shanghai +08:00", "CN", "11", "Asia/Chongqing +08:00", "CN", "12", "Asia/Shanghai +08:00", "CN", "13", "Asia/Urumqi +08:00", "CN", "14", "Asia/Chongqing +08:00", "CN", "15", "Asia/Chongqing +08:00", "CN", "16", "Asia/Chongqing +08:00", "CN", "18", "Asia/Chongqing +08:00", "CN", "19", "Asia/Harbin +08:00", "CN", "20", "Asia/Harbin +08:00", "CN", "21", "Asia/Chongqing +08:00", "CN", "22", "Asia/Harbin +08:00", "CN", "23", "Asia/Shanghai +08:00", "CN", "24", "Asia/Chongqing +08:00", "CN", "25", "Asia/Shanghai +08:00", "CN", "26", "Asia/Chongqing +08:00", "CN", "28", "Asia/Shanghai +08:00", "CN", "29", "Asia/Chongqing +08:00", "CN", "30", "Asia/Chongqing +08:00", "CN", "31", "Asia/Chongqing +08:00", "CN", "32", "Asia/Chongqing +08:00", "CN", "33", "Asia/Chongqing +08:00", "CO", "*", "America/Bogota -05:00", "CR", "*", "America/Costa_Rica -06:00", "CU", "*", "America/Havana -05:00", "CV", "*", "Atlantic/Cape_Verde -01:00", "CW", "*", "America/Curacao -04:00", "CX", "*", "Indian/Christmas +07:00", "CY", "*", "Asia/Nicosia +02:00", "CZ", "*", "Europe/Prague +01:00", "DE", "*", "Europe/Berlin +01:00", "DJ", "*", "Africa/Djibouti +03:00", "DK", "*", "Europe/Copenhagen +01:00", "DM", "*", "America/Dominica -04:00", "DO", "*", "America/Santo_Domingo -04:00", "DZ", "*", "Africa/Algiers +01:00", "EC", "01", "Pacific/Galapagos -06:00", "EC", "02", "America/Guayaquil -05:00", "EC", "03", "America/Guayaquil -05:00", "EC", "04", "America/Guayaquil -05:00", "EC", "05", "America/Guayaquil -05:00", "EC", "06", "America/Guayaquil -05:00", "EC", "07", "America/Guayaquil -05:00", "EC", "08", "America/Guayaquil -05:00", "EC", "09", "America/Guayaquil -05:00", "EC", "10", "America/Guayaquil -05:00", "EC", "11", "America/Guayaquil -05:00", "EC", "12", "America/Guayaquil -05:00", "EC", "13", "America/Guayaquil -05:00", "EC", "14", "America/Guayaquil -05:00", "EC", "15", "America/Guayaquil -05:00", "EC", "17", "America/Guayaquil -05:00", "EC", "18", "America/Guayaquil -05:00", "EC", "19", "America/Guayaquil -05:00", "EC", "20", "America/Guayaquil -05:00", "EC", "22", "America/Guayaquil -05:00", "EC", "24", "America/Guayaquil -05:00", "EE", "*", "Europe/Tallinn +02:00", "EG", "*", "Africa/Cairo +02:00", "EH", "*", "Africa/El_Aaiun +00:00", "ER", "*", "Africa/Asmara +03:00", "ES", "07", "Europe/Madrid +01:00", "ES", "27", "Europe/Madrid +01:00", "ES", "29", "Europe/Madrid +01:00", "ES", "31", "Europe/Madrid +01:00", "ES", "32", "Europe/Madrid +01:00", "ES", "34", "Europe/Madrid +01:00", "ES", "39", "Europe/Madrid +01:00", "ES", "51", "Africa/Ceuta +01:00", "ES", "52", "Europe/Madrid +01:00", "ES", "53", "Atlantic/Canary +00:00", "ES", "54", "Europe/Madrid +01:00", "ES", "55", "Europe/Madrid +01:00", "ES", "56", "Europe/Madrid +01:00", "ES", "57", "Europe/Madrid +01:00", "ES", "58", "Europe/Madrid +01:00", "ES", "59", "Europe/Madrid +01:00", "ES", "60", "Europe/Madrid +01:00", "ET", "*", "Africa/Addis_Ababa +03:00", "FI", "*", "Europe/Helsinki +02:00", "FJ", "*", "Pacific/Fiji +12:00", "FK", "*", "Atlantic/Stanley -04:00", "FM", "*", "Pacific/Pohnpei +11:00", "FO", "*", "Atlantic/Faroe +00:00", "FR", "*", "Europe/Paris +01:00", "FX", "*", "Europe/Paris +01:00", "GA", "*", "Africa/Libreville +01:00", "GB", "*", "Europe/London +00:00", "GD", "*", "America/Grenada -04:00", "GE", "*", "Asia/Tbilisi +04:00", "GF", "*", "America/Cayenne -03:00", "GG", "*", "Europe/Guernsey", "GH", "*", "Africa/Accra +00:00", "GI", "*", "Europe/Gibraltar +01:00", "GL", "01", "America/Thule -04:00", "GL", "02", "America/Godthab -03:00", "GL", "03", "America/Godthab -03:00", "GM", "*", "Africa/Banjul +00:00", "GN", "*", "Africa/Conakry +00:00", "GP", "*", "America/Guadeloupe -04:00", "GQ", "*", "Africa/Malabo +01:00", "GR", "*", "Europe/Athens +02:00", "GS", "*", "Atlantic/South_Georgia -02:00", "GT", "*", "America/Guatemala -06:00", "GU", "*", "Pacific/Guam +10:00", "GW", "*", "Africa/Bissau +00:00", "GY", "*", "America/Guyana -04:00", "HK", "*", "Asia/Hong_Kong +08:00", "HN", "*", "America/Tegucigalpa -06:00", "HR", "*", "Europe/Zagreb", "HT", "*", "America/Port-au-Prince -05:00", "HU", "*", "Europe/Budapest +01:00", "ID", "01", "Asia/Pontianak +07:00", "ID", "02", "Asia/Makassar +08:00", "ID", "03", "Asia/Jakarta +07:00", "ID", "04", "Asia/Jakarta +07:00", "ID", "05", "Asia/Jakarta +07:00", "ID", "06", "Asia/Jakarta +07:00", "ID", "07", "Asia/Jakarta +07:00", "ID", "08", "Asia/Jakarta +07:00", "ID", "09", "Asia/Jayapura +09:00", "ID", "10", "Asia/Jakarta +07:00", "ID", "11", "Asia/Pontianak +07:00", "ID", "12", "Asia/Makassar +08:00", "ID", "13", "Asia/Makassar +08:00", "ID", "14", "Asia/Makassar +08:00", "ID", "15", "Asia/Jakarta +07:00", "ID", "16", "Asia/Makassar +08:00", "ID", "17", "Asia/Makassar +08:00", "ID", "18", "Asia/Makassar +08:00", "ID", "19", "Asia/Pontianak +07:00", "ID", "20", "Asia/Makassar +08:00", "ID", "21", "Asia/Makassar +08:00", "ID", "22", "Asia/Makassar +08:00", "ID", "23", "Asia/Makassar +08:00", "ID", "24", "Asia/Jakarta +07:00", "ID", "25", "Asia/Pontianak +07:00", "ID", "26", "Asia/Pontianak +07:00", "ID", "28", "Asia/Jayapura +09:00", "ID", "29", "Asia/Makassar +08:00", "ID", "30", "Asia/Jakarta +07:00", "ID", "31", "Asia/Makassar +08:00", "ID", "32", "Asia/Jakarta +07:00", "ID", "33", "Asia/Jakarta +07:00", "ID", "34", "Asia/Makassar +08:00", "ID", "35", "Asia/Pontianak +07:00", "ID", "36", "Asia/Jayapura +09:00", "ID", "37", "Asia/Pontianak +07:00", "ID", "38", "Asia/Makassar +08:00", "ID", "39", "Asia/Jayapura +09:00", "ID", "40", "Asia/Pontianak +07:00", "ID", "41", "Asia/Makassar +08:00", "IE", "*", "Europe/Dublin +00:00", "IL", "*", "Asia/Jerusalem +02:00", "IM", "*", "Europe/Isle_of_Man", "IN", "*", "Asia/Kolkata +05:30", "IO", "*", "Indian/Chagos +06:00", "IQ", "*", "Asia/Baghdad +03:00", "IR", "*", "Asia/Tehran +03:30", "IS", "*", "Atlantic/Reykjavik +00:00", "IT", "*", "Europe/Rome +01:00", "JE", "*", "Europe/Jersey", "JM", "*", "America/Jamaica -05:00", "JO", "*", "Asia/Amman +02:00", "JP", "*", "Asia/Tokyo +09:00", "KE", "*", "Africa/Nairobi +03:00", "KG", "*", "Asia/Bishkek +06:00", "KH", "*", "Asia/Phnom_Penh +07:00", "KI", "*", "Pacific/Tarawa +12:00", "KM", "*", "Indian/Comoro +03:00", "KN", "*", "America/St_Kitts -04:00", "KP", "*", "Asia/Pyongyang +09:00", "KR", "*", "Asia/Seoul +09:00", "KW", "*", "Asia/Kuwait +03:00", "KY", "*", "America/Cayman -05:00", "KZ", "01", "Asia/Almaty +06:00", "KZ", "02", "Asia/Almaty +06:00", "KZ", "03", "Asia/Qyzylorda +06:00", "KZ", "04", "Asia/Aqtobe +05:00", "KZ", "05", "Asia/Qyzylorda +06:00", "KZ", "06", "Asia/Aqtau +05:00", "KZ", "07", "Asia/Oral +05:00", "KZ", "08", "Asia/Qyzylorda +06:00", "KZ", "09", "Asia/Aqtau +05:00", "KZ", "10", "Asia/Qyzylorda +06:00", "KZ", "11", "Asia/Almaty +06:00", "KZ", "12", "Asia/Qyzylorda +06:00", "KZ", "13", "Asia/Aqtobe +05:00", "KZ", "14", "Asia/Qyzylorda +06:00", "KZ", "15", "Asia/Almaty +06:00", "KZ", "16", "Asia/Aqtobe +05:00", "KZ", "17", "Asia/Almaty +06:00", "LA", "*", "Asia/Vientiane +07:00", "LB", "*", "Asia/Beirut +02:00", "LC", "*", "America/St_Lucia -04:00", "LI", "*", "Europe/Vaduz +01:00", "LK", "*", "Asia/Colombo +05:30", "LR", "*", "Africa/Monrovia +00:00", "LS", "*", "Africa/Maseru +02:00", "LT", "*", "Europe/Vilnius +02:00", "LU", "*", "Europe/Luxembourg +01:00", "LV", "*", "Europe/Riga +02:00", "LY", "*", "Africa/Tripoli +02:00", "MA", "*", "Africa/Casablanca +00:00", "MC", "*", "Europe/Monaco +01:00", "MD", "*", "Europe/Chisinau +02:00", "ME", "*", "Europe/Podgorica", "MF", "*", "America/Marigot", "MG", "*", "Indian/Antananarivo +03:00", "MH", "*", "Pacific/Kwajalein +12:00", "MK", "*", "Europe/Skopje", "ML", "*", "Africa/Bamako +00:00", "MM", "*", "Asia/Rangoon +06:30", "MN", "06", "Asia/Choibalsan +08:00", "MN", "11", "Asia/Ulaanbaatar +08:00", "MN", "17", "Asia/Choibalsan +08:00", "MN", "19", "Asia/Hovd +07:00", "MN", "20", "Asia/Ulaanbaatar +08:00", "MN", "21", "Asia/Ulaanbaatar +08:00", "MN", "25", "Asia/Ulaanbaatar +08:00", "MO", "*", "Asia/Macau +08:00", "MP", "*", "Pacific/Saipan +10:00", "MQ", "*", "America/Martinique -04:00", "MR", "*", "Africa/Nouakchott +00:00", "MS", "*", "America/Montserrat -04:00", "MT", "*", "Europe/Malta +01:00", "MU", "*", "Indian/Mauritius +04:00", "MV", "*", "Indian/Maldives +05:00", "MW", "*", "Africa/Blantyre +02:00", "MX", "01", "America/Mexico_City -06:00", "MX", "02", "America/Tijuana -08:00", "MX", "03", "America/Hermosillo -07:00", "MX", "04", "America/Merida -06:00", "MX", "05", "America/Mexico_City -06:00", "MX", "06", "America/Chihuahua -07:00", "MX", "07", "America/Monterrey -06:00", "MX", "08", "America/Mexico_City -06:00", "MX", "09", "America/Mexico_City -06:00", "MX", "10", "America/Mazatlan -07:00", "MX", "11", "America/Mexico_City -06:00", "MX", "12", "America/Mexico_City -06:00", "MX", "13", "America/Mexico_City -06:00", "MX", "14", "America/Mazatlan -07:00", "MX", "15", "America/Chihuahua -07:00", "MX", "16", "America/Mexico_City -06:00", "MX", "17", "America/Mexico_City -06:00", "MX", "18", "America/Mazatlan -07:00", "MX", "19", "America/Monterrey -06:00", "MX", "20", "America/Mexico_City -06:00", "MX", "21", "America/Mexico_City -06:00", "MX", "22", "America/Mexico_City -06:00", "MX", "23", "America/Cancun -06:00", "MX", "24", "America/Mexico_City -06:00", "MX", "25", "America/Mazatlan -07:00", "MX", "26", "America/Hermosillo -07:00", "MX", "27", "America/Merida -06:00", "MX", "28", "America/Monterrey -06:00", "MX", "29", "America/Mexico_City -06:00", "MX", "30", "America/Mexico_City -06:00", "MX", "31", "America/Merida -06:00", "MX", "32", "America/Monterrey -06:00", "MY", "01", "Asia/Kuala_Lumpur +08:00", "MY", "02", "Asia/Kuala_Lumpur +08:00", "MY", "03", "Asia/Kuala_Lumpur +08:00", "MY", "04", "Asia/Kuala_Lumpur +08:00", "MY", "05", "Asia/Kuala_Lumpur +08:00", "MY", "06", "Asia/Kuala_Lumpur +08:00", "MY", "07", "Asia/Kuala_Lumpur +08:00", "MY", "08", "Asia/Kuala_Lumpur +08:00", "MY", "09", "Asia/Kuala_Lumpur +08:00", "MY", "11", "Asia/Kuching +08:00", "MY", "12", "Asia/Kuala_Lumpur +08:00", "MY", "13", "Asia/Kuala_Lumpur +08:00", "MY", "14", "Asia/Kuala_Lumpur +08:00", "MY", "15", "Asia/Kuching +08:00", "MY", "16", "Asia/Kuching +08:00", "MZ", "*", "Africa/Maputo +02:00", "NA", "*", "Africa/Windhoek +01:00", "NC", "*", "Pacific/Noumea +11:00", "NE", "*", "Africa/Niamey +01:00", "NF", "*", "Pacific/Norfolk +11:30", "NG", "*", "Africa/Lagos +01:00", "NI", "*", "America/Managua -06:00", "NL", "*", "Europe/Amsterdam +01:00", "NO", "*", "Europe/Oslo +01:00", "NP", "*", "Asia/Kathmandu +05:45", "NR", "*", "Pacific/Nauru +12:00", "NU", "*", "Pacific/Niue -11:00", "NZ", "85", "Pacific/Auckland +12:00", "NZ", "E7", "Pacific/Auckland +12:00", "NZ", "E8", "Pacific/Auckland +12:00", "NZ", "E9", "Pacific/Auckland +12:00", "NZ", "F1", "Pacific/Auckland +12:00", "NZ", "F2", "Pacific/Auckland +12:00", "NZ", "F3", "Pacific/Auckland +12:00", "NZ", "F4", "Pacific/Auckland +12:00", "NZ", "F5", "Pacific/Auckland +12:00", "NZ", "F6", "Pacific/Auckland +12:00", "NZ", "F7", "Pacific/Chatham +12:45", "NZ", "F8", "Pacific/Auckland +12:00", "NZ", "F9", "Pacific/Auckland +12:00", "NZ", "G1", "Pacific/Auckland +12:00", "NZ", "G2", "Pacific/Auckland +12:00", "NZ", "G3", "Pacific/Auckland +12:00", "OM", "*", "Asia/Muscat +04:00", "PA", "*", "America/Panama -05:00", "PE", "*", "America/Lima -05:00", "PF", "*", "Pacific/Marquesas -09:30", "PG", "*", "Pacific/Port_Moresby +10:00", "PH", "*", "Asia/Manila +08:00", "PK", "*", "Asia/Karachi +05:00", "PL", "*", "Europe/Warsaw +01:00", "PM", "*", "America/Miquelon -03:00", "PN", "*", "Pacific/Pitcairn -08:00", "PR", "*", "America/Puerto_Rico -04:00", "PS", "*", "Asia/Gaza +02:00", "PT", "02", "Europe/Lisbon +00:00", "PT", "03", "Europe/Lisbon +00:00", "PT", "04", "Europe/Lisbon +00:00", "PT", "05", "Europe/Lisbon +00:00", "PT", "06", "Europe/Lisbon +00:00", "PT", "07", "Europe/Lisbon +00:00", "PT", "08", "Europe/Lisbon +00:00", "PT", "09", "Europe/Lisbon +00:00", "PT", "10", "Atlantic/Madeira +00:00", "PT", "11", "Europe/Lisbon +00:00", "PT", "13", "Europe/Lisbon +00:00", "PT", "14", "Europe/Lisbon +00:00", "PT", "16", "Europe/Lisbon +00:00", "PT", "17", "Europe/Lisbon +00:00", "PT", "18", "Europe/Lisbon +00:00", "PT", "19", "Europe/Lisbon +00:00", "PT", "20", "Europe/Lisbon +00:00", "PT", "21", "Europe/Lisbon +00:00", "PT", "22", "Europe/Lisbon +00:00", "PT", "23", "Atlantic/Azores -01:00", "PW", "*", "Pacific/Palau +09:00", "PY", "*", "America/Asuncion -04:00", "QA", "*", "Asia/Qatar +03:00", "RE", "*", "Indian/Reunion +04:00", "RO", "*", "Europe/Bucharest +02:00", "RS", "*", "Europe/Belgrade +01:00", "RU", "01", "Europe/Volgograd +03:00", "RU", "02", "Asia/Irkutsk +08:00", "RU", "03", "Asia/Novokuznetsk +06:00", "RU", "04", "Asia/Novosibirsk +06:00", "RU", "05", "Asia/Vladivostok +10:00", "RU", "06", "Europe/Moscow +03:00", "RU", "07", "Europe/Volgograd +03:00", "RU", "08", "Europe/Samara +03:00", "RU", "09", "Europe/Moscow +03:00", "RU", "10", "Europe/Moscow +03:00", "RU", "11", "Asia/Irkutsk +08:00", "RU", "12", "Europe/Volgograd +03:00", "RU", "13", "Asia/Yekaterinburg +05:00", "RU", "14", "Asia/Irkutsk +08:00", "RU", "15", "Asia/Anadyr +11:00", "RU", "16", "Europe/Samara +03:00", "RU", "17", "Europe/Volgograd +03:00", "RU", "18", "Asia/Krasnoyarsk +07:00", "RU", "20", "Asia/Irkutsk +08:00", "RU", "21", "Europe/Moscow +03:00", "RU", "22", "Europe/Volgograd +03:00", "RU", "23", "Europe/Kaliningrad +02:00", "RU", "24", "Europe/Volgograd +03:00", "RU", "25", "Europe/Moscow +03:00", "RU", "26", "Asia/Kamchatka +11:00", "RU", "27", "Europe/Volgograd +03:00", "RU", "28", "Europe/Moscow +03:00", "RU", "29", "Asia/Novokuznetsk +06:00", "RU", "30", "Asia/Vladivostok +10:00", "RU", "31", "Asia/Krasnoyarsk +07:00", "RU", "32", "Asia/Omsk +06:00", "RU", "33", "Asia/Yekaterinburg +05:00", "RU", "34", "Asia/Yekaterinburg +05:00", "RU", "35", "Asia/Yekaterinburg +05:00", "RU", "36", "Asia/Anadyr +11:00", "RU", "37", "Europe/Moscow +03:00", "RU", "38", "Europe/Volgograd +03:00", "RU", "39", "Asia/Krasnoyarsk +07:00", "RU", "40", "Asia/Yekaterinburg +05:00", "RU", "41", "Europe/Moscow +03:00", "RU", "42", "Europe/Moscow +03:00", "RU", "43", "Europe/Moscow +03:00", "RU", "44", "Asia/Magadan +11:00", "RU", "45", "Europe/Samara +03:00", "RU", "46", "Europe/Samara +03:00", "RU", "47", "Europe/Moscow +03:00", "RU", "48", "Europe/Moscow +03:00", "RU", "49", "Europe/Moscow +03:00", "RU", "50", "Asia/Yekaterinburg +05:00", "RU", "51", "Europe/Moscow +03:00", "RU", "52", "Europe/Moscow +03:00", "RU", "53", "Asia/Novosibirsk +06:00", "RU", "54", "Asia/Omsk +06:00", "RU", "55", "Europe/Samara +03:00", "RU", "56", "Europe/Moscow +03:00", "RU", "57", "Europe/Samara +03:00", "RU", "58", "Asia/Yekaterinburg +05:00", "RU", "59", "Asia/Vladivostok +10:00", "RU", "60", "Europe/Kaliningrad +02:00", "RU", "61", "Europe/Volgograd +03:00", "RU", "62", "Europe/Moscow +03:00", "RU", "63", "Asia/Yakutsk +09:00", "RU", "64", "Asia/Sakhalin +10:00", "RU", "65", "Europe/Samara +03:00", "RU", "66", "Europe/Moscow +03:00", "RU", "67", "Europe/Samara +03:00", "RU", "68", "Europe/Volgograd +03:00", "RU", "69", "Europe/Moscow +03:00", "RU", "70", "Europe/Volgograd +03:00", "RU", "71", "Asia/Yekaterinburg +05:00", "RU", "72", "Europe/Moscow +03:00", "RU", "73", "Europe/Samara +03:00", "RU", "74", "Asia/Krasnoyarsk +07:00", "RU", "75", "Asia/Novosibirsk +06:00", "RU", "76", "Europe/Moscow +03:00", "RU", "77", "Europe/Moscow +03:00", "RU", "78", "Asia/Yekaterinburg +05:00", "RU", "79", "Asia/Irkutsk +08:00", "RU", "80", "Asia/Yekaterinburg +05:00", "RU", "81", "Europe/Samara +03:00", "RU", "82", "Asia/Irkutsk +08:00", "RU", "83", "Europe/Moscow +03:00", "RU", "84", "Europe/Volgograd +03:00", "RU", "85", "Europe/Moscow +03:00", "RU", "86", "Europe/Moscow +03:00", "RU", "87", "Asia/Novosibirsk +06:00", "RU", "88", "Europe/Moscow +03:00", "RU", "89", "Asia/Vladivostok +10:00", "RU", "90", "Asia/Yekaterinburg +05:00", "RU", "91", "Asia/Krasnoyarsk +07:00", "RU", "92", "Asia/Anadyr +11:00", "RU", "93", "Asia/Irkutsk +08:00", "RW", "*", "Africa/Kigali +02:00", "SA", "*", "Asia/Riyadh +03:00", "SB", "*", "Pacific/Guadalcanal +11:00", "SC", "*", "Indian/Mahe +04:00", "SD", "*", "Africa/Khartoum +03:00", "SE", "*", "Europe/Stockholm +01:00", "SG", "*", "Asia/Singapore +08:00", "SH", "*", "Atlantic/St_Helena +00:00", "SI", "*", "Europe/Ljubljana", "SJ", "*", "Arctic/Longyearbyen", "SK", "*", "Europe/Bratislava", "SL", "*", "Africa/Freetown +00:00", "SM", "*", "Europe/San_Marino", "SN", "*", "Africa/Dakar +00:00", "SO", "*", "Africa/Mogadishu +03:00", "SR", "*", "America/Paramaribo -03:00", "SS", "*", "Africa/Juba", "ST", "*", "Africa/Sao_Tome +00:00", "SV", "*", "America/El_Salvador -06:00", "SX", "*", "America/Curacao -04:00", "SY", "*", "Asia/Damascus +02:00", "SZ", "*", "Africa/Mbabane +02:00", "TC", "*", "America/Grand_Turk -05:00", "TD", "*", "Africa/Ndjamena +01:00", "TF", "*", "Indian/Kerguelen +05:00", "TG", "*", "Africa/Lome +00:00", "TH", "*", "Asia/Bangkok +07:00", "TJ", "*", "Asia/Dushanbe +05:00", "TK", "*", "Pacific/Fakaofo -10:00", "TL", "*", "Asia/Dili +09:00", "TM", "*", "Asia/Ashgabat +05:00", "TN", "*", "Africa/Tunis +01:00", "TO", "*", "Pacific/Tongatapu +13:00", "TR", "*", "Asia/Istanbul", "TT", "*", "America/Port_of_Spain -04:00", "TV", "*", "Pacific/Funafuti +12:00", "TW", "*", "Asia/Taipei +08:00", "TZ", "*", "Africa/Dar_es_Salaam +03:00", "UA", "01", "Europe/Kiev +02:00", "UA", "02", "Europe/Kiev +02:00", "UA", "03", "Europe/Uzhgorod +02:00", "UA", "04", "Europe/Zaporozhye +02:00", "UA", "05", "Europe/Zaporozhye +02:00", "UA", "06", "Europe/Uzhgorod +02:00", "UA", "07", "Europe/Zaporozhye +02:00", "UA", "08", "Europe/Simferopol +02:00", "UA", "09", "Europe/Kiev +02:00", "UA", "10", "Europe/Zaporozhye +02:00", "UA", "11", "Europe/Simferopol +02:00", "UA", "12", "Europe/Kiev +02:00", "UA", "13", "Europe/Kiev +02:00", "UA", "14", "Europe/Zaporozhye +02:00", "UA", "15", "Europe/Uzhgorod +02:00", "UA", "16", "Europe/Zaporozhye +02:00", "UA", "17", "Europe/Simferopol +02:00", "UA", "18", "Europe/Zaporozhye +02:00", "UA", "19", "Europe/Kiev +02:00", "UA", "20", "Europe/Simferopol +02:00", "UA", "21", "Europe/Kiev +02:00", "UA", "22", "Europe/Uzhgorod +02:00", "UA", "23", "Europe/Kiev +02:00", "UA", "24", "Europe/Uzhgorod +02:00", "UA", "25", "Europe/Uzhgorod +02:00", "UA", "26", "Europe/Zaporozhye +02:00", "UA", "27", "Europe/Kiev +02:00", "UG", "*", "Africa/Kampala +03:00", "UM", "*", "Pacific/Wake +12:00", "US", "AK", "America/Anchorage -09:00", "US", "AL", "America/Chicago -06:00", "US", "AR", "America/Chicago -06:00", "US", "AZ", "America/Phoenix -07:00", "US", "CA", "America/Los_Angeles -08:00", "US", "CO", "America/Denver -07:00", "US", "CT", "America/New_York -05:00", "US", "DC", "America/New_York -05:00", "US", "DE", "America/New_York -05:00", "US", "FL", "America/New_York -05:00", "US", "GA", "America/New_York -05:00", "US", "HI", "Pacific/Honolulu -10:00", "US", "IA", "America/Chicago -06:00", "US", "ID", "America/Denver -07:00", "US", "IL", "America/Chicago -06:00", "US", "IN", "America/Indiana/Indianapolis -05:00", "US", "KS", "America/Chicago -06:00", "US", "KY", "America/New_York -05:00", "US", "LA", "America/Chicago -06:00", "US", "MA", "America/New_York -05:00", "US", "MD", "America/New_York -05:00", "US", "ME", "America/New_York -05:00", "US", "MI", "America/New_York -05:00", "US", "MN", "America/Chicago -06:00", "US", "MO", "America/Chicago -06:00", "US", "MS", "America/Chicago -06:00", "US", "MT", "America/Denver -07:00", "US", "NC", "America/New_York -05:00", "US", "ND", "America/Chicago -06:00", "US", "NE", "America/Chicago -06:00", "US", "NH", "America/New_York -05:00", "US", "NJ", "America/New_York -05:00", "US", "NM", "America/Denver -07:00", "US", "NV", "America/Los_Angeles -08:00", "US", "NY", "America/New_York -05:00", "US", "OH", "America/New_York -05:00", "US", "OK", "America/Chicago -06:00", "US", "OR", "America/Los_Angeles -08:00", "US", "PA", "America/New_York -05:00", "US", "RI", "America/New_York -05:00", "US", "SC", "America/New_York -05:00", "US", "SD", "America/Chicago -06:00", "US", "TN", "America/Chicago -06:00", "US", "TX", "America/Chicago -06:00", "US", "UT", "America/Denver -07:00", "US", "VA", "America/New_York -05:00", "US", "VT", "America/New_York -05:00", "US", "WA", "America/Los_Angeles -08:00", "US", "WI", "America/Chicago -06:00", "US", "WV", "America/New_York -05:00", "US", "WY", "America/Denver -07:00", "UY", "*", "America/Montevideo -03:00", "UZ", "01", "Asia/Tashkent +05:00", "UZ", "02", "Asia/Samarkand +05:00", "UZ", "03", "Asia/Tashkent +05:00", "UZ", "05", "Asia/Samarkand +05:00", "UZ", "06", "Asia/Tashkent +05:00", "UZ", "07", "Asia/Samarkand +05:00", "UZ", "08", "Asia/Samarkand +05:00", "UZ", "09", "Asia/Samarkand +05:00", "UZ", "10", "Asia/Samarkand +05:00", "UZ", "12", "Asia/Samarkand +05:00", "UZ", "13", "Asia/Tashkent +05:00", "UZ", "14", "Asia/Tashkent +05:00", "VA", "*", "Europe/Vatican", "VC", "*", "America/St_Vincent -04:00", "VE", "*", "America/Caracas -04:30", "VG", "*", "America/Tortola -04:00", "VI", "*", "America/St_Thomas -04:00", "VN", "*", "Asia/Phnom_Penh +07:00", "VU", "*", "Pacific/Efate +11:00", "WF", "*", "Pacific/Wallis +12:00", "WS", "*", "Pacific/Pago_Pago -11:00", "YE", "*", "Asia/Aden +03:00", "YT", "*", "Indian/Mayotte +03:00", "YU", "*", "Europe/Belgrade +01:00", "ZA", "*", "Africa/Johannesburg +02:00", "ZM", "*", "Africa/Lusaka +02:00", "ZW", "*", "Africa/Harare +02:00"
  570.   GeoIP_DataEnd:
  571. EndDataSection
Advertisement
Add Comment
Please, Sign In to add comment