User Tools

Site Tools


osx:start

Table of Contents

OSX (MacOS)

A page for applications and tips relating to Apple's OS: OSX. Specifically, OSX versions “Lion” 10.7.3 through to 10.9 “Mavericks” on my 13-inch late-2013 MacBook Pro with Retina display.

Terminal Emulator (improved)

A Terminal application, with some nice bells and whistles. Exposé for tabs, search all windows (with highlighting), action replay!

http://www.iterm2.com/#/section/home

X11

No longer comes with OS 10.8 and newer. Replacement is at http://xquartz.macosforge.org/landing/

Middle-click via the trackpad

Paid (trail available):

Better Touch Tool: https://www.boastr.net/

Preferred because it _also_ allows me to customise the touchbar, which is ideal for adding a global shortcut to toggle microphone mute in Skype when in a conference call and working on other things:

And a TouchBar widget I wrote to toggle the microphone in https://appear.in/. See also its post in the BetterTouchTool community forum: https://community.folivora.ai/t/microphone-mute-unmute-in-https-appear-in-on-google-chrome-two-way-communication-with-a-tab/1765

{
  "BTTWidgetName" : "appear.in Mic",
  "BTTTriggerType" : 639,
  "BTTTriggerTypeDescription" : "Apple Script Widget",
  "BTTTriggerClass" : "BTTTriggerTypeTouchBar",
  "BTTPredefinedActionType" : 195,
  "BTTPredefinedActionName" : "Run Apple Script (async in background)",
  "BTTInlineAppleScript" : "tell application \"Google Chrome\"\r\tset theUrl to \"https:\/\/appear.in\/RedOctober\"\r\t\r\tif (count every window) = 0 then\r\t\texit repeat\r\tend if\r\t\r\tset found to false\r\trepeat with theWindow in every window\r\t\trepeat with theTab in every tab of theWindow\r\t\t\tif theTab's URL starts with theUrl then\r\t\t\t\tset found to true\r\t\t\t\texit repeat\r\t\t\tend if\r\t\tend repeat\r\t\t\r\t\tif found then\r\t\t\texit repeat\r\t\tend if\r\tend repeat\r\t\r\tif found then\r\t\tset query to \"\n               document.querySelector('button.VideoToolbar-item--mic').click()\n\t         \" as text\r\t\t\r\t\ttell theTab to execute javascript query\r\tend if\rend tell",
  "BTTScriptType" : "AppleScript",
  "BTTEnabled2" : 1,
  "BTTUUID" : "33B1A105-6F82-4EC4-AC9C-15C927992960",
  "BTTEnabled" : 1,
  "BTTOrder" : 3,
  "BTTIconData" : "TU0AKgAAkAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABgAAAAsAAAAQAAAAEwAAABYAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFwAAABcAAAAXAAAAFgAAABQAAAARAAAADAAAAAcAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAABgAAAAkAAAALAAAACgAAAAcAAAAEAAAAAgAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAKAAAAEsvLy17u7u6x+vr64v7+\/vf\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/\/\/\/+\/\/\/\/\/v\/\/\/\/7\/v7+9\/n5+ePu7u6yycnJXwAAABUAAAAMAAAABQAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAMGhoaFL6+vkrT09NpwcHBUikpKRkAAAAOAAAABgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAuOjo4t9fX1yP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/T09MmHh4cxAAAADgAAAAUAAAABAAAAAQAAAAEAAAADAAAACAAAABHDw8NV+Pj42v\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/z8\/OjJycleAAAAEQAAAAYAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAACZWVlTD7+\/vn\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7+\/vniYmJNAAAAAwAAAAEAAAAAgAAAAUAAAALOzs7Gujo6Jj\/\/\/\/+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7wcHBVgAAAA0AAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGDg4OEvb29s\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/z\/Pj\/tuzU\/5Piv\/+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/jOC6\/4zguv+M4Lr\/k+K\/\/7bs1P\/z\/Pj\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9fX10AsLCxcAAAAKAAAACAAAAA+pqak+9\/f31f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9vb20QAAABUAAAAHAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAL1tbWaf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/8\/y4v9T0Zj\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9T0Zj\/z\/Li\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87Ozm0AAAAVAAAAFdra2nz+\/v73\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/P79\/5zlxP9O0JX\/q+nN\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/0tLSyIAAAAJAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAP8\/Pzvv\/\/\/\/\/\/\/\/\/\/7vv1\/1DQlv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/UNCW\/+779f\/\/\/\/\/\/\/\/\/\/\/\/Dw8MBubm4z8vLyvv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/i+O7\/Z9ek\/0HMjf9BzI3\/cNmq\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5KSkjgAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAYAAAAT\/f398P\/\/\/\/\/\/\/\/\/\/q+nN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/6vpzf\/\/\/\/\/\/\/\/\/\/\/\/7+\/vX7+\/vj\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7Pr0f9JzpL\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5SUlDkAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAIAAAAEAAAABgAAAAtAQEAc\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/h9+3\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/4fft\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/w+\/b\/fNyw\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABgAAAAsAAAAPAAAAEwAAABZTU1Mi\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/gN2z\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87y4v9T0Zj\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAQAAAAJAAAAEsnJyVnt7e2r+fn52\/39\/fD+\/v70\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/gN2z\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/yPHe\/0XNkP9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAABAAAABAAAAAuOjo4t9fX1xf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/gN2z\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7\/v3\/U9GY\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAADAAAACpWVlTD7+\/vn\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/gN2z\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/J8d\/\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAGGxsbE\/b29tH\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/8vb\/\/7XI\/\/+Oq\/\/\/h6b\/\/4em\/\/+Hpv\/\/h6b\/yXiF\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/rnF1\/65xdf+ucXX\/pXl3\/4GWfv9JxYv\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+x6tD\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAL19fXbf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/L2P\/\/RHP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/mQ2n\/aaqE\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAP8\/PzxP\/\/\/\/\/\/\/\/\/\/\/+zx\/\/8+b\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/6j9o\/0zCi\/9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAIAAAAT\/v7+9\/\/\/\/\/\/\/\/\/\/\/\/522\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/42MfP9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAANxcXEi\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/3WY\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7JudP9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/U3\/\/\/3yd\/\/+Srv\/\/kKz\/\/3WY\/\/9Gdf\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/3ud\/\/\/f5\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9\/f\/\/v8\/\/\/1J9\/\/8uY\/\/\/LmP\/\/9bh\/\/\/y9f\/\/8vX\/\/\/L1\/\/86bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/87bP\/\/yNb\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/f5\/\/97nP\/\/LmP\/\/+Ho\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/zps\/\/\/X4f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9\/f\/\/6\/D\/\/\/T3\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+\/v\/\/cZX\/\/+Ho\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/7bI\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/0d3\/\/22S\/\/8yZv\/\/LmP\/\/y5j\/\/9EdP\/\/jKn\/\/\/Dz\/\/\/\/\/\/\/\/9vj\/\/\/T3\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/aI7\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+ku\/\/\/L2T\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/0Bx\/\/\/X4f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/ydf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/8rX\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/9FdP\/\/9\/n\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/9Ccv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/v7\/\/1eC\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/mrP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/95m\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/xdT\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/O2z\/\/\/7+\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+Zs\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/n7f\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/+bs\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+qv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/fJ3\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/8XU\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+ovv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/epv\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/8PS\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+Xsf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/m7T\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/+Pq\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+u6c7\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/92mP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/vs7\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/Nmn\/\/\/39\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+37NT\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/9Dcv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+\/z\/\/0t5\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/jan\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/e9uv\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/zdn\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7jK\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/88bv\/\/8fX\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/d9uu\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/cZX\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+Eo\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/zVo\/\/\/D0v\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7\/v2\/2XWo\/9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/8TT\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/tMf\/\/057\/\/8uY\/\/\/LmP\/\/y5j\/\/8yZv\/\/bpP\/\/97m\/\/\/\/\/\/\/\/\/\/\/\/\/\/z9\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/3\/ds\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/j9+\/+N4bv\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/0Ny\/\/\/l7P\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/k6\/\/\/zdr\/\/9bh\/\/\/09\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/m7T\/\/+Ho\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/5Pivv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/xfDd\/1DQlv9BzI3\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5GRkToAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/9Gdf\/\/3+f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+mvP\/\/LmP\/\/+Ho\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/8Du2f\/\/\/\/\/\/\/\/\/\/\/\/v7++Tp6emf\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+779f92263\/QcyN\/0HMjf9BzI3\/cNmp\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5SUlDkAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/NGf\/\/5ex\/\/\/z9v\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4+r\/\/3KW\/\/8uY\/\/\/LmP\/\/+Do\/\/\/+\/v\/\/\/v7\/\/\/7+\/\/87bP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0HMjf9BzI3\/c9qr\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+jo6KUAAAAczc3NZf39\/e7\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/runO\/0fOkf9BzI3\/eNuu\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4mJiTQAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8zZ\/\/\/bZL\/\/5iy\/\/+twv\/\/scT\/\/5aw\/\/9ojv\/\/L2T\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/7pncv9BzI3\/QcyN\/0HMjf9BzI3\/QcyN\/0fOkf+Q4r3\/9\/36\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/KGhoUEAAAAQAAAAD42NjS\/z8\/PD\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9\/37P+Z5ML\/3Pbq\/\/\/\/\/\/\/\/\/\/\/\/\/v7++BQUFBkAAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/B2k\/\/X9Of\/1\/Tn\/9f05\/\/X9Of\/3vbr\/\/z+\/f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4+PjkwAAABMAAAAHAAAABQAAAAoNDQ0U3t7egv7+\/vn\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7OzsqgAAABIAAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/96nP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/q6uqnDAwMFQAAAAkAAAADAAAAAQAAAAMAAAAHAAAAD6+vr0P4+PjZ\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4+Pjcc3NzKAAAAAoAAAADAAAAAQAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/96nP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+\/v75tTU1HAAAAAUAAAACgAAAAMAAAABAAAAAAAAAAEAAAACAAAABQAAAAtJSUkc4ODgg\/j4+Nn+\/v71+fn53+Xl5ZRdXV0hAAAADAAAAAQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/96nP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/v7++j6urqn+Hh4YrExMRWKSkpGQAAAA4AAAAHAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAHAAAADQAAABIAAAAUAAAAEwAAAA8AAAAJAAAABAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAgIAo\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2yR\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/96nP\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/8bGxscAAAAEgAAAA4AAAALAAAABwAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAwAAAAUAAAAGAAAABgAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJSUkc\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4Cg\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+Oqv\/\/\/\/\/\/\/\/\/\/\/\/7+\/vcAAAAYAAAACgAAAAQAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAS\/Pz87P\/\/\/\/\/\/\/\/\/\/\/7HF\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/+\/z\/\/\/\/\/\/\/\/\/\/\/\/\/j4+N4AAAAWAAAABwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAO7+\/vrP\/\/\/\/\/\/\/\/\/\/\/\/3+\/\/9chf\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/2eO\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+fn558AAAARAAAABQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJt7e3R\/\/\/\/\/7\/\/\/\/\/\/\/\/\/\/\/\/x9P\/\/epz\/\/zBl\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8xZf\/\/g6P\/\/\/X4\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+5+fnz0AAAALAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAD+rq6p\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/b5\/\/\/S3v\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/+Zs\/\/\/Nmn\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/0x6\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/8vY\/\/\/L2P\/\/y9j\/\/9Tf\/\/\/4+v\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/4+PjkQAAABIAAAAGAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAABy4uLhbv7++0\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/5ez\/\/26T\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/r6+unDAwMFQAAAAkAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAgODg4S3t7ee\/z8\/O3\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/B0f\/\/Snj\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/Pz86NXV1XMAAAAUAAAACgAAAAMAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAGAAAADU9PTx3Nzc1g5eXlk+vr66ns7Oyt7Ozsrezs7K3s7Oyt7Ozsrezs7K3s7Oyt7Ozsrezs7K3s7Oyt7Ozsrezs7K3s7Oyt+Pj41\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+Pr\/\/5Ww\/\/80aP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/X19bnv7++r7Ozsrezs7K3s7Oyt7Ozsrezs7K3s7Oyt7Ozsrezs7K3s7Oyt6+vrqOPj45LIyMhcNzc3HAAAAA8AAAAIAAAAAwAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAABAAAAAcAAAALAAAADQAAAA8AAAAPAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAA8AAAARISEhF93d3X\/9\/f3y\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/i6f\/\/apD\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/66urkUAAAAUAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAADwAAAA4AAAALAAAACAAAAAQAAAACAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABwAAAA6FhYUs7u7ur\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/7zN\/\/9Gdf\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6urq0YAAAANAAAABQAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAACAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAQAAAAJAAAAEr+\/v1T4+Pja\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2+f\/\/kKz\/\/zNn\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABgAAAAwrKysY4ODghP7+\/vT\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/9\/n\/\/9ljP\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAIAAAAD42NjTHv7++0\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/t8r\/\/0Rz\/\/8uY\/\/\/LmP\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6urq0YAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABAAAAAoAAAASxcXFWPn5+d3\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/X4\/\/+Lqf\/\/Mmb\/\/y5j\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6urq0YAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAGAAAADDs7Oxrh4eGJ\/v7+9v\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/2+T\/\/2CJ\/\/8uY\/\/\/LmP\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6urq0YAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAwAAAAgAAAAPk5OTNPHx8bn\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/+yxv\/\/QXH\/\/1aB\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAAEAAAACgAAABLLy8td+fn54f\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/8vb\/\/6e9\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAYAAAANRkZGHeTk5I7+\/v74\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAADAAAACAAAAA+enp438vLyv\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAUAAAAKAAAAE8vLy2P7+\/vk\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/6mpqUcAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABgAAAA1SUlIf5eXllP\/\/\/\/n\/\/\/\/\/\/\/\/\/\/6urq0YAAAAMAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAMAAAAIAAAAEKKiojzz8\/PD\/\/\/\/\/66urkUAAAALAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAACAAAABQAAAAsAAAAS2dnZZKqqqjAAAAAIAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAMAAAAGAAAACQAAAAkAAAAEAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAEAAAMAAAABAGAAAAEBAAMAAAABAGAAAAECAAMAAAAEAACQzgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAEKAAMAAAABAAEAAAERAAQAAAABAAAACAESAAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAGAAAAEXAAQAAAABAACQAAEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAFSAAMAAAABAAIAAAFTAAMAAAAEAACQ1odzAAcAAAxIAACQ3gAAAAAACAAIAAgACAABAAEAAQABAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA\/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAABDwAAAgMYlRSQwAABDwAAAgMdGV4dAAAAABDb3B5cmlnaHQgKGMpIDE5OTggSGV3bGV0dC1QYWNrYXJkIENvbXBhbnkAAGRlc2MAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAADzUQABAAAAARbMWFlaIAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9kZXNjAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAABZJRUMgaHR0cDovL3d3dy5pZWMuY2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIuMSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFYWVogAAAAAABMCVYAUAAAAFcf521lYXMAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAKPAAAAAnNpZyAAAAAAQ1JUIGN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANwA7AEAARQBKAE8AVABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCkAKkArgCyALcAvADBAMYAywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIBWQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwCFAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUDAAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBMEIAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcFdwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUHBwcZBysHPQdPB2EHdAeGB5kHrAe\/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5\/DpsOtg7SDu4PCQ8lD0EPXg96D5YPsw\/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgVmxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF\/cYGxhAGGUYihivGNUY+hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHscoxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+\/H+ogFSBBIGwgmCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgpaymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYuTC6CLrcu7i8kL1ovkS\/HL\/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0YzfzO4M\/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+4D8hP2E\/oj\/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5FEkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NLmkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFSfFLHUxNTX1OqU\/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZuFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una\/9sV2yvbQhtYG25bhJua27Ebx5veG\/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R\/5YBHgKiBCoFrgc2CMIKSgvSDV4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOMyo0xjZiN\/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSWn5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5\/6oGmg2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKrdavprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+\/796v\/XAcMDswWfB48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp22vvbgNwF3IrdEN2W3hzeot8p36\/gNuC94UThzOJT4tvjY+Pr5HPk\/OWE5g3mlucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx\/\/KM8xnzp\/Q09ML1UPXe9m32+\/eK+Bn4qPk4+cf6V\/rn+3f8B\/yY\/Sn9uv5L\/tz\/bf\/\/",
  "BTTTriggerConfig" : {
    "BTTTouchBarItemIconHeight" : 22,
    "BTTTouchBarItemIconWidth" : 22,
    "BTTTouchBarItemPadding" : 50,
    "BTTTouchBarFreeSpaceAfterButton" : "5.000000",
    "BTTTouchBarButtonColor" : "58.650001, 58.650001, 58.650001, 255.000000",
    "BTTTouchBarAlwaysShowButton" : "0",
    "BTTTouchBarAppleScriptString" : "try\r\ttell application \"Google Chrome\"\r\t\tset theUrl to \"https:\/\/appear.in\/\"\r\t\t\r\t\tif (count every window) = 0 then\r\t\t\texit repeat\r\t\tend if\r\t\t\r\t\tset found to false\r\t\trepeat with theWindow in every window\r\t\t\trepeat with theTab in every tab of theWindow\r\t\t\t\tif theTab's URL starts with theUrl then\r\t\t\t\t\tset found to true\r\t\t\t\t\texit repeat\r\t\t\t\tend if\r\t\t\tend repeat\r\t\t\t\r\t\t\tif found then\r\t\t\t\texit repeat\r\t\t\tend if\r\t\tend repeat\r\t\t\r\t\tif found then\r\t\t\tset query to \"\n\t\t document.querySelector('button.VideoToolbar-item--mic.is-active') == null\n\t         \" as text\r\t\t\t\r\t\t\ttell theTab to execute javascript query\r\t\tend if\r\tend tell\rend try",
    "BTTTouchBarColorRegex" : "false",
    "BTTTouchBarAlternateBackgroundColor" : "189.205087, 0.000000, 48.979828, 255.000000",
    "BTTTouchBarOnlyShowIcon" : 1,
    "BTTTouchBarScriptUpdateInterval" : 0.30658143758773804
  }
}

