Jump to content
crayfish

JSON parsing performance comparison

Recommended Posts

I've been using Daniel Smith's JSON scripts from (http://www.modularfilemaker.org/module/json/) to parse JSON.

It's worked quite reliably (thanks Daniel!), but I'm wondering if anyone has compared its parsing speed to MBS's JSON plugin or the new native Filemaker 16 JSON functions? I'm still on 15. I'm working with some larger JSON files that are taking a long time to parse and hoping for a faster solution.

Any data on which option parses JSON fastest? Any disadvantages/advantages to each option?

Thanks!

Share this post


Link to post
Share on other sites

Haven't compared it to MBS parsing but I was using both the modularFileMaker ones and the BaseElements one.

The CF and scripted version on ModularFileMaker I abandoned for speed reasons.  The BE plugin was just faster.  The FM16 ones seemed to me to be on par.

Share this post


Link to post
Share on other sites
Posted (edited)

What is the time spent on parsing intervals of 10 000, 100 000, 1 000 000 records 10 fields, datatypes mixed( timestamp, text[5-255], number )?

Did you make a benchmark between FM and MBS's methods?

Edited by ggt667

Share this post


Link to post
Share on other sites

Yes. FileMaker parses the JSON for every single query.

The MBS Plugin can parse once and than reuse the same structures in memory to query. So the plugin will always be magnitudes faster.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Similar Content

    • By RyanESmith7
      I am getting a JSON response back from the UPS API that returns the shipping label in GIF format. I would love to display that as an image (and even print it), but none of the decode functions seem to do the right thing. Here is the JSON:
      (note the key for the GIF is ShipmentResponse.ShipmentResults.PackageResults.ShippingLabel.GraphicImage
      How do I get that GIF to display as an image in FileMaker?
      Thanks,
      Ryan
      {"ShipmentResponse":{"Response":{"ResponseStatus":{"Code":"1", "Description":"Success"}, "TransactionReference":""}, "ShipmentResults":{"ShipmentCharges":{"TransportationCharges":{"CurrencyCode":"USD", "MonetaryValue":"112.19"}, "ServiceOptionsCharges":{"CurrencyCode":"USD", "MonetaryValue":"0.00"}, "TotalCharges":{"CurrencyCode":"USD", "MonetaryValue":"112.19"}}, "NegotiatedRateCharges":{"TotalCharge":{"CurrencyCode":"USD", "MonetaryValue":"111.07"}}, "BillingWeight":{"UnitOfMeasurement":{"Code":"LBS", "Description":"Pounds"}, "Weight":"10.0"}, "ShipmentIdentificationNumber":"1Z22VA000197219429", "PackageResults":{"TrackingNumber":"1Z22VA000197219429", "ServiceOptionsCharges":{"CurrencyCode":"USD", "MonetaryValue":"0.00"}, "ShippingLabel":{"ImageFormat":{"Code":"GIF", "Description":"GIF"}, "GraphicImage":"R0lGODdheAUgA+cAAAAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODk5OTo6Ojs7Ozw8PD09PT4+Pj8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL29vb6+vr+/v8DAwMHBwcLCwsPDw8TExMXFxcbGxsfHx8jIyMnJycrKysvLy8zMzM3Nzc7Ozs/Pz9DQ0NHR0dLS0tPT09TU1NXV1dbW1tfX19jY2NnZ2dra2tvb29zc3N3d3d7e3t/f3+Dg4OHh4eLi4uPj4+Tk5OXl5ebm5ufn5+jo6Onp6erq6uvr6+zs7O3t7e7u7u/v7/Dw8PHx8fLy8vPz8/T09PX19fb29vf39/j4+Pn5+fr6+vv7+/z8/P39/f7+/v///ywAAAAAeAUgA0AI/gABCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzAx/ptJs6bNmzhz6tzJs6fPn0CDCh1KdCeAokiTKl3KtKnTp1CjSp1KtapRglazat3KVerDrmChFgxLtqzZs1cbol3LtuzRtnDjmn0rt67du3jz6kU6dq/fv1O/Aj7bd7Dhw1QFI14Mly7jx3gd66QIubLly5iFFs7Mea/izmKxgh79+DPp03xRqw68urXr14w3w56d2CFtorJv6+5qejdsyb6D0wQuvLjx40BzI1+Oszfzf8qfS//pfDrbg7it3yZ+U2Bz7trD/ou/G3288OrLy5sPj349V4Wa3a8GX5Oy/Pv4aw/MX7z9cfX8Iecffi0lFyBo9HWn1oEMNjgUgA6SNmB/okXI3ITyVegThPXtR52FliU4k3fJiQjiiRlqiCJqGAbH4Yqutbieijy9OKKHG8K4mIkdwqfjjwHa2CNEJS4EZFAy7ibkkQjaBiKNaZFIHY498cjkdVdmqSV0UH6XUE5OTobdlmIuqN2SZFaW5Hhdgtmml1ZamWZYcpY4552+cfjmg2MO1yeeN5ppHZqAHrameHvaJGSiwxUaF49UXuXopPMxGihDSgkK6KG0EUqpX5ye6eFmPnIZqZ9SVvnpWnWu6qpu/p52qJ+lTIb6G62vghpmhDRi9+WGp06Wq1vDFpsersbSuet0sSbblq3MBnvpr8CmWqOz72Gr7XbISqSgfZ9Cm5dBmSK77bPLNlhhr76+SWur58YX77wsMopQtX/iCy+M4pJHblLN0gtWvxdSeS+q1gb6bZwCe9Xww5npKW2V5k476YAxaVTuxENm7PHHL+lbKq8cLyznuxA/tW/KLKNbsqKYAhzzxem6ma9c//JVMVlEBhaRgDUfiOuiLzfa8lIrH600zzsvjVvQZTadVc5FSQzy1VijJDK1JCcc5clFj+h0amOXbVfAVd+cLMGqWZ3123B7tPXBFg5tt9dgmv2g/t58u4y3VXTzFneBSEINdNGDJ654RXOrLTRLBvb9oeSUMx125UXOPKi9i3fuuZEUa8p30kuT7hXVYmNuLNrgovX5SZoZ/h/nr9f+euOoj666UYiZvvuPNooOc8/Fsl3v5a4jb7nvEcte+u95Qy99aIgrHzV4jstsu0ixC19w9duHnzjuaJ/LPMvnNzUWcH9Pf+eL2V8Pv9R1O0+h9dHif5rxV7Z/rftGiw0AC+UpmUCMfxKinfgWmDXy0S9NSUvfAXFmMwkOUF0PhB4CR+M2BnrQYw7U36YWdUHolPCEhROh+zbYJPB98IUwCaH/XmWtGaZugBZEYd/K9zsWdoaH/lMDosqEGCL7aUtEORRYEnXmPaV1BEhErJwPORPFE06RhiVcog7TtjIbPk5/WpsVDC/SPc3lz4tn0xjwjNgyLcbLjRtToRO5pqX5VRFOchzeGMmYQjNK544+I8mJrqijbmWRgh1D4wEV6SYoKpAweUTYHhnXR9CJyoWTzGRJZAhHFNUwcjhMo5ekmJEjEc0lUdGkRcpoyc1hUpWwlFvo/DgvL3byiDhjY+lyB8EMSnIiyorlzyo5MsCcioiApF7nDkfL1UnGlofcIqugabFa+XJHwhxm5lo5GDoO8ZXZDCcla6RLSpnrlthCpzTJabhIulKRsHMWIU83PAUxJZnf/lQnn9yJmXkO0mgMuyBx8PYvfq4zVx28J7t4qVBxNrGC3DSm/yLZQYdalHhfK6Y8vdmcaOIxUvE76CivJyZHhq1ZgYPo+S7aTPlx1DMEPZ1Bq3K72T0UoQpDkkfhpMdrWtFIN3UQmjjytJkSqJwwlakNWcrUCfnzSSkVlkC/00iqitRp+DTbU3tUNd75SX0KbKpYQzotja6tozmaqj1jd9VtGrCQPjXUWBnq0qiqNHAtjUxcxwVMBm3VUfpcnVMY2VYREvY+WW3oYesqVlaatZ6z/OFeOegtm+YVqzv9KlvbOseTgnCwc10SxkLCRYwycamhTS1qg+rEzHL2p8pL/izCzIlUbhk1kJuEKmuPFtjisTOir80nWf06WYmqtk6jBUlXyXkjxfa2qLUF621LE10lupZLfArub7m2WKEWd4fOMygYu1va5+5zmZYFrlavq925cNe8t5oueHcL3ZeqSl9IC+txm8pJzMHXVQMdZ3tnKd+jFhimx3WsfcuqlgKrN47/bd53sUlfc9bHhJML5YB7Clpg4Um2+SXvIGsLVBFLCrIwgzAn9wvL/poPrffV8IZ/yVqirvHAGf0re6p72m7ql8UXdTHlIhyuGZ+XyPWT4xOjRtsK78i5uiJtWbt22eep1cgY7k700PfjBetRiTx2Lyi1Z2KtiAvErdHx/qbYi2WI8taXP5uwSauMleGm0kRlNlWeH0UZNFfKyYCF8f9kbGTuGPrNOCYwoOG6aJOZ9sh2PS2egdxYRXsZi1pOK6HbPOaSEjPR55EzaPeMwaBW+TJ+TmCq9aJm7+4HUmwOrqHT99j+dauUKUvuN9NmpxCvltIsFbLkkHwxTiN3xaf+oi3pmtGH9UvAkt7rqsubbBr39Y9hfmOsX3tsim3Us2V+F6jN458HT7fbKrY0sMMp7B1um7OkJrOo77fsjDW52urW0LihnO91x7LdurtyoW2W6e0ym0x2fO68Z5TtosqbLkmsqL+zCXC9ETvQnL7OpYm7785W28ZBDPfC/oXLx4dPW6+Ntq7AMz7qWm/p5Is0tTtHzm+DT1yYFV/vyjd8aEF/2s66jTcpZa7cO1tQ4jdvcb9hDsF3Z1jLF18RutOivTlHfVu6HjW1t4L0pGsy52W7+oel++Bcy4vq5bI6zxuuLBRrNt029/rXl05zjG967YDTpjU7jmh88zlBFO2y3CcJ9rGJ/X0qs6rqqDZpoY+Y720Mr+N5rfjm+rrxg1d63IGOPqd7+4ZHmXw6P0n3Rz9e9KOTfNHzXnOWJ3LjvPX8eyDfqWv7HKzfJnW+dn9wRyO39z2NN+f1HHii79q4v8783DcP/NjvPMSKOiIjpx7zGb4adbxHZvNp/mwq4teQXNeXTfbr/DdwFp48HduyvJGtfNud38p3X24ZsxxAhpcsYcECvIrs3D7HoT6924VHxDeAhLI+5Ed7AZhQBhh+k5dcpzR8lAd3rmdtEOhssvdbP7d9aVZZPTYlqFJV5CM/atc93hd65ecd4zdT7WKCVuNcKJh808dLZ+Zy0ZZy6TeBrxdpYXeBJ1ZsXtVpfKWB+aEeFZhjwSdBRShGMVhFDjhcfYGA9cV+7VdTzMd0CMeDQChVKZYeZ8d19ORpPcgve2JHZVJNocNEXAclBaiGFRMdagaFR4aDOZiE9HJ4cwJfzxR9QNNrWshTT6dpOQZtnpQoEzMqk/WE/nmGiNhTbyRiiPknGo7YiCf4ForIWL13TXDISnJIgUI4Qc/nMMr2V+LXiQpmh1R0N/uHfaRockfYioIjWqt4hDr4gexULdBXf8K1iQw2i5j1iWQXYGW3Hep3YQMDcQSFTv9nHBDCgCAFfIX4gqO4gGamitJ4edBYhtR2adxzT1ylTKaYa2yHS77Yerj4jQhye7i4Vn94V4J4evr3iMw4gCYjgHnHgb9Ijwl4gNC4j7NmfEpSd4sXjumEhSBogvXDG6UYjGZIQ+c0iWW4gmjoe0bnLuDHj9eYgtdIcFPij5AWRUtkhRYnkPLkWs/kGL9njtQFe5aXjnE3jTZIbhQZ/o1xNXxuyH/+h4qxRY1tyGN+l4U/uH66WB0D5Yl3x4DEKIvKAXio1iWsU3e82DgANoaWEomUKImOuJABOI++pzZJCYleuYhVCY/15lbaqJLf4mOZGJIvqW3jqFM/yYlpeYtnCIKAiI5vmYEQFpf/+DLP2EUOuU1amUiOFpiSVCQR2ZVXyY5kJV6LhUS6B5D+RWIoySwkqYcRiZSQSUWZonGHBZJ/9pgymZNEyIZSI4NtQpOxmIGp6RYnRY4TKJR2iXXvxpU9SX+xYXuYaZYTCYumk4z0BjbVmJcsWILdJ4KByIuryWDdh5G+02oA04WSposl+JSt1ZbqeJQ3lJ3x/pWI+leX2omdlcdcqkmDQfeO/CiAC3ieiHmeCVlyG8me3oiPVUiIL8WT0Fle0pl1tCibbZmcljmMocaH6oNfv2SNegkrMXmALth42Jg8wWmEfbk1xXl+CcqXnUmXLBmHQRk0QwmeI7lzLEiEsuKhelaYS6mb1BebKrqSucGI52VKmamcf5eKofl92lej8CIjLkeeblZB97ihN6WbRQai/2mbl6R360iWXiN8HpZ2NzZRpGmV2EiGrBmWUiqPHDah6RahWJqbOEmdSFM4rul6sKmRbBl/BdqHpFdP+lZEYqqY5CmVjumTWygzI4h2lUig8jVzcOab8kiV76mQU3mg/peXnxwqkrVCkrU5mdLZNjG6PKI5kzqZlk24ZFv3nT+6iWU6aOIYf+vDGuDJqGG4knXaqPFZixBppvt0mWeZqiNlc7YIkXSopIsJmvXYnI86X82EZ2cKQMzzjK/6dpCBf7NmqkqFhPoYosrapYA5j+u5rOmJedKKnlEKjMdIdGpkoMbIT54Zdvb5YkQaqh+VPUJqrO9EH7JakWBJnK/nitw3l6M0qzklnLYYqDyqTNlYm4SJg5t6l2cVrmLhnW76ZaVqrmP6rghrryd5azhajDdKo9Uap9wJRpBqqGsJrkXppwb7pKK6KpXajvKXpBqqqRxacBnqW9a5sXWYqw3j/pyG0a2Gh6iClbIq+0YsC2YX+5kda7M526m+WrO7RKhYJ7MtpLE9RLTDsrPA84VAi3A3u7I9ezxGuzsu23Q061lN20tCK31Ruz9P661d+69omrW19LU8q6+zAbNYhbSDWIBOp7ZkeyxbO3phS1lzG3l1K3UDmrJLGmBxW0dmaz5sK2FTG5B560l7O7Z/y7WFi7dou51KO7SHmyfI84B0SrX1Cq+Le6faVbXIF7mMq5CIVbmoeLmL955Rsrm2ppeeK7eP+xpw63GimyLwVLoi20Oqi7NoBHLqdm+z6yKBG7Svi221S7q7S5C5C1j6ZXLXGruUO7mEC7p0O7zPgZN9/mS6/iWF0pu8n4u6u2mVzruX1KuzFju+rguXWMmsKEOz3BsuDHuv/ea78Pu8jTt05stMJgqXUHq87Nu+NHO3azO4/RS8sju/MLkS2CtF/iu5ImaT0Mtx9+u14DSFL/R+o2ujqSKol7O9/7TA0wspZMRRBmx1I/y5pNN1FMxAFky7VtrCy5q/Q5LAQ+bBH0ygxNSBBKR64iOBlpjCO1x69euoxTvEMjxsNJx7IBy28ppkp6bCQLljpie+v2t/wEnEt4u5R+xM48VD5QqjFbbESsjDcOrD4bPC7mG9mVPE7pbFxQOZYOq+gOafURbEmkirSBW+VRrBymi8ViywGsTG/m0MeW9McnPVnng8o9JKxh5kxlRcSdd7xacLyAjlxmAMuA98ojCoyAvEyGbXv5JsyXQ8TQk2ngScRgA8h3DDTFPcyYrLM57GwZ8cqB25EYJ7yUV0yjCcS7jssHo8s60sSkYay9ErMr6GlJNsy2pSyo67ykT5s49SsKEszC6ZfAZqcPLbxWmrzIjcutuMze+DP7BcN9IMx0NMy448Qsg8rIKnye4HxOGsjJCcvYg8zrYVzZA0ynZ8yI2hzTdoyvbczYNMM0Xqr39Mz8q7y8fcy0WbyOxcxu58phAXzwps0DmM0AyZzin5z+78MapcwgJ9n9ITdfw8tJybzfissAGN/qAIjccjzcvMTEArerJY3BhZpEIaLbW05p5peNKcrNI3vaAWbbcKzbFTibyJQbAULcHljMDk/NK1N8ENXTs9bYGe/IrvPIRvxbH4cs8rtV+G3NKcmclRLdUP7WzU9MsDI1Am9tOqxoigVsnTWWn5DNaizNY96o1X7TdOjc6Va9SgyqlU682hmK+rF5UYfZtQPdaeM9XojGEBhdZZC7KMZtezx9Nl3U1vKXIr/TkdLdhWa0In49eGupHBKnU7Y6nBpFpfHdRczdCKzdmXbcRVnb4kq8+Qi9KltYsHxmKrTdkEPaKaLdavjV7zydqWJay/PdMj2s/LnXGgc9g+jXm//oiutm3SQz0Xx6q9w/1Zxe3bMAnSBc290gIgxt074mZfX0zXQnzdOy3T0bnR2301jD121pPXfuWH6VvefWffc9yb3IzKTNXbkbvXX/MXnn2qewzdrrY3z7dKyevdwzxgOtY0xOq3T5zM9iiGCo54sy2YLFea/O3Pk+lTvE3KFtqXB+6gwh3fgzPfdXhdDp7ULOzahDPdhWzi1rdamktTB/vU5pzg7A1goi3jEBwncuy9B01nthqBMXbhGD4SFxzkHjvkNAzhA1zf6t22Sp7Tful2pPre3c3i8h3ba+yp4Bbi11wqVo7JaK7dqiTg8I2kJIh2YjyuYt7iZP6hAw2g/iHdw3Ct1rT5zfqd5ATOqm4Zw7hF43f+Ni5+h2Da5gTSYZtb3U8O6WEuTnBegzET1Ci86FjT6L26Qhj6eR8uwIiS5U1Ng095bj85sSvu6WMe5vIM2SKVouE56sit5Yfn0aatxD7C6ahu47IE5IUe6tNj6f3DtDpT0nidrRUt5be85n6e1bKcXrzO4dh16M6MZSXZK/vt5jkT7J2d0nX9bOsM6yAD6k7Lf1Tuqxlu1mdeY4NO7BI773WOYHIun6F47bXU7qLu4SSqu50UxSX6v9R7iY0J3nUcI61T4Nae4j7779z+7nbe8LrOakdealsO4Jnb32yS71LM74IOT/7u/u6k2XIZ//GGBfItq8NXB/G5PMbozt3HmfKJWrB9KPEDZ5eKbuTMPu0sH7oiH79PI6BgXvMzT/NAj+wXUvIhjYn+/fP4ffRnO7sWv5+ETeLnnvQxoe78SesHZeutuuHEjtKQY/BT3Ep7OmmZGoRK1iLkrtTFjrHbXr7COfcH7NYhg/ZDr7BhXKj4juUvafMZjfcRf+zG1u18jvTPzvS9vqi4+aMRt/Vcv/eyPtFgr7IYHPSuJu0X3cQgztqULvOrePUhD/N6XvczxjlNqsWeb9gbr3XQZdWO7+hk/9mq/3B77nwmG/AV/9/kK+Euj9o2jvLla/gD2eEoxMW/Wvvu/mXvH2bq0d7zlW/5SC/uQeL0zeX856HwshiIXvz6Hiv9iSeewc39L0f+Ppj5OZ+H2h/91Y9zm4fxxffq8V/j1w/9iEXlUhLRwxZTAPFP4ECCBQkCAGBQ4cKBCBk+hBhR4kSKFS1aRJjx4kaOHT1+BBlS5MWMJU1qhIhSpEqMEh06BGly5EyaNW3exMnx5E6YOX3+BBrUYEKhRY0e/Ul0ptKEJZE+hWpT6c2pDHvqvBpVK1CZVk8W3An268GxDcuuPPsv7FayXSmuNeu2LU+nKenexcuSrV29C/P+BRxY8GDChQ0fRjzYJeC9jR37rPpY8mSqKzdOjRyZ8maSVTU//vzsN/TcvpxNU60rWq7atBHhCnx9OmTs2DFbs/7runbR0qRnp5YdXLjRwMONmx59XDnl5G9xK9TsefVy6nGbwwbu8TZ2vNWNTxfbe2jWth3Fi8eYfWJX9Hy5w0QJ/ndu9yPbWwVd97ru+7gT/wcwQAEHJLCwxejzLkGk9lOwwaAYvEw9B5GzKzy/UoKOPLX4y2w77CbkTL7y/CMqPv3gkzBCCPPrb7wWXzwxtBZVzIu/8Fjq7jmu5tPQxQJ/BDJIIYf0kLS7QEQSpxWTZPKjJTtr7qUmQ6xxSiuPEpHGGd/b8sAUqaMtrd18zJFF68Iq0ryKniTzSjdlK+5NOdeb/rNO7dAq8yCw9rQTwzV1W+wpDekSrc8Fv4zLy/40GtO8NKF06ryXHn0OzR4P9ArBTNm8kdNDFyUyVFFHJVXTTfM01FBPU71y1TN5yjRRVvH7E7T3nFzzuktZA3TWBxElMUNGJczy1GA51JVYYFXb1dg2n+2UWVSFLZbMZd+KzlUuFS21W2+/JZBbQn3tU1tyQTT33B1r9aolZ3+zTV3IEA1TpmFXa3REJ7/qUtpJZfw30ktBtbdZI8c1sz6FcU3qWnkfztVUiJtMd2Iw8TySJIuhq4xdffX8dWOassxXuXodflU6fCk9uNOsdouTxR9pbAjkY7W7Flydd+aZMHFh/hWZ4qBVxbjmhYc20FZqUa5pwKExTq5a7tZTtt+bHWNvYIO31TFrBmOO1b6tNZYq557PRjvtZCV+WsGK24bzQY6VhltL9YD9LO9A960b5/tMBJxrwFEsMUaq0atSZqC1XPpwwQkn/NSMFQ9XOKnVxjzzbn8uue/h3vacOcf97fzNlc8jy0/JGSMOM6l5DR1SCE+2ummSk/bXttOzo31rsHksfe+h5t639thZ/T3a4ycDffnG8r6KWD6NHr7QJFnmWsmx0wP1YEmbn7haggUGuHzu+8JecmvL670prd3fffxpKU8/3oR13955X5PncnL9sfwfkjIzPdjwxXgOyl/+/lRnvY99KGK1O2AAsdUe8BSsNBYMGPy2Nx0OpqiD6PMg+TKoKBLKh38uc1qEsMQ0CZaLdflp4V7AF0MACstC1urcDNkimAW6BC1eKpthaGjA0QQvZSgUGwh7kzjl+QYq3yPRoF4IpggScYjhmyISr7igLVZngHSzWQHDmDIWUsk+7lKTVhSomi6eiX7n04sRD7dEhKGQjsCRI/BedpsThgiNfltjGymWRTLmUZAeO2RwOoQZGxWLiV6cnQ4JaBbitYtqc4xkFeH2uhF5LWw2PNbg1lbGN0IJk6MDJefqt8M/OkqTifROH2EpqFlabn0+vIwl5bWidC2pjrUUivgg/rcfKJKwa6QspPE8acwmPpCYhLwhES8IQUreaCnIBGaCZFm9bDatmxSSFofcaMWnzY90j+RmA8WIScXMkpPiQlf9DFk8bHovh+082gR5iD9JflMyJ9SVPxkm0H9G7IzVpB4kdenApUHzOIEUSyKFqcF7wVN+CmwfpixlPmTt0YJRVBn5Vrc4WyISK68k6GkAmtKc9JOlrQSph0SJvEjSKp1jvOl4EHpOc9pRiId0ZNVG2KbLmU2TFTTqUEcmQoqy85c89R9qpAjRxr10SttE6UtdalU6TTKnaUzohrSJO65ukl788h1atyrNkFZ0nqUsHkgrxUeHqvN+LtJePcdZ/lYBOjSgfMUlYJ+YngvZVIuwiyVZBSuyd+LwsE5davw8ysI8ZtSZU0UnDgXEz3VGlqqLZV5dAwvaSpI2mOIUKwE/66bVmjZVQZ1m4EL5vuzVZ5lIle0yOXtM2XJFtFNbjrYa69rQsi21YCRuZ5MLmarq1avPfahil0uuxuI2crNdK16x+zhOzXQ+YdOtZu8pXGzqLa+tna6g/Dra5WaXuO6FbliDyzuSppe6zm3ZNasrJnn2d7//TWpPzwtfV6LXvq0z7jYXS2DSftGwOIWwZ+L7nfru9MA0zeqFASng/m1WJ7kCnoYtV1eSGjibDAYtikW84gGzOCoKzvCGg4lf/he3dL2uObCKBavjGveYnjwWsYLPNVwf/8q4RZ4wktmrZCYX18RNpl+FLUZkKAcxs1UGclmzXGUu17bLnuWwuqj8ZahFtctbtiqayczkMa95pG+1U5vdXOAwI1nNLL3znHssZz3bc5WqonGfnSplLAu6sIZGtH6fPGch3zfGiRbvn1ecZ4KOcp+QJjOfDd3o/QUa0w19KpcpLdBnYuvTmfY0o38r5lSfOpmaTu+o/fk1Wbv6m7DuM6dnhWtbv7rVrq11N4Pd6wX/GtVHfhivia3rlJq5h4keNrEBq2w3M/u1xj61tbWMUVdHW9rbfvSxrwwxatta27MONXKhjalX/n1b3N7e8aqHjO1Pn/vWlsm28FKnU3fbmd6ilrejF91rewsb3/VWpbP7Pel/YzngnQ53th/et2+ZFNHJAvHCfVzudyuc3A2H9sTrxrR3ogzesGSTpDXeXpA3ueBz4rjEkb08ktd8g90+ZVVXXuOYn1nk1454vX/eNpsncEYnl6i+e7VzFvcc4DNnddAx/fKNFT2TX8O5jdjNdIZL3eFQn7fXQw720Fn9gc7J96AJzXX7tpnsHV77rYfuQrFffO5I21LJj551tpubsomBY91Hfvc6OR3SVJ9y3ouOdoT33e9Hrxxbkd4qwsO85ZuufNUVv3msp93xMk+rf/MVd2Fn/t50lxc04rFodM4zfuqf73aA9ahEw3tO9ZQXfOpNv/qrX931h094umFv2qIO/DWkP/HucT/wx4/befSVi3Wt2dXGL936w0/u6wqu1tpTXPlW6j7m3+79YVK0qXOh1u/XfUnss9nqHld77on+/auiPtf0j3rh4gir293c8+0Xv0CqM32yv3LCPyYJP90bv8GLnuiDv1uhvtcDQLuTvyK7PfArQFVbQLPqkYczOb6bwPurwI07wOvJwGorQYjbnAgEvhBUQOYLvMnDMOfbpQDTnBvEwRSSPDgLGqHKIIf5wP9zQRS0GoDymWLbwBHTq+LLwSZ0wsMIvhFkLRzZPw4L/sLqG0Ii3CAohLtL46oLfAyV87IhBMP8q63JMaG9E8Is/DLtC7WNgpEEnL8kVCQ5k0M9K8OwY4qMkazpW7KLY0MNDL0umac77MFVe0I63KsoS8RGdEQbFL7n4zzfY8H1C8R3AyLGOSkZHCSoe8RIZCZG/MRRbMIohEEVdKazq0RAvERMDMWck50vlDdStMMTXLM8FLhU1Cf1Y8VW9DnIo8EoBLdg7MJG/DEOxEUqUsRDZL1m5MVN88U2LKMBfDMpxLu3Q74Xq0VrjEFQ3LBlNEFw1LxmpMQ/hMZofLpTjKsGm7hsVK8lhERalEfNMUVORI5JVEVzTD10TEd7xDOR/uPBeYFHbtTF+NtAQ6QScUw8csxHHFtDfrTADHRHvtI2MVRCdVS0J/HCWKxBheS9gsxEfcw1iIQyQ5zIYaTGXYvHeWRJtKnHKzK7XVzFcyRJJTPJgNzElvQwAnzA/Is2TcM1hNyMZFRJhpRJkcTDmnS/ETxJWfTI5bM0nZRKnnnJIQKXZ9xHpfQ3psRJu5lKxOjGrpzCi/rKsiyVqrxFENRKnrNFFyPKCRHKsMTBZEvBFFPLe8TItRwrglQjs/wPuYzLz2nLy3JCunzK9rrLvuQ35dJLw4SoyFshvwRLwmxKoMvLMnOyyxTMw8y+xOxL6PHHxrSxSRQSluPMThxE/slUzSFBy0zzTNFsOyB8qxipzOQ7TQQczF8kRgt8TUWCTZ98xZzULKlazSPkSW/Uw6gszuXcSVEMzHt7yBe7pd/8uPHBTPXJSOZcwLdEoJXUzu80TufMTYOLzsGKMOp0zGc6IOSzSBrizgZ5zr1sz3i6zaTbN6RkNApDz/Q8zi8ZP6AET4CsS7j0zgA10Dp7T4rsTeYokf1UQV9qTgL8x/rsK7I80AvtyZgSyxMrrQezRBlyUAZsrY3cIQxFTj+LTzgpUBNl0dZswwWtIQgMUf60TBb9Owqlz9S00R3V0RNV0K/q0F4E0Xya0cIbTw1LUPlUTh5t0Y7y0T2D0SKl/sgjvbAkTSwLZVIMddHO1BNiilIpdUrNZNAs5aUB7U6+NEh67Mjd/NEPK8+tqEIwrdHPs1JIwlIyNdAtzbHOw0I5xQqJotJPyVLADNSEFNNjHNNDVVEcFaT0CU2rDEMXRNOxVNQwxFNCnVSVKtR3cbL0zNBpk46ZzMrnwU+2jNAtStEqNVP4XFE81U49LbQ3FVSh85RKBbQIKs2GIVNMtVWT2VRerU2aW1WYDNJiHVUZelQ/tTIIXUFQZdQz7VFXzVMnDdYg+1Jk7VVl1UZgrFZQ+9UH/dQHpbBctcphBVRRHUms+VZSk65GlT1B7aVLpcwNxcBMpdbRe9ZbZdMp/m0KmBJSTc3W0uuXVK3XQdzWZIXWlJzBJZVW8ITVkrxWI7NXufsud72oyEQpVwXWOYzWhv3Oh20wY02y/EzUiXWnIlzXHKW1J73XRdPYeZ1PSv1JY6Mygi3RfG1TCcSaCtFCfEK5afQW4mTSjTXAO/XY5QRZNovYdXk2bS3YVSFXdsRZoT1Fm63GG/RUlk0z6vFSWY1RdetHhXXPlNXVQYVZq3XIwspYsvW1zMnabq3SpSVJvIHbsmNbqd1XZGUgC9PEHTxapG1ZtCU6kOnaPkXPLfRDix3RdoVXHiXaawzYy/qnmE3YcIVSr9VLCrojoAJaIInNqbWdzd0tv/3b/tVMWpuU25o0V2bcQiv02RRb3YPLkPuUscAtXck83R3rrMLVWSPxKadFVRvEn9+l2h193M0soqNq1dsty9wlPn+lSdpdRIYKwQrTWkm0zhAjHWfN2zm1XeZt3u+NXP1pUIuLXj9bqPaDvpMBVPnhp2ahXA010eOtw/AUzkU12Sh6W3qtpVpN3Xar3uTVXM6Nw84NHlh72f7k39YBUkQFWGNcU7GNN95twRnFo0bJ33AkxwCBI62KXRs7riTqWPD1S+fNWbIx3C6U30BEGAk+npoFvJs1WwWO3/rL4EjD2gi23GIz32PlWx1ZTOCVIMGV2KE9W4l8TL3xNCYk4eI0/uFta+CRrTZv/WCNG9/Tu+H3qmJqerAqYuImVs0n5rnEXKMrfrz2NWNV/U9QvN5mWlbUJNEhruJm+18ABkDI7CIiTtz3Nd4jNlrarNt3HGEwnkoxdss6DuI7/qw0ftr6rZgETtO/0Vw95kjSJWSdNOSmI2MIFeIY+uKdQcmeJBitc2SEDV0u9MkdPuSHnMxODqBP1pns7GManqiZYdrateRLZslMnrRN7gxXlmNuFTxKprtgjFroPTRcFk9dnkdetlbMBWZg0jvUW2J5peVlyaoshhZfJZJXnuNKQ+RohkkD5g1tLmYXlmHQ1N5cZmZadGYkDWcpJWZWRVlG9kob/qXf9MMTN91b9ILldm7Jd47b8rRfdIzjcjXn0ZzhSDaYY25IH1nnZQboURRodiU5XyYsST1oe4bjhXVcP27oJ0vo6YWqiXZn8TVlI42oUk1LfZYZjZaplOZmjp6uOgUusgG5eZbfHE7lNn7mFI60ueU/mY6ukS5efAbptZrNl87IejRpCGZnojYdkYWw841mdCY/mjbN7pVoZOI2B+7qp07Eim67eP5h0dTqCk1r39rVpE7qEIK3fxZrikZpNf7qFG7lAMZqT75b2J05Qgq3DvSPpkbpuS7Mui5rhvoroFY8mC4fqR7XtUa/MEVQZwts5PLi5TXsw45qu04gs+5d/rFROukN3oTWactTyPnJbKmT682G6q7e05VO29Cm04yLatBd2Of55nHkarlEXoZ17de+2r52T9CuYHQ96wlC4+ziYMpW5YotZQJ16G0WuL2etTuB5oU77bHNMB2UUQ/GbWWUbBzGY/Ld7eeb3dk+btgzm4gc2PKu6fO+ZTpz6uBW086e4uzuN/OK4j39Y48jbt62bi7CSpAcbvvOQbImTykO4Q9l72SuaiRdUZqRcE8cb4G8cFSW0BayaTwzbgdX76bz6jgO8IU05gW+Z17b7pK27BJ/4AHfWpZ2TfXtHhJ8tNfdlFD2RtpjPX5GblgMawTHHAXn0P6Wr3+t7WKF/uzcRjBNcXGofO4DH7O0ghqP3ugnV2gYX3DG9FAkdzz+luILB0511fJg7u1ilG8D1+GCLsozB2cj53Kr/nJkRlEcH+eRxnIbPvE1jus8/8woh2NAf3PShnAQN+jRhqqTVV4U59c9X/GIxl6jLmJBt+h+7eF0pfHUqeZAfmED/ilT3XMyf+wqL2whVxsiR0z9djcwj/BEB+8Nzusg+2CvpvMNZ+E0L3KgZjvGtaNfJuDW5SROrzT8O2hU0i5IZ3FTv2/Yzm9dh03vzmPZxFU/7+naVCxJb21lX3YpX3LG+nAvtx9gk3byAnYdJz0vjDgqR3Yq1naeZvaWdnam43X0/m109ST3le32mXbduLvsS7f1IG93qkRseKftObcdiVb0sUkbc+fBcZv2Ms/2gF/4gZ/xeN85OcR1qGRoUWH4Gq7zrbr3YZO07Xv0LKf0HPv2AFSZ5PYpnzZze4fXjr/JR46+dZ9cR808j7dTNx9oi1+5bIkOzplghc9Watdg6z55NqJq+i51iY9lin9RVd9v/lptYc/qfFdchf3L0WRwcrptp396/Cb49Xbl8NZXrG+jRpMjRi/0vo3sT9/4kjd5l+/5gqdODe9fox92sHOu7Y54sBd4sa94u2fDL8ZbtI92C6f5lIv5pgf8Zn33wSd7g7fjI5d1SefeMMvmx4wm/qFtxQ6nY6k3pVgF0jJl87TX+0rX/CDBcJufQNAfdML3V/gIW7KbZjF3m9RHN8WPV8avfDD7/Izv3w+XkV1f3OWmU0QU6STGWOB+/J5BdS71ebA6s4PXnV9H/NLm+YNV59EF+Ocnleh/r29npI7jewjCfPHO/jvf/q8NYn/Wfb9u/1hLeR8GMztPfNwf+jKfsV3BL7kHiH8CBxIsaPAgwoQKFzJs6PAhxIgJAVCsaPGixIwaN3Ls6PEjRAAgR5IsafIkSZEgMWJE6fIlzJgMW768aFEmzpwmaers6fMn0IE2h1IMajQjz4lElzJt6vQp1KhSp1KtavVqw6hHt3IF/qqyK9iwXlcu/Cr2LNqdSREOTevW59W4cufSrWv37tx/WssSNbr0YFGPa98SLnx0r+HEis0qbuxY6OPIkjnahIyU8eTMIW9q7twZsVLMlANLFE2QNOnRFbPibe36NezYUFk/9Wy7p+nbunXm1niz9+7gH1sCV9pxtfCzg5Mz3wqabWrB0TdPL4j8OOfm2hfP3u699PfwZFMGLi7+/MzrCu+i95o9NHzoudVbr77Svl78zvXznY//OWCwNbZcewXmBKCB55mXYIEL+sagZw4KRGBpEkIHIU4U5kffhJwhR1x5HobIoXwOgaiShkLxp1qHJAaI4nsquohgfRb2N2CM/vLJtiOPPfooFW1OYdiejUNqV+RIZqW2opHYiWYhlEG62ORhOdZYHUtWZrnalkym+CKTBn2ZHpe/WSnmmVeaRuNpYTI3JpVxSsmUnN4hWedtd9YYUVst4llTeXxS9edkKX4oIowknhgfmW62qaiWkUJ6aKIj3kdpaEL2V9lYaVrmpJc/ijoqqTzO+RehyemZaqEo9cmqZqvqeCaqsA7naVtT6uqooHeWuSV8uf43rEivtuipjA+xmWySvH76aHSybhhqqdVae61Vp/Zlq27ScpuYt84qKea3vnF6nbO39rbtseWaO+VlSRl7qprpAgrnsfTN62p36+GLJrKZ+gev/rIBuyvnsgeDq3Bz4f7LFsPPAhYgxP6+aB1rAq/rbaoUzvsxp80+XOW/II/caFNkyqhfbdwRnC+2Mcs8s3kJR/wWxzeHlfPKvPK8W5SbHtrmTABXLHStxumMMnVmFhsyzE8P7NKvTtMrndQGv8wowJpu9NzWw6lLLc1lmz2qtvsuXdjPa/tVEpzj4hk0XJOKm2bSbne96qJS+jmtw5U+abBaYVNqaYmAz0rnjfVCvVNIY7ett202U97V5JfzRha7ms+aXsaed4vsl6U7XdTJaiqunNanZz244f1q3HnPStrr3tZn6777jmk/LrpYmQMPk/B+p94kcHTzVjLhNxsa/uaYhyd6KeJYp9s30xtSLfvi1/+Oc+u8iz8+Xb4fP3xN6D8WLsanTbxenFWZ6LXQzYK53O3fevy90Sijnn/jTlI1fVUmdwX8H/MGY7Owza94cGue+t7EvQg6h4KLcZUFvwZA90UOdEqzGPrO57gRNo2BUdOZ5TAkwgxKJoUsJN4LCcM++KGJWfmJ36BoCK14Acl/cVHf/uTFv+2tEFoETCAEARetx5lMUvTrHpKG2CvGJPFzPiQfFrOYsiuqLYab82JaHBhAGxpJee/L3tHI4yQgBmxXr0Mg12anLiVKa4BLBFYTDfjGmk2wf3sbogn3E0gwZsaFhITbIZUTk0HW/slNG0ykYzTUt0kiKl8ZGlH1/Fi/CmHqXZbk4Rb9VRw9xouDE+IXIyGJo5apMkOtxNx4JtKr+KXRlA/azMVsWbgidox0rrsfMOs2QMV1iY92gx0Cyfa61anufowTpcqiKZh27VKMr/yJIa/5NW0expXggdXkzKi9My7SmhB6nuCC+cBjNjCOAvsb9jQpykzuKXHOzNs97TK2UwqwityUYR//mSSBjoU86nlSWXBITl0eiJ0eHA0b4SWsqflwhG6ko0wu2sVZ5tF7rHQni8QmsVQakaCVC6hJj5NS3KxTL0X7ZCP5lNAakmtT8zRm+ULoTzlyq6NQYqIUa4fPRoZP/otGPWpQo0a7lU6Tqd5cZD55ObeFMrR99anlhbATUZYBVYhejdFGNcienXUVrN9b4CMLWVSkstWo5tupU6kaVwEatJ5zlRhW+VlTvjAVXz61aDIDqbalcjJ6gYXjRINVVj0+Mao5Bdda2yrZ8b2VpHfF62VTEku94hB283yqiWR6xX8+7KJ+IyJjk6rEd+4NnpVcnWkruyLBPvNddyyiVDNbzo/qVrS9RSTGELemmaoQS3fLqzw5G7pLEiytvWzuL4spOVCu6bH1KuwyWytd6co2cISljG9V49zf3quxKjoveV2a3oFedZyYrVpVlWrOSPZMlrNUr7K6Rz2U6g2d/vHB7d1mdDL+BVG4hJOea2PH2wYOFbhZ2e96wbdg5Sp3vv2N8GalqUsqyjW+LZxwe13GPDoacKsbM90eSSjUgnGIwA3+3YmsVqK/xpaLSQUxNEH1XdtaGMMsNi9+dRjXHpsUMxz2MHZ3vMp2ZvieJ0Sj9carOan+1Yj2WosCeXLWHGX5q5Z1so3R6ZpVStnH+63to8wcZDV/08pdNC5ygSah/4RXrvaRlWH7iqvF+ozPC8Iyl2kV6BZH9qdIPCaac3kpHvP3x0Rm8+yUbFfdPlqgNkKokPk6Oq5yuoefzRRfGzzFRk+5jbercZT/+MdEwxiu4j2ijB2bW5L188uQ/jYokJns1EqTlqYu5U/ystrhQoUy1V+spkTD2l9fKviTCKbNJpu5uJuqU9GchLCsXU0yMc761ox+MRV5fWFv15nEXZ5WVcXN3DK/dJu0DunwJLlWYv4SylZUsaONC+vsjvq00nacpNEiP2OT2y8BxTRmU6rua/50oUe2KsU+M2f/dFCt99Hpy56t4Xp2GXoE+uG0rU3t1pIc1W4O+JC6XfASJprcC38lMotV0FgNfNhxprBSGQxqaIvVxNdWdjsTG1agf7ulibVnlFsO0KlMd+VByWZ6X97KUX7I4Q/eDruLTVwPB7viYcbx5fzqZ3xj1M3fHqTSkcazKqs94Gk3/neP66htp7/67WyWuiqNTN2Ninp9c18zCCNtZFIiPckoL3WyD31b2qYuL3uPTMLEDPYx6qjpdBdmriGNd0j++e84R3KDyn15zFM9xVi72ooFWfYbsR2aRI/8bKVo6w4xU2TsHn3b33xQlQMR95lG9259rdAca5b4tb/hqCePeGAf2OOzz6jz6cna0x8/332nJsAbdZm8yv35vmew1hMO8V1//+bJXfOSGHR4qOb398jfa0V56nNc43TzluSu6vBPf3qnMoWW26k4gVL5rVv4oVfE3ZX9HdLgCSD2bZjc0JxnFYwEYtPuNY9leR+hHBoDKphH6Zv0MUs8TdrINdOz/mlc7qmWjsEV4enYAEKf8plZAhLS4GUN6PVbAxLbB9Eecg0XwS2PdMyfftmRMa2e8d2XyAXhYYUbiikWsMzYlr1g8IgedrXgbgEZ1HEeFTLUw33e3NRc+1WIsOkge51gDsWb5z1Z6lkfbowdy60dG5Jh812hoCwXC2YhahVg4V1WDILRDP0NF+bhOSHc+MGfccyW1wmeF4pOge1bn+UW0S0P7+mX4aHcIjZUt0ViFtJIc+mhHeIcnH0O/ozfHrYhjgWgBlHgD2Jc7Jke66Eg8RALRmGgCBadELrXqrmdo8iiu9VhJyLb9anZKMaQ3rnf2WHiJeFSL4pY8viTMTJZ/sdNT/V5Emyl1TNCEdCZkMnVXQ36WzLaHh7KoQL24jDaF8DFze2h4gR2I9toWzVOYapVo/45WjTGI0yVkDXemICUks29mjrSn91VHgKKY/yJ1EhFSCL2o8AlUQimmTTWmrPB4mlxIDQuJIshon+JTOEMIgMiZNL9IjEWmUBOWukl3yNCXjBy5PQ5WS2aXRuSJGCxIhoWIRKmmC5a5Bm6Rfedox1qIqlx00myUMMR4g1WmwShpEliYOsRIerF5FIqZUeSHSplnh9GUk7+5G9d4U1akFVqZZs1FTmqVRkaZfBkJdmV5JkpoVkpnht62eJ5IB6enOOZC7ncXjMOIDgC/t5KbSUFjaMY7qJG9iUOpqNYklXGJaH20BhEHiEZyd8JzZ5ZgtSqddfGidctCeUfyuNgFqOLQSHDhSRc0spHBmJNZqbl3VtJ2eIInqYJ1hdqMmT2kBRsYlLnOchdilWRmKINkiZJrl+E6WUEzaAL/qNhuOVi6qbBQRc7oZgyRaN2Rde8TaFy1h//3VlPrlMUkWVKGqdk7uNl9lonzmDLvaBv6lqWaSdXXKRi6tq1NeT5MRcRQSbciZltDpgU5qZ5fh3jjSeV6Ge8WebVcZ9UUiWhjeZ92qN5ohVepCBnpmaB2uSMCCV/qpBnNmgL1uXdkRqBdqUl6mQmHlx1duZ3/lJoh2aoy32o+mGnOJroekWoIoooFVooMKqogcCo79UmJ4aoi9oliq6cjX4HjeJej84Vi3rOkObo0vwohsnojO7oTirpVU6okY4ekvamk6LHlNJdkA4ZlEYpljJpiS5oglyp02Up+eEol0qpl3obmTZMmlZolVLalp5pwYkpea2pBJHoi75pZhVp2MkpmuLprdmpqrSpjoJp1MWpnwYqoV6ooTbIon6foIKkmSbqnD4qDOppeNBppTbqk04qpaqppfpYpAaHpn5pgMIgomrVp8JcqCYppvpoq17eqFpaqkLUqk5drK7oq9pJro7prmqpp96jcN7qXvZqnf7qkRjr/qaeqqjWqlBxKrEuH5/yIbKyKaAWKrMmqbMWZxhGK7VeK6Nm64mCK6RWa15uqwFqmrfKoLL21qxuGofmKbTCabCuq66S66XOq3iUKqjq643upL3GKL6KqrkO6sD+qbgqoEduI5YGbL7Gq6L6K6werKwWrCK62rSOm8NSKcXea8Iuacf6qsS+kCt2p6xurKuG7LGOLNa1a79+LOeVDLqirJ6p7FVaLKm6bMTCrBcdT8a6zc/SrGhCrObhrJzZrKm+pTYNq/jVKDcKLa4iLaUZLbwGrU9SLeX0YSbS4WpB7bcSbbgqLfLobNGyrInJbL0KX7p6rTCSLQJi7UlJ7c6K/i2r8iZelh8fHSDRsC0QGue75onbCizPCmOT2WV38Svftqzc6iHcGuTihi3T9ia6ZkvimuHjCmnjStzlPizdHky1fOHWPhTXVm7YBe6QZS4Egm25mu3Ykgrovijpvu3m7hrqgqXq1mjtZio2QpAFzmzsRu3tEizr3mnwImznugvvJq8j+a58ze7vHm3xcuzgKojpCu/0/ony5iIDWS0KWd/CPq/nVm/NXq/uOq/0Hm+5ZO/ELW/atqdrgu+yma/C5e6HyW/U0S+vau/usi/Aiq7/wi8KiW9e4q/f2e/Kki9R6a8Cv26Fjm7gAfCRCvD8Dq/BRm+XUnBxKfD60ubk/k4cBAOtBBcZAQuoBYssAiPM/i5waLXv+z7wBztPCBPU38ZtCfPoCFvrBm8wAxvu09bjC8Owrdlt8yJuGd2wMlLqDBNJCuvwCvcv+H3vD7PKgHkaHBow9WJwzlqxuxpxBRuozjVx6LpkFGdtFYGc93Jv6qLvuNbwsqpxTy1x0+ww3o7x0qovVnhv3Z6w4rJx0kbuG2twHIMx7NJxHtPmWI0W8LoxyPLxyyoyOMHxj8kxpBJyIT9xXSBy3nHxcMbwzWLxGntxkEiy01JyJkukKcveY6qiIyuxFk+tJ4cpJH/xf4YxKStsanUgIKWy5epxsrbynmpyFudwIM/yINey/i0vp4K6pS/nLy/jMBoXsh/bivoOc7vRsv0Y8x+TjTcOKBGnHDAvHSPPbTQ/MiBHsiA3sFpgczbjlHW+hxDv8ipbKSdv8SsvcteQnNoCHzGjcxXrsjo7amr54rNCMxTD8jLLbjMX8ZKwC6DBmigD6eHO8z9v22xm3QGV7NkW9CI/cyKPsxSjS8p42T2fMw9PZrdOdAJH3/R+szfXMw1zdCkndEun07OiRsc9tJQKpgujNApvL6bKdMQkseaGc9kC9dD6MKp83PYyL0+DcH569GfC9FEaNfRKdSIJ9RV/BVsG1qftc0k3dbGiXTzfolWT8Fjvq0T/skuzsu0wonyS/vQcg7VWqqA/RxpBvzNblzW7rrU8t2VNszNcT7JchzVRI/RZl29hC+5hp3S2xSEHs/Bgk/FBd7RGA3Ricy5UZ2AtvgZOn2xk961uYrXt6vXXLnZPo01gj/Jnw/N9ijaxTfbp8nVWi0pnN+xqs/aBsjROpjXjyjZaK/P39i5k33YAdyxVx+9xA+4tTxZzn812SjZ4yqZy1vaYEjfwNJ7dMZ2l6fY28+JNNTd408xzI/dp/nXpPbYTW3fpijWA3HEd+zYkfll0hjd9Y8t4O7VWp6XSCnd6qzdy5zBoxCVl4/UmsyNvG3ZmY+9qJjXeLPVw+3f4+jTlxid3D61pJ6SB/i93fW84avczacd3PT7TE6K3NUN4BJ8y0ykbgV8sfG8oAM03h8e4j9z32iAKnYj0lVA3j5o4dFc0s/EmRqtygkuYfB845rY4M/81a5b3UH5lMfP4iSsTgAfYZa8x3Ya3dzuojG/5IX93ZX/0dAyavo20V8c1lEe5dCYfjw34NYJ3lgsrl8f5JeNnlQ81KGtfakP0maN5KG9kYbE5Pjb3mze2nBf6hHv5iit4OctyNT/5njPMdPv5FAG65EnWoJO1oWf6oWv5h2/ondtUnuf0owMxMtvnp5f2P2I5P9K5prd657r2xAqzOZe5YI86pDv2pZVWN1u4cLr5qvsprCc5/mYy+tY5uq2nrwWy7JD3eK8L+q8/V7DvNpLv8anvHK2r9rEjrx3X9RDXuUEz65dXYYZ7+1hScQYnt2VXO0Beu55nu7Y/NbdTeKcXeLYm+iuOu1Wauz+iO5ld+H7Gcp+zu6i7O7IzUrh/5tVypr2X14sXmqs/fE9Gey/LOrGHZrsT/Dqzzq7/+4LG+70XuYZDvMh7pMTjsLqDiY7PKcYXPLmLcMd7/B3yjcOPPM3D+MKf9smTeaPz88qTc8vLsIrCfFQ2vBWLnXsP+0z7e+tSfMDv/Ff3PLTP+39Hc5C7uMwX/bbru73x+sErOtPjucB7NtSDefHePFDKqNCDc75n/j3Ubfxx8ntffz2oh71tj33UU2DVX7WS5r1ZR3TNtzqNR3nO53ioi73dez2RmX0GlfwRs/rfu3rgF7fcd7XTm/nhd+HBKv5cT3vfO/7ja3rkk/rg71Dh1/3lp3Tipz0p1vxuqr4zQ5ZjnqHbP12F2znSg33l1/rpn3bq833dPX7r+/5v/zxzmvqzn7vSK/TkW3vuY/vuc3zZu74l/33wz365S/nnUz+rS+uPpLzLPT/q4731azbn97vfZ7+ch35Ql4r3qyn48774tyr6w3vXI3b9zT/Nq//dMfX7M3PvIylAABA4kGBBgwcRJlS4kGFDh/8gRpQ4EaJDABQxZtS4/pFjR48fQU4s6NFiSZMnUaZUuZJly4QkH4aUOZNmTZs3cebEeFFnT58/gQYVWnFoUaNHkSZVupRpU6cZRz6VOpVqUotVsYKMmpWjS68luYa9GpZsWaE8zaZVOxTtWrdv4caVm3br3J9f8eZVKXOsXal13eoVbNAv0r6FEZNtm5hx4MaPIUeWTJfgZJqDMWcmHPKw5aCA12oe7DlnZ9Kney5Gvbqo6qyVJcJmPZt27a6ydTI0K5r3aM4xbd8EvbN3cePHkQ+E2TB4c5LOodd0TVV5RYEio2fX/ni4VpZYk4c/yRf49uXXO4pXv579+PTlzTufHt/8/L9Q0dqnv5///tPut/P6q70B/8OPuf40KlAx3MpSEDrTEFxNvwhtm7Ap+66zkMINORSOwfcy6zA0+Dh08B8CUUyRvfMWElFCF6PTkKnqiIPRxhvJoxHE3nAEj8QNTVRRyCGLY1GhHieTEcnGlFzSySfF+tDAg2YCC8qlIKTQxNd0pAw9/rK8Mq4mxZSLTC7PLFPN2bbcTDrZjlyTrR+1lFJOMOm8ky49I0uTuvz4DLS5IO3M8Uvr3PyMyPUMbRHGLQUNLsxIX6M0MT8tzVRQQg/1sMuIqFR0UfEajdNFTkdNVdW9dnRUU8VetQtTLD+N1VbuCo2t1sv+SzS1VZEr9aVHcwUV2GOR/nV1o0lvnbFZuGb9jKIvO33WWjOLRTTaE30VCdJYmcVzV2+TLddcC8O9tivh1FVr27uwm7bdeQPLlttxvXPwW03TpW/f+qwUVzd6qzSWL4JhTRjUnRBumKs2/9UW1XfX7De+iIHEWMI8HZZ3WnQ7Bq9BX/EN2eQ5S9a12ylDZfHXc0P87cBT7b1RY9QsPvkyne/j2WcEv/Xto5uNhRkzYRGycWKjmR7SyGF/hjdqLBFLeeqrW0Wa1UbpzXm7pZsOm8Cnk8Za4popNjvBwqhV2+2hayb3u7dVHphmq8XOO0WyW8baNQ3Tpjs2wQkn7eaUCq9b2Q7B1tvxYFs1NfGh/if3KfDSqq1c84+thrtsLx+fO1+7RSSa1s79i7tCjnleee3Ncbo8dm1hr13ir0NvSWvXIzRdKd9Rzhz3mf1m+DnbpWuQc9mRtxb4S3MX3XPSGbc3+uuLjBxqvxcT3uPmD1aYOO/B9/n58senvkTrsW8/ZgDVL595uud/k/wT0Tf7/PwVl7x6vN0XQL3wjXfmoxbg+Ee5BC7wQqpjoPY+Vzr2CZCCLiHg/sA1OPwd74FQ6eAHjYLBBHpNO42r4AnTRUKCqeZ+CwPh914Yw9w40DMoJN4FaZgdE9qQhxFMEOtqVz+3CVGG/BPhXHroPwj27X8tfFiygAbEkznReEXc/qAVsVilHFpRhTGaYBLB6EOWKVFtTSKi/kbUPSpmkV9bLGIXH/TFMM4RgDcUnBPPWDw27tFlfMQh6gAGyD+58ShHZAwc6ZfFPI7Oj7xqoyBrSEcHInJQhJyRJQsJSTZJMWSdktEipwZKDjZSi49c42kkOUlOXgyTv2tlazTJGkpe628K5KLy0pO/AGXKkGNK5SnvFb86xdIpvcQcMGkzS1oGTZEjs6PtdmkpY4JPmbXZ4S9P+EdkFk6UP+vmunKpy6+Ycn6rDJ4kdzdNyVwTmxTU5jcjhUAswvN189ymwXjZygG68pfpfGUy/znIavZooLeq5ShlSM8p2dNP90SS/sZ4FEJs+pOY8gloMaUnTXM2DFMKNZlHYWhPA2oSch/daAkvejqv5POZ1GzmglJKyjLtSz0mbWnv5NhOHr6TgSDtmE89J1N1QSpgoxPmUE+qw5hK9GibSuoUbflGXy5VqMTq3PZEVUAt9lNmR41iRTGqGafeNJQZimpCQefQIBYURxADK6/e2r85UlStlYyrSt93J7aCC1CceSlMGYo4vtaxrjZ5XjvpClRo5VSnKOTpHXkiz1u+RZ0/ZWL67mpVPGYWrordz15xxtjGVvCxiZOsVLHF2ZF6ipznEShHnxpHwo7WsUvUqs5uq8HJiuVsHSwst1qbtdRlFrFdXdz6/mZLW9LatrJ8Omg4d/tELm7rt5oFXHODWd2zzdW4ZBzmZpVbW/gdN2qePC1aqzrcjmpXglcV413ea9iJdheryGUvU+9btHtid6peheZfnXlZagpYbqpt4idJWNQZctWo3sVpcsMbwNIaEcDSxU9PM0opmpIqq+ikb3wfDN4Iu5O5VMVthUUG3QWa5FkRK2mH6ZhYpYl2xNeb8NtQ59kV4hKc6R2sQyOK29ha1MDnPMu/CIxSsp4YuERBaAx1DDIf/5i60TTMfBtc39SC2FP5PeeqvupfqIa0nqiN0pKhKWaWenm7SeZnKmXsF+FdJKD8lS+ywkxel85zyupVMJWH/gfnD7vZXcvS1cvYDGNV5dnBIwWmjrvW5wZKqdFjTTT6QFtIQ6vsmJeGL577k2leDu6TKJY0LFuIntzKyc6aE7VEOVejLqOrxiQeb6XH3OQrbjq6p4Y13OoGaMvpWaAezjKXF1tkxW0ZWIzW8p577es5eSfWwbXf1qZS3GMTWmCQZpm7Wl0vNMPO2+0q9xvBOz5rD3olAmLw9IiNq7iys9Z6uzGmTS3tDmN2Pp7+rCrzWt4hZ/u9vw33Vs+dXWcjO9eATLjz9G2VSSk71HE7TlnHPbILH7rTD9evuP0t54HT0skl77GZI37lZzfLrdxenprn9Wq23AafsaNxvR93/u/ymvy8UP52gSmecmFHbtb6XfW1jQ1vXO8GJroueolxLjadQxvlNQf6wYWupokt2LxHR3jSp07Zks375lHPW9ivZkZTZw4wQYeynbxesS8iejou/3qM2Y11iXOd1ma3MdRDvikXamXtLKS0x4e4vXjrCVV077fe7bv4qh0Zwn63N+ARX7pdP/mFfztUdwI/wnGuue9VLlDcMb/cbaMeWpQXseVzjnluhi/abfZe6MU555W5vdt9nHWq64xlpa88jSy2Oe8dv+iKZ9yyacq8rTB0eMhv7n69wr2Sqcj67Mpx2O9Gu7ir+Onr3/lYC7e7AQnP56wralnFGr8Xc2x3/skbHWEyv3K8gDL9d6LI/NqHrZKeL4PWL//YTkHeD/5OSWh8z9xGDk1MrvteD/Yu79aIT8gMK9+EawCNTn30D6AEycqMqmsa8Mxcr/QkcALbj/kcpqPyrWyWTtIGBuZmKodWyke8T/asa/9OsPxwEI04jfNAyPOSRkdM7O0+pAIZj5AE64lukAIZDuQorgOd8PxKMAAlTgVNivaqDlGq7WM0kHuICwkJrglTUAYBq8AIsPJ20Gi+zwJ3Rv28ZeO88Asx7gAnx/7U7Q096F4g0ATXsGna0KZWzQr5Rdbm8BDp0NEIcQVHMEeSp8ycjvz88A/ZsAcpDA7lCg9hcBGr/qYIBwwLue5N5NDqkA4ylvBVNHEFC+8UE9GRSE/aEixoDucJSzGS3COeGjHtCq+U1g8ELY0T62+V4mf+YMoO8SoVJSUXQwkDW3H1UGLdQE78wM4Sf2hmQNEGI5ASYSYQqY8ZjUQD8QIai08a8c4ZcwoNiTGtdFAbF4UbXc0bf+MLK8oY7YoeGakPy3H4GO70qFDs1JAdQW0K/S+RMNHm6JCY7HF1kC8U8ZG7zDFlssUTwyohofDPWOkaCQcY42nYEpEi2ysba+r/xKyOQERWJFLebvHfMPKOdpE8mlER11GsRFLySBJAfofvQizDAskM73AVn/Elhewfk4McHVIf/rkt4FoDJ1MPIInEHStHIwXv5YwPKAXxugaEKMMozspwn+5uJZdtKZlSSJyyJwvSOniRKjsJbcamIbMy7yKyqfQQCLkGLMNyb6gR38oSLcnN4rBLClVyJMOwofyq41CJNwhKGXcuL/XS1VRnIBEOK8FIK6vx00xyITNJNK4EGesPHhcTshyuLzlL24zSMZPRMiHTFzMTMb2JMzsTxwAO906yrVQTTQyu7OpyVMbStFizNeFLHDNQ5aCyMNEsNIGs4EwPJG9T+QTSL1FxN3lzwXxzRzoPiIjT+epOjZRyOZOzKe9SfliTFlsTPFPTNHdD+NoQKc/qEGuTPCVRMxVu/vl4UjcVc/vS8SC9UjbZsxinUTshEi618IcisRaTrT6rsP+YsxAVkx/z84N+UqMWlAkF7SGBTwENxSYJky63c0W605u6J/1q7zODMyifySM36UFpcz+3Etf+CfnWEzkzlDv5k0QJKvx4bQsD9D0GECxkFAFDFKmGk71i6Zvo7UX5b0M5tDFXUWZyVIl2VLaaNO1mE78W6UD5TTn/kkDls/bo8z73CMSetB57dJm4FK4ekXakNCaJlMNiNEw/Kz07L0VfEBYj6EtLk06BE0WrMT47rUzlpgTRNE2H0khbh0Yh0eee8/cOLzoVMkJHc5riFP/ytA//FFAvTlCZjE/R/utQ+U4MZ9BEuQkxLVIu8/Dp1pRSQ3JNe8o5NfXDFNWazNNSG/VRv/IKXdRUrxJWy8pNg5AjV9UQNSw20yofc3NLF8dT57JUbTVQUXXFfDIle5UUfzHQ8HSMOJUVfxBRUc1OK9NYAwxLd4woALBZpxIcZfVXuZV+WKeoorBa9odKRY40bVFPI82Feu5NfbXpyHVMO1VbWyddHUzZMIQL6W5SkxUzcVUQCyZBE5BNg7FWgPXA5HTJGg1ga/RGv45gCxY9pZJT33E++fUTLdRHP/ZhretRlQVgrxMRBRROM7Y9hlUEIfXkMjXiDovWAPQV+4sRvfKo5lE8j5VlW5ZR/g72pwh1D7UUBo8MX+81WiuSYfukEUnnXOFNWrnySsu1YR1OVRtJ7TDUZ5/EL/WV1aI0bGnVaZFVJ6mWY59Sa/2oQYHWbXHRWJ015qJ0Y7d1EoNWaJf1U3WVQbOOa8/2apfEznRnJgX3+O7WcAwWswyUZOf1aPtMdgrrY01RIlFTZL31mBK3cjWWceEzc+l2m8xWTEbXeS5ncku3W6twbhz3I0GXyCg3E6s2BD/3cM0tDvvWt/62dUO3usIxfXRWXmUlO/3ROPSqbn/1AuczcvHFXaEEokYPfoL3dc2EeIvvd/vneMl2GZd3yhKQ+vhypXhX7ra3bBtwSPM2e/Z2/vZE9YFSl+WW9gE/VShJZHy1DnlnzkNJ9W3T98XylHpJjsyM1kZPre4G2LRs8yil9mvx9ywG8/hqtX+Nd2hVUXkh13sPePDuMIHNaIGdJFw8eCIRb25pl3yFlyAv2Mfgdn4jGETf11V/9IXH625zxnk7sXxXs3tV+D9ZuIMnLoQfijrhlS1P134hOFRvR2xxuMWyj22fNS3BalyNmHSF2GshMFKtl0lO0YbZpoEFUMVmVt9yhYsHN/hIuGJ7lyY/L+6CFMGyuEolWFn5d4o/mBZl+KF294E3OOiQ+OMMFwl3ZRD3i4c7C2/juFLXVxcFuGh3Veg8L4MzElghhI5r/ldt59iKLTZ+L5ZH+/g9u81201iPwxgWIXnzengMz1hMT/jqTnhcArOFD1kmE5l7Y7ZQ7TXlDJiRcfdIPdI972aViXVMLXkB/zeW/ZdaMTnmdLmWb5lmU5njeLncQNm5qpiV3S92ybgqsM1fvDhQ2mKN7nhGHZmQN3abmXZAp1dFVY0Ygfh/g3iJD6mbGW+ZdYuAn/gD+5GB23l50hmQ43OfPVef87lEgdl0r1VmDTU8lda2UJGSpfeP93GYtRig35WiRXiaGTBhU9g+iTicz0ytfJnK1Dmb0xCWjZlCkXmgYbZoctd9e7FlgAej65ikrLWHR7o8AXhWL/mkURqO/lVamRc5qHXXkVkokwuZpDcGkixojwEzbRDSZt+4nHl6cXfao0PNibu0lI/aoXcSAKM3kuE5BTEVjFfWPsM61+w5cksZwZL5nDEWqV1Xpp9mrBG6kA/MosHtrD8Kq9lohX3aJXH2gooZriNPrqXajTZrYLt2qtuNgslyo6sKcFOUTANbe4TFpiV6sKmXbEl6XGO1oAk6p30Qsp8Te801+6CXq2e6ld0Dr+mvv8zJtHPSsGk5rb13RaMldicataNYtctYBf2aDzsupdCXsb9as38ahW17h9nPICu7DBnStSCa0J5xXW/vrorbuJd6lr1Th9NLsm82mqcnuqVzurWq/n7ZDJyP05C1WzBeliW9O7LjkehE1CqP8x6xdvEimnnAu6xTur1n978JW+v4WpGeeQPbOgndC3UXXLdhWM3IC2Wp7UKLl8HHLbOTGrT1iLRlqr+XVp4/97PVd4WSqkX4+Lophowd02uSWzg1XJE5nJQ86sUh9q2PO40xOsJbFIOyG8DN2aeHeMOX+7t5l7YjT8SDjMTL11EWcr1hu6FiK8ifVq87qcA11bPduqoN07wdFcPHm8IrEulsV8o5l8YTM8a3lkEGGssbusG7acBD28jLmxzl164HFJ8HjsxRUrSFfJR9rQA7VJvy+8snsp8T3H42lb852MfR1pr1PIfR/rxtR7WeB7u+g8rdrPrJvRzTi9pPF5vRpSikbze+hcrwcpm5pvfS1cvQf7qTr42Zo9rRQX27qzpVSb3U80P32hPOk8S3oRQUG9vT9+3TZ33+RH2orLyvHRa3N/2dHZzVva4G8avONzlwiz3UQfxbI/2JU7pVO5yTJrbZRdm/NT24tfzZpVTOzSfZWxHFs12pXHuKwH2LHv1Mocfczz3e34zPYXzID7Vwh24TL/ytfN2dy3zMD5yTxX20/b20Xf25bzuG36XgAzrfrx3bqZxobz08Dz3LI76pKROJFv3iH/7YA3jbu7R52acOM13BQb77RHHSTJrkU+jdgRrllX3c/jUZitE9v28a5t+wySmeqfm9tv28gDV5Vjp+PHteyV/+ZdLQyIid5tHX1nG+BbUauRf+MPWd59W4p4E+1mWX6vEdwZe+zxOavLv+a9faLdX9yP+8it37y8SeqDO+gq/e6mik5RUe5rjs7H+Z75W4qefe8Ya93W1+1POe2iOru/UXi382bpteBGM45BO23l8b8e+eo9hduHdZhetq7e998nHcn516v0yzx8leDE0e4jY+zbHb9CAe9Dc/NfzMxlf/vZX76G3/EntzhmafyGsfr+re9lafzQ+b1zOT3RP/i1va8+XL22W8+Xe9AIs/mI+/5of/cRseRymd6rw/ZCnb/kFJnwG337lVdsdfsvVbrPPxSfCxr19kUfRHH/7v9/zZpf2g1c4138whvfsB4p/AgQQLCgQAwKDChQwbOnwIMaLEiRQrWnSYcGJGiAg7evwI0uPFkSRLmjz57yPKlSxbunwJk2PIkDFjbmyIMOXNkSpr+vwJNKhQnDNBDj2KNCnJnUqbOn36kCnUqVSrUpTKsqhWrFa7nuzpNazYqVtFjmVoFm1Ok2CJln0LN67cuXTr2r2LN67Mt2f7+sX4N7BgjlnX6uQ6OLHTti7hKn68kDHkyZQJ6q2MEbFEyQrzev4MOrTo0Xj3lsWMOqnm1KyFro5ouONAw61rK31tO3dB/s66e0O97Naob4O8d5M+jjy58uUzTW8dDp1n9OlZUe68Tj37UtlRhWsfzDy8+PHkSR8+nZnmU97cSxb/Dn8o8Pj0cdOPb7870/b3+wt/rV5/Z5VHYIEGHniXfrQtdt2COn2VloAS1jTfhNPlZyF0GGbIYWTeXbVhh/JFKGKJxvGVXlWI0eagRe/NhmCMMs6IYnromdhbiDimpiNOOw4nmY4tgvijdSQW2WGFnQ15EX8adXdQj5YdiWSVMNZoJWpSZgmeke1tyaWKTgoJJpNhBgfmma0pSZyZFTmpEZxTugkblWriyOadgqWpZ1h8WnZen5i9qBZogjp36H15znnc/naayfmmnYlauOikflrKo5cpzQYjpo+ZBWBoni4J6ai6VRolcuBJaip+jrU61p+wHiXrQYHOSlmohuL6Ime+UvlrqY62SKhqrBZKrJ2onmfensfieuGr0FpV67Q+VbtRttZW91uZ1Zb4XoCpkiguswuWy9aH5n47rLCkkqvuuM+luJK7XRVLY7765uucVtuq+O9f7AbcZF1o1juwp4SWyl1PDYO6lsN0yltnRhLjVmykD2MMMVcMS1toYQk39uy6+56M8nL9FkXwby0PuNiJ9h4KKYbfTvyyzKt9nFC5NMn288To2jgzo0WnGLSuJfN8Y8iKLp1y1FKrquC8Oat2/vWlTd20n7UO2nzVylkfjOyYRvG87mFp68cTzqRCqBLQ8b5ddbJYejjyk1XD7fbYky3rd0t5B76ZdS4CTdy/X4I4F+FeunkxxWrjLbnOFbftMZNoU85sqpW7F7GyIOM9d1D48q301KqvbtfKzTkO1OCwA/bV5Gy9nBPYes+Oed8+qzt0u32vfSW8jP1+fOm9z7wsy7d9nni6zLNOffWjk2417zDJrn1n2yuv/fDclz0+pcfGDWz6R8e5fvE9ixRs7vCrb7f8cuJbssnBXzs8p0Z7Lz2hWW+ABMTf3brHLQTSimTYMY0ClyS41+kMfJgKFwVtsz/s9Y9o57rg4Q7Y/iZZtc9/7wJUAFNXwBSyznUZfGCTXCifx+3uQZ3iVYQ8mDEFocl5NrRX0eIXIiBqqmAWy5/lJhe574FQZqh7IQebWDcVSjFqLPQgDAt3xdgZ7k0m7GKWesUieIHObZALFrQWpjn7ze99OZSX/YhHlaSJTW7oG1jzrDjBDXbOLVDMomIA58eoBPJaRtJYWkaYJNqdCIBlW2SUZLJDtZyRVchbY9oQ6Tk5ioWOUGOjJVtIxKZpsJMSFBgpp4hKlFWxjYNkZCsbs0Vz5exREHSlLa8UPT6+y0x65BIYNya5jYWOT6x02gcrhjNhSqWYyMwe59y4Sx6acnqprOa+VmnE/lfmUpsJVKJ9ypcY3RHFfW1S5JxuWUL3lXGS66uk2ZhJITy6sVagjN312DdMCWKSiyfEpjX/OR5/9vKV4FTgn3C4xPrkh2NhhJojt7nDFu7zi9nsXB3r58llVrSZFj1lEw24Qfbc05ClxFo/uekXQKLUiyu9XR8hyVIOGQwp7sQnEDd6JnjOk3HGw2lE80grecJRbCEUJU/rGUqVkq2lmxwpU9H5VH4yUIC2MpE4WfipkppKp7jcI9v2ONH/2S6EW0tmx6AXzDQmtKvzlGY3BXnSqN7LqXIlYV1dFEt11qlPaFRrQf3YV6Ii7WwDVScbYyXAOg61nnfMKPCU1TYs/o4xsQCtrIEE+terZTZ8jyvspB71zc0eNaxVsqAB56hG0qoNqa5BqGMP+8woarWos9Wr55xFTcvqljyYvauPfIvX2hGRrXqi5Qxbm7/aVvB8yTUrML06RrQOd7oZU6Y3nRnNdirXT6fcrXeV01vgQlW8v3UpWmppO89iMGzj3CtN4aneInGVtuITahQjyErW7vQnjZ2ofRmU2+8KuFGy1W9LRTs7Yhp1UyxFsFd8txdjvje7Q4rvj35J2dRBF2Gqpe2GKQbSjH4YURQGZYdvG5gQD3jFu+KgW8nLYBjDZnuXe6j5GreZ7Xq4kJLMDDt5+d+frumx+SVyRYfWWJGt/urEMv7ggsXrYMexK8rrPS5EzVuY9moZVoEl8RF/iNP55jhzPdrcMUep4xtbuMkk9RebY/zm8wrXrnAOnJjrDFcf93jLrery29xZX8Xe96t0O7OhyRpbG+cxzajz6W0cHefluZnNVLZzZ2t70UoDzMq7YZSk12rYBPUQyMkTdKE1NtREjxKoNg10T9/5aoxOmnyuvvOtivdSWrN4160rcJC1qemxbbaBdJbQTOVcVPZKNqKinhWGNfrcl1gXbtKtbj6LSOa0YhujtxUpqE0WXR4bp7ORDuq35RrsrA3bnBO66nhxnWeRfebHIvz1quXN5MUaGdbtYyxdUbxoM09z/s3l9rWts5huzbqsnM5mH58hlC56E22XHb2fR/t550xTXOM7nri1v12zWSu6LwcvuMEh3cqEz5K/BK+PsrGX6+1EfNQr2ncHS43yNtNTqAYe9GhfjGhd0gvLU865yZspchirHHemoxld5tpyOz9r2lS/NsDj+VwhRpi6YT5rUpMedAmLHZ9wLnq+j47mnqN06S2THdv3FJm4j+idNbzu2cE19dTePNblk6PfXTt2XPr7tWMdeahNTCdqytDsUUd7wO2dcsfH9OsGvvupaMzpwuNZiRKnteaJa3jT6f2wmnQxqw37efqS3ubQfrLRRpNXyIvVxbyuvVzCS2nJF9uJ/sjOvIim/HLQV9WenW9k6o8vvcBTvOP0SqLWv/r82T++rwRO6uRjXmLbax/sqmd0VN8esMERi914wnyOQ8+9xicpm4DeOc4t7/nXu9/oJ/dhcgxHf+brHr+u9y34FWd3rQd0/iF3V2ZP7wdTMkdzHkc/GuZhQlRyxmc5GbdG3OZk2JVsQ0R040Ju+ydt/1ZX/7ctBwU/CvN0X8cgM+dslCR7p7dfY5Z/lzZ//BZSIMhkHcY11+WBH3hu3+eBCpaDgwV/WhJ8BkhDdTdZKFQaCzh0E7d1p8Y4iLVtAlhjztdcILdmQzhVSrh9XchoSnVgP+hNw9dgAMhwRghvekZ7/r22gvaXbaUXdqFnExjYaA1yWn9nat2ndvARgTuoPy0IWGLIcrZEbFs1XsZlW9c3bo5SfNkFVJxEg3YYg9PXgzUGhasGiW+EZDaofik2iX4Ihislgl4DYNz3WZiGiJ32bkhYMI24fFU3hd3mdR+HWTjGiKoGc0g0i6KDhVTjiQHmhcHoWv13V6M4LW63ilK3MwWoimpoUOzHei6YaqaXfTqHSO33c9KYdhcEXriVYcIIjt84gMBljGfEYfmUKGyHFev4hAhUZBYHj6k1YnujeviWeBUoYhw3gQ2IdOOYhtaILXMIjOEojLjXZOXIK3l1hKeYfj9HjNDUPX3Yagmz/oc+V4/yJ40VyWyIF0SmSI+714F+eI50SI6CiGV1hpA8uHcec3UXWCnu5iEQKWVHxo/tuIWg9W/KszlWmHU1WX8t95CEJn9A2ImSF4prZ5Jp6G0emR0IaIloKHxkSBgko38xyYR8hIdGt0862Wz0NVzYmImrp2L+6JD5x5JQCYMpiXBOpZFSlpRSySKww5RTgpYZKHog6HTCkpV0VIejtY1/GU0TeXxhuVqEFVqVqGufCJMXKJL2OIAdJIpvWXaFGJXuAojR4StRKJXx1pbb2JlI8myvGF/FdFMbsoluqG0cpYvR9pNlNpdLESfY15iUh2nJ6EJq2WfLd2tddENW/rmIMnWZ44YtOsWGXBaDn7k8gSlpunmRqCeYGNmaAFmUrOibSTibMlibEIWbBLh/xNSMm7l5iggZQfmJ6HVCYHZ4UHKVuciA8UiFacmcXimBs6eP/wOBPrmGeESSAtl6I3mddYiKiEk42zkq+2E32Xc/5Pc3qCKC3qeHZESgv0hqNPl+KwmhcLKUAfo1HUOhfKeS+9lWmISDwUlO/5mEr+mD3ZlLvYmWAuigJHeP3pJbR/SR5zmdd+JnTgiLqQmfE/Sg8QKkh2R1OyZwS5Wf1IdyWsh/EfqMS8SkViWZlHlQCvpHCzWlzghbj4R0k/VAObpIYDl6yFeVQUKmR1Km/rImlp2EWmT2kN0oVXN3o0f3knE6glHqemSpIVZaLwpaYckZm7fJghWapWS1l861oRjKi4eqqG9omIKFlXPTX80inXjqZSZKm4MXhir6nVCVOQhKp/H0p7YpnuHJjif6fczlnoxZlfOJVhk6pldYg6zpSBk6lzeoR0oTkpbqkpRKl8AmmbzHjCC5kLliVhtZq+dXXiFqo8gZJhLZLYjqnlwTfdLFcoJqkLiIOSq5pLr6aS96ToH0pJ/1psIKnmc4ZKmarFPZhHFIYY4poIISmiQVn+0yr3+InyX6XqlKq7yaUpbnrN1JV8URrtQxsDQjmhXWf5/6aEEJowFoi+vZ/pz9qI1++nqAKZ/SNyCQipcZW5T/qnuLEhsFqyhR+ptL6q0SenYeC6dWqqRqtjOGim08WqMXm4jL6aPsaVMa+KPleYDqSq/cuqvZuamRp6llOHnwuIoRqrKi2ntlJSUta2x5p4SFmYfxh7MV65JXS5jPua7f6qlQ664gqppAW5als0xDe5t2ioHZwh9nm6cKW67LtrAqaJx6CXiFqiuVOpT9uI431KjTRY3OSYlgu6e+l7NkW7b7erJ+I7J8Na5wibYM26+hWpdoa7iiJ259hqrDNLZiVaTk45l5EqRglm2cM62HR6I5wrMA66Q+e0WNW1ydi7rXqCV6GrrMWlbU/taGvkOi2Fg3xuqRsue7gis8/Lppcmt9iDuRi8tNsIuj8+m2TTtjg3JslTuqkbS8OURacOsq/YaPH/W9pjWQwOif9YmvJ2q8cXSC1qm8aYmiT+W8amKgsSGUrluyC7q+/FWdw7q//Us6oeSK2eiYEwudA8yfhDu7qzuHyMq+7XutSvermZRnz5a6ucvAFmm//Bu3Gyyq28W8zdqhMTtiWrejfLusqlq/rEqtOzuEgLiY8urAD0xe8ZtTsgu58aa6DJROfCq9ltvDifmuxSW1+qZYePuItcaRxru1I2mhXJjEZiu5wYrDyRvDRzrEXotwEZyuIbq5A0uBCZiY/nu//mJsxRV8YYFqSZRjxGjTc5IqsfD3uUBMwa3pmk9JsVUsxwrMWUVLnVNsuYj6e0UIuPUHoDTcr5bpdTO7wrOayNkrtohGi9hqk8C7ua5Do2ETciOKwJF2lM1LsjJZuD88speLx5eMwdXqodTCc9HItZSMyC/LlWnSUDNYyq4MYUjJxzYSylIsIC/stIasUK8sj3FlpOf7yyK2N6e7cbAKosIcqP75obWcx5ksrUtriLkMyrBExk8zvW/liOnlmlFsKeKbb7hLFqscgWrHoExzxYIMnrKsx44nuoQ4SMD8RavqcBu5I/Eobc7YkuE5zeYsX+3shCncVKS7yFj8s1vJ/ol+y5GX+r7FLM0JXDMZ3KVabMyAwrkA3ZS2Vnn5i059yre3d4zHCXgHfUlqldJ2FKYMfW4kbdAWLcqHO9GDqzlUetHYPL8J2qscrNCVEdE2cbk3x8v1qsJbpZjiCHWfFI1LLINU23WV6KTpKx3EXNNcbFpymNMfS7PtNSbes9FMajzuPNNaKtPOGUZjNsh12z8undBRacffSsJDasrKt5ph3chl3NZICl+SQn/WLKd4CdgNp9PZ+o90FpfUu2e1uMm6rNaGvbssG8JIbDOs7L4z2MQZOYyPPFekrLdX3cm+qtMHymNfrdj7e9OcWrt0q7nOXHEZNo91/dmxbZ/f/ovPsq1x90nNnE0tZE3TV43VicrbblnYHEiuhxbPB/iw3UzFWh1c/nw4AVzALyixS5bKxNuXrUzRsZrcx229BQ3c9gpZdm1Qn4zYFAXSZ+3PgOzN5tmKEHuJXTXXDMW9PLnRdOPRdO25fsXboe3ZPm3DNa1UjV1Bavu+BC4mlMvchpvWtjyWXdnaMRoyYDq1MS3A2K3Gvduog8ew6U2VQtfA4Q04CK4w5l3U6GPWsavaW8xwiefZoiHd2A2HX3rSgXuL8V2PcNzSF0qeo5vc4gzewD2n9tyUGH1clPnPJI4wCj6UYovGflzWKX5oEY6TeI3QtH3HNx7iWCez0Rnk/kY9nt1tcqK7sXIZweN43xrMtokN1LbLtAD+ysbC2kitXe8o5k9t3ZEow0zkQGQhm9I8z1Be3tgM0Cr9zzfs3QMH0+F9wO0J24Mt0a+NzNuKceEr3LXKu6XLn39ey/5NtFztwwA+0nd+wJ7O6Io83Y56ztaa6jZqspIYrXha5+SNghzdo4xO5kEsbCb+5ruXigvK5KeObxZO7Ct76Hctwic1bcknyZEKe64ezace6DjtjgYOdLou7Mu1vYY+5ZQ3mDsezkScxjg+ydsNy9V3VN+d7tJe5kxF5KX1uBtcupAOqhec7cP+aQRstYxI4dP4U2xs2dVt0+fuxoYU6j+L/uvtftgw9O6gGeAcrVGsqLTVe+/QnM/KjOrKrt8ZbbpXyKPMpLgPzWEWT+kJj+22vsegzpxXet7U6+EVv+U2XrvpjM7XjXVtmoWNByqcXsr+3fCs8fMXZpfLOKnc++E9PcYwH/P7CIlgHumontv3erUwF/VQm2Qjr0VWDdojBSD1rMWIQztkRO1trvR3OaF63uoyj8HDS93ZjeHK7eRGP2cIL+Jcr/CWRuj1aodWFfRQRtCM3JPoSrpWnuaAT/hA+PHdffWfwvN4bOrgauQhjSxpB/QGus1lv+5PTZhOreozfk5GXOxt7/lw/e29mBc3Se6ZX/dBTOrimvcsPkKd/uryy435WU5ta9xLAG+tm6/UFs75bG/udGzqaZ3USq50d3+9vNP35QeFJ/brYf7yta/6cS3fu9jY9i3CIJ/Xtg9WGx/8XXvh8a7BuSrkyJ/oCWannFJY0VvU4eTm0s/9+y7uxq/ZNE/vHB73RCkkJ974VTztLA4Q/wQOJFjQ4EGECRUuZNjQ4UOIEQsCkFjR4kWMGTVu5PiP4kSQDAGMJFmSJMKTEz92ZNnS5UuYMWXOpFlzoMmFOHWW9MjT4M6UKoMSxPnTZ86jRHkWzcgUo9OEUKOapDrUZlKIK0P+3CjV5lewYcVqrFoWZVmqY9WujamV7Vu4cbfeRGv1pkK3/kbtyuXb1+9fwF+90oVaNaJhpYXTJsZKdjFfxC3rDp65t+Fks44tB+bcGTLmkZ5Fj0ZJ2vRpvFxTH8xLFLVku5Ffz6Y9mjLhqR9vJ84tsOjmlF534+65GW/jyz6NM27NGnTzystLZ+2KvPZ17MlBT8+Z3btF6N/Fh80rvfpk76H1yh7f3j1s6cBDsz8bnvBS9UiBFsdv3/djhwwzjz7nKBIwv/XQI886wIZ770HPnmtOQggr9M1CDGEqT7C5PEqvPKwQzHBEEvkLj70D/TNRxPpWVPGkFF3U7iIYAexNpLRqFO45HFXUjsUAGXTJwRKLBItC1i4zUjwfl3Tywg5V/jtMSfdERA7IJ7OsbbcdzUuwIiKFAjJMlsh8qEsskTyuyTW9lPJIIbWUEz7M5lySTTszBFFBMdGissrMjMpz0NPMJNRONXOTMNEpqdMMy0MjPYxHRf+LU1LIMM1yw9Xe9NTSupi00VBNS23rUlPlZLTARbejsVU864M0VVpB5VMlpT6tFa5Yd91Sr5rs69VXYmkltdgKV00QVhvBa7QpVJElVFkPoxxW2jKxhfBabbv1VqZjv/2OWt7k4vZVN8V1klpOXVP3yHfHjXdeesGNtt4PXV3zM7HCxfc9din9V8OBZzu3YITf9TfhCAU2beGs7mUYYIcnfutgi4PNeGOGfiHm+DN9S/X444crJhnek//COGWW8xy55bHInVZimF+TuWbJcI5rZZ17HvFln2m62WWag244ZKNzTrrfpZseFGin6bxVU6ijXhBpq5/KOlhmu/b6a7DDFntssss2+2y001Z7bbbbdvttuOOWe26667b7brzz1ntvvu3emqaAAAA7", "HTMLImage":"PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTCAzLjIvL0VOIj4KPGh0bWw+PGhlYWQ+PHRpdGxlPgpWaWV3L1ByaW50IExhYmVsPC90aXRsZT48L2hlYWQ+PHN0eWxlPgogICAgLnNtYWxsX3RleHQge2ZvbnQtc2l6ZTogODAlO30KICAgIC5sYXJnZV90ZXh0IHtmb250LXNpemU6IDExNSU7fQo8L3N0eWxlPgo8Ym9keSBiZ2NvbG9yPSIjRkZGRkZGIj4KPGRpdiBjbGFzcz0iaW5zdHJ1Y3Rpb25zLWRpdiI+Cjx0YWJsZSBjbGFzcz0iaW5zdHJ1Y3Rpb25zLXRhYmxlIiBuYW1lYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI2MDAiPjx0cj4KPHRkIGhlaWdodD0iNDEwIiBhbGlnbj0ibGVmdCIgdmFsaWduPSJ0b3AiPgo8QiBjbGFzcz0ibGFyZ2VfdGV4dCI+Vmlldy9QcmludCBMYWJlbDwvQj4KJm5ic3A7PGJyPgombmJzcDs8YnI+CjxvbCBjbGFzcz0ic21hbGxfdGV4dCI+IDxsaT48Yj5QcmludCB0aGUgbGFiZWw6PC9iPiAmbmJzcDsKU2VsZWN0IFByaW50IGZyb20gdGhlIEZpbGUgbWVudSBpbiB0aGlzIGJyb3dzZXIgd2luZG93IHRvIHByaW50IHRoZSBsYWJlbCBiZWxvdy48YnI+PGJyPjxsaT48Yj4KRm9sZCB0aGUgcHJpbnRlZCBsYWJlbCBhdCB0aGUgZG90dGVkIGxpbmUuPC9iPiAmbmJzcDsKUGxhY2UgdGhlIGxhYmVsIGluIGEgVVBTIFNoaXBwaW5nIFBvdWNoLiBJZiB5b3UgZG8gbm90IGhhdmUgYSBwb3VjaCwgYWZmaXggdGhlIGZvbGRlZCBsYWJlbCB1c2luZyBjbGVhciBwbGFzdGljIHNoaXBwaW5nIHRhcGUgb3ZlciB0aGUgZW50aXJlIGxhYmVsLjxicj48YnI+PGxpPjxiPkdFVFRJTkcgWU9VUiBTSElQTUVOVCBUTyBVUFM8L2I+PGJyPgo8Yj5DdXN0b21lcnMgd2l0aCBhIERhaWx5IFBpY2t1cDwvYj48dWw+PGxpPgpZb3VyIGRyaXZlciB3aWxsIHBpY2t1cCB5b3VyIHNoaXBtZW50KHMpIGFzIHVzdWFsLiA8L3VsPgogPGJyPiAKPGI+Q3VzdG9tZXJzIHdpdGhvdXQgYSBEYWlseSBQaWNrdXA8L2I+PHVsPjxsaT5UYWtlIHRoaXMgcGFja2FnZSB0byBhbnkgbG9jYXRpb24gb2YgVGhlIFVQUyBTdG9yZcKuLCBVUFMgRHJvcCBCb3gsIFVQUyBDdXN0b21lciBDZW50ZXIsIFVQUyBBbGxpYW5jZXMgKE9mZmljZSBEZXBvdMKuIG9yIFN0YXBsZXPCrikgb3IgQXV0aG9yaXplZCBTaGlwcGluZyBPdXRsZXQgbmVhciB5b3Ugb3IgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3d3dy51cHMuY29tL2NvbnRlbnQvdXMvZW4vaW5kZXguanN4Ij53d3cudXBzLmNvbS9jb250ZW50L3VzL2VuL2luZGV4LmpzeDwvYT4gYW5kIHNlbGVjdCBEcm9wIE9mZi48bGk+CkFpciBzaGlwbWVudHMgKGluY2x1ZGluZyBXb3JsZHdpZGUgRXhwcmVzcyBhbmQgRXhwZWRpdGVkKSBjYW4gYmUgcGlja2VkIHVwIG9yIGRyb3BwZWQgb2ZmLiBUbyBzY2hlZHVsZSBhIHBpY2t1cCwgb3IgdG8gZmluZCBhIGRyb3Atb2ZmIGxvY2F0aW9uLCBzZWxlY3QgdGhlIFBpY2t1cCBvciBEcm9wLW9mZiBpY29uIGZyb20gdGhlIFVQUyB0b29sIGJhci4gIDwvdWw+PC9vbD48L3RkPjwvdHI+PC90YWJsZT48dGFibGUgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9IjAiIHdpZHRoPSI2MDAiPgo8dHI+Cjx0ZCBjbGFzcz0ic21hbGxfdGV4dCIgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj4KJm5ic3A7Jm5ic3A7Jm5ic3A7CjxhIG5hbWU9ImZvbGRIZXJlIj5GT0xEIEhFUkU8L2E+PC90ZD4KPC90cj4KPHRyPgo8dGQgYWxpZ249ImxlZnQiIHZhbGlnbj0idG9wIj48aHI+CjwvdGQ+CjwvdHI+CjwvdGFibGU+Cgo8dGFibGU+Cjx0cj4KPHRkIGhlaWdodD0iMTAiPiZuYnNwOwo8L3RkPgo8L3RyPgo8L3RhYmxlPgoKPC9kaXY+Cjx0YWJsZSBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIwIiBjZWxsc3BhY2luZz0iMCIgd2lkdGg9IjY1MCIgPjx0cj4KPHRkIGFsaWduPSJsZWZ0IiB2YWxpZ249InRvcCI+CjxJTUcgU1JDPSIuL2xhYmVsMVoyMlZBMDAwMTk3MjE5NDI5LmdpZiIgaGVpZ2h0PSIzOTIiIHdpZHRoPSI2NTEiPgo8L3RkPgo8L3RyPjwvdGFibGU+CjwvYm9keT4KPC9odG1sPgo="}}}}}
      ups_response_json.txt
    • By Ronji
      Hi Guys

      Thank you to Richard Carlton for his video on integrating Zippapotamus with Filemaker and the zipcode lookup. In Australia you can have multiple cities for a zipcode and the parsing code is pulling out the first entry and I would like to populated a value list if more than 1 is returned?
      A scriptParameter is sending this: "place name"  &¶& $JSONdata
      to:
      Let (     ~startPosition = Position ( $JSONdata ; Quote ( $valueName ) ; 1 ; 1 ) + Length ( $valueName ) + 1 ;     Middle ( $JSONdata ; ~startPosition ; Position ( $JSONdata ; "\"" ; ~startPosition ; 1 ) - ~startPosition ) )
      Here is the JSON data

      {"post code": "4220", "country": "Australia", "country abbreviation": "AU", "places": [{"place name": "Burleigh Heads", "longitude": "153.45", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.1"}, {"place name": "Burleigh Waters", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}, {"place name": "Burleigh Town", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}, {"place name": "Miami", "longitude": "153.4341", "state": "Queensland", "state abbreviation": "QLD", "latitude": "-28.0895"}]}
      Only the first "Place name" is being returned. Thank you in advance. Ron
    • By Richard Carlton
       
      Setting Tax Rates in FM Starting Point | FMSP Videos | FileMaker 16 101 Training
      https://www.youtube.com/watch?v=uuV9jKW0TH8
      Most Recent Upload https://goo.gl/Dbn9fm
      Get up to speed with the FileMaker Pro 16 Video Training Course! 
      Top Rated Course by FileMaker Expert, Richard Carlton.  
      http://learningfilemaker.com/fmpro16.php
      Experience Richard's dynamic and exciting teaching format, while learning both basic, intermediate, and advanced FileMaker development skills. With 26 years of FileMaker experience and a long time speaker at FileMaker's Developer Conference, Richard will teach you all the ins and outs of building FileMaker Solutions.  
      The course is 50 hours of video content!
      Richard has been involved with the FileMaker platform since 1990 and has grown RCC into one of the largest top tier FileMaker consultancies worldwide. 
      Richard works closely with RCC's staff: a team of 28 FileMaker developers and supporting web designers. 
      He has offices in California, Nevada, and Texas.

      Richard has been a frequent speaker at the FileMaker Developers Conference on a variety of topics involving FileMaker for Startups and Entrepreneurs, and client-server integration.

      Richard is the Product Manager for FM Starting Point, the popular and most downloaded free FileMaker CRM Starter Solution.
      Looking for FM Starting Point free software download: http://www.fmstartingpoint.com
      Richard won 2015 Excellence Award from FileMaker Inc (Apple Inc) for outstanding video and product creation, leading to business development.

      RCC, Filemaker Videos, and LearningFileMaker.com are headquartered in Santa Clara, CA.
      http://www.rcconsulting.com/
      Please feel free to contact us at support@rcconsulting.com
      FileMaker Pro is simply a powerful software used to create custom apps that work seamlessly across iPad, iPhone, Windows, Mac, and the web
      Transform your business with the FileMaker Platform
      Free FileMaker Training Videos Channel https://www.youtube.com/user/FileMakerVideos
      50 Hour FileMaker Pro 16 Video Training Course-FileMaker 16 News-Online FileMaker 16 Training Videos
      https://www.youtube.com/watch?v=KpQqLLDcZ8I
      Playlist https://www.youtube.com/watch?v=KpQqLLDcZ8I&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_&index=13
      Top 10 New Features in FileMaker 16-FileMaker 16 News-FileMaker 16 Instructional Videos-FileMaker 16
      https://www.youtube.com/watch?v=urh8iHOCxkg
      Playlist https://www.youtube.com/watch?v=urh8iHOCxkg&t=130s&index=1&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_
      Sharing your Database with Other Devices and Users-FileMaker 16 News-FileMaker 16 Database Sharing
      https://www.youtube.com/watch?v=GF82vkYtCtA
      Playlist https://www.youtube.com/watch?v=GF82vkYtCtA&index=8&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_
      Introduction to FileMaker WebDirect 16-FileMaker 16 News-Online FileMaker 16 Training Videos
      https://www.youtube.com/watch?v=uaZKIpBjMAM
      Playlist https://www.youtube.com/watch?v=uaZKIpBjMAM&list=PLjTvUZtwtgBSVV1-4pFG4SHAhCIP3Yy-I&index=17&t=10s
      FileMaker Behavior Change-Go To Object-FileMaker 16 Video Training-FileMaker 16 News-FileMaker Video
      https://www.youtube.com/watch?v=MFwFjZem3AM
      Playlist https://www.youtube.com/watch?v=MFwFjZem3AM&index=15&list=PLjTvUZtwtgBQVDIUvoRkcvrMLi7sTZmj5
      A database management system (DBMS) is a computer software application that interacts with the user, other applications, and the database itself to capture and analyze data
       
      Official site provides the SDK, Developer's Guide, Reference, and Android Market for the open source project
      http://learningfilemaker.com/FIAS.html
      Video introduction to iOS App Training https://www.youtube.com/watch?v=cVxQe_yAshw
      Free FileMaker videos check out ...http://www.filemakervideos.com
      Download the FileMaker Pro 16 & FileMaker GO 16 for mobile devices training videos at http://www.learningfilemaker.com
      Download FileMaker Go 16 video training at http://learningfilemaker.com/FMGO-16/fmgo16.php
      Download FileMaker 16 Full Video Training Bundle at http://learningfilemaker.com/subscription.php
      FileMaker Video Training Review-FileMaker 16 Video Course Review-FileMaker Pro 16 101 Course Review
      https://www.youtube.com/watch?v=mF6Uor0KmKo
      Playlist https://www.youtube.com/watch?v=mF6Uor0KmKo&list=PLjTvUZtwtgBT8tNHuzF6cOKC_37zCTQl6&index=18
      Use FileMaker to create an app with the FileMaker Training Series
      FileMaker Pro is a cross-platform relational database application from FileMaker Inc.
      Please Comment, Like & Share Our Videos.
      Feel Free to Embed any of Our Videos on Your Blog or Website.
      Follow Us on Your Favorite Social Media
      https://www.facebook.com/FileMakerVideos
      https://twitter.com/filemakervideos
      https://plus.google.com/+FileMakerVideos/videos
      #WhatisFileMaker16
      #FileMakerPro16Training
      #FileMaker16VideoTutorial
      #FileMakerPro16Videos
      https://www.youtube.com/watch?v=uuV9jKW0TH8&index=53&list=PLjTvUZtwtgBTMCfjM6LLwBAwGf_yXfvd_
      http://feeds.feedburner.com/SettingTaxRatesInFmStartingPointFmspVideosFilemaker16101Training
    • By TJ53
      On a separate thread I asked Bruce Robertson if the new FM16 JSON functions could be used together with the virtual list technique he created. I haven’t experimented with it but I wonder if JSON adapt well to this great technique. Any thoughts? thanks!
    • By 357manch
      With the introduction of cURL options in FM16's Insert from URL script step I've been investigating the possibility of being able to save a copy of my FM solution directly to my Dropbox folder using the https://content.dropboxapi.com/2/files/upload element from Dropbox V2 API.
       
      I've successfully created the access token to pass through as part of this step and the Insert from URL script step successfully creates the stated folder and file in my Dropbox.  However, the file size is always 0 bytes.  I've tried 2 different methods
       
      METHOD 1
      #Export a compacted copy of this file to Temporary Folder
      Set Variable [ $file_path ; Get ( TemporaryPath ) & "Solution.fmp12" ]
      Save a Copy as [ "$file_path" ; compacted ]
       
      #Set my cURL options to variable
      Set Variable [ $curl_header ;
      "curl -X POST https://content.dropboxapi.com/2/files/upload \\" & ¶ &
      "--header \"Authorization: Bearer " & PREFERENCES::Dropbox_AccessToken & "\"  \\" & ¶ &
      "--header \"Dropbox-API-Arg: {\\\"path\\\": \\\"/DB2FM/Solution.fmp12\\\"}\" \\" & ¶ &
      "--header \"Content-Type: application/octet-stream\" \\" & ¶ &
      "--data-binary @" & $file_path ]
       
      #Dropbox URL
      Set Variable [ $dropbox_url ; "https://content.dropboxapi.com/2/files/upload" ]
       
      #Make Request - Set to variable adn then format to JSON field
      Insert from URL [ Verify SSL Certificates ; With dialog: Off ; $json ; $dropbox_url ; cURL options: $curl_header ]
      Set Field [ PREFERENCES:Dropbox_JSON ; JSONFormatElements ( $json ) ]
       
       
       
      METHOD 2
      #Export a compacted copy of this file to Temporary Folder and then import to a container field
      Set Variable [ $file_path ; Get ( TemporaryPath ) & "Solution.fmp12" ]  //note1
      Save a Copy as [ "$file_path" ; compacted ]  //note1
      Insert File [ PREFERENCES::Container ; "$file_path" ]  //note1
      #Set variable following instructions on FileMaker website which states:
      #  -  Direct file access is replaced with a FileMaker variable prefixed by the @ character.
      #  -  To access a file, you can set the variable to a container field, which contains the file, then use that variable as the parameter of the cURL option.
      Set Variable [ $container_path ; PREFERENCES::Container ]
       
      #Set my cURL options to variable
      Set Variable [ $curl_header ; 
      "curl -X POST https://content.dropboxapi.com/2/files/upload \\" & ¶ &
      "--header \"Authorization: Bearer " & PREFERENCES::Dropbox_AccessToken & "\"  \\" & ¶ &
      "--header \"Dropbox-API-Arg: {\\\"path\\\": \\\"/DB2FM/Solution.fmp12\\\"}\" \\" & ¶ &
      "--header \"Content-Type: application/octet-stream\" \\" & ¶ &
      "--data-binary @" & $container_path ]
       
      #Dropbox URL
      Set Variable [ $dropbox_url ; "https://content.dropboxapi.com/2/files/upload" ]
       
      #Make Request - Set to variable adn then format to JSON field
      Insert from URL [ Verify SSL Certificates ; With dialog: Off ; $json ; $dropbox_url ; cURL options: $curl_header ]
      Set Field [ PREFERENCES:Dropbox_JSON ; JSONFormatElements ( $json ) ]
       
       
       
      JSON Response For Both Methods
       
      I get the following JSON Response for both methods
      {
          "client_modified" : "2017-05-16T11:22:47Z",
          "content_hash" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
          "id" : "id:heJWQ1SWwJsAAAAAAcMWNw",
          "name" : "Solution.fmp12",
          "path_display" : "/DB2FM/Solution.fmp12",
          "path_lower" : "/db2fm/solution.fmp12",
          "rev" : "3a0412f00f58892",
          "server_modified" : "2017-05-16T11:22:48Z",
          "size" : 0
      }
       
      Any ideas as to why the file is created but with no content.  I've also tried this with a number of different file types (.png, .txt, .pdf) by manually inserting a file into the container and greying out the 3 steps marked //note1 above but the result is always the same.
       
×

Important Information

By using this site, you agree to our Terms of Use.