Claris Engage Keynote Bingo

Looking forward to the Claris Engage conference in Austin, Texas we got the idea to make a bingo game for things mentioned in the keynote.

Get your own random bingo card here: monkeybreadsoftware.com/filemaker/bingo/

(more)

MBS @ FMTraining.TV - The Claris FileMaker MonkeyBread Plug-in 14.0 Release

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We talk about the new version 14.0 of MBS Plugin. See announcements on the blog, the look on the details and the new functions in documentation. We talk about CURL, DynaPDF, JSON, Math, List, Phidget and other functions.

(more)

FileMaker Konferenz 2024 in Malbun - Anmeldung startet

Vom 1. bis 4. Oktober 2024 findet die nächste deutschsprachige FileMaker Konferenz in Malbun, Liechtenstein statt. Die Tickets für die Konferenz sind jetzt verfügbar, bis 20. April noch zum Frühbucherpreis.

Monkeybread Software ist als Sponsor mit Stand und Session vor Ort. Bitte kommen Sie mit Ihren Fragen vorbei!
Stefanie wird zwei Interessante Sessions übernehmen und wir planen noch für den 1. Oktober einen Wandertag ein. Wer mit möchte, kann dann bei hoffentlich schönem Wetter mit uns durch die Berge wandern. z.B. von Malbun aus am Sass-Seeli vorbei zur Alpe Guschg.

siehe FileMaker Konferenz.com



Die Veranstalter vom Verein FM Konferenz erwarten auch 2024 rund 120 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 20 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.

Für den Deutschsprachigen Raum ist diese Konferenz das Treffen des Jahres. Hier finden Sie vom Anfänger bis zum Profi Kontakte zu anderen Entwicklern. Lernen Sie was es neues gibt, nehmen Sie Impulse mit für die eigene Arbeit und erfahren Sie mehr zu FileMaker von deutschsprachigen Experten!

Bitte planen Sie wenigstens einen extra Tag ein für ihren Besuch in Liechtenstein, damit Sie die Natur in dem schönen Tal geniessen können. Den Aufstieg auf den Sareis können Sie bequem zu Fuß vom Hotel aus starten und die Turnastraße hinauf spazieren bis zum Restaurant am Gipfel. Oder alternativ die Seilbahn nehmen.

PDF Attachments in FileMaker with DynaPDF

Did you know you can have attachments within a PDF document? 

 

Yes, PDF documents can embed files, including other PDF documents. This allows to bundle various files with a PDF document just like attachments on emails. Or you can merge other PDF documents into a PDF and make them accessible via menu in Acrobat Reader or with buttons or clickable areas.

(more)

Optimization ideas for Draco calculation engine

Since HOnza posted about his Initiative ’24 about making FileMaker calculations quicker, I spend some time thinking on how to do this practically. Like what could be optimized if Claris puts work into their calculation engine. And I got some ideas:

(more)

Data Detectors as context menu

Does your FileMaker made solution run on macOS (or iOS) and shows some text? Whether you show some emails, text messages or content from the web, we may have something for you: How about adding an action button with a contextual menu to offer various actions for the text?

Using the RegEx.DataDetector function from our MBS FileMaker Plugin, you can analyze text using Apple's frameworks. You get a JSON array of results for the found details, which can include:

(more)

Meet Christian at Claris Engage

If you have a question, comment or otherwise like to say Hello, please meet me at Claris Engage in Austin, 6th to 8th February 2024 in Austin, Texas.

We should have time for appointments as usual with the conferences. Please contact us if you like to meet-up. Closer to the conference we may look for a time. But there are plenty of possibilities before/after the conference or in lunch breaks.

We are sorry to report that we didn't get a booth this year, but of course we hope for another conference in 2025 to take a chance on getting a booth again. If you like to know what is new in MBS Plugin in 2023/2024, you can watch the EngageU conference video here.

Just look for a tall guy with a blue shirt with the MBS logo. That's me!

PS: If anyone needs a new license, please use the coupon code FileMakerConference for this years conference promotion in the webshop from us.


New in MBS FileMaker Plugin 14.0

In this article we want to introduce you the new functions from the MBS FileMaker Plugin in version 14.0.

DynaPDF

Let's start with DynaPDF. DynaPDF has received new parser functions. With these functions you can search for text on a PDF page and then delete or replace it. For example, if you already have an imported page, you can create a parser object with DynaPDF.Parser.Create. With the function DynaPDF.Parser.SetAltFont we can then set an alternative font. With DynaPDF.Parser.ParsePage we parse a page and store the page contents in an objects internally.