Free:

I wanted to add a middle-click.. er.. gesture to the trackpad. This application lets you customise Magic Mouse, Magic Trackpad and the Macbook's inbuilt Trackpad. In my case I've set middle-click to 3-finger click. This make opening links in tabs much easier in all browser (including Safari!)

http://magicprefs.com/MagicPrefs.app.zip, http://magicprefs.com/

Disable Mouse Acceleration / Scaling

Use TinkerTool (see other section on page)

Open source software

Homebrew is the missing package manager for OS X. It's essentially the Mac equivalent of Debian's =apt-get= suite of tools.

http://brew.sh

Remote Desktop for accessing Windows, FreeRDP

https://github.com/FreeRDP/FreeRDP

*Note*: In order to get clipboard sharing to work, you need to add the following parameters when you start it:

--plugin cliprdr 

My standard usage is:

xfreerdp --plugin cliprdr -u robmee01 --plugin rdpsnd -k 0x00000409 -g 1300x800 <hostname>

Prevent sleep when the lid is closed

Video Player

I'm not sure how to install codecs on OSX (or if it's even possible), so I went with the trusty VLC media player. Recently (circa 2014-01) it gained support for Retina displays, so videos are rendered at HiDPI and Blurays look great!

http://www.videolan.org/vlc/download-macosx.html

