text:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<applications xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <application AppID="65009083bfa6a094">
    <description>(app launched via XPMode)</description>
  </application>
  <application AppID="469e4a7982cea4d4">
    <description>? (.job)</description>
  </application>
  <application AppID="b0459de4674aab56">
    <description>(.vmcx)</description>
  </application>
  <application AppID="89b0d939f117f75c">
    <description>Adobe Acrobat 9 Pro Extended (32-bit)</description>
  </application>
  <application AppID="26717493b25aa6e1">
    <description>Adobe Dreamweaver CS5 (32-bit)</description>
  </application>
  <application AppID="e2a593822e01aed3">
    <description>Adobe Flash CS5 (32-bit)</description>
  </application>
  <application AppID="c765823d986857ba">
    <description>Adobe Illustrator CS5 (32-bit)</description>
  </application>
  <application AppID="84f066768a22cc4f">
    <description>Adobe Photoshop CS5 (64-bit)</description>
  </application>
  <application AppID="44a398496acc926d">
    <description>Adobe Premiere Pro CS5 (64-bit)</description>
  </application>
  <application AppID="23646679aaccfae0">
    <description>Adobe Reader 9.</description>
  </application>
  <application AppID="d5c3931caad5f793">
    <description>Adobe Soundbooth CS5 (32-bit)</description>
  </application>
  <application AppID="7e4dca80246863e3">
    <description>Control Panel (?)</description>
  </application>
  <application AppID="5c450709f7ae4396">
    <description>Firefox 3.6.13 (32-bit)</description>
  </application>
  <application AppID="bc03160ee1a59fc1">
    <description>Foxit PDF Reader 5.4.5</description>
  </application>
  <application AppID="28c8b86deab549a1">
    <description>Internet Explorer 8 / 9 / 10 (32-bit)</description>
  </application>
  <application AppID="5da8f997fd5f9428">
    <description>Internet Explorer x64</description>
  </application>
  <application AppID="83b03b46dcd30a0e">
    <description>iTunes 10</description>
  </application>
  <application AppID="271e609288e1210a">
    <description>Microsoft Office Access 2010 x86</description>
  </application>
  <application AppID="cdf30b95c55fd785">
    <description>Microsoft Office Excel 2007</description>
  </application>
  <application AppID="9839aec31243a928">
    <description>Microsoft Office Excel 2010 x86</description>
  </application>
  <application AppID="6e855c85de07bc6a">
    <description>Microsoft Office Excel 2010 x64</description>
  </application>
  <application AppID="f0275e8685d95486">
    <description>Microsoft Office Excel 2013 x86</description>
  </application>
  <application AppID="b8c29862d9f95832">
    <description>Microsoft Office InfoPath 2010 x86</description>
  </application>
  <application AppID="d64d36b238c843a3">
    <description>Microsoft Office InfoPath 2010 x86</description>
  </application>
  <application AppID="3094cdb43bf5e9c2">
    <description>Microsoft Office OneNote 2010 x86</description>
  </application>
  <application AppID="d38adec6953449ba">
    <description>Microsoft Office OneNote 2010 x64</description>
  </application>
  <application AppID="be71009ff8bb02a2">
    <description>Microsoft Office Outlook x86</description>
  </application>
  <application AppID="5d6f13ed567aa2da">
    <description>Microsoft Office Outlook 2010 x64</description>
  </application>
  <application AppID="f5ac5390b9115fdb">
    <description>Microsoft Office PowerPoint 2007</description>
  </application>
  <application AppID="9c7cc110ff56d1bd">
    <description>Microsoft Office PowerPoint 2010 x86</description>
  </application>
  <application AppID="5f6e7bc0fb699772">
    <description>Microsoft Office PowerPoint 2010 x64</description>
  </application>
  <application AppID="a8c43ef36da523b1">
    <description>Microsoft Office Word 2003 Pinned and Recent.</description>
  </application>
  <application AppID="adecfb853d77462a">
    <description>Microsoft Office Word 2007 Pinned and Recent.</description>
  </application>
  <application AppID="a7bd71699cd38d1c">
    <description>Microsoft Office Word 2010 x86</description>
  </application>
  <application AppID="44a3621b32122d64">
    <description>Microsoft Office Word 2010 x64</description>
  </application>
  <application AppID="a4a5324453625195">
    <description>Microsoft Office Word 2013 x86</description>
  </application>
  <application AppID="12dc1ea8e34b5a6">
    <description>Microsoft Paint 6.1</description>
  </application>
  <application AppID="e70d383b15687e37">
    <description>Notepad++ 5.6.8 (32-bit)</description>
  </application>
  <application AppID="918e0ecb43d17e23">
    <description>Notepad (32-bit)</description>
  </application>
  <application AppID="9b9cdc69c1c24e2b">
    <description>Notepad (64-bit)</description>
  </application>
  <application AppID="c7a4093872176c74">
    <description>Paint Shop Pro Pinned and Recent.</description>
  </application>
  <application AppID="c71ef2c372d322d7">
    <description>PGP Desktop 10</description>
  </application>
  <application AppID="431a5b43435cc60b">
    <description>Python (.pyc)</description>
  </application>
  <application AppID="500b8c1d5302fc9c">
    <description>Python (.pyw)</description>
  </application>
  <application AppID="1bc392b8e104a00e">
    <description>Remote Desktop</description>
  </application>
  <application AppID="315e29a36e961336">
    <description>Roboform 7.8</description>
  </application>
  <application AppID="17d3eb086439f0d7">
    <description>TrueCrypt 7.0a</description>
  </application>
  <application AppID="50620fe75ee0093">
    <description>VMware Player 3.1.4</description>
  </application>
  <application AppID="8eafbd04ec8631ce">
    <description>VMware Workstation 9 x64</description>
  </application>
  <application AppID="6728dd69a3088f97">
    <description>Windows Command Processor - cmd.exe (64-bit)</description>
  </application>
  <application AppID="1b4dd67f29cb1962">
    <description>Windows Explorer Pinned and Recent.</description>
  </application>
  <application AppID="f01b4d95cf55d32a">
    <description>Windows Explorer Windows 8.1.</description>
  </application>
  <application AppID="d7528034b5bd6f28">
    <description>Windows Live Mail Pinned and Recent.</description>
  </application>
  <application AppID="b91050d8b077a4e8">
    <description>Windows Media Center x64</description>
  </application>
  <application AppID="43578521d78096c6">
    <description>Windows Media Player Classic Home Cinema 1.3 (32-bit)</description>
  </application>
  <application AppID="74d7f43c1561fc1e">
    <description>Windows Media Player 12 (32-bit)</description>
  </application>
  <application AppID="954ea5f70258b502">
    <description>Windows Script Host - wscript.exe (32-bit)</description>
  </application>
  <application AppID="9f5c7755804b850a">
    <description>Windows Script Host - wscript.exe (64-bit)</description>
  </application>
  <application AppID="290532160612e071">
    <description>WinRar x64</description>
  </application>
  <application AppID="b74736c2bd8cc8a5">
    <description>WinZip</description>
  </application>
  <application AppID="e36bfc8972e5ab1d">
    <description>XPS Viewer</description>
  </application>
  <application AppID="2b53c4ddf69195fc">
    <description>Zune x64</description>
  </application>
  <application AppID="f0468ce1ae57883d">
    <description>Adobe Reader 7.1.0</description>
  </application>
  <application AppID="c2d349a0e756411b">
    <description>Adobe Reader 8.1.2</description>
  </application>
  <application AppID="ee462c3b81abb6f6">
    <description>Adobe Reader X 10.1.0</description>
  </application>
  <application AppID="386a2f6aa7967f36">
    <description>EyeBrowse 2.7</description>
  </application>
  <application AppID="e31a6a8a7506f733">
    <description>Image AXS Pro 4.1</description>
  </application>
  <application AppID="b39c5f226977725d">
    <description>ACDSee Pro 8.1.99</description>
  </application>
  <application AppID="59f56184c796cfd4">
    <description>ACDSee Photo Manager 10 (Build 219)</description>
  </application>
  <application AppID="8bd5c6433ca967e9">
    <description>ACDSee Photo Manager 2009 (v11.0 Build 113)</description>
  </application>
  <application AppID="d838aac097abece7">
    <description>ACDSee Photo Manager 12 (Build 344)</description>
  </application>
  <application AppID="b3f13480c2785ae">
    <description>Paint 6.1 (build 7601: SP1)</description>
  </application>
  <application AppID="7cb0735d45243070">
    <description>CDisplay 1.8.1.0</description>
  </application>
  <application AppID="3594aab44bca414b">
    <description>Windows Photo Viewer</description>
  </application>
  <application AppID="3edf100b207e2199">
    <description>digiKam 1.7.0 (KDE 4.4.4)</description>
  </application>
  <application AppID="169b3be0bc43d592">
    <description>FastPictureViewer Professional 1.6 (Build 211)</description>
  </application>
  <application AppID="e9a39dfba105ea23">
    <description>FastStone Image Viewer 4.6</description>
  </application>
  <application AppID="ef606b196796ebb">
    <description>HP MediaSmart Photo</description>
  </application>
  <application AppID="edc786643819316c">
    <description>HoneyView3 #5834</description>
  </application>
  <application AppID="76689ff502a1fd9e">
    <description>Imagine Image and Animation Viewer 1.0.7</description>
  </application>
  <application AppID="2519133d6d830f7e">
    <description>IMatch 3.6.0.113</description>
  </application>
  <application AppID="1110d9896dceddb3">
    <description>imgSeek 0.8.5</description>
  </application>
  <application AppID="c634153e7f5fce9c">
    <description>IrfanView 3.10 / 4.30</description>
  </application>
  <application AppID="ea83017cdd24374d">
    <description>IrfanView Thumbnails</description>
  </application>
  <application AppID="3917dd550d7df9a8">
    <description>Konvertor 4.06 (Build 10)</description>
  </application>
  <application AppID="2fa14c7753239e4c">
    <description>Paint.NET 2.72 / 3.5.8.4081.24580</description>
  </application>
  <application AppID="d33ecf70f0b74a77">
    <description>Picasa 2.2.0 (Build 28.08, 0)</description>
  </application>
  <application AppID="b17d3d0c9ca7e29">
    <description>Picasa 3.8.0 (Build 117.43, 0)</description>
  </application>
  <application AppID="Embedded in IE">
    <description>Prizm Viewer</description>
  </application>
  <application AppID="depends on Location">
    <description>Scientific and Technical Document Viewer 1.6.2 Portable (STDU)</description>
  </application>
  <application AppID="c5c24a503b1727df">
    <description>XnView 1.98.2 Small / 1.98.2 Standard</description>
  </application>
  <application AppID="497b42680f564128">
    <description>Zoner PhotoStudio 13 (Build 7)</description>
  </application>
  <application AppID="5d696d521de238c3">
    <description>Chrome 9.0.597.84 / 12.0.742.100 / 13.0.785.215 / 26</description>
  </application>
  <application AppID="cfb56c56fa0f0a54">
    <description>Mozilla 0.9.9</description>
  </application>
  <application AppID="5df4765359170e26">
    <description>Firefox 4.0.1</description>
  </application>
  <application AppID="1eb796d87c32eff9">
    <description>Firefox 5.0</description>
  </application>
  <application AppID="1461132e553e2e6c">
    <description>Firefox 6.0</description>
  </application>
  <application AppID="16ec093b8f51508f">
    <description>Opera 8.54 build 7730 / 9.64 build 10487 / 11.50 build 1074</description>
  </application>
  <application AppID="8a1c1c7c389a5320">
    <description>Safari 3.2.3 (525.29)</description>
  </application>
  <application AppID="1da3c90a72bf5527">
    <description>Safari 4.0.5 (531.22.7) / 5.1 (7534.50)</description>
  </application>
  <application AppID="e0f7a40340179171">
    <description>imule 1.4.5 (rev. 749)</description>
  </application>
  <application AppID="76f6f1bd18c19698">
    <description>aMule 2.2.6</description>
  </application>
  <application AppID="cb5250eaef7e3213">
    <description>ApexDC++ 1.4.3.957</description>
  </application>
  <application AppID="bfc1d76f16fa778f">
    <description>Ares (Galaxy) 1.8.4 / 1.9.8 / 2.1.0 / 2.1.7.3041</description>
  </application>
  <application AppID="accca100973ef8dc">
    <description>Azureus 2.0.8.4</description>
  </application>
  <application AppID="ccb36ff8a8c03b4b">
    <description>Azureus 2.5.0.4 / Vuze 3.0.5.0</description>
  </application>
  <application AppID="558c5bd9f906860a">
    <description>BearShare Lite 5.2.5.1</description>
  </application>
  <application AppID="e1d47cb031dafb9f">
    <description>BearShare 6.0.0.22717 / 8.1.0.70928 / 10.0.0.112380</description>
  </application>
  <application AppID="a31ec95fdd5f350f">
    <description>BitComet 0.49 / 0.59 / 0.69 / 0.79 / 0.89 / 0.99 / 1.07 / 1.28</description>
  </application>
  <application AppID="bcd7ba75303acbcf">
    <description>BitLord 1.1</description>
  </application>
  <application AppID="1434d6d62d64857d">
    <description>BitLord 1.2.0-66</description>
  </application>
  <application AppID="e73d9f534ed5618a">
    <description>BitSpirit 1.2.0.228 / 2.0 / 2.6.3.168 / 2.7.2.239 / 2.8.0.072 / 3.1.0.077 / 3.6.0.550</description>
  </application>
  <application AppID="c9374251edb4c1a8">
    <description>BitTornado T-0.3.17</description>
  </application>
  <application AppID="2d61cccb4338dfc8">
    <description>BitTorrent 5.0.0 / 6.0.0 / 7.2.1 (Build 25548)</description>
  </application>
  <application AppID="ba3a45f7fd2583e1">
    <description>Blubster 3.1.1</description>
  </application>
  <application AppID="4a7e4f6a181d3d08">
    <description>broolzShare</description>
  </application>
  <application AppID="f001ea668c0aa916">
    <description>Cabos 0.8.2</description>
  </application>
  <application AppID="560d789a6a42ad5a">
    <description>DC++ 0.261 / 0.698 / 0.782 (r2402.1)</description>
  </application>
  <application AppID="4aa2a5710da3efe0">
    <description>DCSharpHub 2.0.0</description>
  </application>
  <application AppID="2db8e25112ab4453">
    <description>Deluge 1.3.3</description>
  </application>
  <application AppID="5b186fc4a0b40504">
    <description>Dtella 1.2.5 (Purdue network only)</description>
  </application>
  <application AppID="2437d4d14b056114">
    <description>EiskaltDC++ 2.2.3</description>
  </application>
  <application AppID="b3016b8da2077262">
    <description>eMule 0.50a</description>
  </application>
  <application AppID="cbbe886eca4bfc2d">
    <description>ExoSee 1.0.0</description>
  </application>
  <application AppID="9ad1ec169bf2da7f">
    <description>FlylinkDC++ r405 (Build 7358)</description>
  </application>
  <application AppID="4dd48f858b1a6ba7">
    <description>Free Download Manager 3.0 (Build 852)</description>
  </application>
  <application AppID="f214ca2dd40c59c1">
    <description>FrostWire 4.20.9</description>
  </application>
  <application AppID="73ce3745a843c0a4">
    <description>FrostWire 5.1.4</description>
  </application>
  <application AppID="98b0ef1c84088">
    <description>fulDC 6.78</description>
  </application>
  <application AppID="e6ea77a1d4553872">
    <description>Gnucleus 1.8.6.0</description>
  </application>
  <application AppID="ed49e1e6ccdba2f5">
    <description>GNUnet 0.8.1a</description>
  </application>
  <application AppID="cc4b36fbfb69a757">
    <description>gtk-gnutella 0.97</description>
  </application>
  <application AppID="a746f9625f7695e8">
    <description>HeXHub 5.07</description>
  </application>
  <application AppID="223bf0f360c6fea5">
    <description>I2P 0.8.8 (restartable)</description>
  </application>
  <application AppID="2ff9dc8fb7e11f39">
    <description>I2P 0.8.8 (no window)</description>
  </application>
  <application AppID="f1a4c04eebef2906">
    <description>[i2p] Robert 0.0.29 Preferences</description>
  </application>
  <application AppID="c8e4c10e5460b00c">
    <description>iMesh 6.5.0.16898</description>
  </application>
  <application AppID="f61b65550a84027e">
    <description>iMesh 11.0.0.112351</description>
  </application>
  <application AppID="d460280b17628695">
    <description>Java Binary</description>
  </application>
  <application AppID="784182360de0c5b6">
    <description>Kazaa Lite 1.7.1</description>
  </application>
  <application AppID="a75b276f6e72cf2a">
    <description>Kazaa Lite Tools K++ 2.7.0</description>
  </application>
  <application AppID="ba132e702c0147ef">
    <description>KCeasy 0.19-rc1</description>
  </application>
  <application AppID="a8df13a46d66f6b5">
    <description>Kommute (Calypso) 0.24</description>
  </application>
  <application AppID="c5ef839d8d1c76f4">
    <description>LimeWire 5.2.13</description>
  </application>
  <application AppID="977a5d147aa093f4">
    <description>Lphant 3.51</description>
  </application>
  <application AppID="96252daff039437a">
    <description>Lphant 7.0.0.112351</description>
  </application>
  <application AppID="e76a4ef13fbf2bb1">
    <description>Manolito 3.1.1</description>
  </application>
  <application AppID="99c15cf3e6d52b61">
    <description>mldonkey 3.1.0</description>
  </application>
  <application AppID="ff224628f0e8103c">
    <description>Morpheus 3.0.3.6</description>
  </application>
  <application AppID="792699a1373f1386">
    <description>Piolet 3.1.1</description>
  </application>
  <application AppID="ca1eb46544793057">
    <description>RetroShare 0.5.2a (Build 4550)</description>
  </application>
  <application AppID="3cf13d83b0bd3867">
    <description>RevConnect 0.674p (based on DC++)</description>
  </application>
  <application AppID="5e01ecaf82f7d8e">
    <description>Scour Exchange 0.0.0.228</description>
  </application>
  <application AppID="5d7b4175afdcc260">
    <description>Shareaza 2.0.0.0</description>
  </application>
  <application AppID="b48ce76eda60b97">
    <description>Shareaza 8.0.0.112300</description>
  </application>
  <application AppID="23f08dab0f6aaf30">
    <description>SoMud 1.3.3</description>
  </application>
  <application AppID="135df2a440abe9bb">
    <description>SoulSeek 156c</description>
  </application>
  <application AppID="ecd21b58c2f65a2f">
    <description>StealthNet 0.8.7.9</description>
  </application>
  <application AppID="5ea2a50c7979fbdc">
    <description>TrustyFiles 3.1.0.22</description>
  </application>
  <application AppID="cd8cafb0fb6afdab">
    <description>uTorrent 1.7.7 (Build 8179) / 1.8.5 / 2.0 / 2.21 (Build 25113) / 3.0 (Build 25583)</description>
  </application>
  <application AppID="490c000889535727">
    <description>WinMX 4.9.3.0</description>
  </application>
  <application AppID="ac3a63b839ac9d3a">
    <description>Vuze 4.6.0.4</description>
  </application>
  <application AppID="d28ee773b2cea9b2">
    <description>3D-FTP 9.0 build 7</description>
  </application>
  <application AppID="cd2acd4089508507">
    <description>AbsoluteTelnet 9.18 Lite</description>
  </application>
  <application AppID="e6ef42224b845020">
    <description>ALFTP 5.20.0.4</description>
  </application>
  <application AppID="9e0b3f677a26bbc4">
    <description>BitKinex 3.2.3</description>
  </application>
  <application AppID="4cdf7858c6673f4b">
    <description>Bullet Proof FTP 1.26</description>
  </application>
  <application AppID="714b179e552596df">
    <description>Bullet Proof FTP 2.4.0 (Build 31)</description>
  </application>
  <application AppID="20ef367747c22564">
    <description>Bullet Proof FTP 2010.75.0.75</description>
  </application>
  <application AppID="44a50e6c87bc012">
    <description>Classic FTP Plus 2.15</description>
  </application>
  <application AppID="4fceec8e021ac978">
    <description>CoffeeCup Free FTP 3.5.0.0</description>
  </application>
  <application AppID="8deb27dfa31c5c2a">
    <description>CoffeeCup Free FTP 4.4 (Build 1904)</description>
  </application>
  <application AppID="49b5edbd92d8cd58">
    <description>FTP Commander 8.02</description>
  </application>
  <application AppID="6a316aa67a46820b">
    <description>Core FTP LE 1.3c (Build 1437) / 2.2 (Build 1689)</description>
  </application>
  <application AppID="be4875bb3e0c158f">
    <description>CrossFTP 1.75a</description>
  </application>
  <application AppID="c04f69101c131440">
    <description>CuteFTP 5.0 (Build 50.6.10.2)</description>
  </application>
  <application AppID="a79a7ce3c45d781">
    <description>CuteFTP 7.1 (Build 06.06.2005.1)</description>
  </application>
  <application AppID="59e86071b87ac1c3">
    <description>CuteFTP 8.3 (Build 8.3.4.0007)</description>
  </application>
  <application AppID="d8081f151f4bd8a5">
    <description>CuteFTP 8.3 Lite (Build 8.3.4.0007)</description>
  </application>
  <application AppID="3198e37206f28dc7">
    <description>CuteFTP 8.3 Professional (Build 8.3.4.0007)</description>
  </application>
  <application AppID="f82607a219af2999">
    <description>Cyberduck 4.1.2 (Build 8999)</description>
  </application>
  <application AppID="fa7144034d7d083d">
    <description>Directory Opus 10.0.2.0.4269 (JL tasks supported)</description>
  </application>
  <application AppID="f91fd0c57c4fe449">
    <description>ExpanDrive 2.1.0</description>
  </application>
  <application AppID="8f852307189803b8">
    <description>Far Manager 2.0.1807</description>
  </application>
  <application AppID="226400522157fe8b">
    <description>FileZilla Server 0.9.39 beta</description>
  </application>
  <application AppID="a1d19afe5a80f80">
    <description>FileZilla 2.2.32</description>
  </application>
  <application AppID="e107946bb682ce47">
    <description>FileZilla 3.5.1</description>
  </application>
  <application AppID="b7cb1d1c1991accf">
    <description>FlashFXP 4.0.0 (Build 1548)</description>
  </application>
  <application AppID="8628e76fd9020e81">
    <description>Fling File Transfer Plus 2.24</description>
  </application>
  <application AppID="27da120d7e75cf1f">
    <description>pbFTPClient 6.1</description>
  </application>
  <application AppID="f64de962764b9b0f">
    <description>FTPRush 1.1.3 / 2.15</description>
  </application>
  <application AppID="10f5a20c21466e85">
    <description>FTP Voyager 15.2.0.17</description>
  </application>
  <application AppID="7937df3c65790919">
    <description>FTP Explorer 10.5.19 (Build 001)</description>
  </application>
  <application AppID="9560577fd87cf573">
    <description>LeechFTP 1.3 (Build 207)</description>
  </application>
  <application AppID="fc999f29bc5c3560">
    <description>Robo-FTP 3.7.9</description>
  </application>
  <application AppID="c99ddde925d26df3">
    <description>Robo-FTP 3.7.9 CronMaker</description>
  </application>
  <application AppID="4b632cf2ceceac35">
    <description>Robo-FTP Server 3.2.5</description>
  </application>
  <application AppID="3a5148bf2288a434">
    <description>Secure FTP 2.6.1 (Build 20101209.1254)</description>
  </application>
  <application AppID="435a2f986b404eb7">
    <description>SmartFTP 4.0.1214.0</description>
  </application>
  <application AppID="explorer integrated">
    <description>Swish</description>
  </application>
  <application AppID="e42a8e0f4d9b8dcf">
    <description>Sysax FTP Automation 5.15</description>
  </application>
  <application AppID="b8c13a5dd8c455a2">
    <description>Titan FTP Server 8.40 (Build 1338)</description>
  </application>
  <application AppID="7904145af324576e">
    <description>Total Commander 7.56a (Build 16.12.2010)</description>
  </application>
  <application AppID="79370f660ab51725">
    <description>UploadFTP 2.0.1.0</description>
  </application>
  <application AppID="6a8b377d0f5cb666">
    <description>WinSCP 2.3.0 (Build 146)</description>
  </application>
  <application AppID="9a3bdae86d5576ee">
    <description>WinSCP 3.2.1 (Build 174) / 3.8.0 (Build 312)</description>
  </application>
  <application AppID="6bb54d82fa42128d">
    <description>WinSCP 4.3.4 (Build 1428)</description>
  </application>
  <application AppID="b6267f3fcb700b60">
    <description>WiseFTP 4.1.0</description>
  </application>
  <application AppID="a581b8002a6eb671">
    <description>WiseFTP 5.5.9</description>
  </application>
  <application AppID="2544ff74641b639d">
    <description>WiseFTP 6.1.5</description>
  </application>
  <application AppID="c54b96f328bdc28d">
    <description>WiseFTP 7.3.0</description>
  </application>
  <application AppID="b223c3ffbc0a7a42">
    <description>Bersirc 2.2.14</description>
  </application>
  <application AppID="c01d68e40226892b">
    <description>ClicksAndWhistles 2.7.146</description>
  </application>
  <application AppID="ac8920ed05001800">
    <description>DMDirc 0.6.5</description>
  </application>
  <application AppID="d3530c5294441522">
    <description>HydraIRC 0.3.165</description>
  </application>
  <application AppID="8904a5fd2d98b546">
    <description>IceChat 7.70 20101031</description>
  </application>
  <application AppID="6b3a5ce7ad4af9e4">
    <description>IceChat 9 RC2</description>
  </application>
  <application AppID="fa496fe13dd62edf">
    <description>KVIrc 3.4.2.1 / 4.0.4</description>
  </application>
  <application AppID="65f7dd884b016ab2">
    <description>LimeChat 2.39</description>
  </application>
  <application AppID="19ccee0274976da8">
    <description>mIRC 4.72 / 5.61</description>
  </application>
  <application AppID="ae069d21df1c57df">
    <description>mIRC 6.35 / 7.19</description>
  </application>
  <application AppID="e30bbea3e1642660">
    <description>Neebly 1.0.4</description>
  </application>
  <application AppID="54c803dfc87b52ba">
    <description>Nettalk 6.7.12</description>
  </application>
  <application AppID="dd658a07478b46c2">
    <description>PIRCH98 1.0.1.1190</description>
  </application>
  <application AppID="6fee01bd55a634fe">
    <description>Smuxi 0.8.0.0</description>
  </application>
  <application AppID="2a5a615382a84729">
    <description>X-Chat 2 2.8.6-2</description>
  </application>
  <application AppID="b3965c840bf28ef4">
    <description>AIM 4.8.2616</description>
  </application>
  <application AppID="1b29f0dc90366bb">
    <description>AIM 5.9.3857</description>
  </application>
  <application AppID="27ececd8d89b6767">
    <description>AIM 6.2.14.2 / 6.5.3.12 / 6.9.17.2</description>
  </application>
  <application AppID="6f647f9488d7a">
    <description>AIM 7.5.11.9 (custom AppID + JL support)</description>
  </application>
  <application AppID="ca942805559495e9">
    <description>aMSN 0.98.4</description>
  </application>
  <application AppID="c6f7b5bf1b9675e4">
    <description>BitWise IM 1.7.3a</description>
  </application>
  <application AppID="fb1f39d1f230480a">
    <description>Bopup Messenger 5.6.2.9178 (all languages: en;du;fr;ger;rus;es)</description>
  </application>
  <application AppID="dc64de6c91c18300">
    <description>Brosix Communicator 3.1.3 (Build 110719 nid 1)</description>
  </application>
  <application AppID="f09b920bfb781142">
    <description>Camfrog 4.0.47 / 5.5.0 / 6.1 (build 146) (JL support)</description>
  </application>
  <application AppID="ebd8c95d87f25154">
    <description>Carrier 2.5.5</description>
  </application>
  <application AppID="30d23723bdd5d908">
    <description>Digsby (Build 30140) (JL support)</description>
  </application>
  <application AppID="728008617bc3e34b">
    <description>eM Client 3.0.10206.0</description>
  </application>
  <application AppID="689319b6547cda85">
    <description>emesene 2.11.7</description>
  </application>
  <application AppID="454ef7dca3bb16b2">
    <description>Exodus 0.10.0.0</description>
  </application>
  <application AppID="cca6383a507bac64">
    <description>Gadu-Gadu 10.5.2.13164</description>
  </application>
  <application AppID="4278d3dc044fc88a">
    <description>Gaim 1.5.0</description>
  </application>
  <application AppID="777483d3cdac1727">
    <description>Gajim 0.14.4</description>
  </application>
  <application AppID="6aa18a60024620ae">
    <description>GCN 2.9.1</description>
  </application>
  <application AppID="3f2cd46691bbee90">
    <description>GOIM 1.1.0</description>
  </application>
  <application AppID="73c6a317412687c2">
    <description>Google Talk 1.0.0.104</description>
  </application>
  <application AppID="b0236d03c0627ac4">
    <description>ICQ 5.1 / ICQLite Build 1068</description>
  </application>
  <application AppID="a5db18f617e28a51">
    <description>ICQ 6.5 (Build 2024)</description>
  </application>
  <application AppID="2417caa1f2a881d4">
    <description>ICQ 7.6 (Build 5617)</description>
  </application>
  <application AppID="989d7545c2b2e7b2">
    <description>IMVU 465.8.0.0</description>
  </application>
  <application AppID="a3e0d98f5653b539">
    <description>Instantbird 1.0 (20110623121653) (JL support)</description>
  </application>
  <application AppID="bcc705f705d8132b">
    <description>Instan-t 5.2 (Build 2824)</description>
  </application>
  <application AppID="6059df4b02360af">
    <description>Kadu 0.10.0 / 0.6.5.5</description>
  </application>
  <application AppID="c312e260e424ae76">
    <description>Mail.Ru Agent 5.8 (JL support)</description>
  </application>
  <application AppID="22cefa022402327d">
    <description>Meca Messenger 5.3.0.52</description>
  </application>
  <application AppID="86b804f7a28a3c17">
    <description>Miranda IM 0.6.8 / 0.7.6 / 0.8.27 / 0.9.9 / 0.9.29 (ANSI + Unicode)</description>
  </application>
  <application AppID="b868d9201b866d96">
    <description>Microsoft Lync 4.0.7577.0</description>
  </application>
  <application AppID="8c816c711d66a6b5">
    <description>MSN Messenger 6.2.0137 / 7.0.0820</description>
  </application>
  <application AppID="2d1658d5dc3cbe2d">
    <description>MySpaceIM 1.0.823.0 Beta</description>
  </application>
  <application AppID="bf9ae1f46bd9c491">
    <description>Nimbuzz 2.0.0 (rev 6266)</description>
  </application>
  <application AppID="fb7ca8059b8f2123">
    <description>ooVoo 3.0.7.21</description>
  </application>
  <application AppID="efb08d4e11e21ece">
    <description>Paltalk Messenger 10.0 (Build 409)</description>
  </application>
  <application AppID="4f24a7b84a7de5a6">
    <description>Palringo 2.6.3 (r45983)</description>
  </application>
  <application AppID="e93dbdcede8623f2">
    <description>Pandion 2.6.106</description>
  </application>
  <application AppID="aedd2de3901a77f4">
    <description>Pidgin 2.0.0 / 2.10.0 / 2.7.3</description>
  </application>
  <application AppID="c5236fd5824c9545">
    <description>PLAYXPERT 1.0.140.2822</description>
  </application>
  <application AppID="dee18f19c7e3a2ec">
    <description>PopNote 5.21</description>
  </application>
  <application AppID="1a60b1067913516a">
    <description>Psi 0.14</description>
  </application>
  <application AppID="e0532b20aa26a0c9">
    <description>QQ International 1.1 (2042)</description>
  </application>
  <application AppID="3c0022d9de573095">
    <description>QuteCom 2.2</description>
  </application>
  <application AppID="93b18adf1d948fa3">
    <description>qutIM 0.2</description>
  </application>
  <application AppID="e0246018261a9ccc">
    <description>qutIM 0.2.80.0</description>
  </application>
  <application AppID="2aa756186e21b320">
    <description>RealTimeQuery 3.2</description>
  </application>
  <application AppID="521a29e5d22c13b4">
    <description>Skype 1.4.0.84 / 2.5.0.154 / 3.8.0.139 / 4.2.0.187 / Skype 5.3.0.120 / 5.5.0.115 / 5.5.32.117</description>
  </application>
  <application AppID="70b52cf73249257">
    <description>Sococo 1.5.0.2274</description>
  </application>
  <application AppID="d41746b133d17456">
    <description>Tkabber 0.11.1</description>
  </application>
  <application AppID="c8aa3eaee3d4343d">
    <description>Trillian 0.74 / 3.1 / 4.2.0.25 / 5.0.0.35 (JL support)</description>
  </application>
  <application AppID="d7d647c92cd5d1e6">
    <description>uTalk 2.6.4 r47692</description>
  </application>
  <application AppID="36c36598b08891bf">
    <description>Vovox 2.5.3.4250</description>
  </application>
  <application AppID="884fd37e05659f3a">
    <description>VZOchat 6.3.5</description>
  </application>
  <application AppID="3461e4d1eb393c9c">
    <description>WTW 0.8.18.2852 / 0.8.19.2940</description>
  </application>
  <application AppID="f2cb1c38ab948f58">
    <description>X-Chat 1.8.10 / 2.6.9 / 2.8.9</description>
  </application>
  <application AppID="4e0ac37db19cba15">
    <description>Xfire 1.138 (Build 44507)</description>
  </application>
  <application AppID="da7e8de5b8273a0f">
    <description>Yahoo Messenger 5.0.0.1226 / 6.0.0.1922</description>
  </application>
  <application AppID="62dba7fb39bb0adc">
    <description>Yahoo Messenger 7.5.0.647 / 8.1.0.421 / 9.0.0.2162 / 10.0.0.1270</description>
  </application>
  <application AppID="fb230a9fe81e71a8">
    <description>Yahoo Messenger 11.0.0.2014-us</description>
  </application>
  <application AppID="b06a975b62567622">
    <description>Windows Live Messenger 8.5.1235.0517 BETA</description>
  </application>
  <application AppID="bd249197a6faeff2">
    <description>Windows Live Messenger 2011</description>
  </application>
  <application AppID="d22ad6d9d20e6857">
    <description>ALLPlayer 4.7</description>
  </application>
  <application AppID="7494a606a9eef18e">
    <description>Crystal Player 1.98</description>
  </application>
  <application AppID="1cffbe973a437c74">
    <description>DSPlayer 0.889 Lite</description>
  </application>
  <application AppID="817bb211c92fd254">
    <description>GOM Player 2.0.12.3375 / 2.1.28.5039</description>
  </application>
  <application AppID="6bc3383cb68a3e37">
    <description>iTunes 7.6.0.29 / 8.0.0.35</description>
  </application>
  <application AppID="fe5e840511621941">
    <description>JetAudio 5.1.9.3018 Basic / 6.2.5.8220 Basic / 7.0.0 Basic / 8.0.16.2000 Basic</description>
  </application>
  <application AppID="a777ad264b54abab">
    <description>JetVideo 8.0.2.200 Basic</description>
  </application>
  <application AppID="3c93a049a30e25e6">
    <description>J. River Media Center 16.0.149</description>
  </application>
  <application AppID="4a49906d074a3ad3">
    <description>Media Go 1.8 (Build 121)</description>
  </application>
  <application AppID="1cf97c38a5881255">
    <description>MediaPortal 1.1.3</description>
  </application>
  <application AppID="62bff50b969c2575">
    <description>Quintessential Media Player 5.0 (Build 121) - also usage stats (times used, tracks played, total time used)</description>
  </application>
  <application AppID="b50ee40805bd280f">
    <description>QuickTime Alternative 1.9.5 (Media Player Classic 6.4.9.1)</description>
  </application>
  <application AppID="ae3f2acd395b622e">
    <description>QuickTime Player 6.5.1 / 7.0.3 / 7.5.5 (Build 249.13)</description>
  </application>
  <application AppID="7593af37134fd767">
    <description>RealPlayer 6.0.6.99 / 7 / 8 / 10.5</description>
  </application>
  <application AppID="37392221756de927">
    <description>RealPlayer SP 12</description>
  </application>
  <application AppID="f92e607f9de02413">
    <description>RealPlayer 14.0.6.666</description>
  </application>
  <application AppID="6e9d40a4c63bb562">
    <description>Real Player Alternative 1.25 (Media Player Classic 6.4.8.2 / 6.4.9.0)</description>
  </application>
  <application AppID="c91d08dcfc39a506">
    <description>SM Player 0.6.9 r3447</description>
  </application>
  <application AppID="e40cb5a291ad1a5b">
    <description>Songbird 1.9.3 (Build 1959)</description>
  </application>
  <application AppID="4d8bdacf5265a04f">
    <description>The KMPlayer 2.9.4.1434</description>
  </application>
  <application AppID="4acae695c73a28c7">
    <description>VLC 0.3.0 / 0.4.6</description>
  </application>
  <application AppID="9fda41b86ddcf1db">
    <description>VLC 0.5.3 / 0.8.6i / 0.9.7 / 1.1.11</description>
  </application>
  <application AppID="e6ee34ac9913c0a9">
    <description>VLC 0.6.2</description>
  </application>
  <application AppID="cbeb786f0132005d">
    <description>VLC 0.7.2</description>
  </application>
  <application AppID="f674c3a77cfe39d0">
    <description>Winamp 2.95 / 5.1 / 5.621</description>
  </application>
  <application AppID="90e5e8b21d7e7924">
    <description>Winamp 3.0d (Build 488)</description>
  </application>
  <application AppID="ed7a5cc3cca8d52a">
    <description>CCleaner 1.32.345 / 1.41.544 / 2.36.1233 / 3.10.1525</description>
  </application>
  <application AppID="eb7e629258d326a1">
    <description>WindowWasher 6.6.1.18</description>
  </application>
  <application AppID="ace8715529916d31">
    <description>40tude Dialog 2.0.15.1 (Beta 38)</description>
  </application>
  <application AppID="cc76755e0f925ce6">
    <description>AllPicturez 1.2</description>
  </application>
  <application AppID="36f6bc3efe1d99e0">
    <description>Alt.Binz 0.25.0 (Build 27.09.2007)</description>
  </application>
  <application AppID="d53b52fb65bde78c">
    <description>Android Newsgroup Downloader 6.2</description>
  </application>
  <application AppID="c845f3a6022d647c">
    <description>Another File 2.03 (Build 2/7/2004)</description>
  </application>
  <application AppID="780732558f827a42">
    <description>AutoPix 5.3.3</description>
  </application>
  <application AppID="baea31eacd87186b">
    <description>BinaryBoy 1.97 (Build 55)</description>
  </application>
  <application AppID="eab25958dbddbaa4">
    <description>Binary News Reaper 2 (Beta 0.14.7.448)</description>
  </application>
  <application AppID="bf483b423ebbd327">
    <description>Binary Vortex 5.0</description>
  </application>
  <application AppID="36801066f71b73c5">
    <description>Binbot 2.0</description>
  </application>
  <application AppID="13eb0e5d9a49eaef">
    <description>Binjet 3.0.2</description>
  </application>
  <application AppID="8172865a9d5185cb">
    <description>Binreader 1.0 (Beta 1)</description>
  </application>
  <application AppID="6224453d9701a612">
    <description>BinTube 3.7.1.0 (requires VLC 10.5!)</description>
  </application>
  <application AppID="cf6379a9a987366e">
    <description>Digibin 1.31</description>
  </application>
  <application AppID="43886ba3395acdcc">
    <description>Easy Post 3.0</description>
  </application>
  <application AppID="cfab0ec14b6f953">
    <description>Express NewsPictures 2.41 (Build 08.05.07.0)</description>
  </application>
  <application AppID="7526de4a8b5914d9">
    <description>Forte Agent 6.00 (Build 32.1186)</description>
  </application>
  <application AppID="c02baf50d02056fc">
    <description>FotoVac 1.0</description>
  </application>
  <application AppID="3ed70ef3495535f7">
    <description>Gravity 3.0.4</description>
  </application>
  <application AppID="86781fe8437db23e">
    <description>Messenger Pro 2.66.6.3353</description>
  </application>
  <application AppID="f920768fe275f7f4">
    <description>Grabit 1.5.3 Beta (Build 909) / 1.6.2 (Build 940) / 1.7.2 Beta 4 (Build 997)</description>
  </application>
  <application AppID="9f03ae476ad461fa">
    <description>GroupsAloud 1.0</description>
  </application>
  <application AppID="d0261ed6e16b200b">
    <description>News File Grabber 4.6.0.4</description>
  </application>
  <application AppID="8211531a7918b389">
    <description>Newsbin Pro 6.00 (Build 1019) (JL support)</description>
  </application>
  <application AppID="d1fc019238236806">
    <description>Newsgroup Commander Pro 9.05</description>
  </application>
  <application AppID="186b5ccada1d986b">
    <description>NewsGrabber 3.0.36</description>
  </application>
  <application AppID="4d72cfa1d0a67418">
    <description>Newsgroup Image Collector</description>
  </application>
  <application AppID="92f1d5db021cd876">
    <description>NewsLeecher 4.0 / 5.0 Beta 6</description>
  </application>
  <application AppID="d7666c416cba240c">
    <description>NewsMan Pro 3.0.5.2</description>
  </application>
  <application AppID="7b2b4f995b54387d">
    <description>News Reactor 20100224.16</description>
  </application>
  <application AppID="cb984e3bc7faf234">
    <description>NewsRover 17.0 (Rev.0)</description>
  </application>
  <application AppID="c98ab5ccf25dda79">
    <description>NewsShark 2.0</description>
  </application>
  <application AppID="dba909a61476ccec">
    <description>NewsWolf 1.41</description>
  </application>
  <application AppID="2b164f512891ae37">
    <description>NewsWolf NSListGen</description>
  </application>
  <application AppID="cb1d97aca3fb7e6b">
    <description>Newz Crawler 1.9.0 (Build 4100)</description>
  </application>
  <application AppID="3be7b307dfccb58f">
    <description>NiouzeFire 0.8.7.0</description>
  </application>
  <application AppID="de76415e0060ce13">
    <description>Noworyta News Reader 2.9</description>
  </application>
  <application AppID="cd40ead0b1eb15ab">
    <description>NNTPGrab 0.6.2</description>
  </application>
  <application AppID="d5c02fc7afbb3fd4">
    <description>NNTPGrab 0.6.2 Server</description>
  </application>
  <application AppID="a4def57ee99d77e9">
    <description>Nomad News 1.43</description>
  </application>
  <application AppID="3f97341a65bac63a">
    <description>Ozum 6.07 (Build 6070)</description>
  </application>
  <application AppID="bfe841f4d35c92b1">
    <description>QuadSucker/News 5.0</description>
  </application>
  <application AppID="d3c5cf21e86b28af">
    <description>SeaMonkey 2.3.3</description>
  </application>
  <application AppID="7a7c60efd66817a2">
    <description>Spotnet 1.7.4</description>
  </application>
  <application AppID="eb3300e672136bc7">
    <description>Stream Reactor 1.0 Beta 9 (uses VLC!)</description>
  </application>
  <application AppID="3168cc975b354a01">
    <description>Slypheed 3.1.2 (Build 1120)</description>
  </application>
  <application AppID="776beb1fcfc6dfa5">
    <description>Thunderbird 1.0.6 (20050716) / 3.0.2</description>
  </application>
  <application AppID="3d877ec11607fe4">
    <description>Thunderbird 6.0.2</description>
  </application>
  <application AppID="7192f2de78fd9e96">
    <description>TIFNY 5.0.3</description>
  </application>
  <application AppID="9dacebaa9ac8ca4e">
    <description>TLNews Newsreader 2.2.0 (Build 2430)</description>
  </application>
  <application AppID="7fd04185af357bd5">
    <description>UltraLeeacher 1.7.0.2969 / 1.8 Beta (Build 3490)</description>
  </application>
  <application AppID="aa11f575087b3bdc">
    <description>Unzbin 2.6.8</description>
  </application>
  <application AppID="d7db75db9cdd7c5d">
    <description>Xnews 5.04.25</description>
  </application>
  <application AppID="3dc02b55e44d6697">
    <description>7-Zip 3.13 / 4.20</description>
  </application>
  <application AppID="4975d6798a8bdf66">
    <description>7-Zip 4.65 / 9.20</description>
  </application>
  <application AppID="4b6925efc53a3c08">
    <description>BCWipe 5.02.2 Task Manager 3.02.3</description>
  </application>
  <application AppID="23709f6439b9f03d">
    <description>Hex Editor Neo 5.14</description>
  </application>
  <application AppID="e57cfc995bdc1d98">
    <description>Snagit 11</description>
  </application>
  <application AppID="337ed59af273c758">
    <description>Sticky Notes</description>
  </application>
  <application AppID="c9950c443027c765">
    <description>WinZip 9.0 SR-1 (6224) / 10.0 (6667)</description>
  </application>
  <application AppID="bc0c37e84e063727">
    <description>Windows Command Processor - cmd.exe (32-bit)</description>
  </application>