Now we can call various functions, e.g. to find the text. With DynaPDF.Parser.FindText we can search for a specific text on the page. In this function we then specify the desired search mode, e.g. you can decide whether you want to perform a CaseSensitive or CaseInsensitive search. There is also a parameter that is particularly useful if you have longer texts. This is because you can decide whether you always want to start at the beginning of the text or whether you want to continue searching from the last position. If you have previously used the DynaPDF.Parser.FindText function, you can now use DynaPDF.Parser.SelectionBBox to determine where the found text is located on the page. We thus receive a list of coordinates that describe a box around the location where the text was found.

(more)

MBS @ FMTraining.TV - FileMaker MBS Plug-in and more Phidgets

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We check the new Phidget functions in MBS FileMaker Plugin and various Phidget devices we go to try: Slider, Temperature sensor, Barometer sensor for air pressure, Joystick with button, distant sensor, motion sensors, and IR receiver. And we talk about other available sensors like RFID readers.

(more)

DynaPDF Parser for FileMaker

With MBS FileMaker Plugin 14.0 we include the DynaPDF Parser functions. These functions provides a top-level interface on the parser in DynaPDF. You can do various operation using them:

  • Parse a page
  • Find text on the page.
  • Extract text on the page
  • Delete text within a rectangle.
  • Query coordinates for found text.
  • Replace found text with new text.
  • Set alternative font for new text.
  • Finally write changes back to page.

The combination of these allows for a lot of things. Like finding text on a page and replacing it with new text for a little PDF editor. Or to find text and then:

  • Draw rectangles around the found text to show it.
  • Put highlight annotations on the text.
  • Find website names or keywords and put WebLink annotations on them.
  • Use DeleteText function to remove the text from the PDF.
  • Find each character and then know the coordinates of every letter.
(more)

ISO FileMaker Magazine: FileMaker Maps - Using MapKit & MBS

Check out the FileMaker Magazine website. Matt Petrowsky provides a huge collection of training videos around FileMaker. And recently he started a series of videos about our MBS Plugin:

Watch it on YouTube and subscribe to his channel.

Matt shows what cool things he built with our MapView functions. We never thought about overlaying the map view, but this is perfectly possible.

More videos from Matt about MBS Plugin in this playlist.


MBS FileMaker Plugin 14.0 for Claris FileMaker

Nickenich, Germany - (January 16th, 2024) -- Monkeybread Software today is pleased to announce MBS FileMaker Plugin 14.0 for Claris FileMaker for macOS, iOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin currently available for Claris FileMaker produce line. As the leading database management solution for Windows, macOS, iOS and the web, the Claris FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 14.0 has been updated and now includes over 7200 different functions, and the versatile plugin has gained more new functions:

We added new JSON functions creating diffs with the changes between two JSON documents. A matching JSOn function can apply the patch later to the JSON if needed. The functions allow you to log changes between JSONs to document changes.

For DynaPDF we got new parser functions. They allow you to find and replace text on a page, highlight or mark texts and delete texts.

We improved Phidget functions and you can start server discovery to find remote devices. A phidget can be connected to a wireless hub, that forwards all data via Ethernet or Wifi to a computer in the local network. New example databases show how to use barometer, distance sensor, IR receiver, voltage input and digital inputs.

If you received data and you are not sure about the type of data, please check Container.IdentifyData, Files.IdentifyData and Text.IdentifyData functions to identify the data.

If you use macOS contacts database, you can store fmp:// URLs for the contacts to open FileMaker by clicking the URL and jump to your record right away. In FileMaker, use CNContactStore.ContactsMatchingURL function to find the record based on such an URL.

For CURL you can set different triggers for success or failure state of the transfer, which is great for transfers running in the background. We got an useful XML.ToHTML function to visualize XML. Use Math.Random.ExponentialDistribution, Math.Random.NormalDistribution and Math.Random.PoissonDistribution functions for random numbers with exponential, normal or poisson distribution.

The XL.FormControl.JSON function can provide an overview about form controls in an Excel worksheet. When working with form fields, you can now refer to them by name as well as by index.

Use List.Shuffle and QuickList.Shuffle functions to randomize the order of list entries. Functions to find duplicates in the lists can now optional work case sensitive. We added a timestamp parameter for Archive.AddContainer, Archive.AddFile and Archive.AddText functions.

When you run a SQL query within FileMaker with FM.SQL.Execute, you can transfer the result to a matrix using FM.SQL.ToMatrix function. The Matrix.IndexOfFirstValueMatching function can be used to find which row contains a certain value.