Windows Switching via the Keyboard

OSX has a keyboard shortcut for switching between applications, ⌘+Tab and ⌘+Shift+Tab, and you can switch windows within the same application with ⌘+` (backtick). If you want to switch back and forth between windows, 2 or more of which belong to the same app, you can using this:

http://manytricks.com/download/_do_not_hotlink_/witch390.dmg, http://manytricks.com/witch/

Window Arrangement via the Keyboard

Calendar fly-out from clock

Free and useful

Tinker Tool

Includes the ability to prevent the creation of .DS_Store files on network drives and change system fonts.

TinkerTool

http://www.bresink.com/osx/TinkerTool.html

Stylus input from a remote device

Use my Samsung Galaxy Note 3 smartphone as a digitiser for my Macbook!

http://www.sunnysidesoft.com/virtualtablet/

Hide system tray icons

Bartender allows you select which icons to hide from the menubar, and to automatically display some of the hidden ones again when they are updated. Very handy.

http://www.macbartender.com/

Retina display tips

Forcing HiDPI mode

Source: http://apple.stackexchange.com/a/54418/21948

Using a terminal, find the Info.plist file of the application you want to modify, e.g. /Applications/Freemind.app/Contents/Info.plist. Modify this and add the following XML tags within the outer most <dict/> tag:

<key>NSHighResolutionCapable</key>
<true/>

So the end looks like this:

    <key>NSHighResolutionCapable</key>
    <string>True</string>
</dict>
</plist>

Then, log out or make a copy of the app so that OSX will notice the change. Now, the info window will not show “Open in Low Resolution” as checked. Launch and enjoy your new retina awesomeness.

Force RGB mode for HDMI out

Especially useful with Dell monitors.

http://embdev.net/topic/284710#3027030 and in particular the Ruby script at http://embdev.net/topic/284710#3027030

Use a WiiU Pro Controller via Bluetooth

  • First, install WJoy (and turn on bluetooth!) and pair the WiiU Pro Controller

I found that the games I cared about couldn't see the full range of the sticks, to fix this I installed ControllerMate, which I eventually bought.

  • Create a Virtual Joystick
  • Link its buttons and axis to the outputs of your WiiU Pro Controller
  • Use the 'Axis calibration' Calculation widget to map the WiiU's axis onto 0-250 (inc). Thus the centre position ends up outputting 128.
  • (I also set all buttons to default to OFF when the controller is not connected, and similar for the axis)
  • *Disconnect* the WiiU controller when you launch your game. This forces the game to 'latch onto' the virtual gamepad, as it is the only one in the system.
  • Once the game is running, turn on the WiiU controller (this required that you have enabled 'one-button-click-connection' in WJoy)

Simulate Colour Blindness: Sim Daltonism

When choosing colours in my user interface projects, I always consider accessibility issues. Sim Daltonism is a small application which displays a copy of the screen around the mouse cursor with certain colour channels removed / obscured to simulate various types of colour blindness.

Sim Daltonism

Lock Screen immediately, without disconnecting WiFi

Debugging Insomina

Shortly after upgrading to OSX 10.9.2 I found that my battery would be empty the morning after leaving my Macbook asleep on battery power all night. I even explicitly put it to sleep by holding the power button for 1.5 and selecting “Sleep” from the dialog.

2014-03-07 Fri

Console is full of messages about waking for unknown reasons:

07/03/2014 06:31:04.000 kernel[0]: Wake reason: ?
07/03/2014 06:32:07.000 kernel[0]: Wake reason: ?
07/03/2014 06:33:12.000 kernel[0]: Wake reason: ?
07/03/2014 06:34:16.000 kernel[0]: Wake reason: ?
07/03/2014 06:35:20.000 kernel[0]: Wake reason: ?
07/03/2014 06:36:25.000 kernel[0]: Wake reason: ?
07/03/2014 06:37:29.000 kernel[0]: Wake reason: ?
07/03/2014 06:38:32.000 kernel[0]: Wake reason: ?
07/03/2014 06:39:36.000 kernel[0]: Wake reason: ?
07/03/2014 06:40:40.000 kernel[0]: Wake reason: ?
07/03/2014 06:41:49.000 kernel[0]: Wake reason: ?
07/03/2014 06:42:54.000 kernel[0]: Wake reason: ?
07/03/2014 06:43:58.000 kernel[0]: Wake reason: ?
07/03/2014 06:45:02.000 kernel[0]: Wake reason: ?
07/03/2014 06:46:07.000 kernel[0]: Wake reason: ?
07/03/2014 06:47:11.000 kernel[0]: Wake reason: ?

this thread suggested disabling “Wake for Wifi network access” in Energy Saver settings, so I've done that.

2014-03-09 Sun

No joy. Closed the lid last night and left it on batter power. Completely drained in the morning.

I did however discover a very nifty command to show how long sleep lasts before being woken:

# robertmeerman@Az-Pro:/Users/robertmeerman
# pmset -g log | grep -F '09/03/2014' | grep -F '  Sleep               '
09/03/2014 01:24:53 GMT  Sleep               	Clamshell Sleep: Using BATT (Charge:47%)                                   	4206 secs
09/03/2014 02:34:59 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:46%)                                 	41 secs
09/03/2014 02:35:48 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:46%)                                 	42 secs
09/03/2014 02:36:37 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:46%)                                 	36 secs
09/03/2014 02:37:21 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	42 secs
09/03/2014 02:38:10 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	36 secs
09/03/2014 02:38:54 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	34 secs
09/03/2014 02:39:37 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	34 secs
09/03/2014 02:40:21 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	32 secs
09/03/2014 02:41:04 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	32 secs
09/03/2014 02:41:42 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	36 secs
09/03/2014 02:42:25 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	43 secs
09/03/2014 02:43:15 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:45%)                                 	40 secs
09/03/2014 02:44:03 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	35 secs
09/03/2014 02:44:48 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	34 secs
09/03/2014 02:45:31 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	41 secs
09/03/2014 02:46:19 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	34 secs
09/03/2014 02:47:01 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	34 secs
09/03/2014 02:47:45 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	31 secs
09/03/2014 02:48:22 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:44%)                                 	22 secs
09/03/2014 02:48:54 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:43%)                                 	37 secs
09/03/2014 02:49:42 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:43%)                                 	31 secs
09/03/2014 02:50:20 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:43%)                                 	36 secs
...
09/03/2014 06:58:10 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	58 secs
09/03/2014 06:59:19 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	55 secs
09/03/2014 07:00:25 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	56 secs
09/03/2014 07:01:27 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	60 secs
09/03/2014 07:02:33 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	60 secs
09/03/2014 07:03:39 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:1%)                                  	61 secs
09/03/2014 07:04:47 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:0%)                                  	60 secs
09/03/2014 07:05:54 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:0%)                                  	59 secs
09/03/2014 07:07:00 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:0%)                                  	61 secs
09/03/2014 07:08:09 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:0%)                                  	58 secs
09/03/2014 07:09:15 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:0%)                                  	59 secs
09/03/2014 07:10:14 GMT  Sleep               	Low Power Sleep: Using BATT (Charge:0%)
09/03/2014 12:31:52 GMT  Sleep               	 Sleep (Failure code:0x1F006A00): Using AC (Charge:3%)

I found this post suggesting that disabling hibernate could avoid this. Other posts suggested resetting PRAM, so I'll try that first.

I also compared my setting to Vicky's Macbook Pro, and noticed that mine doesn't have AppleHDADriver listed in pmset -g powerstate, but that I did have Soundflower (a tool for routing audio inputs and outputs). So I've uninstalled that.

2014-03-10 Mon

Looks like resetting the PRAM and setting default Energy Saver preferences did the trick! Also, I've disabled InsomniaX.

# robertmeerman@Az-Pro:/Users/robertmeerman
# pmset -g log
Time stamp                Domain                Message                                                                         Duration        Delay
==========                ======                =======                                                                         ========        =====
UUID: C94CB392-5F7F-46A7-BB01-A906EB4AAD5C
10/03/2014 00:08:02 GMT  Sleep                  Clamshell Sleep: Using BATT (Charge:92%)                                        907 secs
10/03/2014 00:08:07 GMT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        4201 ms
10/03/2014 00:08:07 GMT  WakeRequests           Clients requested wake events: None
10/03/2014 00:23:09 GMT  DarkWake               DarkWake [CDN] due to EC.SleepTimer/SleepTimer: Using BATT (Charge:91%)
10/03/2014 00:23:09 GMT  HibernateStats         hibmode=3 standbydelay=900                                                                rd=268 ms
10/03/2014 00:23:09 GMT  SlowResponse           Kernel: Response from powerd is slow (powercaps:0x0)                                      4204 ms
10/03/2014 00:23:09 GMT  Sleep                  Maintenance Sleep: Using BATT (Charge:91%)                                      31013 secs
10/03/2014 00:23:10 GMT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        1078 ms
10/03/2014 00:23:10 GMT  WakeRequests           Clients requested wake events: None
10/03/2014 09:00:02 GMT  Wake                   Wake from Standby [CDNVA] due to EC.LidOpen/Lid Open: Using BATT (Charge:91%)
10/03/2014 09:00:02 GMT  HibernateStats         hibmode=3 standbydelay=900                                                                rd=270 ms
10/03/2014 09:00:33 GMT  Assertions             PID 1957(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:00:30  id:0x10000030d [System: DeclUser kDisp]
10/03/2014 09:00:33 GMT  Assertions             PID 267(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:00:30  id:0xc0000030e [System: DeclUser kDisp]

Total Sleep/Wakes since boot at 09/03/2014 13:53:54 GMT  :8

2014-03-13 Thur

Battery drained again last night, but not quite empty this morning.

This thread of Apple StakeExchange suggests wiping /Library/Preferences, so I retrieved my Time Machine backups from Mon and compared them to today's:

diff: ./com.apple.apsd.plist: Permission denied
diff: /Users/robertmeerman/Desktop/Preferences/com.apple.apsd.plist: Permission denied
 Audio/com.apple.audio.DeviceSettings.plist              |   16
 SystemConfiguration/com.apple.airport.preferences.plist |   46
 SystemConfiguration/com.apple.wifi.message-tracer.plist |17728 ++++++++++++++
 com.apple.MCX.plist                                     |    2
 com.apple.SoftwareUpdate.plist                          |    4
 com.apple.TimeMachine.plist                             |    6
 com.apple.iokit.AmbientLightSensor.plist                |    3
 com.apple.loginwindow.plist                             |    6
 8 files changed, 26 insertions(+), 17785 deletions(-)

Most changes seem innocent - changes to audio volume, to the backlight brightness of the display and keyboard, etc. The most suspect change is the large additions to the wifi message-tracer…

Still, not enough to go on in my view. I decided not to change anything there.

Other sources have suggested that XQuartz might be to blame, and I note that I had Macvim (via Homebrew) running overnight. I don't know for sure, but it may well rely on XQuartz. So for now I'll close that and suspend my Macbook and see what happens…

After closing MacVim and going about my day, it seems that the Macbook has been behaving itself w.r.t sleeping:

Time stamp                Domain                Message                                                                         Duration        Delay
==========                ======                =======                                                                         ========        =====
UUID: 9B781E98-BD80-4C42-81C0-0B9D43C92157
13/03/2014 10:04:14 GMT  Sleep                  Clamshell Sleep: Using BATT (Charge:63%)                                        911 secs
13/03/2014 10:04:22 GMT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        7742 ms
13/03/2014 10:04:22 GMT  WakeRequests           Clients requested wake events: None
13/03/2014 10:19:25 GMT  DarkWake               DarkWake [CDN] due to EC.SleepTimer/SleepTimer: Using BATT (Charge:63%)
13/03/2014 10:19:25 GMT  HibernateStats         hibmode=3 standbydelay=900                                                                rd=350 ms
13/03/2014 10:19:25 GMT  SlowResponse           Kernel: Response from powerd is slow (powercaps:0x0)                                      7745 ms
13/03/2014 10:19:25 GMT  Sleep                  Maintenance Sleep: Using BATT (Charge:63%)                                      943 secs
13/03/2014 10:19:26 GMT  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        1042 ms
13/03/2014 10:19:26 GMT  WakeRequests           Clients requested wake events: None
13/03/2014 10:35:08 GMT  Wake                   Wake from Standby [CDNVA] due to EC.LidOpen/Lid Open: Using BATT (Charge:64%)
13/03/2014 10:35:08 GMT  HibernateStats         hibmode=3 standbydelay=900                                                                rd=334 ms

2014-03-29 Sat

Time stamp                Domain              	Message                                                                    	Duration  	Delay     
==========                ======              	=======                                                                    	========  	=====     
UUID: EEAF0BE3-B303-4E10-B715-DF98B2845658
28/03/2014 20:32:29 GMT  Sleep               	Clamshell Sleep: Using BATT (Charge:100%)                                  	908 secs  
28/03/2014 20:32:34 GMT  SlowResponse        	PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)         	          4413 ms   	
28/03/2014 20:32:34 GMT  WakeRequests        	Clients requested wake events: None                                        	          
28/03/2014 20:47:37 GMT  DarkWake            	DarkWake [CDN] due to EC.SleepTimer/SleepTimer: Using BATT (Charge:100%)   	          
28/03/2014 20:47:37 GMT  HibernateStats      	hibmode=3 standbydelay=900                                                 	          rd=278 ms 	
28/03/2014 20:47:37 GMT  Timedout            	Kernel: Response from Spotify timed out (powercaps:0x9)                    	          30000 ms  	
28/03/2014 20:47:37 GMT  Timedout            	Kernel: Response from Spotify Helper timed out (powercaps:0x9)             	          30000 ms  	
28/03/2014 20:47:37 GMT  SlowResponse        	Kernel: Response from powerd is slow (powercaps:0x0)                       	          4415 ms   	
28/03/2014 20:47:37 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:100%)                                	27 secs   
28/03/2014 20:47:38 GMT  SlowResponse        	PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)         	          1039 ms   	
28/03/2014 20:47:38 GMT  WakeRequests        	Clients requested wake events: None                                        	          
28/03/2014 20:48:04 GMT  Assertions          	PID 18(powerd) Created InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:00  id:0xe00000b81 [System: DeclUser kDisp]	          
28/03/2014 20:48:04 GMT  DarkWake            	DarkWake [CDN]  : Using BATT (Charge:100%)                                 	8 secs    
28/03/2014 20:48:04 GMT  HibernateStats      	hibmode=3 standbydelay=900                                                 	          rd=278 ms 	
28/03/2014 20:48:12 GMT  Assertions          	PID 18(powerd) Released InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:07  id:0xe00000b81 [System: DeclUser kDisp]	          
28/03/2014 20:48:12 GMT  Sleep               	Maintenance Sleep: Using BATT (Charge:100%)                                	34 secs   
28/03/2014 20:48:26 GMT  SlowResponse        	PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)         	          14356 ms  	
28/03/2014 20:48:26 GMT  WakeRequests        	Clients requested wake events: None                                        	          

The first sleep, which is just some sort of suspend-to-RAM, lasts 908 seconds (configured duration: 900s). From then on enters an endless loop of Sleep (hibernate) and DarkWake.

I did notice this very worrying message:

29/03/2014 03:38:03 GMT  ThermalEvent        	Ignored DarkWake thermal emergency signal                                  	          

Here are the non-apple kernel extensions I have loaded, all of which I have had installed during the month that hibernation worked fine:

# robertmeerman@Az-Pro:/Users/robertmeerman (master *)
# kextstat -l | grep -v com.apple
   64    0 0xffffff7f81947000 0x10000    0x10000    com.orderedbytes.driver.CMUSBDevices (4.6.0) <28 5 4 3 1>
   89    0 0xffffff7f81957000 0x24000    0x24000    com.orderedbytes.driver.ControllerMateFamily (4.6.0) <28 5 4 3 1>
  120    3 0xffffff7f82316000 0x46000    0x46000    org.virtualbox.kext.VBoxDrv (4.3.10) <7 5 4 3 1>
  121    0 0xffffff7f8235c000 0x8000     0x8000     org.virtualbox.kext.VBoxUSB (4.3.10) <120 46 34 7 5 4 3 1>
  122    0 0xffffff7f82364000 0x5000     0x5000     org.virtualbox.kext.VBoxNetFlt (4.3.10) <120 7 5 4 3 1>
  123    0 0xffffff7f82369000 0x6000     0x6000     org.virtualbox.kext.VBoxNetAdp (4.3.10) <120 5 4 1>

Interesting.. it seems that the configured times don't match my expectations:

# robertmeerman@Az-Pro:/Users/robertmeerman (master *)
# pmset -g
Active Profiles:
Battery Power		-1
AC Power		2*
Currently in use:
 standbydelay         10800
 standby              1
 womp                 1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 darkwakes            1
 networkoversleep     0
 disksleep            10
 sleep                1 (sleep prevented by coreaudiod)
 autopoweroffdelay    14400
 hibernatemode        3
 autopoweroff         1
 ttyskeepawake        1
 displaysleep         10 (display sleep prevented by coreaudiod)
 acwake               0
 lidwake              1

Reading the source of pmset I discovered the listen feature, which shows all power management events. Perhaps I'll leave this running for a bit.


Well, that didn't do it. Tried “Restore Defaults” in Energy Saver preferences…

2014-03-31 Sun

Nope. Next thing to try:

<# robertmeerman@Az-Pro:/Users/robertmeerman (master *)
# sudo pmset touch
Password:
touching prefs file on disk...

2014-03-31 Mon

That seems to have done the trick! Here is last night's log:

# robertmeerman@Az-Pro:/Users/robertmeerman (master *)
# pmset -g log
Time stamp                Domain                Message                                                                         Duration        Delay
==========                ======                =======                                                                         ========        =====
UUID: D9A682E4-268A-4452-8542-BE8AEF2F25E3
31/03/2014 00:33:45 BST  Sleep                  Clamshell Sleep: Using BATT (Charge:74%)                                        10806 secs
31/03/2014 00:33:49 BST  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        4272 ms
31/03/2014 00:33:49 BST  WakeRequests           Clients requested wake events: None
31/03/2014 03:33:51 BST  DarkWake               DarkWake [CDN] due to EC.SleepTimer/SleepTimer: Using BATT (Charge:73%)
31/03/2014 03:33:51 BST  SlowResponse           Kernel: Response from powerd is slow (powercaps:0x0)                                      4408 ms
31/03/2014 03:33:51 BST  Sleep                  Maintenance Sleep: Using BATT (Charge:73%)                                      24053 secs
31/03/2014 03:33:52 BST  SlowResponse           PMConnection: Response from com.apple.apsd is slow (powercaps:0x0)                        1146 ms
31/03/2014 03:33:52 BST  WakeRequests           Clients requested wake events: None
31/03/2014 10:14:44 BST  Wake                   Wake from Standby [CDNVA] due to EC.LidOpen/Lid Open: Using BATT (Charge:72%)
31/03/2014 10:14:44 BST  HibernateStats         hibmode=3 standbydelay=10800                                                              rd=345 ms
31/03/2014 10:15:48 BST  Assertions             PID 3887(AddressBookSour) Released PreventUserIdleSystemSleep "Address Book Source Sync" 00:01:03  id:0x1000007b0 [System: DeclUser kDisp]
31/03/2014 10:15:48 BST  Assertions             PID 270(UserEventAgent) Released BackgroundTask "com.apple.AddressBook.ScheduledSync" 00:01:03  id:0xc000007b1 [System: DeclUser kDisp]
31/03/2014 10:18:56 BST                         Summary- [System: DeclUser kDisp] Using AC
31/03/2014 10:19:09 BST  Assertions             PID 16(powerd) Created InternalPreventSleep "com.apple.powermanagement.darkwakelinger" 00:00:00  id:0xe000007d9 [System: DeclUser SRPrevSleep kCPU kDisp]
Sleep/Wakes since boot at 30/03/2014 11:29:46 BST  :30   Dark Wake Count in this sleep cycle:1

Force sync Reminders

http://www.mackungfu.org/force-reminders-to-refresh

defaults write com.apple.reminders RemindersDebugMenu -boolean true

Python packages (via PIP)

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1

This happens because the default gcc is actually Apple's clang compiler, and by default it produces fatal warnings when it doesn't understand arguments.

This can be overridden by exporting our own flags:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

and repeating the failing pip command.

Credit: pip - clang error: unknown argument: '-mno-fused-madd' (psycopg2 installation failure)

Prevent iTunes launching whenever Play/pause is pressed

Apple Keyboard map in Windows Virtual Machine

Neither Windows XP nor Windows 7 have a native keyboard map which works for the Macbook Pro's keyboard layout (with its native § and ± keys!). But you can create and then install a keyboard map using Microsoft's Keyboard Layout creation tools:

http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx

Using a PC-compatible British (UK) keyboard with OSX

The bundled “British - PC” keyboard layout doesn't work correctly with my Microsoft Natural® Ergonomic® Keyboard v1.0, but the “British (PC 105 alt)” keyboard layout available below did the trick for me on OSX 10.10.4.

http://liyang.hu/osx-british.xhtml

SSH commands don't load .bashrc

My ~/.bashrc adds Homebrew tools to my $PATH, such as git and this works great in my interaction sessions (e.g. terminals or ssh sessions), but it apparently doesn't work for remote GIT repositories which want to git pull or git push to my Macbook.

One solution is to add uploadpack and receivepack configuration entries to the appropriate [remote …] section of .git/config. But that's simply not good enough.

Testcase is simple: ssh robertmeerman@localhost which git

This doesn't return anything, and after much debugging I found a solution in the SSH daemon's configuration file:

# /etc/sshd_config
PermitUserEnvironment yes

Then restart the SSH service (System Preferences > Sharing > Remote Login > Disable, then Re-enable).

Now the test case passes, and by remote GIT repositories are happy:

# ssh robertmeerman@localhost which git
/usr/local/bin/git

Increase maximum number of open files

Useful for running MongoDB or sshuttle

According to this helpful article (which I recommend reading):

By default, the maximum number of files that Mac OS X can open is set to 12,288 and the maximum number of files a given process can open is 10,240.

You can check these with:

  sysctl kern.maxfiles
  sysctl kern.maxfilesperproc

You can increase the limits (at your own risk) with:

  sysctl -w kern.maxfiles=20480 (or whatever number you choose)
  sysctl -w kern.maxfilesperproc=18000 (or whatever number you choose)

To make the change permanent, use sudo to put your settings in /etc/sysctl.conf (which you may have to create), like this:

  kern.maxfiles=20480 
  kern.maxfilesperproc=18000

(Note: a setting in /etc/launchd.conf like limit maxfiles will override whatever you put here.)

Again, from the article:

Once you’ve done this, the kernel itself will have a maximum number of files but the shell might not. And since most processes that will take up this many files are going to be initiated by the shell you’re gonna’ want to increase that.

The command for that is:

  ulimit -S -n 2048 # or whatever number you choose

That change is also temporary; it only lasts for the current shell session. You can add it to your shell configuration file (.bashrc, .zshrc or whatever) if you want it to run every time you open a shell.\

Network Monitoring in realtime: Rubbernet

Disable history navigation in Chrome via two-finger horizontal swipe

 defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool FALSE

http://apple.stackexchange.com/a/80163/21948

Automatic mounting of NFS volumes

OSX Yosemite (10.10.4) has a magic /net directory which allows you to mount NFS volumes just by attempting to change directory, e.g. to explore the NFS mounts on host nas01:

cd /net/nas01
ls

which is equivalent to showmount -e nas01.

See this excellent post for more: http://www.cyberciti.biz/faq/apple-mac-osx-nfs-mount-command-tutorial/

How to overcome ''No such file or directory'' when it clearly does exist

Try mounting manually to see the true error, which is probably 'Permission denied'. Try mounting with '-o resvport' as per http://www.cyberciti.biz/faq/apple-mac-osx-nfs-mount-command-tutorial/. If that fixes it, modify /etc/autofs.conf to include it in the default options, and reload it with:

# sudo automount -vc
automount: /net updated
automount: /home updated
automount: no unmounts

Websites as native OSX apps

I wanted to have certain websites be presented as native apps with their own icons in the dock and switcher, so I don't have to hunt around Chrome to find the window with my work email.

http://fluidapp.com/

Uses Safari as the backend, rather than my default browser Chrome, but it works well.

(Credit: http://apple.stackexchange.com/a/20688/21948)

Mail.app going slow?

Helped quite a bit: https://discussions.apple.com/thread/4217434?start=30&tstart=0

# robertmeerman@Az-Pro:/Users/robertmeerman/Library/Mail/V2/MailData [master|✔]
# sqlite3 "Envelope Index" VACUUM

ControlPlane for contextual computing

Want to run a shell script when the network settings change?

http://www.controlplaneapp.com/

#!/bin/bash -xe
# Assuming we are connected to VPN via utun0, add a new routing rule for
# 10.*.*.*, and then revert the default route to use our local internet
# gateway.
#
# This avoids artificial bottle-necks to speed, avoids blocking of
# imap.gmail.com (et al), removes the risk of "Bandwidth quota exceeded for
# $WORKIP" from github et al

# Note: You can see all current routes using `netstat -nr`

NAKED_GATEWAY_IP=$(netstat -rn | grep UGHS | awk '{print $2;}')

sudo route add 10.0.0.0/8 -interface utun0
sudo route delete default
sudo route add default $NAKED_GATEWAY_IP

VPN over SSH

  • Server: GNU/Linux (Ubuntu 12.04) – 172.16.0.1
  • Client: MacOS/BSD (El Capitan, v10.11.5) – 172.16.0.2

Create and configure a tunnelled connection between client and server, via tun0 interfaces:

  1. Go install http://tuntaposx.sourceforge.net/download.xhtml on the Mac, it is needed by ssh
  2. SSH into the server and edit /etc/ssh/sshd_config to include
    PermitRootLogin yes
    PermitTunnel yes
  3. Restart SSHd on the server (service ssh reload does not appear to be sufficient)
    sudo service ssh stop; sudo service ssh start
  4. Log out of server (need to reconnect to make use of config changes)
  5. As root on the client machine, SSH into the root account on the server with tun devices enabled via -w option
    ssh root@server.hostname.com -w 0:0

    (0:0 specifies that both local and remote ends will create tun0 interfaces)

  6. Within the resulting root shell on the server, configure the new tun0 network interface:
    ifconfig tun0 inet 172.16.0.1 dstaddr 172.16.0.2
    ifconfig tun0
    ping 172.16.0.1  # Check tun0 has an IP address
    ping 172.16.0.2  # Should fail, as we've not yet configured the client's tun0
  7. In a root shell on the client, configure the new tun0 network interface:
    ifconfig tun0 inet 172.16.0.2 172.16.0.1
    ifconfig tun0
    ping 172.16.0.2  # Check tun0 has an IP address
    ping 172.16.0.1  # Check we can communicate with remote end (server) via tun0
  8. Back in the root shell on the server, repeat ping 172.16.0.2 and this time it should respond
  9. The tunnel is now configured. It will remain so until the SSH session is closed.

Configure IPv4 (ICMP+TCP+UDP) forwarding and Network Address Translation (NAT):

  1. In the root shell on the server (only needs to be done one per boot):
    # Prepare networking stack for use by forced commands in
    # /root/.ssh/authorized_keys that creates a point-to-point network (via tun0)
    # between 172.16.0.1 (this host) and 172.16.0.2 (remote end).
    
    # We then want to enabling forwarding of IPv4 traffic, i.e. we want to act as a
    # router. We enable this in the kernel, and then ensure traffic originating
    # from the remote side of the point-to-point link is accepted, and any
    # responses are likewise accepted
    echo 1 > /proc/sys/net/ipv4/ip_forward
    /sbin/iptables -F
    /sbin/iptables -A FORWARD ! --source 172.16.0.2 --destination 172.16.0.2 \
            -m state --state RELATED,ESTABLISHED -j ACCEPT
    /sbin/iptables -A FORWARD --source 172.16.0.2 ! --destination 172.16.0.2 -j ACCEPT
    
    # Any traffic originating from the remote side should go through Network
    # Address Translation (NAT), so responses from (e.g.) DNS servers are sent to
    # this host, so *we* can forward it to the remote end. This is the MASQUERADE
    # rule.
    /sbin/iptables -t nat -F
    /sbin/iptables -t nat -A POSTROUTING ! --destination 172.16.0.2  -j MASQUERADE
    
    # Monitor packets
    watch -n0.5 -d ifconfig tun0
  2. As root on the client:
    route add 10.0.0.0/8 -interface tun0

    (you can undo this by repeating the command with delete in place of add)

  3. IPv4 forwarding via tun0 is in effect.

Note: The changes made to the server persist after the SSH session has ended.

To get name resolution working, you need to configure the client to use a DNS server at the remote end, e.g.

  1. Discover the DNS nameservers used by the server:
    cat /etc/resolv.conf
  2. Add these to the client system:
    networksetup -setdnsservers Wi-Fi 10.1.2.24 10.1.2.23 192.168.1.253 8.8.8.8 8.8.4.4

    This step must be manually undone (e.g. after closing the SSH session) by running

     networksetup -setdnsservers Wi-Fi Empty

You may also want to add your remote system's DNS search domains, e.g.:

networksetup -setsearchdomains Wi-Fi site.example.com example.com local

Again, this must be manually undone after you close the VPN connection:

sudo networksetup -setsearchdomains Wi-Fi Empty

Most useful guides:

More thorough networking (Ethernet layer, instead of link layer): http://sgros.blogspot.co.uk/2011/11/ssh-vpns-bridged-connection-to-lan.html

Automating via SSH configuration files

All commands here are run as root on the client system
  1. As root on your client system, generate a new SSH keypair to use for VPN.
    ssh-keygen -f ~/.ssh/id_rsa_vpn -N ''
  2. Install new public key into remote system, and prefix with a ForeCommand which is run whenever this key is used to authenticate:
    ( \
      printf 'tunnel="0",command="ifconfig tun0 inet 172.16.0.1 dstaddr 172.16.0.2" ' ; \
      cat ~/.ssh/id_rsa_test.pub \
    ) | ssh root@www.robmeerman.co.uk tee -a .ssh/authorized_keys
  3. Configure client via ~/.ssh/config. Add the following to the end of .ssh/config (create it if it does not exist) and replace $SERVER with your server's hostname:
    Host vpn
      Hostname $SERVER
      User root
      # Remote's .ssh/authorised_keys entry for this identity is prefixed with:
      # tunnel="0",command="ifconfig tun0 inet 172.16.0.1 dstaddr 172.16.0.2" ssh-rsa
      IdentityFile ~root/.ssh/id_rsa_vpn
      Tunnel yes
      TunnelDevice 0:0
      PermitLocalCommand yes
      LocalCommand ~root/.ssh/vpn.sh %h %T
      # Disable connection sharing, otherwise closing VPN may not actually reset
      # network settings because vpn.sh (cf. LocalCommand) continues to wait
      # for the `ssh` process to exit (which it may not if another session is
      # active)
      ControlPath none
      # Disable use of ssh-agent, as it seems to prevent our preferred identity
      # (cf. IdentityFile) being applied, which in turn means we don't trigger the
      # ForceCommand of the remote's authorized_keys file
      IdentityAgent none
  4. Create a new script on your client machine at ~root/.ssh/vpn.sh which configures your Mac to route traffic headed to your server via the current gateway, and then change the default gateway (that applies to all other traffic) to go via the new SSH tun device at 172.16.0.1, then wait for the ssh process to exit before returning settings to normal:
    #!/bin/bash
    # .ssh/config: LocalCommand vpn.sh %h %T
    REMOTE_HOST=$1
    TUNNEL_DEVICE=$2
    
    ifconfig $TUNNEL_DEVICE inet 172.16.0.2 172.16.0.1
    ROUTE=$(route get $REMOTE_HOST)
    GATEWAY=$(sed -ne 's/^ *gateway: //p' <<<"$ROUTE")
    INTERFACE=$(sed -ne 's/^ *interface: //p' <<<"$ROUTE")
    route add $REMOTE_HOST $GATEWAY
    route add 10/8 $GATEWAY
    route change default 172.16.0.1
    WAIT_PID=$PPID
    (
    while kill -0 $WAIT_PID >/dev/null 2>&1; do sleep 0.5; done
    # The route gets deleted when the SSH tunnel closes gracefully and tun0 disappears
    route change default $GATEWAY
    route add default $GATEWAY
    route delete 10/8 $GATEWAY
    route delete $REMOTE_HOST $GATEWAY
    ) &

    This script is unlikely to work on other OS

  5. Make the new script executable:
    chmod a+x ~root/.ssh/vpn.sh
  6. Test it by running
    ssh vpn

Sample session showing the output from the commands above:

# ssh-keygen -f ~/.ssh/id_rsa_vpn -N ''
Generating public/private rsa key pair.
Your identification has been saved in /var/root/.ssh/id_rsa_vpn.
Your public key has been saved in /var/root/.ssh/id_rsa_vpn.pub.
The key fingerprint is:
SHA256:4c8jh23lnMr7ZEmiDCCenKEEo6ROBDIku3XCmKLqqcw root@roberts-mbp
The key's randomart image is:
+---[RSA 2048]----+
|X+               |
|OB               |
|Bo* o   .        |
|** B . . .       |
|+.=   . S . o    |
|.      o * * o   |
|.       = B B    |
|+ .      = =     |
|oE        +o.    |
+----[SHA256]-----+

# ( \
#   printf 'tunnel="0",command="ifconfig tun0 inet 172.16.0.1 dstaddr 172.16.0.2" ' ; \
#   cat ~/.ssh/id_rsa_test.pub \
# ) | ssh root@www.robmeerman.co.uk tee -a .ssh/authorized_keys
tunnel="0",command="ifconfig tun0 inet 172.16.0.1 dstaddr 172.16.0.2" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+pPee+HqiExk28lwKGcjoAMnkWRVKoQsn8b+90ST3HteZq1oCKtig49YOtlXDZGma0vR/y9Xbelk26xJfZO32BR3GCPou6XYSU67qwC8wK256H0LfTUlquUufklmKd3BaKamAtXU0JwhVxQCFH0hToG6dgc0FLelqs1r8u6cPni1wTxaId6epHrYCBrKvP+fwYz0S0K3e2opcqZUTwMyPYwu280UxQr2HYvzykdoJeiJtsKgneFRxhX7gnlKCYoia0fToKHel24GfUFfqipFrJbsm8LDYuVh5KVgx1J1Hx19Fu0LM3IIqoXQESob91TjTx1bq41iIMZ0n0td5gDVj root@roberts-mbp

# ssh vpn
add host www.robmeerman.co.uk: gateway 10.1.36.1
add net 10: gateway 10.1.36.1
change net default: gateway 172.16.0.1

# Nothing further appears to happen. VPN is up and running! Try `traceroute
# google.com` in another terminal to verify that the traffic is going via your
# server and not its default route.