</applications>


text:
import { createLoadOnDemand, PackageRequestInjectedProps, Hoc } from '.';
import { State } from "../../reducers";
import { Actions } from "../../actions";

type LoadPackageOnDemandRequiredProps = State & Actions & PackageRequestInjectedProps;

function createLoadPackageOnDemand<TProps>(): Hoc<{}, LoadPackageOnDemandRequiredProps> {
    return createLoadOnDemand<LoadPackageOnDemandRequiredProps>({
        hasStarted: props => !!props.pkgRequestStatus,
        load: props => props.PackageDocActions.getDoc(props.pkgRequestKey)
    }) as any;
}

/** Takes the package request props and loads the package */
export const withLoadPackageOnDemand = createLoadPackageOnDemand();

redpajama_set_name: RedPajamaGithub


text:
package pl.touk.hades.sql.timemonitoring;

import org.junit.Test;

import static org.junit.Assert.fail;
import static junit.framework.Assert.assertEquals;

/**
 * @author Michal Sokolowski
 */
public class SqlTimeHistoryTest {

    @Test
    public void shouldFailIfItemsCountIncludedInAverageIsZero() {
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(true, true, true);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(true, false, true);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(true, true, false);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(true, false, false);
    }

    @Test
    public void shouldFailIfItemsCountIncludedInAverageIsNegative() {
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(false, true, true);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(false, false, true);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(false, true, false);
        shouldFailIfItemsCountIncludedInAverageIsNotPositive(false, false, false);
    }