The comment links to scripts got improved with the possibility to specify the target script by ID instead of name. Pressing the option key while clicking the link will open the target script in a new window.

We added new shortcuts Command-+ and Command-- for calculation fields to directly adjust the font size. Use new shortcuts Command-Option-Cursor hotkeys in the relationship graph to align items and Command-Option-Shift-Cursor key shortcuts to resize items to smallest/biggest size. See tooltips on the buttons. When you use the search within a calculation field, please press Command-Shift-G to find the previous match.

The Search Scripts example file shows you how to combine HotKey, Clipboard and XML functions to perform a search in the current script. Once you press the F8 key, the database shows the script steps in a layout where you can perform a search and then see which line numbers you need to find in the Script Workspace. This finally provides a kind of search for Windows users.

Finally we updated CURL to version 8.5.0, DynaPDF to 4.0.82.239, openssl library to 3.1.4, SQLAPI to 5.3.0, SQLite to 3.44.1, LCMS to 2.16, Xcode to 15.2 and Visual Studio to version 2022.

See release notes for a complete list of changes.


Neues MBS Plugin 14.0 für Claris FileMaker

16. Januar 2024 - Monkeybread Software veröffentlicht heute das MBS FileMaker Plugin für Claris FileMaker in Version 14.0, mit inzwischen über 7200 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Wir haben neue JSON-Funktionen hinzugefügt, die Diffs mit den Änderungen zwischen zwei JSON-Dokumenten erstellen. Eine passende JSON-Funktion kann den Patch später auf das JSON anwenden, falls erforderlich. Mit den Funktionen können Sie Änderungen zwischen JSONs protokollieren, um Änderungen zu dokumentieren.

Die DynaPDF haben wir neue Parser-Funktionen. Sie ermöglichen das Suchen und Ersetzen von Text auf einer Seite, das Hervorheben oder Markieren von Texten und das Löschen von Texten.

Wir haben die Phidget-Funktionen verbessert und Sie können eine Server-Erkennung starten, um entfernte Geräte zu finden. Ein Phidget kann mit einem drahtlosen Hub verbunden werden, der alle Daten über Ethernet oder Wifi an einen Computer im lokalen Netzwerk weiterleitet. Neue Beispieldatenbanken zeigen, wie man Barometer, Entfernungssensor, IR-Empfänger, Spannungseingang und digitale Eingänge verwendet.

Wenn Sie Daten erhalten haben und nicht sicher sind, um welche Art von Daten es sich handelt, verwenden Sie bitte die Funktionen Container.IdentifyData, Files.IdentifyData und Text.IdentifyData, um die Daten zu identifizieren.

Wenn Sie eine macOS-Kontaktdatenbank verwenden, können Sie fmp:// URLs für die Kontakte speichern. Dann kann der Benutzer auf die URL klicken, FileMaker öffnen und zum Datensatz springen. Verwenden Sie in FileMaker die Funktion CNContactStore.ContactsMatchingURL, um den Datensatz anhand einer solchen URL zu finden.

Für CURL können Sie verschiedene Trigger für den Erfolg oder Misserfolg der Übertragung festlegen, was für im Hintergrund ablaufende Übertragungen sehr nützlich ist. Wir haben eine nützliche XML.ToHTML-Funktion zur Visualisierung von XML. Verwenden Sie die Funktionen Math.Random.ExponentialDistribution, Math.Random.NormalDistribution und Math.Random.PoissonDistribution für Zufallszahlen mit Exponential-, Normal- oder Poisson-Verteilung.

Die Funktion XL.FormControl.JSON kann einen Überblick über Formularsteuerelemente in einem Excel-Arbeitsblatt geben. Wenn Sie mit Formularfeldern arbeiten, können Sie jetzt sowohl über den Namen als auch über den Index auf sie verweisen.

Verwenden Sie die Funktionen List.Shuffle und QuickList.Shuffle, um die Reihenfolge der Listeneinträge zu randomisieren. Funktionen zum Auffinden von Duplikaten in den Listen können nun optional case sensitive arbeiten. Wir haben einen Zeitstempel-Parameter für die Funktionen Archive.AddContainer, Archive.AddFile und Archive.AddText hinzugefügt.

Wenn Sie eine SQL-Abfrage in FileMaker mit FM.SQL.Execute ausführen, können Sie das Ergebnis mit der Funktion FM.SQL.ToMatrix in eine Matrix übertragen. Die Funktion Matrix.IndexOfFirstValueMatching kann verwendet werden, um herauszufinden, welche Zeile einen bestimmten Wert enthält.