# When all done, press ^C to kill the VPN and restore default settings. Your
# prompt will return first, and *then* the clean-up code will execute and
# print:
^C
route: writing to routing socket: not in table
change net default: gateway 10.1.36.1: not in table
add net default: gateway 10.1.36.1
delete net 10: gateway 10.1.36.1
delete host www.robmeerman.co.uk: gateway 10.1.36.1

Global Keyboard Shortcut to toggle Skype microphone

I've since switched to using BetterTouchTool which lets me add buttons to the TouchBar that do the same

Use Automator to create a new Service which takes no input, this will appears in System Preferences > Keyboard Shortcuts > Services > General. Get this new service to run the following AppleScript which uses an *unsupported* Skype Desktop API:

tell application "Skype"
	set x to send command "GET MUTE" script name "Automator"
	if (x = "MUTE ON") then
		send command "MUTE OFF" script name "Automator"
	else
		send command "MUTE ON" script name "Automator"
	end if
end tell

Worked circa 2017-01. First time you run it, Skype asks if you want to let AppleScript control it.

Skype API docs have been removed, but you can find them in the Wayback Machine (Internet Archive): http://web.archive.org/web/20130607130426/http://dev.skype.com/desktop-api-reference#COMMANDS

Credit to http://stackoverflow.com/a/20049615/83100

