Warning, /frameworks/syntax-highlighting/autotests/reference/devicedetect.vcl.ref is written in an unsupported language. File is not indexed.

0001 <Comment>#</Comment><br/>
0002 <Comment># Copyright (c) 2016-2018 Varnish Cache project</Comment><br/>
0003 <Comment># Copyright (c) 2012-2016 Varnish Software AS</Comment><br/>
0004 <Comment>#</Comment><br/>
0005 <Comment># </Comment><SPDX Tag>SPDX-License-Identifier:</SPDX Tag><SPDX Value> </SPDX Value><SPDX License>BSD-2-Clause</SPDX License><br/>
0006 <Comment>#</Comment><br/>
0007 <Comment># Redistribution and use in source and binary forms, with or without</Comment><br/>
0008 <Comment># modification, are permitted provided that the following conditions</Comment><br/>
0009 <Comment># are met:</Comment><br/>
0010 <Comment># 1. Redistributions of source code must retain the above copyright</Comment><br/>
0011 <Comment>#    notice, this list of conditions and the following disclaimer.</Comment><br/>
0012 <Comment># 2. Redistributions in binary form must reproduce the above copyright</Comment><br/>
0013 <Comment>#    notice, this list of conditions and the following disclaimer in the</Comment><br/>
0014 <Comment>#    documentation and/or other materials provided with the distribution.</Comment><br/>
0015 <Comment>#</Comment><br/>
0016 <Comment># THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND</Comment><br/>
0017 <Comment># ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE</Comment><br/>
0018 <Comment># IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE</Comment><br/>
0019 <Comment># ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE</Comment><br/>
0020 <Comment># FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL</Comment><br/>
0021 <Comment># DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS</Comment><br/>
0022 <Comment># OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)</Comment><br/>
0023 <Comment># HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</Comment><br/>
0024 <Comment># LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY</Comment><br/>
0025 <Comment># OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF</Comment><br/>
0026 <Comment># SUCH DAMAGE.</Comment><br/>
0027 <Comment>#</Comment><br/>
0028 <Comment># detectdevice.vcl - regex based device detection for Varnish</Comment><br/>
0029 <Comment># https://github.com/varnishcache/varnish-devicedetect/</Comment><br/>
0030 <Comment>#</Comment><br/>
0031 <Comment># Original author: Lasse Karstensen <lkarsten@varnish-software.com></Comment><br/>
0032 <Normal Text></Normal Text><br/>
0033 <Keyword>sub</Keyword><Normal Text> devicedetect </Normal Text><Region Marker>{</Region Marker><br/>
0034 <Normal Text>   </Normal Text><Keyword>unset</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text>;</Normal Text><br/>
0035 <Normal Text>   </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"pc"</String><Normal Text>;</Normal Text><br/>
0036 <Normal Text></Normal Text><br/>
0037 <Normal Text>   </Normal Text><Comment># Handle that a cookie may override the detection alltogether.</Comment><br/>
0038 <Normal Text>   </Normal Text><Condition Keyword>if</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.Cookie</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)X-UA-Device-force"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0039 <Normal Text>           </Normal Text><Comment>/* ;?? means zero or one ;, non-greedy to match the first. */</Comment><br/>
0040 <Normal Text>           </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><Standard VCL Function>regsub</Standard VCL Function><Normal Text>(</Normal Text><HTTP Header>req.http.Cookie</HTTP Header><Normal Text>, </Normal Text><String>"(?i).*X-UA-Device-force=([^;]+);??.*"</String><Normal Text>, </Normal Text><String>"\1"</String><Normal Text>);</Normal Text><br/>
0041 <Normal Text>           </Normal Text><Comment>/* Clean up our mess in the cookie header */</Comment><br/>
0042 <Normal Text>           </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP Header>req.http.Cookie</HTTP Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><Standard VCL Function>regsuball</Standard VCL Function><Normal Text>(</Normal Text><HTTP Header>req.http.Cookie</HTTP Header><Normal Text>, </Normal Text><String>"(^|; ) *X-UA-Device-force=[^;]+;? *"</String><Normal Text>, </Normal Text><String>"\1"</String><Normal Text>);</Normal Text><br/>
0043 <Normal Text>           </Normal Text><Comment>/* If the cookie header is now empty, or just whitespace, unset it. */</Comment><br/>
0044 <Normal Text>           </Normal Text><Condition Keyword>if</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.Cookie</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"^ *$"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>unset</Keyword><Normal Text> </Normal Text><HTTP Header>req.http.Cookie</HTTP Header><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0045 <Normal Text>   </Normal Text><Region Marker>}</Region Marker><Normal Text> </Normal Text><Condition Keyword>else</Condition Keyword><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0046 <Normal Text>        </Normal Text><Condition Keyword>if</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"\(compatible; Googlebot-Mobile/2.1; \+http://www.google.com/bot.html\)"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0047 <Normal Text>            </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(Android|iPhone)"</String><Normal Text> </Normal Text><Logical Operator>&&</Logical Operator><Normal Text> </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"\(compatible.?; Googlebot/2.1.?; \+http://www.google.com/bot.html"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0048 <Normal Text>                   </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(iPhone|Windows Phone)"</String><Normal Text> </Normal Text><Logical Operator>&&</Logical Operator><Normal Text> </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"\(compatible; bingbot/2.0; \+http://www.bing.com/bingbot.htm"</String><Region Marker>))</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0049 <Normal Text>            </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-bot"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0050 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)(ads|google|bing|msn|yandex|baidu|ro|career|seznam|)bot"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0051 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)(baidu|jike|symantec)spider"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0052 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)pingdom"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0053 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)facebookexternalhit"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0054 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)scanner"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0055 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)slurp"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0056 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)(web)crawler"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0057 <Normal Text>                   </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"bot"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0058 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)ipad"</String><Region Marker>)</Region Marker><Normal Text>        </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-ipad"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0059 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)ip(hone|od)"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-iphone"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0060 <Normal Text>           </Normal Text><Comment>/* how do we differ between an android phone and an android tablet?</Comment><br/>
0061 <Comment>                  http://stackoverflow.com/questions/5341637/how-do-detect-android-tablets-in-general-useragent */</Comment><br/>
0062 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)android.*(mobile|mini)"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-android"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0063 <Normal Text>           </Normal Text><Comment>// android 3/honeycomb was just about tablet-only, and any phones will probably handle a bigger page layout.</Comment><br/>
0064 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)android 3"</String><Region Marker>)</Region Marker><Normal Text>              </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-android"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0065 <Normal Text>           </Normal Text><Comment>/* Opera Mobile */</Comment><br/>
0066 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Opera Mobi"</String><Region Marker>)</Region Marker><Normal Text>                  </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-smartphone"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0067 <Normal Text>           </Normal Text><Comment>// May very well give false positives towards android tablets. Suggestions welcome.</Comment><br/>
0068 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)android"</String><Region Marker>)</Region Marker><Normal Text>         </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-android"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0069 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"PlayBook; U; RIM Tablet"</String><Region Marker>)</Region Marker><Normal Text>         </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-rim"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0070 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"hp-tablet.*TouchPad"</String><Region Marker>)</Region Marker><Normal Text>         </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-hp"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0071 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Kindle/3"</String><Region Marker>)</Region Marker><Normal Text>         </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-kindle"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0072 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Touch.+Tablet PC"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0073 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Windows NT [0-9.]+; ARM;"</String><Normal Text> </Normal Text><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0074 <Normal Text>                   </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"tablet-microsoft"</String><Normal Text>;</Normal Text><br/>
0075 <Normal Text>           </Normal Text><Region Marker>}</Region Marker><br/>
0076 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Mobile.+Firefox"</String><Region Marker>)</Region Marker><Normal Text>     </Normal Text><Region Marker>{</Region Marker><Normal Text> </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-firefoxos"</String><Normal Text>; </Normal Text><Region Marker>}</Region Marker><br/>
0077 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"^HTC"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0078 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"Fennec"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0079 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"IEMobile"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0080 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"BlackBerry"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0081 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"BB10.*Mobile"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0082 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"GT-.*Build/GINGERBREAD"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0083 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"SymbianOS.*AppleWebKit"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0084 <Normal Text>                   </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-smartphone"</String><Normal Text>;</Normal Text><br/>
0085 <Normal Text>           </Normal Text><Region Marker>}</Region Marker><br/>
0086 <Normal Text>           </Normal Text><Condition Keyword>elsif</Condition Keyword><Normal Text> </Normal Text><Region Marker>(</Region Marker><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)symbian"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0087 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)^sonyericsson"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0088 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)^nokia"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0089 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)^samsung"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0090 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)^lg"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0091 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)bada"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0092 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)blazer"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0093 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)cellphone"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0094 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)iemobile"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0095 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)midp-2.0"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0096 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)u990"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0097 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)netfront"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0098 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)opera mini"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0099 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)palm"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0100 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)nintendo wii"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0101 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)playstation portable"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0102 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)portalmmm"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0103 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)proxinet"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0104 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)windows\ ?ce"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0105 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)winwap"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0106 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)eudoraweb"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0107 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)htc"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0108 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)240x320"</String><Normal Text> </Normal Text><Logical Operator>||</Logical Operator><br/>
0109 <Normal Text>               </Normal Text><HTTP Header>req.http.User-Agent</HTTP Header><Normal Text> </Normal Text><Comparison Operator>~</Comparison Operator><Normal Text> </Normal Text><String>"(?i)avantgo"</String><Region Marker>)</Region Marker><Normal Text> </Normal Text><Region Marker>{</Region Marker><br/>
0110 <Normal Text>                   </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><HTTP X- Header>req.http.X-UA-Device</HTTP X- Header><Normal Text> </Normal Text><Operator>=</Operator><Normal Text> </Normal Text><String>"mobile-generic"</String><Normal Text>;</Normal Text><br/>
0111 <Normal Text>           </Normal Text><Region Marker>}</Region Marker><br/>
0112 <Normal Text>   </Normal Text><Region Marker>}</Region Marker><br/>
0113 <Region Marker>}</Region Marker><br/>