Die Script Links in Kommentaren wurden durch die Möglichkeit verbessert, das Zielskript über die ID statt über den Namen anzugeben. Wenn Sie die Optionstaste drücken, während Sie auf den Link klicken, wird das Zielskript in einem neuen Fenster geöffnet.

Wir haben neue Tastenkombinationen Command-+ und Command-- für Berechnungsfelder hinzugefügt, um die Schriftgröße direkt anzupassen. Verwenden Sie die neuen Tastenkombinationen Befehl-Option-Cursor im Beziehungsdiagramm, um Elemente auszurichten, und die Tastenkombinationen Befehl-Option-Umschalt-Cursor, um die Größe von Elementen auf die kleinste/größte Größe zu ändern. Siehe Tooltips zu den Schaltflächen. Wenn Sie die Suche in einem Kalkulationsfeld verwenden, drücken Sie bitte Befehl-Umschalt-G, um die vorherige Übereinstimmung zu finden.

Die Beispieldatei "Search Scripts" zeigt Ihnen, wie Sie HotKey-, Zwischenablage- und XML-Funktionen kombinieren können, um eine Suche im aktuellen Script durchzuführen. Sobald Sie die Taste F8 drücken, zeigt die Datenbank die Skriptschritte in einem Layout an, in dem Sie eine Suche durchführen und dann sehen können, welche Zeilennummern Sie im Skriptarbeitsbereich suchen müssen. Damit steht endlich eine Art Suche für Windows-Benutzer zur Verfügung.

Schließlich haben wir CURL auf Version 8.5.0, DynaPDF auf 4.0.82.239, openssl library auf 3.1.4, SQLAPI auf 5.3.0, SQLite auf 3.44.1, LCMS auf 2.16, Xcode auf 15.2 und Visual Studio auf Version 2022 aktualisiert.

Alle Änderungen in den Release Notes.


Identify data content

We got various cases where it would be useful to have a way to check the content of a file in FileMaker. Whether the file comes as hex or base64 encoded string, a container value or a file on disk. Why would be need this? Well, let's think about a few cases:

  • You got a file without file extension and you need to know what it is.
  • You got a JPEG, which actually is a PNG or HEIF image.
  • Some user wanted to edit an image before uploading. They dropped it into a word document and later renamed it to have the extension to be imported.
  • You like to check if an attachment is an executable as you like to prevent passing on malware.
(more)

FileMaker License Pricing Details

Depending on how many licenses you need, you should be aware of a few license options from Claris. Like when you have 24 users, always order 25 since that is cheaper due to the tiers. And consider the site license as it may be cheaper. But lets go into details: (more)

40 Goodies in MBS Plugin

Have you seen our list of goodies in MBS FileMaker Plugin?

Since we started this in 2012 (read about the story), we got a lot of improvements for FileMaker's user interface to benefit the developers using it.

Earlier in 2023 a client asked if there is a list to describe them all, since the information was split over various blog entries, an outdated list of 20 goodies and a lot of details hidden in our documentation. We collected all the bits and pieces and added them to a comprehensive list. You find a list of all shortcuts here where we explain search shortcuts.

Recently we even showed them off in the live stream at RCC's fmtraining.tv.

(more)

MBS @ FMTraining.TV - Changing Image Formats in Containers with the MBS FileMaker Plug-in

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We check out the image functions in MBS FileMaker Plugin like Container.ReadImage and Container.ReadImageFile to convert HEIC/HEIF images to PNG, then use GraphicsMagick functions to check if we can read it. And we came up with the idea of Container.IdentifyData to tell you what really is a container. Sometimes you have an image declared to be JPEG, but really is a PNG, a HEIF or even a word document since someone put the wrong file extension to the name.

(more)

MBS FileMaker Plugin, version 14.0pr8

New in this prerelease of version 14.0 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in DropBox folder or ask for being added to the DropBox shared folder.

You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.


Using PerformScript in a custom WebViewer in FileMaker

When you make a custom WebViewer with MBS FileMaker Plugin, you may miss the callbacks with FileMaker.PerformScript there. But we got a way to get them into our WebViewer, too. Let us explain:

(more)

Calling C functions from FileMaker

For some years we have our CLibrary and CFunction functions in our MBS FileMaker Plugin. They can be used to load a library file, dylib on macOS, DLL on Windows and so on Linux. Then you can inspect the library for offered functions and load one. You need to have the declarations for C to know what parameters and return types are used. But once you translate them to our plugin's notation, you can load the function and call it.

 