    private void shouldFailIfItemsCountIncludedInAverageIsNotPositive(boolean zeroItemsCount,
                                                                      boolean infinitiesNotIncludedInAverageIfRecovered,
                                                                      boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        try {
            new SqlTimeHistory(zeroItemsCount ? 0 : -1, infinitiesNotIncludedInAverageIfRecovered, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
            fail();
        } catch (IllegalArgumentException e) {
            // ok.
        }
    }

    @Test
    public void shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne() {
        shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne(true, true);
        shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne(false, true);
        shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne(true, false);
        shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne(false, false);
    }

    private void shouldReturnLastItemAsAverageWhenItemsCountIncludedInAverageIsOne(boolean infinitiesNotIncludedInAverageIfRecovered,
                                                                                boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        long l1 = 10L;
        long l2 = Long.MAX_VALUE;
        long l3 = 20L;
        Average avg1;
        Average avg2;
        Average avg3;

        // when:
        calculator = new SqlTimeHistory(1, infinitiesNotIncludedInAverageIfRecovered, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        avg1 = calculator.updateAverage(l1);
        avg2 = calculator.updateAverage(l2);
        avg3 = calculator.updateAverage(l3);

        // then:
        assertEquals(l1, avg1.getValue());
        assertEquals(l2, avg2.getValue());
        assertEquals(l3, avg3.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(1, avg2.getItemsCountIncludedInAverage());
        assertEquals(1, avg3.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnInfinityAsLongAsThereAreInfinitiesIncludedInAverage() {
        shouldReturnInfinityAsLongAsThereAreInfinitiesIncludedInAverage(true);
        shouldReturnInfinityAsLongAsThereAreInfinitiesIncludedInAverage(false);
    }

    private void shouldReturnInfinityAsLongAsThereAreInfinitiesIncludedInAverage(boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        long l1 = 10L;
        long l2 = 20L;
        Average avg1;
        Average avg2;
        Average avg3;
        Average avg4;
        Average avg5;

        // when:
        calculator = new SqlTimeHistory(2, false, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        avg1 = calculator.updateAverage(Long.MAX_VALUE);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);
        avg3 = calculator.updateAverage(l1);
        avg4 = calculator.updateAverage(l2);
        avg5 = calculator.updateAverage(Long.MAX_VALUE);

        // then:
        assertEquals(Long.MAX_VALUE, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals(Long.MAX_VALUE, avg3.getValue());
        assertEquals((l1+l2)/2, avg4.getValue());
        assertEquals(Long.MAX_VALUE, avg5.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
        assertEquals(2, avg3.getItemsCountIncludedInAverage());
        assertEquals(2, avg4.getItemsCountIncludedInAverage());
        assertEquals(2, avg5.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnAverageAsLongAsThereIsNoCrash() {
        shouldReturnAverageAsLongAsThereIsNoCrash(true);
        shouldReturnAverageAsLongAsThereIsNoCrash(false);
    }

    private void shouldReturnAverageAsLongAsThereIsNoCrash(boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        long l1 = 10L;
        long l2 = 20L;
        long l3 = 30L;
        Average avg1;
        Average avg2;
        Average avg3;

        // when:
        calculator = new SqlTimeHistory(2, true, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        avg1 = calculator.updateAverage(l1);
        avg2 = calculator.updateAverage(l2);
        avg3 = calculator.updateAverage(l3);

        // then:
        assertEquals(l1, avg1.getValue());
        assertEquals((int) ((l1 + l2) / 2), avg2.getValue());
        assertEquals((int) ((l2 + l3) / 2), avg3.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
        assertEquals(2, avg3.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnInfinityAfterImmediateCrash() {
        shouldReturnInfinityAfterImmediateCrash(true);
        shouldReturnInfinityAfterImmediateCrash(false);
    }

    private void shouldReturnInfinityAfterImmediateCrash(boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        Average avg1;
        Average avg2;
        Average avg3;

        // when:
        calculator = new SqlTimeHistory(2, true, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        avg1 = calculator.updateAverage(Long.MAX_VALUE);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);
        avg3 = calculator.updateAverage(Long.MAX_VALUE);

        // then:
        assertEquals(Long.MAX_VALUE, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals(Long.MAX_VALUE, avg3.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
        assertEquals(2, avg3.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnInfinityAfterFastCrash() {
        shouldReturnInfinityAfterFastCrash(true);
        shouldReturnInfinityAfterFastCrash(false);
    }

    private void shouldReturnInfinityAfterFastCrash(boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        Average avg1;
        Average avg2;

        // when:
        calculator = new SqlTimeHistory(2, true, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        calculator.updateAverage(10L);
        avg1 = calculator.updateAverage(Long.MAX_VALUE);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);

        // then:
        assertEquals(Long.MAX_VALUE, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals(2, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnInfinityAfterCrash() {
        shouldReturnInfinityAfterCrash(true);
        shouldReturnInfinityAfterCrash(false);
    }

    private void shouldReturnInfinityAfterCrash(boolean recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered) {
        // given:
        SqlTimeHistory calculator;
        Average avg1;
        Average avg2;

        // when:
        calculator = new SqlTimeHistory(2, true, recoveryErasesHistoryIfInfinitiesNotIncludedInAverageIfRecovered);
        calculator.updateAverage(20L);
        calculator.updateAverage(10L);
        calculator.updateAverage(30L);
        avg1 = calculator.updateAverage(Long.MAX_VALUE);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);

        // then:
        assertEquals(Long.MAX_VALUE, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals(2, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnAverageFromLastRecovery() {
        // given:
        SqlTimeHistory calculator;
        long l1 = 10L;
        long l2 = 20L;
        long l3 = 30L;
        long l4 = 40L;
        Average avg1;
        Average avg2;
        Average avg3;
        Average avg4;
        Average avg5;

        // when:
        calculator = new SqlTimeHistory(2, true, true);
        calculator.updateAverage(10L);
        calculator.updateAverage(20L);
        calculator.updateAverage(30L);
        calculator.updateAverage(Long.MAX_VALUE);
        calculator.updateAverage(Long.MAX_VALUE);
        avg1 = calculator.updateAverage(l1);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);
        avg3 = calculator.updateAverage(l2);
        avg4 = calculator.updateAverage(l3);
        avg5 = calculator.updateAverage(l4);

        // then:
        assertEquals(l1, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals(l2, avg3.getValue());
        assertEquals((int)(l2 + l3)/2, avg4.getValue());
        assertEquals((int)(l3 + l4)/2, avg5.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(2, avg2.getItemsCountIncludedInAverage());
        assertEquals(1, avg3.getItemsCountIncludedInAverage());
        assertEquals(2, avg4.getItemsCountIncludedInAverage());
        assertEquals(2, avg5.getItemsCountIncludedInAverage());
    }

    @Test
    public void shouldReturnAverageIgnoringInfinitiesAndIncludingItemsBeforeCrash() {
        // given:
        SqlTimeHistory calculator;
        long l1 = 10L;
        long l2 = 20L;
        long l3 = 30L;
        long l4 = 40L;
        Average avg1;
        Average avg2;
        Average avg3;
        Average avg4;
        Average avg5;

        // when:
        calculator = new SqlTimeHistory(3, true, false);
        calculator.updateAverage(10L);
        calculator.updateAverage(20L);
        calculator.updateAverage(30L);
        calculator.updateAverage(Long.MAX_VALUE);
        calculator.updateAverage(Long.MAX_VALUE);
        avg1 = calculator.updateAverage(l1);
        avg2 = calculator.updateAverage(Long.MAX_VALUE);
        avg3 = calculator.updateAverage(l2);
        avg4 = calculator.updateAverage(l3);
        avg5 = calculator.updateAverage(l4);

        // then:
        assertEquals(l1, avg1.getValue());
        assertEquals(Long.MAX_VALUE, avg2.getValue());
        assertEquals((int)(l1 + l2)/2, avg3.getValue());
        assertEquals((int)(l2 + l3)/2, avg4.getValue());
        assertEquals((int)(l2 + l3 + l4)/3, avg5.getValue());
        assertEquals(1, avg1.getItemsCountIncludedInAverage());
        assertEquals(3, avg2.getItemsCountIncludedInAverage());
        assertEquals(2, avg3.getItemsCountIncludedInAverage());
        assertEquals(2, avg4.getItemsCountIncludedInAverage());
        assertEquals(3, avg5.getItemsCountIncludedInAverage());
    }
}


text:
using BEx.ExchangeEngine;
using Newtonsoft.Json;

using BEx.ExchangeEngine.API;

namespace BEx.Exchanges.Bitfinex.API.Models
{
    internal class ErrorModel : IExchangeResponseIntermediate<BExError>
    {
        [JsonProperty("message")]
        public string message { get; set; }

        public BExError Convert(TradingPair pair)
        {
            return new BExError(ExchangeType.Bitfinex)
            {
                Message = message
            };
        }
    }
}


text:
/* global FB */
var isInited = false

exports.getLoginStatus = function getLoginStatus (s, f) {
  if (!assertInited()) return printError(f, new Error('init not called with valid version'))
  FB.getLoginStatus(function (response) {
    s(response)
  })
}

exports.showDialog = function showDialog (options, s, f) {
  if (!assertInited()) return printError(f, new Error('init not called with valid version'))

  options.name = options.name || ''
  options.message = options.message || ''
  options.caption = options.caption || ''
  options.description = options.description || ''
  options.href = options.href || ''
  options.picture = options.picture || ''

  FB.ui(options, function (response) {
    if (response && (response.request || !response.error_code)) {
      s(response)
      return
    }
    printError(f, response)
  })
}
// Attach this to a UI element, this requires user interaction.
exports.login = function login (permissions, s, f) {
  if (!assertInited()) return printError(f, new Error('init not called with valid version'))
  // JS SDK takes an object here but the native SDKs use array.
  var options = {}
  if (permissions && permissions.length > 0) {
    var index = permissions.indexOf('rerequest')
    if (index > -1) {
      permissions.splice(index, 1)
      options.auth_type = 'rerequest'
    }
    options.scope = permissions.join(',')
  }

  FB.login(function (response) {
    if (response.authResponse) {
      s(response)
    } else {
      printError(f, response.status)
    }
  }, options)
}

exports.getAccessToken = function getAccessToken (s, f) {
  var response = FB.getAccessToken()
  if (response) {
    s(response)
    return
  }
  printError(f, new Error('NO_TOKEN'))
}

exports.logEvent = function logEvent (eventName, params, valueToSum, s, f) {
  // AppEvents are not avaliable in JS.
  s()
}

exports.logPurchase = function (value, currency, s, f) {
  // AppEvents are not avaliable in JS.
  s()
}

exports.appInvite = function (options, s, f) {
  // App Invites are not avaliable in JS.
  s()
}

exports.logout = function (s, f) {
  if (!assertInited()) return printError(f, new Error('init not called with valid version'))
  FB.logout(function (response) {
    s(response)
  })
}

exports.api = function (graphPath, permissions, s, f) {
  if (!assertInited()) return printError(f, new Error('init not called with valid version'))
  // JS API does not take additional permissions
  FB.api(graphPath, function (response) {
    if (response.error) {
      f(response)
    } else {
      s(response)
    }
  })
}

// Browser wrapper API ONLY
exports.browserInit = function (appId, version, s) {
  if (s == null && typeof version === 'function') {
    s = version
    version = null
  }

  // Global :(
  // This function will be called by the FB SDK when the client is inited
  window.fbAsyncInit = function fbAsyncInit () {
    version = version || 'v2.4'

    FB.init({
      appId: appId,
      xfbml: false,
      version: version
    })

    isInited = true

    if (typeof s === 'function') s()
  }

  // Bake in the JS SDK
  insertSdk()
}

function assertInited () {
  if (!isInited) {
    return false
  }
  return true
}

function printError (f, err) {
  if (typeof f === 'function') {
    f(err.message)
    return
  }
  console.error(err.stack)
}

function insertSdk () {
  var js
  var fjs = document.getElementsByTagName('script')[0]
  if (document.getElementById('facebook-jssdk')) return

  js = document.createElement('script')
  js.id = 'facebook-jssdk'
  js.src = 'https://connect.facebook.net/en_US/sdk.js'
  fjs.parentNode.insertBefore(js, fjs)
}


text:
layout: post
title: "Launching Soon: My Money Mac App"
image: http://just2us.com/img/mymoney-book-records.jpg
image-overlay: true
author: Junda
date: 2019-02-27T16:26:42+08:00
tags: [My Money]
---

We will be launching our first ever mac app in a few days!

[![Pre-order on mac App Store](/img/mymoney-preorder-mac-app-store.jpg)](https://itunes.apple.com/app/id1444268988)

As usual, we made the app because we want to use such a personal finance app.

Personally, it is a replacement to my _Google Sheet_ that keeps track of my personal finance.

My Money has been in the work for a number of months. Well, at last, I can finally retire my Google Sheet and do even more with the app.


text:
package be.kdg.week3;

import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;

/**
 * Created by xaviergeerinck on 03/12/13.
 */
public class Main {
    public static void main(String[] args) throws RemoteException, MalformedURLException, NotBoundException {
        int portnumber = 1234;

        // Create chatter 1, this got the chat link
        Chatter chatter = new Chatter("Xavier");
        chatter.register(chatter);

        // Bind a registry
        Registry registry = LocateRegistry.createRegistry(portnumber);
        registry.rebind(chatter.getName(), (Remote) chatter);

        // Connect a second chatter
        Chatter chatter2 = new Chatter("Tst2", "Xavier");
        chatter.register(chatter2);
    }
}


text:
<?php
/**
 * Step 1: Require the Slim Framework
 *
 * If you are not using Composer, you need to require the
 * Slim Framework and register its PSR-0 autoloader.
 *
 * If you are using Composer, you can skip this step.
 */
require 'Slim/Slim.php';

\Slim\Slim::registerAutoloader();

/**
 * Step 2: Instantiate a Slim application
 *
 * This example instantiates a Slim application using
 * its default settings. However, you will usually configure
 * your Slim application now by passing an associative array
 * of setting names and values into the application constructor.
 */
$app = new \Slim\Slim();

// preveri če je pravilen kej za generiranje coinov
function validateKey($key){
    //TODO: implement key
    return true;
}
function validCoin($num){
   if($num == 1)
        return false;
    if($num == 2)
        return true;
    if($num % 2 == 0) {
        return false;
    }
    for($i = 3; $i <= ceil(sqrt($num)); $i = $i + 2) {
        if($num % $i == 0)
            return false;
    }

    return true;
}
/**
 * Step 3: Define the Slim application routes
 *
 * Here we define several Slim application routes that respond
 * to appropriate HTTP request methods. In this example, the second
 * argument for `Slim::get`, `Slim::post`, `Slim::put`, `Slim::patch`, and `Slim::delete`
 * is an anonymous function.
 */
$app->response->headers->set('Content-type', 'application/json');

// generiranje coinov
$app->get('/generateCoin/:geslo', function($geslo) use($app){
    $app->response->headers->set('Location', '/generateCoin/'.$geslo.'/1'); // redirect če ni nr
});
$app->get('/generateCoin/:geslo/:nr', function($geslo, $nr) use ($app){
    $fileName = "gennr.ini"; // file s shranjenim zadnjim coinom
    $rData = ['status' => 'fail', 'message' => '', 'coins' => []];
    if(validateKey($geslo)){
        $fileHandle = fopen($fileName, "r") or die("Unable to open file!"); // preberem zadnji coin
        $lastNr = floatval(fread($fileHandle,filesize($fileName)));
        for($lastNr, $c = 0; $c < $nr; $lastNr++){ // generiram N stevilo coinov
            if(validCoin($lastNr)){
               $rData['coins'][] = $lastNr;
                $c++;
            }
            $rData['status'] = 'ok';
        }
        fclose($fileHandle); // shranim novo st. v datoteko
        $fileHandle = fopen($fileName, "w") or die("Unable to open file!");
        fwrite($fileHandle, $lastNr);
        fclose($fileHandle);
    } else {
        $rData['message'] = 'Ni dovoljenja!';
    }
    echo json_encode($rData); // izpisem JSON
});

$app->post('/validateCoin', function() use($app){ // transakcija
    $rData = ['status' => 'fail', 'message' => '', 'coins' => []];
    $fileHandle = fopen($fileName, "r") or die("Unable to open file!"); // odprem zadnji coin
    $lastNr = floatval(fread($fileHandle,filesize($fileName)));
    fclose($fileHandle);
    $data = $app->request->post('data'); // dobim podatke
    if($data != null){
        $data = json_decode($data);
        if(count($data) > 0){ // ce je poslan vsaj 1 coin
            foreach($data as $coin){ // preverim ce je pravilen
                if(validCoin($coin) && $coin < $lastNr)
                    $rData['coins'][] = $coin;
                else // ce ni pravilen prekinem transakcijo
                {
                    $rData['coins']= [];
                    $rData['message'] = 'Poslani so neveljavni kovanci!';
                    break;
                }
            }
        }
    } else {
        $rData['message'] = 'Poslani so neveljavni kovanci!';
    }
    echo json_encode($rData); // izpisem JSON o poslanih coinih
});

$app->run();


text:
#ifndef _WIFI_STRUCTURES_H
#define _WIFI_STRUCTURES_H

/** @addtogroup nic NIC
 *  @ingroup    wlan
 *  @brief      NIC functions
 *  @{
 */

//#include <freertos/freertos_service.h>
#include "wifi_constants.h"
#include "dlist.h"
#ifdef	__cplusplus
extern "C" {
#endif

#if defined(__IAR_SYSTEMS_ICC__) || defined (__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack(1)
#endif

/**
  * @brief  The structure is used to describe the SSID.
  */
typedef struct rtw_ssid {
    unsigned char len;     /**< SSID length */
    unsigned char val[33]; /**< SSID name (AP name)  */
} rtw_ssid_t;
#if defined(__IAR_SYSTEMS_ICC__) || defined (__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack()
#endif

#if defined(__IAR_SYSTEMS_ICC__) || defined (__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack(1)
#endif

/**
  * @brief  The structure is used to describe the unique 6-byte MAC address.
  */
typedef struct rtw_mac {
    unsigned char octet[6]; /**< Unique 6-byte MAC address */
} rtw_mac_t;
#if defined(__IAR_SYSTEMS_ICC__) || defined (__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack()
#endif

/**
  * @brief  The structure is used to describe the setting about SSID,
  *			security type, password and default channel, used to start AP mode.
  * @note  The data length of string pointed by ssid should not exceed 32,
  *        and the data length of string pointed by password should not exceed 64.
  */
typedef struct rtw_ap_info {
	rtw_ssid_t 			ssid;
	rtw_security_t		security_type;
	unsigned char 		*password;
	int 				password_len;
	int					channel;
}rtw_ap_info_t;

/**
  * @brief  The structure is used to describe the station mode setting about SSID,
  *			security type and password, used when connecting to an AP.
  * @note  The data length of string pointed by ssid should not exceed 32,
  *        and the data length of string pointed by password should not exceed 64.
  */
typedef struct rtw_network_info {
	rtw_ssid_t 			ssid;
	rtw_mac_t			bssid;
	rtw_security_t		security_type;
	unsigned char 		*password;
	int 				password_len;
	int					key_id;
}rtw_network_info_t;

#if defined(__IAR_SYSTEMS_ICC__) || defined(__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack(1)
#endif

/**
  * @brief  The structure is used to describe the scan result of the AP.
  */
typedef struct rtw_scan_result {
    rtw_ssid_t              SSID;             /**< Service Set Identification (i.e. Name of Access Point)                    */
    rtw_mac_t               BSSID;            /**< Basic Service Set Identification (i.e. MAC address of Access Point)       */
    signed short		                  signal_strength;  /**< Receive Signal Strength Indication in dBm. <-90=Very poor, >-30=Excellent */
    rtw_bss_type_t          bss_type;         /**< Network type                                                              */
    rtw_security_t          security;         /**< Security type                                                             */
    rtw_wps_type_t          wps_type;         /**< WPS type                                                                  */
    unsigned int                      channel;          /**< Radio channel that the AP beacon was received on                          */
    rtw_802_11_band_t       band;             /**< Radio band                                                                */
} rtw_scan_result_t;
#if defined(__IAR_SYSTEMS_ICC__) || defined(__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack()
#endif

/**
  * @brief  The structure is used to describe the data needed by scan result handler function.
  */
typedef struct rtw_scan_handler_result {
    rtw_scan_result_t ap_details;
    rtw_bool_t        scan_complete;
    void*               user_data;

} rtw_scan_handler_result_t;

#if defined(__IAR_SYSTEMS_ICC__) || defined(__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack(1)
#endif

/**
  * @brief  The structure is used to store the WIFI setting gotten from WIFI driver.
  */
typedef struct rtw_wifi_setting {
	rtw_mode_t		mode;
	unsigned char 		ssid[33];
	unsigned char		channel;
	rtw_security_t		security_type;
	unsigned char 		password[65];
	unsigned char		key_idx;
}rtw_wifi_setting_t;
#if defined(__IAR_SYSTEMS_ICC__) || defined(__GNUC__) || defined(__CC_ARM) || (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
#pragma pack()
#endif

/**
  * @brief  The structure is used to describe the setting when configure the network.
  */
typedef struct rtw_wifi_config {
	unsigned int		boot_mode;
	unsigned char 		ssid[32];
	unsigned char		ssid_len;
	unsigned char		security_type;
	unsigned char		password[65];
	unsigned char		password_len;
	unsigned char		channel;
} rtw_wifi_config_t;

/**
  * @brief  The structure is used to describe the maclist.
  */
typedef struct
{
    unsigned int    count;         /**< Number of MAC addresses in the list    */
    rtw_mac_t mac_list[1];   /**< Variable length array of MAC addresses */
} rtw_maclist_t;

/**
  * @brief  The structure is used to describe the bss info of the network.\n
  *			It include the version, BSSID, beacon_period, capability, SSID,
  *			channel, atm_window, dtim_period, RSSI e.g.
  */
typedef struct {
    unsigned int      version;                /**< version field */
    unsigned int      length;                 /**< byte length of data in this record,   */
                                          /* starting at version and including IEs */
    rtw_mac_t     BSSID;
    unsigned short      beacon_period;          /**< units are Kusec */
    unsigned short      capability;             /**< Capability information */
    unsigned char       SSID_len;
    unsigned char       SSID[32];
    unsigned char       channel;
//    struct {
//        uint32_t    count;                /* # rates in this set */
//        uint8_t   rates[16];              /* rates in 500kbps units w/hi bit set if basic */
//    } rateset;                            /* supported rates */
//    rtw_chanspec_t  chanspec;              /* chanspec for bss */
    unsigned short      atim_window;            /**< units are Kusec */
    unsigned char       dtim_period;            /**< DTIM period */
    signed short       RSSI;                   /**< receive signal strength (in dBm) */

    unsigned char       n_cap;                  /**< BSS is 802.11N Capable */
    unsigned int      nbss_cap;               /**< 802.11N BSS Capabilities (based on HT_CAP_*) */
    unsigned char       basic_mcs[MCSSET_LEN];  /**< 802.11N BSS required MCS set */

    unsigned short      ie_offset;              /**< offset at which IEs start, from beginning */
    unsigned int      ie_length;             /**< byte length of Information Elements */
} rtw_bss_info_t;

/**
  * @brief  The structure is used to set WIFI packet filter pattern.
  */
typedef struct {
	unsigned short	offset;     /**< Offset in bytes to start filtering (referenced to the start of the ethernet packet) */
	unsigned short	mask_size;  /**< Size of the mask in bytes */
	unsigned char*	mask;       /**< Pattern mask bytes to be ANDed with the pattern eg. "\xff00" (must be in network byte order) */
	unsigned char*	pattern;    /**< Pattern bytes used to filter eg. "\x0800"  (must be in network byte order) */
} rtw_packet_filter_pattern_t;

typedef struct ieee80211_frame_info{
	unsigned short i_fc;
	unsigned short i_dur;
	unsigned char i_addr1[6];
	unsigned char i_addr2[6];
	unsigned char i_addr3[6];
	unsigned short i_seq;
	unsigned char bssid[6];
	unsigned char encrypt;
	signed char rssi;
#if CONFIG_UNSUPPORT_PLCPHDR_RPT
	rtw_rx_type_t type;
#endif
}ieee80211_frame_info_t;

#if CONFIG_UNSUPPORT_PLCPHDR_RPT
typedef struct rtw_rx_info {
	uint16_t length;	//length without FCS
	uint8_t filter;		// 2: 2T rate pkt; 3: LDPC pkt
	signed char rssi;	//-128~-1
}rtw_rx_info_t;

struct rtw_plcp_info {
	struct rtw_plcp_info *prev;
	struct rtw_plcp_info *next;
	uint16_t length;	//length without FCS
	uint8_t filter;		// 1: HT-20 pkt; 2: HT-40 and not LDPC pkt; 3: LDPC pkt
	signed char rssi;	//-128~-1
};

struct rtw_rx_buffer {
	struct rtw_plcp_info *head;
	struct rtw_plcp_info *tail;
};

#endif

typedef struct {
	char filter_id;
	rtw_packet_filter_pattern_t patt;
	rtw_packet_filter_rule_t rule;
	unsigned char enable;
}rtw_packet_filter_info_t;

typedef struct rtw_mac_filter_list{
	struct list_head node;
	unsigned char mac_addr[6];
}rtw_mac_filter_list_t;

#ifdef	__cplusplus
}
#endif

/*\@}*/

#endif /* _WIFI_STRUCTURES_H */


text:
require 'rails_helper'

describe "activity_line_items/_form.html.haml", :type => :view do
  it 'fields' do
    allow(controller).to receive(:params).and_return({controller: 'activity_line_items'})
    assign(:project, create(:capital_project, :multi_year => true))
    assign(:activity_line_item, create(:activity_line_item))
    render

    expect(rendered).to have_field('activity_line_item_name')
    expect(rendered).to have_field('activity_line_item_anticipated_cost')
    expect(rendered).to have_field('activity_line_item_fy_year')
    expect(rendered).to have_field('activity_line_item_team_ali_code_id')
  end
end


text:
from google.cloud import dialogflowcx_v3beta1

async def sample_validate_flow():
    # Create a client
    client = dialogflowcx_v3beta1.FlowsAsyncClient()

    # Initialize request argument(s)
    request = dialogflowcx_v3beta1.ValidateFlowRequest(
        name="name_value",
    )

    # Make the request
    response = await client.validate_flow(request=request)

    # Handle the response
    print(response)

# [END dialogflow_v3beta1_generated_Flows_ValidateFlow_async]