Use TouchID for sudo

Based on https://apple.stackexchange.com/a/306324/21948

  • Prompts for TouchID when working locally, asks for password otherwise (e.g. SSH)

Add auth sufficient pam_tid.so to /etc/pam.d/sudo, e.g.:

# sudo: auth account password session
auth       sufficient     pam_tid.so
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

These appear to be tried in the order listed, and if one aborts (e.g. press ESC for TouchID) the next is tried (i.e. the usual terminal password prompt)

Automatic fan control when on AC power to avoid sweaty palms

https://github.com/hholtmann/smcFanControl can do this, and is as easy to install as:

brew cask install smcfancontrol

GPG with remote forwarding

GPG Agent forwarding allows a remote system to access secrets held in your local system via an SSH tunnel. When you are not connected to the remote system, it cannot access your secrets, and if the remote system is compromised your secrets are not (since they are never stored on it).

My (initial) use-case is to allow docker on a remote host to store login my login credentials (so I can push/pull images when working), but not store secrets on that hose. THe default behaviour is to store my password in plain text, which is unacceptable.

So I opted to use docker credentials management and pass. The pass tool uses GPG to encrypt and decrypt passwords. If I use GPG the traditional way (with secret keys in my $HOME directory) I've not gained any security: the encrypted password and and the decryption key are on the same host!