Our first example is the version function from SQLite: 

 

const char *sqlite3_libversion(void);

 

The return value is a C string, so from our documentation we pick Z as notation for this data type. No parameters are given, so the signature is just "()Z". We can load the libsqlite3.dylib file on macOS with the full path. Please notice this file doesn't exist on disk in modern macOS since the library is loaded from a cache file provided by Apple. Once we loaded the function, we can keep the object around and call it anytime. Our call function takes whatever parameters you like to pass and returns the result, which is converted to a value in FileMaker.

(more)

Background Log Custom function

We recently talked to a client about sending log messages out in background. You know a normal script would block the interface and we really prefer to have the user not notice it, even when the network hangs. By using CURL.PerformInBackground function, we can send the log in the background without to another server and receive it there. Whether this is your own php or python script, or you decide to pass it to the FileMaker data API or one of the AWS services doesn't matter. Just include the credentials to use with the request. And with CURL.PerformInBackground function, the transfer will happen even if FileMaker shows a dialog, performs another script or is busy for a few minutes.

 

The custom function below builds the CURL request, setups all the options and then starts it in background. FileMaker may show some dialog and block a script from running, but the custom functions runs in a few milliseconds and then the plugin can do the transfer on a background thread. We setup an expression to simply release the CURL object when it succeeds and set a script to run in case of failure. That allows us to log the failure locally with a script in FileMaker and do something about it. For older plugin versions, you may do similar with CURL.SetFinishedEvaluate and CURL.SetFinishedScript functions.

 

SendLog(JSON)

Let([

   curl = MBS("CURL.New");

   r = MBS("CURL.SetOptionURL"; curl; "https://www.your-domain.com/filemaker/log.php");

   r = MBS("CURL.SetOptionHTTPHeader"; curl; "Content-Type: application/json");

   r = MBS("CURL.SetOptionPostFields"; curl; json);

   // in case of success, just release it.

   r = MBS("CURL.SetSucceededEvaluate"; curl; "MBS(\"CURL.Release\"; $$ID$$)" );

   // in case of failure, trigger script to log error

   r = MBS("CURL.SetFailedScript"; curl; Get(FileName); "Transfer Failed" );

   // start sending in background

   sent = MBS("CURL.PerformInBackground"; curl)

]; sent)

 

Logging to a separate server helps to make sure that nobody deletes traces in logging when hacking the system. Just an extra thing to think about when you do logging in your systems. The new functions in MBS FileMaker Plugin 14.0 allow you to put in different handlers for success and failure. Please try and see if you can adapt this!


MBS FileMaker Plugin, version 14.0pr7

New in this prerelease of version 14.0 of the MBS FileMaker Plugin: Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in DropBox folder or ask for being added to the DropBox shared folder.

One month until Claris Engage 2024

Just one month left until Claris Engage 2024, 6th to 8th February 2024 in Austin, Texas.
As far as I know, there are just 50 tickets left, so if you like to join the event, please sign-up soon.



The Claris Engage conference will take place one day in the Apple Campus (6900 West Parmer Lane) for training and keynote. After the keynote, we'll meet each other at a party with food and drinks. Plenty of time to welcome old friends and talk about the keynote content. The other two days are on a different Apple Campus (5505 Parmer Lane). All the sessions will be there with lunches and refreshment breaks. Hotel are in the Austin Domain area and Claris provides shuttle busses to get to the conference.

I hope to meet a lot of users of MBS FileMaker Plugin there, answer questions and have a great time!

MBS @ FMTraining.TV - Another 20 Free FileMaker MBS Functions to Change Your Development - Part 2

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We check out the second 20 free goodies in MBS FileMaker Plugin around syntax coloring.

(more)

MBS at FileMaker en Valencia

There is a Spanish FileMaker conference coming up end of March 2024:

Friday, March 22 and Saturday, March 23, 2024

Hotel Valencia Oceanic Affiliated By Meliá
In Valencia, Spain

See website codewave.es


MBS sponsors the event and I will be there to show off some MBS Functionality and answer questions.


MBS FileMaker Plugin, version 14.0pr6

New in this prerelease of version 14.0 of the MBS FileMaker Plugin:
  • Added Reset Colors button to the preferences dialog.
  • Improved SyntaxColoring.FactoryDefaults function to reset both dark and light colors.
  • Updated SQLAPI to version 5.3.0.
  • Fixed a problem with int32 read as string in SQL functions.
Download at monkeybreadsoftware.com/filemaker/files/Prerelease/, in DropBox folder or ask for being added to the DropBox shared folder.

Archives

Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008