So I want to use GPG agent forwarding to allow pass to decrypt secrets while I am connected and working, without the decryptions keys ever leaving my laptop.

Overview (notes to follow, I hope):

  1. Install GPG locally and create an identity
  2. Ensure that passphrase challenge (“pinentry”) does _not_ use the TTY, since the TTY at the remote won't match local - better to use a GUI or the OSX KeyChain
  3. Install GPG on remote, and import public key
  4. Configure SSH to forward agent socket
  5. Disable systemd stuff which creates (unused) gpg sockets and/or configure SSHd to allow you to delete and recreate those sockets

Gotchas to document:

Invalid ioctl for device means the GPG agent was attempting to open a TTY. The agent lives on my MacBook, but the request comes from a remote system. So the remote system's GPG_TTY value is utterly useless on my MacBook, hence the error. Pinentry is the method by which the end-user (me) is prompted to enter a passphrase of the decryption key, the default is TTY, which doesn't work in this scenario. Using a GUI based one (line pinentry-mac) solves this, since the GUI always pops up on my Macbook.

https://www.binarybabel.org/2017/03/10/setting-up-pin-entry-for-gpg-under-macos/

  1. brew install gnupg gpg-agent pinentry-mac
  2. Append to ~/.profile:
     if [ -f ~/.gnupg/.gpg-agent-info ] && [ -n "$(pgrep gpg-agent)" ]; then
        source ~/.gnupg/.gpg-agent-info
        export GPG_AGENT_INFO
    else
        eval $(gpg-agent --daemon --write-env-file ~/.gnupg/.gpg-agent-info)
    fi
  3. Create/modify the following GPG files:
    1. mkdir -p ~/.gnupg
    2. ~/.gnupg/gpg.conf:
      use-agent
    3. ~/.gnupg/gpg-agent.conf:
       use-standard-socket
      pinentry-program /usr/local/bin/pinentry-mac
      default-cache-ttl 600
      max-cache-ttl 7200

https://superuser.com/a/1439824/25945

Testcase:

echo "foo" | gpg --encrypt -r "Robert Meerman" | gpg --decrypt
osx/start.txt · Last modified: 2019/05/23 10:36 by robm