diff --git a/ChangeLog b/ChangeLog index fecb28cb93cf14e68613ce27ae0be0bf76f323f7..31ed9e8fd0594c20ed10439123b3b44b84fd19a6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +19-JUN-2018: 8.8.2 + +- Adds Allied Telesys sidebar +- Removes clipart from default cache +- Adds copy/paste size in Arrange panel +- Adds support for tags in link actions +- Adds support for custom link actions + 14-JUN-2018: 8.8.1 - Adds detection of object type in link action diff --git a/VERSION b/VERSION index 8540c676063d1685b4734d537d1385390a08986c..d439d82b6280f3429ab9dffdd56ab5c122a4be13 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.8.1 \ No newline at end of file +8.8.2 \ No newline at end of file diff --git a/etc/build/build.xml b/etc/build/build.xml index 49acee1cdb3c0a5e20fe33e97b8a8e0c7b206161..3137a3f6efa2dad8e15a147cf5af1d5683840042 100644 --- a/etc/build/build.xml +++ b/etc/build/build.xml @@ -102,6 +102,7 @@ <sources dir="${war.dir}/js/diagramly/sidebar"> <file name="Sidebar.js" /> <file name="Sidebar-Advanced.js" /> + <file name="Sidebar-AlliedTelesys.js" /> <file name="Sidebar-Android.js" /> <file name="Sidebar-ArchiMate.js" /> <file name="Sidebar-ArchiMate3.js" /> diff --git a/src/main/webapp/cache.manifest b/src/main/webapp/cache.manifest index 2d12d4ac91981ff2dfc146be7835bbdec84954cb..bf6f3ae475cfc4ee97d147b3af5fbdc7646138dc 100644 --- a/src/main/webapp/cache.manifest +++ b/src/main/webapp/cache.manifest @@ -1,7 +1,7 @@ CACHE MANIFEST # THIS FILE WAS GENERATED. DO NOT MODIFY! -# 06/14/2018 05:12 PM +# 06/19/2018 08:48 AM app.html index.html?offline=1 @@ -53,350 +53,6 @@ images/glyphicons_github.png images/arrow.gif images/hs.png images/cross.gif -img/clipart/Gear_128x128.png -img/clipart/Battery_0_128x128.png -img/clipart/Battery_100_128x128.png -img/clipart/Battery_50_128x128.png -img/clipart/Battery_75_128x128.png -img/clipart/Battery_allstates_128x128.png -img/clipart/Bluetooth_128x128.png -img/clipart/Earth_globe_128x128.png -img/clipart/Empty_Folder_128x128.png -img/clipart/Full_Folder_128x128.png -img/clipart/Gear_128x128.png -img/clipart/Keys_128x128.png -img/clipart/Lock_128x128.png -img/clipart/Mouse_Pointer_128x128.png -img/clipart/Plug_128x128.png -img/clipart/Ships_Wheel_128x128.png -img/clipart/Star_128x128.png -img/clipart/Tire_128x128.png -img/computers/Antivirus_128x128.png -img/computers/Data_Filtering_128x128.png -img/computers/Database_128x128.png -img/computers/Database_Add_128x128.png -img/computers/Database_Minus_128x128.png -img/computers/Database_Move_Stack_128x128.png -img/computers/Database_Remove_128x128.png -img/computers/Fujitsu_Tablet_128x128.png -img/computers/Harddrive_128x128.png -img/computers/IBM_Tablet_128x128.png -img/computers/iMac_128x128.png -img/computers/iPad_128x128.png -img/computers/Laptop_128x128.png -img/computers/MacBook_128x128.png -img/computers/Mainframe_128x128.png -img/computers/Monitor_128x128.png -img/computers/Monitor_Tower_128x128.png -img/computers/Monitor_Tower_Behind_128x128.png -img/computers/Netbook_128x128.png -img/computers/Network_128x128.png -img/computers/Network_2_128x128.png -img/computers/Printer_128x128.png -img/computers/Printer_Commercial_128x128.png -img/computers/Secure_System_128x128.png -img/computers/Server_128x128.png -img/computers/Server_Rack_128x128.png -img/computers/Server_Rack_Empty_128x128.png -img/computers/Server_Rack_Partial_128x128.png -img/computers/Server_Tower_128x128.png -img/computers/Software_128x128.png -img/computers/Stylus_128x128.png -img/computers/Touch_128x128.png -img/computers/USB_Hub_128x128.png -img/computers/Virtual_Application_128x128.png -img/computers/Virtual_Machine_128x128.png -img/computers/Virus_128x128.png -img/computers/Workstation_128x128.png -img/finance/Arrow_Down_128x128.png -img/finance/Arrow_Up_128x128.png -img/finance/Coins_128x128.png -img/finance/Credit_Card_128x128.png -img/finance/Dollar_128x128.png -img/finance/Graph_128x128.png -img/finance/Pie_Chart_128x128.png -img/finance/Piggy_Bank_128x128.png -img/finance/Safe_128x128.png -img/finance/Shopping_Cart_128x128.png -img/finance/Stock_Down_128x128.png -img/finance/Stock_Up_128x128.png -img/lib/clip_art/computers/Antivirus_128x128.png -img/lib/clip_art/computers/Data_Filtering_128x128.png -img/lib/clip_art/computers/Database_128x128.png -img/lib/clip_art/computers/Database_Add_128x128.png -img/lib/clip_art/computers/Database_Minus_128x128.png -img/lib/clip_art/computers/Database_Move_Stack_128x128.png -img/lib/clip_art/computers/Database_Remove_128x128.png -img/lib/clip_art/computers/Fujitsu_Tablet_128x128.png -img/lib/clip_art/computers/Harddrive_128x128.png -img/lib/clip_art/computers/IBM_Tablet_128x128.png -img/lib/clip_art/computers/iMac_128x128.png -img/lib/clip_art/computers/iPad_128x128.png -img/lib/clip_art/computers/Laptop_128x128.png -img/lib/clip_art/computers/MacBook_128x128.png -img/lib/clip_art/computers/Mainframe_128x128.png -img/lib/clip_art/computers/Monitor_128x128.png -img/lib/clip_art/computers/Monitor_Tower_128x128.png -img/lib/clip_art/computers/Monitor_Tower_Behind_128x128.png -img/lib/clip_art/computers/Netbook_128x128.png -img/lib/clip_art/computers/Network_128x128.png -img/lib/clip_art/computers/Network_2_128x128.png -img/lib/clip_art/computers/Printer_128x128.png -img/lib/clip_art/computers/Printer_Commercial_128x128.png -img/lib/clip_art/computers/Secure_System_128x128.png -img/lib/clip_art/computers/Server_128x128.png -img/lib/clip_art/computers/Server_Rack_128x128.png -img/lib/clip_art/computers/Server_Rack_Empty_128x128.png -img/lib/clip_art/computers/Server_Rack_Partial_128x128.png -img/lib/clip_art/computers/Server_Tower_128x128.png -img/lib/clip_art/computers/Software_128x128.png -img/lib/clip_art/computers/Stylus_128x128.png -img/lib/clip_art/computers/Touch_128x128.png -img/lib/clip_art/computers/USB_Hub_128x128.png -img/lib/clip_art/computers/Virtual_Application_128x128.png -img/lib/clip_art/computers/Virtual_Machine_128x128.png -img/lib/clip_art/computers/Virus_128x128.png -img/lib/clip_art/computers/Workstation_128x128.png -img/lib/clip_art/finance/Arrow_Down_128x128.png -img/lib/clip_art/finance/Arrow_Up_128x128.png -img/lib/clip_art/finance/Coins_128x128.png -img/lib/clip_art/finance/Credit_Card_128x128.png -img/lib/clip_art/finance/Dollar_128x128.png -img/lib/clip_art/finance/Graph_128x128.png -img/lib/clip_art/finance/Pie_Chart_128x128.png -img/lib/clip_art/finance/Piggy_Bank_128x128.png -img/lib/clip_art/finance/Safe_128x128.png -img/lib/clip_art/finance/Shopping_Cart_128x128.png -img/lib/clip_art/finance/Stock_Down_128x128.png -img/lib/clip_art/finance/Stock_Up_128x128.png -img/lib/clip_art/general/Battery_0_128x128.png -img/lib/clip_art/general/Battery_100_128x128.png -img/lib/clip_art/general/Battery_50_128x128.png -img/lib/clip_art/general/Battery_75_128x128.png -img/lib/clip_art/general/Battery_allstates_128x128.png -img/lib/clip_art/general/Bluetooth_128x128.png -img/lib/clip_art/general/Earth_globe_128x128.png -img/lib/clip_art/general/Empty_Folder_128x128.png -img/lib/clip_art/general/Full_Folder_128x128.png -img/lib/clip_art/general/Gear_128x128.png -img/lib/clip_art/general/Keys_128x128.png -img/lib/clip_art/general/Lock_128x128.png -img/lib/clip_art/general/Mouse_Pointer_128x128.png -img/lib/clip_art/general/Plug_128x128.png -img/lib/clip_art/general/Ships_Wheel_128x128.png -img/lib/clip_art/general/Star_128x128.png -img/lib/clip_art/general/Tire_128x128.png -img/lib/clip_art/networking/Bridge_128x128.png -img/lib/clip_art/networking/Certificate_128x128.png -img/lib/clip_art/networking/Certificate_Off_128x128.png -img/lib/clip_art/networking/Cloud_128x128.png -img/lib/clip_art/networking/Cloud_Computer_128x128.png -img/lib/clip_art/networking/Cloud_Computer_Private_128x128.png -img/lib/clip_art/networking/Cloud_Rack_128x128.png -img/lib/clip_art/networking/Cloud_Rack_Private_128x128.png -img/lib/clip_art/networking/Cloud_Server_128x128.png -img/lib/clip_art/networking/Cloud_Server_Private_128x128.png -img/lib/clip_art/networking/Cloud_Storage_128x128.png -img/lib/clip_art/networking/Concentrator_128x128.png -img/lib/clip_art/networking/Email_128x128.png -img/lib/clip_art/networking/Firewall-page1_128x128.png -img/lib/clip_art/networking/Firewall_02_128x128.png -img/lib/clip_art/networking/Firewall_128x128.png -img/lib/clip_art/networking/Ip_Camera_128x128.png -img/lib/clip_art/networking/Modem_128x128.png -img/lib/clip_art/networking/power_distribution_unit_128x128.png -img/lib/clip_art/networking/Print_Server_128x128.png -img/lib/clip_art/networking/Print_Server_Wireless_128x128.png -img/lib/clip_art/networking/Repeater_128x128.png -img/lib/clip_art/networking/Router_128x128.png -img/lib/clip_art/networking/Router_Icon_128x128.png -img/lib/clip_art/networking/Switch_128x128.png -img/lib/clip_art/networking/UPS_128x128.png -img/lib/clip_art/networking/Wireless_Router_128x128.png -img/lib/clip_art/networking/Wireless_Router_N_128x128.png -img/lib/clip_art/people/Construction_Worker_Man_128x128.png -img/lib/clip_art/people/Construction_Worker_Man_Black_128x128.png -img/lib/clip_art/people/Construction_Worker_Woman_128x128.png -img/lib/clip_art/people/Construction_Worker_Woman_Black_128x128.png -img/lib/clip_art/people/Doctor_Man_128x128.png -img/lib/clip_art/people/Doctor_Man_Black_128x128.png -img/lib/clip_art/people/Doctor_Woman_128x128.png -img/lib/clip_art/people/Doctor_Woman_Black_128x128.png -img/lib/clip_art/people/Farmer_Man_128x128.png -img/lib/clip_art/people/Farmer_Man_Black_128x128.png -img/lib/clip_art/people/Farmer_Woman_128x128.png -img/lib/clip_art/people/Farmer_Woman_Black_128x128.png -img/lib/clip_art/people/Military_Officer_128x128.png -img/lib/clip_art/people/Military_Officer_Black_128x128.png -img/lib/clip_art/people/Military_Officer_Woman_128x128.png -img/lib/clip_art/people/Military_Officer_Woman_Black_128x128.png -img/lib/clip_art/people/Nurse_Man_128x128.png -img/lib/clip_art/people/Nurse_Man_Black_128x128.png -img/lib/clip_art/people/Nurse_Man_Green_128x128.png -img/lib/clip_art/people/Nurse_Man_Red_128x128.png -img/lib/clip_art/people/Nurse_Woman_128x128.png -img/lib/clip_art/people/Nurse_Woman_Black_128x128.png -img/lib/clip_art/people/Nurse_Woman_Green_128x128.png -img/lib/clip_art/people/Nurse_Woman_Red_128x128.png -img/lib/clip_art/people/Pilot_Man_128x128.png -img/lib/clip_art/people/Pilot_Man_Black_128x128.png -img/lib/clip_art/people/Pilot_Woman_128x128.png -img/lib/clip_art/people/Pilot_Woman_Black_128x128.png -img/lib/clip_art/people/Scientist_Man_128x128.png -img/lib/clip_art/people/Scientist_Man_Black_128x128.png -img/lib/clip_art/people/Scientist_Woman_128x128.png -img/lib/clip_art/people/Scientist_Woman_Black_128x128.png -img/lib/clip_art/people/Security_Man_128x128.png -img/lib/clip_art/people/Security_Man_Black_128x128.png -img/lib/clip_art/people/Security_Woman_128x128.png -img/lib/clip_art/people/Security_Woman_Black_128x128.png -img/lib/clip_art/people/Soldier_128x128.png -img/lib/clip_art/people/Soldier_Black_128x128.png -img/lib/clip_art/people/Suit_Man_128x128.png -img/lib/clip_art/people/Suit_Man_Black_128x128.png -img/lib/clip_art/people/Suit_Man_Blue_128x128.png -img/lib/clip_art/people/Suit_Man_Green_128x128.png -img/lib/clip_art/people/Suit_Man_Green_Black_128x128.png -img/lib/clip_art/people/Suit_Woman_128x128.png -img/lib/clip_art/people/Suit_Woman_Black_128x128.png -img/lib/clip_art/people/Suit_Woman_Blue_128x128.png -img/lib/clip_art/people/Suit_Woman_Green_128x128.png -img/lib/clip_art/people/Suit_Woman_Green_Black_128x128.png -img/lib/clip_art/people/Tech_Man_128x128.png -img/lib/clip_art/people/Tech_Man_Black_128x128.png -img/lib/clip_art/people/Telesales_Man_128x128.png -img/lib/clip_art/people/Telesales_Man_Black_128x128.png -img/lib/clip_art/people/Telesales_Woman_128x128.png -img/lib/clip_art/people/Telesales_Woman_Black_128x128.png -img/lib/clip_art/people/Waiter_128x128.png -img/lib/clip_art/people/Waiter_Black_128x128.png -img/lib/clip_art/people/Waiter_Woman_128x128.png -img/lib/clip_art/people/Waiter_Woman_Black_128x128.png -img/lib/clip_art/people/Worker_Black_128x128.png -img/lib/clip_art/people/Worker_Man_128x128.png -img/lib/clip_art/people/Worker_Woman_128x128.png -img/lib/clip_art/people/Worker_Woman_Black_128x128.png -img/lib/clip_art/telecommunication/BlackBerry_128x128.png -img/lib/clip_art/telecommunication/Cellphone_128x128.png -img/lib/clip_art/telecommunication/HTC_smartphone_128x128.png -img/lib/clip_art/telecommunication/iPhone_128x128.png -img/lib/clip_art/telecommunication/Palm_Treo_128x128.png -img/lib/clip_art/telecommunication/Signal_tower_off_128x128.png -img/lib/clip_art/telecommunication/Signal_tower_on_128x128.png -img/lib/clip_art/telecommunication/Telephone_128x128.png -img/networking/Bridge_128x128.png -img/networking/Certificate_128x128.png -img/networking/Certificate_Off_128x128.png -img/networking/Cloud_128x128.png -img/networking/Cloud_Computer_128x128.png -img/networking/Cloud_Computer_Private_128x128.png -img/networking/Cloud_Rack_128x128.png -img/networking/Cloud_Rack_Private_128x128.png -img/networking/Cloud_Server_128x128.png -img/networking/Cloud_Server_Private_128x128.png -img/networking/Cloud_Storage_128x128.png -img/networking/Concentrator_128x128.png -img/networking/Data_Filtering_128x128.png -img/networking/Database_128x128.png -img/networking/Database_Add_128x128.png -img/networking/Database_Minus_128x128.png -img/networking/Database_Move_Stack_128x128.png -img/networking/Database_Remove_128x128.png -img/networking/Email_128x128.png -img/networking/Firewall-page1_128x128.png -img/networking/Firewall_02_128x128.png -img/networking/Firewall_128x128.png -img/networking/Ip_Camera_128x128.png -img/networking/Mainframe_128x128.png -img/networking/Modem_128x128.png -img/networking/power_distribution_unit_128x128.png -img/networking/Print_Server_128x128.png -img/networking/Print_Server_Wireless_128x128.png -img/networking/Repeater_128x128.png -img/networking/Router_128x128.png -img/networking/Router_Icon_128x128.png -img/networking/Server_128x128.png -img/networking/Server_Rack_128x128.png -img/networking/Server_Rack_Empty_128x128.png -img/networking/Server_Rack_Partial_128x128.png -img/networking/Switch_128x128.png -img/networking/UPS_128x128.png -img/networking/Wireless_Router_128x128.png -img/networking/Wireless_Router_N_128x128.png -img/people/Construction_Worker_Man_128x128.png -img/people/Construction_Worker_Man_Black_128x128.png -img/people/Construction_Worker_Woman_128x128.png -img/people/Construction_Worker_Woman_Black_128x128.png -img/people/Doctor_Man_128x128.png -img/people/Doctor_Man_Black_128x128.png -img/people/Doctor_Woman_128x128.png -img/people/Doctor_Woman_Black_128x128.png -img/people/Farmer_Man_128x128.png -img/people/Farmer_Man_Black_128x128.png -img/people/Farmer_Woman_128x128.png -img/people/Farmer_Woman_Black_128x128.png -img/people/Military_Officer_128x128.png -img/people/Military_Officer_Black_128x128.png -img/people/Military_Officer_Woman_128x128.png -img/people/Military_Officer_Woman_Black_128x128.png -img/people/Nurse_Man_128x128.png -img/people/Nurse_Man_Black_128x128.png -img/people/Nurse_Man_Green_128x128.png -img/people/Nurse_Man_Red_128x128.png -img/people/Nurse_Woman_128x128.png -img/people/Nurse_Woman_Black_128x128.png -img/people/Nurse_Woman_Green_128x128.png -img/people/Nurse_Woman_Red_128x128.png -img/people/Pilot_Man_128x128.png -img/people/Pilot_Man_Black_128x128.png -img/people/Pilot_Woman_128x128.png -img/people/Pilot_Woman_Black_128x128.png -img/people/Scientist_Man_128x128.png -img/people/Scientist_Man_Black_128x128.png -img/people/Scientist_Woman_128x128.png -img/people/Scientist_Woman_Black_128x128.png -img/people/Security_Man_128x128.png -img/people/Security_Man_Black_128x128.png -img/people/Security_Woman_128x128.png -img/people/Security_Woman_Black_128x128.png -img/people/Soldier_128x128.png -img/people/Soldier_Black_128x128.png -img/people/Suit_Man_128x128.png -img/people/Suit_Man_Black_128x128.png -img/people/Suit_Man_Blue_128x128.png -img/people/Suit_Man_Green_128x128.png -img/people/Suit_Man_Green_Black_128x128.png -img/people/Suit_Woman_128x128.png -img/people/Suit_Woman_Black_128x128.png -img/people/Suit_Woman_Blue_128x128.png -img/people/Suit_Woman_Green_128x128.png -img/people/Suit_Woman_Green_Black_128x128.png -img/people/Tech_Man_128x128.png -img/people/Tech_Man_Black_128x128.png -img/people/Telesales_Man_128x128.png -img/people/Telesales_Man_Black_128x128.png -img/people/Telesales_Woman_128x128.png -img/people/Telesales_Woman_Black_128x128.png -img/people/Waiter_128x128.png -img/people/Waiter_Black_128x128.png -img/people/Waiter_Woman_128x128.png -img/people/Waiter_Woman_Black_128x128.png -img/people/Worker_Black_128x128.png -img/people/Worker_Man_128x128.png -img/people/Worker_Woman_128x128.png -img/people/Worker_Woman_Black_128x128.png -img/telecommunication/Battery_0_128x128.png -img/telecommunication/Battery_100_128x128.png -img/telecommunication/Battery_50_128x128.png -img/telecommunication/Battery_75_128x128.png -img/telecommunication/Battery_allstates_128x128.png -img/telecommunication/BlackBerry_128x128.png -img/telecommunication/Cellphone_128x128.png -img/telecommunication/HTC_smartphone_128x128.png -img/telecommunication/iPhone_128x128.png -img/telecommunication/Palm_Treo_128x128.png -img/telecommunication/Signal_tower_off_128x128.png -img/telecommunication/Signal_tower_on_128x128.png # Redirect app to app.html which redirects to index.html?offline=1 # this is required to get the URL parameters into the index page. diff --git a/src/main/webapp/images/sidebar-allied_telesys.png b/src/main/webapp/images/sidebar-allied_telesys.png new file mode 100644 index 0000000000000000000000000000000000000000..f6151ba9866e1a73697e7b4764ba99361f105a1e Binary files /dev/null and b/src/main/webapp/images/sidebar-allied_telesys.png differ diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Apartments.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Apartments.svg new file mode 100644 index 0000000000000000000000000000000000000000..4bdd7c39500dea5d76c6ae98da14c947528c5129 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Apartments.svg @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 90.458 175.661" style="enable-background:new 0 0 90.458 175.661;" xml:space="preserve"> +<style type="text/css"> + .st0{filter:url(#Adobe_OpacityMaskFilter);} + .st1{fill:#FFFFFF;} + .st2{mask:url(#mask-6_1_);fill:#1C5A84;} + .st3{fill:#1F608C;} + .st4{fill:#FEFEFE;} + .st5{fill:#D6DEE6;} + .st6{fill:#6089B1;} + .st7{fill:#276E9F;} + .st8{fill:#19557D;} + .st9{fill:#1C5A84;} +</style> +<title>icon-apartment</title> +<desc>Created with Sketch.</desc> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="47.779" y="149.499" width="42.679" height="25.822"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="47.779" y="149.499" width="42.679" height="25.822" id="mask-6_1_"> + <g class="st0"> + <path id="path-5_1_" class="st1" d="M49.682,171.143c0.002,2.102-0.731,3.556-1.903,4.178 + c13.593-7.215,27.183-14.43,40.776-21.645c1.171-0.622,1.904-2.075,1.903-4.176"/> + </g> +</mask> +<path id="Fill-8" class="st2" d="M49.682,171.143l40.776-21.644c0.001,2.102-0.732,3.555-1.903,4.177l-40.776,21.645 + C48.951,174.699,49.683,173.246,49.682,171.143"/> +<path class="st3" d="M49.638,111.872c0-0.016-0.004-0.034-0.004-0.05L49.59,52.764c0-1.179-0.793-2.612-1.772-3.2L1.769,21.895 + C0.791,21.307-0.001,21.787,0,22.966l0.041,59.27c0,0.056,0.006,0.114,0.007,0.17l0.041,58.938c0.003,4.014,2.68,8.874,5.978,10.856 + l37.648,22.621c3.298,1.982,5.97,0.335,5.967-3.678L49.638,111.872z"/> +<path id="Fill-43" class="st4" d="M46.186,130.849l-8.69-5.222v-12.853l8.69,5.221V130.849z M46.186,149.979l-8.69-5.222v-12.851 + l8.69,5.221V149.979z M46.186,168.715l-8.69-5.22v-12.853l8.69,5.222V168.715z M34.545,123.854l-8.692-5.222v-12.854l8.692,5.223 + V123.854z M34.545,142.985l-8.692-5.224V124.91l8.692,5.223V142.985z M14.868,131.161v-12.852l8.695,5.225v12.852L14.868,131.161z + M11.862,110.225l-8.693-5.224V92.148l8.693,5.223V110.225z M11.862,129.355l-8.693-5.224V111.28l8.693,5.223V129.355z + M11.523,147.888l-8.691-5.223v-12.852l8.691,5.223V147.888z M14.868,99.177l8.695,5.225v12.854l-8.695-5.224V99.177z + M15.993,157.799v-19.323l7.284,4.377v19.321L15.993,157.799z M25.258,163.365v-19.323l7.07,4.249v19.323L25.258,163.365z"/> +<path id="Fill-44" class="st5" d="M38.79,114.838l6.667,4.019l-0.015,8.242c0,0-0.406-4.831-3.24-8.531 + C39.602,115.178,38.79,114.838,38.79,114.838"/> +<path id="Fill-46" class="st5" d="M4.371,94.09l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C5.18,94.428,4.371,94.09,4.371,94.09"/> +<path id="Fill-48" class="st5" d="M38.759,133.827l6.667,4.019l-0.016,8.247c0,0-0.404-4.832-3.239-8.532 + C39.571,134.167,38.759,133.827,38.759,133.827"/> +<path id="Fill-50" class="st5" d="M27.157,107.826l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C27.969,108.166,27.157,107.826,27.157,107.826"/> +<path id="Fill-52" class="st5" d="M27.128,126.815l6.667,4.019l-0.016,8.247c0,0-0.405-4.833-3.238-8.532 + C27.939,127.155,27.128,126.815,27.128,126.815"/> +<path id="Fill-54" class="st5" d="M16.186,101.212l6.67,4.021l-0.016,8.241c0,0-0.409-4.831-3.243-8.531 + C16.996,101.552,16.186,101.212,16.186,101.212"/> +<path id="Fill-56" class="st5" d="M16.156,120.201l6.669,4.021l-0.016,8.246c0,0-0.408-4.833-3.241-8.534 + C16.966,120.541,16.156,120.201,16.156,120.201"/> +<path id="Fill-58" class="st5" d="M4.34,113.078l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.241-8.535 + C5.149,113.417,4.34,113.078,4.34,113.078"/> +<path id="Fill-60" class="st5" d="M38.73,152.77l6.667,4.02l-0.016,8.245c0,0-0.404-4.832-3.24-8.532 + C39.541,153.113,38.73,152.77,38.73,152.77"/> +<path id="Fill-62" class="st5" d="M4.1,131.896l6.666,4.019l-0.016,8.244c0,0-0.407-4.832-3.237-8.531 + C4.91,132.237,4.1,131.896,4.1,131.896"/> +<path class="st6" d="M41.855,0.004l-0.001,0.001c-0.193-0.018-0.37,0.015-0.52,0.096L0.558,21.745 + c0.151-0.08,0.328-0.113,0.522-0.096l15.394-8.171L1.08,21.649c0.211,0.019,0.444,0.1,0.689,0.246L42.545,0.252 + C42.301,0.104,42.067,0.024,41.855,0.004z"/> +<polygon id="Fill-75" class="st7" points="1.769,21.895 42.545,0.251 88.594,27.919 47.818,49.564 "/> +<polygon class="st8" points="90.458,149.5 90.414,90.228 90.41,90.23 90.366,31.119 49.59,52.764 49.633,112.035 49.638,112.032 + 49.681,171.143 "/> +<g> + <path class="st9" d="M48.146,49.798c0.08,0.066,0.158,0.138,0.234,0.214l40.776-21.645c-0.076-0.076-0.154-0.147-0.234-0.214l0,0 + c-0.106-0.088-0.217-0.167-0.328-0.235L47.818,49.564C47.93,49.631,48.04,49.71,48.146,49.798"/> + <path class="st9" d="M48.38,50.012c0.124,0.125,0.242,0.261,0.352,0.407l0,0c0.043,0.058,0.085,0.116,0.126,0.176l0,0 + c0.038,0.057,0.075,0.114,0.111,0.172l0,0c0.043,0.069,0.083,0.141,0.122,0.212h0c0.055,0.102,0.107,0.205,0.154,0.311 + c0.083,0.187,0.154,0.378,0.209,0.568l0,0v0c0.088,0.307,0.137,0.614,0.137,0.906L90.367,31.12c0-0.292-0.049-0.6-0.137-0.906l0,0 + c-0.056-0.192-0.126-0.382-0.209-0.568h0c-0.048-0.105-0.099-0.209-0.154-0.312l0,0c-0.039-0.071-0.08-0.141-0.123-0.211h0 + c-0.035-0.058-0.072-0.116-0.111-0.173l0,0c-0.04-0.059-0.082-0.118-0.125-0.176l-0.001,0c-0.109-0.146-0.227-0.283-0.351-0.408"/> +</g> +<path id="Fill-110" class="st4" d="M46.138,71.741l-8.69-5.222V53.666l8.69,5.221V71.741z M46.138,90.871l-8.69-5.222V72.798 + l8.69,5.221V90.871z M46.138,109.607l-8.69-5.22V91.534l8.69,5.222V109.607z M34.497,64.746l-8.692-5.222V46.67l8.692,5.223V64.746z + M34.497,83.877l-8.692-5.224V65.802l8.692,5.223V83.877z M14.82,72.053V59.201l8.695,5.225v12.852L14.82,72.053z M11.814,51.117 + l-8.693-5.224V33.04l8.693,5.223V51.117z M11.814,70.247l-8.693-5.224V52.172l8.693,5.223V70.247z M11.475,88.78l-8.691-5.223 + V70.705l8.691,5.223V88.78z M14.82,40.069l8.695,5.225v12.854l-8.695-5.224V40.069z"/> +<path id="Fill-112" class="st5" d="M38.742,55.73l6.667,4.019l-0.015,8.242c0,0-0.406-4.831-3.24-8.531 + C39.554,56.07,38.742,55.73,38.742,55.73"/> +<path id="Fill-114" class="st5" d="M4.323,34.982L10.989,39l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C5.132,35.32,4.323,34.982,4.323,34.982"/> +<path id="Fill-116" class="st5" d="M38.711,74.718l6.667,4.019l-0.016,8.247c0,0-0.404-4.832-3.239-8.532 + C39.523,75.058,38.711,74.718,38.711,74.718"/> +<path id="Fill-118" class="st5" d="M27.109,48.717l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C27.921,49.057,27.109,48.717,27.109,48.717"/> +<path id="Fill-120" class="st5" d="M27.08,67.706l6.667,4.019l-0.016,8.247c0,0-0.405-4.833-3.238-8.532 + C27.891,68.046,27.08,67.706,27.08,67.706"/> +<path id="Fill-122" class="st5" d="M16.138,42.104l6.67,4.021l-0.016,8.241c0,0-0.409-4.831-3.243-8.531 + C16.948,42.444,16.138,42.104,16.138,42.104"/> +<path id="Fill-124" class="st5" d="M16.108,61.092l6.669,4.021l-0.016,8.246c0,0-0.408-4.833-3.241-8.534 + C16.918,61.432,16.108,61.092,16.108,61.092"/> +<path id="Fill-126" class="st5" d="M4.293,53.97l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.241-8.535 + C5.102,54.309,4.293,53.97,4.293,53.97"/> +<path id="Fill-128" class="st5" d="M38.682,93.661l6.667,4.02l-0.016,8.245c0,0-0.404-4.832-3.24-8.532 + C39.493,94.004,38.682,93.661,38.682,93.661"/> +<path id="Fill-130" class="st5" d="M4.052,72.787l6.666,4.019l-0.016,8.244c0,0-0.407-4.832-3.237-8.531 + C4.862,73.128,4.052,72.787,4.052,72.787"/> +<path id="Fill-132" class="st4" d="M34.191,102.095l-8.692-5.222V84.019l8.692,5.223V102.095z M14.514,77.418l8.695,5.225v12.854 + l-8.695-5.224V77.418z"/> +<path id="Fill-134" class="st5" d="M26.615,86.057l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C27.427,86.397,26.615,86.057,26.615,86.057"/> +<path id="Fill-136" class="st5" d="M15.644,79.444l6.67,4.021l-0.016,8.241c0,0-0.409-4.831-3.243-8.531 + C16.454,79.784,15.644,79.444,15.644,79.444"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Building_Cluster.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Building_Cluster.svg new file mode 100644 index 0000000000000000000000000000000000000000..13aeb9d583d4c6da2e227d7adc76ecc0bd5c067b --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Building_Cluster.svg @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Building Cluster4.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 201.889 184.58" + style="enable-background:new 0 0 201.889 184.58;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#6089B1;} + .st1{filter:url(#Adobe_OpacityMaskFilter);} + .st2{fill:#FFFFFF;} + .st3{mask:url(#mask-6_2_);fill:#1C5A84;} + .st4{fill:#276E9F;} + .st5{fill:#19557D;} + .st6{fill:#1C5A84;} + .st7{fill:#1F608C;} + .st8{fill:#FEFEFE;} + .st9{fill:#D6DEE6;} + .st10{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st11{mask:url(#mask-30_2_);fill:#1C5A84;} + .st12{filter:url(#Adobe_OpacityMaskFilter_2_);} + .st13{mask:url(#mask-62_2_);fill:#1C5A84;} + .st14{fill:#1A5881;} + .st15{filter:url(#Adobe_OpacityMaskFilter_3_);} + .st16{mask:url(#mask-82_2_);fill:#1F5F8B;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview173" inkscape:current-layer="Layer_1" inkscape:cx="109.60495" inkscape:cy="138.74616" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="5.6568543" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-building-cluster</title> +<desc id="desc6">Created with Sketch.</desc> +<g id="g12"> + <path id="path8" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" class="st0" d="M58.628,0.108L15.65,22.92 + c0.155-0.084,0.345-0.116,0.549-0.101c0.221,0.021,0.467,0.105,0.725,0.264L59.907,0.266c-0.258-0.157-0.502-0.243-0.727-0.262 + C58.975-0.014,58.792,0.02,58.628,0.108z"/> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="65.374" y="95.283" width="44.989" height="27.221"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="65.374" y="95.283" width="44.989" height="27.221" id="mask-6_2_"> + <g id="g20_1_" class="st1"> + <path id="path-5_2_" class="st2" d="M67.38,118.098c0,2.218-0.77,3.749-2.006,4.406c14.326-7.608,28.653-15.213,42.984-22.818 + c1.235-0.655,2.008-2.183,2.005-4.403"/> + </g> +</mask> +<path id="Fill-8" class="st3" d="M67.38,118.098l42.983-22.815c0.002,2.22-0.77,3.748-2.005,4.403l-42.984,22.818 + C66.609,121.847,67.38,120.317,67.38,118.098"/> +<polygon id="Fill-11" class="st4" points="16.924,23.081 65.465,52.246 108.45,29.432 59.908,0.266 "/> +<polygon id="Fill-12" class="st5" points="67.335,55.617 110.316,32.803 110.363,95.282 67.38,118.097 "/> +<g id="g32"> + <path id="path26" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M108.449,29.434L65.465,52.246 + c1.087,0.709,1.871,2.314,1.871,3.371l42.98-22.814C110.316,30.97,109.418,30.034,108.449,29.434z"/> +</g> +<path id="Fill-41" class="st7" d="M65.464,52.246c1.032,0.62,1.869,2.13,1.871,3.371l0.045,62.481 + c0.003,4.234-2.816,5.968-6.291,3.875L21.401,98.132c-3.474-2.089-6.295-7.214-6.295-11.446l-0.047-62.48 + c0-1.241,0.833-1.744,1.865-1.125L65.464,52.246z"/> +<polygon id="polygon35" class="st8" points="63.694,75.625 54.535,70.12 54.535,56.567 63.694,62.076 "/> +<polygon id="polygon37" class="st8" points="51.423,68.25 42.262,62.747 42.262,49.194 51.423,54.703 "/> +<polygon id="polygon39" class="st8" points="30.682,75.954 30.682,62.405 39.848,67.914 39.848,81.458 "/> +<polygon id="polygon41" class="st8" points="27.513,53.885 18.349,48.378 18.349,34.829 27.513,40.337 "/> +<polygon id="polygon43" class="st8" points="27.513,74.05 18.349,68.543 18.349,54.997 27.513,60.501 "/> +<polygon id="polygon45" class="st8" points="27.155,93.587 17.994,88.081 17.994,74.533 27.155,80.04 "/> +<polygon id="polygon47" class="st8" points="30.682,42.24 39.848,47.743 39.848,61.297 30.682,55.791 "/> +<path id="Fill-44" class="st9" d="M55.899,58.748l7.028,4.233l-0.015,8.69c0,0-0.432-5.094-3.419-8.993 + C56.754,59.108,55.899,58.748,55.899,58.748"/> +<path id="Fill-46" class="st9" d="M19.617,36.872l7.025,4.239l-0.016,8.688c0,0-0.43-5.094-3.418-8.997 + C20.469,37.229,19.617,36.872,19.617,36.872"/> +<path id="Fill-50" class="st9" d="M43.639,51.353l7.025,4.239l-0.016,8.686c0,0-0.426-5.09-3.416-8.989 + C44.492,51.716,43.639,51.353,43.639,51.353"/> +<path id="Fill-54" class="st9" d="M32.071,44.38l7.03,4.243l-0.014,8.685c0,0-0.435-5.094-3.421-8.991 + C32.926,44.739,32.071,44.38,32.071,44.38"/> +<path id="Fill-56" class="st9" d="M32.041,64.401l7.032,4.232l-0.019,8.699c0,0-0.429-5.094-3.418-8.996 + C32.895,64.756,32.041,64.401,32.041,64.401"/> +<path id="Fill-58" class="st9" d="M19.583,56.892l7.03,4.235l-0.02,8.694c0,0-0.427-5.096-3.416-8.998 + C20.434,57.247,19.583,56.892,19.583,56.892"/> +<g id="g59"> + <path id="path57" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" class="st0" d="M150.155,55.097l-42.981,22.812 + c0.159-0.085,0.344-0.116,0.558-0.098s0.46,0.104,0.719,0.262l42.982-22.817c-0.258-0.156-0.503-0.242-0.725-0.263 + C150.5,54.977,150.316,55.011,150.155,55.097z"/> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="156.902" y="150.272" width="44.987" height="27.219"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="156.902" y="150.272" width="44.987" height="27.219" id="mask-30_2_"> + <g id="g67_1_" class="st10"> + <path id="path-29_2_" class="st2" d="M158.908,173.089c0,2.214-0.774,3.746-2.007,4.403c14.325-7.606,28.652-15.21,42.984-22.814 + c1.233-0.657,2.005-2.187,2.004-4.406"/> + </g> +</mask> +<path id="Fill-72" class="st11" d="M158.908,173.089l42.981-22.817c0.001,2.219-0.771,3.749-2.004,4.406l-42.983,22.813 + C158.135,176.835,158.908,175.303,158.908,173.089"/> +<polygon id="Fill-75" class="st4" points="108.451,78.073 151.433,55.257 199.975,84.422 156.989,107.236 "/> +<polygon id="Fill-77" class="st5" points="158.861,110.609 201.841,87.793 201.889,150.272 158.908,173.089 "/> +<g id="g79"> + <path id="path73" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M199.975,84.422l-42.986,22.814 + c1.173,0.804,1.871,2.322,1.871,3.373l42.982-22.816C201.842,86.272,200.943,85.03,199.975,84.422z"/> +</g> +<path id="Fill-108" class="st7" d="M156.989,107.236c1.032,0.621,1.869,2.131,1.872,3.373l0.046,62.481 + c0.003,4.23-2.816,5.964-6.29,3.875l-39.689-23.843c-3.476-2.088-6.297-7.214-6.299-11.444l-0.045-62.482 + c0-1.24,0.833-1.741,1.867-1.123L156.989,107.236z"/> +<polygon id="polygon82" class="st8" points="155.221,130.613 146.06,125.109 146.06,111.558 155.221,117.066 "/> +<polygon id="polygon84" class="st8" points="155.221,150.777 146.06,145.275 146.06,131.728 155.221,137.23 "/> +<polygon id="polygon86" class="st8" points="155.221,170.531 146.06,165.026 146.06,151.48 155.221,156.984 "/> +<polygon id="polygon88" class="st8" points="142.948,123.242 133.788,117.736 133.788,104.186 142.948,109.693 "/> +<polygon id="polygon90" class="st8" points="142.948,143.409 133.788,137.9 133.788,124.35 142.948,129.859 "/> +<polygon id="polygon92" class="st8" points="122.206,130.945 122.206,117.396 131.373,122.902 131.373,136.448 "/> +<polygon id="polygon94" class="st8" points="119.04,108.875 109.877,103.366 109.877,89.819 119.04,95.329 "/> +<polygon id="polygon96" class="st8" points="122.206,97.229 131.373,102.732 131.373,116.285 122.206,110.781 "/> +<polygon id="polygon98" class="st8" points="123.394,159.022 123.394,138.654 131.072,143.264 131.072,163.634 "/> +<polygon id="polygon100" class="st8" points="133.159,164.887 133.159,144.521 140.613,148.999 140.613,169.368 "/> +<path id="Fill-112" class="st9" d="M147.424,113.738l7.028,4.232l-0.016,8.69c0,0-0.429-5.092-3.416-8.99 + C148.281,114.096,147.424,113.738,147.424,113.738"/> +<path id="Fill-114" class="st9" d="M111.142,91.862l7.025,4.238l-0.013,8.687c0,0-0.431-5.09-3.42-8.992 + C111.995,92.223,111.142,91.862,111.142,91.862"/> +<path id="Fill-116" class="st9" d="M147.393,133.75l7.028,4.236l-0.019,8.698c0,0-0.423-5.098-3.412-8.997 + C148.249,134.11,147.393,133.75,147.393,133.75"/> +<path id="Fill-118" class="st9" d="M135.162,106.343l7.027,4.238l-0.016,8.688c0,0-0.427-5.093-3.414-8.991 + C136.017,106.703,135.162,106.343,135.162,106.343"/> +<path id="Fill-120" class="st9" d="M135.133,126.362l7.025,4.236l-0.016,8.694c0,0-0.427-5.099-3.413-8.994 + C135.983,126.718,135.133,126.362,135.133,126.362"/> +<path id="Fill-122" class="st9" d="M123.594,99.367l7.034,4.244l-0.017,8.688c0,0-0.432-5.095-3.419-8.994 + C124.451,99.728,123.594,99.367,123.594,99.367"/> +<path id="Fill-124" class="st9" d="M123.567,119.389l7.029,4.233l-0.017,8.697c0,0-0.43-5.092-3.418-8.993 + C124.417,119.745,123.567,119.389,123.567,119.389"/> +<path id="Fill-128" class="st9" d="M147.363,153.721l7.027,4.238l-0.016,8.693c0,0-0.428-5.097-3.417-8.997 + C148.217,154.083,147.363,153.721,147.363,153.721"/> +<path id="path110" class="st0" d="M46.018,61.226L46.018,61.226c-0.182-0.051-0.462-0.097-0.726,0l-0.009,0.005 + c-0.033,0.012-0.067,0.024-0.099,0.042L0.635,84.919c0.036-0.019,0.077-0.034,0.112-0.048c0.263-0.094,0.542-0.051,0.725,0l0,0 + c0.113,0.032,0.192,0.068,0.207,0.076L46.226,61.3C46.209,61.293,46.131,61.258,46.018,61.226z"/> +<polygon id="Fill-143" class="st4" points="1.678,84.948 46.226,61.3 58.774,68.841 14.228,92.485 "/> +<g id="g117"> + <path id="path113" class="st0" d="M59.283,60.287L14.735,83.934c0.03-0.017,0.058-0.029,0.088-0.039l44.546-23.646 + C59.341,60.26,59.312,60.272,59.283,60.287z"/> + <path id="path115" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccc" class="st0" d="M59.91,60.249L59.91,60.249 + c-0.198-0.059-0.381-0.059-0.541,0L14.824,83.895c0.159-0.058,0.346-0.058,0.502-0.013s0.276,0.102,0.401,0.174L60.271,60.41 + C60.147,60.335,60.027,60.282,59.91,60.249z"/> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="77.102" y="156.557" width="46.396" height="27.69"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="77.102" y="156.557" width="46.396" height="27.69" id="mask-62_2_"> + <g id="g125_1_" class="st12"> + <path id="path-61_2_" class="st2" d="M78.951,180.196c0.003,2.038-0.709,3.449-1.849,4.05l44.546-23.64 + c1.14-0.605,1.853-2.012,1.851-4.049"/> + </g> +</mask> +<path id="Fill-155" class="st13" d="M78.951,180.197l44.547-23.64c0.002,2.037-0.71,3.445-1.851,4.049l-44.545,23.641 + C78.242,183.645,78.954,182.234,78.951,180.197"/> +<polygon id="Fill-158" class="st4" points="15.726,84.056 60.271,60.41 105.051,87.32 60.506,110.961 "/> +<polygon id="Fill-160" class="st14" points="61.986,113.628 106.529,89.98 106.536,97.54 61.989,121.184 "/> +<g id="g137"> + <path id="path131" class="st6" d="M105.598,87.772L105.598,87.772c-0.053-0.057-0.108-0.113-0.164-0.165l0,0 + c-0.12-0.113-0.249-0.21-0.383-0.288l-44.546,23.642c0.134,0.081,0.261,0.183,0.383,0.292l13.102-6.955l-13.101,6.955 + c0.058,0.052,0.111,0.104,0.162,0.163l8.022-4.258l-8.022,4.258c0.139,0.15,0.268,0.318,0.382,0.498l44.547-23.649 + C105.866,88.091,105.738,87.921,105.598,87.772z"/> + <path id="path133" class="st6" d="M106.171,88.605L106.171,88.605c-0.028-0.057-0.057-0.111-0.088-0.163l0,0 + c-0.034-0.059-0.066-0.118-0.103-0.177l-44.547,23.649c0.037,0.058,0.071,0.112,0.105,0.173l0,0 + c0.029,0.054,0.058,0.108,0.087,0.162l3.733-1.981l-3.733,1.982c0.036,0.069,0.066,0.141,0.096,0.209l44.547-23.645 + C106.237,88.742,106.205,88.672,106.171,88.605z"/> + <path id="path135" class="st6" d="M106.509,89.658L106.509,89.658c-0.022-0.171-0.064-0.348-0.12-0.524l-41.012,21.77l41.012-21.77 + c-0.035-0.109-0.075-0.212-0.12-0.32l-44.547,23.645c0.044,0.105,0.085,0.213,0.122,0.321l0,0c0.056,0.176,0.096,0.35,0.121,0.523 + l12.235-6.494l-12.235,6.495c0.013,0.109,0.02,0.217,0.022,0.325L106.53,89.98C106.53,89.876,106.523,89.768,106.509,89.658z"/> +</g> +<polygon id="Fill-191" class="st4" points="61.989,121.184 106.536,97.54 120.605,105.994 76.059,129.638 "/> +<polygon id="Fill-193" class="st14" points="78.921,134.382 123.466,110.736 123.498,156.557 78.951,180.196 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="0" y="83.85" width="78.951" height="100.73"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="0" y="83.85" width="78.951" height="100.73" id="mask-82_2_"> + <g id="g147_1_" class="st15"> + <polygon id="path-81_2_" class="st2" points="0,83.85 78.951,83.85 78.951,184.58 0,184.58 "/> + </g> +</mask> +<path id="Fill-195" class="st16" d="M60.506,110.961c0.816,0.492,1.478,1.685,1.48,2.667l0.003,7.556l14.071,8.454 + c2.858,1.717,2.862,4.592,2.862,4.744l0.029,45.814c0.003,3.905-2.614,5.501-5.856,3.553L5.898,143.378 + c-3.235-1.946-5.862-6.688-5.865-10.594L0,86.599c0-2.417,1.596-1.691,1.678-1.652l12.55,7.538l-0.005-7.393 + c0.029-1.127,0.686-1.526,1.504-1.036L60.506,110.961z"/> +<g id="g155"> + <path id="path151" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M120.605,105.993l-44.545,23.646 + c1.561,0.896,2.861,2.881,2.861,4.744l44.545-23.646C123.467,108.787,122.227,107.08,120.605,105.993z"/> +</g> +<path id="Fill-227" class="st8" d="M75.417,147.689l-8.632-5.185v-12.757l8.632,5.182C75.417,134.929,75.417,147.689,75.417,147.689 + z M75.417,166.696l-8.632-5.187v-12.767l8.632,5.184C75.417,153.926,75.417,166.696,75.417,166.696z M59.189,130.248l-8.628-5.185 + v-12.766l8.628,5.185C59.189,117.482,59.189,130.248,59.189,130.248z M59.189,149.249l-8.628-5.189v-12.763l8.628,5.186 + C59.189,136.483,59.189,149.249,59.189,149.249z M59.189,167.854l-8.628-5.185v-12.764l8.628,5.185 + C59.189,155.09,59.189,167.854,59.189,167.854z M47.627,123.302l-8.629-5.188v-12.767l8.629,5.189V123.302z M47.627,142.301 + l-8.629-5.187v-12.765l8.629,5.188V142.301z M28.086,130.559v-12.764l8.636,5.189v12.763L28.086,130.559z M25.102,109.765 + l-8.635-5.185V91.812l8.635,5.187V109.765z M25.102,128.764l-8.635-5.189v-12.76L25.102,116V128.764z M24.765,147.169l-8.633-5.185 + v-12.765l8.633,5.189V147.169z M28.086,98.791l8.636,5.191v12.766l-8.636-5.19V98.791z M11.424,109.241l-8.636-5.19V91.293 + l8.636,5.187V109.241z M11.424,128.242l-8.636-5.189v-12.765l8.636,5.19V128.242z M29.205,157.012v-19.19l7.234,4.347v19.187 + L29.205,157.012z M38.405,162.54v-19.188l7.021,4.218v19.192L38.405,162.54z"/> +<path id="Fill-229" class="st9" d="M51.845,114.566l6.621,3.992l-0.016,8.186c0,0-0.403-4.798-3.217-8.472 + C52.65,114.905,51.845,114.566,51.845,114.566"/> +<path id="Fill-231" class="st9" d="M17.662,93.96l6.621,3.989l-0.018,8.187c0,0-0.405-4.797-3.219-8.474 + C18.463,94.296,17.662,93.96,17.662,93.96"/> +<path id="Fill-233" class="st9" d="M51.812,133.424l6.623,3.992l-0.016,8.192c0,0-0.402-4.8-3.217-8.475 + C52.621,133.76,51.812,133.424,51.812,133.424"/> +<path id="Fill-235" class="st9" d="M40.292,107.602l6.621,3.991l-0.015,8.185c0,0-0.404-4.797-3.218-8.469 + C41.097,107.943,40.292,107.602,40.292,107.602"/> +<path id="Fill-237" class="st9" d="M40.26,126.462l6.624,3.991l-0.016,8.191c0,0-0.404-4.802-3.217-8.474 + C41.068,126.799,40.26,126.462,40.26,126.462"/> +<path id="Fill-239" class="st9" d="M29.396,101.034l6.624,3.992l-0.018,8.186c0,0-0.405-4.797-3.218-8.473 + C30.201,101.371,29.396,101.034,29.396,101.034"/> +<path id="Fill-241" class="st9" d="M29.367,119.891l6.623,3.994l-0.015,8.192c0,0-0.407-4.802-3.221-8.475 + C30.172,120.228,29.367,119.891,29.367,119.891"/> +<path id="Fill-243" class="st9" d="M17.631,112.818l6.619,3.993l-0.014,8.191c0,0-0.404-4.804-3.22-8.476 + C18.434,113.156,17.631,112.818,17.631,112.818"/> +<path id="Fill-245" class="st9" d="M51.784,152.238l6.623,3.99l-0.015,8.191c0,0-0.403-4.798-3.218-8.473 + C52.593,152.581,51.784,152.238,51.784,152.238"/> +<path id="Fill-247" class="st9" d="M17.392,131.509l6.621,3.989l-0.016,8.19c0,0-0.403-4.8-3.215-8.473 + C18.195,131.846,17.392,131.509,17.392,131.509"/> +<path id="Fill-249" class="st9" d="M4.109,93.475l6.618,3.991l-0.015,8.188c0,0-0.399-4.799-3.215-8.469 + C4.914,93.813,4.109,93.475,4.109,93.475"/> +<path id="Fill-251" class="st9" d="M4.079,112.615l6.62,3.989l-0.016,8.192c0,0-0.402-4.798-3.216-8.474 + C4.882,112.954,4.079,112.615,4.079,112.615"/> +<path id="Fill-253" class="st9" d="M68.044,132.016l6.624,3.989l-0.018,8.19c0,0-0.4-4.797-3.215-8.467 + C68.85,132.354,68.044,132.016,68.044,132.016"/> +<path id="Fill-255" class="st9" d="M68.015,151.156l6.621,3.992l-0.014,8.189c0,0-0.401-4.8-3.219-8.474 + C68.819,151.495,68.015,151.156,68.015,151.156"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Large_Building.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Large_Building.svg new file mode 100644 index 0000000000000000000000000000000000000000..3e48fa6c765f8ca306bddfddc8f6955f3762d1d6 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Large_Building.svg @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Large Building4.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 124.348 125.232" + style="enable-background:new 0 0 124.348 125.232;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#6089B1;} + .st1{fill:#276E9F;} + .st2{filter:url(#Adobe_OpacityMaskFilter);} + .st3{fill:#FFFFFF;} + .st4{mask:url(#mask-14_2_);fill:#1C5A84;} + .st5{fill:#1A5881;} + .st6{fill:#1C5A84;} + .st7{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st8{mask:url(#mask-34_2_);fill:#1F5F8B;} + .st9{fill:#FEFEFE;} + .st10{fill:#D6DEE6;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview67" inkscape:current-layer="Layer_1" inkscape:cx="56.656382" inkscape:cy="77.509328" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="5.6568543" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-large-building</title> +<desc id="desc6">Created with Sketch.</desc> +<g id="g12"> + <path id="path10" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccc" class="st0" d="M1.482,24.831 + c0.112,0.033,0.191,0.068,0.209,0.076L46.543,1.099c-0.017-0.008-0.095-0.043-0.208-0.077c-0.186-0.051-0.465-0.095-0.731,0.002 + l-0.007,0.004c-0.034,0.012-0.068,0.027-0.102,0.044L0.641,24.881C1.01,24.729,1.298,24.779,1.482,24.831z"/> +</g> +<polygon id="Fill-11" class="st1" points="1.69,24.907 46.543,1.098 59.179,8.69 14.326,32.499 "/> +<path id="path15" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st0" d="M59.691,0.076L14.838,23.885 + c0.389-0.198,0.758-0.017,0.994,0.125L60.686,0.201C60.306-0.066,59.906-0.022,59.691,0.076z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="77.633" y="97.011" width="46.715" height="27.885"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="77.633" y="97.011" width="46.715" height="27.885" id="mask-14_2_"> + <g id="g23_1_" class="st2"> + <path id="path-13_2_" class="st3" d="M79.495,120.82c0.001,2.049-0.714,3.468-1.862,4.076l44.853-23.808 + c1.148-0.61,1.863-2.027,1.862-4.076"/> + </g> +</mask> +<path id="Fill-22" class="st4" d="M79.495,120.82l44.853-23.809c0.001,2.05-0.714,3.467-1.862,4.077l-44.853,23.808 + C78.78,124.288,79.496,122.87,79.495,120.82"/> +<polygon id="Fill-25" class="st1" points="15.832,24.011 60.923,51.104 105.776,27.295 60.685,0.202 "/> +<polygon id="Fill-26" class="st5" points="62.411,53.786 107.265,29.977 107.269,37.587 62.416,61.395 "/> +<g id="g35"> + <path id="path29" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M105.775,27.295L60.924,51.104 + c0.84,0.568,1.486,1.738,1.486,2.684l44.855-23.809C107.266,28.82,106.626,27.913,105.775,27.295z"/> +</g> +<polygon id="Fill-55" class="st1" points="62.416,61.395 107.27,37.586 121.436,46.098 76.582,69.907 "/> +<polygon id="Fill-56" class="st5" points="79.462,74.684 79.495,120.82 124.348,97.011 124.315,50.875 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="0" y="23.802" width="79.495" height="101.43"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="0" y="23.802" width="79.495" height="101.43" id="mask-34_2_"> + <g id="g45_1_" class="st7"> + <polygon id="path-33_2_" class="st3" points="0,23.802 79.495,23.802 79.495,125.232 0,125.232 "/> + </g> +</mask> +<path id="Fill-57" class="st8" d="M60.923,51.103c0.82,0.493,1.487,1.693,1.488,2.683l0.005,7.609l14.166,8.512 + c2.878,1.728,2.88,4.625,2.88,4.777l0.033,46.136c0.002,3.932-2.634,5.536-5.897,3.575L5.938,83.741 + c-3.257-1.957-5.903-6.735-5.906-10.667L0,26.572c-0.002-2.435,1.606-1.704,1.691-1.665l12.635,7.592l-0.006-7.448 + c0.03-1.133,0.691-1.535,1.512-1.041L60.923,51.103z"/> +<path id="path49" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M121.436,46.097l-44.854,23.81 + c1.497,0.865,2.88,3.031,2.88,4.777l44.854-23.809C124.316,48.797,122.973,47.084,121.436,46.097z"/> +<path id="Fill-88" class="st9" d="M75.937,88.085l-8.691-5.223V70.015l8.691,5.221V88.085z M75.937,107.217l-8.692-5.223V89.142 + l8.691,5.222L75.937,107.217L75.937,107.217z M59.597,70.521l-8.69-5.221V52.445l8.69,5.222V70.521z M59.597,89.65l-8.69-5.22 + V71.577l8.69,5.223V89.65z M59.597,108.388l-8.69-5.222V90.314l8.69,5.221V108.388z M47.957,63.526l-8.693-5.222V45.45l8.693,5.223 + V63.526z M47.957,82.656l-8.693-5.222V64.581l8.693,5.224V82.656z M28.278,70.833V57.981l8.695,5.225v12.852L28.278,70.833z + M25.272,49.897l-8.693-5.224V31.819l8.693,5.225V49.897z M25.272,69.026l-8.692-5.222V50.952l8.693,5.223L25.272,69.026 + L25.272,69.026z M24.934,87.56l-8.691-5.222V69.485l8.691,5.223V87.56z M28.278,38.849l8.695,5.224v12.855l-8.695-5.225V38.849z + M11.5,49.368l-8.694-5.224V31.296l8.695,5.224L11.5,49.368L11.5,49.368z M11.5,68.499l-8.694-5.225V50.423l8.695,5.224L11.5,68.499 + L11.5,68.499z M29.403,97.471V78.147l7.284,4.377v19.322L29.403,97.471z M38.667,103.036V83.715l7.071,4.248v19.323L38.667,103.036z + "/> +<path id="Fill-89" class="st10" d="M52.2,54.731l6.667,4.019l-0.016,8.241c0,0-0.404-4.83-3.239-8.53 + C53.012,55.071,52.2,54.731,52.2,54.731"/> +<path id="Fill-91" class="st10" d="M17.781,33.983l6.666,4.018l-0.016,8.241c0,0-0.407-4.83-3.242-8.53 + C18.59,34.321,17.781,33.983,17.781,33.983"/> +<path id="Fill-93" class="st10" d="M52.17,73.719l6.668,4.019l-0.017,8.247c0,0-0.404-4.832-3.239-8.532 + C52.982,74.059,52.17,73.719,52.17,73.719"/> +<path id="Fill-95" class="st10" d="M40.568,47.719l6.667,4.018l-0.016,8.242c0,0-0.405-4.83-3.238-8.529 + C41.38,48.059,40.568,47.719,40.568,47.719"/> +<path id="Fill-97" class="st10" d="M40.538,66.708l6.668,4.019l-0.017,8.247c0,0-0.405-4.833-3.238-8.532 + C41.35,67.048,40.538,66.708,40.538,66.708"/> +<path id="Fill-99" class="st10" d="M29.597,41.106l6.67,4.02l-0.017,8.242c0,0-0.408-4.832-3.242-8.532 + C30.408,41.444,29.597,41.106,29.597,41.106"/> +<path id="Fill-101" class="st10" d="M29.566,60.094l6.67,4.02l-0.017,8.246c0,0-0.407-4.833-3.241-8.534 + C30.377,60.433,29.566,60.094,29.566,60.094"/> +<path id="Fill-103" class="st10" d="M17.751,52.971l6.666,4.018l-0.016,8.248c0,0-0.406-4.834-3.242-8.535 + C18.56,53.309,17.751,52.971,17.751,52.971"/> +<path id="Fill-105" class="st10" d="M52.141,92.664l6.667,4.019l-0.016,8.245c0,0-0.404-4.832-3.24-8.532 + C52.953,93.006,52.141,92.664,52.141,92.664"/> +<path id="Fill-107" class="st10" d="M17.511,71.79l6.666,4.018l-0.016,8.244c0,0-0.407-4.832-3.237-8.53 + C18.321,72.13,17.511,71.79,17.511,71.79"/> +<path id="Fill-109" class="st10" d="M4.137,33.493l6.665,4.018l-0.016,8.248c0,0-0.405-4.834-3.238-8.53 + C4.946,33.836,4.137,33.493,4.137,33.493"/> +<path id="Fill-111" class="st10" d="M4.105,52.766l6.666,4.018l-0.017,8.246c0,0-0.404-4.832-3.237-8.532 + C4.916,53.107,4.105,52.766,4.105,52.766"/> +<path id="Fill-113" class="st10" d="M68.513,72.299l6.667,4.019l-0.016,8.247c0,0-0.403-4.832-3.237-8.53 + C69.325,72.643,68.513,72.299,68.513,72.299"/> +<path id="Fill-115" class="st10" d="M68.482,91.573l6.667,4.019l-0.016,8.245c0,0-0.403-4.831-3.238-8.532 + C69.294,91.915,68.482,91.573,68.482,91.573"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Long_Building.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Long_Building.svg new file mode 100644 index 0000000000000000000000000000000000000000..a5a5780b54c8a2a84b6401c28f14c5366bd24491 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Long_Building.svg @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Long_Building4.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 208.73 215.073" + style="enable-background:new 0 0 208.73 215.073;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#216391;} + .st1{fill:#18547D;} + .st2{fill:#276E9F;} + .st3{fill:#19557D;} + .st4{filter:url(#Adobe_OpacityMaskFilter);} + .st5{fill:#FFFFFF;} + .st6{mask:url(#mask-98_2_);fill:#1F608C;} + .st7{fill:#FEFEFE;} + .st8{fill:#D6DEE6;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview133" inkscape:current-layer="Layer_1" inkscape:cx="123.13008" inkscape:cy="81.349642" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="5.6568543" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-long-building</title> +<desc id="desc6">Created with Sketch.</desc> +<g id="g22"> + <path id="path8" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st0" d="M1.84,26.193 + c1.46-0.631,2.88-0.194,3.977,0.486l48.84-25.924c-1.235-0.783-2.045-0.865-3.582-0.658L1.84,26.193z"/> +</g> +<g id="g38"> + <path id="path34" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st1" d="M208.73,184.806l-48.841,25.926 + c0.018,1.83-0.628,3.252-1.842,4.008l48.84-25.924C208.338,188.101,208.73,186.193,208.73,184.806z"/> +</g> +<polygon id="Fill-98" class="st2" points="54.656,0.755 202.848,89.798 154.01,115.722 5.816,26.679 "/> +<polygon id="Fill-100" class="st3" points="159.83,126.236 208.669,100.311 208.729,184.806 159.889,210.732 "/> +<g id="g56"> + <path id="path42" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st3" d="M202.85,89.798l-48.84,25.924 + c3.223,2.066,5.82,6.829,5.82,10.514l48.84-25.924C208.67,96.41,206.098,91.849,202.85,89.798z"/> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="0" y="25.859" width="159.889" height="189.214"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="0" y="25.859" width="159.889" height="189.214" id="mask-98_2_"> + <g id="g64_1_" class="st4"> + <polygon id="path-97_2_" class="st5" points="0,25.859 159.889,25.859 159.889,215.073 0,215.073 "/> + </g> +</mask> +<path id="Fill-209" class="st6" d="M154.01,115.722c3.197,1.922,5.816,6.651,5.82,10.514l0.059,84.496 + c0.004,3.861-2.613,5.445-5.811,3.524L5.887,125.213c-3.205-1.925-5.826-6.655-5.828-10.517L0,30.201 + c-0.004-3.864,2.614-5.447,5.817-3.522L154.01,115.722z"/> +<path id="Fill-212" class="st7" d="M95.582,129.974l-8.691-5.223v-12.853l8.691,5.222V129.974z M95.582,149.103l-8.691-5.221 + v-12.851l8.691,5.22V149.103z M95.582,167.839l-8.691-5.22v-12.852l8.691,5.221V167.839z M83.941,122.978l-8.693-5.221v-12.855 + l8.693,5.224V122.978z M83.941,142.109l-8.693-5.223v-12.851l8.693,5.222V142.109z M64.264,130.285v-12.852l8.695,5.225v12.853 + L64.264,130.285z M61.258,109.349l-8.694-5.223V91.273l8.694,5.222V109.349z M61.258,128.48l-8.694-5.225v-12.851l8.694,5.224 + V128.48z M60.918,147.013l-8.691-5.223v-12.853l8.691,5.223V147.013z M64.264,98.302l8.695,5.225v12.853l-8.695-5.224V98.302z + M65.389,156.923v-19.322l7.283,4.377v19.32L65.389,156.923z M74.652,162.49v-19.323l7.071,4.248v19.323L74.652,162.49z"/> +<path id="Fill-214" class="st8" d="M88.186,113.962l6.668,4.02l-0.016,8.242c0,0-0.406-4.832-3.24-8.532 + C88.996,114.302,88.186,113.962,88.186,113.962"/> +<path id="Fill-216" class="st8" d="M53.765,93.214l6.666,4.018l-0.016,8.242c0,0-0.406-4.83-3.242-8.53 + C54.575,93.552,53.765,93.214,53.765,93.214"/> +<path id="Fill-218" class="st8" d="M88.154,132.951l6.668,4.02l-0.016,8.246c0,0-0.404-4.832-3.24-8.532 + C88.966,133.29,88.154,132.951,88.154,132.951"/> +<path id="Fill-220" class="st8" d="M76.553,106.951l6.668,4.018l-0.016,8.242c0,0-0.406-4.83-3.238-8.528 + C77.365,107.29,76.553,106.951,76.553,106.951"/> +<path id="Fill-222" class="st8" d="M76.523,125.939l6.666,4.02l-0.016,8.246c0,0-0.404-4.832-3.238-8.532 + C77.334,126.279,76.523,125.939,76.523,125.939"/> +<path id="Fill-224" class="st8" d="M65.582,100.337l6.67,4.02l-0.016,8.242c0,0-0.41-4.832-3.244-8.532 + C66.391,100.677,65.582,100.337,65.582,100.337"/> +<path id="Fill-226" class="st8" d="M65.551,119.326l6.67,4.02l-0.016,8.246c0,0-0.408-4.832-3.242-8.534 + C66.362,119.665,65.551,119.326,65.551,119.326"/> +<path id="Fill-228" class="st8" d="M53.736,112.203l6.666,4.02l-0.016,8.246c0,0-0.406-4.832-3.242-8.534 + C54.545,112.542,53.736,112.203,53.736,112.203"/> +<path id="Fill-230" class="st8" d="M88.125,151.894l6.668,4.02l-0.016,8.246c0,0-0.404-4.832-3.24-8.532 + C88.937,152.238,88.125,151.894,88.125,151.894"/> +<path id="Fill-232" class="st8" d="M53.496,131.021l6.666,4.018l-0.016,8.244c0,0-0.408-4.832-3.238-8.53 + C54.307,131.361,53.496,131.021,53.496,131.021"/> +<path id="Fill-234" class="st7" d="M141.455,158.66l-8.689-5.221v-12.854l8.689,5.22V158.66z M141.455,177.79l-8.689-5.223v-12.851 + l8.689,5.222V177.79z M141.455,196.527l-8.689-5.221v-12.853l8.689,5.223V196.527z M129.814,151.665l-8.691-5.223v-12.853 + l8.691,5.222V151.665z M129.814,170.796l-8.691-5.225V152.72l8.691,5.224V170.796z M110.139,158.971V146.12l8.695,5.225v12.851 + L110.139,158.971z M107.133,138.037l-8.694-5.225v-12.853l8.694,5.224V138.037z M107.133,157.165l-8.694-5.223v-12.851l8.694,5.222 + V157.165z M106.793,175.699l-8.692-5.223v-12.851l8.692,5.222V175.699z M110.139,126.987l8.695,5.225v12.855l-8.695-5.224V126.987z" + /> +<path id="Fill-236" class="st8" d="M134.061,142.65l6.666,4.018l-0.016,8.242c0,0-0.404-4.83-3.24-8.53 + C134.872,142.99,134.061,142.65,134.061,142.65"/> +<path id="Fill-238" class="st8" d="M99.641,121.902l6.666,4.018l-0.016,8.24c0,0-0.406-4.83-3.242-8.529 + C100.45,122.24,99.641,121.902,99.641,121.902"/> +<path id="Fill-240" class="st8" d="M134.029,161.638l6.668,4.018l-0.018,8.248c0,0-0.402-4.832-3.238-8.532 + C134.841,161.978,134.029,161.638,134.029,161.638"/> +<path id="Fill-242" class="st8" d="M122.428,135.636l6.666,4.02l-0.016,8.24c0,0-0.404-4.828-3.238-8.528 + C123.239,135.976,122.428,135.636,122.428,135.636"/> +<path id="Fill-244" class="st8" d="M122.398,154.626l6.666,4.018l-0.016,8.248c0,0-0.406-4.834-3.238-8.532 + C123.209,154.966,122.398,154.626,122.398,154.626"/> +<path id="Fill-246" class="st8" d="M111.457,129.023l6.67,4.021l-0.018,8.241c0,0-0.408-4.83-3.242-8.53 + C112.266,129.363,111.457,129.023,111.457,129.023"/> +<path id="Fill-248" class="st8" d="M111.426,148.011l6.67,4.021l-0.016,8.247c0,0-0.408-4.834-3.242-8.534 + C112.237,148.351,111.426,148.011,111.426,148.011"/> +<path id="Fill-250" class="st8" d="M99.611,140.89l6.664,4.018l-0.016,8.248c0,0-0.406-4.834-3.24-8.536 + C100.42,141.228,99.611,140.89,99.611,140.89"/> +<path id="Fill-252" class="st8" d="M134,180.581l6.668,4.02l-0.016,8.244c0,0-0.406-4.832-3.24-8.532 + C134.811,180.923,134,180.581,134,180.581"/> +<path id="Fill-254" class="st8" d="M99.371,159.706l6.666,4.02l-0.018,8.244c0,0-0.406-4.832-3.236-8.532 + C100.18,160.048,99.371,159.706,99.371,159.706"/> +<path id="Fill-256" class="st7" d="M49.332,103.371l-8.689-5.222V85.296l8.689,5.221V103.371z M49.332,122.501l-8.689-5.222v-12.851 + l8.689,5.221V122.501z M49.332,141.237l-8.689-5.22v-12.853l8.689,5.222V141.237z M37.691,96.376L29,91.154V78.3l8.691,5.223V96.376 + z M37.691,115.507L29,110.283V97.432l8.691,5.223V115.507z M18.016,103.683V90.831l8.695,5.225v12.852L18.016,103.683z + M15.01,82.747l-8.694-5.224V64.67l8.694,5.223V82.747z M15.01,101.877l-8.694-5.224V83.802l8.694,5.223V101.877z M14.67,120.41 + l-8.692-5.223v-12.852l8.692,5.223V120.41z M18.016,71.699l8.695,5.225v12.854l-8.695-5.224V71.699z"/> +<path id="Fill-258" class="st8" d="M41.937,87.361l6.666,4.019l-0.016,8.242c0,0-0.404-4.831-3.24-8.531 + C42.748,87.701,41.937,87.361,41.937,87.361"/> +<path id="Fill-260" class="st8" d="M7.517,66.613l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C8.326,66.951,7.517,66.613,7.517,66.613"/> +<path id="Fill-262" class="st8" d="M41.906,106.349l6.668,4.019l-0.018,8.247c0,0-0.402-4.832-3.238-8.532 + C42.718,106.689,41.906,106.349,41.906,106.349"/> +<path id="Fill-264" class="st8" d="M30.305,80.348l6.666,4.019l-0.016,8.241c0,0-0.404-4.829-3.238-8.528 + C31.116,80.688,30.305,80.348,30.305,80.348"/> +<path id="Fill-266" class="st8" d="M30.275,99.337l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.238-8.532 + C31.086,99.677,30.275,99.337,30.275,99.337"/> +<path id="Fill-268" class="st8" d="M19.334,73.735l6.67,4.021l-0.018,8.241c0,0-0.408-4.831-3.242-8.531 + C20.143,74.075,19.334,73.735,19.334,73.735"/> +<path id="Fill-270" class="st8" d="M19.303,92.723l6.67,4.021l-0.016,8.246c0,0-0.408-4.833-3.242-8.534 + C20.114,93.063,19.303,92.723,19.303,92.723"/> +<path id="Fill-272" class="st8" d="M7.488,85.601l6.664,4.019l-0.016,8.247c0,0-0.406-4.833-3.24-8.535 + C8.297,85.94,7.488,85.601,7.488,85.601"/> +<path id="Fill-274" class="st8" d="M41.877,125.292l6.668,4.02l-0.016,8.245c0,0-0.406-4.832-3.24-8.532 + C42.688,125.635,41.877,125.292,41.877,125.292"/> +<path id="Fill-276" class="st8" d="M7.248,104.418l6.666,4.019l-0.018,8.244c0,0-0.406-4.832-3.236-8.531 + C8.057,104.759,7.248,104.418,7.248,104.418"/> +<polygon id="Fill-278" class="st7" points="153.484,202.308 144.795,197.087 144.795,184.236 153.484,189.456 "/> +<polygon id="Fill-280" class="st7" points="153.484,183.572 144.795,178.351 144.795,165.5 153.484,170.72 "/> +<polygon id="Fill-282" class="st7" points="153.484,164.443 144.795,159.22 144.795,146.367 153.484,151.589 "/> +<path id="Fill-284" class="st8" d="M146.09,148.431l6.666,4.02l-0.016,8.242c0,0-0.404-4.832-3.24-8.532 + C146.901,148.771,146.09,148.431,146.09,148.431"/> +<path id="Fill-286" class="st8" d="M146.059,167.419l6.668,4.02l-0.018,8.246c0,0-0.402-4.832-3.238-8.532 + C146.87,167.759,146.059,167.419,146.059,167.419"/> +<path id="Fill-288" class="st8" d="M146.029,186.363l6.668,4.02l-0.016,8.246c0,0-0.406-4.832-3.24-8.532 + C146.84,186.707,146.029,186.363,146.029,186.363"/> +<polyline id="Fill-290" class="st7" points="109.871,163.492 118.562,168.716 118.562,181.568 109.871,176.346 "/> +<polygon id="Fill-292" class="st7" points="130.203,188.564 121.514,183.342 121.514,170.489 130.203,175.71 "/> +<path id="Fill-294" class="st8" d="M129.459,184.814c0,0-0.404-4.831-3.24-8.53c-2.6-3.391-3.41-3.731-3.41-3.731l6.666,4.019 + L129.459,184.814"/> +<path id="Fill-296" class="st8" d="M111.176,165.54l6.666,4.019l-0.016,8.241c0,0-0.404-4.829-3.238-8.528 + C111.987,165.88,111.176,165.54,111.176,165.54"/> +<polyline id="Fill-298" class="st7" points="17.664,108.804 26.357,114.029 26.357,126.88 17.664,121.659 "/> +<polygon id="Fill-300" class="st7" points="37.998,133.876 29.307,128.653 29.307,115.8 37.998,121.022 "/> +<path id="Fill-302" class="st8" d="M37.254,130.126c0,0-0.406-4.832-3.24-8.531c-2.602-3.391-3.412-3.731-3.412-3.731l6.668,4.02 + L37.254,130.126"/> +<path id="Fill-304" class="st8" d="M18.969,110.853l6.668,4.018l-0.016,8.242c0,0-0.406-4.83-3.238-8.528 + C19.781,111.193,18.969,110.853,18.969,110.853"/> +<path id="Fill-306" class="st7" d="M50.709,82.384l-8.691-5.221V64.312l8.691,5.22V82.384z M39.068,75.39l-8.693-5.223V57.316 + l8.693,5.222V75.39z M19.391,63.566V50.714l8.695,5.225v12.853L19.391,63.566z M16.385,61.761l-8.694-5.225V43.685l8.694,5.224 + V61.761z"/> +<path id="Fill-308" class="st8" d="M43.281,66.232l6.668,4.02l-0.016,8.246c0,0-0.404-4.832-3.24-8.532 + C44.093,66.572,43.281,66.232,43.281,66.232"/> +<path id="Fill-310" class="st8" d="M31.65,59.22l6.666,4.02L38.3,71.486c0,0-0.404-4.832-3.238-8.532 + C32.461,59.56,31.65,59.22,31.65,59.22"/> +<path id="Fill-312" class="st8" d="M20.678,52.607l6.67,4.02l-0.016,8.246c0,0-0.408-4.832-3.242-8.534 + C21.489,52.947,20.678,52.607,20.678,52.607"/> +<path id="Fill-314" class="st8" d="M8.863,45.484l6.666,4.02l-0.016,8.246c0,0-0.406-4.832-3.242-8.534 + C9.672,45.824,8.863,45.484,8.863,45.484"/> +<path id="Fill-316" class="st7" d="M96.965,110.394l-8.689-5.222V92.321l8.689,5.221V110.394z M85.324,103.4l-8.691-5.224V85.325 + l8.691,5.223V103.4z M65.649,91.576V78.724l8.695,5.225v12.852L65.649,91.576z M62.643,89.77l-8.694-5.224V71.695l8.694,5.223V89.77 + z"/> +<path id="Fill-318" class="st8" d="M89.539,94.242l6.668,4.019l-0.018,8.247c0,0-0.402-4.832-3.238-8.532 + C90.351,94.581,89.539,94.242,89.539,94.242"/> +<path id="Fill-320" class="st8" d="M77.908,87.23l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.238-8.532 + C78.719,87.57,77.908,87.23,77.908,87.23"/> +<path id="Fill-322" class="st8" d="M66.936,80.616l6.67,4.021l-0.016,8.246c0,0-0.408-4.833-3.242-8.534 + C67.746,80.956,66.936,80.616,66.936,80.616"/> +<path id="Fill-324" class="st8" d="M55.121,73.494l6.664,4.019l-0.016,8.247c0,0-0.406-4.833-3.24-8.535 + C55.93,73.832,55.121,73.494,55.121,73.494"/> +<path id="Fill-326" class="st7" d="M142.375,137.554l-8.691-5.223V119.48l8.691,5.222V137.554z M130.734,130.56l-8.693-5.225 + v-12.851l8.693,5.224V130.56z M111.057,118.736v-12.852l8.695,5.225v12.851L111.057,118.736z M108.051,116.929l-8.694-5.223V98.855 + l8.694,5.222V116.929z"/> +<path id="Fill-328" class="st8" d="M134.947,121.402l6.668,4.018l-0.016,8.248c0,0-0.404-4.832-3.24-8.532 + C135.759,121.742,134.947,121.402,134.947,121.402"/> +<path id="Fill-330" class="st8" d="M123.316,114.39l6.666,4.018l-0.016,8.248c0,0-0.404-4.834-3.238-8.532 + C124.127,114.73,123.316,114.39,123.316,114.39"/> +<path id="Fill-332" class="st8" d="M112.344,107.775l6.67,4.021l-0.016,8.247c0,0-0.408-4.834-3.242-8.534 + C113.155,108.115,112.344,107.775,112.344,107.775"/> +<path id="Fill-334" class="st8" d="M100.529,100.654l6.666,4.018l-0.016,8.248c0,0-0.406-4.834-3.242-8.536 + C101.338,100.992,100.529,100.654,100.529,100.654"/> +<polygon id="Fill-336" class="st7" points="153.883,144.089 145.19,138.866 145.19,126.015 153.883,131.237 "/> +<path id="Fill-338" class="st8" d="M146.361,127.814l6.666,4.018l-0.016,8.248c0,0-0.406-4.834-3.242-8.536 + C147.17,128.152,146.361,127.814,146.361,127.814"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Medium_Business_Building.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Medium_Business_Building.svg new file mode 100644 index 0000000000000000000000000000000000000000..cbcc10cc1852b89bcf27f9681553bae0e4f66fea --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Medium_Business_Building.svg @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Medium_Business_Building4.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 90.411 116.551" + style="enable-background:new 0 0 90.411 116.551;" xml:space="preserve"> +<style type="text/css"> + .st0{filter:url(#Adobe_OpacityMaskFilter);} + .st1{fill:#FFFFFF;} + .st2{mask:url(#mask-2_2_);fill:#447CA8;} + .st3{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st4{mask:url(#mask-6_2_);fill:#1C5A84;} + .st5{fill:#276E9F;} + .st6{fill:#19557D;} + .st7{filter:url(#Adobe_OpacityMaskFilter_2_);} + .st8{mask:url(#mask-8_2_);fill:#4D7EA6;} + .st9{fill:#1F608C;} + .st10{fill:#FEFEFE;} + .st11{fill:#D6DEE6;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview143" inkscape:current-layer="Layer_1" inkscape:cx="127.82604" inkscape:cy="74.291954" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="8.0683761" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-med-business</title> +<desc id="desc6">Created with Sketch.</desc> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="0.559" y="0" width="41.986" height="21.893"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="0.559" y="0" width="41.986" height="21.893" id="mask-2_2_"> + <g id="g14_1_" class="st0"> + <path id="path-1_2_" class="st1" d="M41.334,0.1C27.743,7.314,14.151,14.53,0.558,21.744c0.317-0.168,0.743-0.131,1.211,0.15 + L42.546,0.25C42.262,0.08,41.994,0,41.756,0C41.601,0,41.459,0.034,41.334,0.1"/> + </g> +</mask> +<path id="Fill-1" class="st2" d="M41.855,0.003l-0.004,0.002C41.659-0.013,41.484,0.02,41.334,0.1L0.559,21.743 + c0.151-0.08,0.327-0.113,0.521-0.096c0.21,0.019,0.444,0.1,0.689,0.246L42.545,0.251C42.301,0.103,42.067,0.023,41.855,0.003z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="47.731" y="90.39" width="42.679" height="25.822"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="47.731" y="90.39" width="42.679" height="25.822" id="mask-6_2_"> + <g id="g34_1_" class="st3"> + <path id="path-5_2_" class="st1" d="M49.634,112.034c0.002,2.102-0.731,3.556-1.902,4.178 + c13.591-7.215,27.183-14.43,40.775-21.645c1.172-0.622,1.904-2.075,1.903-4.176"/> + </g> +</mask> +<path id="Fill-8" class="st4" d="M49.634,112.034L90.41,90.39c0.001,2.102-0.732,3.555-1.903,4.177l-40.776,21.645 + C48.903,115.59,49.635,114.137,49.634,112.034"/> +<polygon id="Fill-11" class="st5" points="1.769,21.895 47.818,49.563 88.593,27.919 42.545,0.251 "/> +<polygon id="Fill-12" class="st6" points="90.411,90.391 90.411,31.119 49.591,52.764 49.634,112.034 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="47.818" y="27.919" width="42.549" height="24.844"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="47.818" y="27.919" width="42.549" height="24.844" id="mask-8_2_"> + <g id="g46_1_" class="st7"> + <path id="path-7_2_" class="st1" d="M47.818,49.563c0.979,0.588,1.772,2.021,1.773,3.201l40.775-21.645 + c0-1.179-0.793-2.611-1.773-3.2"/> + </g> +</mask> +<path id="Fill-13" inkscape:connector-curvature="0" inkscape:label="" sodipodi:nodetypes="ccccc" class="st8" d="M88.594,27.919 + L47.818,49.563c1.119,0.772,1.682,2.001,1.773,3.199l40.775-21.645C90.367,29.763,89.587,28.708,88.594,27.919z"/> +<path id="Fill-41" class="st9" d="M47.818,49.563c0.979,0.588,1.772,2.021,1.772,3.2l0.044,59.271 + c0.003,4.013-2.669,5.66-5.967,3.678L6.019,93.091c-3.298-1.982-5.975-6.842-5.978-10.856L0,22.965 + c-0.001-1.179,0.791-1.659,1.769-1.071L47.818,49.563z"/> +<path id="Fill-43" class="st10" d="M46.138,71.74l-8.69-5.222V53.665l8.69,5.221V71.74z M46.138,90.87l-8.69-5.222V72.797 + l8.69,5.221V90.87z M46.138,109.606l-8.69-5.22V91.533l8.69,5.222V109.606z M34.497,64.745l-8.692-5.222V46.669l8.692,5.223V64.745z + M34.497,83.876l-8.692-5.224V65.801l8.692,5.223V83.876z M14.82,72.052V59.2l8.695,5.225v12.852L14.82,72.052z M11.814,51.116 + l-8.693-5.224V33.039l8.693,5.223V51.116z M11.814,70.246l-8.693-5.224V52.171l8.693,5.223V70.246z M11.475,88.779l-8.691-5.223 + V70.704l8.691,5.223V88.779z M14.82,40.068l8.695,5.225v12.854l-8.695-5.224V40.068z M15.945,98.69V79.367l7.284,4.377v19.321 + L15.945,98.69z M25.21,104.256V84.933l7.07,4.249v19.323L25.21,104.256z"/> +<path id="Fill-44" class="st11" d="M38.742,55.729l6.667,4.019l-0.015,8.242c0,0-0.406-4.831-3.24-8.531 + C39.554,56.069,38.742,55.729,38.742,55.729"/> +<path id="Fill-46" class="st11" d="M4.323,34.981l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C5.132,35.319,4.323,34.981,4.323,34.981"/> +<path id="Fill-48" class="st11" d="M38.712,74.718l6.667,4.019l-0.016,8.247c0,0-0.404-4.832-3.239-8.532 + C39.524,75.058,38.712,74.718,38.712,74.718"/> +<path id="Fill-50" class="st11" d="M27.11,48.717l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C27.922,49.057,27.11,48.717,27.11,48.717"/> +<path id="Fill-52" class="st11" d="M27.08,67.706l6.667,4.019l-0.016,8.247c0,0-0.405-4.833-3.238-8.532 + C27.891,68.046,27.08,67.706,27.08,67.706"/> +<path id="Fill-54" class="st11" d="M16.139,42.103l6.67,4.021l-0.016,8.241c0,0-0.409-4.831-3.243-8.531 + C16.949,42.443,16.139,42.103,16.139,42.103"/> +<path id="Fill-56" class="st11" d="M16.108,61.092l6.669,4.021l-0.016,8.246c0,0-0.408-4.833-3.241-8.534 + C16.918,61.432,16.108,61.092,16.108,61.092"/> +<path id="Fill-58" class="st11" d="M4.293,53.97l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.241-8.535 + C5.102,54.309,4.293,53.97,4.293,53.97"/> +<path id="Fill-60" class="st11" d="M38.683,93.661l6.667,4.02l-0.016,8.245c0,0-0.404-4.832-3.24-8.532 + C39.494,94.004,38.683,93.661,38.683,93.661"/> +<path id="Fill-62" class="st11" d="M4.053,72.787l6.666,4.019l-0.016,8.244c0,0-0.407-4.832-3.237-8.531 + C4.863,73.128,4.053,72.787,4.053,72.787"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/School_Building.svg b/src/main/webapp/img/lib/allied_telesys/buildings/School_Building.svg new file mode 100644 index 0000000000000000000000000000000000000000..daea7434abb836859540beb419627324c01fc2d1 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/School_Building.svg @@ -0,0 +1,346 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="School_Building7.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 274.629 277.106" + style="enable-background:new 0 0 274.629 277.106;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FEFEFE;} + .st1{fill:#1D5176;} + .st2{fill:#276E9F;} + .st3{fill:#215880;} + .st4{fill:#1E567D;} + .st5{fill:#2B75AC;} + .st6{fill:#1C4F73;} + .st7{fill:#19557D;} + .st8{filter:url(#Adobe_OpacityMaskFilter);} + .st9{fill:#FFFFFF;} + .st10{mask:url(#mask-2_1_);fill:#1F608C;} + .st11{fill:#D6DEE6;} + .st12{fill:#143B55;} + .st13{fill:#225E89;} + .st14{fill:#CBCBCB;} + .st15{fill:#888788;} + .st16{fill:#1D5174;} + .st17{fill:#16405D;} + .st18{fill:#276B9C;} + .st19{fill:#123953;} + .st20{fill:#143B56;} + .st21{fill:#163E5A;} + .st22{fill:#24618E;} + .st23{fill:#17405C;} + .st24{fill:#1B4D70;} + .st25{fill:#194B6D;} + .st26{fill:#194A6B;} + .st27{fill:#194766;} + .st28{fill:#215B84;} + .st29{fill:#225C86;} + .st30{fill:#23608B;} + .st31{fill:#23618E;} + .st32{fill:#236390;} + .st33{fill:#256593;} + .st34{fill:#256796;} + .st35{fill:#266A9A;} + .st36{fill:#286C9D;} + .st37{fill:#286E9F;} + .st38{fill:#437FAB;} + .st39{fill:#4D87AF;} + .st40{fill:#548CB5;} + .st41{fill:#5C91B7;} + .st42{fill:#6195B8;} + .st43{fill:#1F547A;} + .st44{fill:#266997;} + .st45{fill:none;stroke:#1F608C;stroke-width:2;} + .st46{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st47{mask:url(#mask-4_1_);fill:#256695;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview426" inkscape:current-layer="Layer_1" inkscape:cx="143.20779" inkscape:cy="147.00504" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="2.8284271" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-school</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Fill-1" class="st0" d="M133.623,208.211l-13.33-0.025L133.623,208.211z"/> +<g id="g25"> + <path id="path9" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st1" d="M82.617,58.975L0.76,102.418 + c0.388-0.212,0.919-0.074,1.178,0.032l81.857-43.444C83.399,58.849,82.896,58.83,82.617,58.975z"/> +</g> +<polygon id="Fill-26" class="st2" points="1.937,102.45 83.795,59.007 149.154,98.304 67.297,141.748 "/> +<g id="g34"> + <path id="path28" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st3" d="M149.752,88.693l-81.857,43.443 + c0.376-0.19,0.849-0.023,1.102,0.143l81.857-43.443C150.541,88.547,150.038,88.561,149.752,88.693z"/> +</g> +<polygon id="Fill-60" class="st2" points="119.373,162.662 68.996,132.278 150.853,88.835 201.23,119.217 "/> +<polygon id="polygon37" class="st4" points="202.883,129.743 202.888,122.22 121.031,165.663 121.025,173.187 192.383,135.315 + 121.025,173.187 121.019,174.149 202.877,130.706 202.882,129.743 "/> +<g id="g51"> + <path id="path39" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st5" d="M201.23,119.219l-81.857,43.443 + c0.965,0.584,1.66,2.04,1.66,3.002l81.857-43.443C202.891,120.987,202.299,119.883,201.23,119.219L201.23,119.219z"/> +</g> +<g id="g61"> + <path id="path53" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st6" d="M274.58,228.746l-81.857,43.445 + c0,1.935-0.688,3.812-2.078,4.541l81.857-43.445C274.036,232.466,274.58,230.524,274.58,228.746z"/> +</g> +<polygon id="Fill-156" class="st7" points="274.581,228.747 192.723,272.191 192.771,220.702 274.629,177.258 "/> +<path id="Fill-158" inkscape:connector-curvature="0" class="st2" d="M121.02,174.149l81.857-43.443 + c1.713,1.036,67.43,40.547,68.539,41.214l0.124,0.076l-81.858,43.443c-0.041-0.025-0.082-0.051-0.123-0.075 + C188.45,214.697,122.733,175.185,121.02,174.149"/> +<g id="g79"> + <path id="path65" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccc" class="st5" d="M271.539,171.998l-81.857,43.443 + c2.12,1.322,3.02,3.578,3.09,5.248v0.012l81.857-43.443v-0.012C274.629,175.254,273.255,173.072,271.539,171.998z"/> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="0" y="102.299" width="192.771" height="174.807"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="0" y="102.299" width="192.771" height="174.807" id="mask-2_1_"> + <g id="g87_2_" class="st8"> + <polygon id="path-1_1_" class="st9" points="0,102.299 192.771,102.299 192.771,277.106 0,277.106 "/> + </g> +</mask> +<path id="Fill-232" class="st10" d="M68.996,132.278l50.377,30.384c0.912,0.548,1.658,1.894,1.658,3.001l-0.006,7.524l-0.006,0.962 + c1.713,1.036,67.43,40.548,68.54,41.215c3.205,1.933,3.212,5.315,3.212,5.338l-0.048,51.489c-0.004,4.393-2.952,6.171-6.6,3.972 + L6.58,168.117c-3.635-2.192-6.59-7.529-6.58-11.92l0.043-51.894c0.004-2.722,1.801-1.896,1.894-1.853l65.36,39.298l0.045-8.29 + C67.34,132.173,68.078,131.726,68.996,132.278"/> +<path id="Fill-235" class="st11" d="M182.621,163.937h0.174C182.676,163.928,182.621,163.937,182.621,163.937"/> +<polygon id="Fill-237" class="st7" points="133.646,133.995 172.626,113.308 172.633,123.899 133.652,144.588 "/> +<polygon id="Fill-239" class="st2" points="100.701,114.202 139.681,93.515 172.625,113.307 133.646,133.995 "/> +<polygon id="Fill-241" class="st12" points="133.646,133.995 133.652,144.588 100.709,124.795 100.701,114.202 "/> +<polygon id="Fill-243" class="st4" points="134.795,91.689 158.184,79.277 158.209,115.264 134.822,127.676 "/> +<polygon id="Fill-247" class="st12" points="134.809,90.956 134.822,127.676 114.088,115.22 114.077,78.5 "/> +<path id="Fill-375" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st12" d="M136.07,89.838 + c0,0.857,0,1.713,0,2.57l-24.326-14.623v-2.57L136.07,89.838z"/> +<path id="path1061" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st13" d="M111.744,75.215l23.389-12.412 + l24.327,14.623l-23.39,12.412L111.744,75.215z"/> +<polygon id="Fill-377" class="st4" points="134.254,45.303 157.643,32.89 157.674,76.282 134.285,88.696 "/> +<polygon id="Fill-381" class="st12" points="134.254,45.303 134.314,90.038 113.588,77.585 113.527,32.851 "/> +<path id="Fill-516" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccccc" class="st14" d=" + M117.76,44.105c0.567-0.326,1.252-0.373,1.844-0.424c0.682-0.009,1.31,0.2,1.934,0.401c0.649,0.237,1.271,0.629,1.832,0.979 + c0.706,0.471,1.371,1.11,1.943,1.643c0.731,0.736,1.394,1.647,1.959,2.418c0.548,0.788,1.012,1.667,1.424,2.5 + c0.396,0.811,0.716,1.742,0.979,2.512c0.037,0.126,0.076,0.253,0.111,0.381v0.002c0.08,0.27,0.137,0.541,0.201,0.795 + c0.13,0.536,0.196,1.073,0.268,1.584c0.083,0.632,0.072,1.293,0.063,1.879c-0.015,0.513-0.118,1.009-0.203,1.479 + c-0.125,0.649-0.435,1.23-0.721,1.773c-0.377,0.588-0.855,1.037-1.414,1.334l0.389-0.207c1.148-0.692,1.613-1.573,2.031-2.711 + c0.339-1.106,0.341-2.242,0.283-3.373c-0.066-0.944-0.278-1.864-0.506-2.76v-0.002c-0.314-1.164-0.791-2.263-1.305-3.332 + c-0.633-1.224-1.318-2.214-2.027-3.178c-0.771-1.025-1.85-1.968-2.768-2.717c-0.659-0.514-1.399-0.874-2.148-1.204 + c-0.733-0.311-1.538-0.377-2.318-0.393C118.933,43.517,118.272,43.862,117.76,44.105L117.76,44.105z"/> +<path id="Fill-636" inkscape:connector-curvature="0" class="st15" d="M122.863,44.739c4.121,2.477,7.463,8.508,7.467,13.478 + c0.004,4.968-3.334,6.988-7.455,4.512s-7.465-8.51-7.469-13.478C115.404,44.282,118.74,42.262,122.863,44.739"/> +<polygon id="Fill-638" class="st16" points="122.76,56.244 123.149,56.037 123.377,56.101 122.987,56.307 "/> +<polygon id="Fill-640" class="st17" points="122.986,56.307 123.377,56.101 123.259,56.356 122.871,56.563 "/> +<polygon id="Fill-642" class="st18" points="122.871,56.563 123.26,56.356 123.896,57.069 123.506,57.276 "/> +<path id="Fill-644" inkscape:connector-curvature="0" class="st12" d="M122.986,56.307l-0.115,0.256l0.635,0.713 + c-0.149,0.047-0.336,0.016-0.538-0.105c-0.492-0.296-0.886-1.009-0.886-1.602c0-0.387,0.166-0.623,0.418-0.658l0.259,1.333 + L122.986,56.307z"/> +<path id="Fill-646" inkscape:connector-curvature="0" class="st19" d="M122.359,54.956l0.391-0.207 + c0.019-0.011,0.039-0.02,0.06-0.026l-0.39,0.206C122.4,54.936,122.379,54.945,122.359,54.956"/> +<path id="Fill-648" inkscape:connector-curvature="0" class="st20" d="M122.42,54.929l0.391-0.206 + c0.019-0.007,0.041-0.013,0.06-0.017l-0.389,0.207C122.461,54.917,122.441,54.923,122.42,54.929"/> +<path id="Fill-650" inkscape:connector-curvature="0" class="st21" d="M122.482,54.913l0.389-0.207c0.006,0,0.011-0.002,0.019-0.002 + l-0.39,0.207C122.494,54.911,122.489,54.912,122.482,54.913"/> +<polygon id="Fill-652" class="st22" points="122.5,54.911 122.891,54.704 123.148,56.037 122.76,56.244 "/> +<polygon id="Fill-654" class="st23" points="123.131,56.001 123.522,55.794 123.377,56.102 122.986,56.308 "/> +<polygon id="Fill-656" class="st18" points="123.129,55.998 123.52,55.791 124.234,56.593 123.844,56.8 "/> +<polygon id="Fill-658" class="st22" points="122.939,55.016 123.33,54.809 123.521,55.793 123.131,56 "/> +<polygon id="Fill-660" class="st22" points="121.992,50.139 122.381,49.932 123.33,54.809 122.939,55.016 "/> +<path id="Fill-662" inkscape:connector-curvature="0" class="st4" d="M122.939,55.016l0.391-0.207 + c0.007,0.005,0.015,0.01,0.023,0.014l-0.389,0.207C122.955,55.025,122.948,55.021,122.939,55.016"/> +<path id="Fill-664" inkscape:connector-curvature="0" class="st3" d="M122.965,55.03l0.389-0.207l0.004,0.002l-0.389,0.207 + C122.967,55.032,122.965,55.031,122.965,55.03"/> +<polygon id="Fill-666" class="st6" points="123.855,56.636 124.246,56.429 124.246,56.45 123.855,56.657 "/> +<path id="Fill-668" inkscape:connector-curvature="0" class="st24" d="M123.855,56.657l0.391-0.207c0,0.016-0.002,0.029-0.002,0.044 + l-0.391,0.207C123.855,56.686,123.855,56.673,123.855,56.657"/> +<path id="Fill-670" inkscape:connector-curvature="0" class="st25" d="M123.854,56.701l0.391-0.207 + c-0.002,0.015-0.002,0.03-0.004,0.044l-0.389,0.207C123.852,56.73,123.854,56.716,123.854,56.701"/> +<path id="Fill-672" inkscape:connector-curvature="0" class="st26" d="M123.852,56.745l0.389-0.207c0,0.016-0.002,0.029-0.004,0.045 + l-0.391,0.207C123.848,56.774,123.85,56.761,123.852,56.745"/> +<path id="Fill-674" inkscape:connector-curvature="0" class="st27" d="M123.846,56.79l0.391-0.207 + c-0.002,0.003-0.002,0.006-0.002,0.01l-0.391,0.207C123.846,56.796,123.846,56.793,123.846,56.79"/> +<polygon id="Fill-676" class="st12" points="123.131,56.001 122.986,56.308 122.76,56.243 122.5,54.91 121.547,50.015 + 121.221,49.588 121.127,46.762 122.182,49.861 121.992,50.14 122.939,55.017 "/> +<path id="Fill-678" inkscape:connector-curvature="0" class="st12" d="M122.969,55.032c0.486,0.293,0.887,1.009,0.887,1.604 + c0,0.057-0.004,0.112-0.012,0.164l-0.713-0.799l-0.191-0.985C122.949,55.022,122.959,55.026,122.969,55.032"/> +<path id="Fill-680" inkscape:connector-curvature="0" class="st3" d="M122.969,55.032l0.389-0.207l0.023,0.015l-0.391,0.207 + C122.983,55.042,122.975,55.037,122.969,55.032"/> +<path id="Fill-682" inkscape:connector-curvature="0" class="st28" d="M122.99,55.047l0.391-0.207 + c0.011,0.008,0.025,0.017,0.037,0.024l-0.391,0.207C123.015,55.063,123.004,55.055,122.99,55.047"/> +<path id="Fill-684" inkscape:connector-curvature="0" class="st29" d="M123.027,55.071l0.391-0.207 + c0.011,0.008,0.025,0.018,0.037,0.026l-0.389,0.207C123.052,55.089,123.041,55.079,123.027,55.071"/> +<path id="Fill-686" inkscape:connector-curvature="0" class="st30" d="M123.066,55.097l0.389-0.207 + c0.013,0.009,0.025,0.019,0.037,0.028l-0.389,0.207C123.089,55.117,123.078,55.106,123.066,55.097"/> +<path id="Fill-688" inkscape:connector-curvature="0" class="st31" d="M123.104,55.126l0.389-0.207 + c0.013,0.011,0.027,0.021,0.039,0.032l-0.389,0.207C123.129,55.147,123.118,55.137,123.104,55.126"/> +<path id="Fill-690" inkscape:connector-curvature="0" class="st32" d="M123.143,55.158l0.389-0.207 + c0.013,0.011,0.027,0.022,0.039,0.034l-0.389,0.207C123.168,55.18,123.155,55.169,123.143,55.158"/> +<path id="Fill-692" inkscape:connector-curvature="0" class="st33" d="M123.182,55.192l0.389-0.207 + c0.013,0.012,0.027,0.023,0.039,0.036l-0.389,0.207C123.207,55.215,123.194,55.204,123.182,55.192"/> +<path id="Fill-694" inkscape:connector-curvature="0" class="st34" d="M123.221,55.228l0.389-0.207 + c0.013,0.013,0.025,0.024,0.039,0.038l-0.391,0.207C123.246,55.252,123.233,55.241,123.221,55.228"/> +<path id="Fill-696" inkscape:connector-curvature="0" class="st35" d="M123.258,55.266l0.391-0.207 + c0.011,0.012,0.025,0.025,0.037,0.038l-0.391,0.207C123.283,55.292,123.272,55.278,123.258,55.266"/> +<polygon id="Fill-698" class="st36" points="123.295,55.305 123.686,55.098 123.721,55.136 123.33,55.343 "/> +<path id="Fill-700" inkscape:connector-curvature="0" class="st37" d="M123.33,55.343l0.391-0.207 + c0.009,0.014,0.021,0.026,0.031,0.039l-0.389,0.207C123.351,55.368,123.342,55.357,123.33,55.343"/> +<path id="Fill-702" inkscape:connector-curvature="0" class="st38" d="M123.363,55.382l0.389-0.207 + c0.011,0.014,0.021,0.026,0.033,0.039l-0.391,0.207C123.384,55.407,123.373,55.395,123.363,55.382"/> +<path id="Fill-704" inkscape:connector-curvature="0" class="st39" d="M123.395,55.421l0.391-0.207 + c0.009,0.014,0.019,0.026,0.029,0.04l-0.389,0.207C123.416,55.447,123.405,55.435,123.395,55.421"/> +<path id="Fill-706" inkscape:connector-curvature="0" class="st40" d="M123.426,55.461l0.389-0.207 + c0.011,0.015,0.023,0.03,0.033,0.045l-0.389,0.207C123.447,55.491,123.438,55.476,123.426,55.461"/> +<path id="Fill-708" inkscape:connector-curvature="0" class="st41" d="M123.459,55.506l0.389-0.207 + c0.011,0.017,0.023,0.032,0.035,0.05l-0.391,0.207C123.482,55.538,123.471,55.523,123.459,55.506"/> +<path id="Fill-710" inkscape:connector-curvature="0" class="st42" d="M123.492,55.556l0.391-0.207 + c0.052,0.077,0.099,0.159,0.142,0.244l-0.388,0.207C123.594,55.715,123.545,55.633,123.492,55.556"/> +<path id="Fill-712" inkscape:connector-curvature="0" class="st41" d="M123.637,55.8l0.389-0.207 + c0.009,0.017,0.017,0.034,0.025,0.052l-0.389,0.206C123.653,55.834,123.645,55.817,123.637,55.8"/> +<path id="Fill-714" inkscape:connector-curvature="0" class="st40" d="M123.662,55.85l0.389-0.206 + c0.007,0.016,0.015,0.032,0.023,0.048l-0.391,0.207C123.676,55.883,123.668,55.868,123.662,55.85"/> +<polygon id="Fill-716" class="st39" points="123.684,55.899 124.075,55.692 124.092,55.733 123.702,55.94 "/> +<path id="Fill-718" inkscape:connector-curvature="0" class="st38" d="M123.701,55.94l0.391-0.207 + c0.004,0.014,0.009,0.027,0.015,0.04l-0.388,0.207C123.713,55.966,123.707,55.953,123.701,55.94"/> +<path id="Fill-720" inkscape:connector-curvature="0" class="st37" d="M123.719,55.98l0.389-0.207 + c0.006,0.014,0.011,0.027,0.015,0.041l-0.388,0.207C123.729,56.007,123.723,55.994,123.719,55.98"/> +<path id="Fill-722" inkscape:connector-curvature="0" class="st36" d="M123.734,56.021l0.389-0.207 + c0.006,0.014,0.011,0.027,0.015,0.041l-0.39,0.207C123.744,56.048,123.738,56.035,123.734,56.021"/> +<path id="Fill-724" inkscape:connector-curvature="0" class="st35" d="M123.748,56.062l0.391-0.207 + c0.005,0.015,0.009,0.028,0.015,0.043l-0.39,0.207C123.76,56.09,123.754,56.077,123.748,56.062"/> +<path id="Fill-726" inkscape:connector-curvature="0" class="st34" d="M123.764,56.105l0.391-0.207 + c0.004,0.015,0.007,0.03,0.013,0.044l-0.39,0.207C123.774,56.134,123.768,56.12,123.764,56.105"/> +<path id="Fill-728" inkscape:connector-curvature="0" class="st33" d="M123.777,56.149l0.391-0.207 + c0.004,0.016,0.007,0.031,0.013,0.046l-0.39,0.207C123.787,56.18,123.783,56.165,123.777,56.149"/> +<path id="Fill-730" inkscape:connector-curvature="0" class="st32" d="M123.791,56.195l0.391-0.207 + c0.004,0.016,0.007,0.032,0.011,0.048l-0.39,0.207C123.799,56.226,123.795,56.211,123.791,56.195"/> +<polygon id="Fill-732" class="st31" points="123.803,56.243 124.194,56.036 124.205,56.083 123.815,56.29 "/> +<path id="Fill-734" inkscape:connector-curvature="0" class="st30" d="M123.814,56.29l0.391-0.207 + c0.004,0.016,0.005,0.032,0.009,0.048l-0.39,0.207C123.823,56.321,123.818,56.306,123.814,56.29"/> +<path id="Fill-736" inkscape:connector-curvature="0" class="st29" d="M123.824,56.338l0.391-0.207 + c0.004,0.017,0.005,0.032,0.007,0.048l-0.388,0.207C123.832,56.37,123.828,56.354,123.824,56.338"/> +<path id="Fill-738" inkscape:connector-curvature="0" class="st28" d="M123.834,56.386l0.389-0.207 + c0.004,0.016,0.006,0.031,0.007,0.047l-0.388,0.207C123.838,56.417,123.836,56.402,123.834,56.386"/> +<path id="Fill-740" inkscape:connector-curvature="0" class="st3" d="M123.842,56.432l0.389-0.207 + c0.002,0.016,0.004,0.03,0.006,0.046l-0.389,0.206C123.846,56.462,123.844,56.447,123.842,56.432"/> +<path id="Fill-742" inkscape:connector-curvature="0" class="st4" d="M123.848,56.477l0.389-0.206 + c0.002,0.015,0.004,0.03,0.004,0.046l-0.389,0.206C123.85,56.508,123.848,56.493,123.848,56.477"/> +<path id="Fill-744" inkscape:connector-curvature="0" class="st43" d="M123.852,56.523l0.389-0.206 + c0.002,0.015,0.002,0.029,0.004,0.045l-0.391,0.207C123.854,56.553,123.852,56.538,123.852,56.523"/> +<path id="Fill-746" inkscape:connector-curvature="0" class="st1" d="M123.854,56.569l0.391-0.207c0,0.015,0.002,0.029,0.002,0.045 + l-0.391,0.206C123.855,56.598,123.855,56.583,123.854,56.569"/> +<polygon id="Fill-748" class="st6" points="123.855,56.613 124.246,56.407 124.246,56.428 123.855,56.635 "/> +<polygon id="Fill-750" class="st18" points="123.844,56.8 124.235,56.593 126.096,58.675 125.705,58.882 "/> +<polygon id="Fill-752" class="st36" points="126,58.718 126.391,58.511 127.34,60.493 126.951,60.7 "/> +<polygon id="Fill-754" class="st12" points="126.951,60.7 125.447,59.937 125.447,59.447 123.508,57.275 122.871,56.563 + 122.986,56.308 123.129,55.998 123.844,56.8 125.705,58.882 126,58.718 "/> +<polygon id="Fill-756" class="st20" points="122.182,49.86 122.573,49.653 122.381,49.932 121.993,50.139 "/> +<polygon id="Fill-758" class="st44" points="121.127,46.762 121.518,46.555 122.572,49.654 122.182,49.861 "/> +<polygon id="Fill-760" class="st0" points="83.866,212.32 92.668,217.786 92.668,195.571 83.822,189.873 "/> +<polygon id="Fill-762" class="st0" points="93.459,196.082 93.459,196.103 93.375,196.05 93.486,196.05 93.535,218.562 + 102.232,223.701 102.492,223.611 102.523,201.921 "/> +<polygon id="Fill-764" class="st0" points="173.992,225.411 183.607,231.001 183.469,217.413 174.14,211.62 "/> +<polygon id="Fill-766" class="st0" points="173.992,246.06 183.607,251.65 183.469,238.062 174.14,232.269 "/> +<polygon id="Fill-768" class="st0" points="161.246,217.732 170.861,223.322 170.723,209.734 161.394,203.941 "/> +<polygon id="Fill-770" class="st0" points="161.246,238.381 170.861,243.971 170.723,230.383 161.394,224.59 "/> +<polygon id="Fill-772" class="st0" points="148.236,209.942 157.851,215.532 157.715,201.944 148.384,196.151 "/> +<polygon id="Fill-774" class="st0" points="148.236,230.591 157.851,236.181 157.715,222.593 148.384,216.8 "/> +<polygon id="Fill-776" class="st0" points="135.49,202.264 145.105,207.854 144.969,194.266 135.638,188.473 "/> +<polygon id="Fill-778" class="st0" points="135.49,222.912 145.105,228.502 144.969,214.914 135.638,209.121 "/> +<polygon id="Fill-780" class="st0" points="122.596,194.511 132.211,200.101 132.073,186.513 122.744,180.72 "/> +<polygon id="Fill-782" class="st0" points="122.596,215.159 132.211,220.749 132.073,207.161 122.744,201.368 "/> +<polygon id="Fill-784" class="st0" points="54.934,153.852 64.549,159.441 64.411,145.854 55.082,140.061 "/> +<polygon id="Fill-786" class="st0" points="54.934,174.5 64.549,180.09 64.411,166.502 55.082,160.709 "/> +<polygon id="Fill-788" class="st0" points="42.188,146.173 51.803,151.763 51.665,138.175 42.335,132.382 "/> +<polygon id="Fill-790" class="st0" points="42.188,166.821 51.803,172.411 51.665,158.823 42.335,153.03 "/> +<polygon id="Fill-792" class="st0" points="29.178,138.383 38.793,143.973 38.657,130.385 29.326,124.592 "/> +<polygon id="Fill-794" class="st0" points="29.178,159.031 38.793,164.621 38.657,151.033 29.326,145.24 "/> +<polygon id="Fill-796" class="st0" points="16.432,130.704 26.047,136.294 25.911,122.706 16.58,116.913 "/> +<polygon id="Fill-798" class="st0" points="16.432,151.352 26.047,156.942 25.911,143.354 16.58,137.561 "/> +<polygon id="Fill-800" class="st0" points="108.125,177.286 117.74,182.876 117.604,169.288 108.273,163.495 "/> +<polygon id="Fill-802" class="st0" points="108.125,197.935 117.74,203.525 117.604,189.937 108.273,184.144 "/> +<polygon id="Fill-804" class="st0" points="95.379,169.607 104.994,175.197 104.858,161.609 95.527,155.816 "/> +<polygon id="Fill-806" class="st0" points="95.379,190.256 104.994,195.846 104.858,182.258 95.527,176.465 "/> +<polygon id="Fill-808" class="st0" points="82.371,161.817 91.986,167.407 91.848,153.819 82.519,148.026 "/> +<polygon id="Fill-810" class="st0" points="82.371,182.466 91.986,188.056 91.848,174.468 82.519,168.675 "/> +<polygon id="Fill-812" class="st0" points="69.625,154.139 79.24,159.729 79.102,146.141 69.773,140.348 "/> +<polygon id="Fill-814" class="st0" points="69.625,174.787 79.24,180.377 79.102,166.789 69.773,160.996 "/> +<polygon id="Fill-816" class="st0" points="107.707,218.02 117.322,223.61 117.184,210.022 107.855,204.229 "/> +<polygon id="Fill-818" class="st0" points="69.625,195.501 79.24,201.091 79.102,187.503 69.773,181.71 "/> +<polygon id="Fill-820" class="st0" points="3.537,122.951 13.152,128.541 13.014,114.953 3.685,109.16 "/> +<polygon id="Fill-822" class="st0" points="3.537,143.6 13.152,149.189 13.014,135.602 3.685,129.809 "/> +<path id="Stroke-824" class="st45" d="M72.367,206.395l37.063,21.832"/> +<path id="Fill-826" class="st11" d="M108.852,206.83l6.668,4.019l-0.018,8.247c0,0-0.402-4.832-3.238-8.532 + C109.664,207.17,108.852,206.83,108.852,206.83"/> +<path id="Fill-828" class="st11" d="M43.108,135.374l6.667,4.019l-0.016,8.242c0,0-0.405-4.831-3.24-8.531 + C43.919,135.714,43.108,135.374,43.108,135.374"/> +<path id="Fill-830" class="st11" d="M4.806,112.129l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C5.615,112.467,4.806,112.129,4.806,112.129"/> +<path id="Fill-832" class="st11" d="M17.608,119.486l6.668,4.019l-0.016,8.241c0,0-0.406-4.829-3.238-8.528 + C18.42,119.826,17.608,119.486,17.608,119.486"/> +<path id="Fill-834" class="st11" d="M30.19,127.644l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.238-8.532 + C31,127.984,30.19,127.644,30.19,127.644"/> +<path id="Fill-836" class="st11" d="M55.729,143.103l6.67,4.021l-0.017,8.241c0,0-0.409-4.831-3.243-8.531 + C56.537,143.443,55.729,143.103,55.729,143.103"/> +<path id="Fill-838" class="st11" d="M70.99,184.452l6.668,4.02l-0.016,8.245c0,0-0.405-4.832-3.24-8.532 + C71.802,184.795,70.99,184.452,70.99,184.452"/> +<path id="Fill-375_3_" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st12" d="M136.07,43.838 + c0,0.857,0,1.713,0,2.57l-24.326-14.623v-2.57L136.07,43.838z"/> +<path id="path1061_1_" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st13" d="M111.744,29.215l23.389-12.412 + l24.327,14.623l-23.39,12.412L111.744,29.215z"/> +<path id="Fill-375_2_" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st4" d="M159.46,31.426 + c0,0.857,0,1.713,0,2.57l-23.39,12.412v-2.57L159.46,31.426z"/> +<path id="Fill-840" class="st11" d="M43.313,156.152l6.667,4.019l-0.016,8.242c0,0-0.405-4.831-3.24-8.531 + C44.124,156.492,43.313,156.152,43.313,156.152"/> +<path id="Fill-842" class="st11" d="M5.01,132.907l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C5.819,133.245,5.01,132.907,5.01,132.907"/> +<path id="Fill-844" class="st11" d="M17.813,140.264l6.666,4.019l-0.016,8.241c0,0-0.404-4.829-3.238-8.528 + C18.624,140.605,17.813,140.264,17.813,140.264"/> +<path id="Fill-846" class="st11" d="M30.393,148.423l6.666,4.019l-0.016,8.247c0,0-0.404-4.833-3.238-8.532 + C31.204,148.763,30.393,148.423,30.393,148.423"/> +<path id="Fill-848" class="st11" d="M55.933,163.882l6.67,4.021l-0.017,8.241c0,0-0.409-4.831-3.243-8.531 + C56.742,164.222,55.933,163.882,55.933,163.882"/> +<path id="Fill-850" class="st11" d="M161.55,206.926l6.667,4.019l-0.016,8.242c0,0-0.405-4.831-3.24-8.531 + C162.361,207.266,161.55,206.926,161.55,206.926"/> +<path id="Fill-852" class="st11" d="M123.247,183.681l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C124.056,184.019,123.247,183.681,123.247,183.681"/> +<path id="Fill-854" class="st11" d="M136.049,191.038l6.668,4.019l-0.016,8.241c0,0-0.406-4.829-3.238-8.528 + C136.861,191.378,136.049,191.038,136.049,191.038"/> +<path id="Fill-856" class="st11" d="M148.631,199.196l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.238-8.532 + C149.442,199.536,148.631,199.196,148.631,199.196"/> +<path id="Fill-858" class="st11" d="M174.17,214.655l6.67,4.021l-0.017,8.241c0,0-0.409-4.831-3.243-8.531 + C174.979,214.995,174.17,214.655,174.17,214.655"/> +<path id="Fill-860" class="st11" d="M162.469,227.679l6.666,4.019l-0.016,8.242c0,0-0.404-4.831-3.24-8.531 + C163.28,228.019,162.469,227.679,162.469,227.679"/> +<path id="Fill-862" class="st11" d="M124.166,204.434l6.666,4.018l-0.016,8.241c0,0-0.406-4.83-3.242-8.53 + C124.975,204.771,124.166,204.434,124.166,204.434"/> +<path id="Fill-864" class="st11" d="M136.968,211.791l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C137.78,212.131,136.968,211.791,136.968,211.791"/> +<path id="Fill-866" class="st11" d="M149.549,219.949l6.666,4.019l-0.016,8.247c0,0-0.405-4.833-3.238-8.532 + C150.36,220.289,149.549,219.949,149.549,219.949"/> +<path id="Fill-868" class="st11" d="M175.088,235.408l6.67,4.021l-0.016,8.241c0,0-0.41-4.831-3.244-8.531 + C175.897,235.748,175.088,235.408,175.088,235.408"/> +<path id="Fill-870" class="st11" d="M96.23,159.011l6.668,4.019l-0.016,8.242c0,0-0.406-4.831-3.24-8.531 + C97.041,159.351,96.23,159.011,96.23,159.011"/> +<path id="Fill-872" class="st11" d="M70.73,143.123l6.667,4.019l-0.016,8.241c0,0-0.405-4.829-3.238-8.528 + C71.543,143.463,70.73,143.123,70.73,143.123"/> +<path id="Fill-874" class="st11" d="M83.312,151.281l6.666,4.019l-0.016,8.247c0,0-0.405-4.833-3.238-8.532 + C84.123,151.621,83.312,151.281,83.312,151.281"/> +<path id="Fill-876" class="st11" d="M108.852,166.74l6.67,4.021l-0.018,8.241c0,0-0.408-4.831-3.242-8.531 + C109.661,167.08,108.852,166.74,108.852,166.74"/> +<path id="Fill-878" class="st11" d="M96.517,179.521l6.667,4.019l-0.016,8.242c0,0-0.405-4.831-3.24-8.531 + C97.328,179.861,96.517,179.521,96.517,179.521"/> +<path id="Fill-880" class="st11" d="M71.016,163.634l6.668,4.019l-0.016,8.241c0,0-0.406-4.829-3.238-8.528 + C71.828,163.974,71.016,163.634,71.016,163.634"/> +<path id="Fill-882" class="st11" d="M83.598,171.792l6.666,4.019l-0.016,8.247c0,0-0.406-4.833-3.238-8.532 + C84.409,172.132,83.598,171.792,83.598,171.792"/> +<path id="Fill-884" class="st11" d="M109.137,187.251l6.67,4.021l-0.017,8.241c0,0-0.409-4.831-3.243-8.531 + C109.946,187.591,109.137,187.251,109.137,187.251"/> +<path id="Fill-375_1_" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st4" d="M159.46,77.426 + c0,0.857,0,1.713,0,2.57l-23.39,12.412v-2.57L159.46,77.426z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="125.307" y="0" width="28.375" height="40.665"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="125.307" y="0" width="28.375" height="40.665" id="mask-4_1_"> + <g id="g235_2_" class="st46"> + <polygon id="path-3_1_" class="st9" points="125.307,0 153.682,0 153.682,40.665 125.307,40.665 "/> + </g> +</mask> +<polygon id="Fill-511" class="st47" points="125.307,10.344 144.797,0 153.682,30.322 134.192,40.665 "/> +<polygon id="Fill-514" class="st12" points="125.307,10.344 134.192,40.665 116.467,30.015 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/buildings/Secure_Building.svg b/src/main/webapp/img/lib/allied_telesys/buildings/Secure_Building.svg new file mode 100644 index 0000000000000000000000000000000000000000..9c96d47b5a61b83d167548297deb6ea59ac9031e --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/buildings/Secure_Building.svg @@ -0,0 +1,830 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Secure_Building8.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 271.87 185.188" + style="enable-background:new 0 0 271.87 185.188;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#BBBDBF;} + .st1{fill:none;stroke:#626366;stroke-width:1.078;} + .st2{filter:url(#Adobe_OpacityMaskFilter);} + .st3{fill:#FFFFFF;} + .st4{mask:url(#mask-2_2_);fill:url(#Fill-10_1_);} + .st5{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st6{mask:url(#mask-5_2_);fill:url(#Fill-15_1_);} + .st7{filter:url(#Adobe_OpacityMaskFilter_2_);} + .st8{mask:url(#mask-8_2_);fill:url(#Fill-25_1_);} + .st9{filter:url(#Adobe_OpacityMaskFilter_3_);} + .st10{mask:url(#mask-11_2_);fill:url(#Fill-30_1_);} + .st11{filter:url(#Adobe_OpacityMaskFilter_4_);} + .st12{mask:url(#mask-14_2_);fill:#1D5C87;} + .st13{fill:#216390;} + .st14{filter:url(#Adobe_OpacityMaskFilter_5_);} + .st15{mask:url(#mask-18_2_);fill:#1E5E89;} + .st16{filter:url(#Adobe_OpacityMaskFilter_6_);} + .st17{mask:url(#mask-22_2_);fill:#236796;} + .st18{fill:#276E9F;} + .st19{filter:url(#Adobe_OpacityMaskFilter_7_);} + .st20{mask:url(#mask-30_2_);fill:#457AA5;} + .st21{fill:#1D5C87;} + .st22{filter:url(#Adobe_OpacityMaskFilter_8_);} + .st23{mask:url(#mask-42_2_);fill:#467DA8;} + .st24{fill:#FEFEFE;} + .st25{fill:#D6DEE6;} + .st26{fill:#D0D2D3;} + .st27{filter:url(#Adobe_OpacityMaskFilter_9_);} + .st28{mask:url(#mask-54_2_);fill:url(#Fill-183_1_);} + .st29{filter:url(#Adobe_OpacityMaskFilter_10_);} + .st30{mask:url(#mask-57_2_);fill:url(#Fill-188_1_);} + .st31{filter:url(#Adobe_OpacityMaskFilter_11_);} + .st32{mask:url(#mask-60_2_);fill:url(#Fill-202_1_);} + .st33{filter:url(#Adobe_OpacityMaskFilter_12_);} + .st34{mask:url(#mask-63_2_);fill:url(#Fill-207_1_);} + .st35{filter:url(#Adobe_OpacityMaskFilter_13_);} + .st36{mask:url(#mask-66_2_);fill:url(#Fill-217_1_);} + .st37{filter:url(#Adobe_OpacityMaskFilter_14_);} + .st38{mask:url(#mask-69_2_);fill:url(#Fill-222_1_);} + .st39{filter:url(#Adobe_OpacityMaskFilter_15_);} + .st40{mask:url(#mask-72_2_);fill:url(#Fill-240_1_);} + .st41{filter:url(#Adobe_OpacityMaskFilter_16_);} + .st42{mask:url(#mask-75_2_);fill:url(#Fill-245_1_);} + .st43{filter:url(#Adobe_OpacityMaskFilter_17_);} + .st44{mask:url(#mask-78_2_);fill:url(#Fill-255_1_);} + .st45{filter:url(#Adobe_OpacityMaskFilter_18_);} + .st46{mask:url(#mask-81_2_);fill:url(#Fill-260_1_);} + .st47{fill:none;stroke:#4F504F;stroke-width:4.32;} + .st48{fill:none;stroke:#4F504F;stroke-width:2.25;} + .st49{filter:url(#Adobe_OpacityMaskFilter_19_);} + .st50{mask:url(#mask-84_2_);fill:#AC8631;} + .st51{filter:url(#Adobe_OpacityMaskFilter_20_);} + .st52{mask:url(#mask-114_2_);fill:#A3802E;} + .st53{fill:#D3A43E;} + .st54{fill:#C49939;} + .st55{filter:url(#Adobe_OpacityMaskFilter_21_);} + .st56{mask:url(#mask-136_2_);fill:#DFB04B;} + .st57{fill:#FCBD56;} + .st58{fill:none;stroke:#F2EFEF;stroke-width:0.115;} + .st59{fill:#9D8043;} + .st60{fill:#BFBEC0;} + .st61{filter:url(#Adobe_OpacityMaskFilter_22_);} + .st62{mask:url(#mask-246_2_);fill:#B7B7B8;} + .st63{filter:url(#Adobe_OpacityMaskFilter_23_);} + .st64{mask:url(#mask-526_2_);fill:#B7B7B8;} + .st65{fill:#A1A1A3;} + .st66{fill:#D0D1D1;} + .st67{fill:none;stroke:#4F504F;stroke-width:0.115;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview2733" inkscape:current-layer="Layer_1" inkscape:cx="171.33195" inkscape:cy="113.08455" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="4" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-chain-building</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Fill-1" class="st0" d="M242.087,82.917c0.094,0.293,3.477,0.175,4.705-0.982c0,0-0.707-0.825,0.471-2.885 + c1.119-1.953,6.746-3.672,12.744,0.076c6.92,4.324,6.473,9.367,5.648,10.44c-2.076,2.699-7.041,2.857-11.293,0.816 + c-4.162-1.998-4.289-3.305-5.011-3.682c0,0-2.588,1.151-5.174,0.953c0,0,2.437,3.812,8.344,6.687 + c7.519,3.659,14.597,2.339,17.839-1.971c1.944-2.584,1.858-11.327-8.816-17.345c-8.908-5.021-17.182-2.127-19.094,1.285 + C241.177,78.578,241.749,81.89,242.087,82.917"/> +<path id="Stroke-3" class="st1" d="M242.087,82.917c0.094,0.293,3.477,0.175,4.705-0.982c0,0-0.707-0.825,0.471-2.885 + c1.119-1.953,6.746-3.672,12.744,0.076c6.92,4.324,6.473,9.367,5.648,10.44c-2.076,2.699-7.041,2.857-11.293,0.816 + c-4.162-1.998-4.289-3.305-5.011-3.682c0,0-2.588,1.151-5.174,0.953c0,0,2.437,3.812,8.344,6.687 + c7.519,3.659,14.597,2.339,17.839-1.971c1.944-2.584,1.858-11.327-8.816-17.345c-8.908-5.021-17.182-2.127-19.094,1.285 + C241.177,78.578,241.749,81.89,242.087,82.917z"/> +<path id="Fill-5" class="st0" d="M208.31,63.985c0.094,0.293,3.477,0.176,4.705-0.982c0,0-0.707-0.825,0.471-2.885 + c1.119-1.953,6.746-3.672,12.744,0.076c6.92,4.324,6.473,9.367,5.648,10.439c-2.076,2.7-7.041,2.859-11.293,0.819 + c-4.162-2-4.289-3.307-5.011-3.684c0,0-2.588,1.153-5.174,0.953c0,0,2.437,3.812,8.344,6.686c7.519,3.66,14.597,2.34,17.839-1.97 + c1.944-2.583,1.858-11.327-8.816-17.344c-8.908-5.022-17.182-2.128-19.094,1.284C207.4,59.647,207.974,62.957,208.31,63.985"/> +<path id="Stroke-7" class="st1" d="M208.31,63.985c0.094,0.293,3.477,0.176,4.705-0.982c0,0-0.707-0.825,0.471-2.885 + c1.119-1.953,6.746-3.672,12.744,0.076c6.92,4.324,6.473,9.367,5.648,10.439c-2.076,2.7-7.041,2.859-11.293,0.819 + c-4.162-2-4.289-3.307-5.011-3.684c0,0-2.588,1.153-5.174,0.953c0,0,2.437,3.812,8.344,6.686c7.519,3.66,14.597,2.34,17.839-1.97 + c1.944-2.583,1.858-11.327-8.816-17.344c-8.908-5.022-17.182-2.128-19.094,1.284C207.4,59.647,207.974,62.957,208.31,63.985z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="224.763" y="63.426" width="30.06" height="23.889"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="224.763" y="63.426" width="30.06" height="23.889" id="mask-2_2_"> + <g id="g18_1_" class="st2"> + <path id="path-1_2_" class="st3" d="M225.212,68.121c-1.146,3.592-0.762,11.01,9.283,16.52c5.969,3.273,10.49,2.731,12.598,2.473 + c3.462-0.425,7.271-3.55,7.672-6.998c0.187-1.629-0.117-3.402-0.356-3.419c-2.769-0.169-4.349,0.384-4.99,0.712 + c0,0,0.817,3.429-3.449,4.953c-1.379,0.492-5.156,0.798-9.402-1.517c-4.12-2.25-5.147-4.293-6.081-6.302 + c-2.269-4.889,2.098-6.034,2.003-6.672c-0.115-0.761-1.27-3.821-2.17-4.439c-0.007-0.004-0.017-0.006-0.031-0.006 + C229.854,63.426,226.004,65.641,225.212,68.121"/> + </g> +</mask> +<linearGradient id="Fill-10_1_" gradientUnits="userSpaceOnUse" x1="-653.1445" y1="50.4992" x2="-652.886" y2="51.6065" gradientTransform="matrix(30.0601 0 0 23.8889 19869.4102 -1144.5823)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-10" class="st4" d="M225.212,68.121c-1.146,3.592-0.762,11.01,9.283,16.52c5.969,3.273,10.49,2.731,12.598,2.473 + c3.462-0.425,7.271-3.55,7.672-6.998c0.187-1.629-0.117-3.402-0.356-3.419c-2.769-0.169-4.349,0.384-4.99,0.712 + c0,0,0.817,3.429-3.449,4.953c-1.379,0.492-5.156,0.798-9.402-1.517c-4.12-2.25-5.147-4.293-6.081-6.302 + c-2.269-4.889,2.098-6.034,2.003-6.672c-0.115-0.761-1.27-3.821-2.17-4.439c-0.007-0.004-0.017-0.006-0.031-0.006 + C229.854,63.426,226.004,65.641,225.212,68.121"/> +<path id="Stroke-13" class="st1" d="M230.319,63.432c0.9,0.617,2.055,3.678,2.17,4.439c0.096,0.638-4.272,1.783-2.002,6.671 + c0.934,2.009,1.961,4.052,6.08,6.302c4.246,2.317,8.023,2.01,9.402,1.518c4.266-1.524,3.45-4.953,3.45-4.953 + c0.64-0.329,2.22-0.881,4.99-0.711c0.238,0.015,0.543,1.789,0.355,3.418c-0.4,3.448-4.209,6.573-7.672,6.998 + c-2.107,0.257-6.628,0.8-12.597-2.473c-10.045-5.51-10.43-12.928-9.283-16.52C226.028,65.563,230.101,63.286,230.319,63.432z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="235.558" y="62.926" width="16.631" height="9.967"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="235.558" y="62.926" width="16.631" height="9.967" id="mask-5_2_"> + <g id="g34_1_" class="st5"> + <path id="path-4_2_" class="st3" d="M235.558,62.957l1.209,2.298l0.769,2.363c-0.092-0.551,6.338,0.907,9.666,5.275 + c1.004-0.234,1.006-0.222,2.243-0.597c1.247-0.379,2.744-0.252,2.744-0.252c-1.623-3.242-9.564-9.118-15.859-9.118 + C236.07,62.926,235.812,62.937,235.558,62.957"/> + </g> +</mask> +<linearGradient id="Fill-15_1_" gradientUnits="userSpaceOnUse" x1="-635.3679" y1="121.2468" x2="-634.3674" y2="122.158" gradientTransform="matrix(16.631 0 0 9.967 10802.126 -1145.0762)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-15" class="st6" d="M235.558,62.957l1.209,2.298l0.769,2.363c-0.092-0.551,6.338,0.907,9.666,5.275 + c1.004-0.234,1.006-0.222,2.243-0.597c1.247-0.379,2.744-0.252,2.744-0.252c-1.623-3.242-9.564-9.118-15.859-9.118 + C236.07,62.926,235.812,62.937,235.558,62.957"/> +<path id="Stroke-18" class="st1" d="M237.536,67.619l-0.77-2.364l-1.209-2.297c6.401-0.522,14.942,5.711,16.631,9.086 + c0,0-1.496-0.127-2.744,0.252c-1.236,0.375-1.238,0.363-2.242,0.597C243.874,68.525,237.444,67.067,237.536,67.619z"/> +<path id="Fill-20" class="st0" d="M44.926,83.588c0.297,0.078,2.029-2.83,1.723-4.49c0,0-1.077,0.15-2.171-1.957 + c-1.036-1.996,0.566-7.658,6.965-10.672c7.382-3.477,11.38-0.369,11.836,0.904c1.145,3.207-1.412,7.467-5.429,9.936 + c-3.935,2.418-5.102,1.814-5.81,2.218c0,0-0.433,2.801-2.001,4.868c0,0,4.525,0.015,10.139-3.395 + c7.149-4.34,9.871-11.006,8.005-16.064c-1.119-3.034-8.517-7.696-19.356-1.981c-9.046,4.77-11.093,13.293-9.26,16.748 + C40.786,82.002,43.879,83.313,44.926,83.588"/> +<path id="Stroke-22" class="st1" d="M44.926,83.588c0.297,0.078,2.029-2.83,1.723-4.49c0,0-1.077,0.15-2.171-1.957 + c-1.036-1.996,0.566-7.658,6.965-10.672c7.382-3.477,11.38-0.369,11.836,0.904c1.145,3.207-1.412,7.467-5.429,9.936 + c-3.935,2.418-5.102,1.814-5.81,2.218c0,0-0.433,2.801-2.001,4.868c0,0,4.525,0.015,10.139-3.395 + c7.149-4.34,9.871-11.006,8.005-16.064c-1.119-3.034-8.517-7.696-19.356-1.981c-9.046,4.77-11.093,13.293-9.26,16.748 + C40.786,82.002,43.879,83.313,44.926,83.588z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="21.959" y="70.389" width="30.005" height="23.878"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="21.959" y="70.389" width="30.005" height="23.878" id="mask-8_2_"> + <g id="g52_1_" class="st7"> + <path id="path-7_2_" class="st3" d="M46.341,70.421c-1.643,2.232-2.033,3.863-2.104,4.579c0,0,3.324,1.17,2.296,5.583 + c-0.333,1.424-2.121,4.767-6.367,7.08c-4.122,2.246-6.396,2.004-8.591,1.699c-5.337-0.739-3.937-5.032-4.524-5.295 + c-0.704-0.316-3.901-1.002-4.907-0.578c-0.243,0.102-0.532,4.76,1.177,6.832c2.398,2.908,8.843,6.601,18.914,1.14 + c5.983-3.245,7.976-7.339,8.901-9.252c1.518-3.138,0.953-8.032-1.73-10.237c-1.125-0.925-2.558-1.583-2.964-1.583 + C46.391,70.389,46.357,70.399,46.341,70.421"/> + </g> +</mask> +<linearGradient id="Fill-25_1_" gradientUnits="userSpaceOnUse" x1="-653.4116" y1="50.9084" x2="-652.5302" y2="51.2347" gradientTransform="matrix(30.0051 0 0 23.8779 19629.4277 -1137.6095)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-25" class="st8" d="M46.341,70.421c-1.643,2.232-2.033,3.863-2.104,4.579c0,0,3.324,1.17,2.296,5.583 + c-0.333,1.424-2.121,4.767-6.367,7.08c-4.122,2.246-6.396,2.004-8.591,1.699c-5.337-0.739-3.937-5.032-4.524-5.295 + c-0.704-0.316-3.901-1.002-4.907-0.578c-0.243,0.102-0.532,4.76,1.177,6.832c2.398,2.908,8.843,6.601,18.914,1.14 + c5.983-3.245,7.976-7.339,8.901-9.252c1.518-3.138,0.953-8.032-1.73-10.237c-1.125-0.925-2.558-1.583-2.964-1.583 + C46.391,70.389,46.357,70.399,46.341,70.421"/> +<path id="Stroke-28" class="st1" d="M22.145,83.489c1.005-0.424,4.203,0.262,4.906,0.578c0.587,0.264-0.813,4.557,4.524,5.295 + c2.195,0.305,4.469,0.547,8.591-1.699c4.247-2.313,6.034-5.656,6.367-7.08c1.029-4.412-2.296-5.582-2.296-5.582 + c0.071-0.717,0.462-2.348,2.104-4.58c0.142-0.194,1.798,0.509,3.066,1.55c2.682,2.205,3.248,7.1,1.729,10.239 + c-0.925,1.912-2.918,6.006-8.9,9.252c-10.071,5.461-16.517,1.767-18.915-1.141C21.613,88.249,21.902,83.591,22.145,83.489z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="24.58" y="69.737" width="16.645" height="9.949"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="24.58" y="69.737" width="16.645" height="9.949" id="mask-11_2_"> + <g id="g68_1_" class="st9"> + <path id="path-10_2_" class="st3" d="M24.58,78.827l2.587,0.228l2.404,0.631c-0.514-0.221,4.194-4.836,9.67-5.267 + c0.345-0.973,0.357-0.967,0.709-2.21c0.357-1.253,1.275-2.442,1.275-2.442c-0.184-0.02-0.383-0.03-0.596-0.03 + C36.52,69.737,27.459,73.444,24.58,78.827"/> + </g> +</mask> +<linearGradient id="Fill-30_1_" gradientUnits="userSpaceOnUse" x1="-635.3737" y1="122.3767" x2="-634.3741" y2="121.4656" gradientTransform="matrix(16.645 0 0 9.949 10600.6123 -1138.2651)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-30" class="st10" d="M24.58,78.827l2.587,0.228l2.404,0.631c-0.514-0.221,4.194-4.836,9.67-5.267 + c0.345-0.973,0.357-0.967,0.709-2.21c0.357-1.253,1.275-2.442,1.275-2.442c-0.184-0.02-0.383-0.03-0.596-0.03 + C36.52,69.737,27.459,73.444,24.58,78.827"/> +<path id="Stroke-33" class="st1" d="M29.571,79.686l-2.404-0.631l-2.587-0.228c3.028-5.662,12.892-9.469,16.645-9.061 + c0,0-0.918,1.19-1.275,2.443c-0.353,1.243-0.365,1.237-0.71,2.209C33.764,74.85,29.057,79.465,29.571,79.686z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_4_" filterUnits="userSpaceOnUse" x="159.526" y="0.504" width="71.394" height="40.691"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="159.526" y="0.504" width="71.394" height="40.691" id="mask-14_2_"> + <g id="g84_1_" class="st11"> + <path id="path-13_2_" class="st3" d="M159.527,1.205l68.148,39.991c1.594-0.849,2.603-0.829,3.244-0.454 + c-22.717-13.332-45.432-26.658-68.15-39.99c-0.261-0.153-0.583-0.247-0.982-0.247C161.209,0.505,160.47,0.702,159.527,1.205"/> + </g> +</mask> +<path id="Fill-35" class="st12" d="M161.767,0.504c-0.408,0.003-0.894,0.106-1.475,0.342h-0.002 + c-0.238,0.096-0.492,0.213-0.764,0.359l68.148,39.99c0.273-0.146,0.527-0.263,0.766-0.359c1.161-0.471,1.948-0.406,2.48-0.096 + L162.769,0.752C162.503,0.596,162.174,0.5,161.767,0.504z"/> +<polygon id="Fill-42" class="st13" points="227.675,41.196 206.2,52.615 138.05,12.623 159.526,1.205 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_5_" filterUnits="userSpaceOnUse" x="135.835" y="0" width="69.716" height="40.257"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="135.835" y="0" width="69.716" height="40.257" id="mask-18_2_"> + <g id="g105_1_" class="st14"> + <path id="path-17_2_" class="st3" d="M136.753,0c-0.281,0.006-0.592,0.091-0.92,0.265l68.148,39.992 + c0.613-0.325,1.168-0.342,1.571-0.105c-22.717-13.329-45.432-26.66-68.148-39.989c-0.175-0.103-0.376-0.159-0.599-0.163"/> + </g> +</mask> +<path id="Fill-44" class="st15" d="M136.804,0c-0.222-0.004-0.463,0.044-0.717,0.146c-0.083,0.034-0.168,0.074-0.252,0.119 + l68.146,39.992c0.086-0.046,0.168-0.086,0.254-0.119c0.509-0.207,0.968-0.19,1.316,0.014l-68.148-39.99 + C137.228,0.06,137.026,0.004,136.804,0z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_6_" filterUnits="userSpaceOnUse" x="43.257" y="133.857" width="70.838" height="45.912"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="43.257" y="133.857" width="70.838" height="45.912" id="mask-22_2_"> + <g id="g125_1_" class="st16"> + <path id="path-21_2_" class="st3" d="M45.947,139.777c22.717,13.33,45.431,26.66,68.148,39.992 + c-1.664-0.977-2.698-3.034-2.689-5.923l-68.15-39.989C43.249,136.744,44.281,138.8,45.947,139.777"/> + </g> +</mask> +<path id="Fill-51" class="st17" d="M43.257,133.857c-0.001,0.678,0.054,1.306,0.16,1.889l-0.002-0.002 + c0.109,0.586,0.27,1.124,0.479,1.611c0.243,0.563,0.547,1.054,0.91,1.469c0.335,0.385,0.717,0.705,1.141,0.953l68.15,39.992 + c-0.426-0.25-0.808-0.569-1.143-0.955c-0.363-0.415-0.668-0.904-0.908-1.469c-0.21-0.484-0.369-1.021-0.479-1.611 + c-0.107-0.58-0.162-1.214-0.16-1.889L43.257,133.857z"/> +<polygon id="Fill-64" class="st18" points="133.302,91.375 65.152,51.384 65.177,40.645 133.327,80.635 "/> +<polygon id="Fill-66" class="st13" points="135.628,76.603 67.478,36.613 135.833,0.265 203.982,40.257 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_7_" filterUnits="userSpaceOnUse" x="65.178" y="36.613" width="70.45" height="44.021"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="65.178" y="36.613" width="70.45" height="44.021" id="mask-30_2_"> + <g id="g167_1_" class="st19"> + <path id="path-29_2_" class="st3" d="M65.177,40.644l68.151,39.99c0.046-1.68,1.054-3.37,2.3-4.031l-68.151-39.99 + C66.232,37.273,65.224,38.962,65.177,40.644"/> + </g> +</mask> +<path id="Fill-69" class="st20" d="M67.478,36.613c-0.08,0.042-0.161,0.088-0.238,0.141h-0.002c-0.14,0.091-0.276,0.194-0.408,0.311 + c-0.125,0.111-0.246,0.232-0.361,0.363c-0.202,0.223-0.383,0.476-0.547,0.75c-0.182,0.307-0.338,0.636-0.459,0.98l-0.002-0.002 + c-0.167,0.477-0.268,0.984-0.283,1.488l68.15,39.99c0.014-0.504,0.115-1.009,0.281-1.488c0.121-0.344,0.274-0.675,0.459-0.979 + c0.162-0.272,0.348-0.524,0.549-0.75c0.116-0.131,0.237-0.251,0.361-0.363h0.002c0.131-0.115,0.267-0.217,0.406-0.309h0.002 + c0.078-0.053,0.158-0.102,0.24-0.143L67.478,36.613z"/> +<polygon id="Fill-88" class="st18" points="111.405,173.846 43.256,133.857 43.421,66.802 111.569,106.791 "/> +<polygon id="Fill-90" class="st13" points="114.146,101.56 45.998,61.569 65.152,51.384 133.302,91.375 "/> +<path id="Fill-92" class="st21" d="M203.982,40.257c1.244-0.662,2.248-0.041,2.246,1.379l-0.027,10.978l21.474-11.419 + c4.364-2.32,4.354,1.852,4.354,2.072l-0.165,66.53c-0.013,5.672-4.026,12.396-8.972,15.026l-102.568,54.538 + c-4.938,2.625-8.934,0.158-8.918-5.515l0.164-67.055c0.008-3.513,2.449-5.144,2.576-5.231l19.156-10.185l0.026-10.741 + c0.047-1.681,1.054-3.371,2.3-4.031L203.982,40.257z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_8_" filterUnits="userSpaceOnUse" x="43.423" y="61.568" width="70.722" height="45.225"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="43.423" y="61.568" width="70.722" height="45.225" id="mask-42_2_"> + <g id="g230_1_" class="st22"> + <path id="path-41_2_" class="st3" d="M43.421,66.802l68.148,39.99c0.008-3.513,2.45-5.145,2.577-5.232L45.997,61.568 + C45.868,61.656,43.429,63.287,43.421,66.802"/> + </g> +</mask> +<path id="Fill-95" class="st23" d="M45.997,61.568c-0.031,0.02-0.198,0.133-0.43,0.338c-0.149,0.133-0.329,0.303-0.518,0.516 + c-0.231,0.26-0.478,0.582-0.709,0.969l68.148,39.99c0.229-0.386,0.477-0.708,0.709-0.967h0.002v-0.002 + c0.187-0.214,0.367-0.383,0.516-0.516c0.233-0.205,0.398-0.314,0.43-0.336L45.997,61.568z M112.489,103.381L44.341,63.393 + c-0.203,0.335-0.393,0.722-0.545,1.158c-0.209,0.596-0.352,1.283-0.373,2.068h0.002v0.002c-0.002,0.059-0.002,0.119-0.002,0.182 + l68.146,39.99c0-0.06,0.001-0.124,0.002-0.186c0.022-0.783,0.163-1.472,0.373-2.064 + C112.096,104.105,112.286,103.717,112.489,103.381z"/> +<polygon id="Fill-114" class="st24" points="168.927,152.881 157.174,159.105 157.238,126.874 168.989,120.649 "/> +<polygon id="Fill-116" class="st24" points="185.066,144.173 173.312,150.398 173.377,118.164 185.128,111.939 "/> +<polygon id="Fill-118" class="st24" points="202.366,67.72 189.395,74.591 189.43,56.992 202.401,50.12 "/> +<path id="Fill-120" class="st25" d="M191.148,57.671l9.959-5.277l-0.027,13.867c0,0-0.604-7.379-4.836-8.479 + C192.36,56.78,191.148,57.671,191.148,57.671"/> +<polygon id="Fill-122" class="st24" points="151.14,94.859 138.167,101.73 138.202,84.13 151.175,77.257 "/> +<path id="Fill-124" class="st25" d="M139.732,84.91l9.959-5.275L149.664,93.5c0,0-0.606-7.377-4.84-8.477 + C140.939,84.019,139.732,84.91,139.732,84.91"/> +<polygon id="Fill-126" class="st24" points="202.316,93.914 189.347,100.785 189.378,83.189 202.349,76.318 "/> +<path id="Fill-128" class="st25" d="M191.095,83.867l9.961-5.276l-0.027,13.872c0,0-0.602-7.385-4.837-8.482 + C192.308,82.974,191.095,83.867,191.095,83.867"/> +<polygon id="Fill-130" class="st24" points="184.993,76.925 172.02,83.798 172.055,66.197 185.028,59.324 "/> +<path id="Fill-132" class="st25" d="M173.773,66.876l9.957-5.275l-0.025,13.865c0,0-0.604-7.377-4.834-8.481 + C174.982,65.986,173.773,66.876,173.773,66.876"/> +<polygon id="Fill-134" class="st24" points="184.942,103.117 171.97,109.991 172.004,92.395 184.976,85.523 "/> +<path id="Fill-136" class="st25" d="M173.72,93.074l9.959-5.277l-0.025,13.871c0,0-0.604-7.385-4.836-8.487 + C174.933,92.179,173.72,93.074,173.72,93.074"/> +<polygon id="Fill-138" class="st24" points="168.605,85.605 155.627,92.483 155.662,74.881 168.638,68.007 "/> +<path id="Fill-140" class="st25" d="M157.382,75.56l9.963-5.278l-0.027,13.866c0,0-0.608-7.377-4.841-8.477 + C158.593,74.669,157.382,75.56,157.382,75.56"/> +<polygon id="Fill-142" class="st24" points="168.553,111.8 155.575,118.673 155.611,101.077 168.587,94.204 "/> +<path id="Fill-144" class="st25" d="M157.331,101.755l9.963-5.276l-0.027,13.869c0,0-0.608-7.38-4.84-8.482 + C158.54,100.864,157.331,101.755,157.331,101.755"/> +<polygon id="Fill-146" class="st24" points="151.091,121.05 138.118,127.925 138.15,110.325 151.122,103.454 "/> +<path id="Fill-148" class="st25" d="M139.683,111.105l9.956-5.274l-0.026,13.87c0,0-0.607-7.381-4.842-8.481 + C140.89,110.214,139.683,111.105,139.683,111.105"/> +<polygon id="Fill-150" class="st24" points="202.267,119.57 189.296,126.438 189.33,108.843 202.3,101.97 "/> +<path id="Fill-152" class="st25" d="M191.046,109.517l9.961-5.275l-0.027,13.869c0,0-0.604-7.381-4.838-8.479 + C192.259,108.626,191.046,109.517,191.046,109.517"/> +<polygon id="Fill-154" class="st24" points="150.534,146.972 137.562,153.847 137.598,136.246 150.569,129.374 "/> +<path id="Fill-156" class="st25" d="M139.317,136.921l9.957-5.274l-0.027,13.871c0,0-0.606-7.379-4.834-8.483 + C140.526,136.035,139.317,136.921,139.317,136.921"/> +<polygon id="Fill-158" class="st24" points="130.567,116.349 117.592,123.227 117.625,105.634 130.602,98.759 "/> +<path id="Fill-160" class="st25" d="M119.347,106.304l9.957-5.273l-0.027,13.875c0,0-0.604-7.387-4.834-8.483 + C120.556,105.42,119.347,106.304,119.347,106.304"/> +<polygon id="Fill-162" class="st24" points="130.515,142.55 117.54,149.423 117.576,131.825 130.55,124.949 "/> +<path id="Fill-164" class="st25" d="M119.296,132.5l9.957-5.273l-0.027,13.872c0,0-0.604-7.383-4.834-8.486 + C120.506,131.612,119.296,132.5,119.296,132.5"/> +<polygon id="Fill-166" class="st24" points="226.732,65.407 213.759,72.279 213.794,54.687 226.765,47.816 "/> +<path id="Fill-168" class="st25" d="M215.511,55.358l9.96-5.274l-0.028,13.875c0,0-0.599-7.389-4.832-8.483 + C216.724,54.473,215.511,55.358,215.511,55.358"/> +<polygon id="Fill-170" class="st24" points="226.679,91.604 213.71,98.476 213.741,80.876 226.714,74.007 "/> +<path id="Fill-172" class="st25" d="M215.462,81.554l9.961-5.275l-0.029,13.872c0,0-0.602-7.384-4.834-8.484 + C216.675,80.665,215.462,81.554,215.462,81.554"/> +<path id="Fill-174" class="st26" d="M34.177,89.43c-0.096,0.291-3.665,0.014-4.89-0.775c0,0,0.606-1.442-0.284-3.098 + c-1.065-1.982-6.743-3.676-12.743,0.064c-6.924,4.321-6.48,9.364-5.657,10.438c2.072,2.701,7.04,2.863,11.292,0.826 + c4.163-1.996,4.384-3.437,5.106-3.812c0,0,3.888,1.138,5.082,1.091c0,0-2.441,3.809-8.349,6.678 + c-7.523,3.654-14.599,2.326-17.838-1.984c-1.943-2.584-1.849-11.328,8.83-17.338c8.912-5.014,17.183-2.113,19.093,1.299 + C35.09,85.09,34.514,88.401,34.177,89.43"/> +<path id="Stroke-176" class="st1" d="M34.177,89.43c-0.096,0.291-3.665,0.014-4.89-0.775c0,0,0.606-1.442-0.284-3.098 + c-1.065-1.982-6.743-3.676-12.743,0.064c-6.924,4.321-6.48,9.364-5.657,10.438c2.072,2.701,7.04,2.863,11.292,0.826 + c4.163-1.996,4.384-3.437,5.106-3.812c0,0,3.888,1.138,5.082,1.091c0,0-2.441,3.809-8.349,6.678 + c-7.523,3.654-14.599,2.326-17.838-1.984c-1.943-2.584-1.849-11.328,8.83-17.338c8.912-5.014,17.183-2.113,19.093,1.299 + C35.09,85.09,34.514,88.401,34.177,89.43z"/> +<path id="Fill-178" class="st26" d="M264.179,90.833c-0.094,0.291-4.092,1.395-5.316,0.605c0,0,0.605-1.441-0.284-3.097 + c-1.066-1.983-6.744-3.676-12.744,0.064c-6.924,4.319-6.48,9.364-5.656,10.438c2.072,2.701,7.039,2.863,11.291,0.824 + c4.164-1.994,4.385-3.436,5.107-3.813c0,0,3.887,1.141,5.081,1.092c0,0-2.44,3.811-8.348,6.68c-7.524,3.654-14.6,2.326-17.838-1.984 + c-1.943-2.586-1.85-11.33,8.83-17.338c8.91-5.014,17.182-2.116,19.092,1.299C264.665,87.874,264.517,89.806,264.179,90.833"/> +<path id="Stroke-180" class="st1" d="M264.179,90.833c-0.094,0.291-4.092,1.395-5.316,0.605c0,0,0.605-1.441-0.284-3.097 + c-1.066-1.983-6.744-3.676-12.744,0.064c-6.924,4.319-6.48,9.364-5.656,10.438c2.072,2.701,7.039,2.863,11.291,0.824 + c4.164-1.994,4.385-3.436,5.107-3.813c0,0,3.887,1.141,5.081,1.092c0,0-2.44,3.811-8.348,6.68c-7.524,3.654-14.6,2.326-17.838-1.984 + c-1.943-2.586-1.85-11.33,8.83-17.338c8.91-5.014,17.182-2.116,19.092,1.299C264.665,87.874,264.517,89.806,264.179,90.833z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_9_" filterUnits="userSpaceOnUse" x="217.354" y="91.352" width="30.005" height="23.879"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="217.354" y="91.352" width="30.005" height="23.879" id="mask-54_2_"> + <g id="g324_1_" class="st27"> + <path id="path-53_2_" class="st3" d="M241.735,91.384c-1.642,2.234-2.033,3.863-2.105,4.58c0,0,3.326,1.172,2.297,5.582 + c-0.334,1.425-2.121,4.765-6.367,7.08c-4.122,2.245-6.395,2.001-8.59,1.699c-5.338-0.739-3.938-5.032-4.525-5.296 + c-0.701-0.315-3.901-1.001-4.907-0.577c-0.242,0.101-0.531,4.76,1.178,6.832c2.399,2.908,8.842,6.603,18.914,1.141 + c5.983-3.247,7.976-7.341,8.901-9.252c1.517-3.139,0.953-8.034-1.731-10.239c-1.124-0.924-2.558-1.582-2.963-1.582 + C241.786,91.352,241.751,91.362,241.735,91.384"/> + </g> +</mask> +<linearGradient id="Fill-183_1_" gradientUnits="userSpaceOnUse" x1="-653.4114" y1="50.9056" x2="-652.5298" y2="51.2319" gradientTransform="matrix(30.0049 0 0 23.879 19824.6797 -1116.635)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-183" class="st28" d="M241.735,91.384c-1.642,2.234-2.033,3.863-2.105,4.58c0,0,3.326,1.172,2.297,5.582 + c-0.334,1.425-2.121,4.765-6.367,7.08c-4.122,2.245-6.395,2.001-8.59,1.699c-5.338-0.739-3.938-5.032-4.525-5.296 + c-0.701-0.315-3.901-1.001-4.907-0.577c-0.242,0.101-0.531,4.76,1.178,6.832c2.399,2.908,8.842,6.603,18.914,1.141 + c5.983-3.247,7.976-7.341,8.901-9.252c1.517-3.139,0.953-8.034-1.731-10.239c-1.124-0.924-2.558-1.582-2.963-1.582 + C241.786,91.352,241.751,91.362,241.735,91.384"/> +<path id="Stroke-186" class="st1" d="M217.538,104.452c1.006-0.424,4.205,0.262,4.906,0.578c0.588,0.264-0.812,4.557,4.526,5.295 + c2.195,0.303,4.468,0.547,8.589-1.699c4.247-2.315,6.034-5.654,6.368-7.08c1.029-4.41-2.297-5.582-2.297-5.582 + c0.072-0.717,0.463-2.346,2.105-4.58c0.141-0.194,1.799,0.509,3.065,1.55c2.683,2.205,3.248,7.1,1.73,10.239 + c-0.924,1.912-2.918,6.006-8.9,9.252c-10.072,5.463-16.516,1.767-18.914-1.141C217.007,109.212,217.296,104.554,217.538,104.452z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_10_" filterUnits="userSpaceOnUse" x="219.976" y="90.699" width="16.644" height="9.95"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="219.976" y="90.699" width="16.644" height="9.95" id="mask-57_2_"> + <g id="g340_1_" class="st29"> + <path id="path-56_2_" class="st3" d="M219.976,99.79l2.586,0.228l2.404,0.631c-0.513-0.22,4.194-4.836,9.667-5.268 + c0.347-0.971,0.36-0.966,0.712-2.209c0.358-1.254,1.275-2.443,1.275-2.443c-0.185-0.02-0.384-0.03-0.596-0.03 + C231.915,90.7,222.854,94.404,219.976,99.79"/> + </g> +</mask> +<linearGradient id="Fill-188_1_" gradientUnits="userSpaceOnUse" x1="-635.3713" y1="122.3644" x2="-634.3717" y2="121.4533" gradientTransform="matrix(16.644 0 0 9.95 10795.3311 -1117.3027)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-188" class="st30" d="M219.976,99.79l2.586,0.228l2.404,0.631c-0.513-0.22,4.194-4.836,9.667-5.268 + c0.347-0.971,0.36-0.966,0.712-2.209c0.358-1.254,1.275-2.443,1.275-2.443c-0.185-0.02-0.384-0.03-0.596-0.03 + C231.915,90.7,222.854,94.404,219.976,99.79"/> +<path id="Stroke-191" class="st1" d="M224.966,100.649l-2.404-0.631l-2.586-0.228c3.027-5.664,12.892-9.469,16.644-9.061 + c0,0-0.918,1.19-1.275,2.443c-0.352,1.243-0.365,1.239-0.711,2.209C229.159,95.813,224.452,100.428,224.966,100.649z"/> +<path id="Fill-193" class="st26" d="M229.853,110.682c-0.094,0.291-3.664,0.014-4.889-0.775c0,0,0.606-1.442-0.283-3.096 + c-1.066-1.984-6.744-3.678-12.744,0.064c-6.924,4.319-6.48,9.364-5.656,10.436c2.072,2.701,7.039,2.863,11.291,0.826 + c4.164-1.996,4.385-3.437,5.107-3.812c0,0,3.887,1.138,5.08,1.091c0,0-2.439,3.809-8.347,6.678c-7.524,3.654-14.6,2.328-17.84-1.984 + c-1.942-2.584-1.848-11.328,8.832-17.338c8.91-5.014,17.181-2.113,19.092,1.299C230.767,106.342,230.191,109.653,229.853,110.682"/> +<path id="Stroke-195" class="st1" d="M229.853,110.682c-0.094,0.291-3.664,0.014-4.889-0.775c0,0,0.606-1.442-0.283-3.096 + c-1.066-1.984-6.744-3.678-12.744,0.064c-6.924,4.319-6.48,9.364-5.656,10.436c2.072,2.701,7.039,2.863,11.291,0.826 + c4.164-1.996,4.385-3.437,5.107-3.812c0,0,3.887,1.138,5.08,1.091c0,0-2.439,3.809-8.347,6.678c-7.524,3.654-14.6,2.328-17.84-1.984 + c-1.942-2.584-1.848-11.328,8.832-17.338c8.91-5.014,17.181-2.113,19.092,1.299C230.767,106.342,230.191,109.653,229.853,110.682z" + /> +<path id="Fill-197" class="st26" d="M213.442,119.624c-0.096,0.291-3.664,0.014-4.889-0.775c0,0,0.606-1.442-0.285-3.096 + c-1.064-1.984-6.742-3.678-12.742,0.064c-6.924,4.319-6.48,9.362-5.658,10.436c2.072,2.701,7.041,2.863,11.293,0.826 + c4.162-1.996,4.385-3.437,5.105-3.812c0,0,3.889,1.138,5.082,1.091c0,0-2.441,3.809-8.347,6.678 + c-7.524,3.654-14.6,2.328-17.84-1.984c-1.942-2.584-1.848-11.328,8.83-17.338c8.912-5.014,17.183-2.113,19.094,1.299 + C214.356,115.284,213.78,118.595,213.442,119.624"/> +<path id="Stroke-199" class="st1" d="M213.442,119.624c-0.096,0.291-3.664,0.014-4.889-0.775c0,0,0.606-1.442-0.285-3.096 + c-1.064-1.984-6.742-3.678-12.742,0.064c-6.924,4.319-6.48,9.362-5.658,10.436c2.072,2.701,7.041,2.863,11.293,0.826 + c4.162-1.996,4.385-3.437,5.105-3.812c0,0,3.889,1.138,5.082,1.091c0,0-2.441,3.809-8.347,6.678 + c-7.524,3.654-14.6,2.328-17.84-1.984c-1.942-2.584-1.848-11.328,8.83-17.338c8.912-5.014,17.183-2.113,19.094,1.299 + C214.356,115.284,213.78,118.595,213.442,119.624z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_11_" filterUnits="userSpaceOnUse" x="167.398" y="118.584" width="30.004" height="23.881"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="167.398" y="118.584" width="30.004" height="23.881" id="mask-60_2_"> + <g id="g360_1_" class="st31"> + <path id="path-59_2_" class="st3" d="M191.778,118.616c-1.642,2.235-2.033,3.863-2.103,4.58c0,0,3.326,1.172,2.295,5.582 + c-0.332,1.425-2.12,4.767-6.368,7.082c-4.121,2.245-6.394,2.001-8.589,1.699c-5.338-0.74-3.936-5.031-4.524-5.295 + c-0.703-0.316-3.902-1.001-4.905-0.58c-0.245,0.103-0.534,4.76,1.175,6.835c2.398,2.907,8.843,6.601,18.914,1.14 + c5.984-3.246,7.976-7.34,8.9-9.252c1.518-3.141,0.953-8.035-1.729-10.239c-1.126-0.925-2.56-1.584-2.965-1.584 + C191.829,118.584,191.794,118.595,191.778,118.616"/> + </g> +</mask> +<linearGradient id="Fill-202_1_" gradientUnits="userSpaceOnUse" x1="-653.4109" y1="50.9036" x2="-652.5294" y2="51.23" gradientTransform="matrix(30.0036 0 0 23.8807 19773.8594 -1089.4443)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-202" class="st32" d="M191.778,118.616c-1.642,2.235-2.033,3.863-2.103,4.58c0,0,3.326,1.172,2.295,5.582 + c-0.332,1.425-2.12,4.767-6.368,7.082c-4.121,2.245-6.394,2.001-8.589,1.699c-5.338-0.74-3.936-5.031-4.524-5.295 + c-0.703-0.316-3.902-1.001-4.905-0.58c-0.245,0.103-0.534,4.76,1.175,6.835c2.398,2.907,8.843,6.601,18.914,1.14 + c5.984-3.246,7.976-7.34,8.9-9.252c1.518-3.141,0.953-8.035-1.729-10.239c-1.126-0.925-2.56-1.584-2.965-1.584 + C191.829,118.584,191.794,118.595,191.778,118.616"/> +<path id="Stroke-205" class="st1" d="M167.583,131.684c1.004-0.422,4.203,0.264,4.906,0.58c0.588,0.264-0.814,4.555,4.524,5.295 + c2.195,0.303,4.468,0.545,8.59-1.699c4.248-2.315,6.035-5.656,6.367-7.082c1.031-4.41-2.295-5.582-2.295-5.582 + c0.07-0.717,0.461-2.346,2.103-4.58c0.143-0.192,1.799,0.511,3.067,1.552c2.681,2.203,3.246,7.098,1.728,10.239 + c-0.924,1.912-2.916,6.006-8.9,9.252c-10.07,5.461-16.516,1.767-18.914-1.141C167.05,136.444,167.339,131.788,167.583,131.684z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_12_" filterUnits="userSpaceOnUse" x="170.019" y="117.933" width="16.646" height="9.95"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="170.019" y="117.933" width="16.646" height="9.95" id="mask-63_2_"> + <g id="g376_1_" class="st33"> + <path id="path-62_2_" class="st3" d="M170.019,127.024l2.586,0.226l2.406,0.633c-0.516-0.222,4.193-4.836,9.668-5.267 + c0.346-0.972,0.357-0.967,0.711-2.209c0.355-1.257,1.275-2.444,1.275-2.444c-0.184-0.02-0.383-0.03-0.596-0.03 + C181.958,117.934,172.897,121.639,170.019,127.024"/> + </g> +</mask> +<linearGradient id="Fill-207_1_" gradientUnits="userSpaceOnUse" x1="-635.3762" y1="122.3644" x2="-634.3765" y2="121.4534" gradientTransform="matrix(16.646 0 0 9.95 10746.7266 -1090.0688)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-207" class="st34" d="M170.019,127.024l2.586,0.226l2.406,0.633c-0.516-0.222,4.193-4.836,9.668-5.267 + c0.346-0.972,0.357-0.967,0.711-2.209c0.355-1.257,1.275-2.444,1.275-2.444c-0.184-0.02-0.383-0.03-0.596-0.03 + C181.958,117.934,172.897,121.639,170.019,127.024"/> +<path id="Stroke-210" class="st1" d="M175.011,127.883l-2.406-0.633l-2.586-0.226c3.027-5.664,12.892-9.469,16.646-9.061 + c0,0-0.92,1.188-1.275,2.443c-0.354,1.243-0.365,1.237-0.711,2.209C179.204,123.047,174.495,127.66,175.011,127.883z"/> +<path id="Fill-212" class="st0" d="M157.043,150.352c0.297,0.078,2.029-2.828,1.723-4.488c0,0-1.078,0.148-2.172-1.957 + c-1.035-1.998,0.566-7.66,6.965-10.672c7.381-3.477,11.38-0.371,11.837,0.904c1.144,3.205-1.413,7.467-5.43,9.936 + c-3.935,2.416-5.103,1.814-5.81,2.218c0,0-0.433,2.799-2,4.868c0,0,4.523,0.013,10.138-3.395c7.15-4.34,9.871-11.006,8.004-16.064 + c-1.117-3.034-8.516-7.696-19.355-1.981c-9.046,4.77-11.093,13.293-9.259,16.748C152.902,148.768,155.994,150.079,157.043,150.352" + /> +<path id="Stroke-214" class="st1" d="M157.043,150.352c0.297,0.078,2.029-2.828,1.723-4.488c0,0-1.078,0.148-2.172-1.957 + c-1.035-1.998,0.566-7.66,6.965-10.672c7.381-3.477,11.38-0.371,11.837,0.904c1.144,3.205-1.413,7.467-5.43,9.936 + c-3.935,2.416-5.103,1.814-5.81,2.218c0,0-0.433,2.799-2,4.868c0,0,4.523,0.013,10.138-3.395c7.15-4.34,9.871-11.006,8.004-16.064 + c-1.117-3.034-8.516-7.696-19.355-1.981c-9.046,4.77-11.093,13.293-9.259,16.748C152.902,148.768,155.994,150.079,157.043,150.352z" + /> +<defs> + <filter id="Adobe_OpacityMaskFilter_13_" filterUnits="userSpaceOnUse" x="134.721" y="136.373" width="30.004" height="23.879"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="134.721" y="136.373" width="30.004" height="23.879" id="mask-66_2_"> + <g id="g394_1_" class="st35"> + <path id="path-65_2_" class="st3" d="M159.102,136.404c-1.643,2.235-2.033,3.864-2.106,4.58c0,0,3.326,1.173,2.297,5.583 + c-0.332,1.426-2.119,4.767-6.367,7.08c-4.121,2.246-6.394,2.004-8.59,1.701c-5.337-0.74-3.935-5.031-4.524-5.297 + c-0.703-0.314-3.901-1.002-4.906-0.578c-0.244,0.104-0.533,4.76,1.177,6.832c2.397,2.908,8.841,6.604,18.913,1.14 + c5.984-3.243,7.977-7.339,8.9-9.249c1.518-3.141,0.953-8.035-1.728-10.24c-1.127-0.926-2.562-1.583-2.966-1.583 + C159.152,136.373,159.118,136.383,159.102,136.404"/> + </g> +</mask> +<linearGradient id="Fill-217_1_" gradientUnits="userSpaceOnUse" x1="-653.4106" y1="50.9053" x2="-652.5292" y2="51.2316" gradientTransform="matrix(30.0039 0 0 23.8792 19741.377 -1071.616)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-217" class="st36" d="M159.102,136.404c-1.643,2.235-2.033,3.864-2.106,4.58c0,0,3.326,1.173,2.297,5.583 + c-0.332,1.426-2.119,4.767-6.367,7.08c-4.121,2.246-6.394,2.004-8.59,1.701c-5.337-0.74-3.935-5.031-4.524-5.297 + c-0.703-0.314-3.901-1.002-4.906-0.578c-0.244,0.104-0.533,4.76,1.177,6.832c2.397,2.908,8.841,6.604,18.913,1.14 + c5.984-3.243,7.977-7.339,8.9-9.249c1.518-3.141,0.953-8.035-1.728-10.24c-1.127-0.926-2.562-1.583-2.966-1.583 + C159.152,136.373,159.118,136.383,159.102,136.404"/> +<path id="Stroke-220" class="st1" d="M134.906,149.473c1.004-0.424,4.203,0.264,4.906,0.578c0.588,0.266-0.814,4.557,4.524,5.297 + c2.195,0.303,4.468,0.545,8.59-1.701c4.248-2.313,6.035-5.654,6.367-7.08c1.029-4.41-2.297-5.582-2.297-5.582 + c0.072-0.717,0.463-2.346,2.105-4.58c0.143-0.192,1.799,0.509,3.067,1.55c2.681,2.205,3.246,7.1,1.728,10.241 + c-0.924,1.91-2.916,6.006-8.9,9.25c-10.072,5.463-16.516,1.767-18.914-1.141C134.373,154.233,134.662,149.577,134.906,149.473z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_14_" filterUnits="userSpaceOnUse" x="137.342" y="135.72" width="16.646" height="9.951"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="137.342" y="135.72" width="16.646" height="9.951" id="mask-69_2_"> + <g id="g410_1_" class="st37"> + <path id="path-68_2_" class="st3" d="M137.342,144.813l2.586,0.227l2.404,0.631c-0.514-0.222,4.193-4.837,9.67-5.268 + c0.344-0.971,0.357-0.966,0.711-2.209c0.355-1.254,1.275-2.444,1.275-2.444c-0.184-0.02-0.383-0.03-0.595-0.03 + C149.283,135.72,140.221,139.425,137.342,144.813"/> + </g> +</mask> +<linearGradient id="Fill-222_1_" gradientUnits="userSpaceOnUse" x1="-635.3762" y1="122.3522" x2="-634.3765" y2="121.4411" gradientTransform="matrix(16.646 0 0 9.951 10714.0498 -1072.2822)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-222" class="st38" d="M137.342,144.813l2.586,0.227l2.404,0.631c-0.514-0.222,4.193-4.837,9.67-5.268 + c0.344-0.971,0.357-0.966,0.711-2.209c0.355-1.254,1.275-2.444,1.275-2.444c-0.184-0.02-0.383-0.03-0.595-0.03 + C149.283,135.72,140.221,139.425,137.342,144.813"/> +<path id="Stroke-225" class="st1" d="M142.332,145.671l-2.404-0.631l-2.586-0.226c3.027-5.666,12.892-9.471,16.646-9.063 + c0,0-0.92,1.19-1.275,2.443c-0.354,1.243-0.367,1.239-0.711,2.209C146.525,140.835,141.818,145.45,142.332,145.671z"/> +<path id="Fill-227" class="st0" d="M123.83,168.448c0.297,0.078,2.031-2.828,1.723-4.488c0,0-1.077,0.148-2.17-1.957 + c-1.037-1.998,0.566-7.66,6.965-10.672c7.382-3.477,11.38-0.371,11.836,0.904c1.144,3.205-1.413,7.467-5.43,9.936 + c-3.934,2.416-5.102,1.814-5.809,2.218c0,0-0.433,2.799-2,4.866c0,0,4.524,0.015,10.137-3.393c7.15-4.342,9.871-11.006,8.004-16.066 + c-1.117-3.032-8.516-7.694-19.354-1.979c-9.047,4.77-11.093,13.291-9.261,16.748C119.691,166.862,122.783,168.175,123.83,168.448"/> +<path id="Stroke-229" class="st1" d="M123.83,168.448c0.297,0.078,2.031-2.828,1.723-4.488c0,0-1.077,0.148-2.17-1.957 + c-1.037-1.998,0.566-7.66,6.965-10.672c7.382-3.477,11.38-0.371,11.836,0.904c1.144,3.205-1.413,7.467-5.43,9.936 + c-3.934,2.416-5.102,1.814-5.809,2.218c0,0-0.433,2.799-2,4.866c0,0,4.524,0.015,10.137-3.393c7.15-4.342,9.871-11.006,8.004-16.066 + c-1.117-3.032-8.516-7.694-19.354-1.979c-9.047,4.77-11.093,13.291-9.261,16.748C119.691,166.862,122.783,168.175,123.83,168.448z" + /> +<path id="Fill-231" class="st0" d="M102.192,157.426c0.095,0.291,3.478,0.174,4.706-0.983c0,0-0.708-0.824,0.471-2.885 + c1.118-1.952,6.746-3.671,12.744,0.075c6.92,4.324,6.473,9.367,5.648,10.441c-2.076,2.7-7.041,2.857-11.293,0.817 + c-4.162-1.999-4.289-3.307-5.011-3.683c0,0-2.589,1.152-5.174,0.954c0,0,2.436,3.811,8.344,6.686 + c7.519,3.659,14.597,2.338,17.839-1.971c1.944-2.584,1.858-11.327-8.816-17.344c-8.908-5.023-17.183-2.128-19.095,1.284 + C101.284,153.086,101.855,156.398,102.192,157.426"/> +<path id="Stroke-233" class="st1" d="M102.192,157.426c0.095,0.291,3.478,0.174,4.706-0.983c0,0-0.708-0.824,0.471-2.885 + c1.118-1.952,6.746-3.671,12.744,0.075c6.92,4.324,6.473,9.367,5.648,10.441c-2.076,2.7-7.041,2.857-11.293,0.817 + c-4.162-1.999-4.289-3.307-5.011-3.683c0,0-2.589,1.152-5.174,0.954c0,0,2.436,3.811,8.344,6.686 + c7.519,3.659,14.597,2.338,17.839-1.971c1.944-2.584,1.858-11.327-8.816-17.344c-8.908-5.023-17.183-2.128-19.095,1.284 + C101.284,153.086,101.855,156.398,102.192,157.426z"/> +<path id="Fill-235" class="st26" d="M91.461,151.552c-0.297,0.077-1.998-3.072-1.998-4.53c0,0,1.541-0.271,2.45-1.915 + c1.091-1.971-0.559-7.661-6.954-10.678c-7.381-3.483-11.382-0.379-11.838,0.894c-1.148,3.205,1.405,7.47,5.422,9.94 + c3.932,2.421,5.263,1.825,5.97,2.229c0,0,1.147,3.885,1.834,4.864c0,0-4.525,0.009-10.136-3.403 + c-7.146-4.347-9.862-11.013-7.991-16.072c1.12-3.031,8.522-7.687,19.356-1.965c9.042,4.778,11.082,13.303,9.247,16.756 + C95.602,149.97,92.508,151.278,91.461,151.552"/> +<path id="Stroke-237" class="st1" d="M91.461,151.552c-0.297,0.077-1.998-3.072-1.998-4.53c0,0,1.541-0.271,2.45-1.915 + c1.091-1.971-0.559-7.661-6.954-10.678c-7.381-3.483-11.382-0.379-11.838,0.894c-1.148,3.205,1.405,7.47,5.422,9.94 + c3.932,2.421,5.263,1.825,5.97,2.229c0,0,1.147,3.885,1.834,4.864c0,0-4.525,0.009-10.136-3.403 + c-7.146-4.347-9.862-11.013-7.991-16.072c1.12-3.031,8.522-7.687,19.356-1.965c9.042,4.778,11.082,13.303,9.247,16.756 + C95.602,149.97,92.508,151.278,91.461,151.552z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_15_" filterUnits="userSpaceOnUse" x="84.384" y="138.214" width="30.06" height="23.887"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="84.384" y="138.214" width="30.06" height="23.887" id="mask-72_2_"> + <g id="g432_1_" class="st39"> + <path id="path-71_2_" class="st3" d="M84.833,142.909c-1.147,3.591-0.762,11.008,9.283,16.518 + c5.968,3.273,10.49,2.731,12.598,2.472c3.46-0.421,7.271-3.549,7.67-6.998c0.19-1.628-0.118-3.402-0.355-3.416 + c-2.768-0.172-4.349,0.382-4.99,0.71c0,0,0.817,3.431-3.449,4.954c-1.379,0.491-5.156,0.799-9.402-1.52 + c-4.12-2.248-5.146-4.291-6.079-6.301c-2.271-4.886,2.096-6.032,2.001-6.67c-0.114-0.763-1.271-3.822-2.17-4.437 + c-0.007-0.005-0.018-0.007-0.032-0.007C89.47,138.214,85.624,140.43,84.833,142.909"/> + </g> +</mask> +<linearGradient id="Fill-240_1_" gradientUnits="userSpaceOnUse" x1="-653.1442" y1="50.5041" x2="-652.8857" y2="51.6116" gradientTransform="matrix(30.0596 0 0 23.8866 19728.6934 -1069.7941)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-240" class="st40" d="M84.833,142.909c-1.147,3.591-0.762,11.008,9.283,16.518c5.968,3.273,10.49,2.731,12.598,2.472 + c3.46-0.421,7.271-3.549,7.67-6.998c0.19-1.628-0.118-3.402-0.355-3.416c-2.768-0.172-4.349,0.382-4.99,0.71 + c0,0,0.817,3.431-3.449,4.954c-1.379,0.491-5.156,0.799-9.402-1.52c-4.12-2.248-5.146-4.291-6.079-6.301 + c-2.271-4.886,2.096-6.032,2.001-6.67c-0.114-0.763-1.271-3.822-2.17-4.437c-0.007-0.005-0.018-0.007-0.032-0.007 + C89.47,138.214,85.624,140.43,84.833,142.909"/> +<path id="Stroke-243" class="st1" d="M89.94,138.22c0.899,0.616,2.057,3.675,2.17,4.437c0.096,0.638-4.272,1.785-2.001,6.671 + c0.934,2.01,1.96,4.053,6.08,6.301c4.245,2.319,8.022,2.011,9.401,1.52c4.266-1.524,3.45-4.954,3.45-4.954 + c0.64-0.328,2.222-0.882,4.99-0.71c0.236,0.014,0.545,1.788,0.355,3.416c-0.4,3.449-4.211,6.576-7.671,6.998 + c-2.108,0.258-6.629,0.8-12.598-2.472c-10.045-5.51-10.429-12.928-9.282-16.519C85.65,140.35,89.721,138.071,89.94,138.22z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_16_" filterUnits="userSpaceOnUse" x="95.178" y="137.712" width="16.631" height="9.969"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="95.178" y="137.712" width="16.631" height="9.969" id="mask-75_2_"> + <g id="g448_1_" class="st41"> + <path id="path-74_2_" class="st3" d="M95.178,137.743l1.209,2.298l0.771,2.364c-0.092-0.553,6.336,0.906,9.665,5.276 + c1.002-0.237,1.005-0.224,2.242-0.599c1.248-0.381,2.744-0.25,2.744-0.25c-1.622-3.244-9.563-9.12-15.859-9.12 + C95.689,137.712,95.432,137.722,95.178,137.743"/> + </g> +</mask> +<linearGradient id="Fill-245_1_" gradientUnits="userSpaceOnUse" x1="-635.368" y1="121.2224" x2="-634.3674" y2="122.1335" gradientTransform="matrix(16.631 0 0 9.969 10661.7461 -1070.29)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-245" class="st42" d="M95.178,137.743l1.209,2.298l0.771,2.364c-0.092-0.553,6.336,0.906,9.665,5.276 + c1.002-0.237,1.005-0.224,2.242-0.599c1.248-0.381,2.744-0.25,2.744-0.25c-1.622-3.244-9.563-9.12-15.859-9.12 + C95.689,137.712,95.432,137.722,95.178,137.743"/> +<path id="Stroke-248" class="st1" d="M97.157,142.405l-0.771-2.363l-1.208-2.299c6.4-0.522,14.942,5.711,16.63,9.089 + c0,0-1.496-0.13-2.744,0.25c-1.236,0.376-1.239,0.362-2.242,0.599C103.494,143.311,97.065,141.852,97.157,142.405z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_17_" filterUnits="userSpaceOnUse" x="33.77" y="110.14" width="30.059" height="23.888"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="33.77" y="110.14" width="30.059" height="23.888" id="mask-78_2_"> + <g id="g466_1_" class="st43"> + <path id="path-77_2_" class="st3" d="M34.219,114.836c-1.146,3.591-0.762,11.01,9.283,16.519 + c5.969,3.273,10.491,2.729,12.598,2.473c3.462-0.425,7.272-3.55,7.671-6.999c0.188-1.63-0.117-3.402-0.355-3.416 + c-2.77-0.172-4.349,0.381-4.991,0.711c0,0,0.817,3.429-3.449,4.952c-1.378,0.491-5.156,0.799-9.402-1.518 + c-4.119-2.249-5.145-4.293-6.079-6.302c-2.269-4.888,2.098-6.033,2.001-6.669c-0.114-0.764-1.27-3.824-2.17-4.44 + c-0.006-0.005-0.017-0.007-0.031-0.007C38.858,110.14,35.01,112.357,34.219,114.836"/> + </g> +</mask> +<linearGradient id="Fill-255_1_" gradientUnits="userSpaceOnUse" x1="-653.1441" y1="50.5011" x2="-652.8855" y2="51.6085" gradientTransform="matrix(30.0595 0 0 23.888 19678.0117 -1097.8618)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-255" class="st44" d="M34.219,114.836c-1.146,3.591-0.762,11.01,9.283,16.519c5.969,3.273,10.491,2.729,12.598,2.473 + c3.462-0.425,7.272-3.55,7.671-6.999c0.188-1.63-0.117-3.402-0.355-3.416c-2.77-0.172-4.349,0.381-4.991,0.711 + c0,0,0.817,3.429-3.449,4.952c-1.378,0.491-5.156,0.799-9.402-1.518c-4.119-2.249-5.145-4.293-6.079-6.302 + c-2.269-4.888,2.098-6.033,2.001-6.669c-0.114-0.764-1.27-3.824-2.17-4.44c-0.006-0.005-0.017-0.007-0.031-0.007 + C38.858,110.14,35.01,112.357,34.219,114.836"/> +<path id="Stroke-258" class="st1" d="M39.326,110.147c0.9,0.616,2.056,3.677,2.17,4.439c0.097,0.637-4.271,1.782-2.002,6.67 + c0.935,2.009,1.961,4.053,6.08,6.302c4.246,2.317,8.023,2.009,9.402,1.518c4.265-1.523,3.449-4.952,3.449-4.952 + c0.641-0.33,2.221-0.883,4.991-0.711c0.238,0.014,0.543,1.787,0.355,3.417c-0.4,3.448-4.21,6.573-7.672,6.998 + c-2.107,0.256-6.628,0.799-12.597-2.474c-10.045-5.508-10.429-12.927-9.283-16.519C35.035,112.277,39.107,109.999,39.326,110.147z" + /> +<defs> + <filter id="Adobe_OpacityMaskFilter_18_" filterUnits="userSpaceOnUse" x="44.564" y="109.64" width="16.631" height="9.968"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="44.564" y="109.64" width="16.631" height="9.968" id="mask-81_2_"> + <g id="g482_1_" class="st45"> + <path id="path-80_2_" class="st3" d="M44.564,109.671l1.21,2.298l0.77,2.364c-0.091-0.552,6.337,0.906,9.665,5.275 + c1.004-0.236,1.006-0.223,2.241-0.598c1.249-0.38,2.745-0.252,2.745-0.252c-1.622-3.243-9.562-9.118-15.859-9.118 + C45.076,109.64,44.818,109.65,44.564,109.671"/> + </g> +</mask> +<linearGradient id="Fill-260_1_" gradientUnits="userSpaceOnUse" x1="-635.3679" y1="121.2346" x2="-634.3674" y2="122.1457" gradientTransform="matrix(16.631 0 0 9.968 10611.1318 -1098.3618)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#A7A9AC"/> +</linearGradient> +<path id="Fill-260" class="st46" d="M44.564,109.671l1.21,2.298l0.77,2.364c-0.091-0.552,6.337,0.906,9.665,5.275 + c1.004-0.236,1.006-0.223,2.241-0.598c1.249-0.38,2.745-0.252,2.745-0.252c-1.622-3.243-9.562-9.118-15.859-9.118 + C45.076,109.64,44.818,109.65,44.564,109.671"/> +<path id="Stroke-263" class="st1" d="M46.544,114.333l-0.771-2.363l-1.208-2.299c6.4-0.521,14.941,5.711,16.63,9.088 + c0,0-1.497-0.128-2.745,0.252c-1.235,0.374-1.237,0.361-2.241,0.597C52.881,115.239,46.452,113.781,46.544,114.333z"/> +<path id="Fill-265" class="st26" d="M40.757,123.874c-0.297,0.078-1.997-3.072-1.997-4.529c0,0,1.539-0.273,2.449-1.917 + c1.09-1.97-0.56-7.659-6.954-10.678c-7.38-3.481-11.382-0.378-11.837,0.895c-1.148,3.206,1.404,7.469,5.42,9.94 + c3.932,2.42,5.264,1.826,5.971,2.23c0,0,1.147,3.885,1.834,4.862c0,0-4.526,0.012-10.136-3.402 + c-7.146-4.346-9.862-11.014-7.991-16.071c1.121-3.032,8.523-7.687,19.356-1.965c9.042,4.777,11.083,13.301,9.247,16.755 + C44.899,122.292,41.804,123.601,40.757,123.874"/> +<path id="Stroke-267" class="st1" d="M40.757,123.874c-0.297,0.078-1.997-3.072-1.997-4.529c0,0,1.539-0.273,2.449-1.917 + c1.09-1.97-0.56-7.659-6.954-10.678c-7.38-3.481-11.382-0.378-11.837,0.895c-1.148,3.206,1.404,7.469,5.42,9.94 + c3.932,2.42,5.264,1.826,5.971,2.23c0,0,1.147,3.885,1.834,4.862c0,0-4.526,0.012-10.136-3.402 + c-7.146-4.346-9.862-11.014-7.991-16.071c1.121-3.032,8.523-7.687,19.356-1.965c9.042,4.777,11.083,13.301,9.247,16.755 + C44.899,122.292,41.804,123.601,40.757,123.874z"/> +<path id="Fill-269" class="st26" d="M24.353,114.919c-0.296,0.078-1.996-3.072-1.997-4.529c0,0,1.541-0.272,2.451-1.916 + c1.089-1.969-0.56-7.66-6.955-10.678c-7.381-3.482-11.381-0.379-11.837,0.894c-1.149,3.206,1.405,7.469,5.42,9.942 + c3.932,2.419,5.263,1.825,5.97,2.228c0,0,1.147,3.885,1.835,4.864c0,0-4.525,0.01-10.136-3.403 + c-7.147-4.345-9.862-11.014-7.992-16.072c1.121-3.031,8.523-7.687,19.357-1.965c9.041,4.778,11.083,13.301,9.248,16.756 + C28.495,113.339,25.4,114.646,24.353,114.919"/> +<path id="Stroke-271" class="st1" d="M24.353,114.919c-0.296,0.078-1.996-3.072-1.997-4.529c0,0,1.541-0.272,2.451-1.916 + c1.089-1.969-0.56-7.66-6.955-10.678c-7.381-3.482-11.381-0.379-11.837,0.894c-1.149,3.206,1.405,7.469,5.42,9.942 + c3.932,2.419,5.263,1.825,5.97,2.228c0,0,1.147,3.885,1.835,4.864c0,0-4.525,0.01-10.136-3.403 + c-7.147-4.345-9.862-11.014-7.992-16.072c1.121-3.031,8.523-7.687,19.357-1.965c9.041,4.778,11.083,13.301,9.248,16.756 + C28.495,113.339,25.4,114.646,24.353,114.919z"/> +<path id="Stroke-273" inkscape:connector-curvature="0" class="st47" d="M46.478,168.211c-0.564-0.337-1.754-0.741-1.77-2.095 + c-0.013-1.353,0-22.298,0.11-24.003c0.039-0.627-0.065-1.722,0.322-1.936c0.599-0.331,0.824-0.393,1.637-0.853 + c1.283-0.726,3.986-2.13,3.986-2.13s-0.039-14.607,0.117-15.887c0.157-1.278,0.746-3.267,2.082-4.448 + c1.334-1.18,1.864-1.218,3.801-2.258c1.891-1.017,5.605-3.396,7.221-3.61c1.463-0.196,3.963,0.135,5.43,1.075 + c1.281,0.818,4.56,2.716,6.66,5.839c1.502,2.236,4.304,7.278,5.021,11.016c0.238,1.242,0.36,4.356,0.41,6.302 + c0.018,0.688-0.131,8.434-0.131,8.434s4.54,2.751,4.877,2.977c0.338,0.225,1.471,0.718,1.436,2.297 + c-0.023,1.022-0.019,23.71,0,24.176c0.035,0.861-0.071,1.579-1.615,2.258c-0.979,0.434-14.098,7.462-14.098,7.462 + s-0.467,0.574-1.685-0.217C68.697,181.582,46.478,168.211,46.478,168.211L46.478,168.211z"/> +<path id="Stroke-275" class="st48" d="M69.176,136.412c-0.574-0.108-6.063-3.732-6.063-3.732l-0.037-9.651 + c0,0,3.697,3.733,4.808,6.422c0.682,1.649,1.262,6.073,1.148,6.639C69.025,136.125,69.223,136.421,69.176,136.412z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_19_" filterUnits="userSpaceOnUse" x="45.575" y="132.172" width="16.142" height="8.37"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="45.575" y="132.172" width="16.142" height="8.37" id="mask-84_2_"> + <g id="g504_1_" class="st49"> + <path id="path-83_2_" class="st3" d="M61.106,132.225l-15.531,8.241c0.162-0.085,0.377-0.067,0.612,0.074l15.529-8.244 + c-0.139-0.084-0.272-0.123-0.391-0.123C61.245,132.173,61.171,132.191,61.106,132.225"/> + </g> +</mask> +<path id="Fill-278" class="st50" d="M61.284,132.172l-0.053,0.01c-0.022,0.003-0.042,0.009-0.064,0.018l-15.529,8.24 + c0.02-0.009,0.042-0.012,0.064-0.018c0.018-0.003,0.035-0.006,0.053-0.006L61.284,132.172z M45.638,140.439l15.529-8.242 + c-0.02,0.006-0.041,0.015-0.061,0.027l-15.531,8.242C45.596,140.455,45.617,140.444,45.638,140.439z M61.284,132.174l-15.529,8.244 + c0.014-0.003,0.03-0.004,0.047-0.004c0.014,0,0.029,0.004,0.043,0.004c0.012,0.003,0.027,0.003,0.039,0.006l0.002-0.002 + c0.012,0.003,0.024,0.003,0.037,0.006c0.012,0.003,0.025,0.006,0.037,0.012c0.012,0.003,0.022,0.007,0.035,0.01 + c0.012,0.006,0.024,0.01,0.037,0.016l0.002-0.002c0.011,0.003,0.022,0.01,0.033,0.016c0.012,0.003,0.022,0.008,0.035,0.014 + l0.035,0.02h0.002c0.011,0.006,0.022,0.014,0.033,0.02c0.005,0.003,0.01,0.005,0.014,0.008l15.531-8.242 + c-0.005-0.003-0.01-0.005-0.014-0.008c-0.011-0.008-0.023-0.014-0.035-0.02l-0.035-0.018l-0.035-0.018 + c-0.011-0.006-0.023-0.01-0.035-0.016v0.002h-0.002c-0.012-0.003-0.024-0.011-0.035-0.014c-0.013-0.003-0.025-0.009-0.037-0.012 + c-0.011-0.003-0.025-0.005-0.037-0.008s-0.025-0.007-0.039-0.01l-0.004,0.002c-0.01-0.001-0.022-0.004-0.033-0.004 + c-0.015-0.003-0.029-0.002-0.045-0.002H61.284z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_20_" filterUnits="userSpaceOnUse" x="71.543" y="173.771" width="15.814" height="8.848"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="71.543" y="173.771" width="15.814" height="8.848" id="mask-114_2_"> + <g id="g654_1_" class="st51"> + <path id="path-113_2_" class="st3" d="M71.825,182.012c0,0.305-0.107,0.516-0.28,0.606l15.53-8.241 + c0.172-0.091,0.282-0.301,0.282-0.606L71.825,182.012z"/> + </g> +</mask> +<path id="Fill-324" class="st52" d="M87.356,173.771l-15.531,8.24v0.023l15.531-8.244V173.771z M71.825,182.035 + c-0.001,0.015-0.001,0.029-0.002,0.041c0,0.015-0.002,0.03-0.004,0.045c0,0.015-0.003,0.028-0.004,0.043 + c-0.002,0.015-0.004,0.03-0.008,0.045c-0.002,0.015-0.006,0.026-0.008,0.041c-0.004,0.018-0.008,0.032-0.012,0.047l-0.018,0.049 + h0.002c-0.007,0.017-0.015,0.034-0.021,0.049l-0.002,0.002c-0.012,0.023-0.023,0.044-0.035,0.064 + c-0.043,0.07-0.102,0.122-0.17,0.158l15.531-8.24c0.067-0.035,0.125-0.092,0.17-0.162c0.012-0.017,0.024-0.039,0.035-0.063 + c0.007-0.018,0.014-0.036,0.02-0.053c0.006-0.014,0.012-0.031,0.018-0.045v-0.002c0.004-0.015,0.01-0.031,0.012-0.045 + c0.004-0.015,0.006-0.03,0.01-0.045c0.002-0.015,0.007-0.028,0.008-0.043s0.004-0.027,0.004-0.041 + c0.001-0.015,0.002-0.031,0.002-0.045c0.002-0.015,0.002-0.028,0.004-0.043L71.825,182.035z"/> +<polygon id="Fill-358" class="st53" points="61.717,132.296 86.439,147.149 70.91,155.394 46.187,140.54 "/> +<polygon id="Fill-360" class="st54" points="87.337,148.769 87.357,173.771 71.826,182.012 71.807,157.01 "/> +<defs> + <filter id="Adobe_OpacityMaskFilter_21_" filterUnits="userSpaceOnUse" x="70.909" y="147.148" width="16.429" height="9.865"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="70.909" y="147.148" width="16.429" height="9.865" id="mask-136_2_"> + <g id="g766_1_" class="st55"> + <path id="path-135_2_" class="st3" d="M70.909,155.394c0.491,0.292,0.897,1.027,0.897,1.616l15.531-8.241 + c0-0.592-0.407-1.324-0.898-1.62"/> + </g> +</mask> +<path id="Fill-363" class="st56" d="M86.438,147.148l-15.529,8.244c0.008,0.003,0.016,0.009,0.023,0.012 + c0.012,0.009,0.024,0.019,0.037,0.027c0.013,0.006,0.023,0.013,0.035,0.021l15.531-8.24c-0.011-0.009-0.023-0.016-0.037-0.025 + c-0.013-0.009-0.025-0.014-0.037-0.023C86.455,147.158,86.448,147.154,86.438,147.148z M86.536,147.215l-15.531,8.24 + c0.014,0.012,0.027,0.021,0.039,0.029c0.012,0.012,0.025,0.02,0.037,0.031c0.014,0.012,0.027,0.024,0.039,0.033 + c0.014,0.015,0.025,0.025,0.041,0.037l15.529-8.24c-0.013-0.015-0.025-0.027-0.041-0.039c-0.011-0.012-0.024-0.022-0.037-0.031 + c-0.011-0.012-0.027-0.024-0.039-0.033C86.562,147.233,86.549,147.224,86.536,147.215z M86.69,147.346l-15.529,8.242 + c0.012,0.012,0.024,0.021,0.037,0.037c0.012,0.012,0.023,0.025,0.037,0.037c0.011,0.012,0.022,0.027,0.035,0.039 + c0.01,0.015,0.021,0.026,0.033,0.041c0.011,0.012,0.021,0.025,0.033,0.037c0.01,0.015,0.019,0.026,0.029,0.041 + c0.012,0.015,0.023,0.032,0.035,0.047s0.023,0.033,0.035,0.051c0.053,0.079,0.102,0.163,0.146,0.252 + c0.01,0.018,0.018,0.034,0.025,0.053c0.01,0.018,0.018,0.031,0.023,0.049c0.006,0.015,0.012,0.026,0.018,0.041 + c0.007,0.015,0.012,0.029,0.018,0.041c0.006,0.015,0.013,0.03,0.018,0.045c0.006,0.012,0.01,0.026,0.016,0.041 + c0.004,0.015,0.008,0.028,0.014,0.043c0.005,0.015,0.01,0.03,0.016,0.045c0.004,0.018,0.009,0.032,0.014,0.047h-0.002 + c0.005,0.018,0.01,0.032,0.014,0.047c0.004,0.018,0.008,0.033,0.012,0.051c0.004,0.014,0.006,0.03,0.01,0.045v0.002 + c0.003,0.015,0.007,0.031,0.008,0.045c0.004,0.018,0.006,0.032,0.008,0.047s0.004,0.032,0.006,0.047s0.003,0.03,0.004,0.045 + c0.002,0.015,0.004,0.028,0.004,0.043s0.002,0.03,0.002,0.045v0.021l15.529-8.242v-0.021c0-0.015-0.002-0.029-0.002-0.043 + c0-0.015-0.001-0.031-0.002-0.045c-0.002-0.015-0.005-0.03-0.006-0.047c-0.001-0.015-0.005-0.029-0.006-0.043 + c-0.001-0.015-0.004-0.033-0.006-0.047c-0.004-0.015-0.006-0.033-0.01-0.047c-0.002-0.018-0.006-0.032-0.008-0.049 + c-0.005-0.015-0.01-0.03-0.012-0.047c-0.005-0.015-0.01-0.035-0.014-0.049c-0.004-0.015-0.009-0.033-0.014-0.047 + c-0.006-0.015-0.01-0.029-0.014-0.043c-0.006-0.015-0.011-0.031-0.016-0.045c-0.006-0.015-0.01-0.028-0.016-0.043 + c-0.004-0.012-0.01-0.027-0.016-0.041c-0.006-0.015-0.012-0.027-0.018-0.041c-0.006-0.015-0.012-0.029-0.018-0.041 + c-0.008-0.017-0.016-0.035-0.023-0.049v-0.002c-0.01-0.017-0.017-0.034-0.027-0.051c-0.043-0.088-0.093-0.173-0.146-0.252 + c-0.011-0.018-0.023-0.037-0.035-0.051c-0.011-0.018-0.021-0.033-0.033-0.047c-0.01-0.015-0.02-0.027-0.031-0.041 + c-0.012-0.015-0.021-0.026-0.031-0.041c-0.011-0.012-0.022-0.023-0.033-0.037c-0.011-0.012-0.023-0.027-0.035-0.039h-0.002 + c-0.012-0.015-0.023-0.025-0.035-0.037C86.716,147.37,86.702,147.358,86.69,147.346z"/> +<path id="Fill-471" inkscape:connector-curvature="0" class="st57" d="M45.087,141.876c-0.105-0.926,0.059-2.32,1.232-1.485 + c1.071,0.756,22.252,13.532,23.014,13.907c2.457,1.213,2.699,2.32,2.57,3.533c-0.126,1.21-0.023,22.872-0.043,23.78 + c-0.011,0.774,0.157,1.62-1.255,0.888c-0.686-0.357-24.141-14.502-24.726-14.88c-0.581-0.384-0.733-1.134-0.696-2.191 + C45.235,163.937,45.194,142.799,45.087,141.876"/> +<path id="Stroke-473" inkscape:connector-curvature="0" class="st58" d="M45.087,141.876c-0.105-0.926,0.059-2.32,1.232-1.485 + c1.071,0.756,22.252,13.532,23.014,13.907c2.457,1.213,2.699,2.32,2.57,3.533c-0.126,1.21-0.023,22.872-0.043,23.78 + c-0.011,0.774,0.157,1.62-1.255,0.888c-0.686-0.357-24.141-14.502-24.726-14.88c-0.581-0.384-0.733-1.134-0.696-2.191 + C45.235,163.937,45.194,142.799,45.087,141.876z"/> +<path id="Fill-475" inkscape:connector-curvature="0" class="st24" d="M60.605,170.633c0,1.245-0.873,1.737-1.94,1.099l-0.861-0.519 + c-1.066-0.642-1.94-2.183-1.94-3.431v-15.257c0-1.246,0.874-1.741,1.94-1.099l0.861,0.516c1.067,0.641,1.94,2.185,1.94,3.43V170.633 + z"/> +<polygon id="Fill-479" class="st59" points="62.097,132.305 85.597,146.555 70.44,154.479 46.534,140.162 "/> +<path id="path1200" inkscape:connector-curvature="0" sodipodi:nodetypes="csccscccc" class="st60" d="M55.066,127.888 + c0-1.521,0.016-2.906,0.358-3.904c0.342-0.997,0.923-1.978,1.732-2.43l7.766-4.123c-0.767,0.409-1.501,1.516-1.784,2.565 + c-0.268,0.994-0.325,2.26-0.306,3.769l0.01,14.007l-7.766,4.121L55.066,127.888z"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_22_" filterUnits="userSpaceOnUse" x="55.071" y="129.671" width="7.771" height="12.22"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="55.071" y="129.671" width="7.771" height="12.22" id="mask-246_2_"> + <g id="g1323_1_" class="st61"> + <path id="path-245_2_" class="st3" d="M55.072,133.793c0,0.556,0.005,7.722,0.005,8.097l7.766-4.119 + c-0.002-0.377-0.006-7.544-0.006-8.1"/> + </g> +</mask> +<path id="Fill-545" inkscape:connector-curvature="0" class="st62" d="M55.071,133.793l7.766-4.122c0,0.557,0.005,7.723,0.005,8.101 + l-7.765,4.119C55.077,141.516,55.071,134.35,55.071,133.793"/> +<defs> + <filter id="Adobe_OpacityMaskFilter_23_" filterUnits="userSpaceOnUse" x="73.307" y="133.063" width="7.845" height="19.74"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="73.307" y="133.063" width="7.845" height="19.74" id="mask-526_2_"> + <g id="g2724_1_" class="st63"> + <path id="path-525_2_" class="st3" d="M73.236,134.915c0.147,1.259,0.15,17.209,0.15,17.888l7.765-4.122 + c0-0.679-0.004-16.629-0.152-17.888"/> + </g> +</mask> +<path id="Fill-981" inkscape:connector-curvature="0" class="st64" d="M73.307,137.182l7.765-4.119 + c0.076,4.743,0.08,15.073,0.08,15.618l-7.766,4.122C73.386,152.258,73.384,141.928,73.307,137.182"/> +<path id="Fill-985" class="st65" d="M69.429,150.369l3.883,2.332c0-0.978-0.012-16.6-0.152-17.818 + c-0.157-1.31-0.872-4.087-1.769-6.331c-0.843-2.098-2.274-4.509-4.254-7.146c-1.415-1.875-3.644-3.58-5.251-4.547 + c-0.451-0.272-0.878-0.504-1.275-0.688c-2.31-1.075-4.573-0.686-5.543-0.279c-3.02,1.248-3.471,4.064-3.682,5.417 + c-0.046,0.317-0.082,0.563-0.139,0.698c-0.276,0.679-0.134,16.467-0.134,17.458l3.89,2.338c0-0.636-0.013-7.527-0.013-8.06 + c0-0.123,0-0.425-0.002-0.838c-0.01-1.564-0.032-4.482-0.004-5.223c0.009-0.153,0.009-0.329,0.018-0.537 + c0.018-1.081,0.044-2.88,0.562-3.794c0.054-0.099,0.111-0.202,0.165-0.301c0.405-0.747,0.858-1.6,2.345-1.899 + c0.953-0.196,2.125-0.205,4.212,0.993c0.047,0.027,0.093,0.056,0.139,0.082c1.983,1.193,3.467,3.258,4.66,5.119 + c1.879,2.944,2.25,6.53,2.287,6.931C69.439,135.029,69.429,149.267,69.429,150.369 M73.236,134.915 + c0.147,1.26,0.15,17.209,0.15,17.889l-4.039-2.382c0-0.202,0.017-15.416-0.059-16.184c-0.036-0.401-0.399-3.937-2.25-6.844 + c-1.183-1.845-2.654-3.887-4.612-5.065l-0.14-0.082c-2.069-1.19-3.223-1.181-4.166-0.99c-1.477,0.281-1.921,1.128-2.316,1.872 + c-0.057,0.111-0.111,0.211-0.168,0.31c-0.516,0.894-0.541,2.681-0.561,3.75c0.002,0.214,0.002,0.402-0.007,0.542 + c-0.028,0.742-0.007,3.771,0.004,5.224v0.838c0,0.556,0.005,7.722,0.005,8.097l-4.039-2.37c-0.009-0.741-0.15-16.883,0.137-17.592 + c0.045-0.138,0.082-0.372,0.137-0.674c0.211-1.365,0.662-4.201,3.709-5.467c0.978-0.401,3.252-0.797,5.582,0.29 + c0.396,0.185,0.832,0.41,1.283,0.683c1.617,0.972,3.863,2.689,5.287,4.59c1.998,2.649,3.44,5.075,4.293,7.202 + C72.364,130.793,73.085,133.599,73.236,134.915"/> +<path id="Fill-989" inkscape:connector-curvature="0" class="st66" d="M51.083,139.494l3.896,2.314c0,0,0.227-16.602,0.235-16.854 + c0.051-1.342,0.806-3.278,2.941-3.847c1.369-0.366,2.166-0.047,3.489,0.709c1.742,0.996,2.843,2.028,4.537,4.301 + c1.653,2.224,2.157,3.53,2.693,5.625c0.52,2.03,0.428,4.808,0.428,4.808l0.113,13.863l3.961,2.317l-0.058-17.877 + c0,0-0.354-1.986-1.372-5.097c-1.019-3.112-1.681-4.407-3.777-7.178c-2.093-2.771-4.664-5.042-6.9-6.167 + c-1.092-0.548-3.313-1.825-5.489-1.02c-2.138,0.794-3.021,1.7-3.902,3.566c-0.904,1.91-0.623,3.621-0.737,4.638 + c-0.113,1.019-0.058,2.434-0.058,2.434V139.494z"/> +<path id="Stroke-991" class="st67" d="M51.083,139.494l3.896,2.314c0,0,0.227-16.602,0.235-16.854 + c0.051-1.342,0.806-3.278,2.941-3.847c1.369-0.366,2.166-0.047,3.489,0.709c1.742,0.996,2.843,2.028,4.537,4.301 + c1.653,2.224,2.157,3.53,2.693,5.625c0.52,2.03,0.428,4.808,0.428,4.808l0.113,13.863l3.961,2.317l-0.058-17.877 + c0,0-0.354-1.986-1.372-5.097c-1.019-3.112-1.681-4.407-3.777-7.178c-2.093-2.771-4.664-5.042-6.9-6.167 + c-1.092-0.548-3.313-1.825-5.489-1.02c-2.138,0.794-3.021,1.7-3.902,3.566c-0.904,1.91-0.623,3.621-0.737,4.638 + c-0.113,1.019-0.058,2.434-0.058,2.434V139.494z"/> +<path id="path1217" inkscape:connector-curvature="0" sodipodi:nodetypes="cccccccscc" class="st60" d="M73.316,152.655 + l-0.129-17.537c-0.421-5.647-4.539-12.433-7.504-15.356c-2.622-2.471-6.767-5.747-11.066-3.701l7.636-4.18 + c2.8-1.342,5.821-0.685,9.124,1.874c3.615,2.662,5.743,6.266,7.611,10.034c0.873,2.078,1.965,5.435,2.025,7.234l0.067,17.512 + L73.316,152.655z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/IP_TV.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/IP_TV.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf42779e06dee4cc91b4494b83ae84013dc8e1ac --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/IP_TV.svg @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="IP_TV5.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 82.075 84.463" + style="enable-background:new 0 0 82.075 84.463;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:#C4CACE;} + .st6{fill:none;stroke:#636466;stroke-width:1.3;} + .st7{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:none;stroke:#636466;stroke-width:1.45;} + .st9{fill:none;stroke:#636466;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:#636466;stroke:#636466;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st11{fill:none;stroke:#636466;stroke-width:2;} + .st12{fill:#636466;} + .st13{fill:#F5F6F6;} + .st14{fill:#626366;} + .st15{fill:#787A7D;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview144" inkscape:current-layer="Layer_1" inkscape:cx="36.379572" inkscape:cy="40.486765" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="7.8530447" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-IP-TV</title> +<desc id="desc6">Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="75.644,35.017 80.54,32.417 80.575,80.363 75.677,82.963 "/> +<polygon id="Stroke-3" class="st0" points="24.188,4.1 29.085,1.5 80.54,32.417 75.644,35.017 "/> +<polygon id="Stroke-5" class="st0" points="75.644,35.017 75.677,82.963 24.223,52.045 24.189,4.1 "/> +<polygon id="Fill-8" class="st1" points="75.643,35.017 80.54,32.417 80.574,80.363 75.676,82.963 "/> +<polygon id="Fill-9" class="st2" points="24.188,4.1 29.084,1.5 80.54,32.417 75.643,35.017 "/> +<polygon id="Fill-10" class="st3" points="75.643,35.017 75.676,82.963 24.222,52.045 24.188,4.1 "/> +<polygon id="Fill-11" class="st4" points="70.985,69.122 28.917,43.845 28.917,13.621 70.985,38.898 "/> +<path id="Fill-12" class="st5" d="M53.929,30.612l15.564,9.35l0.087,8.702c0,0-0.277-6.24-4.903-10.151 + C58.77,33.521,53.929,30.612,53.929,30.612"/> +<polygon id="Fill-14" class="st4" points="64.392,70.68 53.863,64.353 53.863,62.802 64.392,69.128 "/> +<path id="Fill-16" class="st4" d="M67.824,72.04c0,0.468-0.38,0.619-0.85,0.338c-0.466-0.281-0.849-0.892-0.849-1.359 + c0-0.469,0.383-0.62,0.849-0.339C67.444,70.961,67.824,71.571,67.824,72.04"/> +<path id="Fill-18" class="st4" d="M70.338,73.55c0,0.468-0.381,0.619-0.85,0.338c-0.467-0.281-0.848-0.891-0.848-1.358 + c0-0.469,0.381-0.621,0.848-0.34C69.957,72.472,70.338,73.081,70.338,73.55"/> +<path id="Stroke-20" class="st6" d="M24.788,53.037L75.671,83.61"/> +<polyline id="Stroke-22" class="st7" points="24.622,4.261 75.624,34.906 75.658,82.557 "/> +<path id="Stroke-24" class="st8" d="M81.178,64.547v12.598"/> +<path id="Stroke-85" inkscape:connector-curvature="0" class="st9" d="M33.043,62.077l-14.169,7.521 + c0.386-0.205,0.625-0.679,0.628-1.366l14.168-7.521C33.67,61.397,33.429,61.873,33.043,62.077z"/> +<polygon id="Stroke-87" class="st9" points="3.156,38.438 17.326,30.917 31.844,39.64 17.674,47.162 "/> +<polygon id="Stroke-89" class="st9" points="19.502,50.572 33.673,43.05 33.684,60.555 19.516,68.076 "/> +<path id="Stroke-129" class="st9" d="M17.5,47.144c1.099,0.658,1.985,2.258,1.987,3.583l0.015,17.505 + c-0.003,1.318-0.888,1.858-1.985,1.198L3,60.707c-1.097-0.659-1.986-2.264-1.988-3.583L1,39.619 + c-0.001-1.323,0.888-1.857,1.984-1.198L17.5,47.144z"/> +<path id="Stroke-163" class="st10" d="M17.5,47.144l14.171-7.522c1.097,0.659,1.982,2.261,1.987,3.585l-14.171,7.52 + C19.485,49.402,18.599,47.802,17.5,47.144z"/> +<path id="Fill-228" inkscape:connector-curvature="0" class="st11" d="M1.796,38.269c4.725-2.507,9.447-5.015,14.17-7.521 + c0.354-0.189,0.833-0.146,1.359,0.169L3.156,38.438C2.629,38.123,2.152,38.082,1.796,38.269"/> +<polygon id="Fill-256" class="st3" points="2.749,38.438 16.918,30.917 31.436,39.639 17.265,47.162 "/> +<polygon id="Fill-258" class="st1" points="19.252,50.745 33.423,43.224 33.435,60.728 19.266,68.249 "/> +<path id="Fill-292" class="st12" d="M18.68,67.896l-0.014-17.504c0-0.933-0.625-2.062-1.4-2.527L2.749,39.142 + c-0.773-0.464-1.397-0.086-1.397,0.846l0.013,17.504c0,0.93,0.626,2.059,1.4,2.527l14.517,8.723 + C18.055,69.205,18.68,68.826,18.68,67.896z M17.265,47.161c1.099,0.658,1.985,2.258,1.987,3.583l0.014,17.505 + c-0.002,1.318-0.887,1.857-1.984,1.198L2.765,60.724c-1.097-0.66-1.986-2.265-1.988-3.583L0.765,39.636 + c-0.001-1.323,0.888-1.857,1.984-1.198L17.265,47.161z"/> +<path id="Fill-294" class="st13" d="M17.266,47.866c0.775,0.464,1.4,1.594,1.4,2.527l0.014,17.504c0,0.929-0.625,1.309-1.398,0.846 + L2.765,60.02c-0.774-0.468-1.4-1.597-1.4-2.527L1.352,39.989c0-0.933,0.624-1.311,1.397-0.847L17.266,47.866z"/> +<polygon id="Fill-328" class="st14" points="6.608,59.455 3.881,57.816 3.881,43.936 6.608,45.575 "/> +<path id="Fill-330" class="st14" d="M10.638,53.128l1.268,0.761c1.251,0.752,1.7,0.513,1.7-0.411c0-1.052-0.53-1.751-2.006-2.638 + l-0.962-0.578C10.638,50.262,10.638,53.128,10.638,53.128z M12.787,49.286c2.503,1.503,3.626,4.154,3.626,5.842 + c0,1.741-1.09,3.082-3.609,1.568l-2.166-1.301v6.48l-2.727-1.638v-13.88L12.787,49.286z"/> +<path id="Stroke-163-1" inkscape:connector-curvature="0" class="st2" d="M17.265,47.161l14.171-7.522 + c1.097,0.659,1.982,2.261,1.987,3.585l-14.171,7.52C19.25,49.419,18.364,47.819,17.265,47.161z"/> +<path id="Fill-228-8" inkscape:connector-curvature="0" class="st2" d="M1.389,38.269c4.725-2.507,9.447-5.015,14.17-7.521 + c0.354-0.189,0.833-0.146,1.359,0.169L2.749,38.438C2.222,38.123,1.745,38.082,1.389,38.269"/> +<path id="Stroke-85-0" inkscape:connector-curvature="0" class="st15" d="M32.808,62.094l-14.169,7.521 + c0.386-0.205,0.625-0.679,0.628-1.366l14.168-7.521C33.435,61.414,33.194,61.89,32.808,62.094z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Keypad.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Keypad.svg new file mode 100644 index 0000000000000000000000000000000000000000..54289e25223f59ef9593cd3e8f0eabc89ef4d986 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Keypad.svg @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 43.37 79.605" style="enable-background:new 0 0 43.37 79.605;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#231F20;} + .st7{fill:#626366;} +</style> +<title>icon-keypad</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-329.000000, -206.000000)"> + <g id="icon-keypad" transform="translate(330.000000, 206.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.604000)"> + <polygon id="Stroke-1" class="st0" points="37.188,24.876 40.833,22.941 40.87,75.565 37.225,77.501 "/> + <polygon id="Stroke-3" class="st0" points="0.5,2.831 4.145,0.896 40.833,22.941 37.188,24.876 "/> + <polygon id="Stroke-5" class="st0" points="37.188,24.876 37.225,77.501 0.537,55.456 0.5,2.831 "/> + </g> + <polygon id="Fill-8" class="st1" points="37.188,25.48 40.833,23.545 40.87,76.169 37.225,78.105 "/> + <polygon id="Fill-9" class="st2" points="0.5,3.435 4.145,1.5 40.833,23.545 37.188,25.48 "/> + <polygon id="Fill-10" class="st3" points="37.188,25.48 37.225,78.105 0.537,56.06 0.5,3.435 "/> + <polyline id="Stroke-11" class="st4" points="0.766,3.583 37.37,25.577 37.37,77.816 "/> + <polygon id="Fill-12" class="st5" points="20.591,56.813 13.75,52.687 13.737,45.573 20.575,49.705 "/> + <polygon id="Fill-13" class="st6" points="14.883,45.015 21.726,49.143 20.593,49.696 13.751,45.568 "/> + <polygon id="Fill-14" class="st7" points="20.612,56.803 20.596,49.695 21.725,49.143 21.741,56.251 "/> + <polygon id="Fill-15" class="st5" points="29.832,62.369 22.984,58.245 22.975,51.129 29.812,55.252 "/> + <polygon id="Fill-16" class="st6" points="24.117,50.573 30.962,54.696 29.833,55.25 22.991,51.124 "/> + <polygon id="Fill-17" class="st7" points="29.854,62.356 29.837,55.246 30.962,54.696 30.979,61.807 "/> + <polygon id="Fill-18" class="st5" points="11.475,51.328 4.63,47.204 4.618,40.09 11.462,44.216 "/> + <polygon id="Fill-19" class="st6" points="5.767,39.534 12.609,43.66 11.476,44.213 4.638,40.085 "/> + <polygon id="Fill-20" class="st7" points="11.495,51.317 11.479,44.209 12.608,43.66 12.625,50.764 "/> + <polygon id="Fill-21" class="st5" points="20.597,47.467 13.755,43.348 13.743,36.231 20.583,40.355 "/> + <polygon id="Fill-22" class="st6" points="14.892,35.676 21.734,39.791 20.602,40.344 13.766,36.225 "/> + <polygon id="Fill-23" class="st7" points="20.625,47.454 20.608,40.344 21.733,39.792 21.75,46.904 "/> + <polygon id="Fill-24" class="st5" points="29.841,53.025 22.991,48.896 22.979,41.785 29.82,45.911 "/> + <polygon id="Fill-25" class="st6" points="24.125,41.226 30.968,45.353 29.841,45.902 22.997,41.778 "/> + <polygon id="Fill-26" class="st7" points="29.859,53.015 29.842,45.902 30.967,45.353 30.99,52.464 "/> + <polygon id="Fill-27" class="st5" points="11.479,41.986 4.64,37.86 4.625,30.743 11.467,34.872 "/> + <polygon id="Fill-28" class="st6" points="5.769,30.184 12.616,34.312 11.488,34.861 4.64,30.737 "/> + <polygon id="Fill-29" class="st7" points="11.508,41.97 11.487,34.861 12.615,34.312 12.634,41.42 "/> + <polygon id="Fill-30" class="st5" points="20.582,38.187 13.737,34.061 13.725,26.949 20.563,31.077 "/> + <polygon id="Fill-31" class="st6" points="14.87,26.391 21.713,30.517 20.583,31.069 13.747,26.939 "/> + <polygon id="Fill-32" class="st7" points="20.604,38.175 20.586,31.067 21.712,30.517 21.732,37.626 "/> + <polygon id="Fill-33" class="st5" points="29.813,43.74 22.975,39.619 22.959,32.505 29.802,36.63 "/> + <polygon id="Fill-34" class="st6" points="24.111,31.947 30.953,36.066 29.821,36.62 22.984,32.497 "/> + <polygon id="Fill-35" class="st7" points="29.841,43.728 29.824,36.62 30.953,36.066 30.964,43.178 "/> + <polygon id="Fill-36" class="st5" points="11.462,32.7 4.62,28.578 4.608,21.466 11.445,25.589 "/> + <polygon id="Fill-37" class="st6" points="5.751,20.905 12.6,25.03 11.466,25.583 4.625,21.455 "/> + <polygon id="Fill-38" class="st7" points="11.487,32.687 11.467,25.581 12.599,25.03 12.615,32.138 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Laptop.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Laptop.svg new file mode 100644 index 0000000000000000000000000000000000000000..93469741019ad8065ef8462dbcf109272bfaa20a --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Laptop.svg @@ -0,0 +1,238 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 69.511 70.936" style="enable-background:new 0 0 69.511 70.936;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:none;stroke:#626366;stroke-width:1.184;} + .st7{fill:#C4CACE;} + .st8{fill:none;stroke:#636466;} + .st9{fill:none;stroke:#626366;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:#231F20;} + .st11{fill:#626366;} +</style> +<title>icon-laptop</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-611.000000, -68.000000)"> + <g id="icon-laptop" transform="translate(612.000000, 68.000000)"> + <g id="Group-15" transform="translate(0.000000, 0.935500)"> + <polygon id="Stroke-1" class="st0" points="29.79,64.631 55.303,51.088 55.306,54.957 29.792,68.5 "/> + <polygon id="Stroke-3" class="st0" points="0.5,47.031 26.014,33.49 55.303,51.088 29.79,64.632 "/> + <polygon id="Stroke-5" class="st0" points="29.79,64.631 29.792,68.5 0.503,50.902 0.5,47.031 "/> + <polyline id="Stroke-7" class="st0" points="0.5,47.031 29.79,64.632 29.792,68.5 "/> + <polygon id="Stroke-9" class="st0" points="63.491,19.565 67.011,18.973 58.817,51.477 55.299,52.071 "/> + <polygon id="Stroke-11" class="st0" points="34.34,1.156 37.859,0.564 67.011,18.972 63.491,19.565 "/> + <polygon id="Stroke-13" class="st0" points="63.491,19.565 55.299,52.071 26.146,33.663 34.34,1.157 "/> + </g> + <polygon id="Fill-16" class="st1" points="29.79,65.567 55.303,52.024 55.306,55.893 29.792,69.436 "/> + <polygon id="Fill-17" class="st2" points="0.5,47.967 26.014,34.426 55.303,52.024 29.79,65.567 "/> + <polygon id="Fill-18" class="st3" points="29.79,65.567 29.792,69.436 0.503,51.838 0.5,47.967 "/> + <polyline id="Stroke-19" class="st4" points="0.896,48.205 29.79,65.566 29.792,69.031 "/> + <polygon id="Fill-21" class="st1" points="63.491,20.5 67.011,19.908 58.817,52.412 55.299,53.006 "/> + <polygon id="Fill-22" class="st1" points="34.34,2.092 37.859,1.5 67.011,19.908 63.491,20.5 "/> + <polygon id="Fill-23" class="st3" points="63.491,20.5 55.299,53.006 26.146,34.598 34.34,2.092 "/> + <polygon id="Fill-24" class="st5" points="60.592,21.37 53.487,49.562 28.202,33.595 35.308,5.402 "/> + <polygon id="Stroke-25" class="st6" points="60.592,21.37 53.487,49.562 28.202,33.595 35.308,5.402 "/> + <path id="Fill-26" class="st7" d="M57.864,22.196c-0.92-0.539-18.42-10.778-20.068-9c-1.255,1.315-5.354,12.692-5.57,13.292 + l4.453-17.529L57.864,22.196z"/> + <polygon id="Fill-28" class="st5" points="15.049,53.301 19.314,51.035 25.888,54.987 21.622,57.25 "/> + <polygon id="Stroke-29" class="st8" points="15.049,53.301 19.314,51.035 25.888,54.987 21.622,57.25 "/> + <path id="Stroke-30" class="st9" d="M55.467,53.248L25.731,34.271"/> + <polygon id="Fill-31" class="st10" points="15.342,43.446 16.799,42.673 16.799,42.954 15.342,43.727 "/> + <polygon id="Fill-32" class="st5" points="14.084,42.69 15.543,41.917 16.799,42.672 15.342,43.446 "/> + <polygon id="Fill-33" class="st11" points="15.342,43.446 15.342,43.727 14.084,42.973 14.084,42.69 "/> + <polygon id="Fill-34" class="st10" points="17.201,44.563 18.66,43.79 18.66,44.073 17.201,44.846 "/> + <polygon id="Fill-35" class="st5" points="15.945,43.807 17.402,43.034 18.66,43.789 17.201,44.563 "/> + <polygon id="Fill-36" class="st11" points="17.201,44.563 17.201,44.846 15.945,44.09 15.945,43.807 "/> + <polygon id="Fill-37" class="st10" points="19.154,45.737 20.611,44.964 20.613,45.245 19.154,46.02 "/> + <polygon id="Fill-38" class="st5" points="17.898,44.981 19.355,44.208 20.611,44.963 19.154,45.737 "/> + <polygon id="Fill-39" class="st11" points="19.154,45.737 19.154,46.02 17.898,45.264 17.898,44.981 "/> + <polygon id="Fill-40" class="st10" points="21.021,46.858 22.478,46.085 22.48,46.368 21.021,47.141 "/> + <polygon id="Fill-41" class="st5" points="19.766,46.104 21.223,45.329 22.479,46.084 21.022,46.858 "/> + <polygon id="Fill-42" class="st11" points="21.021,46.858 21.021,47.141 19.765,46.385 19.765,46.104 "/> + <polygon id="Fill-43" class="st10" points="22.949,48.016 24.408,47.243 24.408,47.526 22.949,48.299 "/> + <polygon id="Fill-44" class="st5" points="21.693,47.262 23.15,46.489 24.408,47.242 22.949,48.016 "/> + <polygon id="Fill-45" class="st11" points="22.949,48.016 22.949,48.299 21.693,47.543 21.693,47.262 "/> + <polygon id="Fill-46" class="st10" points="24.816,49.139 26.275,48.366 26.275,48.647 24.816,49.42 "/> + <polygon id="Fill-47" class="st5" points="23.553,48.379 25.012,47.606 26.276,48.365 24.817,49.139 "/> + <polygon id="Fill-48" class="st11" points="24.816,49.139 24.816,49.42 23.552,48.662 23.552,48.379 "/> + <polygon id="Fill-49" class="st10" points="26.77,50.313 28.227,49.538 28.229,49.821 26.77,50.594 "/> + <polygon id="Fill-50" class="st5" points="25.512,49.557 26.971,48.784 28.227,49.537 26.77,50.313 "/> + <polygon id="Fill-51" class="st11" points="26.77,50.313 26.77,50.594 25.514,49.84 25.512,49.557 "/> + <polygon id="Fill-52" class="st10" points="28.631,51.43 30.088,50.657 30.088,50.938 28.631,51.713 "/> + <polygon id="Fill-53" class="st5" points="27.373,50.674 28.83,49.901 30.088,50.656 28.631,51.43 "/> + <polygon id="Fill-54" class="st11" points="28.631,51.43 28.631,51.713 27.373,50.957 27.373,50.674 "/> + <polygon id="Fill-55" class="st10" points="30.461,52.529 31.918,51.757 31.918,52.037 30.461,52.813 "/> + <polygon id="Fill-56" class="st5" points="29.203,51.774 30.662,51.001 31.918,51.756 30.461,52.53 "/> + <polygon id="Fill-57" class="st11" points="30.461,52.529 30.461,52.813 29.203,52.056 29.203,51.773 "/> + <polygon id="Fill-58" class="st10" points="32.32,53.647 33.779,52.874 33.779,53.157 32.32,53.93 "/> + <polygon id="Fill-59" class="st5" points="31.064,52.893 32.521,52.12 33.779,52.873 32.32,53.647 "/> + <polygon id="Fill-60" class="st11" points="32.32,53.647 32.32,53.93 31.064,53.174 31.064,52.893 "/> + <polygon id="Fill-61" class="st10" points="34.273,54.821 35.732,54.048 35.732,54.331 34.273,55.104 "/> + <polygon id="Fill-62" class="st5" points="33.018,54.067 34.475,53.292 35.733,54.047 34.274,54.821 "/> + <polygon id="Fill-63" class="st11" points="34.273,54.821 34.273,55.104 33.017,54.348 33.017,54.067 "/> + <polygon id="Fill-64" class="st10" points="36.141,55.944 37.6,55.169 37.6,55.452 36.141,56.225 "/> + <polygon id="Fill-65" class="st5" points="34.885,55.188 36.342,54.415 37.6,55.168 36.141,55.944 "/> + <polygon id="Fill-66" class="st11" points="36.141,55.944 36.141,56.225 34.885,55.471 34.885,55.188 "/> + <polygon id="Fill-67" class="st10" points="38.068,57.102 39.527,56.329 39.527,56.61 38.068,57.383 "/> + <polygon id="Fill-68" class="st5" points="36.813,56.346 38.27,55.573 39.528,56.328 38.069,57.102 "/> + <polygon id="Fill-69" class="st11" points="38.068,57.102 38.068,57.383 36.812,56.629 36.812,56.346 "/> + <polygon id="Fill-70" class="st10" points="39.893,58.197 41.35,57.424 41.352,57.705 39.893,58.478 "/> + <polygon id="Fill-71" class="st5" points="38.635,57.442 40.094,56.669 41.35,57.424 39.893,58.198 "/> + <polygon id="Fill-72" class="st11" points="39.893,58.197 39.893,58.478 38.637,57.724 38.635,57.441 "/> + <polygon id="Fill-73" class="st10" points="17.342,42.321 18.799,41.548 18.799,41.829 17.342,42.602 "/> + <polygon id="Fill-74" class="st5" points="16.084,41.565 17.543,40.792 18.799,41.547 17.342,42.321 "/> + <polygon id="Fill-75" class="st11" points="17.342,42.321 17.342,42.602 16.084,41.848 16.084,41.565 "/> + <polygon id="Fill-76" class="st10" points="19.201,43.438 20.66,42.665 20.66,42.948 19.201,43.721 "/> + <polygon id="Fill-77" class="st5" points="17.945,42.682 19.402,41.909 20.66,42.664 19.201,43.438 "/> + <polygon id="Fill-78" class="st11" points="19.201,43.438 19.201,43.721 17.945,42.965 17.945,42.682 "/> + <polygon id="Fill-79" class="st10" points="21.154,44.612 22.611,43.839 22.613,44.12 21.154,44.895 "/> + <polygon id="Fill-80" class="st5" points="19.898,43.856 21.355,43.083 22.611,43.838 21.154,44.612 "/> + <polygon id="Fill-81" class="st11" points="21.154,44.612 21.154,44.895 19.898,44.139 19.898,43.856 "/> + <polygon id="Fill-82" class="st10" points="23.021,45.733 24.478,44.96 24.48,45.243 23.021,46.016 "/> + <polygon id="Fill-83" class="st5" points="21.766,44.979 23.223,44.204 24.479,44.959 23.022,45.733 "/> + <polygon id="Fill-84" class="st11" points="23.021,45.733 23.021,46.016 21.765,45.26 21.765,44.979 "/> + <polygon id="Fill-85" class="st10" points="24.949,46.891 26.408,46.118 26.408,46.401 24.949,47.174 "/> + <polygon id="Fill-86" class="st5" points="23.693,46.137 25.15,45.364 26.408,46.117 24.949,46.891 "/> + <polygon id="Fill-87" class="st11" points="24.949,46.891 24.949,47.174 23.693,46.418 23.693,46.137 "/> + <polygon id="Fill-88" class="st10" points="26.816,48.014 28.275,47.241 28.275,47.522 26.816,48.295 "/> + <polygon id="Fill-89" class="st5" points="25.553,47.254 27.012,46.481 28.276,47.24 26.817,48.014 "/> + <polygon id="Fill-90" class="st11" points="26.816,48.014 26.816,48.295 25.552,47.537 25.552,47.254 "/> + <polygon id="Fill-91" class="st10" points="28.77,49.188 30.227,48.413 30.229,48.696 28.77,49.469 "/> + <polygon id="Fill-92" class="st5" points="27.512,48.432 28.971,47.659 30.227,48.412 28.77,49.188 "/> + <polygon id="Fill-93" class="st11" points="28.77,49.188 28.77,49.469 27.514,48.715 27.512,48.432 "/> + <polygon id="Fill-94" class="st10" points="30.631,50.305 32.088,49.532 32.088,49.813 30.631,50.588 "/> + <polygon id="Fill-95" class="st5" points="29.373,49.549 30.83,48.776 32.088,49.531 30.631,50.305 "/> + <polygon id="Fill-96" class="st11" points="30.631,50.305 30.631,50.588 29.373,49.832 29.373,49.549 "/> + <polygon id="Fill-97" class="st10" points="32.461,51.404 33.918,50.632 33.918,50.912 32.461,51.688 "/> + <polygon id="Fill-98" class="st5" points="31.203,50.649 32.662,49.876 33.918,50.631 32.461,51.405 "/> + <polygon id="Fill-99" class="st11" points="32.461,51.404 32.461,51.688 31.203,50.931 31.203,50.648 "/> + <polygon id="Fill-100" class="st10" points="34.32,52.522 35.779,51.749 35.779,52.032 34.32,52.805 "/> + <polygon id="Fill-101" class="st5" points="33.064,51.768 34.521,50.995 35.779,51.748 34.32,52.522 "/> + <polygon id="Fill-102" class="st11" points="34.32,52.522 34.32,52.805 33.064,52.049 33.064,51.768 "/> + <polygon id="Fill-103" class="st10" points="36.273,53.696 37.732,52.923 37.732,53.206 36.273,53.979 "/> + <polygon id="Fill-104" class="st5" points="35.018,52.942 36.475,52.167 37.733,52.922 36.274,53.696 "/> + <polygon id="Fill-105" class="st11" points="36.273,53.696 36.273,53.979 35.017,53.223 35.017,52.942 "/> + <polygon id="Fill-106" class="st10" points="38.141,54.819 39.6,54.044 39.6,54.327 38.141,55.1 "/> + <polygon id="Fill-107" class="st5" points="36.885,54.063 38.342,53.29 39.6,54.043 38.141,54.819 "/> + <polygon id="Fill-108" class="st11" points="38.141,54.819 38.141,55.1 36.885,54.346 36.885,54.063 "/> + <polygon id="Fill-109" class="st10" points="40.068,55.977 41.527,55.204 41.527,55.485 40.068,56.258 "/> + <polygon id="Fill-110" class="st5" points="38.813,55.221 40.27,54.448 41.528,55.203 40.069,55.977 "/> + <polygon id="Fill-111" class="st11" points="40.068,55.977 40.068,56.258 38.812,55.504 38.812,55.221 "/> + <polygon id="Fill-112" class="st10" points="41.893,57.072 43.35,56.299 43.352,56.58 41.893,57.353 "/> + <polygon id="Fill-113" class="st5" points="40.635,56.317 42.094,55.544 43.35,56.299 41.893,57.073 "/> + <polygon id="Fill-114" class="st11" points="41.893,57.072 41.893,57.353 40.637,56.599 40.635,56.316 "/> + <polygon id="Fill-115" class="st10" points="19.467,41.196 20.924,40.423 20.924,40.704 19.467,41.477 "/> + <polygon id="Fill-116" class="st5" points="18.209,40.44 19.668,39.667 20.924,40.422 19.467,41.196 "/> + <polygon id="Fill-117" class="st11" points="19.467,41.196 19.467,41.477 18.209,40.723 18.209,40.44 "/> + <polygon id="Fill-118" class="st10" points="21.326,42.313 22.785,41.54 22.785,41.823 21.326,42.596 "/> + <polygon id="Fill-119" class="st5" points="20.07,41.557 21.527,40.784 22.785,41.539 21.326,42.313 "/> + <polygon id="Fill-120" class="st11" points="21.326,42.313 21.326,42.596 20.07,41.84 20.07,41.557 "/> + <polygon id="Fill-121" class="st10" points="23.279,43.487 24.736,42.714 24.738,42.995 23.279,43.77 "/> + <polygon id="Fill-122" class="st5" points="22.023,42.731 23.48,41.958 24.736,42.713 23.279,43.487 "/> + <polygon id="Fill-123" class="st11" points="23.279,43.487 23.279,43.77 22.023,43.014 22.023,42.731 "/> + <polygon id="Fill-124" class="st10" points="25.146,44.608 26.603,43.835 26.605,44.118 25.146,44.891 "/> + <polygon id="Fill-125" class="st5" points="23.891,43.854 25.348,43.079 26.604,43.834 25.147,44.608 "/> + <polygon id="Fill-126" class="st11" points="25.146,44.608 25.146,44.891 23.89,44.135 23.89,43.854 "/> + <polygon id="Fill-127" class="st10" points="27.074,45.766 28.533,44.993 28.533,45.276 27.074,46.049 "/> + <polygon id="Fill-128" class="st5" points="25.818,45.012 27.275,44.239 28.533,44.992 27.074,45.766 "/> + <polygon id="Fill-129" class="st11" points="27.074,45.766 27.074,46.049 25.818,45.293 25.818,45.012 "/> + <polygon id="Fill-130" class="st10" points="28.941,46.889 30.4,46.116 30.4,46.397 28.941,47.17 "/> + <polygon id="Fill-131" class="st5" points="27.678,46.129 29.137,45.356 30.401,46.115 28.942,46.889 "/> + <polygon id="Fill-132" class="st11" points="28.941,46.889 28.941,47.17 27.677,46.412 27.677,46.129 "/> + <polygon id="Fill-133" class="st10" points="30.895,48.063 32.352,47.288 32.354,47.571 30.895,48.344 "/> + <polygon id="Fill-134" class="st5" points="29.637,47.307 31.096,46.534 32.352,47.287 30.895,48.063 "/> + <polygon id="Fill-135" class="st11" points="30.895,48.063 30.895,48.344 29.639,47.59 29.637,47.307 "/> + <polygon id="Fill-136" class="st10" points="32.756,49.18 34.213,48.407 34.213,48.688 32.756,49.463 "/> + <polygon id="Fill-137" class="st5" points="31.498,48.424 32.955,47.651 34.213,48.406 32.756,49.18 "/> + <polygon id="Fill-138" class="st11" points="32.756,49.18 32.756,49.463 31.498,48.707 31.498,48.424 "/> + <polygon id="Fill-139" class="st10" points="34.586,50.279 36.043,49.507 36.043,49.787 34.586,50.563 "/> + <polygon id="Fill-140" class="st5" points="33.328,49.524 34.787,48.751 36.043,49.506 34.586,50.28 "/> + <polygon id="Fill-141" class="st11" points="34.586,50.279 34.586,50.563 33.328,49.806 33.328,49.523 "/> + <polygon id="Fill-142" class="st10" points="36.445,51.397 37.904,50.624 37.904,50.907 36.445,51.68 "/> + <polygon id="Fill-143" class="st5" points="35.189,50.643 36.646,49.87 37.904,50.623 36.445,51.397 "/> + <polygon id="Fill-144" class="st11" points="36.445,51.397 36.445,51.68 35.189,50.924 35.189,50.643 "/> + <polygon id="Fill-145" class="st10" points="38.398,52.571 39.857,51.798 39.857,52.081 38.398,52.854 "/> + <polygon id="Fill-146" class="st5" points="37.143,51.817 38.6,51.042 39.858,51.797 38.399,52.571 "/> + <polygon id="Fill-147" class="st11" points="38.398,52.571 38.398,52.854 37.142,52.098 37.142,51.817 "/> + <polygon id="Fill-148" class="st10" points="40.266,53.694 41.725,52.919 41.725,53.202 40.266,53.975 "/> + <polygon id="Fill-149" class="st5" points="39.01,52.938 40.467,52.165 41.725,52.918 40.266,53.694 "/> + <polygon id="Fill-150" class="st11" points="40.266,53.694 40.266,53.975 39.01,53.221 39.01,52.938 "/> + <polygon id="Fill-151" class="st10" points="42.193,54.852 43.652,54.079 43.652,54.36 42.193,55.133 "/> + <polygon id="Fill-152" class="st5" points="40.938,54.096 42.395,53.323 43.653,54.078 42.194,54.852 "/> + <polygon id="Fill-153" class="st11" points="42.193,54.852 42.193,55.133 40.937,54.379 40.937,54.096 "/> + <polygon id="Fill-154" class="st10" points="44.018,55.947 45.475,55.174 45.477,55.455 44.018,56.228 "/> + <polygon id="Fill-155" class="st5" points="42.76,55.192 44.219,54.419 45.475,55.174 44.018,55.948 "/> + <polygon id="Fill-156" class="st11" points="44.018,55.947 44.018,56.228 42.762,55.474 42.76,55.191 "/> + <polygon id="Fill-157" class="st10" points="13.949,45.121 15.408,44.348 15.408,44.623 13.949,45.396 "/> + <polygon id="Fill-158" class="st5" points="12.691,44.367 14.15,43.592 15.408,44.347 13.949,45.121 "/> + <polygon id="Fill-159" class="st11" points="13.949,45.121 13.949,45.396 12.693,44.641 12.691,44.367 "/> + <polygon id="Fill-160" class="st10" points="15.719,46.184 17.176,45.411 17.176,45.686 15.719,46.459 "/> + <polygon id="Fill-161" class="st5" points="14.461,45.43 15.92,44.657 17.176,45.41 15.719,46.184 "/> + <polygon id="Fill-162" class="st11" points="15.719,46.184 15.719,46.459 14.461,45.704 14.461,45.43 "/> + <polygon id="Fill-163" class="st10" points="17.578,47.303 19.037,46.53 19.037,46.803 17.578,47.576 "/> + <polygon id="Fill-164" class="st5" points="16.322,46.547 17.779,45.774 19.037,46.529 17.578,47.303 "/> + <polygon id="Fill-165" class="st11" points="17.578,47.303 17.578,47.576 16.322,46.823 16.322,46.547 "/> + <polygon id="Fill-166" class="st10" points="33.137,56.621 34.596,55.848 34.596,56.123 33.137,56.896 "/> + <polygon id="Fill-167" class="st5" points="31.879,55.867 33.338,55.092 34.596,55.847 33.137,56.621 "/> + <polygon id="Fill-168" class="st11" points="33.137,56.621 33.137,56.896 31.881,56.141 31.879,55.867 "/> + <polygon id="Fill-169" class="st10" points="34.906,57.684 36.363,56.911 36.363,57.186 34.906,57.959 "/> + <polygon id="Fill-170" class="st5" points="33.648,56.93 35.107,56.157 36.363,56.91 34.906,57.684 "/> + <polygon id="Fill-171" class="st11" points="34.906,57.684 34.906,57.959 33.648,57.204 33.648,56.93 "/> + <polygon id="Fill-172" class="st10" points="36.766,58.803 38.225,58.03 38.225,58.303 36.766,59.076 "/> + <polygon id="Fill-173" class="st5" points="35.51,58.047 36.967,57.274 38.225,58.029 36.766,58.803 "/> + <polygon id="Fill-174" class="st11" points="36.766,58.803 36.766,59.076 35.51,58.323 35.51,58.047 "/> + <polygon id="Fill-175" class="st10" points="31.15,55.469 32.609,54.696 32.609,54.969 31.15,55.744 "/> + <polygon id="Fill-176" class="st5" points="18.256,47.721 19.715,46.948 32.61,54.696 31.151,55.469 "/> + <polygon id="Fill-177" class="st11" points="31.15,55.469 31.15,55.744 18.255,47.996 18.255,47.721 "/> + <polygon id="Fill-178" class="st10" points="21.678,39.936 23.135,39.163 23.135,39.446 21.678,40.219 "/> + <polygon id="Fill-179" class="st5" points="20.42,39.182 21.879,38.409 23.135,39.162 21.678,39.936 "/> + <polygon id="Fill-180" class="st11" points="21.678,39.936 21.678,40.219 20.42,39.463 20.42,39.182 "/> + <polygon id="Fill-181" class="st10" points="23.537,41.055 24.996,40.282 24.996,40.563 23.537,41.336 "/> + <polygon id="Fill-182" class="st5" points="22.281,40.299 23.738,39.526 24.996,40.281 23.537,41.055 "/> + <polygon id="Fill-183" class="st11" points="23.537,41.055 23.537,41.336 22.281,40.582 22.281,40.299 "/> + <polygon id="Fill-184" class="st10" points="25.49,42.229 26.947,41.454 26.949,41.737 25.49,42.51 "/> + <polygon id="Fill-185" class="st5" points="24.234,41.473 25.691,40.7 26.947,41.453 25.49,42.229 "/> + <polygon id="Fill-186" class="st11" points="25.49,42.229 25.49,42.51 24.234,41.756 24.234,41.473 "/> + <polygon id="Fill-187" class="st10" points="27.358,43.35 28.814,42.577 28.816,42.858 27.358,43.633 "/> + <polygon id="Fill-188" class="st5" points="26.102,42.594 27.559,41.821 28.815,42.576 27.358,43.35 "/> + <polygon id="Fill-189" class="st11" points="27.358,43.35 27.358,43.633 26.101,42.877 26.101,42.594 "/> + <polygon id="Fill-190" class="st10" points="29.285,44.508 30.744,43.735 30.744,44.018 29.285,44.791 "/> + <polygon id="Fill-191" class="st5" points="28.029,43.754 29.486,42.979 30.744,43.734 29.285,44.508 "/> + <polygon id="Fill-192" class="st11" points="29.285,44.508 29.285,44.791 28.029,44.035 28.029,43.754 "/> + <polygon id="Fill-193" class="st10" points="31.152,45.631 32.611,44.856 32.611,45.139 31.152,45.912 "/> + <polygon id="Fill-194" class="st5" points="29.889,44.871 31.348,44.098 32.612,44.855 31.153,45.631 "/> + <polygon id="Fill-195" class="st11" points="31.152,45.631 31.152,45.912 29.888,45.154 29.888,44.871 "/> + <polygon id="Fill-196" class="st10" points="33.105,46.803 34.563,46.03 34.564,46.313 33.105,47.086 "/> + <polygon id="Fill-197" class="st5" points="31.848,46.049 33.307,45.274 34.563,46.029 33.106,46.803 "/> + <polygon id="Fill-198" class="st11" points="33.105,46.803 33.105,47.086 31.849,46.33 31.847,46.049 "/> + <polygon id="Fill-199" class="st10" points="34.967,47.922 36.424,47.147 36.424,47.43 34.967,48.203 "/> + <polygon id="Fill-200" class="st5" points="33.709,47.166 35.166,46.393 36.424,47.146 34.967,47.922 "/> + <polygon id="Fill-201" class="st11" points="34.967,47.922 34.967,48.203 33.709,47.449 33.709,47.166 "/> + <polygon id="Fill-202" class="st10" points="36.797,49.022 38.254,48.249 38.254,48.53 36.797,49.303 "/> + <polygon id="Fill-203" class="st5" points="35.539,48.266 36.998,47.493 38.254,48.248 36.797,49.022 "/> + <polygon id="Fill-204" class="st11" points="36.797,49.022 36.797,49.303 35.539,48.549 35.539,48.266 "/> + <polygon id="Fill-205" class="st10" points="38.656,50.139 40.115,49.366 40.115,49.649 38.656,50.422 "/> + <polygon id="Fill-206" class="st5" points="37.4,49.385 38.857,48.61 40.115,49.365 38.656,50.139 "/> + <polygon id="Fill-207" class="st11" points="38.656,50.139 38.656,50.422 37.4,49.666 37.4,49.385 "/> + <polygon id="Fill-208" class="st10" points="40.609,51.313 42.068,50.54 42.068,50.821 40.609,51.596 "/> + <polygon id="Fill-209" class="st5" points="39.354,50.557 40.811,49.784 42.069,50.539 40.61,51.313 "/> + <polygon id="Fill-210" class="st11" points="40.609,51.313 40.609,51.596 39.353,50.84 39.353,50.557 "/> + <polygon id="Fill-211" class="st10" points="42.477,52.434 43.936,51.661 43.936,51.944 42.477,52.717 "/> + <polygon id="Fill-212" class="st5" points="41.221,51.68 42.678,50.905 43.936,51.66 42.477,52.434 "/> + <polygon id="Fill-213" class="st11" points="42.477,52.434 42.477,52.717 41.221,51.961 41.221,51.68 "/> + <polygon id="Fill-214" class="st10" points="44.404,53.592 45.863,52.819 45.863,53.102 44.404,53.875 "/> + <polygon id="Fill-215" class="st5" points="43.148,52.838 44.605,52.065 45.863,52.818 44.404,53.592 "/> + <polygon id="Fill-216" class="st11" points="44.404,53.592 44.404,53.875 43.148,53.119 43.148,52.838 "/> + <polygon id="Fill-217" class="st10" points="46.229,54.69 47.686,53.915 47.688,54.198 46.229,54.971 "/> + <polygon id="Fill-218" class="st5" points="44.971,53.934 46.43,53.161 47.686,53.914 46.229,54.69 "/> + <polygon id="Fill-219" class="st11" points="46.229,54.69 46.229,54.971 44.973,54.215 44.971,53.934 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_Printer.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_Printer.svg new file mode 100644 index 0000000000000000000000000000000000000000..6780ce9f8aea10352f3dc12b96eb92b7d432c208 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_Printer.svg @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 62.1 53.7" style="enable-background:new 0 0 62.1 53.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#B0B2B5;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#898B8E;} + .st5{fill:#FEFEFE;} + .st6{fill:#231F20;} + .st7{fill:#626366;} + .st8{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st9{fill:#999B9D;} + .st10{fill:#F0F0F1;} +</style> +<title>icon-EFTPOS-printer</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1120.000000, -82.000000)"> + <g id="icon-EFTPOS-printer" transform="translate(1121.000000, 81.000000)"> + <g id="Group-9" transform="translate(0.000000, 9.650400)"> + <polygon id="Stroke-1" class="st0" points="48.3,22.3 21.3,6.4 32.6,0.4 59.6,16.2 "/> + <polygon id="Stroke-3" class="st0" points="27.5,37.9 0.5,22.1 21.3,6.4 48.3,22.3 "/> + <polygon id="Stroke-5" class="st0" points="27.5,43.5 0.5,27.7 0.5,22.1 27.5,37.9 "/> + <polygon id="Stroke-7" class="st0" points="59.6,16.2 59.6,26.4 27.5,43.5 27.5,37.9 48.3,22.3 "/> + </g> + <polygon id="Stroke-10" class="st0" points="19.1,28.1 22,26.2 24.8,27.9 21.8,29.8 "/> + <polygon id="Stroke-11" class="st0" points="24.8,28.5 21.8,30.4 21.8,29.8 24.8,27.9 "/> + <polygon id="Stroke-12" class="st0" points="19.1,28.1 21.8,29.8 21.8,30.4 19.1,28.7 "/> + <polygon id="Stroke-13" class="st0" points="15.1,30.7 18,28.8 20.8,30.5 17.9,32.4 "/> + <polygon id="Stroke-14" class="st0" points="20.8,31.1 17.9,33 17.9,32.4 20.8,30.5 "/> + <polygon id="Stroke-15" class="st0" points="15.1,30.7 17.9,32.4 17.9,33 15.1,31.3 "/> + <polygon id="Stroke-16" class="st0" points="22.9,25.6 25.9,23.7 28.7,25.4 25.7,27.3 "/> + <polygon id="Stroke-17" class="st0" points="28.7,26 25.7,27.9 25.7,27.3 28.7,25.4 "/> + <polygon id="Stroke-18" class="st0" points="22.9,25.6 25.7,27.3 25.7,27.9 22.9,26.2 "/> + <polygon id="Stroke-19" class="st0" points="22.7,30.3 25.6,28.4 28.4,30.1 25.5,32 "/> + <polygon id="Stroke-20" class="st0" points="28.4,30.7 25.5,32.6 25.5,32 28.4,30.1 "/> + <polygon id="Stroke-21" class="st0" points="22.7,30.4 25.5,32 25.5,32.6 22.7,31 "/> + <polygon id="Stroke-22" class="st0" points="18.8,32.9 21.7,31 24.5,32.7 21.6,34.6 "/> + <polygon id="Stroke-23" class="st0" points="24.5,33.3 21.6,35.2 21.6,34.6 24.5,32.7 "/> + <polygon id="Stroke-24" class="st0" points="18.8,32.9 21.6,34.6 21.6,35.2 18.8,33.5 "/> + <polygon id="Stroke-25" class="st0" points="26.6,27.8 29.5,25.9 32.3,27.6 29.4,29.5 "/> + <polygon id="Stroke-26" class="st0" points="32.3,28.2 29.4,30.1 29.4,29.5 32.3,27.6 "/> + <polygon id="Stroke-27" class="st0" points="26.6,27.8 29.4,29.5 29.4,30.1 26.6,28.4 "/> + <polygon id="Stroke-28" class="st0" points="26.3,32.5 29.3,30.6 32.1,32.3 29.1,34.2 "/> + <polygon id="Stroke-29" class="st0" points="32.1,32.9 29.1,34.8 29.1,34.2 32.1,32.3 "/> + <polygon id="Stroke-30" class="st0" points="26.3,32.5 29.1,34.2 29.1,34.8 26.3,33.1 "/> + <polygon id="Stroke-31" class="st0" points="22.4,35.1 25.3,33.2 28.1,34.9 25.2,36.8 "/> + <polygon id="Stroke-32" class="st0" points="28.1,35.5 25.2,37.4 25.2,36.8 28.1,34.9 "/> + <polygon id="Stroke-33" class="st0" points="22.4,35.1 25.2,36.8 25.2,37.4 22.4,35.7 "/> + <polygon id="Stroke-34" class="st0" points="30.2,30 33.2,28.1 35.9,29.8 33,31.7 "/> + <polygon id="Stroke-35" class="st0" points="35.9,30.4 33,32.3 33,31.7 35.9,29.8 "/> + <polygon id="Stroke-36" class="st0" points="30.2,30 33,31.7 33,32.3 30.2,30.6 "/> + <g id="Group-115" transform="translate(0.000000, 0.650400)"> + <polygon id="Fill-45" class="st1" points="48.3,31.3 21.3,15.4 32.6,9.4 59.6,25.2 "/> + <polygon id="Fill-47" class="st2" points="27.5,46.9 0.5,31.1 21.3,15.4 48.3,31.3 "/> + <polygon id="Fill-49" class="st3" points="27.5,52.5 0.5,36.7 0.5,31.1 27.5,46.9 "/> + <polygon id="Fill-51" class="st4" points="59.6,25.2 59.6,35.4 27.5,52.5 27.5,46.9 48.3,31.3 "/> + <polygon id="Fill-53" class="st5" points="19.1,27.5 22,25.6 24.8,27.3 21.8,29.2 "/> + <polygon id="Fill-55" class="st6" points="24.8,27.9 21.8,29.8 21.8,29.2 24.8,27.3 "/> + <polygon id="Fill-57" class="st7" points="19.1,27.5 21.8,29.2 21.8,29.8 19.1,28.1 "/> + <polygon id="Fill-59" class="st5" points="15.1,30 18,28.1 20.8,29.8 17.9,31.7 "/> + <polygon id="Fill-61" class="st6" points="20.8,30.4 17.9,32.3 17.9,31.7 20.8,29.8 "/> + <polygon id="Fill-63" class="st7" points="15.1,30 17.9,31.7 17.9,32.3 15.1,30.6 "/> + <polygon id="Fill-65" class="st5" points="22.9,25 25.9,23.1 28.7,24.7 25.7,26.6 "/> + <polygon id="Fill-67" class="st6" points="28.7,25.4 25.7,27.2 25.7,26.6 28.7,24.8 "/> + <polygon id="Fill-69" class="st7" points="22.9,25 25.7,26.6 25.7,27.2 22.9,25.6 "/> + <polygon id="Fill-71" class="st5" points="22.7,29.7 25.6,27.8 28.4,29.5 25.5,31.4 "/> + <polygon id="Fill-73" class="st6" points="28.4,30.1 25.5,32 25.5,31.4 28.4,29.5 "/> + <polygon id="Fill-75" class="st7" points="22.7,29.7 25.5,31.4 25.5,32 22.7,30.3 "/> + <polygon id="Fill-77" class="st5" points="18.8,32.2 21.7,30.4 24.5,32 21.6,33.9 "/> + <polygon id="Fill-79" class="st6" points="24.5,32.6 21.6,34.5 21.6,33.9 24.5,32 "/> + <polygon id="Fill-81" class="st7" points="18.8,32.3 21.6,33.9 21.6,34.5 18.8,32.9 "/> + <polygon id="Fill-83" class="st5" points="26.6,27.2 29.5,25.3 32.3,27 29.4,28.8 "/> + <polygon id="Fill-85" class="st6" points="32.3,27.6 29.4,29.5 29.4,28.9 32.3,27 "/> + <polygon id="Fill-87" class="st7" points="26.6,27.2 29.4,28.9 29.4,29.5 26.6,27.8 "/> + <polygon id="Fill-89" class="st5" points="26.3,31.9 29.3,30 32.1,31.7 29.1,33.5 "/> + <polygon id="Fill-91" class="st6" points="32.1,32.3 29.1,34.2 29.1,33.6 32.1,31.7 "/> + <polygon id="Fill-93" class="st7" points="26.3,31.9 29.1,33.6 29.1,34.2 26.3,32.5 "/> + <polygon id="Fill-95" class="st5" points="22.4,34.4 25.3,32.5 28.1,34.2 25.2,36.1 "/> + <polygon id="Fill-97" class="st6" points="28.1,34.8 25.2,36.7 25.2,36.1 28.1,34.2 "/> + <polygon id="Fill-99" class="st7" points="22.4,34.4 25.2,36.1 25.2,36.7 22.4,35 "/> + <polygon id="Fill-101" class="st5" points="30.2,29.4 33.2,27.5 35.9,29.1 33,31 "/> + <polygon id="Fill-103" class="st6" points="35.9,29.8 33,31.6 33,31 35.9,29.1 "/> + <polygon id="Fill-105" class="st7" points="30.2,29.4 33,31 33,31.6 30.2,30 "/> + <path id="Fill-107" class="st7" d="M24.1,16.8c-0.7-0.4-0.7-1.1,0-1.5l2.1-1.4c0.7-0.4,1.8-0.5,2.5,0l21.6,13 + c0.7,0.4,0.7,1.1,0,1.5l-2.1,1.4c-0.7,0.4-1.8,0.5-2.5,0L24.1,16.8z"/> + <polyline id="Stroke-109" class="st8" points="1,31.3 27.5,46.9 27.5,52.1 "/> + <polygon id="Fill-111" class="st9" points="41.2,25.7 51.2,7.1 51.7,7.4 41.7,26 "/> + <polygon id="Fill-113" class="st10" points="30.2,19 40.2,0.3 51.2,7.1 41.2,25.7 "/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_keypad.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_keypad.svg new file mode 100644 index 0000000000000000000000000000000000000000..d500dbf1faa9d6c10dca057ecd303d4c8c766069 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/POS_keypad.svg @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 62.1 46.1" style="enable-background:new 0 0 62.1 46.1;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#B0B2B5;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#898B8E;} + .st5{fill:#FEFEFE;} + .st6{fill:#231F20;} + .st7{fill:#626366;} + .st8{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-EFTPOS</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1022.000000, -90.000000)"> + <g id="icon-EFTPOS" transform="translate(1023.000000, 91.000000)"> + <g id="Group-9" transform="translate(0.000000, 0.099100)"> + <polygon id="Stroke-1" class="st0" points="48.3,22.301 21.3,6.401 32.6,0.401 59.6,16.201 "/> + <polygon id="Stroke-3" class="st0" points="27.5,37.901 0.5,22.101 21.3,6.401 48.3,22.301 "/> + <polygon id="Stroke-5" class="st0" points="27.5,43.501 0.5,27.701 0.5,22.101 27.5,37.901 "/> + <polygon id="Stroke-7" class="st0" points="59.6,16.201 59.6,26.401 27.5,43.501 27.5,37.901 48.3,22.301 "/> + </g> + <g id="Group-111" transform="translate(0.000000, 0.099100)"> + <polygon id="Fill-45" class="st1" points="48.3,22.301 21.3,6.401 32.6,0.401 59.6,16.201 "/> + <polygon id="Fill-47" class="st2" points="27.5,37.901 0.5,22.101 21.3,6.401 48.3,22.301 "/> + <polygon id="Fill-49" class="st3" points="27.5,43.501 0.5,27.701 0.5,22.101 27.5,37.901 "/> + <polygon id="Fill-51" class="st4" points="59.6,16.201 59.6,26.401 27.5,43.501 27.5,37.901 48.3,22.301 "/> + <polygon id="Fill-53" class="st5" points="19.8,13.101 24.7,9.601 29.6,12.301 24.7,15.701 "/> + <polygon id="Fill-55" class="st6" points="29.6,13.401 24.8,16.801 24.7,15.801 29.6,12.301 "/> + <polygon id="Fill-57" class="st7" points="19.8,13.101 24.7,15.801 24.8,16.801 19.9,14.101 "/> + <polygon id="Fill-59" class="st5" points="26.2,16.701 31,13.301 35.9,16.001 31,19.401 "/> + <polygon id="Fill-61" class="st6" points="36,17.001 31.1,20.501 31,19.401 35.9,16.001 "/> + <polygon id="Fill-63" class="st7" points="26.2,16.801 31,19.401 31.1,20.501 26.2,17.801 "/> + <polygon id="Fill-65" class="st5" points="32.5,20.301 37.3,16.901 42.2,19.601 37.3,23.001 "/> + <polygon id="Fill-67" class="st6" points="42.2,20.601 37.4,24.101 37.3,23.001 42.2,19.601 "/> + <polygon id="Fill-69" class="st7" points="32.5,20.401 37.3,23.001 37.4,24.101 32.5,21.401 "/> + <polyline id="Stroke-71" class="st8" points="1,22.301 27.5,37.901 27.5,43.101 "/> + <path id="Fill-73" class="st7" d="M24.2,6.601c0.2,0.1,8.5-4.6,8.5-4.6s23.7,14,23.6,14s-8.4,4.5-8.4,4.5L24.2,6.601z"/> + <polygon id="Fill-75" class="st5" points="13.5,17.901 18.3,14.501 23.2,17.101 18.3,20.601 "/> + <polygon id="Fill-77" class="st6" points="23.2,18.201 18.4,21.601 18.3,20.601 23.2,17.201 "/> + <polygon id="Fill-79" class="st7" points="13.5,17.901 18.3,20.601 18.4,21.601 13.5,19.001 "/> + <polygon id="Fill-81" class="st5" points="19.8,21.601 24.6,18.201 29.5,20.801 24.7,24.301 "/> + <polygon id="Fill-83" class="st6" points="29.6,21.901 24.7,25.301 24.7,24.301 29.5,20.801 "/> + <polygon id="Fill-85" class="st7" points="19.8,21.601 24.7,24.301 24.7,25.301 19.8,22.601 "/> + <polygon id="Fill-87" class="st5" points="26.1,25.201 30.9,21.701 35.8,24.401 30.9,27.801 "/> + <polygon id="Fill-89" class="st6" points="35.8,25.501 31,28.901 30.9,27.901 35.8,24.401 "/> + <polygon id="Fill-91" class="st7" points="26.1,25.201 30.9,27.901 31,28.901 26.1,26.201 "/> + <polygon id="Fill-93" class="st5" points="6.9,22.401 11.8,19.001 16.7,21.601 11.8,25.101 "/> + <polygon id="Fill-95" class="st6" points="16.7,22.701 11.8,26.101 11.8,25.101 16.6,21.701 "/> + <polygon id="Fill-97" class="st7" points="6.9,22.401 11.8,25.101 11.8,26.101 7,23.501 "/> + <polygon id="Fill-99" class="st5" points="13.2,26.101 18.1,22.601 23,25.301 18.1,28.701 "/> + <polygon id="Fill-101" class="st6" points="23,26.401 18.2,29.801 18.1,28.801 23,25.301 "/> + <polygon id="Fill-103" class="st7" points="13.2,26.101 18.1,28.801 18.2,29.801 13.3,27.101 "/> + <polygon id="Fill-105" class="st5" points="19.5,29.701 24.4,26.201 29.3,28.901 24.4,32.301 "/> + <polygon id="Fill-107" class="st6" points="29.3,29.901 24.4,33.401 24.4,32.401 29.3,28.901 "/> + <polygon id="Fill-109" class="st7" points="19.5,29.701 24.4,32.401 24.4,33.401 19.6,30.701 "/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal Computer Wireless.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal Computer Wireless.svg new file mode 100644 index 0000000000000000000000000000000000000000..fc073ee2dc4170b606c8fc1b5ee4ef65af7087a1 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal Computer Wireless.svg @@ -0,0 +1,888 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="105px" height="107px" viewBox="0 0 105 107" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>icon-PC-wireless</title> + <desc>Created with Sketch.</desc> + <defs> + <path d="M1.169,9.439 C0.845,9.611 0.644,10.01 0.644,10.59 L17.517,1.633 C17.516,1.056 17.716,0.655 18.039,0.484 C12.416,3.469 6.791,6.454 1.169,9.439" id="path-1"></path> + <path d="M1.169,9.439 C0.845,9.611 0.644,10.01 0.644,10.59 L17.517,1.633 C17.516,1.056 17.716,0.655 18.039,0.484 C12.416,3.469 6.791,6.454 1.169,9.439" id="path-3"></path> + <path d="M0.612,9.826 C1.054,10.089 1.452,10.123 1.751,9.965 C7.374,6.981 12.997,3.995 18.622,1.01 C18.326,1.168 17.924,1.133 17.483,0.87" id="path-5"></path> + <path d="M0.612,9.826 C1.054,10.089 1.452,10.123 1.751,9.965 C7.374,6.981 12.997,3.995 18.622,1.01 C18.326,1.168 17.924,1.133 17.483,0.87" id="path-7"></path> + <path d="M0.612,9.826 C1.054,10.089 1.452,10.123 1.751,9.965 C7.374,6.981 12.997,3.995 18.622,1.01 C18.326,1.168 17.924,1.133 17.483,0.87" id="path-9"></path> + <path d="M17.039,0.484 C11.416,3.469 5.791,6.454 0.169,9.439 C0.466,9.282 0.866,9.317 1.308,9.581 L18.181,0.626 C17.913,0.465 17.66,0.389 17.436,0.389 C17.29,0.389 17.157,0.422 17.039,0.484" id="path-11"></path> + <path d="M17.039,0.484 C11.416,3.469 5.791,6.454 0.169,9.439 C0.466,9.282 0.866,9.317 1.308,9.581 L18.181,0.626 C17.913,0.465 17.66,0.389 17.436,0.389 C17.29,0.389 17.157,0.422 17.039,0.484" id="path-13"></path> + <path d="M17.039,0.484 C11.416,3.469 5.791,6.454 0.169,9.439 C0.466,9.282 0.866,9.317 1.308,9.581 L18.181,0.626 C17.913,0.465 17.66,0.389 17.436,0.389 C17.29,0.389 17.157,0.422 17.039,0.484" id="path-15"></path> + <path d="M17.56,0.585 C11.937,3.57 6.314,6.556 0.689,9.541 C1.113,9.318 1.681,9.367 2.308,9.743 L19.179,0.787 C18.799,0.559 18.441,0.451 18.123,0.451 C17.916,0.451 17.726,0.497 17.56,0.585" id="path-17"></path> + <path d="M17.56,0.585 C11.937,3.57 6.314,6.556 0.689,9.541 C1.113,9.318 1.681,9.367 2.308,9.743 L19.179,0.787 C18.799,0.559 18.441,0.451 18.123,0.451 C17.916,0.451 17.726,0.497 17.56,0.585" id="path-19"></path> + <path d="M17.56,0.585 C11.937,3.57 6.314,6.556 0.689,9.541 C1.113,9.318 1.681,9.367 2.308,9.743 L19.179,0.787 C18.799,0.559 18.441,0.451 18.123,0.451 C17.916,0.451 17.726,0.497 17.56,0.585" id="path-21"></path> + <path d="M1.277,9.818 C1.277,10.394 1.074,10.793 0.751,10.965 C6.374,7.981 11.997,4.995 17.622,2.01 C17.946,1.837 18.146,1.439 18.146,0.863" id="path-23"></path> + <path d="M0.975,9.238 C0.972,10.056 0.687,10.62 0.228,10.865 L17.1,1.909 C17.559,1.667 17.846,1.1 17.846,0.283" id="path-25"></path> + <path d="M0.975,9.238 C0.972,10.056 0.687,10.62 0.228,10.865 L17.1,1.909 C17.559,1.667 17.846,1.1 17.846,0.283" id="path-27"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-29"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-31"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-33"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-35"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-37"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-39"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-41"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-43"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-45"></path> + <path d="M0.594,8.969 C1.516,9.521 2.26,10.866 2.26,11.976 L19.134,3.02 C19.13,1.911 18.385,0.566 17.465,0.012" id="path-47"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-49"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-51"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-53"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-55"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-57"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-59"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-61"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-63"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-65"></path> + <path d="M0.592,9.129 C1.9,9.913 2.955,11.818 2.959,13.396 L19.831,4.442 C19.826,2.865 18.771,0.958 17.465,0.173" id="path-67"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-69"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-71"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-73"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-75"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-77"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-79"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-81"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-83"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-85"></path> + <path d="M0.38,9.451 C0.38,10.558 1.125,11.902 2.046,12.459 L18.918,3.505 C17.996,2.948 17.252,1.603 17.249,0.496" id="path-87"></path> + <path d="M0.888,9.46 C0.565,9.632 0.363,10.031 0.363,10.609 L17.237,1.654 C17.235,1.076 17.436,0.676 17.76,0.505 C12.136,3.49 6.511,6.475 0.888,9.46" id="path-89"></path> + <path d="M0.888,9.46 C0.565,9.632 0.363,10.031 0.363,10.609 L17.237,1.654 C17.235,1.076 17.436,0.676 17.76,0.505 C12.136,3.49 6.511,6.475 0.888,9.46" id="path-91"></path> + <path d="M0.332,9.846 C0.773,10.11 1.172,10.143 1.471,9.985 C7.094,7.001 12.718,4.015 18.342,1.031 C18.046,1.188 17.644,1.153 17.202,0.89" id="path-93"></path> + <path d="M0.332,9.846 C0.773,10.11 1.172,10.143 1.471,9.985 C7.094,7.001 12.718,4.015 18.342,1.031 C18.046,1.188 17.644,1.153 17.202,0.89" id="path-95"></path> + <path d="M0.332,9.846 C0.773,10.11 1.172,10.143 1.471,9.985 C7.094,7.001 12.718,4.015 18.342,1.031 C18.046,1.188 17.644,1.153 17.202,0.89" id="path-97"></path> + <path d="M17.76,0.505 C12.136,3.49 6.511,6.475 0.888,9.46 C1.186,9.303 1.587,9.337 2.027,9.601 L18.9,0.645 C18.633,0.486 18.381,0.409 18.157,0.409 C18.011,0.409 17.877,0.442 17.76,0.505" id="path-99"></path> + <path d="M17.76,0.505 C12.136,3.49 6.511,6.475 0.888,9.46 C1.186,9.303 1.587,9.337 2.027,9.601 L18.9,0.645 C18.633,0.486 18.381,0.409 18.157,0.409 C18.011,0.409 17.877,0.442 17.76,0.505" id="path-101"></path> + <path d="M17.76,0.505 C12.136,3.49 6.511,6.475 0.888,9.46 C1.186,9.303 1.587,9.337 2.027,9.601 L18.9,0.645 C18.633,0.486 18.381,0.409 18.157,0.409 C18.011,0.409 17.877,0.442 17.76,0.505" id="path-103"></path> + <path d="M17.28,0.606 C11.657,3.59 6.033,6.577 0.408,9.561 C0.832,9.338 1.401,9.387 2.027,9.763 L18.899,0.808 C18.519,0.58 18.16,0.471 17.843,0.471 C17.636,0.471 17.447,0.517 17.28,0.606" id="path-105"></path> + <path d="M17.28,0.606 C11.657,3.59 6.033,6.577 0.408,9.561 C0.832,9.338 1.401,9.387 2.027,9.763 L18.899,0.808 C18.519,0.58 18.16,0.471 17.843,0.471 C17.636,0.471 17.447,0.517 17.28,0.606" id="path-107"></path> + <path d="M17.28,0.606 C11.657,3.59 6.033,6.577 0.408,9.561 C0.832,9.338 1.401,9.387 2.027,9.763 L18.899,0.808 C18.519,0.58 18.16,0.471 17.843,0.471 C17.636,0.471 17.447,0.517 17.28,0.606" id="path-109"></path> + <path d="M0.997,9.838 C0.997,10.414 0.793,10.814 0.471,10.985 C6.094,8.001 11.718,5.015 17.342,2.031 C17.666,1.858 17.866,1.46 17.866,0.884" id="path-111"></path> + <path d="M1.695,9.258 C1.692,10.077 1.407,10.641 0.948,10.886 L17.819,1.93 C18.278,1.687 18.565,1.121 18.565,0.304" id="path-113"></path> + <path d="M1.695,9.258 C1.692,10.077 1.407,10.641 0.948,10.886 L17.819,1.93 C18.278,1.687 18.565,1.121 18.565,0.304" id="path-115"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-117"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-119"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-121"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-123"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-125"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-127"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-129"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-131"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-133"></path> + <path d="M0.313,8.988 C1.236,9.541 1.98,10.886 1.98,11.997 L18.853,3.041 C18.85,1.931 18.105,0.586 17.185,0.032" id="path-135"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-137"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-139"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-141"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-143"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-145"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-147"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-149"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-151"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-153"></path> + <path d="M0.312,9.15 C1.62,9.933 2.675,11.839 2.678,13.416 L19.551,4.461 C19.545,2.885 18.491,0.977 17.185,0.194" id="path-155"></path> + </defs> + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Desktop" transform="translate(-1423.000000, -66.000000)"> + <g id="icon-PC-wireless" transform="translate(1424.000000, 66.000000)"> + <polygon id="Stroke-1" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="49.3482 82.5456 61.0572 76.3306 61.0602 79.6276 49.3502 85.8446"></polygon> + <polygon id="Stroke-2" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="19.4488 64.5808 31.1578 58.3658 61.0568 76.3308 49.3478 82.5458"></polygon> + <polygon id="Stroke-3" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="49.3482 82.5456 49.3502 85.8446 19.4512 67.8776 19.4492 64.5806"></polygon> + <polygon id="Fill-4" fill="#898B8E" fill-rule="evenodd" points="49.3482 82.5456 61.0572 76.3306 61.0602 79.6276 49.3502 85.8446"></polygon> + <polygon id="Fill-5" fill="#BBBDBF" fill-rule="evenodd" points="19.4488 64.5808 31.1578 58.3658 61.0568 76.3308 49.3478 82.5458"></polygon> + <polygon id="Fill-6" fill="#B3B5B7" fill-rule="evenodd" points="49.3482 82.5456 49.3502 85.8446 19.4512 67.8776 19.4492 64.5806"></polygon> + <polyline id="Stroke-7" stroke="#E1E2E3" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" points="19.6909 64.614 49.1009 82.284 49.1009 85.489"></polyline> + <polygon id="Stroke-8" stroke="#626366" stroke-width="2.668" stroke-linecap="round" stroke-linejoin="round" points="68.0445 36.8313 73.2305 34.0783 73.2665 84.8563 68.0795 87.6103"></polygon> + <g id="Group-13" stroke-width="1" fill-rule="evenodd" transform="translate(13.000000, 0.663000)" stroke="#626366" stroke-linecap="round" stroke-linejoin="round"> + <polygon id="Stroke-9" stroke-width="2.668" points="0.5493 3.4251 5.7363 0.6711 60.2303 33.4151 55.0443 36.1681"></polygon> + <polygon id="Stroke-11" stroke-width="2.668" points="55.0445 36.1683 55.0795 86.9473 0.5855 54.2033 0.5495 3.4253"></polygon> + </g> + <polygon id="Fill-14" fill="#898B8E" fill-rule="evenodd" points="68.0425 36.8313 73.2295 34.0783 73.2655 84.8563 68.0795 87.6103"></polygon> + <polygon id="Fill-15" fill="#BBBDBF" fill-rule="evenodd" points="13.5493 4.0881 18.7353 1.3341 73.2303 34.0781 68.0423 36.8311"></polygon> + <polygon id="Fill-16" fill="#B3B5B7" fill-rule="evenodd" points="68.0425 36.8313 68.0795 87.6103 13.5845 54.8663 13.5495 4.0883"></polygon> + <polygon id="Fill-17" fill="#FEFEFE" fill-rule="evenodd" points="65.1909 81.9031 15.5259 51.6981 15.5259 8.7831 65.1909 38.9851"></polygon> + <g id="Group-344" stroke-width="1" fill-rule="evenodd" transform="translate(0.000000, 3.663000)"> + <path d="M46.7642,26.9183 L63.2472,36.8203 L63.3392,46.0363 C63.3392,46.0363 63.0462,39.4283 58.1462,35.2863 C51.8902,30.0003 46.7642,26.9183 46.7642,26.9183" id="Fill-18" fill="#C4CACE"></path> + <path d="M14.1841,52.2518 L68.0741,84.6308" id="Stroke-20" stroke="#636466" stroke-width="1.156"></path> + <polyline id="Stroke-22" stroke="#E1E2E3" stroke-width="0.889" stroke-linecap="round" stroke-linejoin="round" points="14.0083 0.595 68.0233 33.05 68.0603 83.515"></polyline> + <path d="M73.9058,64.4432 L73.9058,77.7852" id="Stroke-24" stroke="#636466" stroke-width="1.29"></path> + <path d="M48.5562,90.4998 C48.5562,90.4998 49.9312,89.7658 51.0562,89.7338 C52.1812,89.7028 53.5722,90.3748 53.5722,90.3748 C53.5722,90.3748 54.9472,91.1088 55.6182,91.8118 C56.2902,92.5158 56.3372,92.7968 56.3842,93.0468 C56.4312,93.2968 56.4152,93.8748 56.3372,93.9998 C56.2592,94.1248 48.5872,98.0938 48.5872,98.0938 C48.5872,98.0938 48.1342,98.2968 47.4002,98.1868 C46.6652,98.0778 45.4002,97.1868 44.9932,96.6088 C44.5872,96.0308 44.6182,95.1408 44.6182,95.1408 C44.6182,95.1408 44.6342,94.0938 46.0092,92.5308 C46.9152,91.4368 48.5562,90.4998 48.5562,90.4998 Z" id="Stroke-26" stroke="#626366" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"></path> + <path d="M48.5562,90.4998 C48.5562,90.4998 49.9312,89.7658 51.0562,89.7338 C52.1812,89.7028 53.5722,90.3748 53.5722,90.3748 C53.5722,90.3748 54.9492,91.1088 55.6182,91.8118 C56.2902,92.5158 56.3372,92.7968 56.3842,93.0468 C56.4312,93.2968 56.4152,93.8748 56.3372,93.9998 C56.2592,94.1248 48.5872,98.0938 48.5872,98.0938 C48.5872,98.0938 48.1342,98.2968 47.4002,98.1868 C46.6652,98.0778 45.4002,97.1868 44.9932,96.6088 C44.5872,96.0308 44.6182,95.1408 44.6182,95.1408 C44.6182,95.1408 44.6342,94.0938 46.0092,92.5308 C46.9152,91.4368 48.5562,90.4998 48.5562,90.4998" id="Fill-28" fill="#BBBDBF"></path> + <path d="M48.7574,97.7889 C48.7694,97.6989 49.6464,95.2379 52.5254,93.6819 C55.4094,92.1639 56.0734,93.8029 56.0154,93.4589 L56.0094,94.0059 C53.9314,95.1149 50.8944,96.7339 48.8184,97.8419" id="Fill-30" fill="#898B8E"></path> + <path d="M46.4624,96.2264 C46.6494,95.4764 47.7284,93.8354 48.4544,93.0854 C49.1814,92.3354 49.8144,91.8434 50.9154,91.2814 C52.0174,90.7184 53.3534,90.2964 54.0094,90.6244 C54.6654,90.9534 55.5794,91.7734 55.9544,92.2654 C56.3294,92.7574 56.2354,93.2734 56.2354,93.2734 C56.2354,93.2734 54.8534,92.8044 54.0324,93.0854 C53.2124,93.3674 51.8994,94.0234 51.0564,94.8434 C50.2124,95.6644 49.8844,96.7424 49.2984,97.4214 C48.7124,98.1014 47.5874,98.1954 47.5874,98.1954 C47.5874,98.1954 46.4394,97.9604 46.3214,97.7494 C46.2044,97.5384 46.2754,96.9764 46.4624,96.2264" id="Fill-32" fill="#B3B5B7"></path> + <path d="M48.3687,93.5838 L47.8647,93.2808 C46.9467,94.2768 46.4197,95.2558 46.1657,95.8048 L46.6717,96.1068 C46.9237,95.5588 47.4527,94.5778 48.3687,93.5838" id="Fill-34" fill="#E1E2E3"></path> + <polygon id="Stroke-36" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="30.3999 90.8153 42.1089 84.6003 42.1109 87.8973 30.4019 94.1143"></polygon> + <polygon id="Stroke-38" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="0.5 72.8514 12.209 66.6344 42.109 84.6004 30.4 90.8154"></polygon> + <polygon id="Stroke-40" stroke="#626366" stroke-width="3" stroke-linejoin="round" points="30.3999 90.8153 30.4019 94.1143 0.5019 76.1483 0.4999 72.8513"></polygon> + <polygon id="Fill-42" fill="#898B8E" points="30.3999 90.8153 42.1089 84.6003 42.1109 87.8973 30.4019 94.1143"></polygon> + <polygon id="Fill-44" fill="#BBBDBF" points="0.5 72.8514 12.209 66.6344 42.109 84.6004 30.4 90.8154"></polygon> + <polygon id="Fill-46" fill="#B3B5B7" points="30.3999 90.8153 30.4019 94.1143 0.5019 76.1483 0.4999 72.8513"></polygon> + <polygon id="Fill-48" fill="#231F20" points="7.6573 72.5037 9.1153 71.7307 9.1153 72.0117 7.6573 72.7867"></polygon> + <polygon id="Fill-50" fill="#FEFEFE" points="6.4004 71.7479 7.8584 70.9749 9.1154 71.7299 7.6574 72.5039"></polygon> + <polygon id="Fill-52" fill="#626366" points="7.6573 72.5037 7.6573 72.7867 6.4003 72.0307 6.4003 71.7477"></polygon> + <polygon id="Fill-54" fill="#231F20" points="9.5176 73.6209 10.9756 72.8479 10.9756 73.1309 9.5176 73.9039"></polygon> + <polygon id="Fill-56" fill="#FEFEFE" points="8.2608 72.867 9.7188 72.092 10.9758 72.847 9.5178 73.621"></polygon> + <polygon id="Fill-58" fill="#626366" points="9.5176 73.6209 9.5176 73.9039 8.2606 73.1479 8.2606 72.8669"></polygon> + <polygon id="Fill-60" fill="#231F20" points="11.4707 74.7948 12.9277 74.0218 12.9287 74.3048 11.4707 75.0778"></polygon> + <polygon id="Fill-62" fill="#FEFEFE" points="10.2139 74.0389 11.6719 73.2659 12.9279 74.0209 11.4709 74.7949"></polygon> + <polygon id="Fill-64" fill="#626366" points="11.4707 74.7948 11.4707 75.0778 10.2137 74.3218 10.2137 74.0388"></polygon> + <polygon id="Fill-66" fill="#231F20" points="13.3379 75.9178 14.7949 75.1428 14.7959 75.4258 13.3379 76.1988"></polygon> + <polygon id="Fill-68" fill="#FEFEFE" points="12.0811 75.1619 13.5391 74.3889 14.7951 75.1419 13.3381 75.9179"></polygon> + <polygon id="Fill-70" fill="#626366" points="13.3379 75.9178 13.3379 76.1988 12.0809 75.4448 12.0809 75.1618"></polygon> + <polygon id="Fill-72" fill="#231F20" points="15.2657 77.076 16.7237 76.301 16.7237 76.584 15.2657 77.357"></polygon> + <polygon id="Fill-74" fill="#FEFEFE" points="14.0088 76.3201 15.4668 75.5471 16.7238 76.3001 15.2658 77.0761"></polygon> + <polygon id="Fill-76" fill="#626366" points="15.2657 77.076 15.2657 77.357 14.0087 76.603 14.0087 76.32"></polygon> + <polygon id="Fill-78" fill="#231F20" points="17.1324 78.1971 18.5914 77.4241 18.5914 77.7051 17.1324 78.4801"></polygon> + <polygon id="Fill-80" fill="#FEFEFE" points="15.8687 77.4373 17.3277 76.6643 18.5917 77.4233 17.1327 78.1973"></polygon> + <polygon id="Fill-82" fill="#626366" points="17.1324 78.1971 17.1324 78.4801 15.8684 77.7201 15.8684 77.4371"></polygon> + <polygon id="Fill-84" fill="#231F20" points="19.0855 79.3709 20.5425 78.5979 20.5445 78.8789 19.0855 79.6519"></polygon> + <polygon id="Fill-86" fill="#FEFEFE" points="17.8277 78.6151 19.2867 77.8421 20.5427 78.5971 19.0857 79.3711"></polygon> + <polygon id="Fill-88" fill="#626366" points="19.0855 79.3709 19.0855 79.6519 17.8295 78.8979 17.8275 78.6149"></polygon> + <polygon id="Fill-90" fill="#231F20" points="20.9468 80.4881 22.4038 79.7151 22.4038 79.9981 20.9468 80.7711"></polygon> + <polygon id="Fill-92" fill="#FEFEFE" points="19.689 79.7342 21.146 78.9592 22.404 79.7142 20.947 80.4882"></polygon> + <polygon id="Fill-94" fill="#626366" points="20.9468 80.4881 20.9468 80.7711 19.6888 80.0151 19.6888 79.7341"></polygon> + <polygon id="Fill-96" fill="#231F20" points="22.7769 81.5887 24.2339 80.8147 24.2339 81.0977 22.7769 81.8697"></polygon> + <polygon id="Fill-98" fill="#FEFEFE" points="21.5191 80.8338 22.9781 80.0588 24.2341 80.8138 22.7771 81.5888"></polygon> + <polygon id="Fill-100" fill="#626366" points="22.7769 81.5887 22.7769 81.8697 21.5189 81.1147 21.5189 80.8337"></polygon> + <polygon id="Fill-102" fill="#231F20" points="24.6363 82.7059 26.0953 81.9329 26.0953 82.2139 24.6363 82.9889"></polygon> + <polygon id="Fill-104" fill="#FEFEFE" points="23.3804 81.95 24.8374 81.178 26.0954 81.932 24.6364 82.706"></polygon> + <polygon id="Fill-106" fill="#626366" points="24.6363 82.7059 24.6363 82.9889 23.3803 82.2329 23.3803 81.9499"></polygon> + <polygon id="Fill-108" fill="#231F20" points="26.5894 83.8797 28.0484 83.1047 28.0484 83.3877 26.5894 84.1607"></polygon> + <polygon id="Fill-110" fill="#FEFEFE" points="25.3335 83.1239 26.7905 82.3509 28.0485 83.1039 26.5895 83.8799"></polygon> + <polygon id="Fill-112" fill="#626366" points="26.5894 83.8797 26.5894 84.1607 25.3334 83.4067 25.3334 83.1237"></polygon> + <polygon id="Fill-114" fill="#231F20" points="28.4566 85.0008 29.9156 84.2278 29.9156 84.5108 28.4566 85.2838"></polygon> + <polygon id="Fill-116" fill="#FEFEFE" points="27.2007 84.2449 28.6577 83.4719 29.9157 84.2269 28.4567 85.0009"></polygon> + <polygon id="Fill-118" fill="#626366" points="28.4566 85.0008 28.4566 85.2838 27.2006 84.5278 27.2006 84.2448"></polygon> + <polygon id="Fill-120" fill="#231F20" points="30.3843 86.159 31.8433 85.386 31.8433 85.669 30.3843 86.442"></polygon> + <polygon id="Fill-122" fill="#FEFEFE" points="29.1284 85.4051 30.5854 84.6301 31.8434 85.3851 30.3844 86.1591"></polygon> + <polygon id="Fill-124" fill="#626366" points="30.3843 86.159 30.3843 86.442 29.1283 85.686 29.1283 85.405"></polygon> + <polygon id="Fill-126" fill="#231F20" points="32.2085 87.2547 33.6655 86.4817 33.6675 86.7647 32.2085 87.5377"></polygon> + <polygon id="Fill-128" fill="#FEFEFE" points="30.9507 86.5008 32.4097 85.7258 33.6657 86.4808 32.2087 87.2548"></polygon> + <polygon id="Fill-130" fill="#626366" points="32.2085 87.2547 32.2085 87.5377 30.9525 86.7817 30.9505 86.5007"></polygon> + <polygon id="Fill-132" fill="#231F20" points="9.6573 71.3787 11.1153 70.6057 11.1153 70.8867 9.6573 71.6617"></polygon> + <polygon id="Fill-134" fill="#FEFEFE" points="8.4004 70.6229 9.8584 69.8499 11.1154 70.6049 9.6574 71.3789"></polygon> + <polygon id="Fill-136" fill="#626366" points="9.6573 71.3787 9.6573 71.6617 8.4003 70.9057 8.4003 70.6227"></polygon> + <polygon id="Fill-138" fill="#231F20" points="11.5176 72.4959 12.9756 71.7229 12.9756 72.0059 11.5176 72.7789"></polygon> + <polygon id="Fill-140" fill="#FEFEFE" points="10.2608 71.742 11.7188 70.967 12.9758 71.722 11.5178 72.496"></polygon> + <polygon id="Fill-142" fill="#626366" points="11.5176 72.4959 11.5176 72.7789 10.2606 72.0229 10.2606 71.7419"></polygon> + <polygon id="Fill-144" fill="#231F20" points="13.4707 73.6698 14.9277 72.8968 14.9287 73.1798 13.4707 73.9528"></polygon> + <polygon id="Fill-146" fill="#FEFEFE" points="12.2139 72.9139 13.6719 72.1409 14.9279 72.8959 13.4709 73.6699"></polygon> + <polygon id="Fill-148" fill="#626366" points="13.4707 73.6698 13.4707 73.9528 12.2137 73.1968 12.2137 72.9138"></polygon> + <polygon id="Fill-150" fill="#231F20" points="15.3374 74.7928 16.7944 74.0178 16.7964 74.3008 15.3374 75.0738"></polygon> + <polygon id="Fill-152" fill="#FEFEFE" points="14.0811 74.0369 15.5391 73.2639 16.7941 74.0169 15.3371 74.7929"></polygon> + <polygon id="Fill-154" fill="#626366" points="15.3374 74.7928 15.3374 75.0738 14.0814 74.3198 14.0814 74.0368"></polygon> + <polygon id="Fill-156" fill="#231F20" points="17.2652 75.951 18.7242 75.176 18.7242 75.459 17.2652 76.232"></polygon> + <polygon id="Fill-158" fill="#FEFEFE" points="16.0093 75.1951 17.4663 74.4221 18.7243 75.1751 17.2653 75.9511"></polygon> + <polygon id="Fill-160" fill="#626366" points="17.2652 75.951 17.2652 76.232 16.0092 75.478 16.0092 75.195"></polygon> + <polygon id="Fill-162" fill="#231F20" points="19.1324 77.0721 20.5914 76.2991 20.5914 76.5801 19.1324 77.3551"></polygon> + <polygon id="Fill-164" fill="#FEFEFE" points="17.8687 76.3123 19.3277 75.5393 20.5917 76.2983 19.1327 77.0723"></polygon> + <polygon id="Fill-166" fill="#626366" points="19.1324 77.0721 19.1324 77.3551 17.8684 76.5951 17.8684 76.3121"></polygon> + <polygon id="Fill-168" fill="#231F20" points="21.0855 78.2459 22.5425 77.4729 22.5445 77.7539 21.0855 78.5269"></polygon> + <polygon id="Fill-170" fill="#FEFEFE" points="19.8277 77.4901 21.2867 76.7171 22.5427 77.4721 21.0857 78.2461"></polygon> + <polygon id="Fill-172" fill="#626366" points="21.0855 78.2459 21.0855 78.5269 19.8295 77.7729 19.8275 77.4899"></polygon> + <polygon id="Fill-174" fill="#231F20" points="22.9468 79.3631 24.4038 78.5901 24.4038 78.8731 22.9468 79.6461"></polygon> + <polygon id="Fill-176" fill="#FEFEFE" points="21.689 78.6092 23.146 77.8342 24.404 78.5892 22.947 79.3632"></polygon> + <polygon id="Fill-178" fill="#626366" points="22.9468 79.3631 22.9468 79.6461 21.6888 78.8901 21.6888 78.6091"></polygon> + <polygon id="Fill-180" fill="#231F20" points="24.7769 80.4627 26.2339 79.6897 26.2339 79.9727 24.7769 80.7457"></polygon> + <polygon id="Fill-182" fill="#FEFEFE" points="23.5191 79.7088 24.9781 78.9338 26.2341 79.6888 24.7771 80.4628"></polygon> + <polygon id="Fill-184" fill="#626366" points="24.7769 80.4627 24.7769 80.7457 23.5189 79.9897 23.5189 79.7087"></polygon> + <polygon id="Fill-186" fill="#231F20" points="26.6363 81.5809 28.0953 80.8069 28.0953 81.0899 26.6363 81.8639"></polygon> + <polygon id="Fill-188" fill="#FEFEFE" points="25.3804 80.826 26.8374 80.053 28.0954 80.806 26.6364 81.581"></polygon> + <polygon id="Fill-190" fill="#626366" points="26.6363 81.5809 26.6363 81.8639 25.3803 81.1089 25.3803 80.8259"></polygon> + <polygon id="Fill-192" fill="#231F20" points="28.5894 82.7547 30.0484 81.9797 30.0484 82.2627 28.5894 83.0357"></polygon> + <polygon id="Fill-194" fill="#FEFEFE" points="27.3335 81.9989 28.7905 81.2269 30.0485 81.9789 28.5895 82.7549"></polygon> + <polygon id="Fill-196" fill="#626366" points="28.5894 82.7547 28.5894 83.0357 27.3334 82.2817 27.3334 81.9987"></polygon> + <polygon id="Fill-198" fill="#231F20" points="30.4566 83.8758 31.9156 83.1028 31.9156 83.3858 30.4566 84.1588"></polygon> + <polygon id="Fill-200" fill="#FEFEFE" points="29.2007 83.1199 30.6577 82.3469 31.9157 83.1019 30.4567 83.8759"></polygon> + <polygon id="Fill-202" fill="#626366" points="30.4566 83.8758 30.4566 84.1588 29.2006 83.4028 29.2006 83.1198"></polygon> + <polygon id="Fill-204" fill="#231F20" points="32.3843 85.034 33.8433 84.261 33.8433 84.544 32.3843 85.317"></polygon> + <polygon id="Fill-206" fill="#FEFEFE" points="31.1284 84.2801 32.5854 83.5051 33.8434 84.2601 32.3844 85.0341"></polygon> + <polygon id="Fill-208" fill="#626366" points="32.3843 85.034 32.3843 85.317 31.1283 84.561 31.1283 84.28"></polygon> + <polygon id="Fill-210" fill="#231F20" points="34.2085 86.1297 35.6655 85.3567 35.6675 85.6397 34.2085 86.4127"></polygon> + <polygon id="Fill-212" fill="#FEFEFE" points="32.9507 85.3758 34.4097 84.6008 35.6657 85.3558 34.2087 86.1298"></polygon> + <polygon id="Fill-214" fill="#626366" points="34.2085 86.1297 34.2085 86.4127 32.9525 85.6567 32.9505 85.3757"></polygon> + <polygon id="Fill-216" fill="#231F20" points="11.7823 70.2537 13.2403 69.4807 13.2403 69.7617 11.7823 70.5367"></polygon> + <polygon id="Fill-218" fill="#FEFEFE" points="10.5254 69.4979 11.9834 68.7249 13.2404 69.4799 11.7824 70.2539"></polygon> + <polygon id="Fill-220" fill="#626366" points="11.7823 70.2537 11.7823 70.5367 10.5253 69.7807 10.5253 69.4977"></polygon> + <polygon id="Fill-222" fill="#231F20" points="13.6426 71.3709 15.1006 70.5979 15.1006 70.8809 13.6426 71.6539"></polygon> + <polygon id="Fill-224" fill="#FEFEFE" points="12.3858 70.617 13.8438 69.842 15.1008 70.597 13.6428 71.371"></polygon> + <polygon id="Fill-226" fill="#626366" points="13.6426 71.3709 13.6426 71.6539 12.3856 70.8979 12.3856 70.6169"></polygon> + <polygon id="Fill-228" fill="#231F20" points="15.5952 72.5448 17.0522 71.7718 17.0542 72.0548 15.5952 72.8278"></polygon> + <polygon id="Fill-230" fill="#FEFEFE" points="14.3389 71.7889 15.7969 71.0159 17.0519 71.7709 15.5949 72.5449"></polygon> + <polygon id="Fill-232" fill="#626366" points="15.5952 72.5448 15.5952 72.8278 14.3392 72.0718 14.3392 71.7888"></polygon> + <polygon id="Fill-234" fill="#231F20" points="17.4624 73.6678 18.9194 72.8928 18.9214 73.1758 17.4624 73.9488"></polygon> + <polygon id="Fill-236" fill="#FEFEFE" points="16.2066 72.9119 17.6636 72.1389 18.9196 72.8919 17.4626 73.6679"></polygon> + <polygon id="Fill-238" fill="#626366" points="17.4624 73.6678 17.4624 73.9488 16.2064 73.1948 16.2064 72.9118"></polygon> + <polygon id="Fill-240" fill="#231F20" points="19.3902 74.826 20.8492 74.051 20.8492 74.334 19.3902 75.107"></polygon> + <polygon id="Fill-242" fill="#FEFEFE" points="18.1343 74.0701 19.5913 73.2971 20.8493 74.0501 19.3903 74.8261"></polygon> + <polygon id="Fill-244" fill="#626366" points="19.3902 74.826 19.3902 75.107 18.1342 74.353 18.1342 74.07"></polygon> + <polygon id="Fill-246" fill="#231F20" points="21.2574 75.9471 22.7164 75.1741 22.7164 75.4551 21.2574 76.2301"></polygon> + <polygon id="Fill-248" fill="#FEFEFE" points="19.9937 75.1873 21.4527 74.4143 22.7167 75.1733 21.2577 75.9473"></polygon> + <polygon id="Fill-250" fill="#626366" points="21.2574 75.9471 21.2574 76.2301 19.9934 75.4701 19.9934 75.1871"></polygon> + <polygon id="Fill-252" fill="#231F20" points="23.2105 77.1209 24.6675 76.3479 24.6695 76.6289 23.2105 77.4019"></polygon> + <polygon id="Fill-254" fill="#FEFEFE" points="21.9527 76.3651 23.4117 75.5921 24.6677 76.3471 23.2107 77.1211"></polygon> + <polygon id="Fill-256" fill="#626366" points="23.2105 77.1209 23.2105 77.4019 21.9545 76.6479 21.9525 76.3649"></polygon> + <polygon id="Fill-258" fill="#231F20" points="25.0718 78.2381 26.5288 77.4651 26.5288 77.7481 25.0718 78.5211"></polygon> + <polygon id="Fill-260" fill="#FEFEFE" points="23.814 77.4842 25.271 76.7092 26.529 77.4642 25.072 78.2382"></polygon> + <polygon id="Fill-262" fill="#626366" points="25.0718 78.2381 25.0718 78.5211 23.8138 77.7651 23.8138 77.4841"></polygon> + <polygon id="Fill-264" fill="#231F20" points="26.9019 79.3377 28.3589 78.5647 28.3589 78.8477 26.9019 79.6207"></polygon> + <polygon id="Fill-266" fill="#FEFEFE" points="25.6441 78.5838 27.1031 77.8088 28.3591 78.5638 26.9021 79.3378"></polygon> + <polygon id="Fill-268" fill="#626366" points="26.9019 79.3377 26.9019 79.6207 25.6439 78.8647 25.6439 78.5837"></polygon> + <polygon id="Fill-270" fill="#231F20" points="28.7613 80.4569 30.2203 79.6819 30.2203 79.9649 28.7613 80.7379"></polygon> + <polygon id="Fill-272" fill="#FEFEFE" points="27.5054 79.701 28.9624 78.928 30.2204 79.681 28.7614 80.457"></polygon> + <polygon id="Fill-274" fill="#626366" points="28.7613 80.4569 28.7613 80.7379 27.5053 79.9839 27.5053 79.7009"></polygon> + <polygon id="Fill-276" fill="#231F20" points="30.7144 81.6297 32.1734 80.8557 32.1734 81.1387 30.7144 81.9107"></polygon> + <polygon id="Fill-278" fill="#FEFEFE" points="29.4585 80.8748 30.9155 80.1018 32.1735 80.8548 30.7145 81.6298"></polygon> + <polygon id="Fill-280" fill="#626366" points="30.7144 81.6297 30.7144 81.9107 29.4584 81.1557 29.4584 80.8747"></polygon> + <polygon id="Fill-282" fill="#231F20" points="32.5816 82.7508 34.0406 81.9778 34.0406 82.2608 32.5816 83.0338"></polygon> + <polygon id="Fill-284" fill="#FEFEFE" points="31.3257 81.9949 32.7827 81.2229 34.0407 81.9769 32.5817 82.7509"></polygon> + <polygon id="Fill-286" fill="#626366" points="32.5816 82.7508 32.5816 83.0338 31.3256 82.2778 31.3256 81.9948"></polygon> + <polygon id="Fill-288" fill="#231F20" points="34.5093 83.909 35.9683 83.136 35.9683 83.419 34.5093 84.192"></polygon> + <polygon id="Fill-290" fill="#FEFEFE" points="33.2534 83.1551 34.7104 82.3801 35.9684 83.1351 34.5094 83.9091"></polygon> + <polygon id="Fill-292" fill="#626366" points="34.5093 83.909 34.5093 84.192 33.2533 83.436 33.2533 83.155"></polygon> + <polygon id="Fill-294" fill="#231F20" points="36.3335 85.0047 37.7905 84.2317 37.7925 84.5147 36.3335 85.2877"></polygon> + <polygon id="Fill-296" fill="#FEFEFE" points="35.0757 84.2508 36.5347 83.4758 37.7907 84.2308 36.3337 85.0048"></polygon> + <polygon id="Fill-298" fill="#626366" points="36.3335 85.0047 36.3335 85.2877 35.0775 84.5317 35.0755 84.2507"></polygon> + <polygon id="Fill-300" fill="#231F20" points="6.2657 74.1815 7.7237 73.4065 7.7237 73.6815 6.2657 74.4545"></polygon> + <polygon id="Fill-302" fill="#FEFEFE" points="5.0078 73.4256 6.4658 72.6526 7.7238 73.4056 6.2658 74.1816"></polygon> + <polygon id="Fill-304" fill="#626366" points="6.2657 74.1815 6.2657 74.4545 5.0087 73.6995 5.0077 73.4255"></polygon> + <polygon id="Fill-306" fill="#231F20" points="8.0342 75.244 9.4922 74.469 9.4922 74.744 8.0342 75.517"></polygon> + <polygon id="Fill-308" fill="#FEFEFE" points="6.7774 74.4881 8.2354 73.7151 9.4924 74.4681 8.0344 75.2441"></polygon> + <polygon id="Fill-310" fill="#626366" points="8.0342 75.244 8.0342 75.517 6.7772 74.764 6.7772 74.488"></polygon> + <polygon id="Fill-312" fill="#231F20" points="9.8946 76.3612 11.3526 75.5882 11.3526 75.8612 9.8946 76.6362"></polygon> + <polygon id="Fill-314" fill="#FEFEFE" points="8.6377 75.6053 10.0957 74.8323 11.3527 75.5873 9.8947 76.3613"></polygon> + <polygon id="Fill-316" fill="#626366" points="9.8946 76.3612 9.8946 76.6362 8.6376 75.8812 8.6376 75.6052"></polygon> + <polygon id="Fill-318" fill="#231F20" points="25.4527 85.6805 26.9117 84.9075 26.9117 85.1805 25.4527 85.9555"></polygon> + <polygon id="Fill-320" fill="#FEFEFE" points="24.1949 84.9246 25.6539 84.1516 26.9119 84.9066 25.4529 85.6806"></polygon> + <polygon id="Fill-322" fill="#626366" points="25.4527 85.6805 25.4527 85.9555 24.1967 85.2005 24.1947 84.9245"></polygon> + <polygon id="Fill-324" fill="#231F20" points="27.2222 86.743 28.6792 85.97 28.6792 86.243 27.2222 87.018"></polygon> + <polygon id="Fill-326" fill="#FEFEFE" points="25.9644 85.9871 27.4234 85.2141 28.6794 85.9691 27.2224 86.7431"></polygon> + <polygon id="Fill-328" fill="#626366" points="27.2222 86.743 27.2222 87.018 25.9642 86.263 25.9642 85.987"></polygon> + <polygon id="Fill-330" fill="#231F20" points="29.0816 87.8602 30.5406 87.0872 30.5406 87.3622 29.0816 88.1352"></polygon> + <polygon id="Fill-332" fill="#FEFEFE" points="27.8257 87.1063 29.2827 86.3313 30.5407 87.0863 29.0817 87.8603"></polygon> + <polygon id="Fill-334" fill="#626366" points="29.0816 87.8602 29.0816 88.1352 27.8256 87.3802 27.8256 87.1062"></polygon> + <polygon id="Fill-336" fill="#231F20" points="23.4663 84.5262 24.9253 83.7532 24.9253 84.0282 23.4663 84.8012"></polygon> + <polygon id="Fill-338" fill="#FEFEFE" points="10.5723 76.7791 12.0303 76.0061 24.9253 83.7531 23.4663 84.5261"></polygon> + <polygon id="Fill-340" fill="#626366" points="23.4663 84.5262 23.4663 84.8012 10.5723 77.0542 10.5723 76.7792"></polygon> + <polyline id="Stroke-342" stroke="#E1E2E3" stroke-linecap="round" stroke-linejoin="round" points="0.7422 72.8846 30.1522 90.5536 30.1522 93.7586"></polyline> + </g> + <g id="Group-351" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 59.663000)"> + <g id="Group-347"> + <mask id="mask-2" fill="white"> + <use xlink:href="#path-1"></use> + </mask> + <g id="Clip-346"></g> + <path d="M1.1685,9.4393 L18.0395,0.4843 C17.7615,0.6323 17.5735,0.9483 17.5265,1.4033 L0.6555,10.3573 C0.7025,9.9033 0.8915,9.5853 1.1685,9.4393" id="Stroke-345" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-2)"></path> + </g> + <g id="Group-350"> + <mask id="mask-4" fill="white"> + <use xlink:href="#path-3"></use> + </mask> + <g id="Clip-349"></g> + <path d="M0.6558,10.3577 L17.5268,1.4027 C17.5198,1.4757 17.5168,1.5527 17.5168,1.6327 L0.6438,10.5887 C0.6438,10.5087 0.6468,10.4307 0.6558,10.3577" id="Stroke-348" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-4)"></path> + </g> + </g> + <path d="M65.1685,69.1023 C70.7915,66.1173 76.4165,63.1323 82.0395,60.1473 C81.7165,60.3183 81.5155,60.7183 81.5175,61.2963 L64.6445,70.2523 C64.6445,69.6733 64.8455,69.2743 65.1685,69.1023 Z" id="Stroke-352" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-363" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 94.663000)"> + <g id="Group-356"> + <mask id="mask-6" fill="white"> + <use xlink:href="#path-5"></use> + </mask> + <g id="Clip-355"></g> + <path d="M0.6118,9.8255 L17.4828,0.8695 C17.5528,0.9115 17.6218,0.9475 17.6888,0.9775 L0.8188,9.9335 C0.7508,9.9035 0.6808,9.8665 0.6118,9.8255" id="Stroke-354" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-6)"></path> + </g> + <g id="Group-359"> + <mask id="mask-8" fill="white"> + <use xlink:href="#path-7"></use> + </mask> + <g id="Clip-358"></g> + <path d="M0.8189,9.9334 L17.6889,0.9774 C17.8569,1.0534 18.0139,1.0934 18.1599,1.1024 L1.2899,10.0574 C1.1429,10.0484 0.9839,10.0074 0.8189,9.9334" id="Stroke-357" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-8)"></path> + </g> + <g id="Group-362"> + <mask id="mask-10" fill="white"> + <use xlink:href="#path-9"></use> + </mask> + <g id="Clip-361"></g> + <path d="M1.2896,10.0574 L18.1596,1.1024 C18.3326,1.1134 18.4876,1.0804 18.6216,1.0104 L1.7516,9.9644 C1.6166,10.0364 1.4606,10.0684 1.2896,10.0574" id="Stroke-360" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-10)"></path> + </g> + </g> + <path d="M101.6216,95.6731 C95.9976,98.6581 90.3746,101.6431 84.7516,104.6281 C84.4526,104.7861 84.0536,104.7521 83.6116,104.4881 L100.4826,95.5331 C100.9246,95.7961 101.3256,95.8311 101.6216,95.6731 Z" id="Stroke-364" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-375" stroke-width="1" fill-rule="evenodd" transform="translate(65.000000, 59.663000)"> + <g id="Group-368"> + <mask id="mask-12" fill="white"> + <use xlink:href="#path-11"></use> + </mask> + <g id="Clip-367"></g> + <path d="M0.1685,9.4393 L17.0395,0.4843 C17.1745,0.4133 17.3295,0.3803 17.4995,0.3913 L0.6295,9.3473 C0.4565,9.3373 0.3045,9.3683 0.1685,9.4393" id="Stroke-366" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-12)"></path> + </g> + <g id="Group-371"> + <mask id="mask-14" fill="white"> + <use xlink:href="#path-13"></use> + </mask> + <g id="Clip-370"></g> + <path d="M0.6294,9.347 L17.4994,0.391 C17.6454,0.401 17.8044,0.441 17.9694,0.516 L1.0984,9.47 C0.9324,9.397 0.7744,9.355 0.6294,9.347" id="Stroke-369" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-14)"></path> + </g> + <g id="Group-374"> + <mask id="mask-16" fill="white"> + <use xlink:href="#path-15"></use> + </mask> + <g id="Clip-373"></g> + <path d="M1.0982,9.47 L17.9692,0.516 C18.0382,0.546 18.1082,0.584 18.1802,0.625 L1.3082,9.581 C1.2372,9.537 1.1652,9.503 1.0982,9.47" id="Stroke-372" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-16)"></path> + </g> + </g> + <path d="M65.1685,69.1023 C70.7915,66.1173 76.4165,63.1323 82.0395,60.1473 C82.3375,59.9883 82.7375,60.0233 83.1805,60.2883 L66.3085,69.2443 C65.8665,68.9793 65.4665,68.9453 65.1685,69.1023 Z" id="Stroke-376" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-387" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 58.663000)"> + <g id="Group-380"> + <mask id="mask-18" fill="white"> + <use xlink:href="#path-17"></use> + </mask> + <g id="Clip-379"></g> + <path d="M0.689,9.5408 L17.56,0.5848 C17.751,0.4848 17.971,0.4388 18.212,0.4548 L1.342,9.4088 C1.102,9.3938 0.878,9.4388 0.689,9.5408" id="Stroke-378" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-18)"></path> + </g> + <g id="Group-383"> + <mask id="mask-20" fill="white"> + <use xlink:href="#path-19"></use> + </mask> + <g id="Clip-382"></g> + <path d="M1.3423,9.4085 L18.2123,0.4545 C18.4213,0.4665 18.6443,0.5245 18.8803,0.6305 L2.0083,9.5855 C1.7743,9.4795 1.5513,9.4235 1.3423,9.4085" id="Stroke-381" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-20)"></path> + </g> + <g id="Group-386"> + <mask id="mask-22" fill="white"> + <use xlink:href="#path-21"></use> + </mask> + <g id="Clip-385"></g> + <path d="M2.0083,9.5858 L18.8803,0.6298 C18.9783,0.6738 19.0783,0.7268 19.1793,0.7868 L2.3083,9.7428 C2.2073,9.6828 2.1083,9.6298 2.0083,9.5858" id="Stroke-384" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-22)"></path> + </g> + </g> + <path d="M64.689,68.2038 C70.314,65.2188 75.937,62.2328 81.56,59.2478 C81.983,59.0238 82.552,59.0738 83.179,59.4498 L66.308,68.4058 C65.681,68.0298 65.113,67.9808 64.689,68.2038 Z" id="Stroke-388" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-392" stroke-width="1" fill-rule="evenodd" transform="translate(84.000000, 93.663000)"> + <mask id="mask-24" fill="white"> + <use xlink:href="#path-23"></use> + </mask> + <g id="Clip-391"></g> + <path d="M1.2642,10.0467 L18.1342,1.0917 C18.0882,1.5447 17.9022,1.8607 17.6212,2.0097 L0.7512,10.9647 C1.0292,10.8167 1.2172,10.5007 1.2642,10.0467" id="Stroke-390" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-24)"></path> + </g> + <path d="M101.6216,95.6731 C95.9976,98.6581 90.3746,101.6431 84.7516,104.6281 C85.0736,104.4561 85.2766,104.0571 85.2766,103.4811 L102.1456,94.5271 C102.1456,95.1021 101.9456,95.5011 101.6216,95.6731 Z" id="Stroke-393" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-401" stroke-width="1" fill-rule="evenodd" transform="translate(85.000000, 94.663000)"> + <g id="Group-397"> + <mask id="mask-26" fill="white"> + <use xlink:href="#path-25"></use> + </mask> + <g id="Clip-396"></g> + <path d="M0.9751,9.2376 L17.8451,0.2826 C17.8451,0.3936 17.8391,0.5016 17.8291,0.6036 L0.9581,9.5586 C0.9681,9.4566 0.9751,9.3486 0.9751,9.2376" id="Stroke-395" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-26)"></path> + </g> + <g id="Group-400"> + <mask id="mask-28" fill="white"> + <use xlink:href="#path-27"></use> + </mask> + <g id="Clip-399"></g> + <path d="M0.9585,9.5584 L17.8295,0.6034 C17.7645,1.2474 17.4945,1.6994 17.0995,1.9094 L0.2285,10.8654 C0.6245,10.6544 0.8905,10.2024 0.9585,9.5584" id="Stroke-398" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-28)"></path> + </g> + </g> + <g id="Group-412" stroke-width="1" fill-rule="evenodd" transform="translate(66.000000, 58.663000)" stroke="#636466" stroke-linecap="round" stroke-linejoin="round"> + <path d="M36.0992,37.9095 L19.2282,46.8655 C19.6872,46.6205 19.9722,46.0555 19.9752,45.2375 L36.8452,36.2835 C36.8452,37.0995 36.5582,37.6665 36.0992,37.9095 Z" id="Stroke-402" stroke-width="2"></path> + <polygon id="Stroke-404" stroke-width="2" points="0.3081 10.5809 17.1801 1.6249 34.4651 12.0119 17.5931 20.9679"></polygon> + <polygon id="Stroke-406" stroke-width="2" points="19.2603 23.9764 36.1333 15.0204 36.1463 35.8634 19.2773 44.8184"></polygon> + <polygon id="Stroke-408" stroke-width="2" points="0.3081 9.7425 17.1791 0.7865 34.4651 11.1725 17.5921 20.1295"></polygon> + <polygon id="Stroke-410" stroke-width="2" points="19.9585 24.3958 36.8315 15.4408 36.8455 36.2828 19.9755 45.2378"></polygon> + </g> + <g id="Group-443" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 70.663000)"> + <g id="Group-415"> + <mask id="mask-30" fill="white"> + <use xlink:href="#path-29"></use> + </mask> + <g id="Clip-414"></g> + <path d="M0.5933,8.9681 L17.4653,0.0111 C17.5563,0.0671 17.6483,0.1301 17.7363,0.2011 L0.8633,9.1551 C0.7763,9.0851 0.6873,9.0221 0.5933,8.9681" id="Stroke-413" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-30)"></path> + </g> + <g id="Group-418"> + <mask id="mask-32" fill="white"> + <use xlink:href="#path-31"></use> + </mask> + <g id="Clip-417"></g> + <path d="M0.8628,9.1556 L17.7358,0.2006 C17.8478,0.2916 17.9578,0.3916 18.0618,0.5046 L1.1908,9.4596 C1.0868,9.3486 0.9768,9.2456 0.8628,9.1556" id="Stroke-416" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-32)"></path> + </g> + <g id="Group-421"> + <mask id="mask-34" fill="white"> + <use xlink:href="#path-33"></use> + </mask> + <g id="Clip-420"></g> + <path d="M1.1909,9.4593 L18.0619,0.5043 C18.1279,0.5723 18.1929,0.6473 18.2529,0.7233 L1.3819,9.6783 C1.3209,9.6033 1.2559,9.5283 1.1909,9.4593" id="Stroke-419" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-34)"></path> + </g> + <g id="Group-424"> + <mask id="mask-36" fill="white"> + <use xlink:href="#path-35"></use> + </mask> + <g id="Clip-423"></g> + <path d="M1.3824,9.6785 L18.2524,0.7235 C18.3144,0.7985 18.3704,0.8765 18.4264,0.9555 L1.5534,9.9115 C1.4994,9.8315 1.4434,9.7545 1.3824,9.6785" id="Stroke-422" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-36)"></path> + </g> + <g id="Group-427"> + <mask id="mask-38" fill="white"> + <use xlink:href="#path-37"></use> + </mask> + <g id="Clip-426"></g> + <path d="M1.5533,9.9115 L18.4263,0.9555 C18.5233,1.0975 18.6133,1.2475 18.6953,1.4025 L1.8223,10.3585 C1.7423,10.2035 1.6533,10.0535 1.5533,9.9115" id="Stroke-425" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-38)"></path> + </g> + <g id="Group-430"> + <mask id="mask-40" fill="white"> + <use xlink:href="#path-39"></use> + </mask> + <g id="Clip-429"></g> + <path d="M1.8218,10.3582 L18.6948,1.4022 C18.7378,1.4842 18.7788,1.5682 18.8158,1.6572 L1.9458,10.6102 C1.9068,10.5252 1.8678,10.4412 1.8218,10.3582" id="Stroke-428" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-40)"></path> + </g> + <g id="Group-433"> + <mask id="mask-42" fill="white"> + <use xlink:href="#path-41"></use> + </mask> + <g id="Clip-432"></g> + <path d="M1.9458,10.6107 L18.8158,1.6567 C18.8498,1.7327 18.8828,1.8087 18.9088,1.8867 L2.0388,10.8407 C2.0088,10.7647 1.9778,10.6877 1.9458,10.6107" id="Stroke-431" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-42)"></path> + </g> + <g id="Group-436"> + <mask id="mask-44" fill="white"> + <use xlink:href="#path-43"></use> + </mask> + <g id="Clip-435"></g> + <path d="M2.0386,10.8411 L18.9086,1.8861 C18.9466,1.9851 18.9776,2.0851 19.0086,2.1851 L2.1376,11.1411 C2.1086,11.0401 2.0756,10.9401 2.0386,10.8411" id="Stroke-434" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-44)"></path> + </g> + <g id="Group-439"> + <mask id="mask-46" fill="white"> + <use xlink:href="#path-45"></use> + </mask> + <g id="Clip-438"></g> + <path d="M2.1372,11.1409 L19.0082,2.1849 C19.0532,2.3509 19.0882,2.5149 19.1092,2.6739 L2.2382,11.6289 C2.2172,11.4679 2.1832,11.3039 2.1372,11.1409" id="Stroke-437" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-46)"></path> + </g> + <g id="Group-442"> + <mask id="mask-48" fill="white"> + <use xlink:href="#path-47"></use> + </mask> + <g id="Clip-441"></g> + <path d="M2.2378,11.6292 L19.1088,2.6742 C19.1248,2.7912 19.1318,2.9072 19.1338,3.0202 L2.2598,11.9762 C2.2598,11.8622 2.2538,11.7472 2.2378,11.6292" id="Stroke-440" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-48)"></path> + </g> + </g> + <g id="Group-448" stroke-width="1" fill-rule="evenodd" transform="translate(63.000000, 67.663000)" stroke="#636466" stroke-linecap="round" stroke-linejoin="round"> + <path d="M20.5933,11.9681 L37.4653,3.0111 C38.3853,3.5661 39.1303,4.9111 39.1333,6.0201 L22.2603,14.9761 C22.2603,13.8651 21.5163,12.5211 20.5933,11.9681 Z" id="Stroke-444" stroke-width="2"></path> + <path d="M20.5923,11.1292 C21.9003,11.9132 22.9553,13.8182 22.9583,15.3962 L22.9753,36.2372 C22.9723,37.8082 21.9183,38.4502 20.6123,37.6652 L3.3273,27.2782 C2.0213,26.4932 0.9623,24.5822 0.9593,23.0122 L0.9463,2.1692 C0.9453,0.5942 2.0023,-0.0418 3.3083,0.7422 L20.5923,11.1292 Z" id="Stroke-446" stroke-width="2"></path> + </g> + <g id="Group-479" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 69.663000)"> + <g id="Group-451"> + <mask id="mask-50" fill="white"> + <use xlink:href="#path-49"></use> + </mask> + <g id="Clip-450"></g> + <path d="M0.5923,9.1292 L17.4653,0.1722 C17.5953,0.2512 17.7213,0.3412 17.8473,0.4412 L0.9763,9.3962 C0.8513,9.2952 0.7233,9.2082 0.5923,9.1292" id="Stroke-449" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-50)"></path> + </g> + <g id="Group-454"> + <mask id="mask-52" fill="white"> + <use xlink:href="#path-51"></use> + </mask> + <g id="Clip-453"></g> + <path d="M0.9761,9.3958 L17.8471,0.4408 C18.0071,0.5678 18.1631,0.7128 18.3111,0.8698 L1.4401,9.8258 C1.2911,9.6688 1.1371,9.5238 0.9761,9.3958" id="Stroke-452" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-52)"></path> + </g> + <g id="Group-457"> + <mask id="mask-54" fill="white"> + <use xlink:href="#path-53"></use> + </mask> + <g id="Clip-456"></g> + <path d="M1.44,9.8255 L18.311,0.8695 C18.404,0.9695 18.497,1.0745 18.583,1.1815 L1.711,10.1385 C1.624,10.0295 1.534,9.9245 1.44,9.8255" id="Stroke-455" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-54)"></path> + </g> + <g id="Group-460"> + <mask id="mask-56" fill="white"> + <use xlink:href="#path-55"></use> + </mask> + <g id="Clip-459"></g> + <path d="M1.7115,10.139 L18.5825,1.182 C18.6675,1.288 18.7485,1.399 18.8275,1.512 L1.9555,10.467 C1.8775,10.354 1.7975,10.245 1.7115,10.139" id="Stroke-458" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-56)"></path> + </g> + <g id="Group-463"> + <mask id="mask-58" fill="white"> + <use xlink:href="#path-57"></use> + </mask> + <g id="Clip-462"></g> + <path d="M1.9556,10.4671 L18.8276,1.5121 C18.9666,1.7141 19.0946,1.9261 19.2086,2.1471 L2.3386,11.1021 C2.2246,10.8821 2.0956,10.6691 1.9556,10.4671" id="Stroke-461" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-58)"></path> + </g> + <g id="Group-466"> + <mask id="mask-60" fill="white"> + <use xlink:href="#path-59"></use> + </mask> + <g id="Clip-465"></g> + <path d="M2.3384,11.1024 L19.2084,2.1464 C19.2704,2.2644 19.3274,2.3844 19.3824,2.5054 L2.5094,11.4604 C2.4564,11.3384 2.4004,11.2194 2.3384,11.1024" id="Stroke-464" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-60)"></path> + </g> + <g id="Group-469"> + <mask id="mask-62" fill="white"> + <use xlink:href="#path-61"></use> + </mask> + <g id="Clip-468"></g> + <path d="M2.5093,11.4608 L19.3823,2.5048 C19.4293,2.6128 19.4723,2.7228 19.5143,2.8308 L2.6443,11.7888 C2.6043,11.6768 2.5583,11.5678 2.5093,11.4608" id="Stroke-467" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-62)"></path> + </g> + <g id="Group-472"> + <mask id="mask-64" fill="white"> + <use xlink:href="#path-63"></use> + </mask> + <g id="Clip-471"></g> + <path d="M2.6441,11.7884 L19.5141,2.8304 C19.5681,2.9744 19.6141,3.1174 19.6541,3.2604 L2.7841,12.2144 C2.7441,12.0724 2.6971,11.9294 2.6441,11.7884" id="Stroke-470" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-64)"></path> + </g> + <g id="Group-475"> + <mask id="mask-66" fill="white"> + <use xlink:href="#path-65"></use> + </mask> + <g id="Clip-474"></g> + <path d="M2.7837,12.2142 L19.6537,3.2602 C19.7207,3.4912 19.7697,3.7252 19.7977,3.9542 L2.9267,12.9092 C2.8967,12.6802 2.8477,12.4482 2.7837,12.2142" id="Stroke-473" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-66)"></path> + </g> + <g id="Group-478"> + <mask id="mask-68" fill="white"> + <use xlink:href="#path-67"></use> + </mask> + <g id="Clip-477"></g> + <path d="M2.9263,12.9095 L19.7973,3.9535 C19.8193,4.1175 19.8293,4.2815 19.8313,4.4415 L2.9583,13.3955 C2.9583,13.2365 2.9473,13.0745 2.9263,12.9095" id="Stroke-476" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" mask="url(#mask-68)"></path> + </g> + </g> + <path d="M83.5923,78.7922 L100.4653,69.8352 C101.7713,70.6202 102.8253,72.5272 102.8313,74.1042 L85.9583,83.0592 C85.9553,81.4812 84.9003,79.5762 83.5923,78.7922 Z" id="Stroke-480" stroke="#636466" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path> + <g id="Group-512" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 81.663000)"> + <g id="Group-484"> + <mask id="mask-70" fill="white"> + <use xlink:href="#path-69"></use> + </mask> + <g id="Clip-483"></g> + <path d="M0.3794,9.451 L17.2494,0.496 C17.2494,0.61 17.2594,0.723 17.2734,0.84 L0.4024,9.797 C0.3864,9.68 0.3794,9.563 0.3794,9.451" id="Fill-482" fill="#231F20" mask="url(#mask-70)"></path> + </g> + <g id="Group-487"> + <mask id="mask-72" fill="white"> + <use xlink:href="#path-71"></use> + </mask> + <g id="Clip-486"></g> + <path d="M0.4029,9.7967 L17.2729,0.8397 C17.2939,1.0017 17.3279,1.1647 17.3739,1.3287 L0.5029,10.2827 C0.4569,10.1207 0.4229,9.9557 0.4029,9.7967" id="Fill-485" fill="#231F20" mask="url(#mask-72)"></path> + </g> + <g id="Group-490"> + <mask id="mask-74" fill="white"> + <use xlink:href="#path-73"></use> + </mask> + <g id="Clip-489"></g> + <path d="M0.5025,10.283 L17.3735,1.328 C17.4005,1.429 17.4345,1.528 17.4715,1.628 L0.6015,10.582 C0.5645,10.483 0.5305,10.383 0.5025,10.283" id="Fill-488" fill="#231F20" mask="url(#mask-74)"></path> + </g> + <g id="Group-493"> + <mask id="mask-76" fill="white"> + <use xlink:href="#path-75"></use> + </mask> + <g id="Clip-492"></g> + <path d="M0.6011,10.5824 L17.4711,1.6274 C17.5001,1.7054 17.5321,1.7824 17.5651,1.8584 L0.6941,10.8134 C0.6611,10.7374 0.6281,10.6604 0.6011,10.5824" id="Fill-491" fill="#535456" mask="url(#mask-76)"></path> + </g> + <g id="Group-496"> + <mask id="mask-78" fill="white"> + <use xlink:href="#path-77"></use> + </mask> + <g id="Clip-495"></g> + <path d="M0.6939,10.8138 L17.5649,1.8588 C17.6029,1.9448 17.6439,2.0288 17.6879,2.1118 L0.8169,11.0678 C0.7729,10.9848 0.7309,10.8998 0.6939,10.8138" id="Fill-494" fill="#636467" mask="url(#mask-78)"></path> + </g> + <g id="Group-499"> + <mask id="mask-80" fill="white"> + <use xlink:href="#path-79"></use> + </mask> + <g id="Clip-498"></g> + <path d="M0.8169,11.0677 L17.6879,2.1117 C17.7689,2.2667 17.8589,2.4177 17.9559,2.5587 L1.0859,11.5137 C0.9879,11.3717 0.8959,11.2217 0.8169,11.0677" id="Fill-497" fill="#6F7073" mask="url(#mask-80)"></path> + </g> + <g id="Group-502"> + <mask id="mask-82" fill="white"> + <use xlink:href="#path-81"></use> + </mask> + <g id="Clip-501"></g> + <path d="M1.0855,11.514 L17.9555,2.559 C18.0125,2.639 18.0675,2.718 18.1295,2.792 L1.2585,11.749 C1.1975,11.673 1.1405,11.595 1.0855,11.514" id="Fill-500" fill="#636467" mask="url(#mask-82)"></path> + </g> + <g id="Group-505"> + <mask id="mask-84" fill="white"> + <use xlink:href="#path-83"></use> + </mask> + <g id="Clip-504"></g> + <path d="M1.2583,11.7489 L18.1293,2.7919 C18.1913,2.8699 18.2553,2.9439 18.3213,3.0149 L1.4513,11.9699 C1.3853,11.8989 1.3203,11.8249 1.2583,11.7489" id="Fill-503" fill="#535456" mask="url(#mask-84)"></path> + </g> + <g id="Group-508"> + <mask id="mask-86" fill="white"> + <use xlink:href="#path-85"></use> + </mask> + <g id="Clip-507"></g> + <path d="M1.4517,11.9696 L18.3217,3.0146 C18.4277,3.1256 18.5377,3.2276 18.6507,3.3186 L1.7807,12.2746 C1.6667,12.1836 1.5567,12.0806 1.4517,11.9696" id="Fill-506" fill="#231F20" mask="url(#mask-86)"></path> + </g> + <g id="Group-511"> + <mask id="mask-88" fill="white"> + <use xlink:href="#path-87"></use> + </mask> + <g id="Clip-510"></g> + <path d="M1.7808,12.2742 L18.6508,3.3182 C18.7378,3.3872 18.8248,3.4492 18.9178,3.5052 L2.0468,12.4602 C1.9568,12.4052 1.8668,12.3432 1.7808,12.2742" id="Fill-509" fill="#231F20" mask="url(#mask-88)"></path> + </g> + </g> + <g id="Group-517" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 60.663000)" fill="#231F20"> + <polygon id="Fill-513" points="0.3638 9.6097 17.2368 0.6537 17.2498 21.4957 0.3798 30.4507"></polygon> + <polygon id="Fill-515" points="2.0464 33.4598 18.9174 24.5048 36.2024 34.8908 19.3314 43.8458"></polygon> + </g> + <g id="Group-524" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 59.663000)"> + <g id="Group-520"> + <mask id="mask-90" fill="white"> + <use xlink:href="#path-89"></use> + </mask> + <g id="Clip-519"></g> + <path d="M0.8882,9.4598 L17.7592,0.5048 C17.4812,0.6528 17.2932,0.9688 17.2462,1.4238 L0.3752,10.3778 C0.4222,9.9238 0.6112,9.6058 0.8882,9.4598" id="Fill-518" fill="#231F20" mask="url(#mask-90)"></path> + </g> + <g id="Group-523"> + <mask id="mask-92" fill="white"> + <use xlink:href="#path-91"></use> + </mask> + <g id="Clip-522"></g> + <path d="M0.3755,10.3783 L17.2465,1.4233 C17.2395,1.4963 17.2365,1.5733 17.2365,1.6533 L0.3635,10.6093 C0.3635,10.5293 0.3665,10.4513 0.3755,10.3783" id="Fill-521" fill="#231F20" mask="url(#mask-92)"></path> + </g> + </g> + <g id="Group-534" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 94.663000)"> + <g id="Group-527"> + <mask id="mask-94" fill="white"> + <use xlink:href="#path-93"></use> + </mask> + <g id="Clip-526"></g> + <path d="M0.3316,9.846 L17.2026,0.89 C17.2726,0.932 17.3416,0.968 17.4086,0.998 L0.5386,9.954 C0.4706,9.924 0.4006,9.887 0.3316,9.846" id="Fill-525" fill="#231F20" mask="url(#mask-94)"></path> + </g> + <g id="Group-530"> + <mask id="mask-96" fill="white"> + <use xlink:href="#path-95"></use> + </mask> + <g id="Clip-529"></g> + <path d="M0.5386,9.9539 L17.4086,0.9979 C17.5766,1.0739 17.7336,1.1139 17.8796,1.1229 L1.0096,10.0779 C0.8626,10.0689 0.7036,10.0279 0.5386,9.9539" id="Fill-528" fill="#231F20" mask="url(#mask-96)"></path> + </g> + <g id="Group-533"> + <mask id="mask-98" fill="white"> + <use xlink:href="#path-97"></use> + </mask> + <g id="Clip-532"></g> + <path d="M1.0093,10.078 L17.8793,1.123 C18.0523,1.134 18.2073,1.101 18.3413,1.031 L1.4713,9.985 C1.3363,10.057 1.1803,10.089 1.0093,10.078" id="Fill-531" fill="#231F20" mask="url(#mask-98)"></path> + </g> + </g> + <g id="Group-544" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 59.663000)"> + <g id="Group-537"> + <mask id="mask-100" fill="white"> + <use xlink:href="#path-99"></use> + </mask> + <g id="Clip-536"></g> + <path d="M0.8882,9.4598 L17.7592,0.5048 C17.8942,0.4338 18.0492,0.4008 18.2192,0.4118 L1.3492,9.3678 C1.1762,9.3578 1.0242,9.3888 0.8882,9.4598" id="Fill-535" fill="#ABAEB0" mask="url(#mask-100)"></path> + </g> + <g id="Group-540"> + <mask id="mask-102" fill="white"> + <use xlink:href="#path-101"></use> + </mask> + <g id="Clip-539"></g> + <path d="M1.3492,9.3675 L18.2192,0.4115 C18.3652,0.4215 18.5242,0.4615 18.6892,0.5365 L1.8182,9.4905 C1.6522,9.4175 1.4942,9.3755 1.3492,9.3675" id="Fill-538" fill="#C6C7C9" mask="url(#mask-102)"></path> + </g> + <g id="Group-543"> + <mask id="mask-104" fill="white"> + <use xlink:href="#path-103"></use> + </mask> + <g id="Clip-542"></g> + <path d="M1.8179,9.4906 L18.6889,0.5366 C18.7579,0.5666 18.8279,0.6046 18.8999,0.6456 L2.0279,9.6016 C1.9569,9.5576 1.8849,9.5236 1.8179,9.4906" id="Fill-541" fill="#E0E1E2" mask="url(#mask-104)"></path> + </g> + </g> + <path d="M64.4087,68.2244 C70.0337,65.2394 75.6567,62.2534 81.2797,59.2684 C81.7027,59.0444 82.2717,59.0944 82.8987,59.4704 L66.0277,68.4264 C65.4007,68.0504 64.8327,68.0014 64.4087,68.2244" id="Fill-545" fill="#636466" fill-rule="evenodd"></path> + <g id="Group-556" stroke-width="1" fill-rule="evenodd" transform="translate(64.000000, 58.663000)"> + <g id="Group-549"> + <mask id="mask-106" fill="white"> + <use xlink:href="#path-105"></use> + </mask> + <g id="Clip-548"></g> + <path d="M0.4087,9.5614 L17.2797,0.6054 C17.4707,0.5054 17.6907,0.4594 17.9317,0.4754 L1.0617,9.4294 C0.8217,9.4144 0.5977,9.4594 0.4087,9.5614" id="Fill-547" fill="#636466" mask="url(#mask-106)"></path> + </g> + <g id="Group-552"> + <mask id="mask-108" fill="white"> + <use xlink:href="#path-107"></use> + </mask> + <g id="Clip-551"></g> + <path d="M1.062,9.429 L17.932,0.475 C18.141,0.487 18.364,0.545 18.6,0.651 L1.728,9.606 C1.494,9.5 1.271,9.444 1.062,9.429" id="Fill-550" fill="#898B8E" mask="url(#mask-108)"></path> + </g> + <g id="Group-555"> + <mask id="mask-110" fill="white"> + <use xlink:href="#path-109"></use> + </mask> + <g id="Clip-554"></g> + <path d="M1.7281,9.6063 L18.6001,0.6503 C18.6981,0.6943 18.7981,0.7473 18.8991,0.8073 L2.0281,9.7633 C1.9271,9.7033 1.8281,9.6503 1.7281,9.6063" id="Fill-553" fill="#989A9D" mask="url(#mask-110)"></path> + </g> + </g> + <g id="Group-559" stroke-width="1" fill-rule="evenodd" transform="translate(84.000000, 93.663000)"> + <mask id="mask-112" fill="white"> + <use xlink:href="#path-111"></use> + </mask> + <g id="Clip-558"></g> + <path d="M0.9839,10.0672 L17.8539,1.1122 C17.8079,1.5652 17.6219,1.8812 17.3409,2.0302 L0.4709,10.9852 C0.7489,10.8372 0.9369,10.5212 0.9839,10.0672" id="Fill-557" fill="#ABAEB0" mask="url(#mask-112)"></path> + </g> + <path d="M101.8189,96.593 L84.9479,105.549 C85.4069,105.304 85.6919,104.739 85.6949,103.921 L102.5649,94.967 C102.5649,95.783 102.2779,96.35 101.8189,96.593" id="Fill-560" fill="#626366" fill-rule="evenodd"></path> + <g id="Group-568" stroke-width="1" fill-rule="evenodd" transform="translate(84.000000, 94.663000)"> + <g id="Group-564"> + <mask id="mask-114" fill="white"> + <use xlink:href="#path-113"></use> + </mask> + <g id="Clip-563"></g> + <path d="M1.6949,9.2581 L18.5649,0.3031 C18.5649,0.4141 18.5589,0.5221 18.5489,0.6241 L1.6779,9.5791 C1.6879,9.4771 1.6949,9.3691 1.6949,9.2581" id="Fill-562" fill="#808184" mask="url(#mask-114)"></path> + </g> + <g id="Group-567"> + <mask id="mask-116" fill="white"> + <use xlink:href="#path-115"></use> + </mask> + <g id="Clip-566"></g> + <path d="M1.6783,9.5789 L18.5493,0.6239 C18.4843,1.2679 18.2143,1.7199 17.8193,1.9299 L0.9483,10.8859 C1.3443,10.6749 1.6103,10.2229 1.6783,9.5789" id="Fill-565" fill="#76787A" mask="url(#mask-116)"></path> + </g> + </g> + <g id="Group-577" stroke-width="1" fill-rule="evenodd" transform="translate(66.000000, 58.663000)"> + <polygon id="Fill-569" fill="#DCDEDF" points="0.0279 10.6014 16.8999 1.6454 34.1849 12.0324 17.3129 20.9884"></polygon> + <polygon id="Fill-571" fill="#BDBFC1" points="18.98 23.9969 35.853 15.0409 35.866 35.8839 18.997 44.8389"></polygon> + <polygon id="Fill-573" fill="#B3B5B7" points="0.0279 9.763 16.8989 0.807 34.1849 11.193 17.3119 20.15"></polygon> + <polygon id="Fill-575" fill="#898B8E" points="19.6783 24.4163 36.5513 15.4613 36.5653 36.3033 19.6953 45.2583"></polygon> + </g> + <g id="Group-608" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 70.663000)"> + <g id="Group-580"> + <mask id="mask-118" fill="white"> + <use xlink:href="#path-117"></use> + </mask> + <g id="Clip-579"></g> + <path d="M0.313,8.9886 L17.185,0.0316 C17.276,0.0876 17.368,0.1506 17.456,0.2216 L0.583,9.1756 C0.496,9.1056 0.407,9.0426 0.313,8.9886" id="Fill-578" fill="#E0E1E2" mask="url(#mask-118)"></path> + </g> + <g id="Group-583"> + <mask id="mask-120" fill="white"> + <use xlink:href="#path-119"></use> + </mask> + <g id="Clip-582"></g> + <path d="M0.5826,9.1761 L17.4556,0.2211 C17.5676,0.3121 17.6776,0.4121 17.7816,0.5251 L0.9106,9.4801 C0.8066,9.3691 0.6966,9.2661 0.5826,9.1761" id="Fill-581" fill="#FEFEFE" mask="url(#mask-120)"></path> + </g> + <g id="Group-586"> + <mask id="mask-122" fill="white"> + <use xlink:href="#path-121"></use> + </mask> + <g id="Clip-585"></g> + <path d="M0.9107,9.4798 L17.7817,0.5248 C17.8477,0.5928 17.9127,0.6678 17.9727,0.7438 L1.1017,9.6988 C1.0407,9.6238 0.9757,9.5488 0.9107,9.4798" id="Fill-584" fill="#FEFEFE" mask="url(#mask-122)"></path> + </g> + <g id="Group-589"> + <mask id="mask-124" fill="white"> + <use xlink:href="#path-123"></use> + </mask> + <g id="Clip-588"></g> + <path d="M1.1021,9.6991 L17.9721,0.7441 C18.0341,0.8191 18.0901,0.8971 18.1461,0.9761 L1.2731,9.9321 C1.2191,9.8521 1.1631,9.7751 1.1021,9.6991" id="Fill-587" fill="#FEFEFE" mask="url(#mask-124)"></path> + </g> + <g id="Group-592"> + <mask id="mask-126" fill="white"> + <use xlink:href="#path-125"></use> + </mask> + <g id="Clip-591"></g> + <path d="M1.273,9.932 L18.146,0.976 C18.243,1.118 18.333,1.268 18.415,1.423 L1.542,10.379 C1.462,10.224 1.373,10.074 1.273,9.932" id="Fill-590" fill="#FEFEFE" mask="url(#mask-126)"></path> + </g> + <g id="Group-595"> + <mask id="mask-128" fill="white"> + <use xlink:href="#path-127"></use> + </mask> + <g id="Clip-594"></g> + <path d="M1.5415,10.3787 L18.4145,1.4227 C18.4575,1.5047 18.4985,1.5887 18.5355,1.6777 L1.6655,10.6307 C1.6265,10.5457 1.5875,10.4617 1.5415,10.3787" id="Fill-593" fill="#FEFEFE" mask="url(#mask-128)"></path> + </g> + <g id="Group-598"> + <mask id="mask-130" fill="white"> + <use xlink:href="#path-129"></use> + </mask> + <g id="Clip-597"></g> + <path d="M1.6656,10.6312 L18.5356,1.6772 C18.5696,1.7532 18.6026,1.8292 18.6286,1.9072 L1.7586,10.8612 C1.7286,10.7852 1.6976,10.7082 1.6656,10.6312" id="Fill-596" fill="#FEFEFE" mask="url(#mask-130)"></path> + </g> + <g id="Group-601"> + <mask id="mask-132" fill="white"> + <use xlink:href="#path-131"></use> + </mask> + <g id="Clip-600"></g> + <path d="M1.7583,10.8616 L18.6283,1.9066 C18.6663,2.0056 18.6973,2.1056 18.7283,2.2056 L1.8573,11.1616 C1.8283,11.0606 1.7953,10.9606 1.7583,10.8616" id="Fill-599" fill="#FEFEFE" mask="url(#mask-132)"></path> + </g> + <g id="Group-604"> + <mask id="mask-134" fill="white"> + <use xlink:href="#path-133"></use> + </mask> + <g id="Clip-603"></g> + <path d="M1.857,11.1615 L18.728,2.2055 C18.773,2.3715 18.808,2.5355 18.829,2.6945 L1.958,11.6495 C1.937,11.4885 1.903,11.3245 1.857,11.1615" id="Fill-602" fill="#E0E1E2" mask="url(#mask-134)"></path> + </g> + <g id="Group-607"> + <mask id="mask-136" fill="white"> + <use xlink:href="#path-135"></use> + </mask> + <g id="Clip-606"></g> + <path d="M1.9576,11.6497 L18.8286,2.6947 C18.8446,2.8117 18.8516,2.9277 18.8536,3.0407 L1.9796,11.9967 C1.9796,11.8827 1.9736,11.7677 1.9576,11.6497" id="Fill-605" fill="#C6C7C9" mask="url(#mask-136)"></path> + </g> + </g> + <g id="Group-613" stroke-width="1" fill-rule="evenodd" transform="translate(63.000000, 67.663000)"> + <path d="M21.9966,35.8387 L21.9796,14.9967 C21.9796,13.8857 21.2356,12.5417 20.3126,11.9887 L3.0276,1.6017 C2.1066,1.0487 1.3636,1.4997 1.3636,2.6097 L1.3796,23.4507 C1.3796,24.5577 2.1246,25.9027 3.0466,26.4597 L20.3316,36.8457 C21.2526,37.3977 21.9966,36.9457 21.9966,35.8387 Z M20.3116,11.1497 C21.6196,11.9337 22.6756,13.8387 22.6786,15.4167 L22.6946,36.2577 C22.6916,37.8287 21.6386,38.4707 20.3316,37.6857 L3.0476,27.2987 C1.7406,26.5137 0.6826,24.6027 0.6796,23.0327 L0.6656,2.1897 C0.6646,0.6147 1.7226,-0.0213 3.0276,0.7627 L20.3116,11.1497 Z" id="Fill-609" fill="#636466"></path> + <path d="M20.313,11.9886 C21.236,12.5416 21.98,13.8856 21.98,14.9966 L21.997,35.8386 C21.997,36.9456 21.252,37.3976 20.332,36.8456 L3.046,26.4596 C2.125,25.9026 1.379,24.5576 1.379,23.4506 L1.364,2.6096 C1.364,1.4996 2.107,1.0496 3.028,1.6016 L20.313,11.9886 Z" id="Fill-611" fill="#F5F6F6"></path> + </g> + <g id="Group-644" stroke-width="1" fill-rule="evenodd" transform="translate(83.000000, 69.663000)"> + <g id="Group-616"> + <mask id="mask-138" fill="white"> + <use xlink:href="#path-137"></use> + </mask> + <g id="Clip-615"></g> + <path d="M0.312,9.1497 L17.185,0.1927 C17.315,0.2717 17.441,0.3617 17.567,0.4617 L0.696,9.4167 C0.571,9.3157 0.443,9.2287 0.312,9.1497" id="Fill-614" fill="#B3B5B7" mask="url(#mask-138)"></path> + </g> + <g id="Group-619"> + <mask id="mask-140" fill="white"> + <use xlink:href="#path-139"></use> + </mask> + <g id="Clip-618"></g> + <path d="M0.6958,9.4163 L17.5668,0.4613 C17.7268,0.5883 17.8828,0.7333 18.0308,0.8903 L1.1598,9.8463 C1.0108,9.6893 0.8568,9.5443 0.6958,9.4163" id="Fill-617" fill="#B3B5B7" mask="url(#mask-140)"></path> + </g> + <g id="Group-622"> + <mask id="mask-142" fill="white"> + <use xlink:href="#path-141"></use> + </mask> + <g id="Clip-621"></g> + <path d="M1.1597,9.846 L18.0307,0.89 C18.1237,0.99 18.2167,1.095 18.3027,1.202 L1.4307,10.159 C1.3437,10.05 1.2537,9.945 1.1597,9.846" id="Fill-620" fill="#BBBDBF" mask="url(#mask-142)"></path> + </g> + <g id="Group-625"> + <mask id="mask-144" fill="white"> + <use xlink:href="#path-143"></use> + </mask> + <g id="Clip-624"></g> + <path d="M1.4312,10.1595 L18.3022,1.2025 C18.3872,1.3085 18.4682,1.4195 18.5472,1.5325 L1.6752,10.4875 C1.5972,10.3745 1.5172,10.2655 1.4312,10.1595" id="Fill-623" fill="#D2D4D5" mask="url(#mask-144)"></path> + </g> + <g id="Group-628"> + <mask id="mask-146" fill="white"> + <use xlink:href="#path-145"></use> + </mask> + <g id="Clip-627"></g> + <path d="M1.6753,10.4876 L18.5473,1.5326 C18.6863,1.7346 18.8143,1.9466 18.9283,2.1676 L2.0583,11.1226 C1.9443,10.9026 1.8153,10.6896 1.6753,10.4876" id="Fill-626" fill="#E1E2E3" mask="url(#mask-146)"></path> + </g> + <g id="Group-631"> + <mask id="mask-148" fill="white"> + <use xlink:href="#path-147"></use> + </mask> + <g id="Clip-630"></g> + <path d="M2.0581,11.1229 L18.9281,2.1669 C18.9901,2.2849 19.0471,2.4049 19.1021,2.5259 L2.2291,11.4809 C2.1761,11.3589 2.1201,11.2399 2.0581,11.1229" id="Fill-629" fill="#D2D4D5" mask="url(#mask-148)"></path> + </g> + <g id="Group-634"> + <mask id="mask-150" fill="white"> + <use xlink:href="#path-149"></use> + </mask> + <g id="Clip-633"></g> + <path d="M2.229,11.4813 L19.102,2.5253 C19.149,2.6333 19.192,2.7433 19.234,2.8513 L2.364,11.8093 C2.324,11.6973 2.278,11.5883 2.229,11.4813" id="Fill-632" fill="#B3B5B7" mask="url(#mask-150)"></path> + </g> + <g id="Group-637"> + <mask id="mask-152" fill="white"> + <use xlink:href="#path-151"></use> + </mask> + <g id="Clip-636"></g> + <path d="M2.3638,11.8089 L19.2338,2.8509 C19.2878,2.9949 19.3338,3.1379 19.3738,3.2809 L2.5038,12.2349 C2.4638,12.0929 2.4168,11.9499 2.3638,11.8089" id="Fill-635" fill="#898B8E" mask="url(#mask-152)"></path> + </g> + <g id="Group-640"> + <mask id="mask-154" fill="white"> + <use xlink:href="#path-153"></use> + </mask> + <g id="Clip-639"></g> + <path d="M2.5034,12.2347 L19.3734,3.2807 C19.4404,3.5117 19.4894,3.7457 19.5174,3.9747 L2.6464,12.9297 C2.6164,12.7007 2.5674,12.4687 2.5034,12.2347" id="Fill-638" fill="#898B8E" mask="url(#mask-154)"></path> + </g> + <g id="Group-643"> + <mask id="mask-156" fill="white"> + <use xlink:href="#path-155"></use> + </mask> + <g id="Clip-642"></g> + <path d="M2.646,12.93 L19.517,3.974 C19.539,4.138 19.549,4.302 19.551,4.462 L2.678,13.416 C2.678,13.257 2.667,13.095 2.646,12.93" id="Fill-641" fill="#898B8E" mask="url(#mask-156)"></path> + </g> + </g> + <g id="Group-655" stroke-width="1" fill-rule="evenodd" transform="translate(65.000000, 75.663000)"> + <path d="M11.5835,11.9998 C11.5835,13.4788 10.5225,14.0398 9.2155,13.2548 C7.9085,12.4678 6.8475,10.6318 6.8475,9.1528 C6.8475,7.6728 7.9085,7.1108 9.2155,7.8978 C10.5225,8.6838 11.5835,10.5208 11.5835,11.9998" id="Fill-645" fill="#626366"></path> + <path d="M9.2115,11.7196 L9.2115,21.3846" id="Stroke-647" stroke="#626366" stroke-width="1.854" stroke-linecap="round" stroke-linejoin="round"></path> + <path d="M10.5962,10.743 C10.5962,11.09 10.3472,11.222 10.0382,11.037 C9.7332,10.854 9.4852,10.423 9.4852,10.076 C9.4852,9.729 9.7332,9.597 10.0382,9.781 C10.3472,9.967 10.5962,10.396 10.5962,10.743" id="Fill-649" fill="#FEFEFE"></path> + <path d="M15.0913,14.2752 C14.6733,10.7352 12.1773,6.7042 9.1533,4.8852 C6.1613,3.0882 3.6883,4.0782 3.2313,7.0392" id="Stroke-651" stroke="#626366" stroke-width="1.246" stroke-linecap="round" stroke-linejoin="round"></path> + <path d="M17.7193,13.4593 C17.6473,13.1793 17.5673,12.8973 17.4793,12.6153 C16.1283,8.2163 12.9873,3.8133 9.3233,1.6093 C5.4523,-0.7157 2.1693,0.1113 0.9563,3.2903" id="Stroke-653" stroke="#626366" stroke-width="1.246" stroke-linecap="round" stroke-linejoin="round"></path> + </g> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer.svg new file mode 100644 index 0000000000000000000000000000000000000000..a66ff729c150e7f4422af3307129f75763fb2cc6 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer.svg @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 75.601 103.382" style="enable-background:new 0 0 75.601 103.382;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#626366;stroke-width:2.668;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#FEFEFE;} + .st7{fill:#C4CACE;} + .st8{fill:none;stroke:#636466;stroke-width:1.156;} + .st9{fill:none;stroke:#E1E2E3;stroke-width:0.889;stroke-linecap:round;stroke-linejoin:round;} + .st10{filter:url(#Adobe_OpacityMaskFilter);} + .st11{fill:#FFFFFF;} + .st12{mask:url(#mask-2_1_);fill:none;stroke:#636466;stroke-width:1.29;} + .st13{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st14{fill:#E1E2E3;} + .st15{fill:#231F20;} + .st16{fill:#626366;} +</style> +<title>icon-PC</title> +<desc>Created with Sketch.</desc> +<g id="icon-PC"> + <polygon id="Stroke-1" class="st0" points="50.348,82.545 62.057,76.33 62.06,79.627 50.35,85.844 "/> + <polygon id="Stroke-2" class="st0" points="20.449,64.581 32.158,58.366 62.057,76.331 50.348,82.546 "/> + <polygon id="Stroke-3" class="st0" points="50.348,82.545 50.35,85.844 20.451,67.877 20.449,64.58 "/> + <polygon id="Fill-4" class="st1" points="50.348,82.545 62.057,76.33 62.06,79.627 50.35,85.844 "/> + <polygon id="Fill-5" class="st2" points="20.449,64.581 32.158,58.366 62.057,76.331 50.348,82.546 "/> + <polygon id="Fill-6" class="st3" points="50.348,82.545 50.35,85.844 20.451,67.877 20.449,64.58 "/> + <polyline id="Stroke-7" class="st4" points="20.691,64.614 50.101,82.284 50.101,85.489 "/> + <g id="Group-14" transform="translate(14.000000, 0.383000)"> + <polygon id="Stroke-8" class="st5" points="55.044,36.448 60.23,33.695 60.266,84.473 55.079,87.227 "/> + <polygon id="Stroke-10" class="st5" points="0.549,3.705 5.736,0.951 60.23,33.695 55.044,36.448 "/> + <polygon id="Stroke-12" class="st5" points="55.044,36.448 55.079,87.227 0.586,54.483 0.549,3.705 "/> + </g> + <polygon id="Fill-15" class="st1" points="69.043,36.831 74.23,34.078 74.266,84.856 69.08,87.61 "/> + <polygon id="Fill-16" class="st2" points="14.549,4.088 19.735,1.334 74.23,34.078 69.042,36.831 "/> + <polygon id="Fill-17" class="st3" points="69.043,36.831 69.08,87.61 14.585,54.866 14.55,4.088 "/> + <polygon id="Fill-18" class="st6" points="66.191,81.903 16.526,51.698 16.526,8.783 66.191,38.985 "/> + <g id="Group-346" transform="translate(1.000000, 3.383000)"> + <path id="Fill-19" class="st7" d="M46.764,27.198L63.247,37.1l0.092,9.216c0,0-0.293-6.608-5.193-10.75 + C51.89,30.28,46.764,27.198,46.764,27.198"/> + <path id="Stroke-21" class="st8" d="M14.184,52.532l53.89,32.379"/> + <polyline id="Stroke-23" class="st9" points="14.008,0.875 68.023,33.33 68.06,83.795 "/> + <g id="Group-27" transform="translate(73.000000, 64.000000)"> + <g id="Clip-26"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="0.261" y="0.723" width="1.29" height="13.342"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.261" y="0.723" width="1.29" height="13.342" id="mask-2_1_"> + <g class="st10"> + <polygon id="path-1_1_" class="st11" points="0.906,0.723 1.6,0.723 1.6,14.065 0.906,14.065 "/> + </g> + </mask> + <path id="Stroke-25" class="st12" d="M0.906,0.723v13.342"/> + </g> + <path id="Stroke-28" class="st13" d="M48.556,90.78c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.375,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235c0.047,0.25,0.031,0.828-0.047,0.953s-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C46.915,91.717,48.556,90.78,48.556,90.78z"/> + <path id="Fill-30" class="st2" d="M48.556,90.78c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.377,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235c0.047,0.25,0.031,0.828-0.047,0.953s-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C46.915,91.717,48.556,90.78,48.556,90.78"/> + <path id="Fill-32" class="st1" d="M48.757,98.069c0.012-0.09,0.889-2.551,3.768-4.107c2.884-1.518,3.548,0.121,3.49-0.223 + l-0.006,0.547c-2.078,1.109-5.115,2.728-7.191,3.836"/> + <path id="Fill-34" class="st3" d="M46.462,96.506c0.187-0.75,1.266-2.391,1.992-3.141c0.727-0.75,1.36-1.242,2.461-1.804 + c1.102-0.563,2.438-0.985,3.094-0.657c0.656,0.329,1.57,1.149,1.945,1.641c0.375,0.492,0.281,1.008,0.281,1.008 + s-1.382-0.469-2.203-0.188c-0.82,0.282-2.133,0.938-2.976,1.758c-0.844,0.821-1.172,1.899-1.758,2.578 + c-0.586,0.68-1.711,0.774-1.711,0.774s-1.148-0.235-1.266-0.446C46.204,97.818,46.275,97.256,46.462,96.506"/> + <path id="Fill-36" class="st14" d="M48.369,93.864l-0.504-0.303c-0.918,0.996-1.445,1.975-1.699,2.524l0.506,0.302 + C46.924,95.839,47.453,94.858,48.369,93.864"/> + <polygon id="Stroke-38" class="st0" points="30.4,91.095 42.109,84.88 42.111,88.177 30.402,94.394 "/> + <polygon id="Stroke-40" class="st0" points="0.5,73.131 12.209,66.914 42.109,84.88 30.4,91.095 "/> + <polygon id="Stroke-42" class="st0" points="30.4,91.095 30.402,94.394 0.502,76.428 0.5,73.131 "/> + <polygon id="Fill-44" class="st1" points="30.4,91.095 42.109,84.88 42.111,88.177 30.402,94.394 "/> + <polygon id="Fill-46" class="st2" points="0.5,73.131 12.209,66.914 42.109,84.88 30.4,91.095 "/> + <polygon id="Fill-48" class="st3" points="30.4,91.095 30.402,94.394 0.502,76.428 0.5,73.131 "/> + <polygon id="Fill-50" class="st15" points="7.657,72.784 9.115,72.011 9.115,72.292 7.657,73.067 "/> + <polygon id="Fill-52" class="st6" points="6.401,72.028 7.859,71.255 9.116,72.01 7.658,72.784 "/> + <polygon id="Fill-54" class="st16" points="7.657,72.784 7.657,73.067 6.4,72.311 6.4,72.028 "/> + <polygon id="Fill-56" class="st15" points="9.518,73.901 10.976,73.128 10.976,73.411 9.518,74.184 "/> + <polygon id="Fill-58" class="st6" points="8.261,73.147 9.719,72.372 10.976,73.127 9.518,73.901 "/> + <polygon id="Fill-60" class="st16" points="9.518,73.901 9.518,74.184 8.261,73.428 8.261,73.147 "/> + <polygon id="Fill-62" class="st15" points="11.471,75.075 12.928,74.302 12.929,74.585 11.471,75.358 "/> + <polygon id="Fill-64" class="st6" points="10.214,74.319 11.672,73.546 12.928,74.301 11.471,75.075 "/> + <polygon id="Fill-66" class="st16" points="11.471,75.075 11.471,75.358 10.214,74.602 10.214,74.319 "/> + <polygon id="Fill-68" class="st15" points="13.338,76.198 14.795,75.423 14.796,75.706 13.338,76.479 "/> + <polygon id="Fill-70" class="st6" points="12.081,75.442 13.539,74.669 14.795,75.422 13.338,76.198 "/> + <polygon id="Fill-72" class="st16" points="13.338,76.198 13.338,76.479 12.081,75.725 12.081,75.442 "/> + <polygon id="Fill-74" class="st15" points="15.266,77.356 16.724,76.581 16.724,76.864 15.266,77.637 "/> + <polygon id="Fill-76" class="st6" points="14.009,76.6 15.467,75.827 16.724,76.58 15.266,77.356 "/> + <polygon id="Fill-78" class="st16" points="15.266,77.356 15.266,77.637 14.009,76.883 14.009,76.6 "/> + <polygon id="Fill-80" class="st15" points="17.132,78.477 18.591,77.704 18.591,77.985 17.132,78.76 "/> + <polygon id="Fill-82" class="st6" points="15.869,77.717 17.328,76.944 18.592,77.703 17.133,78.477 "/> + <polygon id="Fill-84" class="st16" points="17.132,78.477 17.132,78.76 15.868,78 15.868,77.717 "/> + <polygon id="Fill-86" class="st15" points="19.085,79.651 20.542,78.878 20.544,79.159 19.085,79.932 "/> + <polygon id="Fill-88" class="st6" points="17.828,78.895 19.287,78.122 20.543,78.877 19.086,79.651 "/> + <polygon id="Fill-90" class="st16" points="19.085,79.651 19.085,79.932 17.829,79.178 17.827,78.895 "/> + <polygon id="Fill-92" class="st15" points="20.947,80.768 22.404,79.995 22.404,80.278 20.947,81.051 "/> + <polygon id="Fill-94" class="st6" points="19.689,80.014 21.146,79.239 22.404,79.994 20.947,80.768 "/> + <polygon id="Fill-96" class="st16" points="20.947,80.768 20.947,81.051 19.689,80.295 19.689,80.014 "/> + <polygon id="Fill-98" class="st15" points="22.777,81.869 24.234,81.095 24.234,81.378 22.777,82.15 "/> + <polygon id="Fill-100" class="st6" points="21.519,81.114 22.978,80.339 24.234,81.094 22.777,81.869 "/> + <polygon id="Fill-102" class="st16" points="22.777,81.869 22.777,82.15 21.519,81.395 21.519,81.114 "/> + <polygon id="Fill-104" class="st15" points="24.636,82.986 26.095,82.213 26.095,82.494 24.636,83.269 "/> + <polygon id="Fill-106" class="st6" points="23.38,82.23 24.837,81.458 26.095,82.212 24.636,82.986 "/> + <polygon id="Fill-108" class="st16" points="24.636,82.986 24.636,83.269 23.38,82.513 23.38,82.23 "/> + <polygon id="Fill-110" class="st15" points="26.589,84.16 28.049,83.385 28.049,83.668 26.589,84.441 "/> + <polygon id="Fill-112" class="st6" points="25.334,83.404 26.791,82.631 28.049,83.384 26.59,84.16 "/> + <polygon id="Fill-114" class="st16" points="26.589,84.16 26.589,84.441 25.333,83.687 25.333,83.404 "/> + <polygon id="Fill-116" class="st15" points="28.457,85.281 29.916,84.508 29.916,84.791 28.457,85.564 "/> + <polygon id="Fill-118" class="st6" points="27.201,84.525 28.658,83.752 29.916,84.507 28.457,85.281 "/> + <polygon id="Fill-120" class="st16" points="28.457,85.281 28.457,85.564 27.201,84.808 27.201,84.525 "/> + <polygon id="Fill-122" class="st15" points="30.384,86.439 31.843,85.666 31.843,85.949 30.384,86.722 "/> + <polygon id="Fill-124" class="st6" points="29.128,85.685 30.585,84.91 31.843,85.665 30.384,86.439 "/> + <polygon id="Fill-126" class="st16" points="30.384,86.439 30.384,86.722 29.128,85.966 29.128,85.685 "/> + <polygon id="Fill-128" class="st15" points="32.209,87.535 33.666,86.762 33.668,87.045 32.209,87.818 "/> + <polygon id="Fill-130" class="st6" points="30.951,86.781 32.41,86.006 33.666,86.761 32.209,87.535 "/> + <polygon id="Fill-132" class="st16" points="32.209,87.535 32.209,87.818 30.953,87.062 30.951,86.781 "/> + <polygon id="Fill-134" class="st15" points="9.657,71.659 11.115,70.886 11.115,71.167 9.657,71.942 "/> + <polygon id="Fill-136" class="st6" points="8.401,70.903 9.859,70.13 11.116,70.885 9.658,71.659 "/> + <polygon id="Fill-138" class="st16" points="9.657,71.659 9.657,71.942 8.4,71.186 8.4,70.903 "/> + <polygon id="Fill-140" class="st15" points="11.518,72.776 12.976,72.003 12.976,72.286 11.518,73.059 "/> + <polygon id="Fill-142" class="st6" points="10.261,72.022 11.719,71.247 12.976,72.002 11.518,72.776 "/> + <polygon id="Fill-144" class="st16" points="11.518,72.776 11.518,73.059 10.261,72.303 10.261,72.022 "/> + <polygon id="Fill-146" class="st15" points="13.471,73.95 14.928,73.177 14.929,73.46 13.471,74.233 "/> + <polygon id="Fill-148" class="st6" points="12.214,73.194 13.672,72.421 14.928,73.176 13.471,73.95 "/> + <polygon id="Fill-150" class="st16" points="13.471,73.95 13.471,74.233 12.214,73.477 12.214,73.194 "/> + <polygon id="Fill-152" class="st15" points="15.338,75.073 16.794,74.298 16.796,74.581 15.338,75.354 "/> + <polygon id="Fill-154" class="st6" points="14.081,74.317 15.539,73.544 16.794,74.297 15.337,75.073 "/> + <polygon id="Fill-156" class="st16" points="15.338,75.073 15.338,75.354 14.082,74.6 14.082,74.317 "/> + <polygon id="Fill-158" class="st15" points="17.265,76.231 18.724,75.456 18.724,75.739 17.265,76.512 "/> + <polygon id="Fill-160" class="st6" points="16.009,75.475 17.466,74.702 18.724,75.455 17.265,76.231 "/> + <polygon id="Fill-162" class="st16" points="17.265,76.231 17.265,76.512 16.009,75.758 16.009,75.475 "/> + <polygon id="Fill-164" class="st15" points="19.132,77.352 20.591,76.579 20.591,76.86 19.132,77.635 "/> + <polygon id="Fill-166" class="st6" points="17.869,76.592 19.328,75.819 20.592,76.578 19.133,77.352 "/> + <polygon id="Fill-168" class="st16" points="19.132,77.352 19.132,77.635 17.868,76.875 17.868,76.592 "/> + <polygon id="Fill-170" class="st15" points="21.085,78.526 22.542,77.753 22.544,78.034 21.085,78.807 "/> + <polygon id="Fill-172" class="st6" points="19.828,77.77 21.287,76.997 22.543,77.752 21.086,78.526 "/> + <polygon id="Fill-174" class="st16" points="21.085,78.526 21.085,78.807 19.829,78.053 19.827,77.77 "/> + <polygon id="Fill-176" class="st15" points="22.947,79.643 24.404,78.87 24.404,79.153 22.947,79.926 "/> + <polygon id="Fill-178" class="st6" points="21.689,78.889 23.146,78.114 24.404,78.869 22.947,79.643 "/> + <polygon id="Fill-180" class="st16" points="22.947,79.643 22.947,79.926 21.689,79.17 21.689,78.889 "/> + <polygon id="Fill-182" class="st15" points="24.777,80.743 26.234,79.97 26.234,80.253 24.777,81.026 "/> + <polygon id="Fill-184" class="st6" points="23.519,79.989 24.978,79.214 26.234,79.969 24.777,80.743 "/> + <polygon id="Fill-186" class="st16" points="24.777,80.743 24.777,81.026 23.519,80.27 23.519,79.989 "/> + <polygon id="Fill-188" class="st15" points="26.636,81.861 28.095,81.087 28.095,81.37 26.636,82.144 "/> + <polygon id="Fill-190" class="st6" points="25.38,81.106 26.837,80.333 28.095,81.086 26.636,81.861 "/> + <polygon id="Fill-192" class="st16" points="26.636,81.861 26.636,82.144 25.38,81.389 25.38,81.106 "/> + <polygon id="Fill-194" class="st15" points="28.589,83.035 30.049,82.26 30.049,82.543 28.589,83.316 "/> + <polygon id="Fill-196" class="st6" points="27.334,82.279 28.791,81.507 30.049,82.259 28.59,83.035 "/> + <polygon id="Fill-198" class="st16" points="28.589,83.035 28.589,83.316 27.333,82.562 27.333,82.279 "/> + <polygon id="Fill-200" class="st15" points="30.457,84.156 31.916,83.383 31.916,83.666 30.457,84.439 "/> + <polygon id="Fill-202" class="st6" points="29.201,83.4 30.658,82.627 31.916,83.382 30.457,84.156 "/> + <polygon id="Fill-204" class="st16" points="30.457,84.156 30.457,84.439 29.201,83.683 29.201,83.4 "/> + <polygon id="Fill-206" class="st15" points="32.384,85.314 33.843,84.541 33.843,84.824 32.384,85.597 "/> + <polygon id="Fill-208" class="st6" points="31.128,84.56 32.585,83.785 33.843,84.54 32.384,85.314 "/> + <polygon id="Fill-210" class="st16" points="32.384,85.314 32.384,85.597 31.128,84.841 31.128,84.56 "/> + <polygon id="Fill-212" class="st15" points="34.209,86.41 35.666,85.637 35.668,85.92 34.209,86.693 "/> + <polygon id="Fill-214" class="st6" points="32.951,85.656 34.41,84.881 35.666,85.636 34.209,86.41 "/> + <polygon id="Fill-216" class="st16" points="34.209,86.41 34.209,86.693 32.953,85.937 32.951,85.656 "/> + <polygon id="Fill-218" class="st15" points="11.782,70.534 13.24,69.761 13.24,70.042 11.782,70.817 "/> + <polygon id="Fill-220" class="st6" points="10.526,69.778 11.984,69.005 13.241,69.76 11.783,70.534 "/> + <polygon id="Fill-222" class="st16" points="11.782,70.534 11.782,70.817 10.525,70.061 10.525,69.778 "/> + <polygon id="Fill-224" class="st15" points="13.643,71.651 15.101,70.878 15.101,71.161 13.643,71.934 "/> + <polygon id="Fill-226" class="st6" points="12.386,70.897 13.844,70.122 15.101,70.877 13.643,71.651 "/> + <polygon id="Fill-228" class="st16" points="13.643,71.651 13.643,71.934 12.386,71.178 12.386,70.897 "/> + <polygon id="Fill-230" class="st15" points="15.595,72.825 17.052,72.052 17.054,72.335 15.595,73.108 "/> + <polygon id="Fill-232" class="st6" points="14.339,72.069 15.797,71.296 17.052,72.051 15.595,72.825 "/> + <polygon id="Fill-234" class="st16" points="15.595,72.825 15.595,73.108 14.339,72.352 14.339,72.069 "/> + <polygon id="Fill-236" class="st15" points="17.462,73.948 18.919,73.173 18.921,73.456 17.462,74.229 "/> + <polygon id="Fill-238" class="st6" points="16.207,73.192 17.664,72.419 18.92,73.172 17.463,73.948 "/> + <polygon id="Fill-240" class="st16" points="17.462,73.948 17.462,74.229 16.206,73.475 16.206,73.192 "/> + <polygon id="Fill-242" class="st15" points="19.39,75.106 20.849,74.331 20.849,74.614 19.39,75.387 "/> + <polygon id="Fill-244" class="st6" points="18.134,74.35 19.591,73.577 20.849,74.33 19.39,75.106 "/> + <polygon id="Fill-246" class="st16" points="19.39,75.106 19.39,75.387 18.134,74.633 18.134,74.35 "/> + <polygon id="Fill-248" class="st15" points="21.257,76.227 22.716,75.454 22.716,75.735 21.257,76.51 "/> + <polygon id="Fill-250" class="st6" points="19.994,75.467 21.453,74.694 22.717,75.453 21.258,76.227 "/> + <polygon id="Fill-252" class="st16" points="21.257,76.227 21.257,76.51 19.993,75.75 19.993,75.467 "/> + <polygon id="Fill-254" class="st15" points="23.21,77.401 24.667,76.628 24.669,76.909 23.21,77.682 "/> + <polygon id="Fill-256" class="st6" points="21.953,76.645 23.412,75.872 24.668,76.627 23.211,77.401 "/> + <polygon id="Fill-258" class="st16" points="23.21,77.401 23.21,77.682 21.954,76.928 21.952,76.645 "/> + <polygon id="Fill-260" class="st15" points="25.072,78.518 26.529,77.745 26.529,78.028 25.072,78.801 "/> + <polygon id="Fill-262" class="st6" points="23.814,77.764 25.271,76.989 26.529,77.744 25.072,78.518 "/> + <polygon id="Fill-264" class="st16" points="25.072,78.518 25.072,78.801 23.814,78.045 23.814,77.764 "/> + <polygon id="Fill-266" class="st15" points="26.902,79.618 28.359,78.845 28.359,79.128 26.902,79.901 "/> + <polygon id="Fill-268" class="st6" points="25.644,78.864 27.103,78.089 28.359,78.844 26.902,79.618 "/> + <polygon id="Fill-270" class="st16" points="26.902,79.618 26.902,79.901 25.644,79.145 25.644,78.864 "/> + <polygon id="Fill-272" class="st15" points="28.761,80.737 30.22,79.962 30.22,80.245 28.761,81.018 "/> + <polygon id="Fill-274" class="st6" points="27.505,79.981 28.962,79.208 30.22,79.961 28.761,80.737 "/> + <polygon id="Fill-276" class="st16" points="28.761,80.737 28.761,81.018 27.505,80.264 27.505,79.981 "/> + <polygon id="Fill-278" class="st15" points="30.714,81.91 32.174,81.136 32.174,81.419 30.714,82.191 "/> + <polygon id="Fill-280" class="st6" points="29.459,81.155 30.916,80.382 32.174,81.135 30.715,81.91 "/> + <polygon id="Fill-282" class="st16" points="30.714,81.91 30.714,82.191 29.458,81.436 29.458,81.155 "/> + <polygon id="Fill-284" class="st15" points="32.582,83.031 34.041,82.258 34.041,82.541 32.582,83.314 "/> + <polygon id="Fill-286" class="st6" points="31.326,82.275 32.783,81.503 34.041,82.257 32.582,83.031 "/> + <polygon id="Fill-288" class="st16" points="32.582,83.031 32.582,83.314 31.326,82.558 31.326,82.275 "/> + <polygon id="Fill-290" class="st15" points="34.509,84.189 35.968,83.416 35.968,83.699 34.509,84.472 "/> + <polygon id="Fill-292" class="st6" points="33.253,83.435 34.71,82.66 35.968,83.415 34.509,84.189 "/> + <polygon id="Fill-294" class="st16" points="34.509,84.189 34.509,84.472 33.253,83.716 33.253,83.435 "/> + <polygon id="Fill-296" class="st15" points="36.334,85.285 37.791,84.512 37.793,84.795 36.334,85.568 "/> + <polygon id="Fill-298" class="st6" points="35.076,84.531 36.535,83.756 37.791,84.511 36.334,85.285 "/> + <polygon id="Fill-300" class="st16" points="36.334,85.285 36.334,85.568 35.078,84.812 35.076,84.531 "/> + <polygon id="Fill-302" class="st15" points="6.266,74.461 7.724,73.686 7.724,73.961 6.266,74.734 "/> + <polygon id="Fill-304" class="st6" points="5.008,73.705 6.466,72.932 7.724,73.685 6.266,74.461 "/> + <polygon id="Fill-306" class="st16" points="6.266,74.461 6.266,74.734 5.009,73.979 5.008,73.705 "/> + <polygon id="Fill-308" class="st15" points="8.034,75.524 9.492,74.749 9.492,75.024 8.034,75.797 "/> + <polygon id="Fill-310" class="st6" points="6.777,74.768 8.235,73.995 9.492,74.748 8.034,75.524 "/> + <polygon id="Fill-312" class="st16" points="8.034,75.524 8.034,75.797 6.777,75.044 6.777,74.768 "/> + <polygon id="Fill-314" class="st15" points="9.895,76.641 11.353,75.868 11.353,76.141 9.895,76.916 "/> + <polygon id="Fill-316" class="st6" points="8.638,75.885 10.096,75.112 11.353,75.867 9.895,76.641 "/> + <polygon id="Fill-318" class="st16" points="9.895,76.641 9.895,76.916 8.638,76.161 8.638,75.885 "/> + <polygon id="Fill-320" class="st15" points="25.453,85.96 26.912,85.187 26.912,85.46 25.453,86.235 "/> + <polygon id="Fill-322" class="st6" points="24.195,85.204 25.654,84.431 26.912,85.186 25.453,85.96 "/> + <polygon id="Fill-324" class="st16" points="25.453,85.96 25.453,86.235 24.197,85.48 24.195,85.204 "/> + <polygon id="Fill-326" class="st15" points="27.222,87.023 28.679,86.25 28.679,86.523 27.222,87.298 "/> + <polygon id="Fill-328" class="st6" points="25.964,86.267 27.424,85.494 28.679,86.249 27.222,87.023 "/> + <polygon id="Fill-330" class="st16" points="27.222,87.023 27.222,87.298 25.964,86.543 25.964,86.267 "/> + <polygon id="Fill-332" class="st15" points="29.082,88.14 30.541,87.367 30.541,87.642 29.082,88.415 "/> + <polygon id="Fill-334" class="st6" points="27.826,87.386 29.283,86.611 30.541,87.366 29.082,88.14 "/> + <polygon id="Fill-336" class="st16" points="29.082,88.14 29.082,88.415 27.826,87.66 27.826,87.386 "/> + <polygon id="Fill-338" class="st15" points="23.466,84.806 24.925,84.033 24.925,84.308 23.466,85.081 "/> + <polygon id="Fill-340" class="st6" points="10.572,77.059 12.03,76.286 24.925,84.033 23.466,84.806 "/> + <polygon id="Fill-342" class="st16" points="23.466,84.806 23.466,85.081 10.572,77.334 10.572,77.059 "/> + <polyline id="Stroke-344" class="st4" points="0.742,73.164 30.152,90.833 30.152,94.038 "/> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_Wireless.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_Wireless.svg new file mode 100644 index 0000000000000000000000000000000000000000..ac5e9923a4239d25a401bcdd3a3d61b6768a9ab4 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_Wireless.svg @@ -0,0 +1,257 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 106.016 107.776" + style="enable-background:new 0 0 106.016 107.776;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#626366;stroke-width:2.668;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#FEFEFE;} + .st7{fill:#C4CACE;} + .st8{fill:none;stroke:#636466;stroke-width:1.156;} + .st9{fill:none;stroke:#E1E2E3;stroke-width:0.889;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:none;stroke:#636466;stroke-width:1.29;} + .st11{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st12{fill:#E1E2E3;} + .st13{fill:#231F20;} + .st14{fill:#626366;} + .st15{fill:none;stroke:#636466;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st16{fill:#636466;stroke:#636466;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st17{fill:none;stroke:#636466;stroke-width:2;} + .st18{fill:#636466;} + .st19{fill:#F5F6F6;} + .st20{fill:#787A7D;} + .st21{fill:none;stroke:#626366;stroke-width:1.854;stroke-linecap:round;stroke-linejoin:round;} + .st22{fill:none;stroke:#626366;stroke-width:1.246;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title id="title4">icon-PC-wireless</title> +<desc id="desc6">Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="50.348,82.546 62.057,76.331 62.06,79.628 50.35,85.845 "/> +<polygon id="Stroke-2" class="st0" points="20.449,64.581 32.158,58.366 62.057,76.331 50.348,82.546 "/> +<polygon id="Stroke-3" class="st0" points="50.348,82.546 50.35,85.845 20.451,67.878 20.449,64.581 "/> +<polygon id="Fill-4" class="st1" points="50.348,82.546 62.057,76.331 62.06,79.628 50.35,85.845 "/> +<polygon id="Fill-5" class="st2" points="20.449,64.581 32.158,58.366 62.057,76.331 50.348,82.546 "/> +<polygon id="Fill-6" class="st3" points="50.348,82.546 50.35,85.845 20.451,67.878 20.449,64.581 "/> +<polyline id="Stroke-7" class="st4" points="20.691,64.614 50.101,82.284 50.101,85.489 "/> +<polygon id="Stroke-8" class="st5" points="69.045,36.831 74.23,34.078 74.267,84.856 69.079,87.61 "/> +<polygon id="Stroke-9" class="st5" points="14.549,4.088 19.736,1.334 74.23,34.078 69.044,36.831 "/> +<polygon id="Stroke-11" class="st5" points="69.044,36.831 69.079,87.61 14.586,54.866 14.549,4.088 "/> +<polygon id="Fill-14" class="st1" points="69.043,36.831 74.229,34.078 74.266,84.856 69.079,87.61 "/> +<polygon id="Fill-15" class="st2" points="14.549,4.088 19.735,1.334 74.23,34.078 69.042,36.831 "/> +<polygon id="Fill-16" class="st3" points="69.043,36.831 69.079,87.61 14.585,54.866 14.55,4.088 "/> +<polygon id="Fill-17" class="st6" points="66.191,81.903 16.526,51.698 16.526,8.783 66.191,38.985 "/> +<path id="Fill-18" class="st7" d="M47.764,30.581l16.483,9.902l0.092,9.216c0,0-0.293-6.608-5.193-10.75 + C52.89,33.663,47.764,30.581,47.764,30.581"/> +<path id="Stroke-20" class="st8" d="M15.184,55.915l53.89,32.379"/> +<polyline id="Stroke-22" class="st9" points="15.008,4.258 69.023,36.713 69.06,87.178 "/> +<path id="Stroke-24" class="st10" d="M74.906,68.106v13.342"/> +<path id="Stroke-26" class="st11" d="M49.556,94.163c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.375,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235c0.047,0.25,0.031,0.828-0.047,0.953s-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C47.915,95.1,49.556,94.163,49.556,94.163z"/> +<path id="Fill-28" class="st2" d="M49.556,94.163c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.377,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235c0.047,0.25,0.031,0.828-0.047,0.953s-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C47.915,95.1,49.556,94.163,49.556,94.163"/> +<path id="Fill-30" class="st1" d="M49.757,101.452c0.012-0.09,0.889-2.551,3.768-4.107c2.884-1.518,3.548,0.121,3.49-0.223 + l-0.006,0.547c-2.078,1.109-5.115,2.728-7.191,3.836"/> +<path id="Fill-32" class="st3" d="M47.462,99.889c0.187-0.75,1.266-2.391,1.992-3.141c0.727-0.75,1.36-1.242,2.461-1.804 + c1.102-0.563,2.438-0.985,3.094-0.657c0.656,0.329,1.57,1.149,1.945,1.641s0.281,1.008,0.281,1.008s-1.382-0.469-2.203-0.188 + c-0.82,0.282-2.133,0.938-2.976,1.758c-0.844,0.821-1.172,1.899-1.758,2.578c-0.586,0.68-1.711,0.774-1.711,0.774 + s-1.148-0.235-1.266-0.446C47.204,101.201,47.275,100.639,47.462,99.889"/> +<path id="Fill-34" class="st12" d="M49.369,97.247l-0.504-0.303c-0.918,0.996-1.445,1.975-1.699,2.524l0.506,0.302 + C47.924,99.222,48.453,98.241,49.369,97.247"/> +<polygon id="Stroke-36" class="st0" points="31.4,94.478 43.109,88.263 43.111,91.56 31.402,97.777 "/> +<polygon id="Stroke-38" class="st0" points="1.5,76.514 13.209,70.297 43.109,88.263 31.4,94.478 "/> +<polygon id="Stroke-40" class="st0" points="31.4,94.478 31.402,97.777 1.502,79.811 1.5,76.514 "/> +<polygon id="Fill-42" class="st1" points="31.4,94.478 43.109,88.263 43.111,91.56 31.402,97.777 "/> +<polygon id="Fill-44" class="st2" points="1.5,76.514 13.209,70.297 43.109,88.263 31.4,94.478 "/> +<polygon id="Fill-46" class="st3" points="31.4,94.478 31.402,97.777 1.502,79.811 1.5,76.514 "/> +<polygon id="Fill-48" class="st13" points="8.657,76.167 10.115,75.394 10.115,75.675 8.657,76.45 "/> +<polygon id="Fill-50" class="st6" points="7.4,75.411 8.858,74.638 10.115,75.393 8.657,76.167 "/> +<polygon id="Fill-52" class="st14" points="8.657,76.167 8.657,76.45 7.4,75.694 7.4,75.411 "/> +<polygon id="Fill-54" class="st13" points="10.518,77.284 11.976,76.511 11.976,76.794 10.518,77.567 "/> +<polygon id="Fill-56" class="st6" points="9.261,76.53 10.719,75.755 11.976,76.51 10.518,77.284 "/> +<polygon id="Fill-58" class="st14" points="10.518,77.284 10.518,77.567 9.261,76.811 9.261,76.53 "/> +<polygon id="Fill-60" class="st13" points="12.471,78.458 13.928,77.685 13.929,77.968 12.471,78.741 "/> +<polygon id="Fill-62" class="st6" points="11.214,77.702 12.672,76.929 13.928,77.684 12.471,78.458 "/> +<polygon id="Fill-64" class="st14" points="12.471,78.458 12.471,78.741 11.214,77.985 11.214,77.702 "/> +<polygon id="Fill-66" class="st13" points="14.338,79.581 15.795,78.806 15.796,79.089 14.338,79.862 "/> +<polygon id="Fill-68" class="st6" points="13.081,78.825 14.539,78.052 15.795,78.805 14.338,79.581 "/> +<polygon id="Fill-70" class="st14" points="14.338,79.581 14.338,79.862 13.081,79.108 13.081,78.825 "/> +<polygon id="Fill-72" class="st13" points="16.266,80.739 17.724,79.964 17.724,80.247 16.266,81.02 "/> +<polygon id="Fill-74" class="st6" points="15.009,79.983 16.467,79.21 17.724,79.963 16.266,80.739 "/> +<polygon id="Fill-76" class="st14" points="16.266,80.739 16.266,81.02 15.009,80.266 15.009,79.983 "/> +<polygon id="Fill-78" class="st13" points="18.132,81.86 19.591,81.087 19.591,81.368 18.132,82.143 "/> +<polygon id="Fill-80" class="st6" points="16.869,81.1 18.328,80.327 19.592,81.086 18.133,81.86 "/> +<polygon id="Fill-82" class="st14" points="18.132,81.86 18.132,82.143 16.868,81.383 16.868,81.1 "/> +<polygon id="Fill-84" class="st13" points="20.086,83.034 21.542,82.261 21.545,82.542 20.086,83.315 "/> +<polygon id="Fill-86" class="st6" points="18.828,82.278 20.287,81.505 21.543,82.26 20.086,83.034 "/> +<polygon id="Fill-88" class="st14" points="20.086,83.034 20.086,83.315 18.83,82.561 18.827,82.278 "/> +<polygon id="Fill-90" class="st13" points="21.947,84.151 23.404,83.378 23.404,83.661 21.947,84.434 "/> +<polygon id="Fill-92" class="st6" points="20.689,83.397 22.146,82.622 23.404,83.377 21.947,84.151 "/> +<polygon id="Fill-94" class="st14" points="21.947,84.151 21.947,84.434 20.689,83.678 20.689,83.397 "/> +<polygon id="Fill-96" class="st13" points="23.777,85.252 25.234,84.478 25.234,84.761 23.777,85.533 "/> +<polygon id="Fill-98" class="st6" points="22.519,84.497 23.978,83.722 25.234,84.477 23.777,85.252 "/> +<polygon id="Fill-100" class="st14" points="23.777,85.252 23.777,85.533 22.519,84.778 22.519,84.497 "/> +<polygon id="Fill-102" class="st13" points="25.636,86.369 27.095,85.596 27.095,85.877 25.636,86.652 "/> +<polygon id="Fill-104" class="st6" points="24.38,85.613 25.837,84.841 27.095,85.595 25.636,86.369 "/> +<polygon id="Fill-106" class="st14" points="25.636,86.369 25.636,86.652 24.38,85.896 24.38,85.613 "/> +<polygon id="Fill-108" class="st13" points="27.589,87.543 29.048,86.768 29.048,87.051 27.589,87.824 "/> +<polygon id="Fill-110" class="st6" points="26.333,86.787 27.791,86.014 29.049,86.767 27.59,87.543 "/> +<polygon id="Fill-112" class="st14" points="27.589,87.543 27.589,87.824 26.333,87.07 26.333,86.787 "/> +<polygon id="Fill-114" class="st13" points="29.457,88.664 30.916,87.891 30.916,88.174 29.457,88.947 "/> +<polygon id="Fill-116" class="st6" points="28.201,87.908 29.658,87.135 30.916,87.89 29.457,88.664 "/> +<polygon id="Fill-118" class="st14" points="29.457,88.664 29.457,88.947 28.201,88.191 28.201,87.908 "/> +<polygon id="Fill-120" class="st13" points="31.384,89.822 32.843,89.049 32.843,89.332 31.384,90.105 "/> +<polygon id="Fill-122" class="st6" points="30.128,89.068 31.585,88.293 32.843,89.048 31.384,89.822 "/> +<polygon id="Fill-124" class="st14" points="31.384,89.822 31.384,90.105 30.128,89.349 30.128,89.068 "/> +<polygon id="Fill-126" class="st13" points="33.208,90.918 34.666,90.145 34.667,90.428 33.208,91.201 "/> +<polygon id="Fill-128" class="st6" points="31.951,90.164 33.41,89.389 34.666,90.144 33.209,90.918 "/> +<polygon id="Fill-130" class="st14" points="33.208,90.918 33.208,91.201 31.952,90.445 31.951,90.164 "/> +<polygon id="Fill-132" class="st13" points="10.657,75.042 12.115,74.269 12.115,74.55 10.657,75.325 "/> +<polygon id="Fill-134" class="st6" points="9.4,74.286 10.858,73.513 12.115,74.268 10.657,75.042 "/> +<polygon id="Fill-136" class="st14" points="10.657,75.042 10.657,75.325 9.4,74.569 9.4,74.286 "/> +<polygon id="Fill-138" class="st13" points="12.518,76.159 13.976,75.386 13.976,75.669 12.518,76.442 "/> +<polygon id="Fill-140" class="st6" points="11.261,75.405 12.719,74.63 13.976,75.385 12.518,76.159 "/> +<polygon id="Fill-142" class="st14" points="12.518,76.159 12.518,76.442 11.261,75.686 11.261,75.405 "/> +<polygon id="Fill-144" class="st13" points="14.471,77.333 15.928,76.56 15.929,76.843 14.471,77.616 "/> +<polygon id="Fill-146" class="st6" points="13.214,76.577 14.672,75.804 15.928,76.559 14.471,77.333 "/> +<polygon id="Fill-148" class="st14" points="14.471,77.333 14.471,77.616 13.214,76.86 13.214,76.577 "/> +<polygon id="Fill-150" class="st13" points="16.337,78.456 17.794,77.681 17.796,77.964 16.337,78.737 "/> +<polygon id="Fill-152" class="st6" points="15.081,77.7 16.539,76.927 17.794,77.68 16.337,78.456 "/> +<polygon id="Fill-154" class="st14" points="16.337,78.456 16.337,78.737 15.081,77.983 15.081,77.7 "/> +<polygon id="Fill-156" class="st13" points="18.265,79.614 19.724,78.839 19.724,79.122 18.265,79.895 "/> +<polygon id="Fill-158" class="st6" points="17.009,78.858 18.466,78.085 19.724,78.838 18.265,79.614 "/> +<polygon id="Fill-160" class="st14" points="18.265,79.614 18.265,79.895 17.009,79.141 17.009,78.858 "/> +<polygon id="Fill-162" class="st13" points="20.132,80.735 21.591,79.962 21.591,80.243 20.132,81.018 "/> +<polygon id="Fill-164" class="st6" points="18.869,79.975 20.328,79.202 21.592,79.961 20.133,80.735 "/> +<polygon id="Fill-166" class="st14" points="20.132,80.735 20.132,81.018 18.868,80.258 18.868,79.975 "/> +<polygon id="Fill-168" class="st13" points="22.086,81.909 23.542,81.136 23.545,81.417 22.086,82.19 "/> +<polygon id="Fill-170" class="st6" points="20.828,81.153 22.287,80.38 23.543,81.135 22.086,81.909 "/> +<polygon id="Fill-172" class="st14" points="22.086,81.909 22.086,82.19 20.83,81.436 20.827,81.153 "/> +<polygon id="Fill-174" class="st13" points="23.947,83.026 25.404,82.253 25.404,82.536 23.947,83.309 "/> +<polygon id="Fill-176" class="st6" points="22.689,82.272 24.146,81.497 25.404,82.252 23.947,83.026 "/> +<polygon id="Fill-178" class="st14" points="23.947,83.026 23.947,83.309 22.689,82.553 22.689,82.272 "/> +<polygon id="Fill-180" class="st13" points="25.777,84.126 27.234,83.353 27.234,83.636 25.777,84.409 "/> +<polygon id="Fill-182" class="st6" points="24.519,83.372 25.978,82.597 27.234,83.352 25.777,84.126 "/> +<polygon id="Fill-184" class="st14" points="25.777,84.126 25.777,84.409 24.519,83.653 24.519,83.372 "/> +<polygon id="Fill-186" class="st13" points="27.636,85.244 29.095,84.47 29.095,84.753 27.636,85.527 "/> +<polygon id="Fill-188" class="st6" points="26.38,84.489 27.837,83.716 29.095,84.469 27.636,85.244 "/> +<polygon id="Fill-190" class="st14" points="27.636,85.244 27.636,85.527 26.38,84.772 26.38,84.489 "/> +<polygon id="Fill-192" class="st13" points="29.589,86.418 31.048,85.643 31.048,85.926 29.589,86.699 "/> +<polygon id="Fill-194" class="st6" points="28.333,85.662 29.791,84.89 31.049,85.642 29.59,86.418 "/> +<polygon id="Fill-196" class="st14" points="29.589,86.418 29.589,86.699 28.333,85.945 28.333,85.662 "/> +<polygon id="Fill-198" class="st13" points="31.457,87.539 32.916,86.766 32.916,87.049 31.457,87.822 "/> +<polygon id="Fill-200" class="st6" points="30.201,86.783 31.658,86.01 32.916,86.765 31.457,87.539 "/> +<polygon id="Fill-202" class="st14" points="31.457,87.539 31.457,87.822 30.201,87.066 30.201,86.783 "/> +<polygon id="Fill-204" class="st13" points="33.384,88.697 34.843,87.924 34.843,88.207 33.384,88.98 "/> +<polygon id="Fill-206" class="st6" points="32.128,87.943 33.585,87.168 34.843,87.923 33.384,88.697 "/> +<polygon id="Fill-208" class="st14" points="33.384,88.697 33.384,88.98 32.128,88.224 32.128,87.943 "/> +<polygon id="Fill-210" class="st13" points="35.208,89.793 36.666,89.02 36.667,89.303 35.208,90.076 "/> +<polygon id="Fill-212" class="st6" points="33.951,89.039 35.41,88.264 36.666,89.019 35.209,89.793 "/> +<polygon id="Fill-214" class="st14" points="35.208,89.793 35.208,90.076 33.952,89.32 33.951,89.039 "/> +<polygon id="Fill-216" class="st13" points="12.782,73.917 14.24,73.144 14.24,73.425 12.782,74.2 "/> +<polygon id="Fill-218" class="st6" points="11.525,73.161 12.983,72.388 14.24,73.143 12.782,73.917 "/> +<polygon id="Fill-220" class="st14" points="12.782,73.917 12.782,74.2 11.525,73.444 11.525,73.161 "/> +<polygon id="Fill-222" class="st13" points="14.643,75.034 16.101,74.261 16.101,74.544 14.643,75.317 "/> +<polygon id="Fill-224" class="st6" points="13.386,74.28 14.844,73.505 16.101,74.26 14.643,75.034 "/> +<polygon id="Fill-226" class="st14" points="14.643,75.034 14.643,75.317 13.386,74.561 13.386,74.28 "/> +<polygon id="Fill-228" class="st13" points="16.595,76.208 18.052,75.435 18.054,75.718 16.595,76.491 "/> +<polygon id="Fill-230" class="st6" points="15.339,75.452 16.797,74.679 18.052,75.434 16.595,76.208 "/> +<polygon id="Fill-232" class="st14" points="16.595,76.208 16.595,76.491 15.339,75.735 15.339,75.452 "/> +<polygon id="Fill-234" class="st13" points="18.462,77.331 19.919,76.556 19.921,76.839 18.462,77.612 "/> +<polygon id="Fill-236" class="st6" points="17.207,76.575 18.664,75.802 19.92,76.555 18.463,77.331 "/> +<polygon id="Fill-238" class="st14" points="18.462,77.331 18.462,77.612 17.206,76.858 17.206,76.575 "/> +<polygon id="Fill-240" class="st13" points="20.39,78.489 21.849,77.714 21.849,77.997 20.39,78.77 "/> +<polygon id="Fill-242" class="st6" points="19.134,77.733 20.591,76.96 21.849,77.713 20.39,78.489 "/> +<polygon id="Fill-244" class="st14" points="20.39,78.489 20.39,78.77 19.134,78.016 19.134,77.733 "/> +<polygon id="Fill-246" class="st13" points="22.257,79.61 23.716,78.837 23.716,79.118 22.257,79.893 "/> +<polygon id="Fill-248" class="st6" points="20.994,78.85 22.453,78.077 23.717,78.836 22.258,79.61 "/> +<polygon id="Fill-250" class="st14" points="22.257,79.61 22.257,79.893 20.993,79.133 20.993,78.85 "/> +<polygon id="Fill-252" class="st13" points="24.211,80.784 25.667,80.011 25.67,80.292 24.211,81.065 "/> +<polygon id="Fill-254" class="st6" points="22.953,80.028 24.412,79.255 25.668,80.01 24.211,80.784 "/> +<polygon id="Fill-256" class="st14" points="24.211,80.784 24.211,81.065 22.955,80.311 22.952,80.028 "/> +<polygon id="Fill-258" class="st13" points="26.072,81.901 27.529,81.128 27.529,81.411 26.072,82.184 "/> +<polygon id="Fill-260" class="st6" points="24.814,81.147 26.271,80.372 27.529,81.127 26.072,81.901 "/> +<polygon id="Fill-262" class="st14" points="26.072,81.901 26.072,82.184 24.814,81.428 24.814,81.147 "/> +<polygon id="Fill-264" class="st13" points="27.902,83.001 29.359,82.228 29.359,82.511 27.902,83.284 "/> +<polygon id="Fill-266" class="st6" points="26.644,82.247 28.103,81.472 29.359,82.227 27.902,83.001 "/> +<polygon id="Fill-268" class="st14" points="27.902,83.001 27.902,83.284 26.644,82.528 26.644,82.247 "/> +<polygon id="Fill-270" class="st13" points="29.761,84.12 31.22,83.345 31.22,83.628 29.761,84.401 "/> +<polygon id="Fill-272" class="st6" points="28.505,83.364 29.962,82.591 31.22,83.344 29.761,84.12 "/> +<polygon id="Fill-274" class="st14" points="29.761,84.12 29.761,84.401 28.505,83.647 28.505,83.364 "/> +<polygon id="Fill-276" class="st13" points="31.714,85.293 33.173,84.519 33.173,84.802 31.714,85.574 "/> +<polygon id="Fill-278" class="st6" points="30.458,84.538 31.916,83.765 33.174,84.518 31.715,85.293 "/> +<polygon id="Fill-280" class="st14" points="31.714,85.293 31.714,85.574 30.458,84.819 30.458,84.538 "/> +<polygon id="Fill-282" class="st13" points="33.582,86.414 35.041,85.641 35.041,85.924 33.582,86.697 "/> +<polygon id="Fill-284" class="st6" points="32.326,85.658 33.783,84.886 35.041,85.64 33.582,86.414 "/> +<polygon id="Fill-286" class="st14" points="33.582,86.414 33.582,86.697 32.326,85.941 32.326,85.658 "/> +<polygon id="Fill-288" class="st13" points="35.509,87.572 36.968,86.799 36.968,87.082 35.509,87.855 "/> +<polygon id="Fill-290" class="st6" points="34.253,86.818 35.71,86.043 36.968,86.798 35.509,87.572 "/> +<polygon id="Fill-292" class="st14" points="35.509,87.572 35.509,87.855 34.253,87.099 34.253,86.818 "/> +<polygon id="Fill-294" class="st13" points="37.333,88.668 38.791,87.895 38.792,88.178 37.333,88.951 "/> +<polygon id="Fill-296" class="st6" points="36.076,87.914 37.535,87.139 38.791,87.894 37.334,88.668 "/> +<polygon id="Fill-298" class="st14" points="37.333,88.668 37.333,88.951 36.077,88.195 36.076,87.914 "/> +<polygon id="Fill-300" class="st13" points="7.266,77.845 8.724,77.07 8.724,77.345 7.266,78.117 "/> +<polygon id="Fill-302" class="st6" points="6.008,77.089 7.466,76.316 8.724,77.069 7.266,77.845 "/> +<polygon id="Fill-304" class="st14" points="7.266,77.845 7.266,78.117 6.009,77.363 6.008,77.088 "/> +<polygon id="Fill-306" class="st13" points="9.034,78.907 10.492,78.132 10.492,78.407 9.034,79.18 "/> +<polygon id="Fill-308" class="st6" points="7.777,78.151 9.235,77.378 10.492,78.131 9.034,78.907 "/> +<polygon id="Fill-310" class="st14" points="9.034,78.907 9.034,79.18 7.777,78.427 7.777,78.151 "/> +<polygon id="Fill-312" class="st13" points="10.895,80.024 12.353,79.251 12.353,79.524 10.895,80.299 "/> +<polygon id="Fill-314" class="st6" points="9.638,79.268 11.096,78.495 12.353,79.25 10.895,80.024 "/> +<polygon id="Fill-316" class="st14" points="10.895,80.024 10.895,80.299 9.638,79.544 9.638,79.268 "/> +<polygon id="Fill-318" class="st13" points="26.453,89.343 27.912,88.571 27.912,88.843 26.453,89.618 "/> +<polygon id="Fill-320" class="st6" points="25.195,88.588 26.654,87.815 27.912,88.57 26.453,89.344 "/> +<polygon id="Fill-322" class="st14" points="26.453,89.343 26.453,89.618 25.197,88.864 25.195,88.587 "/> +<polygon id="Fill-324" class="st13" points="28.222,90.406 29.679,89.633 29.679,89.906 28.222,90.681 "/> +<polygon id="Fill-326" class="st6" points="26.964,89.65 28.423,88.877 29.679,89.632 28.222,90.406 "/> +<polygon id="Fill-328" class="st14" points="28.222,90.406 28.222,90.681 26.964,89.926 26.964,89.65 "/> +<polygon id="Fill-330" class="st13" points="30.082,91.523 31.541,90.75 31.541,91.025 30.082,91.798 "/> +<polygon id="Fill-332" class="st6" points="28.826,90.769 30.283,89.994 31.541,90.749 30.082,91.523 "/> +<polygon id="Fill-334" class="st14" points="30.082,91.523 30.082,91.798 28.826,91.043 28.826,90.769 "/> +<polygon id="Fill-336" class="st13" points="24.466,88.189 25.925,87.416 25.925,87.691 24.466,88.464 "/> +<polygon id="Fill-338" class="st6" points="11.572,80.442 13.03,79.669 25.925,87.416 24.466,88.189 "/> +<polygon id="Fill-340" class="st14" points="24.466,88.189 24.466,88.464 11.572,80.717 11.572,80.442 "/> +<polyline id="Stroke-342" class="st4" points="1.742,76.548 31.152,94.217 31.152,97.422 "/> +<path id="Stroke-85" class="st15" d="M104.222,97.317l-17.553,9.317c0.478-0.254,0.774-0.841,0.778-1.692l17.552-9.317 + C104.998,96.474,104.7,97.064,104.222,97.317z"/> +<polygon id="Stroke-87" class="st15" points="67.197,68.032 84.751,58.715 102.736,69.521 85.182,78.84 "/> +<polygon id="Stroke-89" class="st15" points="87.447,83.064 105.002,73.746 105.016,95.431 87.464,104.748 "/> +<path id="Stroke-129" class="st15" d="M84.967,78.818c1.361,0.815,2.459,2.797,2.462,4.439l0.019,21.686 + c-0.004,1.633-1.1,2.302-2.459,1.484L67.004,95.62c-1.359-0.816-2.46-2.805-2.463-4.439l-0.015-21.686 + c-0.001-1.639,1.1-2.3,2.458-1.484L84.967,78.818z"/> +<path id="Stroke-163" class="st16" d="M84.967,78.818l17.555-9.318c1.359,0.816,2.455,2.801,2.462,4.441l-17.555,9.316 + C87.426,81.615,86.328,79.633,84.967,78.818z"/> +<path id="Fill-228_1_" class="st17" d="M65.512,67.823c5.853-3.106,11.703-6.213,17.554-9.317c0.439-0.234,1.032-0.181,1.684,0.209 + l-17.553,9.317C66.544,67.642,65.953,67.591,65.512,67.823"/> +<polygon id="Fill-256_1_" class="st3" points="66.693,68.032 84.246,58.715 102.231,69.52 84.676,78.84 "/> +<polygon id="Fill-258_1_" class="st1" points="87.137,83.279 104.692,73.961 104.707,95.646 87.154,104.963 "/> +<path id="Fill-292_1_" class="st18" d="M86.429,104.525l-0.017-21.684c0-1.156-0.774-2.554-1.734-3.13L66.694,68.905 + c-0.958-0.575-1.731-0.107-1.731,1.048l0.016,21.684c0,1.152,0.775,2.551,1.734,3.13l17.984,10.806 + C85.654,106.147,86.429,105.678,86.429,104.525z M84.676,78.839c1.361,0.815,2.459,2.797,2.462,4.439l0.017,21.686 + c-0.002,1.633-1.099,2.3-2.458,1.484L66.713,95.642c-1.359-0.818-2.46-2.806-2.463-4.439l-0.015-21.686 + c-0.001-1.639,1.1-2.3,2.458-1.484L84.676,78.839z"/> +<path id="Fill-294_1_" class="st19" d="M84.677,79.712c0.96,0.575,1.734,1.975,1.734,3.13l0.017,21.684 + c0,1.151-0.774,1.622-1.732,1.048L66.712,94.768c-0.959-0.58-1.734-1.978-1.734-3.13l-0.016-21.684c0-1.156,0.773-1.624,1.731-1.049 + L84.677,79.712z"/> +<path id="Stroke-163-1" class="st2" d="M84.676,78.839l17.555-9.318c1.359,0.816,2.455,2.801,2.462,4.441l-17.555,9.316 + C87.135,81.636,86.037,79.654,84.676,78.839z"/> +<path id="Fill-228-8" class="st2" d="M65.008,67.823c5.853-3.106,11.703-6.213,17.554-9.317c0.439-0.234,1.032-0.181,1.684,0.209 + l-17.553,9.317C66.04,67.642,65.449,67.591,65.008,67.823"/> +<path id="Stroke-85-0" class="st20" d="M103.931,97.338l-17.553,9.317c0.478-0.254,0.774-0.841,0.778-1.692l17.552-9.317 + C104.707,96.495,104.409,97.085,103.931,97.338z"/> +<path id="Fill-645" class="st14" d="M77.679,87.986c0,1.479-1.061,2.04-2.368,1.255c-1.307-0.787-2.368-2.623-2.368-4.102 + c0-1.48,1.061-2.042,2.368-1.255C76.619,84.67,77.679,86.507,77.679,87.986"/> +<path id="Stroke-647" class="st21" d="M75.308,87.706v9.665"/> +<path id="Fill-649" class="st6" d="M76.692,86.729c0,0.347-0.249,0.479-0.558,0.294c-0.305-0.183-0.553-0.614-0.553-0.961 + s0.248-0.479,0.553-0.295C76.443,85.953,76.692,86.382,76.692,86.729"/> +<path id="Stroke-651" class="st22" d="M81.187,90.261c-0.418-3.54-2.914-7.571-5.938-9.39c-2.992-1.797-5.465-0.807-5.922,2.154"/> +<path id="Stroke-653" class="st22" d="M83.815,89.445c-0.072-0.28-0.152-0.562-0.24-0.844c-1.351-4.399-4.492-8.802-8.156-11.006 + c-3.871-2.325-7.154-1.498-8.367,1.681"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_with_Server.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_with_Server.svg new file mode 100644 index 0000000000000000000000000000000000000000..1989d944ebeb40def6ef21bc4e34c44fdede2d53 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Personal_Computer_with_Server.svg @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 103.97 103.382" style="enable-background:new 0 0 103.97 103.382;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:none;stroke:#626366;stroke-width:2.668;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:#C4CACE;} + .st9{fill:none;stroke:#636466;stroke-width:1.156;} + .st10{fill:none;stroke:#E1E2E3;stroke-width:0.889;stroke-linecap:round;stroke-linejoin:round;} + .st11{filter:url(#Adobe_OpacityMaskFilter);} + .st12{fill:#FFFFFF;} + .st13{mask:url(#mask-2_1_);fill:none;stroke:#636466;stroke-width:1.29;} + .st14{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st15{fill:#E1E2E3;} + .st16{fill:#231F20;} + .st17{fill:#626366;} +</style> +<title>icon-pc-server</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-193.000000, -51.000000)"> + <g id="icon-pc-server" transform="translate(194.000000, 51.000000)"> + <polygon id="Stroke-1" class="st0" points="16.801,38.037 49.084,20.901 49.109,55.86 16.825,72.996 "/> + <g id="Group-6" transform="translate(0.000000, 10.383000)"> + <polygon id="Stroke-2" class="st0" points="0.5,17.859 32.783,0.723 49.084,10.518 16.801,27.654 "/> + <polygon id="Stroke-4" class="st0" points="16.801,27.654 16.825,62.613 0.524,52.818 0.5,17.859 "/> + </g> + <polygon id="Fill-7" class="st1" points="16.801,38.038 49.084,20.902 49.109,55.86 16.825,72.997 "/> + <polygon id="Fill-8" class="st2" points="0.5,28.243 32.783,11.106 49.084,20.901 16.801,38.037 "/> + <polygon id="Fill-9" class="st3" points="16.801,38.038 16.825,72.997 0.524,63.202 0.5,28.244 "/> + <polyline id="Stroke-10" class="st4" points="1.002,28.274 16.938,37.851 16.938,72.847 "/> + <polygon id="Fill-11" class="st5" points="14.658,45.228 2.302,37.804 2.302,33.163 14.658,40.587 "/> + <polygon id="Fill-12" class="st5" points="14.658,49.668 2.302,42.244 2.302,39.62 14.658,47.044 "/> + <polygon id="Fill-13" class="st5" points="14.658,63.42 2.302,55.996 2.302,54.784 14.658,62.209 "/> + <polygon id="Fill-14" class="st5" points="14.658,66.111 2.302,58.687 2.302,57.476 14.658,64.9 "/> + <polygon id="Fill-15" class="st5" points="14.658,68.939 2.302,61.514 2.302,60.303 14.658,67.727 "/> + <polygon id="Stroke-16" class="st0" points="77.718,82.545 89.427,76.33 89.43,79.627 77.72,85.844 "/> + <polygon id="Stroke-17" class="st0" points="47.819,64.581 59.528,58.366 89.427,76.331 77.718,82.546 "/> + <polygon id="Stroke-18" class="st0" points="77.718,82.545 77.72,85.844 47.821,67.877 47.819,64.58 "/> + <polygon id="Fill-19" class="st1" points="77.718,82.545 89.427,76.33 89.43,79.627 77.72,85.844 "/> + <polygon id="Fill-20" class="st2" points="47.819,64.581 59.528,58.366 89.427,76.331 77.718,82.546 "/> + <polygon id="Fill-21" class="st3" points="77.718,82.545 77.72,85.844 47.821,67.877 47.819,64.58 "/> + <polyline id="Stroke-22" class="st6" points="48.061,64.614 77.471,82.284 77.471,85.489 "/> + <g id="Group-29" transform="translate(41.000000, 0.383000)"> + <polygon id="Stroke-23" class="st7" points="55.414,36.448 60.6,33.695 60.636,84.473 55.449,87.227 "/> + <polygon id="Stroke-25" class="st7" points="0.919,3.705 6.106,0.951 60.6,33.695 55.414,36.448 "/> + <polygon id="Stroke-27" class="st7" points="55.414,36.448 55.449,87.227 0.955,54.483 0.919,3.705 "/> + </g> + <polygon id="Fill-30" class="st1" points="96.412,36.831 101.599,34.078 101.635,84.856 96.449,87.61 "/> + <polygon id="Fill-31" class="st2" points="41.919,4.088 47.105,1.334 101.6,34.078 96.412,36.831 "/> + <polygon id="Fill-32" class="st3" points="96.412,36.831 96.449,87.61 41.954,54.866 41.919,4.088 "/> + <polygon id="Fill-33" class="st5" points="93.561,81.903 43.896,51.698 43.896,8.783 93.561,38.985 "/> + <g id="Group-361" transform="translate(28.000000, 3.383000)"> + <path id="Fill-34" class="st8" d="M47.134,27.198L63.617,37.1l0.092,9.216c0,0-0.293-6.608-5.193-10.75 + C52.26,30.28,47.134,27.198,47.134,27.198"/> + <path id="Stroke-36" class="st9" d="M14.554,52.532l53.89,32.379"/> + <polyline id="Stroke-38" class="st10" points="14.378,0.875 68.393,33.33 68.43,83.795 "/> + <g id="Group-42" transform="translate(74.000000, 64.000000)"> + <g id="Clip-41"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="-0.369" y="0.723" width="1.29" height="13.342"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-0.369" y="0.723" width="1.29" height="13.342" id="mask-2_1_"> + <g class="st11"> + <polygon id="path-1_1_" class="st12" points="0.276,0.723 0.97,0.723 0.97,14.065 0.276,14.065 "/> + </g> + </mask> + <path id="Stroke-40" class="st13" d="M0.276,0.723v13.342"/> + </g> + <path id="Stroke-43" class="st14" d="M48.926,90.78c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.375,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235s0.031,0.828-0.047,0.953c-0.078,0.125-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C47.285,91.717,48.926,90.78,48.926,90.78z"/> + <path id="Fill-45" class="st2" d="M48.926,90.78c0,0,1.375-0.734,2.5-0.766c1.125-0.031,2.516,0.641,2.516,0.641 + s1.377,0.734,2.046,1.437c0.672,0.704,0.719,0.985,0.766,1.235s0.031,0.828-0.047,0.953c-0.078,0.125-7.75,4.094-7.75,4.094 + s-0.453,0.203-1.187,0.093c-0.735-0.109-2-1-2.407-1.578c-0.406-0.578-0.375-1.468-0.375-1.468s0.016-1.047,1.391-2.61 + C47.285,91.717,48.926,90.78,48.926,90.78"/> + <path id="Fill-47" class="st1" d="M49.127,98.069c0.012-0.09,0.889-2.551,3.768-4.107c2.884-1.518,3.548,0.121,3.49-0.223 + l-0.006,0.547c-2.078,1.109-5.115,2.728-7.191,3.836"/> + <path id="Fill-49" class="st3" d="M46.832,96.506c0.187-0.75,1.266-2.391,1.992-3.141c0.727-0.75,1.36-1.242,2.461-1.804 + c1.102-0.563,2.438-0.985,3.094-0.657c0.656,0.329,1.57,1.149,1.945,1.641c0.375,0.492,0.281,1.008,0.281,1.008 + s-1.382-0.469-2.203-0.188c-0.82,0.282-2.133,0.938-2.976,1.758c-0.844,0.821-1.172,1.899-1.758,2.578 + c-0.586,0.68-1.711,0.774-1.711,0.774s-1.148-0.235-1.266-0.446C46.574,97.818,46.645,97.256,46.832,96.506"/> + <path id="Fill-51" class="st15" d="M48.738,93.864l-0.504-0.303c-0.918,0.996-1.445,1.975-1.699,2.524l0.506,0.302 + C47.293,95.839,47.822,94.858,48.738,93.864"/> + <polygon id="Stroke-53" class="st0" points="30.77,91.095 42.479,84.88 42.481,88.177 30.772,94.394 "/> + <polygon id="Stroke-55" class="st0" points="0.87,73.131 12.579,66.914 42.478,84.88 30.769,91.095 "/> + <polygon id="Stroke-57" class="st0" points="30.77,91.095 30.772,94.394 0.873,76.428 0.871,73.131 "/> + <polygon id="Fill-59" class="st1" points="30.77,91.095 42.479,84.88 42.481,88.177 30.772,94.394 "/> + <polygon id="Fill-61" class="st2" points="0.87,73.131 12.579,66.914 42.478,84.88 30.769,91.095 "/> + <polygon id="Fill-63" class="st3" points="30.77,91.095 30.772,94.394 0.873,76.428 0.871,73.131 "/> + <polygon id="Fill-65" class="st16" points="8.027,72.784 9.486,72.011 9.486,72.292 8.027,73.067 "/> + <polygon id="Fill-67" class="st5" points="6.771,72.028 8.228,71.255 9.486,72.01 8.027,72.784 "/> + <polygon id="Fill-69" class="st17" points="8.027,72.784 8.027,73.067 6.771,72.311 6.771,72.028 "/> + <polygon id="Fill-71" class="st16" points="9.888,73.901 11.345,73.128 11.345,73.411 9.888,74.184 "/> + <polygon id="Fill-73" class="st5" points="8.63,73.147 10.089,72.372 11.345,73.127 9.888,73.901 "/> + <polygon id="Fill-75" class="st17" points="9.888,73.901 9.888,74.184 8.63,73.428 8.63,73.147 "/> + <polygon id="Fill-77" class="st16" points="11.841,75.075 13.298,74.302 13.298,74.585 11.841,75.358 "/> + <polygon id="Fill-79" class="st5" points="10.583,74.319 12.042,73.546 13.298,74.301 11.841,75.075 "/> + <polygon id="Fill-81" class="st17" points="11.841,75.075 11.841,75.358 10.583,74.602 10.583,74.319 "/> + <polygon id="Fill-83" class="st16" points="13.708,76.198 15.165,75.423 15.165,75.706 13.708,76.479 "/> + <polygon id="Fill-85" class="st5" points="12.45,75.442 13.909,74.669 15.165,75.422 13.708,76.198 "/> + <polygon id="Fill-87" class="st17" points="13.708,76.198 13.708,76.479 12.45,75.725 12.45,75.442 "/> + <polygon id="Fill-89" class="st16" points="15.636,77.356 17.093,76.581 17.093,76.864 15.636,77.637 "/> + <polygon id="Fill-91" class="st5" points="14.378,76.6 15.837,75.827 17.093,76.58 15.636,77.356 "/> + <polygon id="Fill-93" class="st17" points="15.636,77.356 15.636,77.637 14.378,76.883 14.378,76.6 "/> + <polygon id="Fill-95" class="st16" points="17.503,78.477 18.96,77.704 18.96,77.985 17.503,78.76 "/> + <polygon id="Fill-97" class="st5" points="16.24,77.717 17.697,76.944 18.961,77.703 17.503,78.477 "/> + <polygon id="Fill-99" class="st17" points="17.503,78.477 17.503,78.76 16.239,78 16.239,77.717 "/> + <polygon id="Fill-101" class="st16" points="19.456,79.651 20.913,78.878 20.913,79.159 19.456,79.932 "/> + <polygon id="Fill-103" class="st5" points="18.198,78.895 19.658,78.122 20.913,78.877 19.457,79.651 "/> + <polygon id="Fill-105" class="st17" points="19.456,79.651 19.456,79.932 18.198,79.178 18.198,78.895 "/> + <polygon id="Fill-107" class="st16" points="21.316,80.768 22.775,79.995 22.775,80.278 21.316,81.051 "/> + <polygon id="Fill-109" class="st5" points="20.06,80.014 21.517,79.239 22.775,79.994 21.316,80.768 "/> + <polygon id="Fill-111" class="st17" points="21.316,80.768 21.316,81.051 20.06,80.295 20.06,80.014 "/> + <polygon id="Fill-113" class="st16" points="23.146,81.869 24.605,81.095 24.605,81.378 23.146,82.15 "/> + <polygon id="Fill-115" class="st5" points="21.89,81.114 23.347,80.339 24.605,81.094 23.146,81.869 "/> + <polygon id="Fill-117" class="st17" points="23.146,81.869 23.146,82.15 21.89,81.395 21.89,81.114 "/> + <polygon id="Fill-119" class="st16" points="25.007,82.986 26.464,82.213 26.464,82.494 25.007,83.269 "/> + <polygon id="Fill-121" class="st5" points="23.749,82.23 25.208,81.458 26.464,82.212 25.007,82.986 "/> + <polygon id="Fill-123" class="st17" points="25.007,82.986 25.007,83.269 23.749,82.513 23.749,82.23 "/> + <polygon id="Fill-125" class="st16" points="26.96,84.16 28.417,83.385 28.417,83.668 26.96,84.441 "/> + <polygon id="Fill-127" class="st5" points="25.702,83.404 27.161,82.631 28.417,83.384 26.96,84.16 "/> + <polygon id="Fill-129" class="st17" points="26.96,84.16 26.96,84.441 25.702,83.687 25.702,83.404 "/> + <polygon id="Fill-131" class="st16" points="28.826,85.281 30.285,84.508 30.285,84.791 28.826,85.564 "/> + <polygon id="Fill-133" class="st5" points="27.57,84.525 29.028,83.752 30.286,84.507 28.827,85.281 "/> + <polygon id="Fill-135" class="st17" points="28.826,85.281 28.826,85.564 27.569,84.808 27.569,84.525 "/> + <polygon id="Fill-137" class="st16" points="30.754,86.439 32.213,85.666 32.213,85.949 30.754,86.722 "/> + <polygon id="Fill-139" class="st5" points="29.498,85.685 30.955,84.91 32.213,85.665 30.754,86.439 "/> + <polygon id="Fill-141" class="st17" points="30.754,86.439 30.754,86.722 29.498,85.966 29.498,85.685 "/> + <polygon id="Fill-143" class="st16" points="32.578,87.535 34.035,86.762 34.037,87.045 32.578,87.818 "/> + <polygon id="Fill-145" class="st5" points="31.32,86.781 32.779,86.006 34.035,86.761 32.578,87.535 "/> + <polygon id="Fill-147" class="st17" points="32.578,87.535 32.578,87.818 31.322,87.062 31.32,86.781 "/> + <polygon id="Fill-149" class="st16" points="10.027,71.659 11.486,70.886 11.486,71.167 10.027,71.942 "/> + <polygon id="Fill-151" class="st5" points="8.771,70.903 10.228,70.13 11.486,70.885 10.027,71.659 "/> + <polygon id="Fill-153" class="st17" points="10.027,71.659 10.027,71.942 8.771,71.186 8.771,70.903 "/> + <polygon id="Fill-155" class="st16" points="11.888,72.776 13.345,72.003 13.345,72.286 11.888,73.059 "/> + <polygon id="Fill-157" class="st5" points="10.63,72.022 12.089,71.247 13.345,72.002 11.888,72.776 "/> + <polygon id="Fill-159" class="st17" points="11.888,72.776 11.888,73.059 10.63,72.303 10.63,72.022 "/> + <polygon id="Fill-161" class="st16" points="13.841,73.95 15.298,73.177 15.298,73.46 13.841,74.233 "/> + <polygon id="Fill-163" class="st5" points="12.583,73.194 14.042,72.421 15.298,73.176 13.841,73.95 "/> + <polygon id="Fill-165" class="st17" points="13.841,73.95 13.841,74.233 12.583,73.477 12.583,73.194 "/> + <polygon id="Fill-167" class="st16" points="15.708,75.073 17.165,74.298 17.165,74.581 15.708,75.354 "/> + <polygon id="Fill-169" class="st5" points="14.45,74.317 15.909,73.544 17.165,74.297 15.708,75.073 "/> + <polygon id="Fill-171" class="st17" points="15.708,75.073 15.708,75.354 14.45,74.6 14.45,74.317 "/> + <polygon id="Fill-173" class="st16" points="17.636,76.231 19.093,75.456 19.093,75.739 17.636,76.512 "/> + <polygon id="Fill-175" class="st5" points="16.378,75.475 17.837,74.702 19.093,75.455 17.636,76.231 "/> + <polygon id="Fill-177" class="st17" points="17.636,76.231 17.636,76.512 16.378,75.758 16.378,75.475 "/> + <polygon id="Fill-179" class="st16" points="19.503,77.352 20.96,76.579 20.96,76.86 19.503,77.635 "/> + <polygon id="Fill-181" class="st5" points="18.24,76.592 19.697,75.819 20.961,76.578 19.503,77.352 "/> + <polygon id="Fill-183" class="st17" points="19.503,77.352 19.503,77.635 18.239,76.875 18.239,76.592 "/> + <polygon id="Fill-185" class="st16" points="21.456,78.526 22.913,77.753 22.913,78.034 21.456,78.807 "/> + <polygon id="Fill-187" class="st5" points="20.198,77.77 21.658,76.997 22.913,77.752 21.457,78.526 "/> + <polygon id="Fill-189" class="st17" points="21.456,78.526 21.456,78.807 20.198,78.053 20.198,77.77 "/> + <polygon id="Fill-191" class="st16" points="23.316,79.643 24.775,78.87 24.775,79.153 23.316,79.926 "/> + <polygon id="Fill-193" class="st5" points="22.06,78.889 23.517,78.114 24.775,78.869 23.316,79.643 "/> + <polygon id="Fill-195" class="st17" points="23.316,79.643 23.316,79.926 22.06,79.17 22.06,78.889 "/> + <polygon id="Fill-197" class="st16" points="25.146,80.743 26.605,79.97 26.605,80.253 25.146,81.026 "/> + <polygon id="Fill-199" class="st5" points="23.89,79.989 25.347,79.214 26.605,79.969 25.146,80.743 "/> + <polygon id="Fill-201" class="st17" points="25.146,80.743 25.146,81.026 23.89,80.27 23.89,79.989 "/> + <polygon id="Fill-203" class="st16" points="27.007,81.861 28.464,81.087 28.464,81.37 27.007,82.144 "/> + <polygon id="Fill-205" class="st5" points="25.749,81.106 27.208,80.333 28.464,81.086 27.007,81.861 "/> + <polygon id="Fill-207" class="st17" points="27.007,81.861 27.007,82.144 25.749,81.389 25.749,81.106 "/> + <polygon id="Fill-209" class="st16" points="28.959,83.035 30.418,82.26 30.418,82.543 28.959,83.316 "/> + <polygon id="Fill-211" class="st5" points="27.702,82.279 29.16,81.507 30.418,82.259 28.959,83.035 "/> + <polygon id="Fill-213" class="st17" points="28.959,83.035 28.959,83.316 27.702,82.562 27.702,82.279 "/> + <polygon id="Fill-215" class="st16" points="30.826,84.156 32.285,83.383 32.285,83.666 30.826,84.439 "/> + <polygon id="Fill-217" class="st5" points="29.57,83.4 31.028,82.627 32.285,83.382 30.826,84.156 "/> + <polygon id="Fill-219" class="st17" points="30.826,84.156 30.826,84.439 29.57,83.683 29.57,83.4 "/> + <polygon id="Fill-221" class="st16" points="32.754,85.314 34.213,84.541 34.213,84.824 32.754,85.597 "/> + <polygon id="Fill-223" class="st5" points="31.498,84.56 32.955,83.785 34.213,84.54 32.754,85.314 "/> + <polygon id="Fill-225" class="st17" points="32.754,85.314 32.754,85.597 31.498,84.841 31.498,84.56 "/> + <polygon id="Fill-227" class="st16" points="34.578,86.41 36.035,85.637 36.037,85.92 34.578,86.693 "/> + <polygon id="Fill-229" class="st5" points="33.32,85.656 34.779,84.881 36.035,85.636 34.578,86.41 "/> + <polygon id="Fill-231" class="st17" points="34.578,86.41 34.578,86.693 33.322,85.937 33.32,85.656 "/> + <polygon id="Fill-233" class="st16" points="12.152,70.534 13.611,69.761 13.611,70.042 12.152,70.817 "/> + <polygon id="Fill-235" class="st5" points="10.896,69.778 12.353,69.005 13.611,69.76 12.152,70.534 "/> + <polygon id="Fill-237" class="st17" points="12.152,70.534 12.152,70.817 10.896,70.061 10.896,69.778 "/> + <polygon id="Fill-239" class="st16" points="14.013,71.651 15.47,70.878 15.47,71.161 14.013,71.934 "/> + <polygon id="Fill-241" class="st5" points="12.755,70.897 14.214,70.122 15.47,70.877 14.013,71.651 "/> + <polygon id="Fill-243" class="st17" points="14.013,71.651 14.013,71.934 12.755,71.178 12.755,70.897 "/> + <polygon id="Fill-245" class="st16" points="15.966,72.825 17.423,72.052 17.423,72.335 15.966,73.108 "/> + <polygon id="Fill-247" class="st5" points="14.708,72.069 16.167,71.296 17.423,72.051 15.966,72.825 "/> + <polygon id="Fill-249" class="st17" points="15.966,72.825 15.966,73.108 14.708,72.352 14.708,72.069 "/> + <polygon id="Fill-251" class="st16" points="17.833,73.948 19.29,73.173 19.29,73.456 17.833,74.229 "/> + <polygon id="Fill-253" class="st5" points="16.575,73.192 18.034,72.419 19.29,73.172 17.833,73.948 "/> + <polygon id="Fill-255" class="st17" points="17.833,73.948 17.833,74.229 16.575,73.475 16.575,73.192 "/> + <polygon id="Fill-257" class="st16" points="19.761,75.106 21.218,74.331 21.218,74.614 19.761,75.387 "/> + <polygon id="Fill-259" class="st5" points="18.503,74.35 19.962,73.577 21.218,74.33 19.761,75.106 "/> + <polygon id="Fill-261" class="st17" points="19.761,75.106 19.761,75.387 18.503,74.633 18.503,74.35 "/> + <polygon id="Fill-263" class="st16" points="21.628,76.227 23.085,75.454 23.085,75.735 21.628,76.51 "/> + <polygon id="Fill-265" class="st5" points="20.365,75.467 21.822,74.694 23.086,75.453 21.628,76.227 "/> + <polygon id="Fill-267" class="st17" points="21.628,76.227 21.628,76.51 20.364,75.75 20.364,75.467 "/> + <polygon id="Fill-269" class="st16" points="23.581,77.401 25.038,76.628 25.038,76.909 23.581,77.682 "/> + <polygon id="Fill-271" class="st5" points="22.323,76.645 23.783,75.872 25.038,76.627 23.582,77.401 "/> + <polygon id="Fill-273" class="st17" points="23.581,77.401 23.581,77.682 22.323,76.928 22.323,76.645 "/> + <polygon id="Fill-275" class="st16" points="25.441,78.518 26.9,77.745 26.9,78.028 25.441,78.801 "/> + <polygon id="Fill-277" class="st5" points="24.185,77.764 25.642,76.989 26.9,77.744 25.441,78.518 "/> + <polygon id="Fill-279" class="st17" points="25.441,78.518 25.441,78.801 24.185,78.045 24.185,77.764 "/> + <polygon id="Fill-281" class="st16" points="27.271,79.618 28.729,78.845 28.729,79.128 27.271,79.901 "/> + <polygon id="Fill-283" class="st5" points="26.015,78.864 27.472,78.089 28.729,78.844 27.271,79.618 "/> + <polygon id="Fill-285" class="st17" points="27.271,79.618 27.271,79.901 26.015,79.145 26.015,78.864 "/> + <polygon id="Fill-287" class="st16" points="29.131,80.737 30.59,79.962 30.59,80.245 29.131,81.018 "/> + <polygon id="Fill-289" class="st5" points="27.874,79.981 29.332,79.208 30.59,79.961 29.131,80.737 "/> + <polygon id="Fill-291" class="st17" points="29.131,80.737 29.131,81.018 27.874,80.264 27.874,79.981 "/> + <polygon id="Fill-293" class="st16" points="31.084,81.91 32.543,81.136 32.543,81.419 31.084,82.191 "/> + <polygon id="Fill-295" class="st5" points="29.828,81.155 31.285,80.382 32.543,81.135 31.084,81.91 "/> + <polygon id="Fill-297" class="st17" points="31.084,81.91 31.084,82.191 29.828,81.436 29.828,81.155 "/> + <polygon id="Fill-299" class="st16" points="32.951,83.031 34.41,82.258 34.41,82.541 32.951,83.314 "/> + <polygon id="Fill-301" class="st5" points="31.695,82.275 33.153,81.503 34.41,82.257 32.951,83.031 "/> + <polygon id="Fill-303" class="st17" points="32.951,83.031 32.951,83.314 31.695,82.558 31.695,82.275 "/> + <polygon id="Fill-305" class="st16" points="34.879,84.189 36.338,83.416 36.338,83.699 34.879,84.472 "/> + <polygon id="Fill-307" class="st5" points="33.623,83.435 35.08,82.66 36.338,83.415 34.879,84.189 "/> + <polygon id="Fill-309" class="st17" points="34.879,84.189 34.879,84.472 33.623,83.716 33.623,83.435 "/> + <polygon id="Fill-311" class="st16" points="36.703,85.285 38.16,84.512 38.162,84.795 36.703,85.568 "/> + <polygon id="Fill-313" class="st5" points="35.445,84.531 36.904,83.756 38.16,84.511 36.703,85.285 "/> + <polygon id="Fill-315" class="st17" points="36.703,85.285 36.703,85.568 35.447,84.812 35.445,84.531 "/> + <polygon id="Fill-317" class="st16" points="6.636,74.461 8.093,73.686 8.093,73.961 6.636,74.734 "/> + <polygon id="Fill-319" class="st5" points="5.378,73.705 6.835,72.932 8.093,73.685 6.636,74.461 "/> + <polygon id="Fill-321" class="st17" points="6.636,74.461 6.636,74.734 5.378,73.979 5.378,73.705 "/> + <polygon id="Fill-323" class="st16" points="8.404,75.524 9.863,74.749 9.863,75.024 8.404,75.797 "/> + <polygon id="Fill-325" class="st5" points="7.148,74.768 8.605,73.995 9.863,74.748 8.404,75.524 "/> + <polygon id="Fill-327" class="st17" points="8.404,75.524 8.404,75.797 7.147,75.044 7.147,74.768 "/> + <polygon id="Fill-329" class="st16" points="10.265,76.641 11.722,75.868 11.722,76.141 10.265,76.916 "/> + <polygon id="Fill-331" class="st5" points="9.007,75.885 10.466,75.112 11.722,75.867 10.265,76.641 "/> + <polygon id="Fill-333" class="st17" points="10.265,76.641 10.265,76.916 9.007,76.161 9.007,75.885 "/> + <polygon id="Fill-335" class="st16" points="25.823,85.96 27.281,85.187 27.281,85.46 25.823,86.235 "/> + <polygon id="Fill-337" class="st5" points="24.566,85.204 26.023,84.431 27.281,85.186 25.824,85.96 "/> + <polygon id="Fill-339" class="st17" points="25.823,85.96 25.823,86.235 24.566,85.48 24.566,85.204 "/> + <polygon id="Fill-341" class="st16" points="27.591,87.023 29.049,86.25 29.049,86.523 27.591,87.298 "/> + <polygon id="Fill-343" class="st5" points="26.335,86.267 27.792,85.494 29.049,86.249 27.591,87.023 "/> + <polygon id="Fill-345" class="st17" points="27.591,87.023 27.591,87.298 26.335,86.543 26.335,86.267 "/> + <polygon id="Fill-347" class="st16" points="29.451,88.14 30.91,87.367 30.91,87.642 29.451,88.415 "/> + <polygon id="Fill-349" class="st5" points="28.195,87.386 29.653,86.611 30.911,87.366 29.452,88.14 "/> + <polygon id="Fill-351" class="st17" points="29.451,88.14 29.451,88.415 28.194,87.66 28.194,87.386 "/> + <polygon id="Fill-353" class="st16" points="23.837,84.806 25.294,84.033 25.294,84.308 23.837,85.081 "/> + <polygon id="Fill-355" class="st5" points="10.943,77.059 12.4,76.286 25.295,84.033 23.838,84.806 "/> + <polygon id="Fill-357" class="st17" points="23.837,84.806 23.837,85.081 10.942,77.334 10.942,77.059 "/> + <polyline id="Stroke-359" class="st6" points="1.113,73.164 30.521,90.833 30.521,94.038 "/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Server_Desktop.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Server_Desktop.svg new file mode 100644 index 0000000000000000000000000000000000000000..1c3229fce16b8b9082b759047dae2934e9238560 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Server_Desktop.svg @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 71 89.6" style="enable-background:new 0 0 71 89.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-server</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-659.000000, -207.000000)"> + <g id="icon-server" transform="translate(660.000000, 207.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.641600)"> + <polygon id="Stroke-1" class="st0" points="23.3,38.6 68.5,14.6 68.5,63.5 23.4,87.5 "/> + <polygon id="Stroke-3" class="st0" points="0.5,24.8 45.7,0.9 68.5,14.6 23.3,38.6 "/> + <polygon id="Stroke-5" class="st0" points="23.3,38.6 23.4,87.5 0.5,73.8 0.5,24.8 "/> + </g> + <polygon id="Fill-8" class="st1" points="23.3,39.2 68.5,15.2 68.5,64.2 23.4,88.1 "/> + <polygon id="Fill-9" class="st2" points="0.5,25.5 45.7,1.5 68.5,15.2 23.3,39.2 "/> + <polygon id="Fill-10" class="st3" points="23.3,39.2 23.4,88.1 0.5,74.4 0.5,25.5 "/> + <polyline id="Stroke-11" class="st4" points="1.2,25.5 23.5,38.9 23.5,87.9 "/> + <polygon id="Fill-12" class="st5" points="20.3,49.3 3,38.9 3,32.4 20.3,42.8 "/> + <polygon id="Fill-13" class="st5" points="20.3,55.5 3,45.1 3,41.4 20.3,51.8 "/> + <polygon id="Fill-14" class="st5" points="20.3,74.7 3,64.3 3,62.6 20.3,73 "/> + <polygon id="Fill-15" class="st5" points="20.3,78.5 3,68.1 3,66.4 20.3,76.8 "/> + <polygon id="Fill-16" class="st5" points="20.3,82.5 3,72.1 3,70.4 20.3,80.8 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Smartphone.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Smartphone.svg new file mode 100644 index 0000000000000000000000000000000000000000..2b6b90157faf0fe0a38db461920f7a3645c65ae6 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Smartphone.svg @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 33.3 72.4" style="enable-background:new 0 0 33.3 72.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#231F20;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#606163;} + .st2{fill:#808184;} + .st3{fill:#231F20;} + .st4{fill:#6D6E70;} + .st5{fill:#C6C8C7;} + .st6{fill:#A6A8AB;} + .st7{fill:#C4CACE;} + .st8{fill:#404042;} +</style> +<title>icon-iPhone</title> +<desc>Created with Sketch.</desc> +<path id="Stroke-11" class="st0" d="M2.9,4.7c12.1-6.4-7,3.4,5.1-3c0.8-0.4,1.8-0.3,3,0.4l-5.1,3C4.7,4.4,3.6,4.3,2.9,4.7z"/> +<path id="Stroke-20" class="st0" d="M30.5,67.71c-5.1,3,0,0-5.1,3c0.8-0.4,1.4-1.5,1.4-3l5.1-3C31.8,66.21,31.3,67.21,30.5,67.71z" + /> +<polygon id="Stroke-22" class="st0" points="5.9,5.11 11,2.11 27.4,11.81 22.3,14.81 "/> +<polygon id="Stroke-24" class="st0" points="26.7,22.61 31.8,19.61 31.8,64.71 26.7,67.71 "/> +<path id="Stroke-58_1_" class="st0" d="M27.4,11.81c2.4,1.4,4.3,5,4.4,7.9l-5.1,3c0-2.9-2-6.4-4.4-7.9"/> +<path id="Stroke-60" class="st0" d="M22.3,14.81c2.4,1.4,4.4,5,4.4,7.9v45c0,2.9-1.9,4.1-4.3,2.6l-16.5-9.7c-2.4-1.4-4.4-5-4.4-7.9 + v-45c0-2.9,1.9-4.1,4.4-2.6L22.3,14.81z"/> +<path class="st1" d="M10.46,1.433L10.5,1.41c-0.5-0.2-0.9-0.3-1.3-0.3c-0.4-0.1-0.9,0-1.2,0.2l-5.1,3c0.4-0.2,0.8-0.2,1.2-0.2 + c0.4,0,0.8,0.1,1.2,0.3c0.2,0.1,0.4,0.2,0.6,0.3l5.1-3C10.815,1.617,10.709,1.525,10.46,1.433z"/> +<polygon id="Fill-80" class="st2" points="5.9,4.7 11,1.7 27.5,11.4 22.4,14.4 "/> +<polygon id="Fill-81" class="st3" points="26.7,22.2 31.8,19.2 31.9,64.3 26.7,67.3 "/> +<path class="st3" d="M31.8,18.31c-0.1-0.4-0.2-0.9-0.3-1.3l-0.031,0.018c-0.09-0.253-0.18-0.449-0.269-0.718c0-0.2-0.1-0.4-0.2-0.6 + c-0.1-0.3-0.2-0.5-0.3-0.7c-0.2-0.4-0.4-0.8-0.7-1.2c-0.2-0.2-0.3-0.4-0.5-0.6c-0.2-0.2-0.3-0.4-0.5-0.6s-0.5-0.5-0.8-0.7 + c-0.2-0.2-0.5-0.4-0.7-0.5l-5.1,3c0.2,0.1,0.4,0.3,0.7,0.5c0.3,0.2,0.5,0.5,0.8,0.7c0.2,0.2,0.3,0.4,0.5,0.6 + c0.2,0.2,0.3,0.4,0.5,0.6c0.2,0.4,0.5,0.8,0.7,1.2c0.1,0.2,0.2,0.4,0.3,0.7c0.1,0.2,0.2,0.4,0.2,0.6c0.1,0.2,0.2,0.5,0.3,0.8 + l0.019-0.011c0.089,0.436,0.179,0.802,0.268,1.16L26.6,21.31c0.1,0.3,0.1,0.6,0.1,0.9l5.1-3c0-0.282-0.083-0.563-0.094-0.845 + L31.8,18.31z"/> +<path id="Fill-113" class="st4" d="M22.4,14.41c2.4,1.4,4.4,5,4.4,7.9v45c0,2.9-1.9,4.1-4.3,2.6l-16.6-9.7c-2.4-1.4-4.4-5-4.4-7.9 + v-45c0-2.9,1.9-4.1,4.4-2.6L22.4,14.41z"/> +<path id="Fill-115" class="st5" d="M26.7,67.41v-45c0-2.7-1.8-5.9-4-7.2L6.2,5.51c-2.2-1.3-4-0.2-4,2.4v45c0,2.7,1.8,5.9,4,7.2 + l16.5,9.7C24.9,71.11,26.7,70.11,26.7,67.41z M22.6,14.31c2.6,1.6,4.7,5.4,4.7,8.5v45c0,3.1-2.1,4.4-4.7,2.8l-16.4-9.6 + c-2.6-1.6-4.7-5.4-4.7-8.5v-45c0-3.1,2.1-4.4,4.7-2.8L22.6,14.31z"/> +<polygon id="Fill-121" class="st6" points="24.1,60.91 4.8,49.11 4.8,11.81 24.1,23.61 "/> +<path id="Fill-123" class="st7" d="M10.9,18.01l11.4,6.8l0.1,9.2c0,0,0.9-5.5-4-9.6C12.1,19.11,10.9,18.01,10.9,18.01"/> +<path id="Fill-125" class="st8" d="M16,62.11c0,1.3-1,1.7-2.3,0.9c-1.2-0.7-2.3-2.4-2.3-3.6c0-1.3,1-1.6,2.3-0.9S16,60.81,16,62.11" + /> +<polygon id="Fill-127" class="st8" points="16.3,15.91 11.2,12.91 11.2,11.71 16.3,14.71 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet.svg new file mode 100644 index 0000000000000000000000000000000000000000..34abd0bc51c338000072bdd37525487f588589d8 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet.svg @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Tablet4.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 45.453 95.324" + style="enable-background:new 0 0 45.453 95.324;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#231F20;stroke-width:4.49;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#606163;} + .st2{fill:#808184;} + .st3{fill:#2A2526;} + .st4{fill:#433B3C;} + .st5{fill:#6D6E70;} + .st6{fill:#C6C8C7;} + .st7{fill:none;stroke:#C6C8C7;stroke-width:1.078;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:#707274;} + .st9{fill:#A6A8AB;} + .st10{fill:#C4CACE;} + .st11{fill:#404042;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview66" inkscape:current-layer="Layer_1" inkscape:cx="67.018611" inkscape:cy="36.066692" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="4.9166667" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-iPad</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Stroke-11" class="st0" d="M4.296,4.545C5.2,4.054,5.995,3.399,7.554,2.607c1.176-0.598,2.734-0.483,4.463,0.556 + L8.759,5.102C7.03,4.063,5.462,3.927,4.296,4.545z"/> +<path id="Stroke-20" inkscape:connector-curvature="0" class="st0" d="M41.155,90.769c-2.146,1.259-1.328,0.959-3.258,1.938 + c1.276-0.647,2.053-2.23,2.053-4.487l3.258-1.941C43.208,88.539,42.419,90.097,41.155,90.769z"/> +<polygon id="Stroke-22" class="st0" points="8.759,5.102 12.017,3.163 36.646,17.622 33.388,19.56 "/> +<polygon id="Stroke-24" class="st0" points="39.903,31.321 43.161,29.382 43.208,86.279 39.95,88.22 "/> +<path id="Stroke-58" inkscape:connector-curvature="0" class="st0" d="M33.388,19.56l3.258-1.938 + c3.596,2.161,6.51,7.423,6.515,11.76l-3.257,1.939C39.902,26.983,36.984,21.72,33.388,19.56z"/> +<path id="Stroke-60" class="st0" d="M33.388,19.56c3.596,2.16,6.514,7.423,6.516,11.761L39.95,88.22 + c0.004,4.335-2.908,6.098-6.503,3.935L8.818,77.697c-3.606-2.166-6.522-7.428-6.526-11.763l-0.047-56.9 + c-0.002-4.337,2.91-6.098,6.514-3.932L33.388,19.56z"/> +<g id="g28" transform="translate(0,20)"> + <path id="path24" inkscape:connector-curvature="0" class="st1" d="M8.934-18.367c-0.477,0.031-0.917,0.153-1.309,0.363 + l-3.258,1.938c0.525-0.278,1.133-0.404,1.799-0.363c0.573,0.035,1.189,0.195,1.838,0.486c0.27,0.121,0.545,0.266,0.824,0.434 + l3.26-1.939c-0.279-0.169-0.557-0.311-0.826-0.434c-0.649-0.29-1.266-0.449-1.838-0.484C9.257-18.377,9.093-18.377,8.934-18.367z" + /> +</g> +<polygon id="Fill-80" class="st2" points="12.087,2.552 36.716,17.011 33.458,18.949 8.829,4.491 "/> +<polygon id="Fill-81" class="st3" points="43.278,85.668 40.02,87.608 39.973,30.71 43.231,28.771 "/> +<g id="g54" transform="translate(-20)"> + <path id="path42" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccccccccccccccccccccccc" class="st4" d="M61.994,23.434 + c-0.147-0.335-0.307-0.665-0.477-0.99h0.002c-0.317-0.605-0.666-1.191-1.049-1.746c-0.217-0.313-0.442-0.615-0.676-0.906 + c-0.242-0.3-0.49-0.59-0.824-0.945s-0.76-0.749-1.154-1.063s-0.743-0.559-1.1-0.774l-3.26,1.938 + c0.357,0.216,0.709,0.462,1.051,0.734c0.445,0.354,0.869,0.753,1.279,1.186c0.258,0.275,0.506,0.561,0.748,0.861 + c0.234,0.292,0.461,0.596,0.678,0.908c0.383,0.556,0.732,1.141,1.049,1.746H58.26c0.17,0.328,0.33,0.657,0.477,0.99 + c0.131,0.298,0.254,0.598,0.369,0.903c0.143,0.39,0.271,0.784,0.383,1.175c0.18,0.64,0.313,1.275,0.396,1.906 + c0.059,0.456,0.09,0.91,0.09,1.352l3.258-1.939c-0.002-0.44-0.032-0.894-0.09-1.35c-0.083-0.631-0.215-1.269-0.396-1.908 + c-0.112-0.393-0.241-0.786-0.383-1.176C62.248,24.035,62.125,23.731,61.994,23.434z"/> +</g> +<path id="Fill-113" inkscape:connector-curvature="0" class="st5" d="M31.458,18.949c3.596,2.16,6.514,7.425,6.516,11.761 + l0.046,56.899c0.002,4.335-2.908,6.097-6.503,3.934L6.888,77.086c-3.606-2.166-6.522-7.428-6.526-11.762L0.315,8.422 + C0.313,4.086,3.224,2.325,6.829,4.491L31.458,18.949z"/> +<path id="Fill-115" inkscape:connector-curvature="0" class="st6" d="M37.95,87.84l-0.047-56.899 + c-0.014-3.999-2.697-8.844-6.01-10.846L6.919,5.457C3.856,3.71,1.268,5.644,1.268,9.267l0.047,56.901 + c0.012,3.996,2.69,8.836,6.01,10.83l24.627,14.457C35.261,93.446,37.944,91.824,37.95,87.84z M31.893,18.861 + c3.883,2.333,7.03,8.013,7.034,12.694l0.046,56.898c0.002,4.669-3.253,6.227-7.021,4.248L7.325,78.243 + c-3.881-2.341-7.029-8.02-7.033-12.692L0.245,8.652c0-4.481,3.142-6.422,7.021-4.249L31.893,18.861z"/> +<path id="Stroke-117" inkscape:connector-curvature="0" class="st7" d="M0.745,8.965c0-4.911,3.227-6.151,7.066-3.843l24.03,14.099 + c3.842,2.309,6.955,7.928,6.957,12.559l0.047,56.181c0.004,4.615-3.079,6.364-6.918,4.067"/> +<path id="Fill-123" inkscape:connector-curvature="0" class="st8" d="M31.893,20.095c3.313,2.002,5.996,6.847,6.01,10.846 + L37.95,87.84c-0.006,3.984-2.69,5.607-5.998,3.615L7.325,76.998c-3.321-1.994-5.998-6.834-6.01-10.83L1.268,9.267 + c0.006-3.985,2.678-5.614,5.998-3.63L31.893,20.095z"/> +<polygon id="Fill-125" class="st9" points="5.165,65.68 5.165,9.839 34.063,27.422 34.063,83.265 "/> +<path id="Fill-119" inkscape:connector-curvature="0" class="st10" d="M14.37,19.012L31.368,29.22l0.137,13.794 + c0,0,1.295-8.211-6.039-14.41C16.102,20.693,14.37,19.012,14.37,19.012"/> +<path id="path63" inkscape:connector-curvature="0" d="M43.235,86.566c0.029-0.284,0.043-0.585,0.043-0.897l-3.258,1.94 + c0,0.205-0.016,0.394-0.028,0.586L39.95,88.22l0,0l0,0c0,0.295-0.015,0.577-0.041,0.849c-0.173,1.805-0.903,3.076-2.012,3.638 + c1.93-0.979,1.112-0.679,3.258-1.938c1.088-0.578,1.82-1.816,2.004-3.59l0.006-0.003c0.002-0.017,0.001-0.036,0.003-0.053 + c0.016-0.17,0.021-0.352,0.027-0.532L43.235,86.566z"/> +<path id="Fill-121" class="st11" d="M22.378,80.419c0,0.994-0.803,1.32-1.791,0.724c-0.98-0.587-1.783-1.878-1.783-2.872 + c0-0.985,0.803-1.293,1.783-0.705C21.575,78.161,22.378,79.432,22.378,80.419"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet_Alternative.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet_Alternative.svg new file mode 100644 index 0000000000000000000000000000000000000000..7d31bf39d742f17d8a0c1d773cfa5b2295617567 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Tablet_Alternative.svg @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 58 79.6" style="enable-background:new 0 0 58 79.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#C4CACE;} + .st7{fill:none;stroke:#636466;stroke-width:2;stroke-linecap:round;} + .st8{fill:none;stroke:#636466;stroke-width:3;stroke-linecap:round;} +</style> +<title>icon-PDA</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1224.000000, -76.000000)"> + <g id="icon-PDA" transform="translate(1225.000000, 76.000000)"> + <g id="Group-7" transform="translate(15.000000, 0.603500)"> + <polygon id="Stroke-1" class="st0" points="36.8,24.9 40.5,22.9 40.5,75.6 36.8,77.5 "/> + <polygon id="Stroke-3" class="st0" points="0.1,2.8 3.8,0.9 40.5,22.9 36.8,24.9 "/> + <polygon id="Stroke-5" class="st0" points="36.8,24.9 36.8,77.5 0.2,55.5 0.1,2.8 "/> + </g> + <polygon id="Fill-8" class="st1" points="51.8,25.5 55.5,23.5 55.5,76.2 51.8,78.1 "/> + <polygon id="Fill-9" class="st2" points="15.1,3.4 18.8,1.5 55.5,23.5 51.8,25.5 "/> + <polygon id="Fill-10" class="st3" points="51.8,25.5 51.8,78.1 15.2,56.1 15.1,3.4 "/> + <polyline id="Stroke-11" class="st4" points="15.4,3.6 52,25.6 52,77.8 "/> + <polygon id="Fill-12" class="st5" points="48.4,69.5 18,52 17.9,9.1 48.4,26.8 "/> + <polygon id="Fill-13" class="st5" points="41.1,69.8 28.6,62.2 28.6,60.4 41.1,67.9 "/> + <g id="Group-24" transform="translate(0.000000, 16.603500)"> + <path id="Fill-14" class="st5" d="M45.2,54.8c0,0.6-0.5,0.7-1,0.4c-0.6-0.3-1-1.1-1-1.6c0-0.6,0.5-0.7,1-0.4 + C44.8,53.5,45.2,54.2,45.2,54.8"/> + <path id="Fill-16" class="st5" d="M48.2,56.6c0,0.6-0.5,0.7-1,0.4c-0.6-0.3-1-1.1-1-1.6c0-0.6,0.5-0.7,1-0.4 + C47.8,55.3,48.2,56,48.2,56.6"/> + <path id="Fill-18" class="st6" d="M28,0.8l18.5,11.1l0.1,10.4c0,0-0.3-7.4-5.8-12.1C33.8,4.3,28,0.8,28,0.8"/> + <path id="Stroke-20" class="st7" d="M0.6,1.8l24.1,13.9"/> + <path id="Stroke-22" class="st8" d="M0.5,1.8l9.3,5.9"/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/VOIP_IP_phone.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/VOIP_IP_phone.svg new file mode 100644 index 0000000000000000000000000000000000000000..a031ba516184d3f8a7319e7373b2d229e0a30ef0 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/VOIP_IP_phone.svg @@ -0,0 +1,506 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 49.922 75.201" style="enable-background:new 0 0 49.922 75.201;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{filter:url(#Adobe_OpacityMaskFilter);} + .st2{fill:#FFFFFF;} + .st3{mask:url(#mask-2_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st4{filter:url(#Adobe_OpacityMaskFilter_1_);} + .st5{mask:url(#mask-4_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st6{filter:url(#Adobe_OpacityMaskFilter_2_);} + .st7{mask:url(#mask-6_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st8{filter:url(#Adobe_OpacityMaskFilter_3_);} + .st9{mask:url(#mask-8_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st10{filter:url(#Adobe_OpacityMaskFilter_4_);} + .st11{mask:url(#mask-10_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st12{filter:url(#Adobe_OpacityMaskFilter_5_);} + .st13{mask:url(#mask-12_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st14{filter:url(#Adobe_OpacityMaskFilter_6_);} + .st15{mask:url(#mask-14_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st16{filter:url(#Adobe_OpacityMaskFilter_7_);} + .st17{mask:url(#mask-16_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st18{filter:url(#Adobe_OpacityMaskFilter_8_);} + .st19{mask:url(#mask-18_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st20{filter:url(#Adobe_OpacityMaskFilter_9_);} + .st21{mask:url(#mask-20_1_);fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st22{filter:url(#Adobe_OpacityMaskFilter_10_);} + .st23{mask:url(#mask-22_1_);fill:#8E969C;} + .st24{fill:#A4A6A9;} + .st25{filter:url(#Adobe_OpacityMaskFilter_11_);} + .st26{mask:url(#mask-24_1_);fill:#8E969C;} + .st27{filter:url(#Adobe_OpacityMaskFilter_12_);} + .st28{mask:url(#mask-26_1_);fill:#90989E;} + .st29{filter:url(#Adobe_OpacityMaskFilter_13_);} + .st30{mask:url(#mask-28_1_);fill:#A4A6A9;} + .st31{fill:#898B8E;} + .st32{filter:url(#Adobe_OpacityMaskFilter_14_);} + .st33{mask:url(#mask-30_1_);fill:#A4A6A9;} + .st34{filter:url(#Adobe_OpacityMaskFilter_15_);} + .st35{mask:url(#mask-32_1_);fill:#C6C7C9;} + .st36{filter:url(#Adobe_OpacityMaskFilter_16_);} + .st37{mask:url(#mask-34_1_);fill:#BBBDBF;} + .st38{filter:url(#Adobe_OpacityMaskFilter_17_);} + .st39{mask:url(#mask-36_1_);fill:#9EA0A3;} + .st40{filter:url(#Adobe_OpacityMaskFilter_18_);} + .st41{mask:url(#mask-38_1_);fill:#898B8E;} + .st42{filter:url(#Adobe_OpacityMaskFilter_19_);} + .st43{mask:url(#mask-40_1_);fill:#898B8E;} + .st44{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st45{fill:#939BA0;} + .st46{fill:#B3B5B7;} + .st47{fill:none;stroke:#626366;stroke-width:1.25;} + .st48{fill:#CACCCD;} + .st49{fill:#DDDEDF;} + .st50{fill:#FEFEFE;} +</style> +<title>icon-VOIP-IP-phone</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-365.000000, -71.000000)"> + <g id="icon-VOIP-IP-phone" transform="translate(366.000000, 72.000000)"> + <g id="Group-5" transform="translate(13.000000, 0.201100)"> + <path id="Stroke-1" class="st0" d="M18.461,14.916c0,0.688-0.559,1.247-1.246,1.247c-0.69,0-1.248-0.559-1.248-1.247V1.546 + c0-0.69,0.558-1.247,1.248-1.247c0.687,0,1.246,0.557,1.246,1.247V14.916z"/> + <path id="Stroke-3" class="st0" d="M7.086,0.864c0,0-1.437-0.75-3.875,0.5C0.774,2.614,0.92,3.823,0.752,4.115 + C0.529,4.507,0.586,5.739,0.586,5.739v35.125c0,0-0.125,0.563,0,1.25c0.125,0.688,1,1.625,1,1.625l12.625,7.5 + c0,0,1.188,0.813,2,0.75c0.813-0.062,1.375,0.125,3.125-1s2.125-3,2.125-3V11.364c0,0,0-1.375-0.375-1.875s-1-1-1-1L7.086,0.864 + z"/> + </g> + <g id="Group-8" transform="translate(0.000000, 45.201100)"> + <g id="Clip-7"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="-0.997" y="-1.171" width="17.579" height="10.744"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-0.997" y="-1.171" width="17.579" height="10.744" id="mask-2_1_"> + <g class="st1"> + <polyline id="path-1_1_" class="st2" points="0.503,8.069 0.503,8.073 15.082,0.335 15.082,0.33 "/> + </g> + </mask> + <polyline id="Stroke-6" class="st3" points="0.503,8.068 15.082,0.329 15.082,0.335 0.503,8.073 0.503,8.068 "/> + </g> + <polygon id="Stroke-9" class="st0" points="15.082,45.536 0.503,53.274 0.503,53.269 15.082,45.53 "/> + <g id="Group-20" transform="translate(2.000000, 36.201100)"> + <g id="Group-13"> + <g id="Clip-12"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_1_" filterUnits="userSpaceOnUse" x="-1.328" y="-1.349" width="17.872" height="10.865"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-1.328" y="-1.349" width="17.872" height="10.865" id="mask-4_1_"> + <g class="st4"> + <path id="path-3_1_" class="st2" d="M14.752,0.277L0.173,8.016c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.757-0.415-1.541-0.415C15.42,0.041,15.078,0.103,14.752,0.277"/> + </g> + </mask> + <path id="Stroke-11" class="st5" d="M0.172,8.016l14.579-7.739c0.097-0.051,0.194-0.093,0.293-0.126L0.465,7.89 + C0.366,7.922,0.269,7.964,0.172,8.016"/> + </g> + <g id="Group-16"> + <g id="Clip-15"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_2_" filterUnits="userSpaceOnUse" x="-1.035" y="-1.459" width="18.63" height="10.849"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-1.035" y="-1.459" width="18.63" height="10.849" id="mask-6_1_"> + <g class="st6"> + <path id="path-5_1_" class="st2" d="M14.752,0.277L0.173,8.016c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.757-0.415-1.541-0.415C15.42,0.041,15.078,0.103,14.752,0.277"/> + </g> + </mask> + <path id="Stroke-14" class="st7" d="M0.465,7.89l14.579-7.739c0.359-0.121,0.724-0.129,1.051-0.086L1.517,7.804 + C1.189,7.76,0.823,7.769,0.465,7.89"/> + </g> + <g id="Group-19"> + <g id="Clip-18"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_3_" filterUnits="userSpaceOnUse" x="0.017" y="-1.435" width="18.766" height="11.131"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.017" y="-1.435" width="18.766" height="11.131" id="mask-8_1_"> + <g class="st8"> + <path id="path-7_1_" class="st2" d="M14.752,0.277L0.173,8.016c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.757-0.415-1.541-0.415C15.42,0.041,15.078,0.103,14.752,0.277"/> + </g> + </mask> + <path id="Stroke-17" class="st9" d="M1.517,7.804l14.578-7.739c0.625,0.083,1.117,0.353,1.188,0.391l-14.58,7.74 + C2.632,8.157,2.141,7.886,1.517,7.804"/> + </g> + </g> + <g id="Group-25" transform="translate(2.000000, 36.201100)"> + <path id="Stroke-21" class="st0" d="M0.172,8.016l14.579-7.739c1.121-0.595,2.413,0.115,2.531,0.179l-14.58,7.74 + C2.585,8.131,1.293,7.42,0.172,8.016z"/> + <polygon id="Stroke-23" class="st0" points="2.703,8.195 17.283,0.456 41.686,15.12 27.107,22.858 "/> + </g> + <g id="Group-44" transform="translate(29.000000, 51.201100)"> + <g id="Group-28"> + <g id="Clip-27"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_4_" filterUnits="userSpaceOnUse" x="-1.393" y="-1.38" width="19.389" height="12.618"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="-1.393" y="-1.38" width="19.389" height="12.618" id="mask-10_1_"> + <g class="st10"> + <path id="path-9_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-26" class="st11" d="M0.107,7.858L14.686,0.12c0.089,0.059,0.942,0.634,1.81,1.879L1.917,9.738 + C1.048,8.494,0.196,7.919,0.107,7.858"/> + </g> + <g id="Group-31"> + <g id="Clip-30"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_5_" filterUnits="userSpaceOnUse" x="0.417" y="0.499" width="18.044" height="11.474"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.417" y="0.499" width="18.044" height="11.474" id="mask-12_1_"> + <g class="st12"> + <path id="path-11_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-29" class="st13" d="M1.917,9.738l14.579-7.739c0.156,0.223,0.313,0.468,0.465,0.735l-14.58,7.739 + C2.229,10.206,2.072,9.962,1.917,9.738"/> + </g> + <g id="Group-34"> + <g id="Clip-33"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_6_" filterUnits="userSpaceOnUse" x="0.88" y="1.235" width="18.041" height="11.655"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.88" y="1.235" width="18.041" height="11.655" id="mask-14_1_"> + <g class="st14"> + <path id="path-13_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-32" class="st15" d="M2.38,10.474l14.58-7.739c0.159,0.28,0.315,0.586,0.461,0.916L2.842,11.39 + C2.696,11.059,2.54,10.754,2.38,10.474"/> + </g> + <g id="Group-37"> + <g id="Clip-36"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_7_" filterUnits="userSpaceOnUse" x="1.342" y="2.151" width="17.981" height="11.798"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="1.342" y="2.151" width="17.981" height="11.798" id="mask-16_1_"> + <g class="st16"> + <path id="path-15_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-35" class="st17" d="M2.842,11.39l14.579-7.739c0.145,0.327,0.281,0.68,0.402,1.059L3.245,12.449 + C3.123,12.07,2.988,11.717,2.842,11.39"/> + </g> + <g id="Group-40"> + <g id="Clip-39"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_8_" filterUnits="userSpaceOnUse" x="1.746" y="3.21" width="18" height="12.51"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="1.746" y="3.21" width="18" height="12.51" id="mask-18_1_"> + <g class="st18"> + <path id="path-17_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-38" class="st19" d="M3.246,12.448L17.824,4.71c0.174,0.537,0.318,1.127,0.422,1.771L3.668,14.22 + C3.564,13.575,3.419,12.985,3.246,12.448"/> + </g> + <g id="Group-43"> + <g id="Clip-42"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_9_" filterUnits="userSpaceOnUse" x="2.168" y="4.982" width="17.754" height="18.018"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="2.168" y="4.982" width="17.754" height="18.018" id="mask-20_1_"> + <g class="st20"> + <path id="path-19_1_" class="st2" d="M0.108,7.858c0.186,0.126,3.727,2.515,3.732,8.584c0.001,1.938,0.003,4.902,0.003,5.058 + l14.579-7.739c0-0.156-0.002-3.119-0.004-5.057c-0.004-6.07-3.545-8.459-3.731-8.584"/> + </g> + </mask> + <path id="Stroke-41" class="st21" d="M3.668,14.221l14.578-7.739c0.11,0.678,0.172,1.418,0.172,2.221 + c0.002,1.939,0.004,4.902,0.004,5.058L3.843,21.5c0-0.156-0.002-3.12-0.003-5.058C3.839,15.638,3.775,14.899,3.668,14.221"/> + </g> + </g> + <g id="Group-51" transform="translate(0.000000, 43.201100)"> + <path id="Stroke-45" class="st0" d="M29.107,15.858L43.686,8.12c0.187,0.125,3.728,2.513,3.732,8.583 + c0.001,1.938,0.003,4.901,0.003,5.057L32.842,29.5c0-0.157-0.002-3.121-0.003-5.059C32.835,18.373,29.294,15.984,29.107,15.858z + "/> + <path id="Stroke-47" class="st0" d="M29.107,15.858c0.187,0.126,3.728,2.515,3.732,8.583c0.001,1.938,0.003,4.902,0.003,5.059 + L0.503,10.068c0,0.067,0-0.437-0.003-4.175C0.495-1.119,4.493,1.079,4.703,1.195L29.107,15.858z"/> + <path id="Stroke-49" class="st0" d="M1.496,1.587c1.198-1.497,3.065-0.47,3.207-0.392l24.404,14.663 + c0.187,0.126,3.728,2.515,3.733,8.583c0.001,1.939,0.003,4.903,0.003,5.059"/> + </g> + <g id="Group-54" transform="translate(0.000000, 45.201100)"> + <g id="Clip-53"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_10_" filterUnits="userSpaceOnUse" x="0.504" y="0.327" width="14.578" height="7.744"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.504" y="0.327" width="14.578" height="7.744" id="mask-22_1_"> + <g class="st22"> + <polygon id="path-21_1_" class="st2" points="0.504,8.065 0.504,8.071 15.082,0.332 15.082,0.327 "/> + </g> + </mask> + <polygon id="Fill-52" class="st23" points="0.504,8.065 15.082,0.327 15.082,0.332 0.504,8.071 "/> + </g> + <path id="Fill-55" class="st24" d="M2.173,44.214l14.578-7.739c1.121-0.595,2.414,0.115,2.531,0.179l-14.58,7.74 + C4.585,44.329,3.293,43.618,2.173,44.214"/> + <g id="Group-66" transform="translate(2.000000, 36.201100)"> + <g id="Group-59"> + <g id="Clip-58"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_11_" filterUnits="userSpaceOnUse" x="0.173" y="0.148" width="14.871" height="7.865"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.173" y="0.148" width="14.871" height="7.865" id="mask-24_1_"> + <g class="st25"> + <path id="path-23_1_" class="st2" d="M14.752,0.274L0.173,8.013c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.756-0.415-1.541-0.415C15.42,0.038,15.078,0.1,14.752,0.274"/> + </g> + </mask> + <path id="Fill-57" class="st26" d="M0.173,8.013l14.578-7.739c0.098-0.051,0.195-0.093,0.293-0.126L0.466,7.887 + C0.366,7.92,0.269,7.961,0.173,8.013"/> + </g> + <g id="Group-62"> + <g id="Clip-61"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_12_" filterUnits="userSpaceOnUse" x="0.466" y="0.038" width="15.63" height="7.849"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.466" y="0.038" width="15.63" height="7.849" id="mask-26_1_"> + <g class="st27"> + <path id="path-25_1_" class="st2" d="M14.752,0.274L0.173,8.013c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.756-0.415-1.541-0.415C15.42,0.038,15.078,0.1,14.752,0.274"/> + </g> + </mask> + <path id="Fill-60" class="st28" d="M0.466,7.887l14.578-7.739c0.36-0.121,0.724-0.129,1.052-0.086L1.517,7.801 + C1.189,7.757,0.824,7.766,0.466,7.887"/> + </g> + <g id="Group-65"> + <g id="Clip-64"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_13_" filterUnits="userSpaceOnUse" x="1.517" y="0.062" width="15.766" height="8.131"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="1.517" y="0.062" width="15.766" height="8.131" id="mask-28_1_"> + <g class="st29"> + <path id="path-27_1_" class="st2" d="M14.752,0.274L0.173,8.013c1.121-0.596,2.413,0.115,2.53,0.18l14.58-7.74 + c-0.083-0.045-0.756-0.415-1.541-0.415C15.42,0.038,15.078,0.1,14.752,0.274"/> + </g> + </mask> + <path id="Fill-63" class="st30" d="M1.517,7.801l14.579-7.739c0.624,0.083,1.116,0.353,1.187,0.391l-14.58,7.74 + C2.632,8.154,2.141,7.883,1.517,7.801"/> + </g> + </g> + <polygon id="Fill-67" class="st31" points="4.703,44.393 19.283,36.654 43.686,51.318 29.107,59.056 "/> + <g id="Group-87" transform="translate(29.000000, 51.201100)"> + <g id="Group-71"> + <g id="Clip-70"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_14_" filterUnits="userSpaceOnUse" x="0.107" y="0.117" width="16.392" height="9.623"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="0.107" y="0.117" width="16.392" height="9.623" id="mask-30_1_"> + <g class="st32"> + <path id="path-29_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-69" class="st33" d="M0.107,7.855l14.579-7.738c0.089,0.059,0.943,0.637,1.813,1.884L1.919,9.74 + C1.05,8.493,0.197,7.916,0.107,7.855"/> + </g> + <g id="Group-74"> + <g id="Clip-73"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_15_" filterUnits="userSpaceOnUse" x="1.92" y="2.001" width="15.045" height="8.476"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="1.92" y="2.001" width="15.045" height="8.476" id="mask-32_1_"> + <g class="st34"> + <path id="path-31_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-72" class="st35" d="M1.92,9.74l14.579-7.739c0.157,0.224,0.314,0.469,0.466,0.738L2.387,10.477 + C2.233,10.21,2.076,9.964,1.92,9.74"/> + </g> + <g id="Group-77"> + <g id="Clip-76"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_16_" filterUnits="userSpaceOnUse" x="2.386" y="2.739" width="15.043" height="8.659"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="2.386" y="2.739" width="15.043" height="8.659" id="mask-34_1_"> + <g class="st36"> + <path id="path-33_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-75" class="st37" d="M2.386,10.477l14.578-7.738c0.161,0.281,0.318,0.588,0.465,0.92l-14.58,7.739 + C2.702,11.065,2.546,10.758,2.386,10.477"/> + </g> + <g id="Group-80"> + <g id="Clip-79"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_17_" filterUnits="userSpaceOnUse" x="2.849" y="3.659" width="14.982" height="8.797"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="2.849" y="3.659" width="14.982" height="8.797" id="mask-36_1_"> + <g class="st38"> + <path id="path-35_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-78" class="st39" d="M2.849,11.398l14.58-7.739c0.145,0.327,0.28,0.679,0.402,1.058L3.252,12.456 + C3.13,12.078,2.995,11.725,2.849,11.398"/> + </g> + <g id="Group-83"> + <g id="Clip-82"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_18_" filterUnits="userSpaceOnUse" x="3.253" y="4.718" width="15.001" height="9.509"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="3.253" y="4.718" width="15.001" height="9.509" id="mask-38_1_"> + <g class="st40"> + <path id="path-37_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-81" class="st41" d="M3.253,12.456l14.579-7.738c0.173,0.537,0.318,1.127,0.422,1.771l-14.58,7.738 + C3.57,13.583,3.426,12.993,3.253,12.456"/> + </g> + <g id="Group-86"> + <g id="Clip-85"> + </g> + <defs> + <filter id="Adobe_OpacityMaskFilter_19_" filterUnits="userSpaceOnUse" x="3.673" y="6.489" width="14.754" height="15.011"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> + </defs> + <mask maskUnits="userSpaceOnUse" x="3.673" y="6.489" width="14.754" height="15.011" id="mask-40_1_"> + <g class="st42"> + <path id="path-39_1_" class="st2" d="M0.108,7.856c0.186,0.126,3.734,2.525,3.737,8.587c0.002,1.938,0.005,4.902,0.005,5.058 + l14.578-7.739c0-0.156-0.003-3.12-0.004-5.058c-0.004-6.061-3.551-8.461-3.737-8.587"/> + </g> + </mask> + <path id="Fill-84" class="st43" d="M3.673,14.227l14.58-7.738c0.108,0.676,0.17,1.413,0.171,2.215 + c0.001,1.937,0.003,4.901,0.003,5.057L3.849,21.5c0-0.156-0.002-3.12-0.004-5.058C3.845,15.641,3.782,14.904,3.673,14.227"/> + </g> + </g> + <g id="Group-146" transform="translate(0.000000, 0.201100)"> + <path id="Fill-88" class="st31" d="M29.107,58.855c0.187,0.126,3.734,2.525,3.738,8.587c0.002,1.938,0.004,4.902,0.004,5.059 + L0.503,53.065c0,0.068,0-0.437-0.003-4.175c-0.004-7.012,3.993-4.814,4.203-4.698L29.107,58.855z"/> + <path id="Stroke-90" class="st44" d="M1.996,44.587c1.198-1.497,3.065-0.47,3.207-0.392l24.404,14.663 + c0.187,0.126,3.728,2.515,3.733,8.583c0.001,1.939,0.003,4.903,0.003,5.059"/> + <path id="Fill-92" class="st45" d="M31.545,14.916c0,0.688-0.559,1.247-1.246,1.247c-0.69,0-1.248-0.559-1.248-1.247V1.546 + c0-0.69,0.558-1.247,1.248-1.247c0.687,0,1.246,0.557,1.246,1.247V14.916z"/> + <path id="Fill-94" class="st46" d="M20.211,0.864c0,0-1.437-0.75-3.875,0.5c-2.437,1.25-2.291,2.459-2.459,2.751 + c-0.223,0.392-0.166,1.624-0.166,1.624v38.807c0,0-0.125,0.562,0,1.25c0.125,0.687,1,1.625,1,1.625l12.625,7.5 + c0,0,1.188,0.812,2,0.75c0.813-0.063,1.375,0.125,3.125-1c1.75-1.125,2.125-3,2.125-3V11.364c0,0,0-1.375-0.375-1.875s-1-1-1-1 + L20.211,0.864z"/> + <path id="Stroke-96" class="st47" d="M13.065,35.864v8.15c0,0-0.134,0.6,0,1.334c0.134,0.735,1.067,1.734,1.067,1.734 + l13.471,8.004c0,0,1.268,0.866,2.135,0.799c0.866-0.067,1.466,0.134,3.334-1.067c1.867-1.2,2.267-3.201,2.267-3.201v-6.722"/> + <path id="Fill-98" class="st48" d="M33.086,10.864c0.236,0.682-0.361,1.507-1.332,1.843c-0.973,0.336-1.951,0.055-2.187-0.626 + c-0.236-0.682,0.361-1.507,1.333-1.843C31.871,9.902,32.85,10.182,33.086,10.864"/> + <path id="Fill-100" class="st49" d="M32.457,10.979c0.136,0.392-0.172,0.854-0.687,1.031c-0.516,0.179-1.044,0.006-1.18-0.385 + c-0.135-0.393,0.173-0.854,0.688-1.033C31.793,10.414,32.321,10.586,32.457,10.979"/> + <path id="Fill-102" class="st50" d="M19.721,25.407c0,0.27-0.173,0.382-0.388,0.253l-2.841-1.707 + c-0.211-0.127-0.387-0.449-0.387-0.719v-2.235c0-0.266,0.176-0.377,0.387-0.25l2.841,1.707c0.215,0.129,0.388,0.45,0.388,0.716 + V25.407z"/> + <path id="Fill-104" class="st50" d="M24.619,28.351c0,0.27-0.176,0.38-0.389,0.252l-2.839-1.706 + c-0.213-0.128-0.388-0.449-0.388-0.719v-2.235c0-0.266,0.175-0.378,0.388-0.25l2.839,1.706c0.213,0.128,0.389,0.451,0.389,0.717 + V28.351z"/> + <path id="Fill-106" class="st50" d="M29.49,31.277c0,0.27-0.174,0.381-0.389,0.251l-2.84-1.706 + c-0.212-0.128-0.387-0.448-0.387-0.718v-2.235c0-0.266,0.175-0.379,0.387-0.251l2.84,1.706c0.215,0.13,0.389,0.452,0.389,0.718 + V31.277z"/> + <path id="Fill-108" class="st50" d="M19.721,30.12c0,0.269-0.173,0.382-0.388,0.253l-2.841-1.707 + c-0.211-0.127-0.387-0.45-0.387-0.719v-2.235c0-0.267,0.176-0.377,0.387-0.25l2.841,1.707c0.215,0.129,0.388,0.449,0.388,0.716 + V30.12z"/> + <path id="Fill-110" class="st50" d="M24.619,33.063c0,0.269-0.176,0.38-0.389,0.252l-2.839-1.706 + c-0.213-0.128-0.388-0.45-0.388-0.719v-2.235c0-0.267,0.175-0.378,0.388-0.25l2.839,1.706c0.213,0.128,0.389,0.45,0.389,0.717 + V33.063z"/> + <path id="Fill-112" class="st50" d="M29.49,35.99c0,0.269-0.174,0.381-0.389,0.251l-2.84-1.706 + c-0.212-0.128-0.387-0.449-0.387-0.718v-2.235c0-0.267,0.175-0.379,0.387-0.251l2.84,1.706c0.215,0.13,0.389,0.451,0.389,0.718 + V35.99z"/> + <path id="Fill-114" class="st50" d="M19.721,34.816c0,0.269-0.173,0.382-0.388,0.253l-2.841-1.707 + c-0.211-0.127-0.387-0.45-0.387-0.719v-2.234c0-0.268,0.176-0.377,0.387-0.25l2.841,1.707c0.215,0.129,0.388,0.448,0.388,0.716 + V34.816z"/> + <path id="Fill-116" class="st50" d="M24.619,37.76c0,0.269-0.176,0.38-0.389,0.252l-2.839-1.706 + c-0.213-0.128-0.388-0.45-0.388-0.719v-2.234c0-0.268,0.175-0.378,0.388-0.25l2.839,1.706c0.213,0.128,0.389,0.449,0.389,0.717 + V37.76z"/> + <path id="Fill-118" class="st50" d="M29.49,40.686c0,0.269-0.174,0.381-0.389,0.251l-2.84-1.706 + c-0.212-0.128-0.387-0.449-0.387-0.718v-2.234c0-0.268,0.175-0.379,0.387-0.251l2.84,1.706c0.215,0.13,0.389,0.45,0.389,0.718 + V40.686z"/> + <path id="Fill-120" class="st50" d="M19.721,39.628c0,0.268-0.173,0.381-0.388,0.252l-2.841-1.707 + c-0.211-0.127-0.387-0.45-0.387-0.718V35.22c0-0.269,0.176-0.38,0.387-0.253l2.841,1.707c0.215,0.129,0.388,0.45,0.388,0.719 + V39.628z"/> + <path id="Fill-122" class="st50" d="M24.619,42.571c0,0.268-0.176,0.379-0.389,0.251l-2.839-1.706 + c-0.213-0.128-0.388-0.45-0.388-0.718v-2.235c0-0.269,0.175-0.381,0.388-0.253l2.839,1.706c0.213,0.128,0.389,0.451,0.389,0.72 + V42.571z"/> + <path id="Fill-124" class="st50" d="M29.49,45.498c0,0.268-0.174,0.38-0.389,0.25l-2.84-1.706 + c-0.212-0.128-0.387-0.449-0.387-0.717V41.09c0-0.269,0.175-0.382,0.387-0.254l2.84,1.706c0.215,0.13,0.389,0.452,0.389,0.721 + V45.498z"/> + <path id="Fill-126" class="st50" d="M29.144,24.476c0,0.908-0.623,1.27-1.394,0.807l-10.194-6.125 + c-0.769-0.463-1.392-1.574-1.392-2.482V9.082c0-0.908,0.623-1.27,1.392-0.807l10.194,6.125c0.771,0.463,1.394,1.574,1.394,2.482 + V24.476z"/> + <polygon id="Fill-128" class="st50" points="26.097,47.291 18.251,42.576 18.251,42.074 26.097,46.789 "/> + <polygon id="Fill-130" class="st50" points="26.097,48.316 18.251,43.601 18.251,43.098 26.097,47.813 "/> + <polygon id="Fill-132" class="st50" points="26.097,49.359 18.251,44.644 18.251,44.141 26.097,48.856 "/> + <path id="Stroke-134" class="st44" d="M31.886,48.957V11.934"/> + <path id="Stroke-136" class="st44" d="M30.553,6.623V2.198"/> + <polygon id="Fill-138" class="st50" points="5.121,45.389 7.561,46.856 8.715,55.208 8.742,55.222 9.908,48.267 12.35,49.733 + 10.151,58.318 7.25,56.576 "/> + <path id="Fill-140" class="st50" d="M15.429,55.26c-0.648-0.39-0.838,0.15-0.838,1.968c0,1.831,0.19,2.593,0.838,2.983 + c0.68,0.408,0.815-0.132,0.815-1.977C16.244,56.377,16.109,55.669,15.429,55.26 M12.394,55.934c0-2.247,0.486-3.675,3.023-2.15 + c2.686,1.614,3.027,3.495,3.027,5.743c0,2.246-0.492,3.671-3.027,2.149C12.73,60.061,12.394,58.183,12.394,55.934"/> + <polygon id="Fill-142" class="st50" points="19.361,53.946 21.638,55.314 21.638,65.219 19.361,63.85 "/> + <path id="Fill-144" class="st50" d="M25.185,61.761l0.623,0.376c0.908,0.546,1.129,0.093,1.129-0.572 + c0-0.762-0.246-1.493-1.168-2.048l-0.584-0.35V61.761z M22.904,56.076l3.529,2.121c2.398,1.439,2.863,3.495,2.863,4.731 + c0,1.773-0.828,2.525-3.107,1.156l-1.004-0.603v3.87l-2.281-1.37V56.076z"/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Vdeo_Conference_Terminal.svg b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Vdeo_Conference_Terminal.svg new file mode 100644 index 0000000000000000000000000000000000000000..68daec41d2ebcb1234184cb2dc632efb3cdac55b --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/computer_and_terminals/Vdeo_Conference_Terminal.svg @@ -0,0 +1,477 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 52.193 74.645" style="enable-background:new 0 0 52.193 74.645;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:#C4CACE;} + .st6{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:none;stroke:#626366;stroke-width:1.24;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:#A6A8AB;} + .st9{fill:#808184;} + .st10{fill:#90989E;} + .st11{fill:#8C9499;} + .st12{fill:#8E969C;} + .st13{fill:#939BA0;} + .st14{fill:#636466;} + .st15{fill:#B1B7BC;} + .st16{fill:#C8CDD0;} + .st17{fill:#939597;} + .st18{fill:#6C6E70;} + .st19{fill:none;stroke:#BABCBC;stroke-width:0.31;stroke-linecap:round;stroke-linejoin:round;} + .st20{fill:none;stroke:#DFE0DF;stroke-width:0.31;stroke-linecap:round;stroke-linejoin:round;} + .st21{fill:none;stroke:#636466;stroke-width:1.24;} + .st22{fill:none;stroke:#636466;stroke-width:0.827;} + .st23{fill:#D0D2D3;} + .st24{fill:#E5E6E7;} + .st25{fill:#626466;} + .st26{fill:#7A7C7F;} + .st27{fill:#999B9D;} + .st28{fill:#E1E2E3;} +</style> +<title>icon-video-conference</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1325.000000, -81.000000)"> + <g id="icon-video-conference" transform="translate(1326.000000, 80.000000)"> + <g id="Group-7" transform="translate(0.000000, 2.644900)"> + <polygon id="Stroke-1" class="st0" points="45.391,29.671 49.663,27.403 49.693,69.232 45.42,71.5 "/> + <polygon id="Stroke-3" class="st0" points="0.5,2.698 4.772,0.429 49.663,27.403 45.391,29.671 "/> + <polygon id="Stroke-5" class="st0" points="45.391,29.671 45.42,71.5 0.531,44.527 0.5,2.698 "/> + </g> + <polygon id="Fill-8" class="st1" points="45.39,32.316 49.662,30.048 49.692,71.877 45.419,74.145 "/> + <polygon id="Fill-9" class="st2" points="0.5,5.343 4.772,3.074 49.662,30.048 45.39,32.316 "/> + <polygon id="Fill-10" class="st3" points="45.39,32.316 45.419,74.145 0.53,47.172 0.5,5.343 "/> + <polygon id="Fill-11" class="st4" points="41.328,62.069 4.627,40.017 4.627,13.649 41.328,35.701 "/> + <g id="Group-22" transform="translate(0.000000, 4.644900)"> + <path id="Fill-12" class="st5" d="M26.447,23.828l13.578,8.157l0.076,7.592c0,0-0.242-5.445-4.277-8.856 + C30.671,26.366,26.447,23.828,26.447,23.828"/> + <polygon id="Fill-14" class="st4" points="35.575,58.784 26.388,53.264 26.388,51.91 35.575,57.43 "/> + <path id="Fill-16" class="st4" d="M38.57,59.971c0,0.408-0.332,0.54-0.741,0.294c-0.408-0.245-0.741-0.777-0.741-1.185 + c0-0.409,0.333-0.541,0.741-0.296C38.238,59.03,38.57,59.561,38.57,59.971"/> + <path id="Fill-18" class="st4" d="M40.762,61.289c0,0.408-0.332,0.54-0.741,0.294c-0.408-0.245-0.74-0.776-0.74-1.184 + c0-0.41,0.332-0.542,0.74-0.297C40.43,60.348,40.762,60.879,40.762,61.289"/> + <polyline id="Stroke-20" class="st6" points="0.878,0.839 45.374,27.574 45.403,69.146 "/> + </g> + <g id="Group-32" transform="translate(27.000000, 0.644900)"> + <g id="Group-25"> + <g id="Clip-24"> + </g> + <path id="Stroke-23" class="st7" d="M0.187,1.266C0.473,1.114,0.75,1.024,1.01,0.99"/> + </g> + <g id="Group-28"> + <g id="Clip-27"> + </g> + <path id="Stroke-26" class="st7" d="M1.01,0.99c0.237-0.03,0.459-0.013,0.659,0.046l5.946,3.521"/> + </g> + <g id="Group-31"> + <g id="Clip-30"> + </g> + <path id="Stroke-29" class="st7" d="M7.616,4.557L1.67,1.036c0.107,0.032,0.209,0.076,0.303,0.132l5.946,3.521 + C7.825,4.633,7.723,4.589,7.616,4.557"/> + </g> + </g> + <g id="Group-47" transform="translate(17.000000, 0.644900)"> + <path id="Stroke-33" class="st7" d="M10.187,1.266c0.684-0.364,1.319-0.375,1.786-0.098l5.945,3.521 + c-0.466-0.277-1.101-0.265-1.786,0.098"/> + <path id="Stroke-35" class="st7" d="M7.827,19.994l-5.945-3.521c-0.147-0.087-0.276-0.202-0.385-0.343l5.945,3.521 + C7.552,19.792,7.682,19.907,7.827,19.994"/> + <path id="Stroke-37" class="st7" d="M7.442,19.651L1.497,16.13c-0.116-0.148-0.207-0.325-0.272-0.53l5.946,3.522 + C7.236,19.326,7.329,19.503,7.442,19.651"/> + <path id="Stroke-39" class="st7" d="M1.225,15.6c-0.057-0.174-0.094-0.368-0.107-0.58"/> + <path id="Stroke-41" class="st7" d="M1.118,15.02c0-0.009-0.002-0.019-0.002-0.027"/> + <path id="Stroke-43" class="st7" d="M1.116,14.993l-0.35-6.111"/> + <path id="Stroke-45" class="st7" d="M3.012,4.952l7.175-3.686"/> + </g> + <g id="Group-66" transform="translate(17.000000, 4.644900)"> + <g id="Group-50"> + <g id="Clip-49"> + </g> + <path id="Stroke-48" class="st7" d="M0.766,4.882C0.757,4.713,0.763,4.539,0.781,4.364"/> + </g> + <g id="Group-53"> + <g id="Clip-52"> + </g> + <path id="Stroke-51" class="st7" d="M0.781,4.364C0.795,4.23,0.816,4.095,0.844,3.96"/> + </g> + <g id="Group-56"> + <g id="Clip-55"> + </g> + <path id="Stroke-54" class="st7" d="M0.844,3.96c0.041-0.184,0.093-0.368,0.159-0.55"/> + </g> + <g id="Group-59"> + <g id="Clip-58"> + </g> + <path id="Stroke-57" class="st7" d="M1.003,3.41C1.17,2.937,1.421,2.48,1.729,2.077"/> + </g> + <g id="Group-62"> + <g id="Clip-61"> + </g> + <path id="Stroke-60" class="st7" d="M1.729,2.076c0.294-0.383,0.64-0.717,1.018-0.966"/> + </g> + <g id="Group-65"> + <g id="Clip-64"> + </g> + <path id="Stroke-63" class="st7" d="M2.747,1.11c0.086-0.057,0.176-0.111,0.266-0.158"/> + </g> + </g> + <g id="Group-71" transform="translate(17.000000, 4.644900)"> + <path id="Stroke-67" class="st7" d="M0.766,4.882c-0.082-1.467,0.922-3.227,2.246-3.93"/> + <path id="Stroke-69" class="st7" d="M16.132,0.787c1.323-0.704,2.468-0.087,2.552,1.38l0.349,6.111 + c0.082,1.467-0.924,3.227-2.25,3.931l-7.172,3.685c-1.326,0.705-2.465,0.086-2.549-1.381"/> + </g> + <g id="Group-81" transform="translate(27.000000, 0.644900)"> + <g id="Group-74"> + <g id="Clip-73"> + </g> + <path id="Fill-72" class="st8" d="M6.132,4.787L0.187,1.266C0.473,1.114,0.75,1.023,1.01,0.99l5.946,3.521 + C6.696,4.544,6.418,4.635,6.132,4.787"/> + </g> + <g id="Group-77"> + <g id="Clip-76"> + </g> + <path id="Fill-75" class="st9" d="M6.957,4.511L1.01,0.99c0.237-0.031,0.459-0.014,0.659,0.045l5.946,3.521 + C7.416,4.497,7.194,4.48,6.957,4.511"/> + </g> + <g id="Group-80"> + <g id="Clip-79"> + </g> + <path id="Fill-78" class="st10" d="M7.616,4.557L1.67,1.036c0.107,0.032,0.209,0.076,0.303,0.132l5.946,3.521 + C7.825,4.633,7.723,4.589,7.616,4.557"/> + </g> + </g> + <g id="Group-94" transform="translate(18.000000, 14.644900)"> + <g id="Group-84"> + <g id="Clip-83"> + </g> + <path id="Fill-82" class="st11" d="M6.827,5.993L0.882,2.472C0.735,2.385,0.606,2.271,0.497,2.129L6.442,5.65 + C6.552,5.792,6.682,5.907,6.827,5.993"/> + </g> + <g id="Group-87"> + <g id="Clip-86"> + </g> + <path id="Fill-85" class="st12" d="M6.442,5.65L0.497,2.129C0.381,1.982,0.29,1.804,0.225,1.6l5.946,3.522 + C6.236,5.326,6.329,5.503,6.442,5.65"/> + </g> + <g id="Group-90"> + <g id="Clip-89"> + </g> + <path id="Fill-88" class="st3" d="M6.17,5.122L0.225,1.601C0.168,1.426,0.131,1.233,0.117,1.02l5.946,3.521 + C6.077,4.753,6.113,4.948,6.17,5.122"/> + </g> + <g id="Group-93"> + <g id="Clip-92"> + </g> + <path id="Fill-91" class="st13" d="M6.063,4.541L0.118,1.02c0-0.009-0.002-0.019-0.002-0.027l5.946,3.52 + C6.063,4.522,6.063,4.532,6.063,4.541"/> + </g> + </g> + <g id="Group-99" transform="translate(17.000000, 1.644900)"> + <polygon id="Fill-95" class="st3" points="7.062,17.513 1.116,13.992 0.766,7.881 6.713,11.403 "/> + <polygon id="Fill-97" class="st14" points="8.958,7.472 3.012,3.951 10.187,0.265 16.132,3.787 "/> + </g> + <g id="Group-118" transform="translate(17.000000, 4.644900)"> + <g id="Group-102"> + <g id="Clip-101"> + </g> + <path id="Fill-100" class="st3" d="M6.713,8.403L0.766,4.882C0.757,4.712,0.763,4.539,0.78,4.364l5.947,3.521 + C6.708,8.06,6.703,8.234,6.713,8.403"/> + </g> + <g id="Group-105"> + <g id="Clip-104"> + </g> + <path id="Fill-103" class="st15" d="M6.727,7.885L0.781,4.364C0.794,4.23,0.816,4.095,0.844,3.96l5.947,3.52 + C6.762,7.616,6.74,7.751,6.727,7.885"/> + </g> + <g id="Group-108"> + <g id="Clip-107"> + </g> + <path id="Fill-106" class="st8" d="M6.791,7.48L0.844,3.96c0.041-0.184,0.093-0.369,0.159-0.551L6.949,6.93 + C6.884,7.112,6.83,7.297,6.791,7.48"/> + </g> + <g id="Group-111"> + <g id="Clip-110"> + </g> + <path id="Fill-109" class="st16" d="M6.95,6.93L1.004,3.409c0.167-0.473,0.418-0.931,0.725-1.333l5.948,3.521 + C7.368,6,7.118,6.458,6.95,6.93"/> + </g> + <g id="Group-114"> + <g id="Clip-113"> + </g> + <path id="Fill-112" class="st17" d="M7.676,5.597L1.729,2.076C2.023,1.693,2.368,1.359,2.746,1.11l5.947,3.521 + C8.314,4.881,7.968,5.214,7.676,5.597"/> + </g> + <g id="Group-117"> + <g id="Clip-116"> + </g> + <path id="Fill-115" class="st18" d="M8.693,4.631L2.747,1.11c0.086-0.058,0.175-0.111,0.265-0.159l5.947,3.521 + C8.869,4.52,8.78,4.573,8.693,4.631"/> + </g> + </g> + <g id="Group-131" transform="translate(15.000000, 4.644900)"> + <path id="Fill-119" class="st1" d="M18.132,0.787c1.323-0.704,2.468-0.088,2.552,1.379l0.349,6.111 + c0.082,1.468-0.924,3.228-2.25,3.932l-7.172,3.685c-1.326,0.705-2.465,0.086-2.549-1.381l-0.349-6.11 + c-0.084-1.468,0.921-3.227,2.245-3.931L18.132,0.787z"/> + <path id="Stroke-121" class="st19" d="M10.305,16.24c-0.623-0.103-1.083-0.587-1.212-1.366"/> + <path id="Stroke-123" class="st19" d="M19.597,0.626c0.285,0.081,0.528,0.247,0.713,0.488"/> + <path id="Stroke-125" class="st20" d="M9.093,14.875c-0.015-0.091-0.024-0.187-0.031-0.286l-0.349-6.11 + c-0.084-1.468,0.921-3.227,2.245-3.931l7.174-3.685c0.538-0.286,1.046-0.355,1.465-0.237"/> + <path id="Stroke-127" class="st21" d="M5.769,13.828c-0.45,0.235-0.834,0.429-0.937,0.481c-0.156,0.078-0.712,0.336-1.234,0.125 + C0.659,13.242-0.238,9.473,0.161,8.28C0.257,7.989,0.42,7.544,0.714,7.268C0.881,7.11,1.868,6.589,2.6,6.215"/> + <path id="Stroke-129" class="st22" d="M0.7,7.288C0.869,7.13,1.854,6.61,2.587,6.235C3.016,6.016,3.359,5.847,3.399,5.83 + c0.268-0.108,0.728-0.233,1.516,0.03c0.442,0.148,1.47,0.86,2.093,1.913c0.546,0.923,1.164,2.01,1.053,3.826 + c-0.05,0.822-0.443,1.136-0.496,1.198c-0.134,0.158-1.062,0.661-1.81,1.052c-0.45,0.235-0.834,0.428-0.938,0.481 + c-0.155,0.077-0.712,0.336-1.233,0.125C0.645,13.262-0.251,9.493,0.146,8.3C0.243,8.01,0.407,7.565,0.7,7.288z"/> + </g> + <g id="Group-141" transform="translate(17.000000, 16.644900)"> + <g id="Group-134"> + <g id="Clip-133"> + </g> + <path id="Fill-132" class="st23" d="M0.873,1.676l2.41-1.279C3.43,0.485,3.574,0.556,3.713,0.61l-2.41,1.279 + C1.164,1.835,1.02,1.764,0.873,1.676"/> + </g> + <g id="Group-137"> + <g id="Clip-136"> + </g> + <path id="Fill-135" class="st2" d="M1.303,1.889l2.41-1.279c0.179,0.068,0.351,0.109,0.514,0.124l-2.41,1.28 + C1.654,1.998,1.482,1.957,1.303,1.889"/> + </g> + <g id="Group-140"> + <g id="Clip-139"> + </g> + <path id="Fill-138" class="st8" d="M1.817,2.013l2.41-1.279c0.269,0.025,0.514-0.021,0.724-0.133L2.541,1.88 + C2.331,1.992,2.086,2.038,1.817,2.013"/> + </g> + </g> + <g id="Group-169" transform="translate(15.000000, 10.644900)"> + <g id="Group-144"> + <g id="Clip-143"> + </g> + <path id="Fill-142" class="st8" d="M1.203,1.589l2.41-1.279C3.276,0.489,3.026,0.838,2.912,1.329l-2.41,1.279 + C0.617,2.117,0.865,1.769,1.203,1.589"/> + </g> + <g id="Group-147"> + <g id="Clip-146"> + </g> + <path id="Fill-145" class="st2" d="M0.502,2.608l2.41-1.279C2.87,1.509,2.846,1.71,2.843,1.928L0.432,3.207 + C0.436,2.989,0.46,2.789,0.502,2.608"/> + </g> + <g id="Group-150"> + <g id="Clip-149"> + </g> + <path id="Fill-148" class="st23" d="M0.432,3.207l2.411-1.279c-0.001,0.02-0.001,0.041-0.001,0.061 + c0,0.181,0.014,0.366,0.04,0.554l-2.41,1.279c-0.026-0.187-0.04-0.373-0.04-0.553L0.432,3.207"/> + </g> + <g id="Group-153"> + <g id="Clip-152"> + </g> + <path id="Fill-151" class="st24" d="M0.472,3.822l2.41-1.279c0.03,0.215,0.077,0.432,0.138,0.65L0.61,4.472 + C0.548,4.255,0.502,4.037,0.472,3.822"/> + </g> + <g id="Group-156"> + <g id="Clip-155"> + </g> + <path id="Fill-154" class="st4" d="M0.61,4.473l2.41-1.279C3.076,3.392,3.143,3.59,3.221,3.786l-2.41,1.279 + C0.733,4.869,0.666,4.671,0.61,4.473"/> + </g> + <g id="Group-159"> + <g id="Clip-158"> + </g> + <path id="Fill-157" class="st4" d="M0.811,5.065l2.41-1.279C3.461,4.383,3.8,4.958,4.202,5.44L1.791,6.719 + C1.39,6.237,1.05,5.663,0.811,5.065"/> + </g> + <g id="Group-162"> + <g id="Clip-161"> + </g> + <path id="Fill-160" class="st4" d="M1.791,6.719l2.41-1.279C4.358,5.629,4.525,5.804,4.7,5.961L2.29,7.24 + C2.115,7.083,1.948,6.908,1.791,6.719"/> + </g> + <g id="Group-165"> + <g id="Clip-164"> + </g> + <path id="Fill-163" class="st24" d="M2.29,7.24L4.7,5.961c0.167,0.15,0.342,0.284,0.521,0.397l-2.41,1.279 + C2.632,7.524,2.457,7.39,2.29,7.24"/> + </g> + <g id="Group-168"> + <g id="Clip-167"> + </g> + <path id="Fill-166" class="st23" d="M2.811,7.637l2.41-1.279c0.021,0.013,0.042,0.026,0.063,0.039L2.873,7.676 + C2.852,7.663,2.832,7.65,2.811,7.637"/> + </g> + </g> + <g id="Group-179" transform="translate(16.000000, 10.644900)"> + <g id="Group-172"> + <g id="Clip-171"> + </g> + <path id="Fill-170" class="st25" d="M0.203,1.589l2.41-1.279c0.21-0.112,0.455-0.158,0.725-0.133l-2.41,1.279 + C0.658,1.431,0.413,1.478,0.203,1.589"/> + </g> + <g id="Group-175"> + <g id="Clip-174"> + </g> + <path id="Fill-173" class="st25" d="M0.928,1.456l2.41-1.279C3.5,0.192,3.672,0.233,3.85,0.302L1.44,1.581 + C1.262,1.512,1.09,1.471,0.928,1.456"/> + </g> + <g id="Group-178"> + <g id="Clip-177"> + </g> + <path id="Fill-176" class="st25" d="M1.44,1.581l2.41-1.279c0.14,0.053,0.283,0.124,0.43,0.212L1.87,1.793 + C1.723,1.705,1.58,1.635,1.44,1.581"/> + </g> + </g> + <g id="Group-189" transform="translate(19.000000, 14.644900)"> + <g id="Group-182"> + <g id="Clip-181"> + </g> + <path id="Fill-180" class="st25" d="M1.272,1.647l2.41-1.279c0.027,0.188,0.04,0.373,0.04,0.553c0,0.021,0,0.042-0.001,0.062 + l-2.41,1.279c0.001-0.02,0.001-0.04,0.001-0.061C1.312,2.02,1.297,1.835,1.272,1.647"/> + </g> + <g id="Group-185"> + <g id="Clip-184"> + </g> + <path id="Fill-183" class="st25" d="M1.311,2.262l2.41-1.279c-0.003,0.218-0.027,0.419-0.069,0.6l-2.41,1.279 + C1.284,2.681,1.307,2.481,1.311,2.262"/> + </g> + <g id="Group-188"> + <g id="Clip-187"> + </g> + <path id="Fill-186" class="st25" d="M1.242,2.861l2.41-1.279C3.538,2.073,3.29,2.421,2.951,2.601L0.541,3.88 + C0.88,3.7,1.128,3.352,1.242,2.861"/> + </g> + </g> + <g id="Group-199" transform="translate(15.000000, 9.644900)"> + <g id="Group-192"> + <g id="Clip-191"> + </g> + <path id="Fill-190" class="st8" d="M0.958,2.128l2.41-1.279c0.241-0.128,0.522-0.181,0.83-0.153l-2.41,1.28 + C1.479,1.947,1.198,2,0.958,2.128"/> + </g> + <g id="Group-195"> + <g id="Clip-194"> + </g> + <path id="Fill-193" class="st2" d="M1.788,1.976l2.41-1.279C4.386,0.714,4.582,0.761,4.786,0.84l-2.41,1.279 + C2.172,2.04,1.975,1.993,1.788,1.976"/> + </g> + <g id="Group-198"> + <g id="Clip-197"> + </g> + <path id="Fill-196" class="st23" d="M2.376,2.119l2.41-1.279c0.16,0.061,0.325,0.142,0.493,0.243l-2.41,1.28 + C2.7,2.262,2.536,2.181,2.376,2.119"/> + </g> + </g> + <path id="Fill-200" class="st25" d="M17.87,12.438c1.344,0.807,2.441,2.788,2.442,4.407c0.001,1.62-1.094,2.283-2.438,1.476 + c-1.342-0.806-2.441-2.788-2.442-4.407C15.432,12.294,16.527,11.631,17.87,12.438"/> + <g id="Group-223" transform="translate(17.000000, 10.644900)"> + <g id="Group-204"> + <g id="Clip-203"> + </g> + <path id="Fill-202" class="st25" d="M0.87,1.793l2.41-1.279C3.302,0.526,3.322,0.54,3.344,0.553L0.932,1.832 + C0.912,1.818,0.891,1.806,0.87,1.793"/> + </g> + <g id="Group-207"> + <g id="Clip-206"> + </g> + <path id="Fill-205" class="st25" d="M0.932,1.832l2.411-1.279C3.522,0.665,3.696,0.799,3.864,0.95L1.453,2.229 + C1.286,2.079,1.112,1.945,0.932,1.832"/> + </g> + <g id="Group-210"> + <g id="Clip-209"> + </g> + <path id="Fill-208" class="st25" d="M1.453,2.23l2.41-1.279c0.175,0.156,0.342,0.332,0.499,0.521l-2.41,1.279 + C1.795,2.562,1.628,2.387,1.453,2.23"/> + </g> + <g id="Group-213"> + <g id="Clip-212"> + </g> + <path id="Fill-211" class="st26" d="M1.953,2.751l2.41-1.279c0.402,0.482,0.741,1.056,0.981,1.654L2.933,4.405 + C2.694,3.808,2.354,3.233,1.953,2.751"/> + </g> + <g id="Group-216"> + <g id="Clip-215"> + </g> + <path id="Fill-214" class="st25" d="M2.933,4.404l2.41-1.279c0.078,0.196,0.146,0.394,0.201,0.592l-2.41,1.279 + C3.079,4.798,3.011,4.6,2.933,4.404"/> + </g> + <g id="Group-219"> + <g id="Clip-218"> + </g> + <path id="Fill-217" class="st25" d="M3.134,4.997l2.41-1.279c0.062,0.217,0.108,0.435,0.138,0.65l-2.41,1.279 + C3.241,5.433,3.195,5.215,3.134,4.997"/> + </g> + <g id="Group-222"> + <g id="Clip-221"> + </g> + <path id="Fill-220" class="st25" d="M3.272,5.647l2.41-1.279c0.027,0.188,0.04,0.373,0.04,0.553c0,0.021,0,0.042-0.001,0.062 + l-2.41,1.279c0.001-0.02,0.001-0.04,0.001-0.061C3.312,6.02,3.297,5.835,3.272,5.647"/> + </g> + </g> + <g id="Group-251" transform="translate(17.000000, 10.644900)"> + <g id="Group-226"> + <g id="Clip-225"> + </g> + <path id="Fill-224" class="st23" d="M0.87,1.362l2.41-1.279c0.024,0.014,0.048,0.029,0.072,0.044l-2.41,1.279 + C0.918,1.391,0.893,1.377,0.87,1.362"/> + </g> + <g id="Group-229"> + <g id="Clip-228"> + </g> + <path id="Fill-227" class="st24" d="M0.942,1.407l2.41-1.279c0.205,0.13,0.405,0.283,0.598,0.456L1.54,1.863 + C1.347,1.69,1.147,1.537,0.942,1.407"/> + </g> + <g id="Group-232"> + <g id="Clip-231"> + </g> + <path id="Fill-230" class="st4" d="M1.539,1.863l2.41-1.279c0.199,0.179,0.392,0.38,0.572,0.597L2.112,2.46 + C1.93,2.243,1.738,2.043,1.539,1.863"/> + </g> + <g id="Group-235"> + <g id="Clip-234"> + </g> + <path id="Fill-233" class="st4" d="M2.112,2.46l2.41-1.279c0.46,0.553,0.849,1.211,1.123,1.896l-2.41,1.279 + C2.961,3.671,2.572,3.013,2.112,2.46"/> + </g> + <g id="Group-238"> + <g id="Clip-237"> + </g> + <path id="Fill-236" class="st4" d="M3.235,4.356l2.41-1.279c0.09,0.224,0.168,0.451,0.232,0.679L3.465,5.035 + C3.402,4.808,3.325,4.581,3.235,4.356"/> + </g> + <g id="Group-241"> + <g id="Clip-240"> + </g> + <path id="Fill-239" class="st24" d="M3.465,5.035l2.411-1.279c0.069,0.249,0.123,0.499,0.157,0.745L3.623,5.78 + C3.588,5.534,3.535,5.285,3.465,5.035"/> + </g> + <g id="Group-244"> + <g id="Clip-243"> + </g> + <path id="Fill-242" class="st23" d="M3.623,5.78l2.41-1.279C6.064,4.716,6.08,4.928,6.08,5.135v0.071l-2.411,1.28 + C3.67,6.462,3.67,6.439,3.67,6.415C3.669,6.208,3.654,5.995,3.623,5.78"/> + </g> + <g id="Group-247"> + <g id="Clip-246"> + </g> + <path id="Fill-245" class="st2" d="M3.668,6.486l2.411-1.279c-0.005,0.25-0.032,0.48-0.08,0.687L3.588,7.173 + C3.637,6.966,3.664,6.736,3.668,6.486"/> + </g> + <g id="Group-250"> + <g id="Clip-249"> + </g> + <path id="Fill-248" class="st8" d="M3.588,7.174l2.411-1.279C5.867,6.457,5.583,6.857,5.195,7.062l-2.41,1.279 + C3.173,8.136,3.457,7.736,3.588,7.174"/> + </g> + </g> + <g id="Group-256" transform="translate(15.000000, 10.644900)"> + <path id="Fill-252" class="st27" d="M2.873,7.676C4.218,8.484,5.313,7.82,5.312,6.2c0-1.619-1.098-3.6-2.442-4.407 + C1.526,0.987,0.431,1.65,0.433,3.269C0.433,4.888,1.531,6.87,2.873,7.676 M2.869,1.363c1.54,0.925,2.799,3.195,2.8,5.052 + S4.415,9.032,2.873,8.107c-1.54-0.926-2.798-3.196-2.799-5.053C0.072,1.197,1.328,0.437,2.869,1.363"/> + <path id="Fill-254" class="st28" d="M4.299,4.182c0.546,1.17,0.416,2.386-0.291,2.716S2.285,6.547,1.739,5.377 + s-0.416-2.386,0.29-2.716C2.737,2.331,3.753,3.012,4.299,4.182"/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter.svg b/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter.svg new file mode 100644 index 0000000000000000000000000000000000000000..7af54144d4a226c04613fe5a2e3547065696f59c --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter.svg @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 49.359 94.707" style="enable-background:new 0 0 49.359 94.707;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.835;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:none;stroke:#626366;stroke-width:2.126;stroke-linejoin:round;} + .st6{fill:none;stroke:#626366;stroke-width:2.126;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#B8BDC1;} + .st8{fill:#939BA0;} + .st9{fill:#E1E2E3;} + .st10{fill:none;stroke:#E1E2E3;stroke-width:0.511;stroke-linecap:round;stroke-linejoin:round;} + .st11{fill:none;stroke:#E1E2E3;stroke-width:0.85;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-IC100-1000</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1612.000000, -865.000000)"> + <g id="icon-IC100-1000" transform="translate(1613.000000, 865.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.706700)"> + <polygon id="Stroke-1" class="st0" points="10.448,26.085 46.895,6.737 46.942,73.236 10.495,92.583 "/> + <polygon id="Stroke-3" class="st0" points="0.418,20.058 36.864,0.711 46.896,6.738 10.448,26.085 "/> + <polygon id="Stroke-5" class="st0" points="10.448,26.085 10.495,92.583 0.465,86.557 0.418,20.058 "/> + </g> + <polygon id="Fill-8" class="st1" points="10.448,26.792 46.895,7.444 46.942,73.943 10.495,93.29 "/> + <polygon id="Fill-9" class="st2" points="0.418,20.764 36.864,1.418 46.896,7.444 10.448,26.792 "/> + <polygon id="Fill-10" class="st3" points="10.448,26.792 10.495,93.29 0.465,87.264 0.418,20.765 "/> + <polygon id="Fill-11" class="st4" points="7.509,80.593 3.403,78.101 3.403,72.259 7.509,74.751 "/> + <polygon id="Fill-12" class="st4" points="7.51,40.934 3.403,38.443 3.403,32.6 7.51,35.092 "/> + <polygon id="Fill-13" class="st4" points="7.51,48.35 3.403,45.859 3.403,40.014 7.51,42.508 "/> + <polygon id="Fill-14" class="st4" points="7.51,62.741 3.403,60.248 3.403,54.406 7.51,56.898 "/> + <g id="Group-21" transform="translate(25.000000, 3.706700)"> + <g id="Group-17"> + <g id="Clip-16"> + </g> + <path id="Stroke-15" class="st5" d="M7.045,4.389L0.621,0.583c0,0,0.005-0.002,0.008-0.004l6.425,3.805 + C7.051,4.386,7.049,4.388,7.045,4.389"/> + </g> + <g id="Group-20"> + <g id="Clip-19"> + </g> + <path id="Stroke-18" class="st5" d="M7.054,4.384L0.629,0.579c0.127-0.064,0.244-0.065,0.33-0.013L7.384,4.37 + C7.297,4.319,7.18,4.32,7.054,4.384"/> + </g> + </g> + <path id="Stroke-22" class="st5" d="M25.959,4.272l6.425,3.805c-0.089-0.053-0.208-0.051-0.339,0.018L25.622,4.29 + C25.75,4.221,25.871,4.219,25.959,4.272z"/> + <g id="Group-26" transform="translate(18.000000, 13.706700)"> + <g id="Clip-25"> + </g> + <path id="Stroke-24" class="st5" d="M6.094,3.581L0.532,0.287C0.46,0.244,0.412,0.159,0.406,0.042l5.562,3.295 + C5.975,3.454,6.023,3.538,6.094,3.581"/> + </g> + <path id="Stroke-27" class="st5" d="M24.094,17.288l-5.562-3.294c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C23.975,17.161,24.023,17.245,24.094,17.288z"/> + <polygon id="Stroke-29" class="st5" points="24.018,17.086 17.592,13.281 17.359,9.181 23.784,12.985 "/> + <polygon id="Stroke-30" class="st5" points="24.207,12.241 17.781,8.436 25.589,4.284 32.014,8.09 "/> + <g id="Group-37" transform="translate(17.000000, 7.706700)"> + <g id="Group-33"> + <g id="Clip-32"> + </g> + <path id="Stroke-31" class="st5" d="M6.784,5.278L0.359,1.473C0.358,1.46,0.358,1.446,0.358,1.432l6.425,3.805 + C6.782,5.251,6.783,5.264,6.784,5.278"/> + </g> + <g id="Group-36"> + <g id="Clip-35"> + </g> + <path id="Stroke-34" class="st5" d="M6.783,5.237L0.358,1.432c0.004-0.269,0.188-0.578,0.424-0.703l6.425,3.805 + C6.97,4.659,6.786,4.967,6.783,5.237"/> + </g> + </g> + <g id="Group-44" transform="translate(17.000000, 7.706700)"> + <path id="Stroke-38" class="st5" d="M6.784,5.278L0.359,1.473C0.344,1.194,0.534,0.861,0.782,0.729l6.425,3.805 + C6.958,4.666,6.768,4.999,6.784,5.278z"/> + <path id="Stroke-40" class="st5" d="M15.014,0.383c0.251-0.134,0.467-0.017,0.483,0.262l0.234,4.101 + c0.015,0.279-0.174,0.613-0.426,0.746L7.498,9.644C7.25,9.775,7.034,9.657,7.018,9.379l-0.234-4.1 + c-0.016-0.28,0.173-0.613,0.422-0.745L15.014,0.383z"/> + <path id="Stroke-42" class="st6" d="M6.971,4.69L7.218,9.4"/> + </g> + <g id="Group-47" transform="translate(17.000000, 12.706700)"> + <g id="Clip-46"> + </g> + <path id="Stroke-45" class="st5" d="M6.31,4.13L0.748,0.836c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C6.19,4.003,6.239,4.087,6.31,4.13"/> + </g> + <path id="Stroke-48" class="st5" d="M23.31,16.837l-5.562-3.294c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C23.19,16.71,23.239,16.794,23.31,16.837z"/> + <g id="Group-56" transform="translate(25.000000, 3.706700)"> + <g id="Group-52"> + <g id="Clip-51"> + </g> + <path id="Fill-50" class="st7" d="M7.045,4.389L0.621,0.583c0,0,0.005-0.002,0.008-0.004l6.425,3.805 + C7.051,4.386,7.049,4.388,7.045,4.389"/> + </g> + <g id="Group-55"> + <g id="Clip-54"> + </g> + <path id="Fill-53" class="st8" d="M7.054,4.384L0.629,0.579c0.127-0.064,0.244-0.065,0.33-0.013L7.384,4.37 + C7.297,4.319,7.18,4.32,7.054,4.384"/> + </g> + </g> + <g id="Group-59" transform="translate(18.000000, 13.706700)"> + <g id="Clip-58"> + </g> + <path id="Fill-57" class="st8" d="M6.094,3.581L0.532,0.287C0.46,0.244,0.412,0.159,0.406,0.042l5.562,3.295 + C5.975,3.454,6.023,3.538,6.094,3.581"/> + </g> + <g id="Group-64" transform="translate(17.000000, 3.706700)"> + <polygon id="Fill-60" class="st3" points="7.018,13.379 0.592,9.574 0.359,5.474 6.784,9.278 "/> + <polygon id="Fill-62" class="st2" points="7.207,8.534 0.782,4.729 8.589,0.577 15.015,4.383 "/> + </g> + <g id="Group-71" transform="translate(17.000000, 7.706700)"> + <g id="Group-67"> + <g id="Clip-66"> + </g> + <path id="Fill-65" class="st8" d="M6.784,5.278L0.359,1.473C0.358,1.46,0.358,1.446,0.358,1.432l6.425,3.805 + C6.782,5.251,6.783,5.264,6.784,5.278"/> + </g> + <g id="Group-70"> + <g id="Clip-69"> + </g> + <path id="Fill-68" class="st9" d="M6.783,5.237L0.358,1.432c0.004-0.269,0.188-0.578,0.424-0.703l6.425,3.805 + C6.97,4.659,6.786,4.967,6.783,5.237"/> + </g> + </g> + <g id="Group-76" transform="translate(23.000000, 7.706700)"> + <path id="Fill-72" class="st1" d="M9.014,0.383c0.251-0.134,0.467-0.017,0.483,0.262l0.234,4.101 + c0.015,0.279-0.174,0.613-0.426,0.746L1.498,9.644C1.25,9.775,1.034,9.657,1.018,9.379l-0.234-4.1 + c-0.016-0.28,0.173-0.613,0.422-0.745L9.014,0.383z"/> + <path id="Stroke-74" class="st10" d="M0.971,4.69L1.218,9.4"/> + </g> + <g id="Group-79" transform="translate(17.000000, 12.706700)"> + <g id="Clip-78"> + </g> + <path id="Fill-77" class="st8" d="M6.31,4.13L0.748,0.836c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C6.19,4.003,6.239,4.087,6.31,4.13"/> + </g> + <polyline id="Stroke-80" class="st11" points="0.418,20.764 10.448,26.792 10.495,93.29 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter_POE.svg b/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..214021de39f684afbb42964e25a30f63556ad122 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/media_converters/Industrial_Media_Converter_POE.svg @@ -0,0 +1,158 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 49.359 94.707" style="enable-background:new 0 0 49.359 94.707;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.835;stroke-linejoin:round;} + .st1{fill:#231F20;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:none;stroke:#626366;stroke-width:2.126;stroke-linejoin:round;} + .st6{fill:none;stroke:#626366;stroke-width:2.126;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#B8BDC1;} + .st8{fill:#939BA0;} + .st9{fill:#E1E2E3;} + .st10{fill:#898B8E;} + .st11{fill:none;stroke:#E1E2E3;stroke-width:0.511;stroke-linecap:round;stroke-linejoin:round;} + .st12{fill:none;stroke:#E1E2E3;stroke-width:0.85;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-IC100-1000-poe</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1684.000000, -862.000000)"> + <g id="icon-IC100-1000-poe" transform="translate(1685.000000, 862.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.706700)"> + <polygon id="Stroke-1" class="st0" points="10.448,26.085 46.895,6.737 46.942,73.236 10.495,92.583 "/> + <polygon id="Stroke-3" class="st0" points="0.418,20.058 36.863,0.711 46.896,6.738 10.448,26.085 "/> + <polygon id="Stroke-5" class="st0" points="10.448,26.085 10.495,92.583 0.465,86.557 0.418,20.058 "/> + </g> + <polygon id="Fill-8" class="st1" points="10.448,26.792 46.895,7.444 46.942,73.943 10.495,93.29 "/> + <polygon id="Fill-9" class="st2" points="0.418,20.764 36.863,1.418 46.896,7.444 10.448,26.792 "/> + <polygon id="Fill-10" class="st3" points="10.448,26.792 10.495,93.29 0.465,87.264 0.418,20.765 "/> + <polygon id="Fill-11" class="st4" points="7.508,80.593 3.403,78.101 3.403,72.259 7.508,74.751 "/> + <polygon id="Fill-12" class="st4" points="7.51,40.934 3.403,38.443 3.403,32.6 7.51,35.092 "/> + <polygon id="Fill-13" class="st4" points="7.51,48.35 3.403,45.859 3.403,40.014 7.51,42.508 "/> + <polygon id="Fill-14" class="st4" points="7.51,62.741 3.403,60.248 3.403,54.406 7.51,56.898 "/> + <g id="Group-21" transform="translate(25.000000, 3.706700)"> + <g id="Group-17"> + <g id="Clip-16"> + </g> + <path id="Stroke-15" class="st5" d="M7.044,4.389L0.62,0.583c0,0,0.005-0.002,0.008-0.004l6.425,3.805 + C7.05,4.386,7.048,4.388,7.048,4.388"/> + </g> + <g id="Group-20"> + <g id="Clip-19"> + </g> + <path id="Stroke-18" class="st5" d="M7.053,4.384L0.628,0.579c0.127-0.064,0.244-0.065,0.33-0.013L7.383,4.37 + C7.296,4.319,7.179,4.32,7.053,4.384"/> + </g> + </g> + <path id="Stroke-22" class="st5" d="M25.958,4.272l6.425,3.805c-0.089-0.053-0.208-0.051-0.339,0.018L25.622,4.29 + C25.75,4.221,25.871,4.219,25.958,4.272z"/> + <g id="Group-26" transform="translate(18.000000, 13.706700)"> + <g id="Clip-25"> + </g> + <path id="Stroke-24" class="st5" d="M6.093,3.581L0.531,0.287C0.46,0.244,0.412,0.159,0.405,0.042l5.562,3.295 + C5.974,3.454,6.022,3.538,6.093,3.581"/> + </g> + <path id="Stroke-27" class="st5" d="M24.094,17.288l-5.562-3.294c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C23.975,17.161,24.023,17.245,24.094,17.288z"/> + <polygon id="Stroke-29" class="st5" points="24.017,17.086 17.591,13.281 17.358,9.181 23.784,12.985 "/> + <polygon id="Stroke-30" class="st5" points="24.207,12.241 17.781,8.436 25.589,4.284 32.014,8.09 "/> + <g id="Group-37" transform="translate(17.000000, 7.706700)"> + <g id="Group-33"> + <g id="Clip-32"> + </g> + <path id="Stroke-31" class="st5" d="M6.783,5.278L0.359,1.473C0.358,1.46,0.358,1.446,0.358,1.432l6.425,3.805 + C6.781,5.251,6.782,5.264,6.783,5.278"/> + </g> + <g id="Group-36"> + <g id="Clip-35"> + </g> + <path id="Stroke-34" class="st5" d="M6.782,5.237L0.358,1.432c0.004-0.269,0.188-0.578,0.424-0.703l6.425,3.805 + C6.969,4.659,6.785,4.967,6.782,5.237"/> + </g> + </g> + <g id="Group-44" transform="translate(17.000000, 7.706700)"> + <path id="Stroke-38" class="st5" d="M6.783,5.278L0.359,1.473C0.344,1.194,0.533,0.861,0.781,0.729l6.425,3.805 + C6.957,4.666,6.767,4.999,6.783,5.278z"/> + <path id="Stroke-40" class="st5" d="M15.014,0.383c0.251-0.134,0.467-0.017,0.483,0.262l0.234,4.101 + c0.015,0.279-0.174,0.613-0.426,0.746L7.497,9.644c-0.248,0.131-0.464,0.013-0.48-0.265l-0.234-4.1 + c-0.016-0.28,0.173-0.613,0.422-0.745L15.014,0.383z"/> + <path id="Stroke-42" class="st6" d="M6.97,4.69L7.217,9.4"/> + </g> + <g id="Group-47" transform="translate(17.000000, 12.706700)"> + <g id="Clip-46"> + </g> + <path id="Stroke-45" class="st5" d="M6.309,4.13L0.748,0.836c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C6.189,4.003,6.238,4.087,6.309,4.13"/> + </g> + <path id="Stroke-48" class="st5" d="M23.309,16.837l-5.562-3.294c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C23.19,16.71,23.239,16.794,23.309,16.837z"/> + <g id="Group-56" transform="translate(25.000000, 3.706700)"> + <g id="Group-52"> + <g id="Clip-51"> + </g> + <path id="Fill-50" class="st7" d="M7.044,4.389L0.62,0.583c0,0,0.005-0.002,0.008-0.004l6.425,3.805 + C7.05,4.386,7.048,4.388,7.048,4.388"/> + </g> + <g id="Group-55"> + <g id="Clip-54"> + </g> + <path id="Fill-53" class="st8" d="M7.053,4.384L0.628,0.579c0.127-0.064,0.244-0.065,0.33-0.013L7.383,4.37 + C7.296,4.319,7.179,4.32,7.053,4.384"/> + </g> + </g> + <g id="Group-59" transform="translate(18.000000, 13.706700)"> + <g id="Clip-58"> + </g> + <path id="Fill-57" class="st8" d="M6.093,3.581L0.531,0.287C0.46,0.244,0.412,0.159,0.405,0.042l5.562,3.295 + C5.974,3.454,6.022,3.538,6.093,3.581"/> + </g> + <g id="Group-64" transform="translate(17.000000, 3.706700)"> + <polygon id="Fill-60" class="st3" points="7.017,13.379 0.592,9.574 0.359,5.474 6.783,9.278 "/> + <polygon id="Fill-62" class="st2" points="7.206,8.534 0.781,4.729 8.589,0.577 15.015,4.383 "/> + </g> + <g id="Group-71" transform="translate(17.000000, 7.706700)"> + <g id="Group-67"> + <g id="Clip-66"> + </g> + <path id="Fill-65" class="st8" d="M6.783,5.278L0.359,1.473C0.358,1.46,0.358,1.446,0.358,1.432l6.425,3.805 + C6.781,5.251,6.782,5.264,6.783,5.278"/> + </g> + <g id="Group-70"> + <g id="Clip-69"> + </g> + <path id="Fill-68" class="st9" d="M6.782,5.237L0.358,1.432c0.004-0.269,0.188-0.578,0.424-0.703l6.425,3.805 + C6.969,4.659,6.785,4.967,6.782,5.237"/> + </g> + </g> + <g id="Group-76" transform="translate(23.000000, 7.706700)"> + <path id="Fill-72" class="st10" d="M9.014,0.383c0.251-0.134,0.467-0.017,0.483,0.262l0.234,4.101 + c0.015,0.279-0.174,0.613-0.426,0.746L1.498,9.644C1.25,9.775,1.034,9.657,1.018,9.379l-0.234-4.1 + c-0.016-0.28,0.173-0.613,0.422-0.745L9.014,0.383z"/> + <path id="Stroke-74" class="st11" d="M0.97,4.69L1.218,9.4"/> + </g> + <g id="Group-79" transform="translate(17.000000, 12.706700)"> + <g id="Clip-78"> + </g> + <path id="Fill-77" class="st8" d="M6.309,4.13L0.748,0.836c-0.072-0.043-0.12-0.128-0.126-0.245l5.562,3.295 + C6.189,4.003,6.238,4.087,6.309,4.13"/> + </g> + <g id="Group-90" transform="translate(0.000000, 20.706700)"> + <polyline id="Stroke-80" class="st12" points="0.418,0.058 10.448,6.085 10.495,72.583 "/> + <polygon id="Fill-82" class="st4" points="35.31,3.825 27.962,17.635 36.444,16.713 30.715,25.713 36.597,25.072 26.45,41.021 + 30.931,28.281 23.545,29.083 28.344,21.54 19.917,22.457 34.743,4.561 "/> + <path id="Fill-84" class="st4" d="M23.188,56.1l1.28-0.69c0.841-0.456,1.384-1.215,1.384-2.031c0-0.599-0.311-1.079-1.339-0.524 + l-1.325,0.715V56.1z M24.514,51.798c1.72-0.927,2.504-0.295,2.504,1c0,1.283-0.83,2.74-2.653,3.723l-1.176,0.635v3.538 + l-1.131,0.61v-8.18L24.514,51.798z"/> + <path id="Fill-86" class="st4" d="M28.311,55.184c0,1.139,0.68,1.528,1.672,0.992c1.084-0.585,1.765-1.672,1.765-2.835 + c0-1.044-0.739-1.4-1.765-0.846C29.014,53.017,28.311,54.152,28.311,55.184 M32.798,52.763c0,1.703-1.142,3.471-2.803,4.367 + c-1.592,0.86-2.735,0.276-2.735-1.379c0-1.548,1.189-3.388,2.735-4.222C31.622,50.651,32.798,51.167,32.798,52.763"/> + <polygon id="Fill-88" class="st4" points="38.542,45.284 35.208,47.083 35.208,49.554 38.428,47.817 38.428,48.874 + 35.208,50.61 35.208,53.151 38.646,51.297 38.646,52.352 34.078,54.817 34.078,46.638 38.542,44.229 "/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Modular.svg b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Modular.svg new file mode 100644 index 0000000000000000000000000000000000000000..e7173a5370974c9465346bf7b490cbafd2522dcf --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Modular.svg @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 117.96 90.752" style="enable-background:new 0 0 117.96 90.752;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.717;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.679;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-media-converter-MCR12</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1204.000000, -676.000000)"> + <g id="icon-media-converter-MCR12" transform="translate(1205.000000, 676.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.752600)"> + <polygon id="Stroke-1" class="st0" points="0.359,24.092 44.597,0.606 115.592,43.272 71.354,66.753 "/> + <polygon id="Stroke-3" class="st0" points="71.355,66.753 71.364,88.641 0.366,45.98 0.359,24.092 "/> + <polygon id="Stroke-5" class="st0" points="71.355,66.753 115.593,43.272 115.602,65.158 71.364,88.641 "/> + </g> + <polygon id="Fill-8" class="st1" points="71.355,67.506 115.593,44.025 115.602,65.911 71.364,89.394 "/> + <polygon id="Fill-9" class="st2" points="0.359,24.844 44.597,1.363 115.592,44.025 71.354,67.506 "/> + <polygon id="Fill-10" class="st3" points="71.355,67.506 71.364,89.394 0.366,46.733 0.359,24.845 "/> + <polyline id="Stroke-11" class="st4" points="0.714,24.758 71.355,67.204 71.355,89.117 "/> + <polygon id="Fill-12" class="st5" points="41.022,69.075 37.289,66.901 37.289,49.455 41.022,51.653 "/> + <polygon id="Fill-13" class="st5" points="49.259,74.213 45.527,72.039 45.527,54.593 49.259,56.791 "/> + <polygon id="Fill-14" class="st5" points="57.554,78.956 53.821,76.782 53.821,59.336 57.554,61.534 "/> + <polygon id="Fill-15" class="st5" points="66.175,84.345 62.442,82.171 62.442,64.725 66.175,66.924 "/> + <polygon id="Fill-16" class="st5" points="8.805,49.968 5.072,47.795 5.072,30.348 8.805,32.546 "/> + <polygon id="Fill-17" class="st5" points="16.602,54.647 12.869,52.474 12.869,35.028 16.602,37.225 "/> + <polygon id="Fill-18" class="st5" points="24.632,59.26 20.899,57.086 20.899,39.641 24.632,41.838 "/> + <polygon id="Fill-19" class="st5" points="32.781,64.174 29.048,62.001 29.048,44.555 32.781,46.752 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone.svg b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone.svg new file mode 100644 index 0000000000000000000000000000000000000000..0c1beb3fffed7fe70654302863842be2baee02f6 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 75.713 61.36" style="enable-background:new 0 0 75.713 61.36;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#BBBDBF;} + .st2{fill:none;stroke:#DFE0DF;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:#898B8E;} +</style> +<polygon id="Stroke-1" class="st0" points="40.025,42.946 74.213,24.799 74.213,41.714 40.025,59.86 "/> +<polygon id="Stroke-3" class="st0" points="40.02,42.946 40.025,59.86 1.5,36.759 1.5,19.888 "/> +<polygon id="Stroke-5" class="st0" points="1.5,19.888 35.581,1.5 74.208,24.798 40.021,42.946 "/> +<polygon id="Fill-8" class="st1" points="1.5,19.888 35.581,1.5 74.208,24.799 40.021,42.946 "/> +<polyline id="Stroke-9" class="st2" points="1.699,19.879 40.02,42.713 40.02,59.648 "/> +<polygon id="Fill-10" class="st3" points="40.02,42.946 40.025,59.861 1.5,36.759 1.5,19.888 "/> +<polygon id="Fill-11" class="st4" points="24.916,48.768 18.358,44.821 18.372,38.253 24.893,42.186 "/> +<polygon id="Fill-12" class="st4" points="35.741,55.23 29.183,51.284 29.197,44.716 35.719,48.649 "/> +<polygon id="Fill-13" class="st5" points="40.02,42.946 74.208,24.8 74.213,41.715 40.025,59.861 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone_POE.svg b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..5bfb7ba8ab5e08f15a243229042720faf782d7d7 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/media_converters/Media_Converter_Standalone_POE.svg @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 75.713 61.359" style="enable-background:new 0 0 75.713 61.359;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#231F20;} + .st2{fill:none;stroke:#DFE0DF;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:#898B8E;} +</style> +<title>icon-media-converter-poe</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-1520.000000, -726.000000)"> + <g id="icon-media-converter-poe" transform="translate(1521.000000, 727.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.359400)"> + <polygon id="Stroke-1" class="st0" points="39.02,41.586 73.208,23.439 73.213,40.354 39.024,58.5 "/> + <polygon id="Stroke-3" class="st0" points="39.02,41.586 39.024,58.5 0.5,35.399 0.5,18.528 "/> + <polygon id="Stroke-5" class="st0" points="0.5,18.529 34.581,0.141 73.208,23.439 39.021,41.587 "/> + </g> + <polygon id="Fill-8" class="st1" points="0.821,18.64 34.901,0.252 73.528,23.551 39.341,41.698 "/> + <polyline id="Stroke-9" class="st2" points="0.698,18.879 39.02,41.713 39.02,58.648 "/> + <polygon id="Fill-10" class="st3" points="39.02,41.946 39.024,58.861 0.5,35.759 0.5,18.888 "/> + <polygon id="Fill-11" class="st4" points="23.914,47.768 17.358,43.821 17.372,37.253 23.893,41.186 "/> + <polygon id="Fill-12" class="st4" points="34.741,54.23 28.182,50.284 28.196,43.716 34.718,47.649 "/> + <polygon id="Fill-13" class="st5" points="39.02,41.946 73.208,23.8 73.213,40.715 39.024,58.861 "/> + <polygon id="Fill-14" class="st4" points="34.15,3.357 32.946,17.316 40.145,13.219 38.52,23.449 43.51,20.607 40.633,38.733 + 39.704,25.653 33.435,29.22 34.796,20.648 27.642,24.72 33.936,3.054 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/DVS_Surveillance_Monitor.svg b/src/main/webapp/img/lib/allied_telesys/security/DVS_Surveillance_Monitor.svg new file mode 100644 index 0000000000000000000000000000000000000000..28de94a0be93a607ff996a3b88badd09585211ac --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/DVS_Surveillance_Monitor.svg @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 70.175 100.05" style="enable-background:new 0 0 70.175 100.05;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3.375;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-width:1.125;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#626366;stroke-width:3.002;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#FEFEFE;} + .st7{fill:#C4CACE;} + .st8{fill:none;stroke:#636466;stroke-width:1.301;} + .st9{fill:none;stroke:#E1E2E3;stroke-width:1.001;stroke-linecap:round;stroke-linejoin:round;} + .st10{filter:url(#Adobe_OpacityMaskFilter);} + .st11{fill:#FFFFFF;} + .st12{mask:url(#mask-2_1_);fill:none;stroke:#636466;stroke-width:1.451;} + .st13{fill:none;stroke:#231F20;stroke-width:0.504;} + .st14{fill:#231F20;} + .st15{fill:none;stroke:#231F20;stroke-width:0.386;} + .st16{fill:#00A550;} + .st17{fill:none;stroke:#231F20;stroke-width:0.259;} + .st18{fill:#00ADEE;} + .st19{fill:#FFF100;} + .st20{fill:#FAAF3F;} + .st21{fill:#8CC63F;} + .st22{fill:#D0D2D3;} + .st23{fill:#27A9E0;} + .st24{fill:#EB008B;} + .st25{fill:#2B388F;} + .st26{fill:#652C90;} + .st27{fill:#F6931D;} + .st28{fill:#EC1D24;} + .st29{fill:#91278F;} + .st30{fill:none;stroke:#FEFEFE;stroke-width:0.504;stroke-linecap:round;} + .st31{fill:none;stroke:#FEFEFE;stroke-width:0.507;stroke-linecap:round;} +</style> +<title>icon-surveillance-monitor</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="41.77,92.853 54.94,85.861 54.943,89.57 41.772,96.563 "/> +<polygon id="Stroke-3" class="st0" points="8.137,72.645 21.307,65.654 54.94,85.861 41.77,92.853 "/> +<polygon id="Stroke-4" class="st0" points="41.77,92.853 41.772,96.563 8.139,76.353 8.137,72.645 "/> +<polygon id="Fill-6" class="st1" points="41.77,92.853 54.94,85.861 54.943,89.57 41.772,96.563 "/> +<polygon id="Fill-7" class="st2" points="8.137,72.645 21.307,65.654 54.94,85.861 41.77,92.853 "/> +<polygon id="Fill-8" class="st3" points="41.77,92.853 41.772,96.563 8.139,76.353 8.137,72.645 "/> +<polyline id="Stroke-9" class="st4" points="8.409,72.682 41.491,92.558 41.491,96.163 "/> +<polygon id="Stroke-10" class="st5" points="62.799,41.43 68.632,38.334 68.674,95.451 62.838,98.549 "/> +<polygon id="Stroke-12" class="st5" points="1.501,4.599 7.336,1.501 68.632,38.334 62.799,41.43 "/> +<polygon id="Stroke-14" class="st5" points="62.799,41.43 62.838,98.549 1.541,61.717 1.501,4.599 "/> +<polygon id="Fill-17" class="st1" points="62.797,41.43 68.632,38.334 68.672,95.451 62.838,98.549 "/> +<polygon id="Fill-18" class="st2" points="1.501,4.599 7.334,1.501 68.632,38.334 62.797,41.43 "/> +<polygon id="Fill-19" class="st3" points="62.797,41.43 62.838,98.549 1.541,61.717 1.501,4.599 "/> +<polygon id="Fill-20" class="st6" points="59.589,92.129 3.724,58.153 3.724,9.879 59.589,43.853 "/> +<path id="Fill-21" class="st7" d="M38.863,34.4l18.541,11.139l0.103,10.367c0,0-0.33-7.435-5.842-12.092 + C44.628,37.867,38.863,34.4,38.863,34.4"/> +<path id="Stroke-23" class="st8" d="M2.216,62.896l60.616,36.422"/> +<polyline id="Stroke-25" class="st9" points="2.018,4.79 62.776,41.298 62.817,98.063 "/> +<g id="Clip-28"> +</g> +<defs> + <filter id="Adobe_OpacityMaskFilter" filterUnits="userSpaceOnUse" x="68.667" y="76.61" width="1.451" height="15.008"> + <feColorMatrix type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"/> + </filter> +</defs> +<mask maskUnits="userSpaceOnUse" x="68.667" y="76.61" width="1.451" height="15.008" id="mask-2_1_"> + <g class="st10"> + <polygon id="path-1_1_" class="st11" points="69.393,76.61 70.174,76.61 70.174,91.618 69.393,91.618 "/> + </g> +</mask> +<path id="Stroke-27" class="st12" d="M69.393,76.61v15.008"/> +<polygon id="Fill-30" class="st6" points="60.917,94.875 1.823,60.026 1.823,8.15 60.917,42.999 "/> +<polygon id="Stroke-32" class="st13" points="60.917,94.875 1.823,60.026 1.823,8.15 60.917,42.999 "/> +<polygon id="Fill-34" class="st14" points="22.045,54.319 1.941,42.464 1.941,25.501 22.045,37.356 "/> +<polygon id="Stroke-36" class="st15" points="22.045,54.319 1.941,42.464 1.941,25.501 22.045,37.356 "/> +<path id="Fill-38" class="st16" d="M11.692,40.222c0,1.858-1.973,2.202-4.405,0.767c-2.431-1.434-4.404-4.104-4.404-5.961 + c0-1.859,1.973-2.201,4.404-0.767C9.719,35.695,11.692,38.364,11.692,40.222"/> +<path id="Stroke-40" class="st17" d="M11.692,40.222c0,1.858-1.973,2.202-4.405,0.767c-2.431-1.434-4.404-4.104-4.404-5.961 + c0-1.859,1.973-2.201,4.404-0.767C9.719,35.695,11.692,38.364,11.692,40.222z"/> +<path id="Fill-42" class="st18" d="M20.125,48.947c0-0.928-0.545-2.002-1.217-2.399l-8.247-4.864 + c-0.673-0.396-1.219,0.035-1.219,0.963c0,0.93,0.546,2.005,1.219,2.401l8.247,4.863C19.58,50.308,20.125,49.877,20.125,48.947"/> +<path id="Stroke-44" class="st17" d="M20.125,48.947c0-0.928-0.545-2.002-1.217-2.399l-8.247-4.864 + c-0.673-0.396-1.219,0.035-1.219,0.963c0,0.93,0.546,2.005,1.219,2.401l8.247,4.863C19.58,50.308,20.125,49.877,20.125,48.947z"/> +<polygon id="Fill-46" class="st19" points="15.628,45.13 11.882,44.118 9.257,38.689 10.381,34.273 14.127,35.286 16.751,40.714 "/> +<polygon id="Stroke-48" class="st17" points="15.628,45.13 11.882,44.118 9.257,38.689 10.381,34.273 14.127,35.286 16.751,40.714 + "/> +<polygon id="Fill-50" class="st14" points="22.045,71.578 1.941,59.722 1.941,42.761 22.045,54.616 "/> +<polygon id="Stroke-52" class="st15" points="22.045,71.578 1.941,59.722 1.941,42.761 22.045,54.616 "/> +<path id="Fill-54" class="st20" d="M11.692,57.48c0,1.858-1.973,2.202-4.405,0.767c-2.431-1.434-4.404-4.103-4.404-5.962 + c0-1.858,1.973-2.201,4.404-0.766C9.719,52.953,11.692,55.622,11.692,57.48"/> +<path id="Stroke-56" class="st17" d="M11.692,57.48c0,1.858-1.973,2.202-4.405,0.767c-2.431-1.434-4.404-4.103-4.404-5.962 + c0-1.858,1.973-2.201,4.404-0.766C9.719,52.953,11.692,55.622,11.692,57.48z"/> +<path id="Fill-58" class="st21" d="M20.964,67.085c0-0.929-0.546-2.003-1.219-2.4l-8.246-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.929,0.546,2.004,1.218,2.401l8.246,4.862C20.418,68.445,20.964,68.014,20.964,67.085"/> +<path id="Stroke-60" class="st17" d="M20.964,67.085c0-0.929-0.546-2.003-1.219-2.4l-8.246-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.929,0.546,2.004,1.218,2.401l8.246,4.862C20.418,68.445,20.964,68.014,20.964,67.085z"/> +<polygon id="Fill-62" class="st22" points="15.628,62.389 11.882,61.377 9.257,55.948 10.381,51.531 14.127,52.545 16.751,57.973 + "/> +<polygon id="Stroke-64" class="st17" points="15.628,62.389 11.882,61.377 9.257,55.948 10.381,51.531 14.127,52.545 16.751,57.973 + "/> +<polygon id="Fill-66" class="st14" points="22.045,37.05 1.941,25.194 1.941,8.232 22.045,20.087 "/> +<polygon id="Stroke-68" class="st15" points="22.045,37.05 1.941,25.194 1.941,8.232 22.045,20.087 "/> +<path id="Fill-70" class="st23" d="M11.692,22.952c0,1.859-1.973,2.201-4.405,0.767c-2.431-1.434-4.404-4.103-4.404-5.961 + c0-1.859,1.973-2.201,4.404-0.767C9.719,18.427,11.692,21.096,11.692,22.952"/> +<path id="Stroke-72" class="st17" d="M11.692,22.952c0,1.859-1.973,2.201-4.405,0.767c-2.431-1.434-4.404-4.103-4.404-5.961 + c0-1.859,1.973-2.201,4.404-0.767C9.719,18.427,11.692,21.096,11.692,22.952z"/> +<path id="Fill-74" class="st24" d="M20.125,31.679c0-0.928-0.546-2.004-1.217-2.4l-8.247-4.864 + c-0.673-0.397-1.219,0.035-1.219,0.964c0,0.929,0.546,2.004,1.219,2.401l8.247,4.863C19.58,33.039,20.125,32.608,20.125,31.679"/> +<path id="Stroke-76" class="st17" d="M20.125,31.679c0-0.928-0.546-2.004-1.217-2.4l-8.247-4.864 + c-0.673-0.397-1.219,0.035-1.219,0.964c0,0.929,0.546,2.004,1.219,2.401l8.247,4.863C19.58,33.039,20.125,32.608,20.125,31.679z"/> +<polygon id="Fill-78" class="st25" points="15.628,27.862 11.882,26.849 9.257,21.421 10.381,17.005 14.127,18.017 16.751,23.446 + "/> +<polygon id="Stroke-80" class="st17" points="15.628,27.862 11.882,26.849 9.257,21.421 10.381,17.005 14.127,18.017 16.751,23.446 + "/> +<polygon id="Fill-82" class="st14" points="41.854,66.391 21.75,54.535 21.75,37.572 41.854,49.429 "/> +<polygon id="Stroke-84" class="st15" points="41.854,66.391 21.75,54.535 21.75,37.572 41.854,49.429 "/> +<path id="Fill-86" class="st19" d="M31.502,52.294c0,1.857-1.972,2.201-4.405,0.766c-2.43-1.434-4.403-4.103-4.403-5.961 + c0-1.858,1.973-2.201,4.403-0.767C29.53,47.767,31.502,50.436,31.502,52.294"/> +<path id="Stroke-88" class="st17" d="M31.502,52.294c0,1.857-1.972,2.201-4.405,0.766c-2.43-1.434-4.403-4.103-4.403-5.961 + c0-1.858,1.973-2.201,4.403-0.767C29.53,47.767,31.502,50.436,31.502,52.294z"/> +<path id="Fill-90" class="st24" d="M39.936,61.019c0-0.929-0.545-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.929,0.546,2.004,1.218,2.401l8.247,4.862C39.391,62.379,39.936,61.949,39.936,61.019"/> +<path id="Stroke-92" class="st17" d="M39.936,61.019c0-0.929-0.545-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.929,0.546,2.004,1.218,2.401l8.247,4.862C39.391,62.379,39.936,61.949,39.936,61.019z"/> +<polygon id="Fill-94" class="st21" points="35.438,57.201 31.691,56.189 29.067,50.761 30.19,46.345 33.937,47.357 36.561,52.786 + "/> +<polygon id="Stroke-96" class="st17" points="35.438,57.201 31.691,56.189 29.067,50.761 30.19,46.345 33.937,47.357 36.561,52.786 + "/> +<polygon id="Fill-98" class="st14" points="41.854,83.649 21.75,71.794 21.75,54.831 41.854,66.687 "/> +<polygon id="Stroke-100" class="st15" points="41.854,83.649 21.75,71.794 21.75,54.831 41.854,66.687 "/> +<path id="Fill-102" class="st20" d="M31.502,69.552c0,1.858-1.972,2.202-4.405,0.767c-2.43-1.434-4.403-4.103-4.403-5.961 + c0-1.859,1.973-2.202,4.403-0.767C29.53,65.025,31.502,67.694,31.502,69.552"/> +<path id="Stroke-104" class="st17" d="M31.502,69.552c0,1.858-1.972,2.202-4.405,0.767c-2.43-1.434-4.403-4.103-4.403-5.961 + c0-1.859,1.973-2.202,4.403-0.767C29.53,65.025,31.502,67.694,31.502,69.552z"/> +<path id="Fill-106" class="st16" d="M40.773,79.157c0-0.929-0.546-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963s0.546,2.004,1.218,2.401l8.247,4.862C40.227,80.517,40.773,80.086,40.773,79.157"/> +<path id="Stroke-108" class="st17" d="M40.773,79.157c0-0.929-0.546-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963s0.546,2.004,1.218,2.401l8.247,4.862C40.227,80.517,40.773,80.086,40.773,79.157z"/> +<polygon id="Fill-110" class="st24" points="35.438,74.46 31.691,73.447 29.067,68.019 30.19,63.603 33.937,64.616 36.561,70.044 + "/> +<polygon id="Stroke-112" class="st17" points="35.438,74.46 31.691,73.447 29.067,68.019 30.19,63.603 33.937,64.616 36.561,70.044 + "/> +<polygon id="Fill-114" class="st14" points="41.854,49.122 21.75,37.266 21.75,20.305 41.854,32.16 "/> +<polygon id="Stroke-116" class="st15" points="41.854,49.122 21.75,37.266 21.75,20.305 41.854,32.16 "/> +<path id="Fill-118" class="st20" d="M31.502,35.025c0,1.857-1.972,2.201-4.405,0.766c-2.43-1.434-4.403-4.103-4.403-5.961 + s1.973-2.201,4.403-0.766C29.53,30.499,31.502,33.167,31.502,35.025"/> +<path id="Stroke-120" class="st17" d="M31.502,35.025c0,1.857-1.972,2.201-4.405,0.766c-2.43-1.434-4.403-4.103-4.403-5.961 + s1.973-2.201,4.403-0.766C29.53,30.499,31.502,33.167,31.502,35.025z"/> +<path id="Fill-122" class="st23" d="M39.936,43.75c0-0.929-0.546-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.928,0.546,2.003,1.218,2.401l8.247,4.862C39.39,45.11,39.936,44.679,39.936,43.75"/> +<path id="Stroke-124" class="st17" d="M39.936,43.75c0-0.929-0.546-2.003-1.218-2.4l-8.247-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.928,0.546,2.003,1.218,2.401l8.247,4.862C39.39,45.11,39.936,44.679,39.936,43.75z"/> +<polygon id="Fill-126" class="st26" points="35.438,39.933 31.691,38.921 29.067,33.492 30.19,29.076 33.937,30.089 36.561,35.517 + "/> +<polygon id="Stroke-128" class="st17" points="35.438,39.933 31.691,38.921 29.067,33.492 30.19,29.076 33.937,30.089 + 36.561,35.517 "/> +<polygon id="Fill-130" class="st14" points="60.922,77.461 40.818,65.605 40.818,48.642 60.922,60.498 "/> +<polygon id="Stroke-132" class="st15" points="60.922,77.461 40.818,65.605 40.818,48.642 60.922,60.498 "/> +<path id="Fill-134" class="st6" d="M50.57,63.363c0,1.857-1.971,2.201-4.403,0.766c-2.433-1.434-4.405-4.102-4.405-5.96 + c0-1.858,1.972-2.202,4.405-0.767C48.599,58.836,50.57,61.505,50.57,63.363"/> +<path id="Stroke-136" class="st17" d="M50.57,63.363c0,1.857-1.971,2.201-4.403,0.766c-2.433-1.434-4.405-4.102-4.405-5.96 + c0-1.858,1.972-2.202,4.405-0.767C48.599,58.836,50.57,61.505,50.57,63.363z"/> +<path id="Fill-138" class="st21" d="M59.005,72.088c0-0.928-0.546-2.002-1.218-2.399l-8.247-4.863 + c-0.673-0.398-1.218,0.034-1.218,0.962c0,0.93,0.545,2.004,1.218,2.402l8.247,4.862C58.459,73.449,59.005,73.017,59.005,72.088"/> +<path id="Stroke-140" class="st17" d="M59.005,72.088c0-0.928-0.546-2.002-1.218-2.399l-8.247-4.863 + c-0.673-0.398-1.218,0.034-1.218,0.962c0,0.93,0.545,2.004,1.218,2.402l8.247,4.862C58.459,73.449,59.005,73.017,59.005,72.088z"/> +<polygon id="Fill-142" class="st27" points="54.506,68.271 50.76,67.259 48.135,61.83 49.259,57.413 53.006,58.427 55.63,63.856 "/> +<polygon id="Stroke-144" class="st17" points="54.506,68.271 50.76,67.259 48.135,61.83 49.259,57.413 53.006,58.427 55.63,63.856 + "/> +<polygon id="Fill-146" class="st14" points="60.922,94.719 40.818,82.864 40.818,65.901 60.922,77.757 "/> +<polygon id="Stroke-148" class="st15" points="60.922,94.719 40.818,82.864 40.818,65.901 60.922,77.757 "/> +<path id="Fill-150" class="st28" d="M50.57,80.621c0,1.858-1.971,2.202-4.403,0.767c-2.433-1.434-4.405-4.103-4.405-5.961 + s1.972-2.202,4.405-0.767C48.599,76.094,50.57,78.763,50.57,80.621"/> +<path id="Stroke-152" class="st17" d="M50.57,80.621c0,1.858-1.971,2.202-4.403,0.767c-2.433-1.434-4.405-4.103-4.405-5.961 + s1.972-2.202,4.405-0.767C48.599,76.094,50.57,78.763,50.57,80.621z"/> +<path id="Fill-154" class="st27" d="M59.842,90.226c0-0.929-0.546-2.003-1.217-2.4l-8.248-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.928,0.546,2.004,1.218,2.4l8.248,4.864C59.296,91.586,59.842,91.155,59.842,90.226"/> +<path id="Stroke-156" class="st17" d="M59.842,90.226c0-0.929-0.546-2.003-1.217-2.4l-8.248-4.863 + c-0.672-0.397-1.218,0.034-1.218,0.963c0,0.928,0.546,2.004,1.218,2.4l8.248,4.864C59.296,91.586,59.842,91.155,59.842,90.226z"/> +<polygon id="Fill-158" class="st23" points="54.506,85.53 50.76,84.518 48.135,79.088 49.259,74.672 53.006,75.685 55.63,81.114 "/> +<polygon id="Stroke-160" class="st17" points="54.506,85.53 50.76,84.518 48.135,79.088 49.259,74.672 53.006,75.685 55.63,81.114 + "/> +<polygon id="Fill-162" class="st14" points="60.922,60.191 40.818,48.335 40.818,31.373 60.922,43.229 "/> +<polygon id="Stroke-164" class="st15" points="60.922,60.191 40.818,48.335 40.818,31.373 60.922,43.229 "/> +<path id="Fill-166" class="st19" d="M50.57,46.094c0,1.857-1.971,2.202-4.403,0.767c-2.433-1.434-4.405-4.103-4.405-5.961 + c0-1.858,1.972-2.201,4.405-0.767C48.599,41.568,50.57,44.236,50.57,46.094"/> +<path id="Stroke-168" class="st17" d="M50.57,46.094c0,1.857-1.971,2.202-4.403,0.767c-2.433-1.434-4.405-4.103-4.405-5.961 + c0-1.858,1.972-2.201,4.405-0.767C48.599,41.568,50.57,44.236,50.57,46.094z"/> +<path id="Fill-170" class="st29" d="M59.005,54.819c0-0.928-0.546-2.004-1.218-2.4l-8.247-4.864 + c-0.673-0.397-1.218,0.036-1.218,0.964c0,0.929,0.545,2.004,1.218,2.401l8.247,4.863C58.459,56.18,59.005,55.749,59.005,54.819"/> +<path id="Stroke-172" class="st17" d="M59.005,54.819c0-0.928-0.546-2.004-1.218-2.4l-8.247-4.864 + c-0.673-0.397-1.218,0.036-1.218,0.964c0,0.929,0.545,2.004,1.218,2.401l8.247,4.863C58.459,56.18,59.005,55.749,59.005,54.819z"/> +<polygon id="Fill-174" class="st28" points="54.506,51.003 50.76,49.99 48.135,44.561 49.259,40.145 53.006,41.158 55.63,46.586 "/> +<polygon id="Stroke-176" class="st17" points="54.506,51.003 50.76,49.99 48.135,44.561 49.259,40.145 53.006,41.158 55.63,46.586 + "/> +<path id="Stroke-178" class="st30" d="M21.702,19.754v52.683"/> +<path id="Stroke-180" class="st30" d="M41.136,30.896v52.682"/> +<path id="Stroke-182" class="st31" d="M1.482,25.678l59.952,35.355"/> +<path id="Stroke-184" class="st31" d="M1.495,43.052l59.954,35.355"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/EtherGRID.svg b/src/main/webapp/img/lib/allied_telesys/security/EtherGRID.svg new file mode 100644 index 0000000000000000000000000000000000000000..17f80d4056c663f0805c58969e4f229386d0f949 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/EtherGRID.svg @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 149.215 107.9" style="enable-background:new 0 0 149.215 107.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#58585B;stroke-width:1.226;stroke-linejoin:round;} + .st1{fill:#231F20;} + .st2{fill:#626366;} + .st3{fill:#404042;} + .st4{fill:none;stroke:#DFDFDE;stroke-width:0.285;stroke-linecap:round;} + .st5{fill:#E5E6E7;} + .st6{fill:#6C6E70;} + .st7{fill:#58585B;} + .st8{fill:#FEFEFE;} +</style> +<title>icon-etherGRID</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-932.000000, -870.000000)"> + <g id="icon-etherGRID" transform="translate(932.000000, 869.000000)"> + <g id="Group-7" transform="translate(0.000000, 0.901000)"> + <polygon id="Stroke-1" class="st0" points="96.738,85.99 148.589,58.469 148.602,79.865 96.753,107.386 "/> + <polygon id="Stroke-3" class="st0" points="0.613,28.233 52.463,0.712 148.589,58.468 96.738,85.99 "/> + <polygon id="Stroke-5" class="st0" points="96.738,85.99 96.753,107.386 0.629,49.63 0.613,28.233 "/> + </g> + <polygon id="Fill-8" class="st1" points="97.021,86.891 97.035,108.287 148.885,80.767 148.87,59.369 "/> + <polygon id="Fill-9" class="st2" points="0.896,29.134 97.021,86.891 148.87,59.37 52.746,1.613 "/> + <polygon id="Fill-10" class="st3" points="0.91,50.531 97.035,108.287 97.021,86.891 0.896,29.134 "/> + <path id="Stroke-11" class="st4" d="M0.756,28.907l96.124,58.236"/> + <path id="Stroke-12" class="st4" d="M96.881,87.25v20.173"/> + <polygon id="Fill-13" class="st5" points="46.221,67.402 38.794,62.953 38.794,57.118 46.221,61.568 "/> + <polygon id="Fill-14" class="st5" points="21.974,52.701 14.695,48.339 14.695,42.505 21.974,46.867 "/> + <g id="Group-65" transform="translate(3.000000, 14.901000)"> + <path id="Fill-15" class="st5" d="M71.769,71.064c0,0.161-0.113,0.226-0.253,0.143l-5.524-3.311 + c-0.139-0.083-0.252-0.283-0.252-0.445v-6.88c0-0.162,0.113-0.226,0.252-0.143l5.524,3.311c0.14,0.083,0.253,0.283,0.253,0.445 + V71.064z"/> + <path id="Fill-17" class="st5" d="M80.666,76.395c0,0.162-0.113,0.226-0.252,0.143l-5.525-3.311 + c-0.139-0.083-0.252-0.283-0.252-0.445v-6.88c0-0.161,0.113-0.226,0.252-0.143l5.525,3.311c0.139,0.083,0.252,0.283,0.252,0.445 + V76.395z"/> + <path id="Fill-19" class="st5" d="M89.784,75.937c0,1.456-1.116,1.968-2.491,1.144c-1.376-0.826-2.492-2.674-2.492-4.129 + c0-1.456,1.116-1.968,2.492-1.144C88.668,72.633,89.784,74.482,89.784,75.937"/> + <path id="Fill-21" class="st6" d="M88.964,75.446c0,0.978-0.748,1.32-1.671,0.768c-0.924-0.554-1.672-1.794-1.672-2.771 + s0.748-1.32,1.672-0.768C88.216,73.229,88.964,74.469,88.964,75.446"/> + <path id="Fill-23" class="st5" d="M7.017,25.641c0,1.456-1.115,1.968-2.491,1.144c-1.376-0.826-2.491-2.674-2.491-4.129 + c0-1.456,1.115-1.968,2.491-1.144C5.902,22.337,7.017,24.186,7.017,25.641"/> + <path id="Fill-25" class="st5" d="M7.017,25.641c0,1.456-1.115,1.968-2.491,1.144c-1.376-0.826-2.491-2.674-2.491-4.129 + c0-1.456,1.115-1.968,2.491-1.144C5.902,22.337,7.017,24.186,7.017,25.641"/> + <path id="Fill-27" class="st5" d="M7.017,25.641c0,1.456-1.115,1.968-2.491,1.144c-1.376-0.826-2.491-2.674-2.491-4.129 + c0-1.456,1.115-1.968,2.491-1.144C5.902,22.337,7.017,24.186,7.017,25.641"/> + <path id="Fill-29" class="st7" d="M6.198,25.15c0,0.978-0.749,1.32-1.672,0.768c-0.924-0.554-1.672-1.794-1.672-2.771 + c0-0.977,0.748-1.32,1.672-0.768C5.449,22.933,6.198,24.173,6.198,25.15"/> + <path id="Fill-31" class="st5" d="M2.94,35.277c0,0.728-0.558,0.983-1.245,0.571c-0.689-0.412-1.246-1.337-1.246-2.064 + c0-0.728,0.557-0.984,1.246-0.571C2.382,33.625,2.94,34.548,2.94,35.277"/> + <path id="Fill-33" class="st5" d="M34.181,54.599c0,0.728-0.558,0.983-1.245,0.571c-0.689-0.412-1.246-1.337-1.246-2.064 + c0-0.728,0.557-0.984,1.246-0.571C33.623,52.947,34.181,53.87,34.181,54.599"/> + <path id="Fill-35" class="st5" d="M53.206,66.205c0,0.728-0.558,0.983-1.245,0.571c-0.689-0.412-1.246-1.336-1.246-2.064 + c0-0.728,0.557-0.984,1.246-0.571C52.648,64.553,53.206,65.477,53.206,66.205"/> + <path id="Fill-37" class="st5" d="M90.417,88.006c0,0.728-0.558,0.983-1.246,0.571c-0.688-0.412-1.245-1.337-1.245-2.064 + c0-0.729,0.557-0.984,1.245-0.571C89.859,86.354,90.417,87.277,90.417,88.006"/> + <polygon id="Fill-39" class="st8" points="51.331,54.47 49.336,53.273 49.336,50.947 51.331,52.145 "/> + <polygon id="Fill-41" class="st8" points="51.284,57.977 49.292,56.781 49.292,54.456 51.284,55.651 "/> + <polygon id="Fill-43" class="st8" points="47.571,52.213 45.575,51.014 45.575,48.69 47.571,49.887 "/> + <polygon id="Fill-45" class="st8" points="47.525,55.717 45.534,54.521 45.534,52.197 47.525,53.391 "/> + <polygon id="Fill-47" class="st8" points="48.853,4.718 43.448,1.455 38.555,4.168 43.826,7.349 43.038,7.786 37.767,4.606 + 32.802,7.358 38.343,10.701 37.554,11.139 31.116,7.253 43.339,0.477 49.642,4.281 "/> + <path id="Fill-49" class="st8" d="M48.447,8.395l2.134,1.288l-0.699,0.388l-2.134-1.288l-4.785,2.652 + c-1.38,0.766-1.866,1.054-0.747,1.729c0.458,0.276,0.783,0.389,1.782,0.62l-0.824,0.457c-0.243-0.042-0.585-0.147-0.962-0.271 + c-0.361-0.134-0.754-0.288-1.026-0.452c-0.847-0.512-1.26-1.342-0.041-2.018l5.789-3.209l-2.05-1.237l0.699-0.388l2.051,1.238 + l1.917-1.064l1.311-0.079l0.255,0.154L48.447,8.395z"/> + <path id="Fill-51" class="st8" d="M51.186,11.667l0.035,0.021c1.841-0.197,2.966-0.015,4.067,0.649 + c1.627,0.982,1.7,2.334-0.452,3.526l-4.928,2.733l-0.813-0.491l4.589-2.543c1.738-0.964,2.167-1.91,0.71-2.789 + c-1.118-0.674-2.369-0.766-4.211-0.549l-5.646,3.13l-0.814-0.492l12.224-6.776l0.813,0.491L51.186,11.667z"/> + <path id="Fill-53" class="st8" d="M62.119,20.155c1.289-1.048,1.246-1.967-0.059-2.754c-1.253-0.757-3.114-0.863-4.872-0.222 + L62.119,20.155z M56.388,17.506c-2.299,0.999-2.333,2.804-0.605,3.847c1.017,0.614,2.205,0.916,4.029,1.042l-0.967,0.536 + c-1.633-0.134-2.906-0.508-4.007-1.172c-2.202-1.33-2.002-3.285,0.488-4.666c2.366-1.312,5.562-1.375,7.577-0.159 + c1.627,0.982,2.171,2.7-0.517,4.192L56.388,17.506z"/> + <path id="Fill-55" class="st8" d="M70.596,23.612c-0.03-0.827-0.188-1.172-0.611-1.428c-0.746-0.45-2.435-0.514-4.752-0.191 + l-5.055,2.803l-0.812-0.492l8.047-4.461l0.813,0.491l-2.115,1.173l0.034,0.02c2.404-0.293,4.089-0.168,4.936,0.344 + c0.526,0.317,0.748,0.742,0.795,1.58L70.596,23.612z"/> + <path id="Fill-57" class="st8" d="M85.199,29.811c-0.721-1.307-1.768-2.375-3.191-3.234c-3.135-1.892-6.279-1.424-8.089-0.42 + c-2.169,1.202-1.993,2.967,0.396,4.41c0.711,0.43,1.139,0.604,2.345,0.918l1.434-0.795l-1.678-1.013l2.24-1.242l4.558,2.751 + l-5,2.772c-1.815,0.005-4.648-0.896-6.512-2.021c-4.033-2.434-4.298-5.604-0.642-7.63c3.729-2.066,9.138-1.769,13.256,0.716 + c1.728,1.043,2.993,2.284,3.553,3.308L85.199,29.811z"/> + <path id="Fill-59" class="st8" d="M89.096,33.906l1.524,0.921c0.797,0.48,1.935,0.753,2.975,0.177 + c0.914-0.507,0.82-1.104-0.264-1.758l-1.457-0.88L89.096,33.906z M96.402,32.506c2.372,1.431,2.093,3.214,0.265,4.227 + c-1.344,0.745-3.008,0.903-4.975,0.463c0.559,1.064-0.59,2.113-2.549,5.082l-3.169-1.912c1.381-2.197,3.27-3.775,1.712-4.716 + l-0.83-0.502l-4.965,2.753l-2.881-1.738l12.224-6.777L96.402,32.506z"/> + <polygon id="Fill-61" class="st8" points="93.209,44.732 90.329,42.994 102.553,36.217 105.433,37.956 "/> + <path id="Fill-63" class="st8" d="M100.716,46.67l1.881,1.136c2.896,1.748,5.841,1.118,7.634,0.124 + c2.096-1.162,2.802-2.791,0.075-4.438l-1.847-1.115L100.716,46.67z M112.92,42.476c4.219,2.546,3.61,5.395,0.258,7.253 + c-3.513,1.948-8.195,2.11-12.804-0.671l-4.778-2.884l12.224-6.776L112.92,42.476z"/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/POE_DVS_Camera.svg b/src/main/webapp/img/lib/allied_telesys/security/POE_DVS_Camera.svg new file mode 100644 index 0000000000000000000000000000000000000000..3f2106545868bbf60024598de3a60125465736f4 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/POE_DVS_Camera.svg @@ -0,0 +1,301 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 84.724 66.274" style="enable-background:new 0 0 84.724 66.274;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#A6A8AB;} + .st2{fill:#808184;} + .st3{fill:#90989E;} + .st4{fill:#8C9499;} + .st5{fill:#8E969C;} + .st6{fill:#B3B5B7;} + .st7{fill:#939BA0;} + .st8{fill:#231F20;} + .st9{fill:#B1B7BC;} + .st10{fill:#C8CDD0;} + .st11{fill:#939597;} + .st12{fill:#6C6E70;} + .st13{fill:#898B8E;} + .st14{fill:none;stroke:#BABCBC;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st15{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st16{fill:#FEFEFE;} + .st17{fill:none;stroke:#636466;stroke-width:3;} + .st18{fill:none;stroke:#636466;stroke-width:2;} + .st19{fill:#BBBDBF;} + .st20{fill:#D0D2D3;} + .st21{fill:#626466;} + .st22{fill:#E5E6E7;} + .st23{fill:#999B9D;} + .st24{fill:#E1E2E3;} +</style> +<title>icon-POE-camera</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-59.000000, -214.000000)"> + <g id="icon-POE-camera" transform="translate(60.000000, 215.000000)"> + <g id="Group-10" transform="translate(60.000000, 0.274200)"> + <g id="Group-3"> + <g id="Clip-2"> + </g> + <path id="Stroke-1" class="st0" d="M0.808,0.93c0.691-0.368,1.365-0.586,1.994-0.669"/> + </g> + <g id="Group-6"> + <g id="Clip-5"> + </g> + <path id="Stroke-4" class="st0" d="M2.802,0.261c0.572-0.073,1.109-0.032,1.594,0.111l14.386,8.521"/> + </g> + <g id="Group-9"> + <g id="Clip-8"> + </g> + <path id="Stroke-7" class="st0" d="M18.783,8.893L4.396,0.372C4.656,0.45,4.9,0.556,5.129,0.692l14.386,8.52 + C19.287,9.076,19.043,8.97,18.783,8.893"/> + </g> + </g> + <g id="Group-21" transform="translate(7.000000, 0.274200)"> + <path id="Stroke-11" class="st0" d="M53.808,0.93c1.654-0.88,3.191-0.908,4.32-0.238l14.387,8.52 + c-1.129-0.67-2.666-0.642-4.32,0.238"/> + <path id="Stroke-13" class="st0" d="M17.105,63.036l-14.386-8.52c-0.353-0.21-0.668-0.488-0.931-0.83l14.385,8.52 + C16.439,62.548,16.753,62.825,17.105,63.036"/> + <path id="Stroke-15" class="st0" d="M16.174,62.206l-14.386-8.52c-0.277-0.358-0.5-0.787-0.658-1.281l14.386,8.52 + C15.676,61.419,15.899,61.848,16.174,62.206"/> + <path id="Stroke-17" class="st0" d="M1.13,52.405c-0.137-0.422-0.225-0.891-0.26-1.404"/> + <path id="Stroke-19" class="st0" d="M0.87,51.001c0-0.021-0.002-0.044-0.002-0.066"/> + </g> + <path id="Stroke-22" class="st0" d="M7.868,51.209L7.022,36.424"/> + <path id="Stroke-23" class="st0" d="M12.456,26.914L60.809,1.205"/> + <g id="Group-43" transform="translate(7.000000, 26.274200)"> + <g id="Group-27"> + <g id="Clip-26"> + </g> + <path id="Stroke-25" class="st0" d="M0.022,10.15c-0.021-0.41-0.01-0.83,0.033-1.252"/> + </g> + <g id="Group-30"> + <g id="Clip-29"> + </g> + <path id="Stroke-28" class="st0" d="M0.055,8.898c0.033-0.324,0.086-0.651,0.156-0.979"/> + </g> + <g id="Group-33"> + <g id="Clip-32"> + </g> + <path id="Stroke-31" class="st0" d="M0.212,7.919c0.096-0.445,0.223-0.892,0.383-1.332"/> + </g> + <g id="Group-36"> + <g id="Clip-35"> + </g> + <path id="Stroke-34" class="st0" d="M0.594,6.587C1,5.443,1.606,4.337,2.352,3.36"/> + </g> + <g id="Group-39"> + <g id="Clip-38"> + </g> + <path id="Stroke-37" class="st0" d="M2.352,3.361c0.709-0.926,1.545-1.734,2.461-2.338"/> + </g> + <g id="Group-42"> + <g id="Clip-41"> + </g> + <path id="Stroke-40" class="st0" d="M4.813,1.023C5.022,0.885,5.237,0.755,5.456,0.64"/> + </g> + </g> + <g id="Group-48" transform="translate(7.000000, 8.274200)"> + <path id="Stroke-44" class="st0" d="M0.022,28.15c-0.201-3.551,2.23-7.807,5.434-9.51"/> + <path id="Stroke-46" class="st0" d="M68.195,1.45c3.201-1.703,5.971-0.211,6.174,3.339l0.844,14.785 + c0.201,3.55-2.237,7.809-5.442,9.513L21.422,54.796c-3.206,1.704-5.965,0.208-6.168-3.342"/> + </g> + <g id="Group-58" transform="translate(60.000000, 0.274200)"> + <g id="Group-51"> + <g id="Clip-50"> + </g> + <path id="Fill-49" class="st1" d="M15.195,9.448L0.808,0.929C1.5,0.561,2.174,0.342,2.802,0.261l14.387,8.52 + C16.56,8.862,15.886,9.081,15.195,9.448"/> + </g> + <g id="Group-54"> + <g id="Clip-53"> + </g> + <path id="Fill-52" class="st2" d="M17.189,8.782L2.802,0.261c0.573-0.073,1.11-0.033,1.594,0.111l14.387,8.52 + C18.298,8.748,17.761,8.707,17.189,8.782"/> + </g> + <g id="Group-57"> + <g id="Clip-56"> + </g> + <path id="Fill-55" class="st3" d="M18.783,8.892L4.396,0.371c0.26,0.078,0.504,0.184,0.733,0.32l14.386,8.52 + C19.287,9.075,19.043,8.968,18.783,8.892"/> + </g> + </g> + <g id="Group-71" transform="translate(7.000000, 50.274200)"> + <g id="Group-61"> + <g id="Clip-60"> + </g> + <path id="Fill-59" class="st4" d="M17.105,13.034L2.719,4.514c-0.353-0.21-0.668-0.487-0.931-0.829l14.385,8.519 + C16.439,12.547,16.753,12.824,17.105,13.034"/> + </g> + <g id="Group-64"> + <g id="Clip-63"> + </g> + <path id="Fill-62" class="st5" d="M16.174,12.204L1.788,3.685c-0.277-0.358-0.5-0.788-0.658-1.28l14.386,8.52 + C15.676,11.419,15.899,11.847,16.174,12.204"/> + </g> + <g id="Group-67"> + <g id="Clip-66"> + </g> + <path id="Fill-65" class="st6" d="M15.515,10.925L1.129,2.405C0.993,1.984,0.905,1.515,0.869,1l14.388,8.521 + C15.292,10.034,15.38,10.505,15.515,10.925"/> + </g> + <g id="Group-70"> + <g id="Clip-69"> + </g> + <path id="Fill-68" class="st7" d="M15.258,9.521L0.87,1c0-0.02-0.002-0.043-0.002-0.065l14.386,8.52 + C15.256,9.476,15.258,9.5,15.258,9.521"/> + </g> + </g> + <polygon id="Fill-72" class="st6" points="22.254,59.728 7.868,51.208 7.023,36.422 21.41,44.942 "/> + <polygon id="Fill-73" class="st8" points="26.844,35.433 12.456,26.913 60.809,1.204 75.196,9.723 "/> + <g id="Group-92" transform="translate(7.000000, 26.274200)"> + <g id="Group-76"> + <g id="Clip-75"> + </g> + <path id="Fill-74" class="st6" d="M14.41,18.668l-14.388-8.52c-0.021-0.41-0.009-0.83,0.034-1.252l14.387,8.519 + C14.398,17.839,14.387,18.259,14.41,18.668"/> + </g> + <g id="Group-79"> + <g id="Clip-78"> + </g> + <path id="Fill-77" class="st9" d="M14.443,17.415L0.055,8.895c0.034-0.324,0.086-0.65,0.157-0.976l14.387,8.517 + C14.529,16.765,14.474,17.091,14.443,17.415"/> + </g> + <g id="Group-82"> + <g id="Clip-81"> + </g> + <path id="Fill-80" class="st1" d="M14.599,16.437L0.211,7.919c0.096-0.445,0.223-0.892,0.383-1.333l14.388,8.52 + C14.824,15.546,14.693,15.994,14.599,16.437"/> + </g> + <g id="Group-85"> + <g id="Clip-84"> + </g> + <path id="Fill-83" class="st10" d="M14.982,15.106L0.594,6.586C1.001,5.443,1.606,4.335,2.352,3.36l14.388,8.52 + C15.992,12.855,15.388,13.962,14.982,15.106"/> + </g> + <g id="Group-88"> + <g id="Clip-87"> + </g> + <path id="Fill-86" class="st11" d="M16.74,11.88L2.352,3.359c0.709-0.926,1.545-1.734,2.461-2.336l14.386,8.519 + C18.285,10.146,17.447,10.952,16.74,11.88"/> + </g> + <g id="Group-91"> + <g id="Clip-90"> + </g> + <path id="Fill-89" class="st12" d="M19.199,9.542L4.813,1.022c0.209-0.138,0.424-0.268,0.643-0.383l14.388,8.519 + C19.625,9.273,19.41,9.403,19.199,9.542"/> + </g> + </g> + <g id="Group-244" transform="translate(0.000000, 8.274200)"> + <path id="Fill-93" class="st13" d="M75.195,1.448c3.201-1.703,5.971-0.211,6.174,3.339l0.844,14.785 + c0.201,3.552-2.237,7.81-5.442,9.515L28.422,54.794c-3.206,1.705-5.965,0.209-6.168-3.34L21.41,36.668 + c-0.201-3.55,2.23-7.808,5.433-9.51L75.195,1.448z"/> + <path id="Stroke-95" class="st14" d="M25.263,55.632c-1.51-0.248-2.623-1.422-2.934-3.305"/> + <path id="Stroke-97" class="st14" d="M78.738,1.06c0.689,0.195,1.277,0.596,1.725,1.182"/> + <path id="Stroke-99" class="st15" d="M22.33,52.327c-0.035-0.221-0.061-0.451-0.076-0.691L21.41,36.85 + c-0.201-3.55,2.231-7.807,5.434-9.51L75.195,1.63c1.301-0.691,2.53-0.857,3.543-0.571"/> + <path id="Fill-101" class="st16" d="M36.476,35.153l-3.037,1.639v-2.389c0-0.694-0.031-1.112-0.097-1.248 + c-0.065-0.138-0.209-0.146-0.429-0.026c-0.251,0.134-0.41,0.325-0.476,0.57c-0.069,0.247-0.102,0.718-0.102,1.414v6.385 + c0,0.667,0.033,1.084,0.102,1.252c0.066,0.167,0.219,0.188,0.454,0.06c0.226-0.121,0.374-0.303,0.443-0.546 + c0.07-0.241,0.105-0.739,0.105-1.494v-1.727l3.037-1.64v0.536c0,1.423-0.086,2.478-0.257,3.165 + c-0.17,0.688-0.547,1.413-1.132,2.175c-0.585,0.764-1.304,1.377-2.16,1.838c-0.888,0.48-1.624,0.688-2.2,0.619 + c-0.577-0.068-0.96-0.386-1.147-0.956c-0.189-0.567-0.281-1.527-0.281-2.875v-4.016c0-0.99,0.029-1.749,0.086-2.276 + c0.058-0.525,0.23-1.094,0.516-1.708c0.286-0.614,0.682-1.188,1.189-1.725c0.508-0.536,1.091-0.983,1.749-1.339 + c0.896-0.482,1.634-0.678,2.215-0.585c0.583,0.093,0.965,0.394,1.148,0.903c0.183,0.508,0.274,1.406,0.274,2.688 + C36.476,33.847,36.476,35.153,36.476,35.153z"/> + <path id="Fill-103" class="st16" d="M41.206,35.452c-0.154-1.475-0.309-3.316-0.463-5.523c-0.308,2.799-0.504,4.828-0.583,6.087 + L41.206,35.452z M42.815,25.744l1.736,12.808l-3.103,1.676l-0.162-2.382l-1.087,0.586l-0.183,2.569l-3.139,1.695l1.549-14.582 + L42.815,25.744z"/> + <path id="Fill-105" class="st16" d="M54.438,19.471v13.745l-2.655,1.434l-0.003-9.279l-1.058,9.851l-1.883,1.017l-1.115-8.467 + l-0.002,9.071l-2.655,1.432V24.529l3.93-2.121c0.117,0.763,0.237,1.672,0.36,2.728l0.431,3.262l0.699-6.795L54.438,19.471z"/> + <polygon id="Fill-107" class="st16" points="55.657,18.811 60.721,16.078 60.721,18.829 58.694,19.923 58.694,22.53 + 60.593,21.506 60.593,24.121 58.694,25.145 58.694,28.167 60.923,26.964 60.923,29.715 55.657,32.558 "/> + <path id="Fill-109" class="st16" d="M64.834,16.211v3.057c0.341-0.185,0.58-0.369,0.719-0.554 + c0.135-0.185,0.205-0.579,0.205-1.185v-0.755c0-0.436-0.068-0.687-0.199-0.751C65.426,15.959,65.185,16.022,64.834,16.211z + M61.797,15.498l2.149-1.16c1.433-0.773,2.404-1.232,2.911-1.376s0.921-0.034,1.24,0.327c0.32,0.363,0.48,1.13,0.48,2.301 + c0,1.07-0.112,1.851-0.338,2.341c-0.227,0.489-0.671,0.948-1.335,1.382c0.601-0.15,1.005-0.133,1.211,0.05 + c0.207,0.183,0.337,0.385,0.387,0.602c0.05,0.22,0.075,0.884,0.075,1.993v3.627l-2.819,1.522v-4.568 + c0-0.736-0.05-1.166-0.149-1.287c-0.099-0.124-0.357-0.07-0.775,0.155v6.198l-3.037,1.639V15.498z"/> + <path id="Fill-111" class="st16" d="M73.393,18.076c-0.153-1.475-0.308-3.315-0.462-5.524c-0.309,2.8-0.505,4.829-0.583,6.088 + L73.393,18.076z M75.002,8.368l1.738,12.809l-3.104,1.675l-0.163-2.382l-1.087,0.586l-0.181,2.569l-3.14,1.694l1.549-14.581 + L75.002,8.368z"/> + <path id="Stroke-113" class="st17" d="M14.286,49.795c-1.088,0.569-2.018,1.038-2.269,1.164 + c-0.376,0.188-1.722,0.815-2.985,0.302C1.923,48.377-0.247,39.256,0.716,36.37c0.234-0.702,0.63-1.779,1.341-2.448 + c0.405-0.382,2.79-1.642,4.563-2.547"/> + <path id="Stroke-115" class="st18" d="M2.022,33.972c0.406-0.382,2.791-1.642,4.563-2.547c1.041-0.531,1.869-0.94,1.965-0.979 + c0.65-0.264,1.761-0.566,3.668,0.071c1.072,0.358,3.556,2.08,5.065,4.629c1.322,2.233,2.816,4.863,2.549,9.256 + c-0.123,1.989-1.074,2.75-1.201,2.9c-0.324,0.38-2.571,1.599-4.379,2.543c-1.088,0.569-2.017,1.038-2.269,1.164 + c-0.375,0.188-1.723,0.815-2.984,0.302c-7.11-2.884-9.28-12.005-8.318-14.891C0.916,35.718,1.311,34.641,2.022,33.972z"/> + <g id="Group-235" transform="translate(0.000000, 30.000000)"> + <g id="Clip-166"> + </g> + <path id="Fill-165" class="st1" d="M2.652,3.572l5.832-3.095C9.065,0.169,9.742,0.04,10.487,0.11L4.655,3.205 + C3.91,3.135,3.233,3.264,2.652,3.572"/> + <g id="Clip-169"> + </g> + <path id="Fill-168" class="st19" d="M4.655,3.205l5.832-3.095c0.451,0.041,0.928,0.156,1.423,0.346L6.078,3.551 + C5.583,3.361,5.106,3.247,4.655,3.205"/> + <g id="Clip-172"> + </g> + <path id="Fill-171" class="st20" d="M6.078,3.551l5.832-3.095c0.388,0.149,0.788,0.346,1.196,0.591L7.274,4.142 + C6.866,3.897,6.467,3.7,6.078,3.551"/> + <path id="Fill-175" class="st21" d="M7.275,5.197c3.253,1.955,5.898,6.729,5.901,10.651s-2.637,5.52-5.891,3.566 + c-3.253-1.955-5.899-6.729-5.902-10.651C1.38,4.841,4.021,3.242,7.275,5.197"/> + <g id="Clip-206"> + </g> + <path id="Fill-205" class="st20" d="M7.274,4.143l5.832-3.095c0.059,0.035,0.117,0.072,0.176,0.108L7.45,4.251 + C7.391,4.215,7.333,4.179,7.274,4.143"/> + <g id="Clip-209"> + </g> + <path id="Fill-208" class="st22" d="M7.45,4.251l5.832-3.095c0.499,0.315,0.984,0.687,1.45,1.106L8.9,5.357 + C8.434,4.938,7.949,4.566,7.45,4.251"/> + <g id="Clip-212"> + </g> + <path id="Fill-211" class="st16" d="M8.9,5.358l5.832-3.095c0.484,0.435,0.948,0.921,1.386,1.447l-5.832,3.095 + C9.848,6.279,9.384,5.793,8.9,5.358"/> + <g id="Clip-215"> + </g> + <path id="Fill-214" class="st16" d="M10.286,6.804l5.832-3.095c1.111,1.335,2.051,2.924,2.713,4.578l-5.832,3.096 + C12.337,9.728,11.397,8.139,10.286,6.804"/> + <g id="Clip-218"> + </g> + <path id="Fill-217" class="st16" d="M12.999,11.383l5.832-3.095C19.049,8.83,19.236,9.38,19.39,9.93l-5.832,3.095 + C13.404,12.475,13.217,11.925,12.999,11.383"/> + <g id="Clip-221"> + </g> + <path id="Fill-220" class="st22" d="M13.557,13.025l5.832-3.095c0.17,0.604,0.299,1.209,0.382,1.806l-5.832,3.095 + C13.856,14.234,13.727,13.629,13.557,13.025"/> + <g id="Clip-224"> + </g> + <path id="Fill-223" class="st20" d="M13.939,14.831l5.832-3.095c0.073,0.523,0.112,1.039,0.112,1.543 + c0,0.057,0,0.115-0.001,0.172l-5.832,3.095c0.001-0.057,0.001-0.114,0.001-0.172C14.051,15.87,14.012,15.354,13.939,14.831"/> + <g id="Clip-227"> + </g> + <path id="Fill-226" class="st19" d="M14.051,16.546l5.832-3.095c-0.011,0.608-0.077,1.165-0.194,1.668l-5.832,3.095 + C13.974,17.711,14.04,17.154,14.051,16.546"/> + <g id="Clip-230"> + </g> + <path id="Fill-229" class="st1" d="M13.856,18.215l5.832-3.095c-0.317,1.362-1.005,2.327-1.942,2.824l-5.832,3.096 + C12.851,20.542,13.539,19.577,13.856,18.215"/> + <path id="Fill-233" class="st23" d="M7.285,19.414c3.254,1.955,5.895,0.356,5.892-3.566S10.528,7.152,7.275,5.197 + C4.021,3.243,1.381,4.841,1.384,8.763C1.387,12.685,4.032,17.459,7.285,19.414 M7.274,4.143 + c3.734,2.243,6.775,7.729,6.778,12.231c0.003,4.501-3.032,6.338-6.766,4.095c-3.733-2.243-6.768-7.727-6.772-12.228 + C0.512,3.74,3.541,1.899,7.274,4.143"/> + </g> + <path id="Fill-236" class="st24" d="M10.73,40.974c1.321,2.831,1.007,5.773-0.704,6.571c-1.71,0.8-4.168-0.847-5.489-3.679 + c-1.322-2.83-1.007-5.773,0.704-6.572S9.409,38.142,10.73,40.974"/> + <path id="Fill-238" class="st16" d="M34.964,13.057l0.785-0.401c0.698-0.357,0.576-0.977-0.711-1.784 + c-1.234-0.773-2.284-1.04-3.167-0.589l-0.735,0.375L34.964,13.057z M27.501,10.388l3.088-1.578 + c1.79-0.915,4.291-0.044,6.179,1.139c2.611,1.636,2.677,2.946,1.009,3.797l-0.943,0.482l5.027,3.15l-1.765,0.902L27.501,10.388z + "/> + <path id="Fill-240" class="st16" d="M47.631,12.585c1.042-0.532-0.073-1.427-3.461-3.55c-3.368-2.11-4.846-2.841-5.889-2.309 + c-1.041,0.533,0.094,1.439,3.462,3.549C45.131,12.398,46.589,13.117,47.631,12.585 M36.412,5.555 + c2.648-1.352,5.696,0.18,9.525,2.579c3.827,2.398,6.211,4.271,3.564,5.623c-2.646,1.352-5.694-0.182-9.523-2.58 + C36.151,8.778,33.765,6.907,36.412,5.555"/> + <polygon id="Fill-242" class="st16" points="45.572,1.156 47.653,2.461 44.53,4.057 47.492,5.914 50.433,4.411 52.515,5.716 + 49.575,7.218 52.961,9.341 56.209,7.682 58.29,8.986 53.276,11.546 40.683,3.654 "/> + </g> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/POS.svg b/src/main/webapp/img/lib/allied_telesys/security/POS.svg new file mode 100644 index 0000000000000000000000000000000000000000..67d384885261fe6774734da7c2e67562cd07c182 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/POS.svg @@ -0,0 +1,389 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 113.141 119.688" style="enable-background:new 0 0 113.141 119.688;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#626366;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#9FA2A4;} + .st7{fill:#9D9FA2;} + .st8{fill:#A8AAAC;} + .st9{fill:#B2B4B7;} + .st10{fill:#939BA0;} + .st11{fill:#A4ACB1;} + .st12{fill:#8C9499;} + .st13{fill:#90989E;} + .st14{fill:#8E969C;} + .st15{fill:#FEFEFE;} + .st16{fill:#B8BDC1;} + .st17{fill:#E1E2E3;} + .st18{fill:#626466;} + .st19{fill:#ADAFB2;} + .st20{fill:#DDDEDF;} + .st21{fill:none;stroke:#626366;stroke-width:3;stroke-linejoin:round;} + .st22{fill:#626366;} + .st23{fill:#A9ABAE;} + .st24{fill:#D2D4D5;} + .st25{fill:#231F20;} + .st26{fill:none;stroke:#626366;stroke-linecap:round;} +</style> +<title>icon-POS</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="55.976,108.797 97.43,86.797 97.436,96.188 55.982,118.188 "/> +<polygon id="Stroke-3" class="st0" points="1.5,76.069 42.954,54.069 97.43,86.798 55.976,108.798 "/> +<polygon id="Stroke-5" class="st0" points="55.976,108.797 55.982,118.188 1.506,85.459 1.5,76.068 "/> +<polygon id="Stroke-7" class="st0" points="64.979,104.966 111.632,80.202 111.641,92.294 64.988,117.059 "/> +<polygon id="Stroke-9" class="st0" points="4.391,68.562 51.044,43.797 111.632,80.203 64.979,104.966 "/> +<polygon id="Stroke-11" class="st0" points="64.979,104.966 64.988,117.059 4.4,80.654 4.391,68.562 "/> +<polygon id="Fill-14" class="st1" points="65.034,105.018 111.687,80.254 111.696,92.346 65.043,117.111 "/> +<polygon id="Fill-15" class="st2" points="4.391,68.562 51.044,43.797 111.632,80.203 64.979,104.966 "/> +<polygon id="Fill-16" class="st3" points="64.979,104.966 64.988,117.059 4.4,80.654 4.391,68.562 "/> +<polyline id="Stroke-17" class="st4" points="4.631,68.901 64.727,105.01 64.731,116.528 "/> +<polyline id="Stroke-18" class="st5" points="6.673,73.213 62.172,106.561 62.106,115.927 "/> +<path id="Stroke-19" class="st0" d="M46.996,2.714l2.188-1.161c0.097-0.053,0.216-0.067,0.348-0.04l-2.187,1.161 + C47.214,2.647,47.095,2.661,46.996,2.714"/> +<path id="Stroke-22" class="st0" d="M47.345,2.674l2.187-1.161c0.094,0.019,0.196,0.06,0.301,0.124l-2.186,1.161 + C47.541,2.735,47.44,2.694,47.345,2.674"/> +<path id="Stroke-26" class="st0" d="M46.995,2.714l2.188-1.161c0.168-0.09,0.396-0.068,0.65,0.084l-2.187,1.161 + C47.393,2.645,47.165,2.624,46.995,2.714z"/> +<path id="Stroke-28" class="st0" d="M61.454,19.581l2.188-1.161c0,0.329-0.116,0.556-0.3,0.654l-2.187,1.16 + C61.34,20.137,61.454,19.909,61.454,19.581"/> +<path id="Stroke-31" class="st0" d="M63.341,19.074l-2.187,1.16c0.185-0.098,0.299-0.325,0.299-0.653l2.188-1.161 + C63.641,18.749,63.526,18.975,63.341,19.074z"/> +<polygon id="Stroke-33" class="st0" points="47.647,2.798 49.834,1.637 62.686,9.36 60.5,10.52 "/> +<polygon id="Stroke-36" class="st0" points="61.449,12.235 63.636,11.074 63.641,18.42 61.454,19.581 "/> +<path id="Stroke-37" class="st0" d="M60.499,10.52l2.187-1.16c0.013,0.008,0.027,0.016,0.04,0.025l-2.187,1.16 + C60.525,10.537,60.512,10.529,60.499,10.52"/> +<path id="Stroke-40" class="st0" d="M60.539,10.546l2.187-1.16c0.121,0.077,0.234,0.178,0.338,0.295l-2.187,1.161 + C60.772,10.725,60.659,10.624,60.539,10.546"/> +<path id="Stroke-43" class="st0" d="M60.877,10.841l2.187-1.161c0.064,0.072,0.126,0.151,0.181,0.234l-2.186,1.16 + C61.002,10.991,60.941,10.913,60.877,10.841"/> +<path id="Stroke-46" class="st0" d="M61.059,11.075l2.187-1.16c0.067,0.098,0.126,0.204,0.179,0.312l-2.187,1.161 + C61.186,11.279,61.125,11.175,61.059,11.075"/> +<path id="Stroke-49" class="st0" d="M61.238,11.388l2.188-1.161c0.13,0.274,0.209,0.572,0.209,0.847l-2.186,1.161 + C61.449,11.959,61.37,11.662,61.238,11.388"/> +<path id="Stroke-53" class="st0" d="M60.499,10.52l2.187-1.16c0.523,0.314,0.949,1.075,0.949,1.714l-2.187,1.161 + C61.447,11.596,61.022,10.834,60.499,10.52z"/> +<path id="Stroke-55" class="st0" d="M60.499,10.52c0.523,0.314,0.948,1.076,0.949,1.715l0.005,7.346 + c0.001,0.631-0.424,0.887-0.947,0.573l-12.853-7.723c-0.529-0.317-0.949-1.081-0.949-1.714l-0.006-7.344 + c0-0.64,0.419-0.893,0.948-0.575L60.499,10.52z"/> +<path id="Stroke-57" class="st0" d="M55.144,45.849c0.348,0.198,0.055,0.436-0.655,0.531c-0.71,0.096-1.568,0.013-1.916-0.185 + c-0.348-0.198-0.055-0.436,0.655-0.532C53.938,45.569,54.795,45.652,55.144,45.849z"/> +<path id="Stroke-81" class="st0" d="M52.487,13.407c0-0.146,0.295-0.287,0.802-0.355c0.71-0.096,1.567-0.013,1.916,0.185 + l-0.061,32.612c-0.348-0.197-1.206-0.28-1.916-0.185c-0.507,0.068-0.802,0.209-0.802,0.356 + C52.445,36.236,52.47,23.191,52.487,13.407z"/> +<path id="Fill-103" class="st6" d="M55.144,45.849c0.348,0.198,0.055,0.436-0.655,0.531c-0.71,0.096-1.568,0.013-1.916-0.185 + c-0.348-0.198-0.055-0.436,0.655-0.532C53.938,45.569,54.795,45.652,55.144,45.849"/> +<path id="Fill-125" class="st7" d="M52.426,46.02l0.061-32.613c0,0.059,0.046,0.119,0.146,0.175c0.179,0.102,0.491,0.173,0.85,0.206 + L53.422,46.4c-0.358-0.032-0.671-0.104-0.85-0.205C52.473,46.138,52.426,46.079,52.426,46.02"/> +<path id="Fill-128" class="st8" d="M53.422,46.4l0.061-32.612c0.224,0.02,0.466,0.025,0.705,0.012l-0.061,32.614 + C53.889,46.425,53.647,46.421,53.422,46.4"/> +<path id="Fill-131" class="st9" d="M54.127,46.414l0.061-32.613c0.122-0.006,0.244-0.017,0.361-0.033 + c0.099-0.013,0.192-0.03,0.274-0.048l-0.06,32.612c-0.082,0.019-0.175,0.035-0.275,0.049C54.371,46.396,54.249,46.407,54.127,46.414 + "/> +<path id="Fill-134" class="st8" d="M54.763,46.332l0.061-32.612c0.231-0.052,0.393-0.122,0.472-0.2l-0.06,32.614 + C55.157,46.21,54.994,46.28,54.763,46.332"/> +<path id="Fill-137" class="st7" d="M55.236,46.133l0.061-32.613c0.036-0.034,0.054-0.072,0.054-0.109l-0.06,32.614 + C55.291,46.061,55.272,46.098,55.236,46.133"/> +<path id="Fill-143" class="st10" d="M46.996,2.714l2.188-1.161c0.097-0.053,0.216-0.067,0.348-0.04l-2.187,1.161 + C47.214,2.647,47.095,2.661,46.996,2.714"/> +<path id="Fill-146" class="st11" d="M47.345,2.674l2.187-1.161c0.094,0.019,0.196,0.06,0.301,0.124l-2.186,1.161 + C47.541,2.735,47.44,2.694,47.345,2.674"/> +<path id="Fill-150" class="st12" d="M61.454,19.581l2.188-1.161c0,0.329-0.116,0.556-0.3,0.654l-2.187,1.16 + C61.34,20.137,61.454,19.909,61.454,19.581"/> +<polygon id="Fill-153" class="st2" points="47.647,2.798 49.834,1.637 62.686,9.36 60.5,10.52 "/> +<polygon id="Fill-154" class="st1" points="61.449,12.235 63.636,11.074 63.641,18.42 61.454,19.581 "/> +<path id="Fill-155" class="st11" d="M60.499,10.52l2.187-1.16c0.013,0.008,0.027,0.016,0.04,0.025l-2.187,1.16 + C60.525,10.537,60.512,10.529,60.499,10.52"/> +<path id="Fill-158" class="st10" d="M60.539,10.546l2.187-1.16c0.121,0.077,0.234,0.178,0.338,0.295l-2.187,1.161 + C60.772,10.725,60.659,10.624,60.539,10.546"/> +<path id="Fill-161" class="st13" d="M60.877,10.841l2.187-1.161c0.064,0.072,0.126,0.151,0.181,0.234l-2.186,1.16 + C61.002,10.991,60.941,10.913,60.877,10.841"/> +<path id="Fill-164" class="st14" d="M61.059,11.075l2.187-1.16c0.067,0.098,0.126,0.204,0.179,0.312l-2.187,1.161 + C61.186,11.279,61.125,11.175,61.059,11.075"/> +<path id="Fill-167" class="st1" d="M61.238,11.388l2.188-1.161c0.13,0.274,0.209,0.572,0.209,0.847l-2.186,1.161 + C61.449,11.959,61.37,11.662,61.238,11.388"/> +<path id="Fill-171" class="st3" d="M60.499,10.52c0.523,0.314,0.948,1.076,0.949,1.715l0.005,7.346 + c0.001,0.631-0.424,0.887-0.947,0.573l-12.853-7.723c-0.529-0.317-0.949-1.081-0.949-1.714l-0.006-7.344 + c0-0.64,0.419-0.893,0.948-0.575L60.499,10.52z"/> +<path id="Fill-173" class="st15" d="M59.119,10.595c0.413,0.249,0.751,0.85,0.752,1.354l0.003,5.81c0,0.501-0.336,0.703-0.751,0.455 + l-10.169-6.11c-0.413-0.25-0.748-0.857-0.75-1.355L48.202,4.94c-0.001-0.505,0.334-0.702,0.749-0.455L59.119,10.595z"/> +<path id="Stroke-176" class="st0" d="M60.368,48.691l-12.562-7.439c0.005-0.003,0.011-0.006,0.017-0.009l12.562,7.439 + C60.379,48.684,60.373,48.687,60.368,48.691"/> +<path id="Stroke-179" class="st0" d="M60.384,48.682l-12.562-7.439c0.248-0.126,0.476-0.128,0.645-0.028l12.562,7.439 + C60.86,48.553,60.631,48.555,60.384,48.682"/> +<path id="Stroke-183" class="st0" d="M48.467,41.215l12.562,7.438c-0.173-0.102-0.409-0.098-0.662,0.038l-12.561-7.44 + C48.059,41.116,48.294,41.112,48.467,41.215z"/> +<path id="Stroke-185" class="st0" d="M45.019,66.832l-12.562-7.438c-0.162-0.097-0.269-0.288-0.285-0.552l12.562,7.438 + C44.749,66.545,44.857,66.735,45.019,66.832"/> +<path id="Stroke-188" class="st0" d="M45.019,66.832l-12.562-7.438c-0.162-0.097-0.269-0.288-0.285-0.552l12.562,7.438 + C44.749,66.545,44.857,66.735,45.019,66.832z"/> +<polygon id="Stroke-190" class="st0" points="44.734,66.28 32.172,58.842 31.715,50.823 44.276,58.261 "/> +<polygon id="Stroke-192" class="st0" points="45.103,56.807 32.541,49.368 47.806,41.251 60.368,48.691 "/> +<path id="Stroke-195" class="st0" d="M44.276,58.261l-12.561-7.438c-0.002-0.027-0.002-0.053-0.002-0.08l12.562,7.439 + C44.274,58.208,44.275,58.235,44.276,58.261"/> +<path id="Stroke-198" class="st0" d="M44.275,58.182l-12.562-7.438c0.007-0.529,0.367-1.13,0.829-1.376l12.561,7.439 + C44.641,57.052,44.281,57.655,44.275,58.182"/> +<path id="Stroke-202" class="st0" d="M44.276,58.261l-12.561-7.438c-0.031-0.546,0.341-1.198,0.827-1.456l12.561,7.44 + C44.618,57.065,44.246,57.716,44.276,58.261z"/> +<path id="Stroke-204" class="st0" d="M60.368,48.691c0.491-0.262,0.914-0.033,0.945,0.512l0.457,8.018 + c0.032,0.546-0.34,1.199-0.833,1.459l-15.263,8.116c-0.486,0.258-0.909,0.029-0.94-0.516l-0.458-8.019 + c-0.03-0.545,0.342-1.196,0.827-1.454L60.368,48.691z"/> +<path id="Fill-207" class="st16" d="M60.368,48.692l-12.562-7.439c0.005-0.003,0.011-0.006,0.017-0.009l12.562,7.439 + C60.379,48.685,60.373,48.688,60.368,48.692"/> +<path id="Fill-210" class="st10" d="M60.384,48.683l-12.562-7.439c0.248-0.126,0.476-0.128,0.645-0.028l12.562,7.439 + C60.86,48.554,60.631,48.556,60.384,48.683"/> +<path id="Fill-214" class="st10" d="M45.019,66.833l-12.562-7.438c-0.162-0.097-0.269-0.288-0.285-0.552l12.562,7.438 + C44.749,66.546,44.857,66.736,45.019,66.833"/> +<polygon id="Fill-217" class="st3" points="44.734,66.281 32.172,58.843 31.715,50.824 44.276,58.262 "/> +<polygon id="Fill-219" class="st2" points="45.103,56.808 32.541,49.369 47.806,41.252 60.368,48.692 "/> +<path id="Fill-222" class="st10" d="M44.276,58.262l-12.561-7.438c-0.002-0.027-0.002-0.053-0.002-0.08l12.562,7.439 + C44.274,58.209,44.275,58.236,44.276,58.262"/> +<path id="Fill-225" class="st17" d="M44.275,58.183l-12.562-7.438c0.007-0.529,0.367-1.13,0.829-1.376l12.561,7.439 + C44.641,57.053,44.281,57.656,44.275,58.183"/> +<path id="Fill-229" class="st1" d="M60.368,48.692c0.491-0.262,0.914-0.033,0.945,0.512l0.457,8.018 + c0.032,0.546-0.34,1.199-0.833,1.459l-15.263,8.116c-0.486,0.258-0.909,0.029-0.94-0.516l-0.458-8.019 + c-0.03-0.545,0.342-1.196,0.827-1.454L60.368,48.692z"/> +<polygon id="Fill-231" class="st18" points="36.413,48.334 37.717,47.642 48.487,54.114 47.184,54.806 "/> +<polygon id="Fill-233" class="st19" points="48.175,50.647 48.93,50.52 48.112,53.965 47.357,54.092 "/> +<polygon id="Fill-235" class="st20" points="38.538,44.809 39.293,44.682 48.931,50.52 48.175,50.647 "/> +<polygon id="Fill-237" class="st15" points="48.175,50.647 47.357,54.092 37.719,48.254 38.537,44.809 "/> +<polygon id="Stroke-239" class="st21" points="93.767,46.707 100.415,43.179 100.437,77.269 93.789,80.797 "/> +<polygon id="Stroke-241" class="st21" points="59.98,26.406 66.629,22.878 100.416,43.178 93.767,46.707 "/> +<polygon id="Stroke-243" class="st21" points="93.767,46.707 93.789,80.797 60.004,60.498 59.98,26.406 "/> +<polygon id="Fill-245" class="st22" points="81.901,69.909 83.972,68.809 83.975,77.737 81.904,78.837 "/> +<polygon id="Fill-249" class="st22" points="81.901,69.909 81.904,78.837 68.719,70.913 68.714,61.986 "/> +<polygon id="Fill-251" class="st1" points="93.767,46.707 100.415,43.179 100.437,77.269 93.789,80.797 "/> +<polygon id="Fill-253" class="st2" points="59.98,26.406 66.629,22.878 100.416,43.178 93.767,46.707 "/> +<polygon id="Fill-255" class="st3" points="93.767,46.707 93.789,80.797 60.004,60.498 59.98,26.406 "/> +<polygon id="Fill-257" class="st15" points="90.677,73.692 62.878,56.987 62.878,32.347 90.677,49.051 "/> +<polygon id="Stroke-259" class="st5" points="90.677,73.692 62.878,56.987 62.878,32.347 90.677,49.051 "/> +<polyline id="Stroke-261" class="st4" points="60.416,26.724 93.605,46.666 93.605,80.247 "/> +<path id="Fill-263" class="st22" d="M92.149,77.109c0,0.592-0.478,0.785-1.065,0.431c-0.583-0.35-1.061-1.118-1.061-1.709 + c0-0.586,0.478-0.77,1.061-0.419C91.671,75.764,92.149,76.52,92.149,77.109"/> +<polyline id="Stroke-265" class="st4" points="16.849,68.164 60.705,94.518 60.708,96.444 "/> +<polygon id="Fill-268" class="st1" points="56.002,109.913 98.284,87.473 98.29,95.985 56.008,118.425 "/> +<polygon id="Fill-271" class="st23" points="0.439,76.53 42.721,54.091 98.285,87.472 56.002,109.913 "/> +<polygon id="Fill-274" class="st3" points="56.002,109.913 56.008,118.425 0.444,85.043 0.439,76.53 "/> +<polygon id="Fill-277" class="st22" points="2.447,76.562 43.083,54.997 96.481,87.079 55.846,108.645 "/> +<polygon id="Fill-280" class="st23" points="44.71,102.397 59.288,94.659 60.293,95.262 45.714,103.001 "/> +<polygon id="Fill-283" class="st23" points="33.492,96.056 48.07,88.318 49.075,88.921 34.496,96.66 "/> +<polygon id="Fill-286" class="st23" points="23.059,89.457 37.637,81.719 38.642,82.322 24.063,90.061 "/> +<polygon id="Fill-289" class="st23" points="11.492,82.556 26.07,74.818 27.075,75.421 12.496,83.16 "/> +<polygon id="Fill-292" class="st24" points="50.354,104.311 64.933,96.572 70.711,100.044 56.132,107.783 "/> +<polygon id="Fill-295" class="st24" points="39.521,97.881 54.1,90.142 59.878,93.614 45.299,101.353 "/> +<polygon id="Fill-298" class="st24" points="28.758,91.355 43.337,83.616 49.115,87.088 34.536,94.827 "/> +<polygon id="Fill-301" class="st24" points="17.954,84.925 32.533,77.186 38.311,80.658 23.732,88.397 "/> +<polyline id="Stroke-305" class="st4" points="1.423,76.512 55.852,109.217 55.856,117.813 "/> +<polygon id="Fill-307" class="st3" points="55.573,109.487 55.579,118.146 0.89,85.29 0.885,76.63 "/> +<path id="Fill-309" class="st24" d="M10.381,77.448c0,0.553-0.896,1-2,1s-2-0.447-2-1s0.896-1,2-1S10.381,76.895,10.381,77.448"/> +<path id="Fill-311" class="st24" d="M13.548,79.781c0,0.553-0.896,1-2,1s-2-0.447-2-1s0.896-1,2-1S13.548,79.228,13.548,79.781"/> +<path id="Fill-313" class="st24" d="M13.715,77.948c0,0.553-0.896,1-2,1s-2-0.447-2-1s0.896-1,2-1S13.715,77.395,13.715,77.948"/> +<path id="Stroke-315" class="st4" d="M44.643,57.112l0.483,9.208"/> +<polygon id="Stroke-317" class="st0" points="60.577,94.929 75.156,87.19 75.158,89.834 60.58,97.573 "/> +<polygon id="Stroke-319" class="st0" points="16.137,68.226 30.716,60.488 75.157,87.19 60.577,94.929 "/> +<polygon id="Stroke-321" class="st0" points="60.577,94.929 60.58,97.573 16.139,70.87 16.138,68.226 "/> +<polygon id="Fill-323" class="st1" points="60.577,94.929 75.156,87.19 75.158,89.834 60.58,97.573 "/> +<polygon id="Fill-325" class="st2" points="16.137,68.226 30.716,60.488 75.157,87.19 60.577,94.929 "/> +<polygon id="Fill-327" class="st3" points="60.577,94.929 60.58,97.573 16.139,70.87 16.138,68.226 "/> +<polygon id="Fill-329" class="st25" points="25.112,67.628 26.675,66.798 26.675,67.101 25.112,67.931 "/> +<polygon id="Fill-331" class="st15" points="23.765,66.818 25.327,65.988 26.675,66.797 25.112,67.628 "/> +<polygon id="Fill-333" class="st22" points="25.112,67.628 25.112,67.931 23.765,67.121 23.765,66.818 "/> +<polygon id="Fill-335" class="st25" points="27.107,68.826 28.669,67.996 28.669,68.3 27.107,69.129 "/> +<polygon id="Fill-337" class="st15" points="25.759,68.016 27.322,67.186 28.669,67.995 27.107,68.826 "/> +<polygon id="Fill-339" class="st22" points="27.107,68.826 27.107,69.129 25.759,68.319 25.759,68.016 "/> +<polygon id="Fill-341" class="st25" points="29.201,70.084 30.763,69.255 30.764,69.559 29.201,70.388 "/> +<polygon id="Fill-343" class="st15" points="27.853,69.274 29.416,68.445 30.763,69.254 29.201,70.084 "/> +<polygon id="Fill-345" class="st22" points="29.201,70.084 29.201,70.388 27.853,69.577 27.853,69.274 "/> +<polygon id="Fill-347" class="st25" points="31.203,71.288 32.764,70.457 32.764,70.76 31.203,71.589 "/> +<polygon id="Fill-349" class="st15" points="29.855,70.477 31.418,69.648 32.764,70.456 31.203,71.288 "/> +<polygon id="Fill-351" class="st22" points="31.203,71.288 31.203,71.589 29.854,70.781 29.854,70.477 "/> +<polygon id="Fill-353" class="st25" points="33.269,72.529 34.832,71.699 34.832,72.002 33.269,72.832 "/> +<polygon id="Fill-355" class="st15" points="31.921,71.718 33.484,70.889 34.832,71.698 33.269,72.529 "/> +<polygon id="Fill-357" class="st22" points="33.269,72.529 33.269,72.832 31.921,72.022 31.921,71.718 "/> +<polygon id="Fill-359" class="st25" points="35.271,73.731 36.834,72.902 36.834,73.205 35.271,74.035 "/> +<polygon id="Fill-361" class="st15" points="33.916,72.918 35.478,72.088 36.834,72.902 35.27,73.731 "/> +<polygon id="Fill-363" class="st22" points="35.271,73.731 35.271,74.035 33.917,73.22 33.917,72.918 "/> +<polygon id="Fill-365" class="st25" points="37.365,74.99 38.927,74.16 38.928,74.463 37.365,75.292 "/> +<polygon id="Fill-367" class="st15" points="36.016,74.179 37.58,73.35 38.927,74.159 37.365,74.99 "/> +<polygon id="Fill-369" class="st22" points="37.365,74.99 37.365,75.292 36.017,74.483 36.016,74.179 "/> +<polygon id="Fill-371" class="st25" points="39.359,76.187 40.922,75.358 40.922,75.662 39.359,76.491 "/> +<polygon id="Fill-373" class="st15" points="38.012,75.379 39.574,74.549 40.922,75.358 39.359,76.188 "/> +<polygon id="Fill-375" class="st22" points="39.359,76.187 39.359,76.491 38.012,75.68 38.012,75.378 "/> +<polygon id="Fill-377" class="st25" points="41.322,77.367 42.884,76.537 42.884,76.841 41.322,77.67 "/> +<polygon id="Fill-379" class="st15" points="39.974,76.558 41.536,75.727 42.884,76.537 41.322,77.367 "/> +<polygon id="Fill-381" class="st22" points="41.322,77.367 41.322,77.67 39.974,76.86 39.974,76.558 "/> +<polygon id="Fill-383" class="st25" points="43.316,78.566 44.879,77.736 44.879,78.038 43.316,78.869 "/> +<polygon id="Fill-385" class="st15" points="41.968,77.755 43.531,76.926 44.879,77.735 43.316,78.566 "/> +<polygon id="Fill-387" class="st22" points="43.316,78.566 43.316,78.869 41.968,78.059 41.968,77.755 "/> +<polygon id="Fill-389" class="st25" points="45.41,79.823 46.973,78.993 46.973,79.297 45.41,80.126 "/> +<polygon id="Fill-391" class="st15" points="44.062,79.014 45.625,78.185 46.973,78.993 45.41,79.823 "/> +<polygon id="Fill-393" class="st22" points="45.41,79.823 45.41,80.126 44.062,79.317 44.062,79.014 "/> +<polygon id="Fill-395" class="st25" points="47.411,81.026 48.974,80.197 48.974,80.5 47.411,81.329 "/> +<polygon id="Fill-397" class="st15" points="46.064,80.215 47.627,79.386 48.975,80.196 47.412,81.026 "/> +<polygon id="Fill-399" class="st22" points="47.411,81.026 47.411,81.329 46.063,80.519 46.063,80.215 "/> +<polygon id="Fill-401" class="st25" points="49.478,82.268 51.041,81.439 51.041,81.741 49.478,82.572 "/> +<polygon id="Fill-403" class="st15" points="48.13,81.459 49.693,80.629 51.041,81.439 49.478,82.269 "/> +<polygon id="Fill-405" class="st22" points="49.478,82.268 49.478,82.572 48.13,81.761 48.13,81.458 "/> +<polygon id="Fill-407" class="st25" points="51.434,83.443 52.996,82.614 52.997,82.916 51.434,83.747 "/> +<polygon id="Fill-409" class="st15" points="50.085,82.633 51.649,81.803 52.995,82.613 51.434,83.443 "/> +<polygon id="Fill-411" class="st22" points="51.434,83.443 51.434,83.747 50.086,82.936 50.085,82.633 "/> +<polygon id="Fill-413" class="st25" points="27.256,66.421 28.819,65.591 28.819,65.894 27.256,66.724 "/> +<polygon id="Fill-415" class="st15" points="25.909,65.612 27.472,64.782 28.82,65.591 27.257,66.422 "/> +<polygon id="Fill-417" class="st22" points="27.256,66.421 27.256,66.724 25.908,65.914 25.908,65.611 "/> +<polygon id="Fill-419" class="st25" points="29.25,67.62 30.813,66.79 30.813,67.094 29.25,67.923 "/> +<polygon id="Fill-421" class="st15" points="27.904,66.81 29.466,65.98 30.814,66.789 29.251,67.62 "/> +<polygon id="Fill-423" class="st22" points="29.25,67.62 29.25,67.923 27.903,67.113 27.903,66.81 "/> +<polygon id="Fill-425" class="st25" points="31.345,68.878 32.907,68.049 32.907,68.352 31.345,69.182 "/> +<polygon id="Fill-427" class="st15" points="29.998,68.068 31.559,67.239 32.907,68.048 31.346,68.878 "/> +<polygon id="Fill-429" class="st22" points="31.345,68.878 31.345,69.182 29.997,68.371 29.997,68.068 "/> +<polygon id="Fill-431" class="st25" points="33.346,70.082 34.908,69.251 34.909,69.554 33.346,70.383 "/> +<polygon id="Fill-433" class="st15" points="31.999,69.271 33.561,68.442 34.908,69.25 33.346,70.082 "/> +<polygon id="Fill-435" class="st22" points="33.346,70.082 33.346,70.383 31.999,69.575 31.999,69.271 "/> +<polygon id="Fill-437" class="st25" points="35.414,71.323 36.976,70.493 36.976,70.796 35.414,71.626 "/> +<polygon id="Fill-439" class="st15" points="34.066,70.512 35.629,69.683 36.976,70.492 35.414,71.323 "/> +<polygon id="Fill-441" class="st22" points="35.414,71.323 35.414,71.626 34.066,70.816 34.066,70.512 "/> +<polygon id="Fill-443" class="st25" points="37.415,72.525 38.977,71.696 38.977,71.999 37.415,72.829 "/> +<polygon id="Fill-445" class="st15" points="36.06,71.712 37.623,70.882 38.978,71.696 37.415,72.525 "/> +<polygon id="Fill-447" class="st22" points="37.415,72.525 37.415,72.829 36.06,72.014 36.06,71.712 "/> +<polygon id="Fill-449" class="st25" points="39.509,73.784 41.071,72.954 41.071,73.257 39.509,74.086 "/> +<polygon id="Fill-451" class="st15" points="38.161,72.973 39.725,72.144 41.071,72.953 39.51,73.784 "/> +<polygon id="Fill-453" class="st22" points="39.509,73.784 39.509,74.086 38.161,73.277 38.16,72.973 "/> +<polygon id="Fill-455" class="st25" points="41.503,74.981 43.066,74.152 43.066,74.456 41.503,75.285 "/> +<polygon id="Fill-457" class="st15" points="40.156,74.172 41.718,73.342 43.067,74.151 41.504,74.981 "/> +<polygon id="Fill-459" class="st22" points="41.503,74.981 41.503,75.285 40.155,74.474 40.155,74.172 "/> +<polygon id="Fill-461" class="st25" points="43.465,76.161 45.028,75.331 45.028,75.635 43.465,76.464 "/> +<polygon id="Fill-463" class="st15" points="42.118,75.352 43.681,74.521 45.029,75.331 43.466,76.161 "/> +<polygon id="Fill-465" class="st22" points="43.465,76.161 43.465,76.464 42.117,75.654 42.117,75.352 "/> +<polygon id="Fill-467" class="st25" points="45.46,77.36 47.022,76.53 47.022,76.832 45.46,77.663 "/> +<polygon id="Fill-469" class="st15" points="44.113,76.549 45.675,75.72 47.023,76.529 45.461,77.36 "/> +<polygon id="Fill-471" class="st22" points="45.46,77.36 45.46,77.663 44.112,76.853 44.112,76.549 "/> +<polygon id="Fill-473" class="st25" points="47.554,78.617 49.116,77.787 49.116,78.091 47.554,78.92 "/> +<polygon id="Fill-475" class="st15" points="46.207,77.808 47.77,76.979 49.117,77.787 47.555,78.617 "/> +<polygon id="Fill-477" class="st22" points="47.554,78.617 47.554,78.92 46.206,78.11 46.206,77.808 "/> +<polygon id="Fill-479" class="st25" points="49.556,79.82 51.118,78.991 51.118,79.294 49.556,80.123 "/> +<polygon id="Fill-481" class="st15" points="48.208,79.009 49.77,78.18 51.118,78.99 49.556,79.82 "/> +<polygon id="Fill-483" class="st22" points="49.556,79.82 49.556,80.123 48.208,79.313 48.208,79.009 "/> +<polygon id="Fill-485" class="st25" points="51.623,81.062 53.186,80.233 53.186,80.535 51.623,81.366 "/> +<polygon id="Fill-487" class="st15" points="50.275,80.253 51.838,79.423 53.186,80.233 51.623,81.063 "/> +<polygon id="Fill-489" class="st22" points="51.623,81.062 51.623,81.366 50.275,80.555 50.275,80.252 "/> +<polygon id="Fill-491" class="st25" points="53.578,82.237 55.14,81.407 55.14,81.71 53.578,82.54 "/> +<polygon id="Fill-493" class="st15" points="52.23,81.427 53.793,80.597 55.14,81.406 53.579,82.237 "/> +<polygon id="Fill-495" class="st22" points="53.578,82.237 53.578,82.54 52.23,81.73 52.229,81.427 "/> +<polygon id="Fill-497" class="st25" points="29.535,65.214 31.098,64.385 31.098,64.688 29.535,65.518 "/> +<polygon id="Fill-499" class="st15" points="28.187,64.406 29.75,63.576 31.098,64.385 29.535,65.215 "/> +<polygon id="Fill-501" class="st22" points="29.535,65.214 29.535,65.518 28.187,64.708 28.187,64.405 "/> +<polygon id="Fill-503" class="st25" points="31.529,66.414 33.092,65.584 33.092,65.888 31.529,66.717 "/> +<polygon id="Fill-505" class="st15" points="30.181,65.604 31.744,64.774 33.092,65.583 31.529,66.414 "/> +<polygon id="Fill-507" class="st22" points="31.529,66.414 31.529,66.717 30.181,65.907 30.181,65.604 "/> +<polygon id="Fill-509" class="st25" points="33.623,67.671 35.185,66.842 35.186,67.145 33.623,67.975 "/> +<polygon id="Fill-511" class="st15" points="32.276,66.862 33.838,66.033 35.185,66.842 33.623,67.672 "/> +<polygon id="Fill-513" class="st22" points="33.623,67.671 33.623,67.975 32.276,67.164 32.276,66.861 "/> +<polygon id="Fill-515" class="st25" points="35.624,68.876 37.186,68.045 37.187,68.348 35.624,69.177 "/> +<polygon id="Fill-517" class="st15" points="34.277,68.065 35.84,67.236 37.187,68.044 35.625,68.876 "/> +<polygon id="Fill-519" class="st22" points="35.624,68.876 35.624,69.177 34.276,68.369 34.276,68.065 "/> +<polygon id="Fill-521" class="st25" points="37.692,70.117 39.254,69.287 39.254,69.59 37.692,70.42 "/> +<polygon id="Fill-523" class="st15" points="36.344,69.306 37.906,68.477 39.254,69.286 37.692,70.117 "/> +<polygon id="Fill-525" class="st22" points="37.692,70.117 37.692,70.42 36.344,69.61 36.344,69.306 "/> +<polygon id="Fill-527" class="st25" points="39.693,71.319 41.256,70.49 41.256,70.793 39.693,71.623 "/> +<polygon id="Fill-529" class="st15" points="38.338,70.505 39.901,69.675 41.256,70.489 39.692,71.318 "/> +<polygon id="Fill-531" class="st22" points="39.693,71.319 39.693,71.623 38.339,70.808 38.339,70.506 "/> +<polygon id="Fill-533" class="st25" points="41.788,72.577 43.349,71.748 43.349,72.051 41.788,72.88 "/> +<polygon id="Fill-535" class="st15" points="40.439,71.767 42.003,70.938 43.349,71.747 41.788,72.577 "/> +<polygon id="Fill-537" class="st22" points="41.788,72.577 41.788,72.88 40.439,72.071 40.438,71.767 "/> +<polygon id="Fill-539" class="st25" points="43.782,73.775 45.345,72.946 45.345,73.25 43.782,74.079 "/> +<polygon id="Fill-541" class="st15" points="42.434,72.966 43.996,72.136 45.345,72.945 43.782,73.775 "/> +<polygon id="Fill-543" class="st22" points="43.782,73.775 43.782,74.079 42.434,73.268 42.434,72.966 "/> +<polygon id="Fill-545" class="st25" points="45.744,74.955 47.307,74.125 47.307,74.429 45.744,75.258 "/> +<polygon id="Fill-547" class="st15" points="44.396,74.145 45.959,73.315 47.307,74.124 45.744,74.955 "/> +<polygon id="Fill-549" class="st22" points="45.744,74.955 45.744,75.258 44.396,74.448 44.396,74.145 "/> +<polygon id="Fill-551" class="st25" points="47.738,76.154 49.301,75.324 49.301,75.626 47.738,76.457 "/> +<polygon id="Fill-553" class="st15" points="46.391,75.343 47.953,74.514 49.301,75.323 47.738,76.154 "/> +<polygon id="Fill-555" class="st22" points="47.738,76.154 47.738,76.457 46.391,75.647 46.391,75.343 "/> +<polygon id="Fill-557" class="st25" points="49.832,77.411 51.394,76.581 51.394,76.885 49.832,77.714 "/> +<polygon id="Fill-559" class="st15" points="48.485,76.602 50.048,75.772 51.395,76.581 49.833,77.411 "/> +<polygon id="Fill-561" class="st22" points="49.832,77.411 49.832,77.714 48.484,76.904 48.484,76.602 "/> +<polygon id="Fill-563" class="st25" points="51.833,78.614 53.396,77.785 53.396,78.088 51.833,78.917 "/> +<polygon id="Fill-565" class="st15" points="50.487,77.803 52.049,76.974 53.397,77.784 51.834,78.614 "/> +<polygon id="Fill-567" class="st22" points="51.833,78.614 51.833,78.917 50.486,78.107 50.486,77.803 "/> +<polygon id="Fill-569" class="st25" points="53.901,79.856 55.463,79.027 55.463,79.329 53.901,80.16 "/> +<polygon id="Fill-571" class="st15" points="52.553,79.046 54.116,78.216 55.463,79.026 53.901,79.856 "/> +<polygon id="Fill-573" class="st22" points="53.901,79.856 53.901,80.16 52.553,79.349 52.553,79.046 "/> +<polygon id="Fill-575" class="st25" points="55.857,81.031 57.419,80.201 57.419,80.504 55.857,81.334 "/> +<polygon id="Fill-577" class="st15" points="54.508,80.221 56.071,79.391 57.418,80.2 55.857,81.031 "/> +<polygon id="Fill-579" class="st22" points="55.857,81.031 55.857,81.334 54.509,80.524 54.508,80.221 "/> +<polygon id="Fill-581" class="st25" points="23.621,69.425 25.183,68.595 25.183,68.89 23.621,69.72 "/> +<polygon id="Fill-583" class="st15" points="22.272,68.616 23.834,67.787 25.183,68.595 23.621,69.426 "/> +<polygon id="Fill-585" class="st22" points="23.621,69.425 23.621,69.72 22.273,68.909 22.271,68.615 "/> +<polygon id="Fill-587" class="st25" points="25.516,70.565 27.079,69.735 27.079,70.029 25.516,70.859 "/> +<polygon id="Fill-589" class="st15" points="24.168,69.754 25.731,68.925 27.079,69.734 25.516,70.565 "/> +<polygon id="Fill-591" class="st22" points="25.516,70.565 25.516,70.859 24.168,70.049 24.168,69.754 "/> +<polygon id="Fill-593" class="st25" points="27.511,71.762 29.073,70.933 29.073,71.228 27.511,72.058 "/> +<polygon id="Fill-595" class="st15" points="26.163,70.954 27.726,70.123 29.073,70.933 27.512,71.763 "/> +<polygon id="Fill-597" class="st22" points="27.511,71.762 27.511,72.058 26.163,71.247 26.163,70.953 "/> +<polygon id="Fill-599" class="st25" points="44.191,81.754 45.754,80.924 45.754,81.219 44.191,82.049 "/> +<polygon id="Fill-601" class="st15" points="42.842,80.945 44.405,80.116 45.754,80.924 44.191,81.755 "/> +<polygon id="Fill-603" class="st22" points="44.191,81.754 44.191,82.049 42.843,81.238 42.842,80.944 "/> +<polygon id="Fill-605" class="st25" points="46.087,82.894 47.649,82.064 47.649,82.358 46.087,83.188 "/> +<polygon id="Fill-607" class="st15" points="44.74,82.084 46.303,81.255 47.65,82.064 46.088,82.895 "/> +<polygon id="Fill-609" class="st22" points="46.087,82.894 46.087,83.188 44.739,82.378 44.739,82.083 "/> +<polygon id="Fill-611" class="st25" points="48.082,84.091 49.645,83.262 49.645,83.557 48.082,84.387 "/> +<polygon id="Fill-613" class="st15" points="46.734,83.283 48.297,82.452 49.645,83.262 48.082,84.092 "/> +<polygon id="Fill-615" class="st22" points="48.082,84.091 48.082,84.387 46.734,83.576 46.734,83.282 "/> +<polygon id="Fill-617" class="st25" points="42.062,80.517 43.624,79.688 43.624,79.983 42.062,80.813 "/> +<polygon id="Fill-619" class="st15" points="28.238,72.211 29.8,71.382 43.625,79.689 42.062,80.518 "/> +<polygon id="Fill-621" class="st22" points="42.062,80.517 42.062,80.813 28.238,72.506 28.238,72.21 "/> +<polygon id="Fill-623" class="st25" points="59.039,88.094 60.602,87.265 60.602,87.568 59.039,88.397 "/> +<polygon id="Fill-625" class="st15" points="57.691,87.284 59.254,86.455 60.602,87.265 59.039,88.095 "/> +<polygon id="Fill-627" class="st22" points="59.039,88.094 59.039,88.397 57.691,87.587 57.691,87.283 "/> +<polygon id="Fill-629" class="st25" points="61.105,89.337 62.668,88.508 62.668,88.81 61.105,89.641 "/> +<polygon id="Fill-631" class="st15" points="59.757,88.527 61.32,87.697 62.668,88.507 61.105,89.337 "/> +<polygon id="Fill-633" class="st22" points="61.105,89.337 61.105,89.641 59.757,88.83 59.757,88.527 "/> +<polygon id="Fill-635" class="st25" points="63.061,90.511 64.623,89.682 64.624,89.984 63.061,90.815 "/> +<polygon id="Fill-637" class="st15" points="61.712,89.702 63.276,88.872 64.622,89.682 63.061,90.512 "/> +<polygon id="Fill-639" class="st22" points="63.061,90.511 63.061,90.815 61.713,90.004 61.712,89.701 "/> +<polygon id="Fill-641" class="st25" points="61.183,86.888 62.745,86.059 62.745,86.362 61.183,87.191 "/> +<polygon id="Fill-643" class="st15" points="59.835,86.078 61.397,85.249 62.745,86.059 61.183,86.889 "/> +<polygon id="Fill-645" class="st22" points="61.183,86.888 61.183,87.191 59.835,86.381 59.835,86.077 "/> +<polygon id="Fill-647" class="st25" points="63.249,88.13 64.812,87.301 64.812,87.603 63.249,88.434 "/> +<polygon id="Fill-649" class="st15" points="61.902,87.321 63.465,86.491 64.813,87.301 63.25,88.131 "/> +<polygon id="Fill-651" class="st22" points="63.249,88.13 63.249,88.434 61.901,87.623 61.901,87.32 "/> +<polygon id="Fill-653" class="st25" points="65.205,89.305 66.767,88.475 66.767,88.778 65.205,89.608 "/> +<polygon id="Fill-655" class="st15" points="63.857,88.496 65.42,87.666 66.767,88.475 65.206,89.306 "/> +<polygon id="Fill-657" class="st22" points="65.205,89.305 65.205,89.608 63.858,88.798 63.856,88.495 "/> +<polygon id="Fill-659" class="st25" points="63.46,85.682 65.023,84.853 65.023,85.156 63.46,85.985 "/> +<polygon id="Fill-661" class="st15" points="62.114,84.872 63.676,84.043 65.024,84.853 63.461,85.683 "/> +<polygon id="Fill-663" class="st22" points="63.46,85.682 63.46,85.985 62.113,85.175 62.113,84.871 "/> +<polygon id="Fill-665" class="st25" points="65.528,86.924 67.09,86.095 67.09,86.397 65.528,87.228 "/> +<polygon id="Fill-667" class="st15" points="64.18,86.115 65.743,85.285 67.09,86.095 65.528,86.925 "/> +<polygon id="Fill-669" class="st22" points="65.528,86.924 65.528,87.228 64.18,86.417 64.18,86.114 "/> +<polygon id="Fill-671" class="st25" points="67.484,88.099 69.046,87.269 69.046,87.572 67.484,88.402 "/> +<polygon id="Fill-673" class="st15" points="66.135,87.29 67.698,86.46 69.045,87.269 67.484,88.1 "/> +<polygon id="Fill-675" class="st22" points="67.484,88.099 67.484,88.402 66.136,87.592 66.135,87.289 "/> +<polygon id="Fill-677" class="st25" points="54.228,85.142 55.791,84.313 55.791,84.615 54.228,85.446 "/> +<polygon id="Fill-679" class="st15" points="52.88,84.333 54.443,83.503 55.791,84.313 54.228,85.143 "/> +<polygon id="Fill-681" class="st22" points="54.228,85.142 54.228,85.446 52.88,84.635 52.88,84.332 "/> +<polygon id="Fill-683" class="st25" points="56.184,86.317 57.746,85.488 57.747,85.79 56.184,86.621 "/> +<polygon id="Fill-685" class="st15" points="54.835,85.507 56.399,84.677 57.745,85.487 56.184,86.317 "/> +<polygon id="Fill-687" class="st22" points="56.184,86.317 56.184,86.621 54.836,85.81 54.835,85.507 "/> +<polygon id="Fill-689" class="st25" points="56.373,83.936 57.936,83.107 57.936,83.409 56.373,84.24 "/> +<polygon id="Fill-691" class="st15" points="55.025,83.127 56.588,82.297 57.936,83.107 56.373,83.937 "/> +<polygon id="Fill-693" class="st22" points="56.373,83.936 56.373,84.24 55.025,83.429 55.025,83.126 "/> +<polygon id="Fill-695" class="st25" points="58.328,85.111 59.89,84.281 59.89,84.584 58.328,85.414 "/> +<polygon id="Fill-697" class="st15" points="56.98,84.301 58.543,83.471 59.89,84.28 58.329,85.111 "/> +<polygon id="Fill-699" class="st22" points="58.328,85.111 58.328,85.414 56.98,84.604 56.979,84.301 "/> +<polygon id="Fill-701" class="st25" points="58.651,82.73 60.213,81.901 60.213,82.203 58.651,83.034 "/> +<polygon id="Fill-703" class="st15" points="57.303,81.921 58.866,81.091 60.213,81.901 58.651,82.731 "/> +<polygon id="Fill-705" class="st22" points="58.651,82.73 58.651,83.034 57.303,82.223 57.303,81.92 "/> +<polygon id="Fill-707" class="st25" points="60.607,83.905 62.169,83.075 62.169,83.378 60.607,84.208 "/> +<polygon id="Fill-709" class="st15" points="59.258,83.095 60.821,82.265 62.168,83.074 60.607,83.905 "/> +<polygon id="Fill-711" class="st22" points="60.607,83.905 60.607,84.208 59.259,83.398 59.258,83.095 "/> +<polygon id="Fill-713" class="st25" points="51.993,86.459 53.555,85.63 53.556,85.934 51.993,86.763 "/> +<polygon id="Fill-715" class="st15" points="50.645,85.649 52.208,84.82 53.555,85.629 51.993,86.459 "/> +<polygon id="Fill-717" class="st22" points="51.993,86.459 51.993,86.763 50.645,85.952 50.645,85.649 "/> +<polyline id="Stroke-719" class="st4" points="16.516,69.031 60.372,95.385 60.375,97.311 "/> +<path id="Stroke-723" class="st26" d="M0.798,76.056l5.508-2.929"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/Router_UTM.svg b/src/main/webapp/img/lib/allied_telesys/security/Router_UTM.svg new file mode 100644 index 0000000000000000000000000000000000000000..59acf402120fd99228fc99336195460d5bc20bd8 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/Router_UTM.svg @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Router_UTM2.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 92.702 65.41" + style="enable-background:new 0 0 92.702 65.41;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.409;stroke-linejoin:round;} + .st1{fill:#A4A6A9;stroke:#626366;stroke-width:2.409;stroke-linejoin:round;} + .st2{fill:#BBBDBF;} + .st3{fill:#A4A6A9;} + .st4{fill:#E21B23;} + .st5{fill:#B3B5B7;} + .st6{fill:#FEFEFE;} + .st7{fill:#96989B;} + .st8{fill:none;stroke:#DFE0DF;stroke-width:0.637;stroke-linecap:round;stroke-linejoin:round;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview1249" inkscape:current-layer="Layer_1" inkscape:cx="33.023101" inkscape:cy="38.681074" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="8" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-router-UTM</title> +<desc id="desc6">Created with Sketch.</desc> +<polygon id="Stroke-87" class="st0" points="54.344,54.008 91.467,34.175 91.497,43.141 54.373,62.973 "/> +<path id="Stroke-47" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st0" d="M1.722,21.132L38.847,1.3 + c0.294-0.158,0.689-0.126,1.127,0.135L2.85,21.267C2.413,21.007,2.017,20.974,1.722,21.132z"/> +<path id="Stroke-83" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st1" d="M90.98,44.278L53.856,64.11 + c0.32-0.171,0.52-0.566,0.518-1.138L91.498,43.14C91.5,43.713,91.3,44.107,90.98,44.278z"/> +<polygon id="Stroke-85" class="st0" points="89.809,31.2 52.685,51.033 2.85,21.268 39.974,1.435 "/> +<path id="Stroke-196" inkscape:connector-curvature="0" class="st0" d="M52.685,51.032l37.124-19.833 + c0.907,0.542,1.655,1.884,1.658,2.976L54.344,54.008C54.34,52.915,53.592,51.574,52.685,51.032z"/> +<path id="Stroke-198" class="st0" d="M52.685,51.032c0.907,0.542,1.655,1.883,1.659,2.976l0.029,8.964 + c0.004,1.099-0.738,1.544-1.645,1.002L2.893,34.21c-0.913-0.545-1.655-1.877-1.658-2.976l-0.03-8.965 + C1.2,21.177,1.937,20.722,2.85,21.267L52.685,51.032z"/> +<polygon id="Fill-281" class="st2" points="89.809,31.2 52.685,51.033 2.85,21.268 39.974,1.435 "/> +<polygon id="Fill-282" class="st3" points="54.344,54.008 91.467,34.175 91.497,43.141 54.373,62.973 "/> +<path id="Fill-283" inkscape:connector-curvature="0" class="st2" d="M52.685,51.032l37.124-19.833 + c0.907,0.542,1.655,1.884,1.658,2.976L54.344,54.008C54.34,52.915,53.592,51.574,52.685,51.032"/> +<path id="Fill-391" class="st4" d="M52.685,51.032c1.653,0.982,1.656,1.906,1.659,2.976l0.029,8.964 + c0.004,1.099-0.738,1.544-1.645,1.002L2.893,34.21c-0.913-0.545-1.655-1.877-1.658-2.976l-0.03-8.965 + C1.2,21.177,1.937,20.722,2.85,21.267L52.685,51.032z"/> +<path id="Fill-393" class="st5" d="M52.403,53.523c1.39,1.062,1.717,1.399,1.725,3.521l0.019,6.063 + c0.003,0.879-0.492,1.626-1.645,1.002L5.696,36.032c-0.731-0.436-1.324-1.501-1.328-2.38L4.344,26.48 + c-0.003-0.874,0.586-1.238,1.318-0.802L52.403,53.523z"/> +<polygon id="Fill-397" class="st6" points="19.293,38.238 7.827,31.39 7.82,28.693 19.285,35.54 "/> +<polygon id="Fill-399" class="st6" points="19.261,42.316 7.798,35.47 7.791,32.771 19.254,39.616 "/> +<polygon id="Fill-401" class="st6" points="27.68,47.499 21.851,44.009 21.826,37.96 27.648,41.449 "/> +<polygon id="Fill-403" class="st6" points="50.107,60.456 47.192,58.711 47.18,55.686 50.091,57.431 "/> +<polygon id="Fill-405" class="st6" points="44.276,57.474 40.079,54.961 40.06,50.606 44.252,53.118 "/> +<path id="Fill-407" class="st4" d="M47.747,17.571l-8.397,4.268c-4.903,2.492-8.882,1.994-11.659,0.345 + c-2.942-1.747-3.07-4.023,1.508-6.35l8.418-4.279l2.526,1.5l-8.505,4.323c-2.126,1.081-2.352,2.358-0.897,3.222 + c1.336,0.794,3.589,1.008,6.235-0.338l8.246-4.191L47.747,17.571z"/> +<polygon id="Fill-409" class="st4" points="56.369,25.681 52.701,23.502 40.617,29.645 38.091,28.146 50.176,22.003 46.507,19.824 + 49.22,18.446 59.082,24.302 "/> +<polygon id="Fill-411" class="st4" points="69.316,30.382 71.513,31.687 56.716,39.208 54.192,37.709 63.435,33.01 56.06,33.748 + 55.673,33.519 57.584,29.535 48.341,34.234 45.816,32.735 60.613,25.212 62.811,26.517 60.574,31.239 "/> +<path id="Stroke-83-4" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st3" d="M90.98,44.278L53.856,64.11 + c0.32-0.171,0.52-0.566,0.518-1.138L91.498,43.14C91.5,43.713,91.3,44.107,90.98,44.278z"/> +<path id="Stroke-47-5" inkscape:connector-curvature="0" sodipodi:nodetypes="ccccc" class="st7" d="M1.722,21.132L38.847,1.3 + c0.294-0.158,0.689-0.126,1.127,0.135L2.85,21.267C2.413,21.007,2.017,20.974,1.722,21.132z"/> +<path id="Stroke-395" class="st8" d="M1.204,22.27c-0.212-2.125,2.858-0.413,2.858-0.413l48.867,29.187 + c-0.119-0.114,0.354,0.211,0.894,0.866c0.523,0.633,0.478,1.639,0.478,1.639l0.103,8.716c0,0,0.251,1.074-0.823,1.651"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/Router_VPN.svg b/src/main/webapp/img/lib/allied_telesys/security/Router_VPN.svg new file mode 100644 index 0000000000000000000000000000000000000000..b753fefa39d66e0c1730a8819cadbc4ccf423e50 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/Router_VPN.svg @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Router_VPN2.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 92.647 65.448" + style="enable-background:new 0 0 92.647 65.448;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.409;stroke-linejoin:round;} + .st1{fill:#BBBDBF;} + .st2{fill:#A4A6A9;} + .st3{fill:#E21B23;} + .st4{fill:#B3B5B7;} + .st5{fill:#FEFEFE;} + .st6{fill:none;stroke:#DFE0DF;stroke-width:0.637;stroke-linecap:round;stroke-linejoin:round;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview1246" inkscape:current-layer="Layer_1" inkscape:cx="39.909038" inkscape:cy="33.943256" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="12.215054" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-router-VPN</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Stroke-47" inkscape:connector-curvature="0" class="st0" d="M1.725,21.032L38.903,1.299 + c0.295-0.157,0.69-0.124,1.127,0.138L2.852,21.171C2.417,20.909,2.02,20.876,1.725,21.032z"/> +<path id="Stroke-83" inkscape:connector-curvature="0" class="st0" d="M90.92,44.414L53.744,64.148 + c0.321-0.17,0.522-0.565,0.521-1.136l37.176-19.734C91.441,43.85,91.241,44.244,90.92,44.414z"/> +<polygon id="Stroke-85" class="st0" points="2.852,21.171 40.029,1.437 89.785,31.334 52.609,51.067 "/> +<polygon id="Stroke-87" class="st0" points="91.442,43.279 54.265,63.013 54.258,54.048 91.436,34.314 "/> +<path id="Stroke-196" inkscape:connector-curvature="0" class="st0" d="M52.609,51.068l37.177-19.734 + c0.905,0.545,1.65,1.888,1.651,2.98L54.258,54.048C54.258,52.956,53.514,51.612,52.609,51.068z"/> +<path id="Stroke-198" class="st0" d="M52.609,51.068c0.906,0.544,1.65,1.888,1.65,2.98l0.007,8.965 + c0.001,1.098-0.742,1.542-1.647,0.997L2.862,34.114c-0.912-0.547-1.65-1.881-1.651-2.98l-0.007-8.965 + c0-1.092,0.737-1.545,1.648-0.997L52.609,51.068z"/> +<polygon id="Fill-281" class="st1" points="89.785,31.334 52.609,51.067 2.852,21.171 40.029,1.437 "/> +<polygon id="Fill-282" class="st2" points="91.442,43.279 54.265,63.013 54.258,54.048 91.436,34.314 "/> +<path id="Fill-391" class="st3" d="M52.609,51.068c1.65,0.987,1.65,1.911,1.65,2.98l0.007,8.965 + c0.001,1.098-0.742,1.542-1.647,0.997L2.862,34.114c-0.912-0.547-1.65-1.881-1.651-2.98l-0.007-8.965 + c0-1.092,0.737-1.545,1.648-0.997L52.609,51.068z"/> +<path id="Fill-393" class="st4" d="M52.321,53.557c1.386,1.065,1.712,1.403,1.713,3.525l0.005,6.064 + c0.001,0.879-0.497,1.623-1.649,0.997L5.66,35.942c-0.729-0.438-1.32-1.505-1.321-2.384l-0.005-7.171 + c0-0.874,0.59-1.237,1.318-0.799L52.321,53.557z"/> +<polygon id="Fill-397" class="st5" points="27.819,44.72 16.372,37.842 16.372,37.859 7.764,32.688 7.764,35.387 19.208,42.263 + 19.208,42.244 27.819,47.418 "/> +<polygon id="Fill-399" class="st5" points="50.006,60.484 47.097,58.731 47.091,55.707 49.998,57.459 "/> +<polygon id="Fill-401" class="st5" points="44.182,57.487 39.993,54.963 39.986,50.608 44.169,53.131 "/> +<polygon id="Fill-403" class="st5" points="33.361,50.67 30.451,48.917 30.448,45.893 33.353,47.645 "/> +<polygon id="Fill-405" class="st5" points="36.938,52.999 34.028,51.246 34.023,48.222 36.93,49.974 "/> +<path id="Stroke-47-2" inkscape:connector-curvature="0" class="st1" d="M1.725,21.032L38.903,1.299 + c0.295-0.157,0.69-0.124,1.127,0.138L2.852,21.171C2.417,20.909,2.02,20.876,1.725,21.032z"/> +<path id="Stroke-196-7" inkscape:connector-curvature="0" class="st2" d="M52.608,51.068l37.177-19.734 + c0.905,0.545,1.65,1.888,1.651,2.98L54.258,54.048C54.258,52.956,53.514,51.612,52.608,51.068z"/> +<path id="Stroke-83-1" inkscape:connector-curvature="0" class="st2" d="M90.92,44.414L53.745,64.148 + c0.321-0.17,0.522-0.565,0.521-1.136l37.176-19.734C91.441,43.85,91.241,44.244,90.92,44.414z"/> +<path id="Stroke-395" class="st6" d="M1.205,22.169c-0.207-2.126,2.86-0.405,2.86-0.405L52.853,51.08 + c-0.117-0.115,0.354,0.212,0.893,0.868c0.521,0.635,0.474,1.641,0.474,1.641l0.08,8.716c0,0,0.247,1.075-0.828,1.648"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/security/Surveillance_Camera_Ceiling.svg b/src/main/webapp/img/lib/allied_telesys/security/Surveillance_Camera_Ceiling.svg new file mode 100644 index 0000000000000000000000000000000000000000..c3d38a338e832096757f2853f752a1e09e1ac900 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/security/Surveillance_Camera_Ceiling.svg @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 61.643 58.61" style="enable-background:new 0 0 61.643 58.61;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.481;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#E5E6E7;} + .st3{fill:#58585B;} + .st4{fill:#FEFEFE;} + .st5{fill:#B3B5B7;} + .st6{fill:#808184;} + .st7{fill:none;stroke:#58585B;stroke-width:1.24;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:none;stroke:#F0F0F1;stroke-width:1.24;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-surveillance-camera</title> +<desc>Created with Sketch.</desc> +<path id="Stroke-1" class="st0" d="M58.006,34.331c0,12.087-12.851,23.038-27.737,23.038S3.638,46.495,3.638,32.765 + c0-3.022,0.343-6.343,1.751-8.11c4.331-5.437,50.221-7.372,52.256,1.658C58.069,28.2,58.006,32.275,58.006,34.331z"/> +<path id="Stroke-3" class="st0" d="M60.403,30c0,0-5.621-8.109-28.967-8.293C6.77,21.512,1.24,30,1.24,30V10.372 + c0,0,7.096-8.754,29.581-9.123c20.563-0.337,29.58,9.123,29.58,9.123L60.403,30L60.403,30z"/> +<path id="Fill-5" class="st1" d="M58.006,34.331c0,12.087-12.851,23.038-27.737,23.038S3.638,46.495,3.638,32.765 + c0-3.022,0.343-6.343,1.751-8.11c4.331-5.437,50.221-7.372,52.256,1.658C58.069,28.2,58.006,32.275,58.006,34.331"/> +<path id="Fill-7" class="st2" d="M18.566,44.468c1.03,0.958-4.513,3.334-4.867,3.075c-8.737-6.386-7.865-15.071-7.204-15.976 + c1.751-2.396,6.082-3.87,6.082-3.87C12.462,34.055,16.302,42.363,18.566,44.468"/> +<path id="Fill-9" class="st2" d="M49.824,27.731c-0.511-1.311,5.715,3.036,5.8,3.466c1.557,7.885-5.654,15.435-6.727,15.758 + c-2.842,0.855-5.741-2.602-5.253-2.856C46.979,42.363,50.66,29.879,49.824,27.731"/> +<path id="Fill-11" class="st2" d="M30.736,55.263c-7.667,0-8.916-5.052-8.776-9.025c0.121-3.427,1.619-9.848,8.785-10.117 + c5.04-0.19,8.736,3.426,8.772,9.979C39.542,50.575,37.6,55.263,30.736,55.263"/> +<path id="Fill-13" class="st3" d="M37.457,46.772c0,3.155-3.012,5.713-6.728,5.713c-3.714,0-6.726-2.558-6.726-5.713 + c0-3.155,3.012-5.713,6.726-5.713C34.444,41.059,37.457,43.617,37.457,46.772"/> +<path id="Fill-15" class="st4" d="M34.416,48.087c0,2.086-1.691,3.778-3.778,3.778s-3.779-1.692-3.779-3.778 + c0-2.087,1.692-3.778,3.779-3.778S34.416,46,34.416,48.087"/> +<path id="Fill-17" class="st5" d="M60.403,30c0,0-5.621-8.109-28.967-8.293C6.77,21.512,1.24,30,1.24,30V10.372 + c0,0,7.096-8.754,29.581-9.123c20.563-0.337,29.58,9.123,29.58,9.123L60.403,30L60.403,30z"/> +<path id="Fill-19" class="st6" d="M11.804,4.221v19.785C3.543,26.462,1.24,29.997,1.24,29.997V10.374 + C1.24,10.374,4.069,6.888,11.804,4.221"/> +<path id="Fill-21" class="st6" d="M60.403,10.377v19.624c0,0-2.108-3.046-9.117-5.446V4.783 + C57.519,7.351,60.403,10.377,60.403,10.377"/> +<path id="Stroke-23" class="st7" d="M59.485,29.101c-2.253-2.115-9.617-7.25-28.142-7.397c-19.612-0.155-27.126,5.181-29.38,7.373" + /> +<path id="Stroke-25" class="st8" d="M57.327,29.101c-2.252-2.115-9.874-6.206-26.402-6.207c-15.923-0.001-25.034,4.21-27.288,6.402" + /> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Half_Rack_ToR.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Half_Rack_ToR.svg new file mode 100644 index 0000000000000000000000000000000000000000..3f3856efb76971ed968d493fd752a826bdf292fd --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Half_Rack_ToR.svg @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 146.541 190.512" style="enable-background:new 0 0 146.541 190.512;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#E7EBF0;} + .st1{fill:none;stroke:#B8C6D3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#626366;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#416895;} + .st4{fill:#7D91B4;} + .st5{fill:#607BA4;} + .st6{fill:none;stroke:#DFE0DF;stroke-width:0.675;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#FEFEFE;} + .st8{fill:#898B8E;} + .st9{fill:#BBBDBF;} + .st10{fill:#B3B5B7;} +</style> +<title>icon-datacenter-small</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-527.000000, -566.000000)"> + <g id="icon-datacenter-small" transform="translate(528.000000, 567.000000)"> + <path id="Fill-1" class="st0" d="M0.027,36.401c0-5.571,3.368-7.072,3.368-7.072L57.972,0l81.42,46.041 + c-0.048-0.028,5.051,3.705,4.883,12.552c-0.026,1.409,0.256,94.284,0.256,94.284s0.167,4.418-0.915,5.687 + c-0.592,0.695-3.137,2.226-3.137,2.226l-52.302,26.795c0,0-3.703,2.271-7.447-0.295c-3.45-2.366-69.125-39.377-69.125-39.377 + s-11.794-3.772-11.603-23.206C0.168,107.623,0.027,56.059,0.027,36.401"/> + <path id="Stroke-3" class="st1" d="M0.027,36.401c0-5.571,3.368-7.072,3.368-7.072L57.972,0l81.42,46.041 + c-0.048-0.028,5.051,3.705,4.883,12.552c-0.026,1.409,0.256,94.284,0.256,94.284s0.167,4.418-0.915,5.687 + c-0.592,0.695-3.137,2.226-3.137,2.226l-52.302,26.795c0,0-3.703,2.271-7.447-0.295c-3.45-2.366-69.125-39.377-69.125-39.377 + s-11.794-3.772-11.603-23.206C0.168,107.623,0.027,56.059,0.027,36.401z"/> + <polygon id="Stroke-5" class="st2" points="88.779,165.32 126.831,145.121 126.838,155.998 88.786,176.195 "/> + <polygon id="Stroke-7" class="st2" points="18.236,122.933 56.288,102.734 126.831,145.12 88.779,165.32 "/> + <polygon id="Stroke-9" class="st2" points="88.779,165.32 88.786,176.195 18.243,133.808 18.236,122.933 "/> + <polygon id="Fill-11" class="st3" points="88.779,165.32 126.831,145.123 126.838,155.998 88.786,176.197 "/> + <polygon id="Fill-13" class="st4" points="18.236,122.933 56.288,102.736 126.831,145.122 88.779,165.32 "/> + <polygon id="Fill-15" class="st5" points="88.779,165.32 88.786,176.197 18.243,133.808 18.236,122.933 "/> + <polyline id="Stroke-17" class="st6" points="18.577,122.939 88.765,165.113 88.765,175.906 "/> + <polygon id="Fill-19" class="st7" points="26.809,136.773 21.371,133.505 21.371,131.937 26.809,135.205 "/> + <polygon id="Fill-21" class="st7" points="66.143,161.254 54.023,153.971 54.023,151.113 66.143,158.397 "/> + <polygon id="Fill-23" class="st7" points="52.357,152.74 40.237,145.457 40.237,142.601 52.357,149.883 "/> + <polygon id="Fill-25" class="st7" points="83.253,171.273 81.278,170.087 81.278,167.783 83.253,168.968 "/> + <polygon id="Stroke-27" class="st2" points="89.053,147.957 127.105,127.758 127.112,138.635 89.06,158.832 "/> + <polygon id="Stroke-29" class="st2" points="18.51,105.57 56.562,85.371 127.105,127.757 89.053,147.957 "/> + <polygon id="Stroke-31" class="st2" points="89.053,147.957 89.06,158.832 18.517,116.446 18.51,105.57 "/> + <polygon id="Fill-33" class="st3" points="89.053,147.957 127.105,127.76 127.112,138.635 89.06,158.834 "/> + <polygon id="Fill-35" class="st4" points="18.51,105.57 56.562,85.373 127.105,127.759 89.053,147.957 "/> + <polygon id="Fill-37" class="st5" points="89.053,147.957 89.06,158.834 18.517,116.446 18.51,105.57 "/> + <polyline id="Stroke-39" class="st6" points="18.851,105.576 89.039,147.75 89.039,158.543 "/> + <polygon id="Fill-41" class="st7" points="27.083,119.41 21.645,116.142 21.645,114.574 27.083,117.842 "/> + <polygon id="Fill-43" class="st7" points="66.417,143.89 54.297,136.607 54.297,133.75 66.417,141.033 "/> + <polygon id="Fill-45" class="st7" points="52.631,135.377 40.511,128.095 40.511,125.238 52.631,132.52 "/> + <polygon id="Fill-47" class="st7" points="83.526,153.91 81.551,152.724 81.551,150.42 83.526,151.605 "/> + <polygon id="Stroke-49" class="st2" points="89.119,130.85 127.171,110.651 127.178,121.527 89.126,141.725 "/> + <polygon id="Stroke-51" class="st2" points="18.576,88.462 56.628,68.264 127.171,110.65 89.119,130.851 "/> + <polygon id="Stroke-53" class="st2" points="89.119,130.85 89.126,141.725 18.583,99.338 18.576,88.462 "/> + <polygon id="Fill-55" class="st3" points="89.119,130.85 127.171,110.653 127.178,121.528 89.126,141.726 "/> + <polygon id="Fill-57" class="st4" points="18.576,88.464 56.628,68.265 127.171,110.652 89.119,130.851 "/> + <polygon id="Fill-59" class="st5" points="89.119,130.85 89.126,141.726 18.583,99.338 18.576,88.463 "/> + <polyline id="Stroke-61" class="st6" points="18.917,88.468 89.105,130.642 89.105,141.436 "/> + <polygon id="Fill-63" class="st7" points="27.149,102.303 21.711,99.034 21.711,97.467 27.149,100.735 "/> + <polygon id="Fill-65" class="st7" points="66.483,126.783 54.363,119.501 54.363,116.643 66.483,123.927 "/> + <polygon id="Fill-67" class="st7" points="52.697,118.269 40.577,110.987 40.577,108.131 52.697,115.413 "/> + <polygon id="Fill-69" class="st7" points="83.593,136.802 81.618,135.617 81.618,133.312 83.593,134.498 "/> + <polygon id="Stroke-71" class="st2" points="88.848,114.758 126.9,94.559 126.907,105.435 88.855,125.633 "/> + <polygon id="Stroke-73" class="st2" points="18.305,72.371 56.357,52.173 126.9,94.559 88.848,114.759 "/> + <polygon id="Stroke-75" class="st2" points="88.848,114.758 88.855,125.633 18.312,83.247 18.305,72.37 "/> + <polygon id="Fill-77" class="st3" points="88.848,114.758 126.9,94.561 126.907,105.436 88.855,125.634 "/> + <polygon id="Fill-79" class="st4" points="18.305,72.372 56.357,52.174 126.9,94.561 88.848,114.759 "/> + <polygon id="Fill-81" class="st5" points="88.848,114.758 88.855,125.634 18.312,83.247 18.305,72.371 "/> + <polyline id="Stroke-83" class="st6" points="18.645,72.377 88.833,114.551 88.833,125.345 "/> + <polygon id="Fill-85" class="st7" points="26.878,86.211 21.44,82.943 21.44,81.375 26.878,84.644 "/> + <polygon id="Fill-87" class="st7" points="66.212,110.691 54.092,103.409 54.092,100.551 66.212,107.835 "/> + <polygon id="Fill-89" class="st7" points="52.426,102.177 40.306,94.895 40.306,92.039 52.426,99.321 "/> + <polygon id="Fill-91" class="st7" points="83.321,120.711 81.346,119.526 81.346,117.221 83.321,118.407 "/> + <polygon id="Stroke-93" class="st2" points="88.754,97.032 126.806,76.833 126.813,87.709 88.761,107.907 "/> + <polygon id="Stroke-95" class="st2" points="18.211,54.644 56.263,34.446 126.806,76.832 88.754,97.032 "/> + <polygon id="Stroke-97" class="st2" points="88.754,97.032 88.761,107.907 18.218,65.52 18.211,54.644 "/> + <polygon id="Fill-99" class="st8" points="88.754,97.032 126.806,76.835 126.813,87.71 88.761,107.908 "/> + <polygon id="Fill-101" class="st9" points="18.211,54.645 56.263,34.447 126.806,76.834 88.754,97.032 "/> + <polygon id="Fill-103" class="st10" points="88.754,97.032 88.761,107.908 18.218,65.52 18.211,54.645 "/> + <polyline id="Stroke-105" class="st6" points="18.552,54.65 88.74,96.824 88.74,107.618 "/> + <polygon id="Fill-107" class="st7" points="26.784,68.485 21.346,65.216 21.346,63.649 26.784,66.917 "/> + <polygon id="Fill-109" class="st7" points="66.162,88.647 54.041,81.364 54.041,78.507 66.162,85.792 "/> + <polygon id="Fill-111" class="st7" points="66.118,92.965 53.998,85.682 53.998,82.825 66.118,90.108 "/> + <polyline id="Fill-113" class="st7" points="40.254,72.85 40.254,69.993 52.374,77.275 52.374,80.133 "/> + <polygon id="Fill-115" class="st7" points="52.332,84.451 40.212,77.169 40.212,74.313 52.332,81.595 "/> + <polygon id="Fill-117" class="st7" points="83.227,102.984 81.252,101.799 81.252,99.494 83.227,100.68 "/> + <polygon id="Stroke-119" class="st2" points="89.027,79.668 127.079,59.469 127.086,70.346 89.034,90.544 "/> + <polygon id="Stroke-121" class="st2" points="18.484,37.281 56.536,17.083 127.079,59.468 89.027,79.668 "/> + <polygon id="Stroke-123" class="st2" points="89.027,79.668 89.034,90.544 18.491,48.158 18.484,37.281 "/> + <polygon id="Fill-125" class="st8" points="89.027,79.668 127.079,59.471 127.086,70.347 89.034,90.545 "/> + <polygon id="Fill-127" class="st9" points="18.484,37.282 56.536,17.084 127.079,59.47 89.027,79.668 "/> + <polygon id="Fill-129" class="st10" points="89.027,79.668 89.034,90.545 18.491,48.158 18.484,37.282 "/> + <polyline id="Stroke-131" class="st6" points="18.825,37.287 89.013,79.461 89.013,90.255 "/> + <polygon id="Fill-133" class="st7" points="27.058,51.121 21.62,47.853 21.62,46.285 27.058,49.554 "/> + <polygon id="Fill-135" class="st7" points="66.435,71.285 54.314,64.001 54.314,61.144 66.435,68.428 "/> + <polygon id="Fill-137" class="st7" points="66.392,75.601 54.272,68.318 54.272,65.462 66.392,72.745 "/> + <polygon id="Fill-139" class="st7" points="52.647,62.77 40.527,55.488 40.527,52.629 52.647,59.912 "/> + <polygon id="Fill-141" class="st7" points="52.605,67.087 40.485,59.806 40.485,56.949 52.605,64.231 "/> + <polygon id="Fill-143" class="st7" points="83.501,85.621 81.526,84.436 81.526,82.131 83.501,83.316 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack.svg new file mode 100644 index 0000000000000000000000000000000000000000..d12a35c2dbe8bd038383d975b2ade41d4660ae3f --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack.svg @@ -0,0 +1,162 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 146.697 297.571" style="enable-background:new 0 0 146.697 297.571;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#E7EBF0;} + .st1{fill:none;stroke:#B8C6D3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#626366;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#416895;} + .st4{fill:#7D91B4;} + .st5{fill:#607BA4;} + .st6{fill:none;stroke:#DFE0DF;stroke-width:0.675;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#FEFEFE;} +</style> +<title>icon-datacenter-rack1</title> +<desc>Created with Sketch.</desc> +<g id="Page-1"> + <g id="Desktop" transform="translate(-683.000000, -519.000000)"> + <g id="icon-datacenter-rack1" transform="translate(684.000000, 520.000000)"> + <path id="Fill-1" class="st0" d="M0.005,32.92c0.003-1.264,0.062-1.974,0.316-2.658c0.254-0.686,1.677-1.444,1.677-1.444 + L56.603,0l85.06,49.035c0,0,2.236,1.006,2.682,2.624c0.506,1.836,0.317,5.508,0.317,5.508l-0.128,202.769 + c0,0,0.168,4.418-0.914,5.687c-0.592,0.695-3.136,2.226-3.136,2.226l-52.302,26.795c0,0-3.703,2.271-7.448-0.295 + c-3.45-2.366-69.125-39.377-69.125-39.377S-0.184,251.2,0.005,231.766C0.172,214.682-0.035,52.578,0.005,32.92"/> + <path id="Stroke-3" class="st1" d="M0.005,32.92c0.003-1.264,0.062-1.974,0.316-2.658c0.254-0.686,1.677-1.444,1.677-1.444 + L56.603,0l85.06,49.035c0,0,2.236,1.006,2.682,2.624c0.506,1.836,0.317,5.508,0.317,5.508l-0.128,202.769 + c0,0,0.168,4.418-0.914,5.687c-0.592,0.695-3.136,2.226-3.136,2.226l-52.302,26.795c0,0-3.703,2.271-7.448-0.295 + c-3.45-2.366-69.125-39.377-69.125-39.377S-0.184,251.2,0.005,231.766C0.172,214.682-0.035,52.578,0.005,32.92z"/> + <polygon id="Stroke-5" class="st2" points="89.147,269.13 127.2,248.932 127.207,259.808 89.155,280.005 "/> + <polygon id="Stroke-7" class="st2" points="18.605,226.743 56.657,206.545 127.2,248.931 89.147,269.13 "/> + <polygon id="Stroke-9" class="st2" points="89.147,269.13 89.155,280.005 18.612,237.619 18.605,226.743 "/> + <polygon id="Fill-11" class="st3" points="89.147,269.13 127.2,248.934 127.207,259.809 89.155,280.007 "/> + <polygon id="Fill-13" class="st4" points="18.605,226.744 56.657,206.546 127.2,248.933 89.147,269.13 "/> + <polygon id="Fill-15" class="st5" points="89.147,269.13 89.155,280.007 18.612,237.619 18.605,226.744 "/> + <polyline id="Stroke-17" class="st6" points="18.946,226.75 89.134,268.923 89.134,279.716 "/> + <polygon id="Fill-19" class="st7" points="27.178,240.584 21.739,237.315 21.739,235.748 27.178,239.016 "/> + <polygon id="Fill-21" class="st7" points="66.512,265.064 54.392,257.781 54.392,254.924 66.512,262.208 "/> + <polygon id="Fill-23" class="st7" points="52.726,256.55 40.605,249.268 40.605,246.412 52.726,253.694 "/> + <polygon id="Fill-25" class="st7" points="83.621,275.083 81.646,273.897 81.646,271.593 83.621,272.778 "/> + <polygon id="Stroke-27" class="st2" points="88.876,253.039 126.928,232.84 126.935,243.716 88.883,263.914 "/> + <polygon id="Stroke-29" class="st2" points="18.333,210.651 56.384,190.453 126.928,232.839 88.876,253.039 "/> + <polygon id="Stroke-31" class="st2" points="88.876,253.039 88.883,263.914 18.34,221.527 18.333,210.651 "/> + <polygon id="Fill-33" class="st3" points="88.876,253.039 126.928,232.842 126.935,243.717 88.883,263.915 "/> + <polygon id="Fill-35" class="st4" points="18.333,210.652 56.384,190.454 126.928,232.841 88.876,253.039 "/> + <polygon id="Fill-37" class="st5" points="88.876,253.039 88.883,263.915 18.34,221.527 18.333,210.652 "/> + <polyline id="Stroke-39" class="st6" points="18.674,210.658 88.862,252.831 88.862,263.625 "/> + <polygon id="Fill-41" class="st7" points="26.907,224.492 21.469,221.223 21.469,219.656 26.907,222.924 "/> + <polygon id="Fill-43" class="st7" points="66.241,248.972 54.121,241.69 54.121,238.832 66.241,246.116 "/> + <polygon id="Fill-45" class="st7" points="52.454,240.458 40.334,233.176 40.334,230.32 52.454,237.602 "/> + <polygon id="Fill-47" class="st7" points="83.35,258.991 81.375,257.806 81.375,255.501 83.35,256.687 "/> + <polygon id="Stroke-49" class="st2" points="88.783,235.313 126.835,215.114 126.842,225.99 88.789,246.188 "/> + <polygon id="Stroke-51" class="st2" points="18.239,192.925 56.292,172.727 126.835,215.113 88.783,235.313 "/> + <polygon id="Stroke-53" class="st2" points="88.783,235.313 88.789,246.188 18.247,203.801 18.239,192.925 "/> + <polygon id="Fill-55" class="st3" points="88.783,235.313 126.835,215.116 126.842,225.991 88.789,246.189 "/> + <polygon id="Fill-57" class="st4" points="18.239,192.926 56.292,172.728 126.835,215.115 88.783,235.313 "/> + <polygon id="Fill-59" class="st5" points="88.783,235.313 88.789,246.189 18.247,203.801 18.239,192.926 "/> + <polyline id="Stroke-61" class="st6" points="18.58,192.932 88.768,235.105 88.768,245.899 "/> + <polygon id="Fill-63" class="st7" points="26.813,206.766 21.375,203.497 21.375,201.93 26.813,205.198 "/> + <polygon id="Fill-65" class="st7" points="66.147,231.245 54.026,223.963 54.026,221.105 66.147,228.389 "/> + <polygon id="Fill-67" class="st7" points="52.361,222.732 40.241,215.45 40.241,212.594 52.361,219.876 "/> + <polygon id="Fill-69" class="st7" points="83.255,241.265 81.281,240.08 81.281,237.775 83.255,238.961 "/> + <polygon id="Stroke-71" class="st2" points="89.055,217.949 127.108,197.75 127.114,208.626 89.063,228.824 "/> + <polygon id="Stroke-73" class="st2" points="18.513,175.562 56.565,155.364 127.108,197.75 89.055,217.95 "/> + <polygon id="Stroke-75" class="st2" points="89.055,217.949 89.063,228.824 18.52,186.437 18.513,175.561 "/> + <polygon id="Fill-77" class="st3" points="89.055,217.949 127.108,197.752 127.114,208.627 89.063,228.825 "/> + <polygon id="Fill-79" class="st4" points="18.513,175.563 56.565,155.365 127.108,197.752 89.055,217.95 "/> + <polygon id="Fill-81" class="st5" points="89.055,217.949 89.063,228.825 18.52,186.437 18.513,175.562 "/> + <polyline id="Stroke-83" class="st6" points="18.854,175.568 89.042,217.741 89.042,228.535 "/> + <polygon id="Fill-85" class="st7" points="27.086,189.402 21.647,186.133 21.647,184.566 27.086,187.834 "/> + <polygon id="Fill-87" class="st7" points="66.42,213.882 54.3,206.6 54.3,203.742 66.42,211.026 "/> + <polygon id="Fill-89" class="st7" points="52.634,205.368 40.514,198.086 40.514,195.23 52.634,202.512 "/> + <polygon id="Fill-91" class="st7" points="83.53,223.901 81.555,222.716 81.555,220.411 83.53,221.597 "/> + <polygon id="Stroke-93" class="st2" points="89.149,201.197 127.201,180.998 127.208,191.875 89.156,212.072 "/> + <polygon id="Stroke-95" class="st2" points="18.605,158.811 56.658,138.612 127.201,180.998 89.149,201.198 "/> + <polygon id="Stroke-97" class="st2" points="89.149,201.197 89.156,212.072 18.613,169.685 18.605,158.81 "/> + <polygon id="Fill-99" class="st3" points="89.149,201.197 127.201,181 127.208,191.875 89.156,212.074 "/> + <polygon id="Fill-101" class="st4" points="18.605,158.811 56.658,138.614 127.201,181 89.149,201.198 "/> + <polygon id="Fill-103" class="st5" points="89.149,201.197 89.156,212.074 18.613,169.685 18.605,158.81 "/> + <polyline id="Stroke-105" class="st6" points="18.947,158.816 89.135,200.991 89.135,211.784 "/> + <polygon id="Fill-107" class="st7" points="27.179,172.65 21.741,169.382 21.741,167.814 27.179,171.082 "/> + <polygon id="Fill-109" class="st7" points="66.513,197.131 54.393,189.848 54.393,186.99 66.513,194.274 "/> + <polygon id="Fill-111" class="st7" points="52.726,188.617 40.607,181.334 40.607,178.478 52.726,185.76 "/> + <polygon id="Fill-113" class="st7" points="83.622,207.15 81.646,205.964 81.646,203.66 83.622,204.845 "/> + <polygon id="Stroke-115" class="st2" points="88.877,185.105 126.929,164.907 126.936,175.784 88.884,195.98 "/> + <polygon id="Stroke-117" class="st2" points="18.334,142.719 56.386,122.52 126.929,164.906 88.877,185.106 "/> + <polygon id="Stroke-119" class="st2" points="88.877,185.105 88.884,195.98 18.341,153.594 18.334,142.719 "/> + <polygon id="Fill-121" class="st3" points="88.877,185.105 126.929,164.909 126.936,175.784 88.884,195.982 "/> + <polygon id="Fill-123" class="st4" points="18.334,142.719 56.386,122.522 126.929,164.908 88.877,185.106 "/> + <polygon id="Fill-125" class="st5" points="88.877,185.105 88.884,195.982 18.341,153.594 18.334,142.719 "/> + <polyline id="Stroke-127" class="st6" points="18.675,142.725 88.863,184.899 88.863,195.692 "/> + <polygon id="Fill-129" class="st7" points="26.908,156.559 21.47,153.291 21.47,151.723 26.908,154.991 "/> + <polygon id="Fill-131" class="st7" points="66.242,181.039 54.122,173.756 54.122,170.898 66.242,178.182 "/> + <polygon id="Fill-133" class="st7" points="52.455,172.525 40.334,165.242 40.334,162.386 52.455,169.668 "/> + <polygon id="Fill-135" class="st7" points="83.351,191.059 81.376,189.873 81.376,187.569 83.351,188.754 "/> + <polygon id="Stroke-137" class="st2" points="88.784,167.379 126.835,147.18 126.843,158.057 88.791,178.254 "/> + <polygon id="Stroke-139" class="st2" points="18.241,124.992 56.293,104.793 126.835,147.179 88.784,167.379 "/> + <polygon id="Stroke-141" class="st2" points="88.784,167.379 88.791,178.254 18.248,135.867 18.241,124.992 "/> + <polygon id="Fill-143" class="st3" points="88.784,167.379 126.835,147.182 126.843,158.057 88.791,178.256 "/> + <polygon id="Fill-145" class="st4" points="18.241,124.992 56.293,104.795 126.835,147.181 88.784,167.379 "/> + <polygon id="Fill-147" class="st5" points="88.784,167.379 88.791,178.256 18.248,135.867 18.241,124.992 "/> + <polyline id="Stroke-149" class="st6" points="18.581,124.998 88.769,167.172 88.769,177.965 "/> + <polygon id="Fill-151" class="st7" points="26.814,138.832 21.376,135.564 21.376,133.996 26.814,137.264 "/> + <polygon id="Fill-153" class="st7" points="66.147,163.313 54.028,156.03 54.028,153.172 66.147,160.456 "/> + <polygon id="Fill-155" class="st7" points="52.362,154.799 40.242,147.516 40.242,144.66 52.362,151.942 "/> + <polygon id="Fill-157" class="st7" points="83.257,173.332 81.282,172.146 81.282,169.842 83.257,171.027 "/> + <polygon id="Stroke-159" class="st2" points="89.057,150.016 127.109,129.817 127.116,140.694 89.064,160.891 "/> + <polygon id="Stroke-161" class="st2" points="18.514,107.629 56.566,87.43 127.109,129.816 89.057,150.016 "/> + <polygon id="Stroke-163" class="st2" points="89.057,150.016 89.064,160.891 18.521,118.505 18.514,107.629 "/> + <polygon id="Fill-165" class="st3" points="89.057,150.016 127.109,129.819 127.116,140.694 89.064,160.893 "/> + <polygon id="Fill-167" class="st4" points="18.514,107.629 56.566,87.432 127.109,129.818 89.057,150.016 "/> + <polygon id="Fill-169" class="st5" points="89.057,150.016 89.064,160.893 18.521,118.505 18.514,107.629 "/> + <polyline id="Stroke-171" class="st6" points="18.855,107.635 89.043,149.809 89.043,160.602 "/> + <polygon id="Fill-173" class="st7" points="27.087,121.469 21.649,118.201 21.649,116.633 27.087,119.901 "/> + <polygon id="Fill-175" class="st7" points="66.421,145.949 54.301,138.666 54.301,135.809 66.421,143.092 "/> + <polygon id="Fill-177" class="st7" points="52.634,137.436 40.515,130.154 40.515,127.297 52.634,134.579 "/> + <polygon id="Fill-179" class="st7" points="83.531,155.969 81.555,154.783 81.555,152.479 83.531,153.664 "/> + <polygon id="Stroke-181" class="st2" points="89.123,132.909 127.175,112.71 127.182,123.586 89.13,143.784 "/> + <polygon id="Stroke-183" class="st2" points="18.58,90.521 56.632,70.323 127.175,112.709 89.123,132.91 "/> + <polygon id="Stroke-185" class="st2" points="89.123,132.909 89.13,143.784 18.587,101.397 18.58,90.521 "/> + <polygon id="Fill-187" class="st3" points="89.123,132.909 127.175,112.712 127.182,123.587 89.13,143.785 "/> + <polygon id="Fill-189" class="st4" points="18.58,90.522 56.632,70.325 127.175,112.711 89.123,132.91 "/> + <polygon id="Fill-191" class="st5" points="89.123,132.909 89.13,143.785 18.587,101.397 18.58,90.522 "/> + <polyline id="Stroke-193" class="st6" points="18.921,90.527 89.109,132.701 89.109,143.495 "/> + <polygon id="Fill-195" class="st7" points="27.154,104.362 21.716,101.093 21.716,99.526 27.154,102.794 "/> + <polygon id="Fill-197" class="st7" points="66.488,128.842 54.368,121.56 54.368,118.702 66.488,125.986 "/> + <polygon id="Fill-199" class="st7" points="52.702,120.328 40.582,113.046 40.582,110.19 52.702,117.472 "/> + <polygon id="Fill-201" class="st7" points="83.597,138.861 81.622,137.676 81.622,135.371 83.597,136.557 "/> + <polygon id="Stroke-203" class="st2" points="88.851,116.817 126.904,96.618 126.91,107.494 88.859,127.692 "/> + <polygon id="Stroke-205" class="st2" points="18.309,74.43 56.361,54.232 126.904,96.618 88.851,116.818 "/> + <polygon id="Stroke-207" class="st2" points="88.851,116.817 88.859,127.692 18.316,85.306 18.309,74.429 "/> + <polygon id="Fill-209" class="st3" points="88.851,116.817 126.904,96.62 126.91,107.495 88.859,127.693 "/> + <polygon id="Fill-211" class="st4" points="18.309,74.431 56.361,54.233 126.904,96.62 88.851,116.818 "/> + <polygon id="Fill-213" class="st5" points="88.851,116.817 88.859,127.693 18.316,85.306 18.309,74.43 "/> + <polyline id="Stroke-215" class="st6" points="18.65,74.436 88.838,116.61 88.838,127.404 "/> + <polygon id="Fill-217" class="st7" points="26.882,88.27 21.443,85.002 21.443,83.434 26.882,86.703 "/> + <polygon id="Fill-219" class="st7" points="66.216,112.75 54.096,105.468 54.096,102.61 66.216,109.894 "/> + <polygon id="Fill-221" class="st7" points="52.43,104.236 40.31,96.954 40.31,94.098 52.43,101.38 "/> + <polygon id="Fill-223" class="st7" points="83.326,122.77 81.351,121.585 81.351,119.28 83.326,120.466 "/> + <polygon id="Stroke-225" class="st2" points="88.758,99.091 126.81,78.892 126.817,89.768 88.765,109.966 "/> + <polygon id="Stroke-227" class="st2" points="18.215,56.703 56.267,36.505 126.81,78.891 88.758,99.091 "/> + <polygon id="Stroke-229" class="st2" points="88.758,99.091 88.765,109.966 18.222,67.579 18.215,56.703 "/> + <polygon id="Fill-231" class="st3" points="88.758,99.091 126.81,78.894 126.817,89.769 88.765,109.967 "/> + <polygon id="Fill-233" class="st4" points="18.215,56.704 56.267,36.506 126.81,78.893 88.758,99.091 "/> + <polygon id="Fill-235" class="st5" points="88.758,99.091 88.765,109.967 18.222,67.579 18.215,56.704 "/> + <polyline id="Stroke-237" class="st6" points="18.555,56.709 88.744,98.883 88.744,109.677 "/> + <polygon id="Fill-239" class="st7" points="26.788,70.544 21.35,67.275 21.35,65.708 26.788,68.976 "/> + <polygon id="Fill-241" class="st7" points="66.122,95.023 54.002,87.742 54.002,84.883 66.122,92.167 "/> + <polygon id="Fill-243" class="st7" points="52.336,86.51 40.216,79.228 40.216,76.372 52.336,83.654 "/> + <polygon id="Fill-245" class="st7" points="83.232,105.043 81.257,103.858 81.257,101.553 83.232,102.739 "/> + <polygon id="Stroke-247" class="st2" points="89.032,81.727 127.084,61.528 127.091,72.405 89.039,92.603 "/> + <polygon id="Stroke-249" class="st2" points="18.489,39.34 56.541,19.142 127.084,61.527 89.032,81.727 "/> + <polygon id="Stroke-251" class="st2" points="89.032,81.727 89.039,92.603 18.496,50.217 18.489,39.34 "/> + <polygon id="Fill-253" class="st3" points="89.032,81.727 127.084,61.53 127.091,72.406 89.039,92.604 "/> + <polygon id="Fill-255" class="st4" points="18.489,39.341 56.541,19.143 127.084,61.529 89.032,81.727 "/> + <polygon id="Fill-257" class="st5" points="89.032,81.727 89.039,92.604 18.496,50.217 18.489,39.341 "/> + <polyline id="Stroke-259" class="st6" points="18.829,39.346 89.017,81.52 89.017,92.314 "/> + <polygon id="Fill-261" class="st7" points="27.062,53.18 21.624,49.912 21.624,48.344 27.062,51.613 "/> + <polygon id="Fill-263" class="st7" points="66.396,77.66 54.276,70.377 54.276,67.521 66.396,74.804 "/> + <polygon id="Fill-265" class="st7" points="52.61,69.146 40.489,61.866 40.489,59.007 52.61,66.29 "/> + <polygon id="Fill-267" class="st7" points="83.505,87.68 81.53,86.495 81.53,84.19 83.505,85.375 "/> + </g> + </g> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_EoR.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_EoR.svg new file mode 100644 index 0000000000000000000000000000000000000000..0057bc1f62f17b1b7362434720d4170d69007436 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_EoR.svg @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 142.398 288.854" style="enable-background:new 0 0 142.398 288.854;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#E7EBF0;} + .st1{fill:none;stroke:#B8C6D3;stroke-width:1.941;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#626366;stroke-width:2.676;stroke-linejoin:round;} + .st3{fill:#898B8E;} + .st4{fill:#BBBDBF;} + .st5{fill:#B3B5B7;} + .st6{fill:none;stroke:#DFE0DF;stroke-width:0.655;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#FEFEFE;} + .st8{fill:none;stroke:#626366;stroke-width:2.621;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-datacenter-rack3</title> +<desc>Created with Sketch.</desc> +<path id="Fill-1" class="st0" d="M0.976,32.926c0-1.228,0.06-1.916,0.306-2.581c0.247-0.665,1.627-1.4,1.627-1.4L55.914,0.97 + l82.568,47.6c0,0,2.17,0.975,2.602,2.545c0.492,1.784,0.31,5.347,0.31,5.347l-0.125,196.828c0,0,0.163,4.29-0.888,5.52 + c-0.573,0.678-3.044,2.162-3.044,2.162l-50.77,26.012c0,0-3.595,2.204-7.228-0.288c-3.35-2.297-67.101-38.225-67.101-38.225 + s-11.449-3.66-11.262-22.524C1.136,209.365,0.934,52.008,0.976,32.926"/> +<path id="Stroke-3" class="st1" d="M0.976,32.926c0-1.228,0.06-1.916,0.306-2.581c0.247-0.665,1.627-1.4,1.627-1.4L55.914,0.97 + l82.568,47.6c0,0,2.17,0.975,2.602,2.545c0.492,1.784,0.31,5.347,0.31,5.347l-0.125,196.828c0,0,0.163,4.29-0.888,5.52 + c-0.573,0.678-3.044,2.162-3.044,2.162l-50.77,26.012c0,0-3.595,2.204-7.228-0.288c-3.35-2.297-67.101-38.225-67.101-38.225 + s-11.449-3.66-11.262-22.524C1.136,209.365,0.934,52.008,0.976,32.926z"/> +<polygon id="Stroke-5" class="st2" points="86.917,193.531 124.282,173.423 124.323,251.697 86.956,272.24 "/> +<polygon id="Stroke-7" class="st2" points="17.544,151.275 54.91,131.167 124.282,173.422 86.917,193.531 "/> +<polygon id="Stroke-9" class="st2" points="86.917,193.531 86.956,272.24 17.583,230.531 17.544,151.275 "/> +<polygon id="Fill-11" class="st3" points="86.917,193.531 124.282,173.423 124.323,251.697 86.956,272.24 "/> +<polygon id="Fill-13" class="st4" points="17.544,151.275 54.91,131.167 124.282,173.422 86.917,193.531 "/> +<polygon id="Fill-15" class="st5" points="86.917,193.531 86.956,272.24 17.583,230.531 17.544,151.275 "/> +<polyline id="Stroke-17" class="st6" points="17.544,151.148 86.956,192.773 86.956,272.24 "/> +<polygon id="Fill-19" class="st7" points="24.082,181.463 24.082,167.163 25.449,167.986 25.449,182.286 "/> +<polygon id="Fill-21" class="st7" points="20.526,179.327 20.526,165.027 21.899,165.852 21.899,180.152 "/> +<polygon id="Fill-23" class="st7" points="27.471,183.499 27.471,169.201 28.844,170.025 28.844,184.323 "/> +<polygon id="Fill-25" class="st7" points="30.689,185.43 30.689,171.133 32.059,171.956 32.059,186.256 "/> +<polygon id="Fill-27" class="st7" points="34.021,187.434 34.021,173.137 35.388,173.958 35.388,188.257 "/> +<polygon id="Fill-29" class="st7" points="41.249,191.676 41.249,177.377 42.617,178.199 42.617,192.499 "/> +<polygon id="Fill-31" class="st7" points="37.693,189.54 37.693,175.241 39.066,176.066 39.066,190.366 "/> +<polygon id="Fill-33" class="st7" points="44.638,193.714 44.638,179.413 46.011,180.239 46.011,194.536 "/> +<polygon id="Fill-35" class="st7" points="47.856,195.644 47.856,181.346 49.226,182.169 49.226,196.469 "/> +<polygon id="Fill-37" class="st7" points="51.188,197.648 51.188,183.351 52.556,184.173 52.556,198.469 "/> +<polygon id="Fill-39" class="st7" points="58.063,201.785 58.063,187.484 59.433,188.308 59.433,202.607 "/> +<polygon id="Fill-41" class="st7" points="54.511,199.648 54.511,185.349 55.881,186.174 55.881,200.474 "/> +<polygon id="Fill-43" class="st7" points="61.456,203.822 61.456,189.521 62.826,190.346 62.826,204.645 "/> +<polygon id="Fill-45" class="st7" points="64.671,205.753 64.671,191.456 66.041,192.279 66.041,206.577 "/> +<polygon id="Fill-47" class="st7" points="68.003,207.757 68.003,193.46 69.374,194.282 69.374,208.579 "/> +<polygon id="Fill-49" class="st7" points="75.112,212.277 75.112,197.977 76.482,198.799 76.482,213.1 "/> +<polygon id="Fill-51" class="st7" points="71.558,210.141 71.558,195.84 72.928,196.665 72.928,210.965 "/> +<polygon id="Fill-53" class="st7" points="78.504,214.314 78.504,200.015 79.874,200.84 79.874,215.137 "/> +<polygon id="Fill-55" class="st7" points="81.72,216.245 81.72,201.948 83.09,202.771 83.09,217.071 "/> +<polygon id="Fill-57" class="st7" points="23.953,199.922 23.953,185.622 25.321,186.443 25.321,200.743 "/> +<polygon id="Fill-59" class="st7" points="20.397,197.786 20.397,183.486 21.77,184.311 21.77,198.611 "/> +<polygon id="Fill-61" class="st7" points="27.343,201.958 27.343,187.659 28.716,188.484 28.716,202.782 "/> +<polygon id="Fill-63" class="st7" points="30.56,203.889 30.56,189.592 31.93,190.413 31.93,204.714 "/> +<polygon id="Fill-65" class="st7" points="33.892,205.893 33.892,191.596 35.26,192.418 35.26,206.715 "/> +<polygon id="Fill-67" class="st7" points="41.12,210.135 41.12,195.836 42.488,196.658 42.488,210.958 "/> +<polygon id="Fill-69" class="st7" points="37.565,207.999 37.565,193.7 38.938,194.525 38.938,208.825 "/> +<polygon id="Fill-71" class="st7" points="44.51,212.173 44.51,197.872 45.883,198.698 45.883,212.995 "/> +<polygon id="Fill-73" class="st7" points="47.728,214.103 47.728,199.805 49.098,200.628 49.098,214.928 "/> +<polygon id="Fill-75" class="st7" points="51.06,216.107 51.06,201.809 52.427,202.632 52.427,216.928 "/> +<polygon id="Fill-77" class="st7" points="57.935,220.243 57.935,205.943 59.305,206.766 59.305,221.066 "/> +<polygon id="Fill-79" class="st7" points="54.382,218.107 54.382,203.808 55.753,204.633 55.753,218.933 "/> +<polygon id="Fill-81" class="st7" points="61.327,222.281 61.327,207.98 62.697,208.805 62.697,223.103 "/> +<polygon id="Fill-83" class="st7" points="64.543,224.212 64.543,209.915 65.913,210.736 65.913,225.036 "/> +<polygon id="Fill-85" class="st7" points="67.875,226.215 67.875,211.918 69.245,212.741 69.245,227.038 "/> +<polygon id="Fill-87" class="st7" points="74.983,230.736 74.983,216.436 76.353,217.258 76.353,231.559 "/> +<polygon id="Fill-89" class="st7" points="71.43,228.6 71.43,214.299 72.8,215.124 72.8,229.424 "/> +<polygon id="Fill-91" class="st7" points="78.375,232.773 78.375,218.473 79.745,219.298 79.745,233.596 "/> +<polygon id="Fill-93" class="st7" points="81.591,234.704 81.591,220.407 82.961,221.23 82.961,235.53 "/> +<polygon id="Fill-95" class="st7" points="23.953,218.379 23.953,204.079 25.321,204.904 25.321,219.202 "/> +<polygon id="Fill-97" class="st7" points="20.397,216.245 20.397,201.946 21.77,202.768 21.77,217.068 "/> +<polygon id="Fill-99" class="st7" points="27.343,220.415 27.343,206.118 28.716,206.941 28.716,221.242 "/> +<polygon id="Fill-101" class="st7" points="30.56,222.346 30.56,208.049 31.93,208.872 31.93,223.172 "/> +<polygon id="Fill-103" class="st7" points="33.892,224.35 33.892,210.053 35.26,210.874 35.26,225.173 "/> +<polygon id="Fill-105" class="st7" points="41.12,228.592 41.12,214.293 42.488,215.118 42.488,229.415 "/> +<polygon id="Fill-107" class="st7" points="37.565,226.458 37.565,212.16 38.938,212.982 38.938,227.282 "/> +<polygon id="Fill-109" class="st7" points="44.51,230.63 44.51,216.333 45.883,217.155 45.883,231.454 "/> +<polygon id="Fill-111" class="st7" points="47.728,232.56 47.728,218.262 49.098,219.085 49.098,233.385 "/> +<polygon id="Fill-113" class="st7" points="51.06,234.564 51.06,220.267 52.427,221.089 52.427,235.385 "/> +<polygon id="Fill-115" class="st7" points="57.935,238.701 57.935,224.4 59.305,225.226 59.305,239.523 "/> +<polygon id="Fill-117" class="st7" points="54.382,236.568 54.382,222.268 55.753,223.09 55.753,237.39 "/> +<polygon id="Fill-119" class="st7" points="61.327,240.738 61.327,226.441 62.697,227.262 62.697,241.563 "/> +<polygon id="Fill-121" class="st7" points="64.543,242.669 64.543,228.372 65.913,229.195 65.913,243.493 "/> +<polygon id="Fill-123" class="st7" points="67.875,244.673 67.875,230.376 69.245,231.198 69.245,245.495 "/> +<polygon id="Fill-125" class="st7" points="74.983,249.193 74.983,234.893 76.353,235.719 76.353,250.016 "/> +<polygon id="Fill-127" class="st7" points="71.43,247.06 71.43,232.76 72.8,233.581 72.8,247.882 "/> +<polygon id="Fill-129" class="st7" points="78.375,251.23 78.375,236.933 79.745,237.756 79.745,252.055 "/> +<polygon id="Fill-131" class="st7" points="81.591,253.161 81.591,238.864 82.961,239.687 82.961,253.986 "/> +<polygon id="Fill-133" class="st7" points="82.494,259.3 19.624,221.441 19.624,219.93 82.494,257.792 "/> +<polygon id="Fill-135" class="st7" points="82.494,262.867 19.624,225.008 19.624,223.497 82.494,261.359 "/> +<polygon id="Stroke-137" class="st2" points="87.415,108.543 124.779,88.436 124.819,166.708 87.453,187.253 "/> +<polygon id="Stroke-139" class="st2" points="18.041,66.288 55.407,46.18 124.779,88.435 87.415,108.543 "/> +<polygon id="Stroke-141" class="st2" points="87.415,108.543 87.453,187.253 18.08,145.544 18.041,66.288 "/> +<polygon id="Fill-143" class="st3" points="87.415,108.543 124.779,88.436 124.819,166.708 87.453,187.253 "/> +<polygon id="Fill-145" class="st4" points="18.041,66.288 55.407,46.18 124.779,88.435 87.415,108.543 "/> +<polygon id="Fill-147" class="st5" points="87.415,108.543 87.453,187.253 18.08,145.544 18.041,66.288 "/> +<polyline id="Stroke-149" class="st6" points="18.041,66.16 87.453,107.785 87.453,187.253 "/> +<polygon id="Fill-151" class="st7" points="24.579,96.475 24.579,82.175 25.946,82.997 25.946,97.297 "/> +<polygon id="Fill-153" class="st7" points="21.023,94.34 21.023,80.04 22.395,80.865 22.395,95.165 "/> +<polygon id="Fill-155" class="st7" points="27.968,98.512 27.968,84.213 29.341,85.037 29.341,99.335 "/> +<polygon id="Fill-157" class="st7" points="31.186,100.443 31.186,86.146 32.556,86.968 32.556,101.268 "/> +<polygon id="Fill-159" class="st7" points="34.518,102.447 34.518,88.15 35.885,88.972 35.885,103.269 "/> +<polygon id="Fill-161" class="st7" points="41.746,106.689 41.746,92.389 43.114,93.211 43.114,107.511 "/> +<polygon id="Fill-163" class="st7" points="38.19,104.553 38.19,90.254 39.563,91.078 39.563,105.379 "/> +<polygon id="Fill-165" class="st7" points="45.136,108.726 45.136,94.426 46.509,95.251 46.509,109.548 "/> +<polygon id="Fill-167" class="st7" points="48.353,110.657 48.353,96.36 49.723,97.182 49.723,111.482 "/> +<polygon id="Fill-169" class="st7" points="51.685,112.661 51.685,98.363 53.053,99.186 53.053,113.483 "/> +<polygon id="Fill-171" class="st7" points="58.56,116.798 58.56,102.498 59.93,103.32 59.93,117.62 "/> +<polygon id="Fill-173" class="st7" points="55.008,114.662 55.008,100.362 56.378,101.187 56.378,115.487 "/> +<polygon id="Fill-175" class="st7" points="61.952,118.835 61.952,104.535 63.323,105.36 63.323,119.657 "/> +<polygon id="Fill-177" class="st7" points="65.168,120.765 65.168,106.468 66.538,107.29 66.538,121.59 "/> +<polygon id="Fill-179" class="st7" points="68.5,122.769 68.5,108.471 69.871,109.294 69.871,123.59 "/> +<polygon id="Fill-181" class="st7" points="75.608,127.29 75.608,112.99 76.979,113.813 76.979,128.113 "/> +<polygon id="Fill-183" class="st7" points="72.055,125.154 72.055,110.854 73.425,111.679 73.425,125.979 "/> +<polygon id="Fill-185" class="st7" points="79.001,129.327 79.001,115.027 80.371,115.852 80.371,130.15 "/> +<polygon id="Fill-187" class="st7" points="82.216,131.258 82.216,116.961 83.587,117.784 83.587,132.083 "/> +<polygon id="Fill-189" class="st7" points="24.45,114.934 24.45,100.634 25.817,101.456 25.817,115.756 "/> +<polygon id="Fill-191" class="st7" points="20.894,112.799 20.894,98.499 22.267,99.324 22.267,113.624 "/> +<polygon id="Fill-193" class="st7" points="27.84,116.971 27.84,102.672 29.212,103.496 29.212,117.793 "/> +<polygon id="Fill-195" class="st7" points="31.057,118.902 31.057,104.604 32.427,105.427 32.427,119.727 "/> +<polygon id="Fill-197" class="st7" points="34.389,120.906 34.389,106.608 35.757,107.431 35.757,121.728 "/> +<polygon id="Fill-199" class="st7" points="41.618,125.147 41.618,110.847 42.985,111.67 42.985,125.97 "/> +<polygon id="Fill-201" class="st7" points="38.062,123.011 38.062,108.712 39.434,109.536 39.434,123.837 "/> +<polygon id="Fill-203" class="st7" points="45.007,127.185 45.007,112.885 46.38,113.71 46.38,128.007 "/> +<polygon id="Fill-205" class="st7" points="48.225,129.116 48.225,114.818 49.595,115.641 49.595,129.941 "/> +<polygon id="Fill-207" class="st7" points="51.557,131.118 51.557,116.822 52.924,117.644 52.924,131.941 "/> +<polygon id="Fill-209" class="st7" points="58.432,135.256 58.432,120.956 59.802,121.779 59.802,136.079 "/> +<polygon id="Fill-211" class="st7" points="54.879,133.12 54.879,118.82 56.25,119.645 56.25,133.945 "/> +<polygon id="Fill-213" class="st7" points="61.824,137.294 61.824,122.993 63.194,123.819 63.194,138.116 "/> +<polygon id="Fill-215" class="st7" points="65.04,139.224 65.04,124.926 66.41,125.749 66.41,140.049 "/> +<polygon id="Fill-217" class="st7" points="68.372,141.227 68.372,126.93 69.742,127.753 69.742,142.049 "/> +<polygon id="Fill-219" class="st7" points="75.48,145.749 75.48,131.449 76.85,132.271 76.85,146.571 "/> +<polygon id="Fill-221" class="st7" points="71.928,143.613 71.928,129.313 73.298,130.137 73.298,144.438 "/> +<polygon id="Fill-223" class="st7" points="78.872,147.786 78.872,133.486 80.242,134.311 80.242,148.607 "/> +<polygon id="Fill-225" class="st7" points="82.088,149.717 82.088,135.42 83.458,136.242 83.458,150.542 "/> +<polygon id="Fill-227" class="st7" points="24.45,133.391 24.45,119.09 25.817,119.916 25.817,134.213 "/> +<polygon id="Fill-229" class="st7" points="20.894,131.258 20.894,116.959 22.267,117.781 22.267,132.081 "/> +<polygon id="Fill-231" class="st7" points="27.84,135.428 27.84,121.132 29.212,121.953 29.212,136.254 "/> +<polygon id="Fill-233" class="st7" points="31.057,137.359 31.057,123.062 32.427,123.884 32.427,138.184 "/> +<polygon id="Fill-235" class="st7" points="34.389,139.363 34.389,125.066 35.757,125.888 35.757,140.185 "/> +<polygon id="Fill-237" class="st7" points="41.618,143.605 41.618,129.305 42.985,130.13 42.985,144.426 "/> +<polygon id="Fill-239" class="st7" points="38.062,141.471 38.062,127.172 39.434,127.993 39.434,142.295 "/> +<polygon id="Fill-241" class="st7" points="45.007,145.642 45.007,131.344 46.38,132.167 46.38,146.467 "/> +<polygon id="Fill-243" class="st7" points="48.225,147.573 48.225,133.275 49.595,134.098 49.595,148.398 "/> +<polygon id="Fill-245" class="st7" points="51.557,149.577 51.557,135.279 52.924,136.102 52.924,150.398 "/> +<polygon id="Fill-247" class="st7" points="58.432,153.714 58.432,139.413 59.802,140.239 59.802,154.536 "/> +<polygon id="Fill-249" class="st7" points="54.879,151.579 54.879,137.28 56.25,138.103 56.25,152.402 "/> +<polygon id="Fill-251" class="st7" points="61.824,155.751 61.824,141.454 63.194,142.275 63.194,156.576 "/> +<polygon id="Fill-253" class="st7" points="65.04,157.68 65.04,143.383 66.41,144.206 66.41,158.506 "/> +<polygon id="Fill-255" class="st7" points="68.372,159.685 68.372,145.387 69.742,146.21 69.742,160.507 "/> +<polygon id="Fill-257" class="st7" points="75.48,164.206 75.48,149.906 76.85,150.73 76.85,165.029 "/> +<polygon id="Fill-259" class="st7" points="71.928,162.073 71.928,147.773 73.298,148.594 73.298,162.895 "/> +<polygon id="Fill-261" class="st7" points="78.872,166.243 78.872,151.946 80.242,152.768 80.242,167.068 "/> +<polygon id="Fill-263" class="st7" points="82.088,168.174 82.088,153.877 83.458,154.7 83.458,168.999 "/> +<polygon id="Fill-265" class="st7" points="82.991,174.313 20.121,136.452 20.121,134.941 82.991,172.805 "/> +<polygon id="Fill-267" class="st7" points="82.991,177.881 20.121,140.02 20.121,138.51 82.991,176.372 "/> +<polygon id="Fill-269" class="st7" points="31.182,218.551 27.948,216.614 27.948,214.505 31.182,216.445 "/> +<polygon id="Stroke-271" class="st8" points="86.686,93.25 123.622,73.643 123.629,84.2 86.691,103.808 "/> +<polygon id="Stroke-273" class="st8" points="18.209,52.103 55.147,32.498 123.622,73.642 86.687,93.249 "/> +<polygon id="Stroke-275" class="st8" points="86.686,93.25 86.691,103.808 18.216,62.661 18.208,52.104 "/> +<polygon id="Fill-277" class="st3" points="86.686,93.25 123.622,73.646 123.629,84.2 86.691,103.808 "/> +<polygon id="Fill-279" class="st4" points="18.209,52.104 55.147,32.498 123.622,73.645 86.687,93.25 "/> +<polygon id="Fill-281" class="st5" points="86.686,93.25 86.691,103.808 18.216,62.661 18.208,52.104 "/> +<polyline id="Stroke-283" class="st6" points="18.541,52.11 86.672,93.047 86.672,103.525 "/> +<polygon id="Fill-285" class="st7" points="81.322,99.026 79.404,97.877 79.404,95.639 81.322,96.791 "/> +<polygon id="Stroke-287" class="st8" points="86.951,76.393 123.889,56.785 123.894,67.343 86.958,86.951 "/> +<polygon id="Stroke-289" class="st8" points="18.474,35.249 55.411,15.642 123.889,56.785 86.951,76.394 "/> +<polygon id="Stroke-291" class="st8" points="86.951,76.393 86.958,86.951 18.481,45.806 18.474,35.248 "/> +<polygon id="Fill-293" class="st3" points="86.951,76.393 123.889,56.788 123.894,67.346 86.958,86.954 "/> +<polygon id="Fill-295" class="st4" points="18.474,35.25 55.411,15.642 123.889,56.788 86.951,76.394 "/> +<polygon id="Fill-297" class="st5" points="86.951,76.393 86.958,86.954 18.481,45.806 18.474,35.249 "/> +<polyline id="Stroke-299" class="st6" points="18.805,35.255 86.938,76.193 86.938,86.671 "/> +<polygon id="Fill-301" class="st7" points="81.587,82.173 79.669,81.024 79.669,78.785 81.587,79.937 "/> +<polygon id="Fill-303" class="st7" points="44.387,72.965 32.986,66.116 32.986,63.431 44.387,70.279 "/> +<polygon id="Fill-305" class="st7" points="44.344,77.024 32.944,70.175 32.944,67.492 44.344,74.34 "/> +<polygon id="Fill-307" class="st7" points="54.677,83.195 45.923,77.935 45.923,75.872 54.677,81.132 "/> +<polygon id="Fill-309" class="st7" points="31.836,65.377 20.438,58.528 20.438,55.839 31.836,62.686 "/> +<polygon id="Fill-311" class="st7" points="31.796,69.438 20.398,62.589 20.398,59.901 31.796,66.75 "/> +<polygon id="Fill-313" class="st7" points="59.311,86.009 56.078,84.073 56.078,82.023 59.311,83.959 "/> +<polygon id="Fill-315" class="st7" points="44.098,55.091 32.698,48.243 32.698,45.556 44.098,52.405 "/> +<polygon id="Fill-317" class="st7" points="44.054,59.149 32.653,52.3 32.653,49.616 44.054,56.466 "/> +<polygon id="Fill-319" class="st7" points="54.388,65.322 45.634,60.061 45.634,57.999 54.388,63.258 "/> +<polygon id="Fill-321" class="st7" points="31.548,47.503 20.15,40.653 20.15,37.963 31.548,44.813 "/> +<polygon id="Fill-323" class="st7" points="31.507,51.562 20.109,44.713 20.109,42.027 31.507,48.875 "/> +<polygon id="Fill-325" class="st7" points="59.024,68.135 55.79,66.198 55.79,64.149 59.024,66.084 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_Storage_Unit_Small.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_Storage_Unit_Small.svg new file mode 100644 index 0000000000000000000000000000000000000000..bc86b0d45655f52983f8e429c24ccc98e1515778 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_Storage_Unit_Small.svg @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 128.816 111.766" style="enable-background:new 0 0 128.816 111.766;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3.124;stroke-linejoin:round;} + .st1{fill:#416895;} + .st2{fill:#7D91B4;} + .st3{fill:#607BA4;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:1.033;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#DFE0DF;stroke-width:1.032;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DFE0DF;} + .st7{fill:none;stroke:#FEFEFE;stroke-width:0.437;stroke-linejoin:round;} +</style> +<title>icon-blueSwitch-small-generic</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="83.194,73.986 127.225,50.611 127.254,86.831 83.22,110.204 "/> +<polygon id="Stroke-3" class="st0" points="1.562,24.934 45.594,1.562 127.225,50.611 83.194,73.986 "/> +<polygon id="Stroke-5" class="st0" points="83.194,73.986 83.22,110.204 1.587,61.154 1.562,24.934 "/> +<polygon id="Fill-8" class="st1" points="83.194,73.986 127.225,50.611 127.254,86.831 83.22,110.204 "/> +<polygon id="Fill-9" class="st2" points="1.562,24.934 45.594,1.562 127.225,50.611 83.194,73.986 "/> +<polygon id="Fill-10" class="st3" points="83.194,73.986 83.22,110.204 1.587,61.154 1.562,24.934 "/> +<path id="Stroke-11" class="st4" d="M1.562,25.055l81.632,49.456"/> +<path id="Stroke-13" class="st5" d="M83.194,74.602v35.48"/> +<path id="Fill-15" class="st6" d="M22.118,49.625c0,0.369-0.257,0.512-0.57,0.317L6.261,40.477c-0.314-0.195-0.571-0.656-0.57-1.025 + l0.01-7.014c0.001-0.369,0.258-0.511,0.571-0.317l15.282,9.465c0.313,0.194,0.57,0.655,0.57,1.024L22.118,49.625z"/> +<path id="Stroke-17" class="st7" d="M22.118,49.625c0,0.369-0.257,0.512-0.57,0.317L6.261,40.477 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.01-7.014c0.001-0.369,0.258-0.511,0.571-0.317l15.282,9.465 + c0.313,0.194,0.57,0.655,0.57,1.024L22.118,49.625z"/> +<path id="Fill-19" class="st6" d="M22.107,60.247c-0.001,0.369-0.258,0.512-0.571,0.317L6.252,51.097 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.007-7.012c0.001-0.37,0.258-0.512,0.571-0.318l15.284,9.466 + c0.313,0.194,0.57,0.655,0.569,1.024L22.107,60.247z"/> +<path id="Stroke-21" class="st7" d="M22.107,60.247c-0.001,0.369-0.258,0.512-0.571,0.317L6.252,51.097 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.007-7.012c0.001-0.37,0.258-0.512,0.571-0.318l15.284,9.466 + c0.313,0.194,0.57,0.655,0.569,1.024L22.107,60.247z"/> +<path id="Fill-23" class="st6" d="M22.096,70.87c0,0.369-0.257,0.512-0.57,0.317L6.242,61.719c-0.313-0.195-0.57-0.656-0.57-1.025 + l0.006-7.016c0-0.37,0.257-0.512,0.57-0.318l15.284,9.468c0.313,0.194,0.57,0.655,0.57,1.024L22.096,70.87z"/> +<path id="Stroke-25" class="st7" d="M22.096,70.87c0,0.369-0.257,0.512-0.57,0.317L6.242,61.719c-0.313-0.195-0.57-0.656-0.57-1.025 + l0.006-7.016c0-0.37,0.257-0.512,0.57-0.318l15.284,9.468c0.313,0.194,0.57,0.655,0.57,1.024L22.096,70.87z"/> +<path id="Fill-27" class="st6" d="M40.272,60.87c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.465 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.008-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.286,9.467 + c0.313,0.194,0.57,0.655,0.569,1.024L40.272,60.87z"/> +<path id="Stroke-29" class="st7" d="M40.272,60.87c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.465 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.008-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.286,9.467 + c0.313,0.194,0.57,0.655,0.569,1.024L40.272,60.87z"/> +<path id="Fill-31" class="st6" d="M40.262,71.49c0,0.369-0.257,0.512-0.57,0.317l-15.286-9.465c-0.314-0.195-0.571-0.656-0.57-1.025 + l0.007-7.014c0.001-0.369,0.258-0.511,0.571-0.317l15.284,9.465c0.313,0.194,0.57,0.655,0.57,1.024L40.262,71.49z"/> +<path id="Stroke-33" class="st7" d="M40.262,71.49c0,0.369-0.257,0.512-0.57,0.317l-15.286-9.465 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.007-7.014c0.001-0.369,0.258-0.511,0.571-0.317l15.284,9.465 + c0.313,0.194,0.57,0.655,0.57,1.024L40.262,71.49z"/> +<path id="Fill-35" class="st6" d="M40.252,82.112c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.466 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.007-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.287,9.465 + c0.313,0.194,0.57,0.655,0.569,1.024L40.252,82.112z"/> +<path id="Stroke-37" class="st7" d="M40.252,82.112c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.466 + c-0.314-0.195-0.571-0.656-0.57-1.025l0.007-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.287,9.465 + c0.313,0.194,0.57,0.655,0.569,1.024L40.252,82.112z"/> +<path id="Fill-39" class="st6" d="M58.424,72.116c0,0.369-0.257,0.512-0.57,0.317l-15.285-9.468 + c-0.314-0.195-0.571-0.656-0.571-1.025l0.006-7.014c0-0.37,0.257-0.512,0.57-0.318l15.286,9.469c0.313,0.194,0.57,0.655,0.57,1.024 + L58.424,72.116z"/> +<path id="Stroke-41" class="st7" d="M58.424,72.116c0,0.369-0.257,0.512-0.57,0.317l-15.285-9.468 + c-0.314-0.195-0.571-0.656-0.571-1.025l0.006-7.014c0-0.37,0.257-0.512,0.57-0.318l15.286,9.469c0.313,0.194,0.57,0.655,0.57,1.024 + L58.424,72.116z"/> +<path id="Fill-43" class="st6" d="M58.414,82.735c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.466 + c-0.314-0.195-0.57-0.656-0.57-1.025l0.009-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.285,9.467 + c0.314,0.194,0.571,0.655,0.57,1.024L58.414,82.735z"/> +<path id="Stroke-45" class="st7" d="M58.414,82.735c-0.001,0.369-0.258,0.512-0.571,0.317l-15.286-9.466 + c-0.314-0.195-0.57-0.656-0.57-1.025l0.009-7.014c0.001-0.37,0.258-0.512,0.571-0.318l15.285,9.467 + c0.314,0.194,0.571,0.655,0.57,1.024L58.414,82.735z"/> +<path id="Fill-47" class="st6" d="M58.402,93.357c-0.001,0.369-0.258,0.512-0.571,0.317L42.548,84.21 + c-0.313-0.195-0.57-0.656-0.569-1.025l0.004-7.018c0.001-0.37,0.258-0.512,0.571-0.318l15.288,9.47 + c0.314,0.194,0.571,0.655,0.57,1.024L58.402,93.357z"/> +<path id="Stroke-49" class="st7" d="M58.402,93.357c-0.001,0.369-0.258,0.512-0.571,0.317L42.548,84.21 + c-0.313-0.195-0.57-0.656-0.569-1.025l0.004-7.018c0.001-0.37,0.258-0.512,0.571-0.318l15.288,9.47 + c0.314,0.194,0.571,0.655,0.57,1.024L58.402,93.357z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_ToR.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_ToR.svg new file mode 100644 index 0000000000000000000000000000000000000000..281dd0fc6e563b905b8542ad078e89b5c1ef7033 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Rack_ToR.svg @@ -0,0 +1,163 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 146.697 297.571" style="enable-background:new 0 0 146.697 297.571;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#E7EBF0;} + .st1{fill:none;stroke:#B8C6D3;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#626366;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#416895;} + .st4{fill:#7D91B4;} + .st5{fill:#607BA4;} + .st6{fill:none;stroke:#DFE0DF;stroke-width:0.675;stroke-linecap:round;stroke-linejoin:round;} + .st7{fill:#FEFEFE;} + .st8{fill:#898B8E;} + .st9{fill:#BBBDBF;} + .st10{fill:#B3B5B7;} +</style> +<title>icon-datacenter-rack2</title> +<desc>Created with Sketch.</desc> +<path id="Fill-1" class="st0" d="M1.005,33.92c0.003-1.264,0.062-1.974,0.316-2.658c0.254-0.686,1.677-1.444,1.677-1.444L57.603,1 + l85.06,49.035c0,0,2.236,1.006,2.682,2.624c0.506,1.836,0.317,5.508,0.317,5.508l-0.128,202.769c0,0,0.168,4.418-0.914,5.687 + c-0.592,0.695-3.136,2.226-3.136,2.226l-52.302,26.795c0,0-3.703,2.271-7.448-0.295c-3.45-2.366-69.125-39.377-69.125-39.377 + S0.816,252.2,1.005,232.766C1.172,215.682,0.965,53.578,1.005,33.92"/> +<path id="Stroke-3" class="st1" d="M1.005,33.92c0.003-1.264,0.062-1.974,0.316-2.658c0.254-0.686,1.677-1.444,1.677-1.444L57.603,1 + l85.06,49.035c0,0,2.236,1.006,2.682,2.624c0.506,1.836,0.317,5.508,0.317,5.508l-0.128,202.769c0,0,0.168,4.418-0.914,5.687 + c-0.592,0.695-3.136,2.226-3.136,2.226l-52.302,26.795c0,0-3.703,2.271-7.448-0.295c-3.45-2.366-69.125-39.377-69.125-39.377 + S0.816,252.2,1.005,232.766C1.172,215.682,0.965,53.578,1.005,33.92z"/> +<polygon id="Stroke-5" class="st2" points="90.147,270.13 128.2,249.932 128.207,260.808 90.155,281.005 "/> +<polygon id="Stroke-7" class="st2" points="19.605,227.743 57.657,207.545 128.2,249.931 90.147,270.13 "/> +<polygon id="Stroke-9" class="st2" points="90.147,270.13 90.155,281.005 19.612,238.619 19.605,227.743 "/> +<polygon id="Fill-11" class="st3" points="90.147,270.13 128.2,249.934 128.207,260.809 90.155,281.007 "/> +<polygon id="Fill-13" class="st4" points="19.605,227.744 57.657,207.546 128.2,249.933 90.147,270.13 "/> +<polygon id="Fill-15" class="st5" points="90.147,270.13 90.155,281.007 19.612,238.619 19.605,227.744 "/> +<polyline id="Stroke-17" class="st6" points="19.946,227.75 90.134,269.923 90.134,280.716 "/> +<polygon id="Fill-19" class="st7" points="28.178,241.584 22.739,238.315 22.739,236.748 28.178,240.016 "/> +<polygon id="Fill-21" class="st7" points="67.512,266.064 55.392,258.781 55.392,255.923 67.512,263.207 "/> +<polygon id="Fill-23" class="st7" points="53.726,257.55 41.605,250.268 41.605,247.412 53.726,254.694 "/> +<polygon id="Fill-25" class="st7" points="84.621,276.083 82.646,274.897 82.646,272.593 84.621,273.778 "/> +<polygon id="Stroke-27" class="st2" points="89.876,254.039 127.928,233.84 127.935,244.716 89.883,264.914 "/> +<polygon id="Stroke-29" class="st2" points="19.333,211.651 57.384,191.453 127.928,233.839 89.876,254.039 "/> +<polygon id="Stroke-31" class="st2" points="89.876,254.039 89.883,264.914 19.34,222.527 19.333,211.651 "/> +<polygon id="Fill-33" class="st3" points="89.876,254.039 127.928,233.842 127.935,244.717 89.883,264.915 "/> +<polygon id="Fill-35" class="st4" points="19.333,211.652 57.384,191.454 127.928,233.841 89.876,254.039 "/> +<polygon id="Fill-37" class="st5" points="89.876,254.039 89.883,264.915 19.34,222.527 19.333,211.652 "/> +<polyline id="Stroke-39" class="st6" points="19.674,211.658 89.862,253.831 89.862,264.625 "/> +<polygon id="Fill-41" class="st7" points="27.907,225.492 22.469,222.223 22.469,220.656 27.907,223.924 "/> +<polygon id="Fill-43" class="st7" points="67.241,249.972 55.121,242.69 55.121,239.832 67.241,247.116 "/> +<polygon id="Fill-45" class="st7" points="53.454,241.458 41.334,234.176 41.334,231.32 53.454,238.602 "/> +<polygon id="Fill-47" class="st7" points="84.35,259.991 82.375,258.806 82.375,256.501 84.35,257.687 "/> +<polygon id="Stroke-49" class="st2" points="89.783,236.313 127.835,216.113 127.842,226.99 89.789,247.188 "/> +<polygon id="Stroke-51" class="st2" points="19.239,193.925 57.292,173.727 127.835,216.113 89.783,236.313 "/> +<polygon id="Stroke-53" class="st2" points="89.783,236.313 89.789,247.188 19.247,204.801 19.239,193.924 "/> +<polygon id="Fill-55" class="st3" points="89.783,236.313 127.835,216.115 127.842,226.99 89.789,247.189 "/> +<polygon id="Fill-57" class="st4" points="19.239,193.926 57.292,173.728 127.835,216.115 89.783,236.313 "/> +<polygon id="Fill-59" class="st5" points="89.783,236.313 89.789,247.189 19.247,204.801 19.239,193.926 "/> +<polyline id="Stroke-61" class="st6" points="19.58,193.932 89.768,236.105 89.768,246.899 "/> +<polygon id="Fill-63" class="st7" points="27.813,207.766 22.375,204.497 22.375,202.93 27.813,206.198 "/> +<polygon id="Fill-65" class="st7" points="67.147,232.245 55.026,224.963 55.026,222.105 67.147,229.389 "/> +<polygon id="Fill-67" class="st7" points="53.361,223.732 41.241,216.449 41.241,213.594 53.361,220.876 "/> +<polygon id="Fill-69" class="st7" points="84.255,242.265 82.281,241.08 82.281,238.775 84.255,239.961 "/> +<polygon id="Stroke-71" class="st2" points="90.055,218.949 128.108,198.75 128.114,209.626 90.063,229.824 "/> +<polygon id="Stroke-73" class="st2" points="19.513,176.562 57.565,156.364 128.108,198.75 90.055,218.95 "/> +<polygon id="Stroke-75" class="st2" points="90.055,218.949 90.063,229.824 19.52,187.437 19.513,176.561 "/> +<polygon id="Fill-77" class="st3" points="90.055,218.949 128.108,198.752 128.114,209.627 90.063,229.825 "/> +<polygon id="Fill-79" class="st4" points="19.513,176.563 57.565,156.365 128.108,198.751 90.055,218.949 "/> +<polygon id="Fill-81" class="st5" points="90.055,218.949 90.063,229.825 19.52,187.437 19.513,176.562 "/> +<polyline id="Stroke-83" class="st6" points="19.854,176.568 90.042,218.741 90.042,229.535 "/> +<polygon id="Fill-85" class="st7" points="28.086,190.402 22.647,187.133 22.647,185.566 28.086,188.834 "/> +<polygon id="Fill-87" class="st7" points="67.42,214.882 55.3,207.6 55.3,204.742 67.42,212.026 "/> +<polygon id="Fill-89" class="st7" points="53.634,206.368 41.514,199.086 41.514,196.23 53.634,203.512 "/> +<polygon id="Fill-91" class="st7" points="84.53,224.901 82.555,223.716 82.555,221.411 84.53,222.597 "/> +<polygon id="Stroke-93" class="st2" points="90.149,202.197 128.201,181.998 128.208,192.875 90.156,213.072 "/> +<polygon id="Stroke-95" class="st2" points="19.605,159.811 57.658,139.612 128.201,181.998 90.149,202.198 "/> +<polygon id="Stroke-97" class="st2" points="90.149,202.197 90.156,213.072 19.613,170.685 19.605,159.81 "/> +<polygon id="Fill-99" class="st3" points="90.149,202.197 128.201,182 128.208,192.875 90.156,213.074 "/> +<polygon id="Fill-101" class="st4" points="19.605,159.811 57.658,139.614 128.201,182 90.149,202.198 "/> +<polygon id="Fill-103" class="st5" points="90.149,202.197 90.156,213.074 19.613,170.685 19.605,159.81 "/> +<polyline id="Stroke-105" class="st6" points="19.947,159.816 90.135,201.99 90.135,212.783 "/> +<polygon id="Fill-107" class="st7" points="28.179,173.65 22.741,170.382 22.741,168.814 28.179,172.082 "/> +<polygon id="Fill-109" class="st7" points="67.513,198.131 55.393,190.848 55.393,187.99 67.513,195.274 "/> +<polygon id="Fill-111" class="st7" points="53.726,189.617 41.607,182.334 41.607,179.478 53.726,186.76 "/> +<polygon id="Fill-113" class="st7" points="84.622,208.15 82.646,206.964 82.646,204.66 84.622,205.845 "/> +<polygon id="Stroke-115" class="st2" points="89.877,186.105 127.929,165.906 127.936,176.783 89.884,196.98 "/> +<polygon id="Stroke-117" class="st2" points="19.334,143.719 57.386,123.52 127.929,165.906 89.877,186.106 "/> +<polygon id="Stroke-119" class="st2" points="89.877,186.105 89.884,196.98 19.341,154.594 19.334,143.719 "/> +<polygon id="Fill-121" class="st3" points="89.877,186.105 127.929,165.908 127.936,176.783 89.884,196.982 "/> +<polygon id="Fill-123" class="st4" points="19.334,143.719 57.386,123.522 127.929,165.908 89.877,186.106 "/> +<polygon id="Fill-125" class="st5" points="89.877,186.105 89.884,196.982 19.341,154.594 19.334,143.719 "/> +<polyline id="Stroke-127" class="st6" points="19.675,143.725 89.863,185.899 89.863,196.692 "/> +<polygon id="Fill-129" class="st7" points="27.908,157.559 22.47,154.291 22.47,152.723 27.908,155.991 "/> +<polygon id="Fill-131" class="st7" points="67.242,182.039 55.122,174.756 55.122,171.898 67.242,179.182 "/> +<polygon id="Fill-133" class="st7" points="53.455,173.525 41.334,166.242 41.334,163.386 53.455,170.668 "/> +<polygon id="Fill-135" class="st7" points="84.351,192.059 82.376,190.873 82.376,188.569 84.351,189.754 "/> +<polygon id="Stroke-137" class="st2" points="89.784,168.379 127.835,148.18 127.843,159.057 89.791,179.254 "/> +<polygon id="Stroke-139" class="st2" points="19.241,125.992 57.293,105.793 127.835,148.179 89.784,168.379 "/> +<polygon id="Stroke-141" class="st2" points="89.784,168.379 89.791,179.254 19.248,136.867 19.241,125.992 "/> +<polygon id="Fill-143" class="st3" points="89.784,168.379 127.835,148.182 127.843,159.057 89.791,179.256 "/> +<polygon id="Fill-145" class="st4" points="19.241,125.992 57.293,105.795 127.835,148.181 89.784,168.379 "/> +<polygon id="Fill-147" class="st5" points="89.784,168.379 89.791,179.256 19.248,136.867 19.241,125.992 "/> +<polyline id="Stroke-149" class="st6" points="19.581,125.998 89.769,168.172 89.769,178.965 "/> +<polygon id="Fill-151" class="st7" points="27.814,139.832 22.376,136.564 22.376,134.996 27.814,138.264 "/> +<polygon id="Fill-153" class="st7" points="67.147,164.313 55.028,157.029 55.028,154.171 67.147,161.456 "/> +<polygon id="Fill-155" class="st7" points="53.362,155.799 41.242,148.516 41.242,145.66 53.362,152.942 "/> +<polygon id="Fill-157" class="st7" points="84.257,174.332 82.282,173.146 82.282,170.842 84.257,172.027 "/> +<polygon id="Stroke-159" class="st2" points="90.057,151.016 128.109,130.817 128.116,141.694 90.064,161.891 "/> +<polygon id="Stroke-161" class="st2" points="19.514,108.629 57.566,88.43 128.109,130.816 90.057,151.016 "/> +<polygon id="Stroke-163" class="st2" points="90.057,151.016 90.064,161.891 19.521,119.505 19.514,108.629 "/> +<polygon id="Fill-165" class="st3" points="90.057,151.016 128.109,130.819 128.116,141.694 90.064,161.893 "/> +<polygon id="Fill-167" class="st4" points="19.514,108.629 57.566,88.432 128.109,130.818 90.057,151.016 "/> +<polygon id="Fill-169" class="st5" points="90.057,151.016 90.064,161.893 19.521,119.505 19.514,108.629 "/> +<polyline id="Stroke-171" class="st6" points="19.855,108.635 90.043,150.809 90.043,161.602 "/> +<polygon id="Fill-173" class="st7" points="28.087,122.469 22.649,119.201 22.649,117.633 28.087,120.901 "/> +<polygon id="Fill-175" class="st7" points="67.421,146.949 55.301,139.666 55.301,136.809 67.421,144.092 "/> +<polygon id="Fill-177" class="st7" points="53.634,138.436 41.515,131.154 41.515,128.297 53.634,135.579 "/> +<polygon id="Fill-179" class="st7" points="84.531,156.969 82.555,155.783 82.555,153.479 84.531,154.664 "/> +<polygon id="Stroke-181" class="st2" points="90.123,133.909 128.175,113.71 128.182,124.586 90.13,144.784 "/> +<polygon id="Stroke-183" class="st2" points="19.58,91.521 57.632,71.324 128.175,113.71 90.123,133.91 "/> +<polygon id="Stroke-185" class="st2" points="90.123,133.909 90.13,144.784 19.587,102.397 19.58,91.521 "/> +<polygon id="Fill-187" class="st3" points="90.123,133.909 128.175,113.712 128.182,124.587 90.13,144.785 "/> +<polygon id="Fill-189" class="st4" points="19.58,91.522 57.632,71.325 128.175,113.712 90.123,133.91 "/> +<polygon id="Fill-191" class="st5" points="90.123,133.909 90.13,144.785 19.587,102.397 19.58,91.522 "/> +<polyline id="Stroke-193" class="st6" points="19.921,91.527 90.109,133.701 90.109,144.495 "/> +<polygon id="Fill-195" class="st7" points="28.154,105.362 22.716,102.093 22.716,100.526 28.154,103.794 "/> +<polygon id="Fill-197" class="st7" points="67.488,129.842 55.368,122.56 55.368,119.702 67.488,126.986 "/> +<polygon id="Fill-199" class="st7" points="53.702,121.328 41.582,114.046 41.582,111.19 53.702,118.472 "/> +<polygon id="Fill-201" class="st7" points="84.597,139.861 82.622,138.676 82.622,136.371 84.597,137.557 "/> +<polygon id="Stroke-203" class="st2" points="89.851,117.817 127.904,97.618 127.91,108.494 89.859,128.692 "/> +<polygon id="Stroke-205" class="st2" points="19.309,75.43 57.361,55.232 127.904,97.618 89.851,117.818 "/> +<polygon id="Stroke-207" class="st2" points="89.851,117.817 89.859,128.692 19.316,86.306 19.309,75.429 "/> +<polygon id="Fill-209" class="st3" points="89.851,117.817 127.904,97.62 127.91,108.495 89.859,128.693 "/> +<polygon id="Fill-211" class="st4" points="19.309,75.431 57.361,55.233 127.904,97.62 89.851,117.818 "/> +<polygon id="Fill-213" class="st5" points="89.851,117.817 89.859,128.693 19.316,86.306 19.309,75.43 "/> +<polyline id="Stroke-215" class="st6" points="19.65,75.436 89.838,117.61 89.838,128.404 "/> +<polygon id="Fill-217" class="st7" points="27.882,89.27 22.443,86.002 22.443,84.434 27.882,87.703 "/> +<polygon id="Fill-219" class="st7" points="67.216,113.75 55.096,106.468 55.096,103.61 67.216,110.894 "/> +<polygon id="Fill-221" class="st7" points="53.43,105.236 41.31,97.954 41.31,95.098 53.43,102.38 "/> +<polygon id="Fill-223" class="st7" points="84.326,123.77 82.351,122.585 82.351,120.28 84.326,121.466 "/> +<polygon id="Stroke-225" class="st2" points="89.758,100.091 127.81,79.892 127.817,90.768 89.765,110.966 "/> +<polygon id="Stroke-227" class="st2" points="19.215,57.703 57.267,37.505 127.81,79.891 89.758,100.091 "/> +<polygon id="Stroke-229" class="st2" points="89.758,100.091 89.765,110.966 19.222,68.579 19.215,57.703 "/> +<polygon id="Fill-231" class="st8" points="89.758,100.091 127.81,79.894 127.817,90.769 89.765,110.967 "/> +<polygon id="Fill-233" class="st9" points="19.215,57.704 57.267,37.506 127.81,79.893 89.758,100.091 "/> +<polygon id="Fill-235" class="st10" points="89.758,100.091 89.765,110.967 19.222,68.579 19.215,57.704 "/> +<polyline id="Stroke-237" class="st6" points="19.555,57.709 89.744,99.883 89.744,110.677 "/> +<polygon id="Fill-239" class="st7" points="27.788,71.544 22.35,68.275 22.35,66.708 27.788,69.976 "/> +<polygon id="Fill-241" class="st7" points="67.166,91.706 55.045,84.423 55.045,81.566 67.166,88.851 "/> +<polygon id="Fill-243" class="st7" points="67.122,96.023 55.002,88.742 55.002,85.883 67.122,93.168 "/> +<polyline id="Fill-245" class="st7" points="41.258,75.909 41.258,73.052 53.378,80.334 53.378,83.192 "/> +<polygon id="Fill-247" class="st7" points="53.336,87.51 41.216,80.228 41.216,77.372 53.336,84.654 "/> +<polygon id="Fill-249" class="st7" points="84.232,106.043 82.257,104.858 82.257,102.553 84.232,103.739 "/> +<polygon id="Stroke-251" class="st2" points="90.032,82.727 128.084,62.528 128.091,73.405 90.039,93.603 "/> +<polygon id="Stroke-253" class="st2" points="19.489,40.34 57.541,20.142 128.084,62.527 90.032,82.727 "/> +<polygon id="Stroke-255" class="st2" points="90.032,82.727 90.039,93.603 19.496,51.217 19.489,40.34 "/> +<polygon id="Fill-257" class="st8" points="90.032,82.727 128.084,62.53 128.091,73.406 90.039,93.604 "/> +<polygon id="Fill-259" class="st9" points="19.489,40.341 57.541,20.143 128.084,62.529 90.032,82.727 "/> +<polygon id="Fill-261" class="st10" points="90.032,82.727 90.039,93.604 19.496,51.217 19.489,40.341 "/> +<polyline id="Stroke-263" class="st6" points="19.829,40.346 90.017,82.52 90.017,93.314 "/> +<polygon id="Fill-265" class="st7" points="28.062,54.18 22.624,50.912 22.624,49.344 28.062,52.613 "/> +<polygon id="Fill-267" class="st7" points="67.44,74.344 55.318,67.06 55.318,64.203 67.44,71.487 "/> +<polygon id="Fill-269" class="st7" points="67.396,78.66 55.276,71.377 55.276,68.521 67.396,75.804 "/> +<polygon id="Fill-271" class="st7" points="53.651,65.829 41.532,58.547 41.532,55.688 53.651,62.971 "/> +<polygon id="Fill-273" class="st7" points="53.61,70.146 41.489,62.866 41.489,60.007 53.61,67.29 "/> +<polygon id="Fill-275" class="st7" points="84.505,88.68 82.53,87.495 82.53,85.19 84.505,86.375 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Storage_Unit_Large.svg b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Storage_Unit_Large.svg new file mode 100644 index 0000000000000000000000000000000000000000..2da38785b8c146f45d5f7cb1aa5218a747b40d75 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/storage/Datacenter_Server_Storage_Unit_Large.svg @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 128.082 131.636" style="enable-background:new 0 0 128.082 131.636;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3.106;stroke-linejoin:round;} + .st1{fill:#416895;} + .st2{fill:#7D91B4;} + .st3{fill:#607BA4;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:1.027;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:none;stroke:#DFE0DF;stroke-width:1.026;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DFE0DF;} + .st7{fill:none;stroke:#FEFEFE;stroke-width:0.434;stroke-linejoin:round;} +</style> +<title>icon-blueSwitch-large-generic</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="82.71,73.552 126.486,50.32 126.529,106.845 82.748,130.083 "/> +<polygon id="Stroke-3" class="st0" points="1.553,24.789 45.33,1.553 126.487,50.319 82.71,73.552 "/> +<polygon id="Stroke-5" class="st0" points="82.71,73.552 82.748,130.083 1.59,81.32 1.553,24.789 "/> +<polygon id="Fill-8" class="st1" points="82.71,73.552 126.486,50.32 126.529,106.845 82.748,130.083 "/> +<polygon id="Fill-9" class="st2" points="1.553,24.789 45.33,1.553 126.487,50.319 82.71,73.552 "/> +<polygon id="Fill-10" class="st3" points="82.71,73.552 82.748,130.083 1.59,81.32 1.553,24.789 "/> +<path id="Stroke-11" class="st4" d="M1.573,25.199l81.156,49.172"/> +<path id="Stroke-13" class="st5" d="M82.729,74.457v55.215"/> +<path id="Fill-15" class="st6" d="M21.977,48.092c0,0.367-0.256,0.509-0.568,0.315l-15.197-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.01-6.973c0.001-0.367,0.256-0.509,0.568-0.315l15.192,9.408 + c0.313,0.193,0.567,0.651,0.567,1.018L21.977,48.092z"/> +<path id="Stroke-17" class="st7" d="M21.977,48.092c0,0.367-0.256,0.509-0.568,0.315l-15.197-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.01-6.973c0.001-0.367,0.256-0.509,0.568-0.315l15.192,9.408 + c0.313,0.193,0.567,0.651,0.567,1.018L21.977,48.092z"/> +<path id="Fill-19" class="st6" d="M21.966,58.653c-0.001,0.367-0.256,0.509-0.568,0.315L6.204,49.555 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.973c0.001-0.367,0.256-0.509,0.568-0.315l15.195,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L21.966,58.653z"/> +<path id="Stroke-21" class="st7" d="M21.966,58.653c-0.001,0.367-0.256,0.509-0.568,0.315L6.204,49.555 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.973c0.001-0.367,0.256-0.509,0.568-0.315l15.195,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L21.966,58.653z"/> +<path id="Fill-23" class="st6" d="M21.956,69.215c-0.001,0.367-0.256,0.509-0.568,0.315L6.193,60.116 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.006-6.976c0-0.367,0.256-0.509,0.568-0.315l15.194,9.413 + c0.313,0.193,0.568,0.651,0.567,1.018L21.956,69.215z"/> +<path id="Stroke-25" class="st7" d="M21.956,69.215c-0.001,0.367-0.256,0.509-0.568,0.315L6.193,60.116 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.006-6.976c0-0.367,0.256-0.509,0.568-0.315l15.194,9.413 + c0.313,0.193,0.568,0.651,0.567,1.018L21.956,69.215z"/> +<path id="Fill-27" class="st6" d="M21.945,79.772c-0.001,0.367-0.256,0.509-0.568,0.315L6.181,70.676 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.01-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.193,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L21.945,79.772z"/> +<path id="Stroke-29" class="st7" d="M21.945,79.772c-0.001,0.367-0.256,0.509-0.568,0.315L6.181,70.676 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.01-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.193,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L21.945,79.772z"/> +<path id="Fill-31" class="st6" d="M21.934,90.332c0,0.367-0.255,0.509-0.567,0.315L6.173,81.235 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.192,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L21.934,90.332z"/> +<path id="Stroke-33" class="st7" d="M21.934,90.332c0,0.367-0.255,0.509-0.567,0.315L6.173,81.235 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.192,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L21.934,90.332z"/> +<path id="Fill-35" class="st6" d="M40.025,59.27c-0.001,0.367-0.256,0.509-0.568,0.315l-15.194-9.409 + c-0.312-0.193-0.567-0.651-0.567-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.412 + c0.313,0.193,0.567,0.651,0.567,1.018L40.025,59.27z"/> +<path id="Stroke-37" class="st7" d="M40.025,59.27c-0.001,0.367-0.256,0.509-0.568,0.315l-15.194-9.409 + c-0.312-0.193-0.567-0.651-0.567-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.412 + c0.313,0.193,0.567,0.651,0.567,1.018L40.025,59.27z"/> +<path id="Fill-39" class="st6" d="M40.016,69.83c0,0.367-0.255,0.509-0.567,0.315l-15.196-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.193,9.409 + c0.313,0.193,0.568,0.651,0.568,1.018L40.016,69.83z"/> +<path id="Stroke-41" class="st7" d="M40.016,69.83c0,0.367-0.255,0.509-0.567,0.315l-15.196-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.193,9.409 + c0.313,0.193,0.568,0.651,0.568,1.018L40.016,69.83z"/> +<path id="Fill-43" class="st6" d="M40.005,80.392c-0.001,0.367-0.256,0.509-0.568,0.315l-15.198-9.413 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.009-6.975c0-0.367,0.256-0.509,0.568-0.315l15.195,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L40.005,80.392z"/> +<path id="Stroke-45" class="st7" d="M40.005,80.392c-0.001,0.367-0.256,0.509-0.568,0.315l-15.198-9.413 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.009-6.975c0-0.367,0.256-0.509,0.568-0.315l15.195,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L40.005,80.392z"/> +<path id="Fill-47" class="st6" d="M39.993,90.951c-0.001,0.367-0.256,0.509-0.568,0.315L24.23,81.852 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.973c0-0.367,0.255-0.509,0.567-0.315l15.197,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L39.993,90.951z"/> +<path id="Stroke-49" class="st7" d="M39.993,90.951c-0.001,0.367-0.256,0.509-0.568,0.315L24.23,81.852 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.973c0-0.367,0.255-0.509,0.567-0.315l15.197,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L39.993,90.951z"/> +<path id="Fill-51" class="st6" d="M39.985,101.51c-0.001,0.367-0.256,0.509-0.568,0.315L24.22,92.412 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.007-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.413 + c0.313,0.193,0.568,0.651,0.568,1.018L39.985,101.51z"/> +<path id="Stroke-53" class="st7" d="M39.985,101.51c-0.001,0.367-0.256,0.509-0.568,0.315L24.22,92.412 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.007-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.413 + c0.313,0.193,0.568,0.651,0.568,1.018L39.985,101.51z"/> +<path id="Fill-55" class="st6" d="M58.073,70.452c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.413 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.196,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L58.073,70.452z"/> +<path id="Stroke-57" class="st7" d="M58.073,70.452c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.413 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.196,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L58.073,70.452z"/> +<path id="Fill-59" class="st6" d="M58.062,81.01c-0.001,0.367-0.256,0.509-0.568,0.315l-15.197-9.411 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.009-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L58.062,81.01z"/> +<path id="Stroke-61" class="st7" d="M58.062,81.01c-0.001,0.367-0.256,0.509-0.568,0.315l-15.197-9.411 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.009-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.411 + c0.313,0.193,0.568,0.651,0.567,1.018L58.062,81.01z"/> +<path id="Fill-63" class="st6" d="M58.052,91.57c-0.001,0.367-0.256,0.509-0.568,0.315l-15.196-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.978c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L58.052,91.57z"/> +<path id="Stroke-65" class="st7" d="M58.052,91.57c-0.001,0.367-0.256,0.509-0.568,0.315l-15.196-9.41 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.978c0.001-0.367,0.256-0.509,0.568-0.315l15.197,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L58.052,91.57z"/> +<path id="Fill-67" class="st6" d="M58.041,102.128c-0.001,0.367-0.256,0.509-0.568,0.315l-15.196-9.409 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0-0.367,0.255-0.509,0.567-0.315l15.195,9.408 + c0.313,0.193,0.568,0.651,0.568,1.018L58.041,102.128z"/> +<path id="Stroke-69" class="st7" d="M58.041,102.128c-0.001,0.367-0.256,0.509-0.568,0.315l-15.196-9.409 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0-0.367,0.255-0.509,0.567-0.315l15.195,9.408 + c0.313,0.193,0.568,0.651,0.568,1.018L58.041,102.128z"/> +<path id="Fill-71" class="st6" d="M58.032,112.686c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.412 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.008-6.971c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.409 + c0.313,0.193,0.568,0.651,0.567,1.018L58.032,112.686z"/> +<path id="Stroke-73" class="st7" d="M58.032,112.686c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.412 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.008-6.971c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.409 + c0.313,0.193,0.568,0.651,0.567,1.018L58.032,112.686z"/> +<path id="Fill-75" class="st6" d="M76.121,81.629c-0.001,0.367-0.256,0.509-0.568,0.315l-15.194-9.412 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.006-6.974c0-0.367,0.256-0.509,0.568-0.315l15.194,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.121,81.629z"/> +<path id="Stroke-77" class="st7" d="M76.121,81.629c-0.001,0.367-0.256,0.509-0.568,0.315l-15.194-9.412 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.006-6.974c0-0.367,0.256-0.509,0.568-0.315l15.194,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.121,81.629z"/> +<path id="Fill-79" class="st6" d="M76.113,92.187c-0.001,0.367-0.256,0.509-0.568,0.315l-15.197-9.411 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.009-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.113,92.187z"/> +<path id="Stroke-81" class="st7" d="M76.113,92.187c-0.001,0.367-0.256,0.509-0.568,0.315l-15.197-9.411 + c-0.312-0.193-0.566-0.651-0.566-1.018l0.009-6.975c0.001-0.367,0.256-0.509,0.568-0.315l15.194,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.113,92.187z"/> +<path id="Fill-83" class="st6" d="M76.103,102.75c-0.001,0.367-0.256,0.509-0.568,0.315L60.34,93.652 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.976c0-0.367,0.255-0.509,0.567-0.315l15.195,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.103,102.75z"/> +<path id="Stroke-85" class="st7" d="M76.103,102.75c-0.001,0.367-0.256,0.509-0.568,0.315L60.34,93.652 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.976c0-0.367,0.255-0.509,0.567-0.315l15.195,9.412 + c0.313,0.193,0.568,0.651,0.567,1.018L76.103,102.75z"/> +<path id="Fill-87" class="st6" d="M76.092,113.307c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.411 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.196,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L76.092,113.307z"/> +<path id="Stroke-89" class="st7" d="M76.092,113.307c0,0.367-0.255,0.509-0.567,0.315l-15.198-9.411 + c-0.312-0.193-0.567-0.651-0.566-1.018l0.006-6.974c0.001-0.367,0.256-0.509,0.568-0.315l15.196,9.414 + c0.313,0.193,0.568,0.651,0.567,1.018L76.092,113.307z"/> +<path id="Fill-91" class="st6" d="M76.079,123.868c-0.001,0.367-0.256,0.509-0.568,0.315l-15.192-9.411 + c-0.312-0.193-0.567-0.651-0.567-1.018l0.006-6.977c0.001-0.367,0.256-0.509,0.568-0.315l15.195,9.412 + c0.313,0.193,0.567,0.651,0.567,1.018L76.079,123.868z"/> +<path id="Stroke-93" class="st7" d="M76.079,123.868c-0.001,0.367-0.256,0.509-0.568,0.315l-15.192-9.411 + c-0.312-0.193-0.567-0.651-0.567-1.018l0.006-6.977c0.001-0.367,0.256-0.509,0.568-0.315l15.195,9.412 + c0.313,0.193,0.567,0.651,0.567,1.018L76.079,123.868z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200.svg b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200.svg new file mode 100644 index 0000000000000000000000000000000000000000..4829e796b07e3ae2473e0d90ec6ea9ab808afd7a --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200.svg @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Industrial_Ethernet_IE2003.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 66.553 93.942" + style="enable-background:new 0 0 66.553 93.942;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.835;stroke-linejoin:round;} + .st1{fill:#DFE0DF;} + .st2{fill:#BBBDBF;} + .st3{fill:#D7D8D9;} + .st4{fill:#A9ABAE;} + .st5{fill:#6C6E70;} + .st6{fill:#939597;} + .st7{fill:#FEFEFE;} + .st8{fill:none;stroke:#939597;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} + .st9{fill:none;stroke:#EFEEEE;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview8951" inkscape:current-layer="Layer_1" inkscape:cx="29.914382" inkscape:cy="38.439267" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="10.042553" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-IE200</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Stroke-1254-8-8-6-0-8" inkscape:connector-curvature="0" class="st0" d="M60.199,19.312 + c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L34.25,59.65 + c-0.536-0.322-0.974-1.106-0.974-1.752L33.238,4.286c-0.001-0.647,0.437-0.912,0.973-0.589L60.199,19.312z"/> +<path id="Stroke-1254-8-8-6-0" inkscape:connector-curvature="0" class="st0" d="M53.951,22.673 + c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L28.004,63.011 + c-0.536-0.322-0.974-1.106-0.974-1.752L26.992,7.647C26.991,7,27.429,6.735,27.965,7.058L53.951,22.673z"/> +<path id="Stroke-1254-8-8-6" inkscape:connector-curvature="0" class="st0" d="M47.716,26.264c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L21.769,66.601c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L47.716,26.264z"/> +<path id="Stroke-1254-8-8" inkscape:connector-curvature="0" class="st0" d="M41.597,29.823c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L15.649,70.16c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L41.597,29.823z"/> +<path id="Stroke-1254-8" inkscape:connector-curvature="0" class="st0" d="M34.627,32.875c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L8.68,73.214c-0.536-0.322-0.974-1.106-0.974-1.752L7.668,17.851 + c-0.001-0.647,0.437-0.912,0.973-0.589L34.627,32.875z"/> +<polygon id="Stroke-87-6" class="st0" points="56.511,22.809 60.155,20.874 60.193,74.486 56.548,76.42 "/> +<path id="Stroke-35-2" inkscape:connector-curvature="0" class="st0" d="M58.581,76.814l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C58.886,76.483,58.768,76.715,58.581,76.814z"/> +<path id="Stroke-35-6" inkscape:connector-curvature="0" class="st0" d="M52.193,80.361l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C52.498,80.03,52.38,80.262,52.193,80.361z"/> +<path id="Stroke-35-60" inkscape:connector-curvature="0" class="st0" d="M45.943,83.92l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C46.248,83.589,46.13,83.821,45.943,83.92z"/> +<path id="Stroke-35-0" inkscape:connector-curvature="0" class="st0" d="M38.973,86.975l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C39.278,86.644,39.16,86.876,38.973,86.975z"/> +<path id="Stroke-35-54" inkscape:connector-curvature="0" class="st0" d="M32.723,90.535l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C33.028,90.202,32.91,90.435,32.723,90.535z"/> +<path id="Stroke-1343" inkscape:connector-curvature="0" class="st0" d="M5.436,25.149l1.458-0.774 + c0.175-0.092,0.408-0.073,0.665,0.082l-1.458,0.773C5.844,25.076,5.611,25.056,5.436,25.149z"/> +<path id="Stroke-208-16" inkscape:connector-curvature="0" class="st0" d="M33.805,3.378c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L33.805,3.378z"/> +<path id="Stroke-208-16-6" inkscape:connector-curvature="0" class="st0" d="M27.555,6.935c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007C31.465,4.982,31.2,5,31.2,5L27.555,6.935z"/> +<path id="Stroke-208-16-5" inkscape:connector-curvature="0" class="st0" d="M21.167,10.483c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141L25.077,8.53l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L21.167,10.483z"/> +<path id="Stroke-208-16-9" inkscape:connector-curvature="0" class="st0" d="M14.935,14.052c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141L18.844,12.1l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L14.935,14.052z"/> +<path id="Stroke-208-16-2" inkscape:connector-curvature="0" class="st0" d="M7.948,17.096c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L7.948,17.096z"/> +<path id="Stroke-208-16-3" inkscape:connector-curvature="0" class="st0" d="M1.716,20.666c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L1.716,20.666z"/> +<path id="Stroke-35" inkscape:connector-curvature="0" class="st0" d="M64.831,73.257l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C65.136,72.924,65.018,73.157,64.831,73.257z"/> +<polygon id="Stroke-85" class="st0" points="34.498,3.543 38.143,1.608 64.13,17.226 60.485,19.159 "/> +<polygon id="Stroke-87" class="st0" points="61.453,20.915 65.099,18.979 65.136,72.59 61.491,74.524 "/> +<path id="Stroke-206" inkscape:connector-curvature="0" class="st0" d="M60.486,19.159c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L60.486,19.159z"/> +<path id="Stroke-1254" class="st0" d="M28.378,36.436c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L2.43,76.772c-0.536-0.322-0.974-1.106-0.974-1.752L1.418,21.41 + c-0.001-0.647,0.437-0.912,0.973-0.589L28.378,36.436z"/> +<path id="Stroke-1295" inkscape:connector-curvature="0" class="st0" d="M24.296,89.831l-1.457,0.774 + c0.189-0.1,0.308-0.334,0.308-0.67l1.458-0.774C24.605,89.498,24.485,89.73,24.296,89.831z"/> +<polygon id="Stroke-1345" class="st0" points="6.35,25.082 7.808,24.309 23.593,33.792 22.135,34.566 "/> +<polygon id="Stroke-1347" class="st0" points="23.109,36.324 24.567,35.549 24.605,89.161 23.147,89.936 "/> +<path id="Stroke-1456" inkscape:connector-curvature="0" class="st0" d="M22.135,34.567l1.458-0.774 + c0.535,0.322,0.974,1.113,0.974,1.758l-1.458,0.774C23.109,35.679,22.671,34.889,22.135,34.567z"/> +<path id="Stroke-1458" inkscape:connector-curvature="0" class="st0" d="M22.135,34.566c0.536,0.322,0.974,1.112,0.974,1.758 + l0.038,53.613c0,0.646-0.437,0.91-0.973,0.588L6.39,81.04c-0.537-0.323-0.975-1.114-0.975-1.759L5.377,25.67 + c0-0.645,0.437-0.911,0.973-0.588L22.135,34.566z"/> +<polygon id="Stroke-1460" class="st0" points="18.607,46.354 15.212,44.292 15.212,39.465 18.607,41.525 "/> +<polygon id="Stroke-1462" class="st0" points="18.607,52.48 15.212,50.422 15.212,45.591 18.607,47.653 "/> +<polygon id="Stroke-1464" class="st0" points="18.607,58.611 15.212,56.549 15.212,51.722 18.607,53.783 "/> +<polygon id="Stroke-1466" class="st0" points="18.607,64.738 15.212,62.68 15.212,57.851 18.607,59.91 "/> +<polygon id="Stroke-1468" class="st0" points="13.31,65.984 9.917,63.924 9.917,59.097 13.31,61.157 "/> +<polygon id="Stroke-1470" class="st0" points="18.607,75.65 15.212,73.589 15.212,68.761 18.607,70.821 "/> +<polygon id="Stroke-1472" class="st0" points="18.607,81.779 15.212,79.719 15.212,74.89 18.607,76.952 "/> +<polygon id="Fill-1555" class="st1" points="64.13,17.226 60.485,19.159 34.498,3.543 38.143,1.608 "/> +<polygon id="Fill-1557" class="st2" points="65.136,72.59 61.491,74.524 61.453,20.915 65.099,18.979 "/> +<path id="Fill-1672" inkscape:connector-curvature="0" class="st3" d="M60.486,19.159c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L34.537,59.497c-0.536-0.322-0.974-1.106-0.974-1.752L33.526,4.133 + c-0.001-0.647,0.437-0.912,0.973-0.589L60.486,19.159z"/> +<polygon id="Fill-1759" class="st1" points="57.88,20.784 54.235,22.716 28.248,7.102 31.893,5.168 "/> +<polygon id="Fill-1761" class="st2" points="58.886,76.148 55.241,78.082 55.203,24.472 58.848,22.537 "/> +<path id="Fill-1876" inkscape:connector-curvature="0" class="st3" d="M54.236,22.718c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L28.288,63.055c-0.536-0.322-0.974-1.106-0.974-1.752L27.276,7.691 + c-0.001-0.647,0.437-0.912,0.973-0.589L54.236,22.718z"/> +<polygon id="Fill-1963" class="st1" points="51.492,24.33 47.847,26.264 21.86,10.649 25.505,8.714 "/> +<polygon id="Fill-1965" class="st2" points="52.498,79.695 48.853,81.629 48.816,28.02 52.46,26.083 "/> +<path id="Fill-2080" inkscape:connector-curvature="0" class="st3" d="M47.847,26.264c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L21.899,66.6c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L47.847,26.264z"/> +<polygon id="Fill-2167" class="st1" points="45.242,27.889 41.597,29.823 15.61,14.208 19.255,12.273 "/> +<polygon id="Fill-2169" class="st2" points="46.248,83.254 42.603,85.188 42.566,31.579 46.21,29.642 "/> +<path id="Fill-2284" inkscape:connector-curvature="0" class="st3" d="M41.597,29.823c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L15.649,70.16c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L41.597,29.823z"/> +<polygon id="Fill-2371" class="st1" points="38.272,30.944 34.627,32.875 8.641,17.263 12.286,15.326 "/> +<polygon id="Fill-2373" class="st2" points="39.278,86.309 35.633,88.242 35.597,34.632 39.242,32.698 "/> +<path id="Fill-2488" inkscape:connector-curvature="0" class="st3" d="M34.627,32.877c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L8.68,73.214c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.61 + c-0.001-0.647,0.437-0.912,0.973-0.589L34.627,32.877z"/> +<polygon id="Fill-2575" class="st1" points="32.022,34.502 28.378,36.436 2.391,20.822 6.036,18.886 "/> +<polygon id="Fill-2577" class="st2" points="33.028,89.867 29.384,91.801 29.347,38.192 32.992,36.256 "/> +<path id="Fill-2692" inkscape:connector-curvature="0" class="st3" d="M28.378,36.436c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L2.43,76.772c-0.536-0.322-0.974-1.106-0.974-1.752L1.418,21.41 + c-0.001-0.647,0.437-0.912,0.973-0.589L28.378,36.436z"/> +<polygon id="Fill-2779" class="st4" points="7.571,24.458 23.493,34.041 22.022,34.824 6.101,25.239 "/> +<polygon id="Fill-2781" class="st5" points="24.567,35.549 24.605,89.505 23.147,90.285 23.109,36.327 "/> +<path id="Fill-2890" inkscape:connector-curvature="0" class="st6" d="M22.135,34.566c0.536,0.322,0.974,1.112,0.974,1.758 + l0.038,53.613c0,0.646-0.437,0.91-0.973,0.588L6.39,81.04c-0.537-0.323-0.975-1.114-0.975-1.759L5.377,25.67 + c0-0.645,0.437-0.911,0.973-0.588L22.135,34.566z"/> +<polygon id="Fill-2892" class="st7" points="18.607,46.354 15.212,44.292 15.212,39.465 18.607,41.525 "/> +<polygon id="Fill-2894" class="st7" points="18.607,52.48 15.212,50.422 15.212,45.591 18.607,47.653 "/> +<polygon id="Fill-2896" class="st7" points="18.607,58.611 15.212,56.549 15.212,51.722 18.607,53.783 "/> +<polygon id="Fill-2898" class="st7" points="18.607,64.738 15.212,62.68 15.212,57.851 18.607,59.91 "/> +<polygon id="Fill-2900" class="st7" points="13.31,65.984 9.917,63.924 9.917,59.097 13.31,61.157 "/> +<polygon id="Fill-2902" class="st7" points="18.607,75.65 15.212,73.589 15.212,68.761 18.607,70.821 "/> +<polygon id="Fill-2904" class="st7" points="18.607,81.779 15.212,79.719 15.212,74.89 18.607,76.952 "/> +<path id="Stroke-206-4" inkscape:connector-curvature="0" class="st3" d="M60.199,19.312c0.459,0.407,0.336,0.272,0.572,0.555 + c0.291,0.347,0.463,1.155,0.463,1.155s3.905-1.977,3.93-2.088c0.05-0.222-0.214-0.784-0.422-1.097 + c-0.259-0.39-0.612-0.611-0.612-0.611L60.199,19.312z"/> +<path id="Stroke-206-4-2" inkscape:connector-curvature="0" class="st3" d="M28.378,36.436c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L28.378,36.436z"/> +<path id="Stroke-206-4-8" inkscape:connector-curvature="0" class="st3" d="M34.627,32.877c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L34.627,32.877z"/> +<path id="Stroke-206-4-7" inkscape:connector-curvature="0" class="st3" d="M41.597,29.823c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L41.597,29.823z"/> +<path id="Stroke-206-4-85" inkscape:connector-curvature="0" class="st3" d="M47.847,26.264c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L47.847,26.264z"/> +<path id="Stroke-206-4-70" inkscape:connector-curvature="0" class="st3" d="M54.235,22.718c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L54.235,22.718z"/> +<path id="Stroke-35-5" inkscape:connector-curvature="0" class="st2" d="M64.831,73.257l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C65.136,72.924,65.018,73.157,64.831,73.257z"/> +<path id="Stroke-35-5-2" inkscape:connector-curvature="0" class="st2" d="M58.581,76.814l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C58.886,76.483,58.768,76.715,58.581,76.814z"/> +<path id="Stroke-35-5-0" inkscape:connector-curvature="0" class="st2" d="M52.193,80.361l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C52.498,80.03,52.38,80.262,52.193,80.361z"/> +<path id="Stroke-35-5-6" inkscape:connector-curvature="0" class="st2" d="M45.943,83.92l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C46.248,83.589,46.13,83.821,45.943,83.92z"/> +<path id="Stroke-35-5-3" inkscape:connector-curvature="0" class="st2" d="M38.973,86.975l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C39.278,86.644,39.16,86.876,38.973,86.975z"/> +<path id="Stroke-35-5-9" inkscape:connector-curvature="0" class="st2" d="M32.723,90.535l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C33.028,90.202,32.91,90.435,32.723,90.535z"/> +<path id="Stroke-208-1-7-1" inkscape:connector-curvature="0" class="st2" d="M27.555,6.935c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007C31.465,4.982,31.2,5,31.2,5L27.555,6.935z"/> +<path id="Stroke-208-1-7-5" inkscape:connector-curvature="0" class="st2" d="M21.167,10.483c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141L25.077,8.53l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L21.167,10.483z"/> +<path id="Stroke-208-1-7-6" inkscape:connector-curvature="0" class="st2" d="M14.935,14.052c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141L18.844,12.1l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L14.935,14.052z"/> +<path id="Stroke-208-1-7-57" inkscape:connector-curvature="0" class="st2" d="M7.948,17.096c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L7.948,17.096z"/> +<path id="Stroke-208-1-7-4" inkscape:connector-curvature="0" class="st2" d="M1.716,20.666c0,0,0.147-0.062,0.307-0.011 + l0.159,0.052l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L1.716,20.666z"/> +<path id="Stroke-2916" class="st8" d="M1.265,21.128c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-208-1-7" inkscape:connector-curvature="0" class="st2" d="M33.805,3.378c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L33.805,3.378z"/> +<path id="Stroke-1343-7" inkscape:connector-curvature="0" class="st2" d="M5.436,25.149l1.458-0.774 + c0.175-0.092,0.408-0.073,0.665,0.082l-1.458,0.773C5.844,25.076,5.611,25.056,5.436,25.149z"/> +<path id="Stroke-1456-7" inkscape:connector-curvature="0" class="st2" d="M22.035,34.814l1.458-0.774 + c0.535,0.322,0.974,1.113,0.974,1.758l-1.458,0.774C23.009,35.926,22.571,35.137,22.035,34.814z"/> +<path id="Stroke-1295-2" inkscape:connector-curvature="0" class="st5" d="M24.196,90.23l-1.457,0.774 + c0.189-0.1,0.308-0.334,0.308-0.67l1.458-0.774C24.505,89.897,24.385,90.129,24.196,90.23z"/> +<path id="Stroke-2918" class="st9" d="M5.377,25.67c0.011-0.736,0.973-0.176,0.973-0.176l15.348,9.223c0,0,0.27,0.247,0.727,0.723 + c0.456,0.475,0.505,1.492,0.505,1.492l0.093,52.034c0,0,0.082,1.189-0.184,1.641c-0.267,0.451-0.98-0.271-0.98-0.271"/> +<path id="Stroke-2910" class="st8" d="M20.887,11.014c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2914" class="st8" d="M7.724,17.545c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2912" class="st8" d="M14.637,14.573c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2908" class="st8" d="M27.122,7.422c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2906" class="st8" d="M33.564,3.844c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200_POE.svg b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..c1b2566ddc6cd54242239900db9e8a346fbb374d --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE200_POE.svg @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Industrial_Ethernet_IE200_POE3.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 66.553 93.887" + style="enable-background:new 0 0 66.553 93.887;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.835;stroke-linejoin:round;} + .st1{fill:#DFE0DF;} + .st2{fill:#BBBDBF;} + .st3{fill:#D7D8D9;} + .st4{fill:#A9ABAE;} + .st5{fill:#6C6E70;} + .st6{fill:#231F20;} + .st7{fill:#FEFEFE;} + .st8{fill:none;stroke:#939597;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} + .st9{fill:#9A9C9F;} + .st10{fill:#A5A7AA;} + .st11{fill:none;stroke:#EFEEEE;stroke-width:0.525;stroke-linecap:round;stroke-linejoin:round;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview999" inkscape:current-layer="Layer_1" inkscape:cx="4.1291317" inkscape:cy="52.58662" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="8" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title4">icon-IE200-poe</title> +<desc id="desc6">Created with Sketch.</desc> +<path id="Stroke-35" inkscape:connector-curvature="0" class="st0" d="M64.831,73.201l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C65.136,72.87,65.018,73.103,64.831,73.201z"/> +<polygon id="Stroke-85" class="st0" points="34.498,3.49 38.143,1.553 64.13,17.17 60.485,19.104 "/> +<polygon id="Stroke-87" class="st0" points="65.136,72.536 61.491,74.47 61.453,20.859 65.099,18.924 "/> +<path id="Stroke-204" class="st0" d="M60.486,19.104c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L34.537,59.442c-0.536-0.322-0.974-1.106-0.974-1.752L33.526,4.078 + c-0.001-0.647,0.437-0.912,0.973-0.589L60.486,19.104z"/> +<path id="Stroke-206" inkscape:connector-curvature="0" class="st0" d="M60.486,19.104c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L60.486,19.104z"/> +<path id="Stroke-208" inkscape:connector-curvature="0" class="st0" d="M33.9,3.378c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924L37.972,1.47L37.81,1.424l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L33.9,3.378z"/> +<path id="Stroke-245" inkscape:connector-curvature="0" class="st0" d="M58.581,76.76l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C58.886,76.429,58.768,76.661,58.581,76.76z"/> +<polygon id="Stroke-295" class="st0" points="28.248,7.047 31.893,5.111 57.88,20.729 54.235,22.661 "/> +<polygon id="Stroke-297" class="st0" points="58.886,76.094 55.241,78.028 55.203,24.417 58.848,22.482 "/> +<path id="Stroke-414" class="st0" d="M54.236,22.661c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L28.288,63c-0.536-0.322-0.974-1.106-0.974-1.752L27.276,7.635 + c-0.001-0.647,0.437-0.912,0.973-0.589L54.236,22.661z"/> +<path id="Stroke-416" inkscape:connector-curvature="0" class="st0" d="M54.236,22.661c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L54.236,22.661z"/> +<path id="Stroke-418" inkscape:connector-curvature="0" class="st0" d="M27.65,6.938c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141L31.56,4.984l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L27.65,6.938z"/> +<path id="Stroke-455" inkscape:connector-curvature="0" class="st0" d="M52.193,80.307l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C52.498,79.976,52.38,80.207,52.193,80.307z"/> +<polygon id="Stroke-505" class="st0" points="21.86,10.594 25.505,8.658 51.492,24.274 47.847,26.208 "/> +<polygon id="Stroke-507" class="st0" points="52.498,79.641 48.853,81.575 48.816,27.965 52.46,26.028 "/> +<path id="Stroke-624" class="st0" d="M47.847,26.208c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L21.899,66.546c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L47.847,26.208z"/> +<path id="Stroke-626" inkscape:connector-curvature="0" class="st0" d="M47.847,26.208c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L47.847,26.208z"/> +<path id="Stroke-628" inkscape:connector-curvature="0" class="st0" d="M21.261,10.483c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141L25.171,8.53l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L21.261,10.483z"/> +<path id="Stroke-665" inkscape:connector-curvature="0" class="st0" d="M45.943,83.866l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C46.248,83.534,46.13,83.766,45.943,83.866z"/> +<polygon id="Stroke-715" class="st0" points="15.61,14.153 19.255,12.217 45.242,27.833 41.597,29.767 "/> +<polygon id="Stroke-717" class="st0" points="46.248,83.2 42.603,85.134 42.566,31.524 46.21,29.587 "/> +<path id="Stroke-834" class="st0" d="M41.597,29.767c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L15.649,70.104c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L41.597,29.767z"/> +<path id="Stroke-836" inkscape:connector-curvature="0" class="st0" d="M41.597,29.767c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L41.597,29.767z"/> +<path id="Stroke-838" inkscape:connector-curvature="0" class="st0" d="M15.011,14.042c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141L18.92,12.09l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L15.011,14.042z"/> +<path id="Stroke-875" inkscape:connector-curvature="0" class="st0" d="M38.973,86.92l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C39.278,86.589,39.16,86.82,38.973,86.92z"/> +<polygon id="Stroke-925" class="st0" points="8.641,17.208 12.286,15.271 38.272,30.889 34.627,32.82 "/> +<polygon id="Stroke-927" class="st0" points="39.278,86.254 35.633,88.189 35.597,34.576 39.242,32.642 "/> +<path id="Stroke-1044" class="st0" d="M34.627,32.822c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L8.68,73.161c-0.536-0.322-0.974-1.106-0.974-1.752L7.668,17.798 + c-0.001-0.647,0.437-0.912,0.973-0.589L34.627,32.822z"/> +<path id="Stroke-1046" inkscape:connector-curvature="0" class="st0" d="M34.627,32.822c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L34.627,32.822z"/> +<path id="Stroke-1048" inkscape:connector-curvature="0" class="st0" d="M8.042,17.097c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L8.042,17.097z"/> +<path id="Stroke-1085" inkscape:connector-curvature="0" class="st0" d="M32.723,90.479l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C33.028,90.148,32.91,90.38,32.723,90.479z"/> +<polygon id="Stroke-1135" class="st0" points="2.391,20.767 6.036,18.831 32.022,34.447 28.378,36.381 "/> +<polygon id="Stroke-1137" class="st0" points="29.347,38.137 32.992,36.201 33.028,89.814 29.384,91.747 "/> +<path id="Stroke-1254" class="st0" d="M28.378,36.381c0.529,0.318,0.968,1.109,0.969,1.756l0.037,53.611 + c0,0.647-0.438,0.904-0.967,0.585L2.43,76.718c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.61 + c-0.001-0.647,0.437-0.912,0.973-0.589L28.378,36.381z"/> +<path id="Stroke-1256" inkscape:connector-curvature="0" class="st0" d="M28.378,36.381c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L28.378,36.381z"/> +<path id="Stroke-1258" inkscape:connector-curvature="0" class="st0" d="M1.792,20.656c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L1.792,20.656z"/> +<path id="Stroke-1295" inkscape:connector-curvature="0" class="st0" d="M24.296,89.777l-1.457,0.774 + c0.189-0.1,0.308-0.334,0.308-0.67l1.458-0.774C24.605,89.444,24.485,89.676,24.296,89.777z"/> +<path id="Stroke-1343" inkscape:connector-curvature="0" class="st0" d="M5.685,24.944l1.458-0.774 + c0.175-0.092,0.408-0.073,0.665,0.082L6.35,25.026C6.093,24.872,5.86,24.852,5.685,24.944z"/> +<polygon id="Stroke-1345" class="st0" points="6.35,25.026 7.808,24.253 23.593,33.736 22.135,34.51 "/> +<polygon id="Stroke-1347" class="st0" points="23.109,36.269 24.567,35.494 24.605,89.107 23.147,89.882 "/> +<path id="Stroke-1456" inkscape:connector-curvature="0" class="st0" d="M22.135,34.51l1.458-0.774 + c0.535,0.322,0.974,1.113,0.974,1.758l-1.458,0.774C23.109,35.623,22.671,34.833,22.135,34.51z"/> +<path id="Stroke-1458" class="st0" d="M22.135,34.51c0.536,0.322,0.974,1.112,0.974,1.758l0.038,53.613 + c0,0.646-0.437,0.91-0.973,0.588L6.39,80.986c-0.537-0.323-0.975-1.114-0.975-1.759L5.377,25.615c0-0.645,0.437-0.911,0.973-0.588 + L22.135,34.51z"/> +<polygon id="Stroke-1460" class="st0" points="18.607,46.299 15.212,44.236 15.212,39.41 18.607,41.47 "/> +<polygon id="Stroke-1462" class="st0" points="18.607,52.425 15.212,50.367 15.212,45.536 18.607,47.597 "/> +<polygon id="Stroke-1464" class="st0" points="18.607,58.556 15.212,56.493 15.212,51.667 18.607,53.728 "/> +<polygon id="Stroke-1466" class="st0" points="18.607,64.684 15.212,62.625 15.212,57.795 18.607,59.855 "/> +<polygon id="Stroke-1468" class="st0" points="13.31,65.93 9.917,63.868 9.917,59.042 13.31,61.102 "/> +<polygon id="Stroke-1470" class="st0" points="18.607,75.596 15.212,73.536 15.212,68.707 18.607,70.767 "/> +<polygon id="Stroke-1472" class="st0" points="18.607,81.725 15.212,79.665 15.212,74.836 18.607,76.898 "/> +<polygon id="Fill-1555" class="st1" points="34.498,3.49 38.143,1.553 64.13,17.17 60.485,19.104 "/> +<polygon id="Fill-1557" class="st2" points="65.136,72.536 61.491,74.47 61.453,20.859 65.099,18.924 "/> +<path id="Fill-1672" inkscape:connector-curvature="0" class="st3" d="M60.486,19.104c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L34.537,59.442c-0.536-0.322-0.974-1.106-0.974-1.752L33.526,4.078 + c-0.001-0.647,0.437-0.912,0.973-0.589L60.486,19.104z"/> +<polygon id="Fill-1759" class="st1" points="28.248,7.047 31.893,5.111 57.88,20.729 54.235,22.661 "/> +<polygon id="Fill-1761" class="st2" points="58.886,76.094 55.241,78.028 55.203,24.417 58.848,22.482 "/> +<path id="Fill-1876" inkscape:connector-curvature="0" class="st3" d="M54.236,22.661c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L28.288,63c-0.536-0.322-0.974-1.106-0.974-1.752L27.276,7.635 + c-0.001-0.647,0.437-0.912,0.973-0.589L54.236,22.661z"/> +<polygon id="Fill-1963" class="st1" points="21.86,10.594 25.505,8.658 51.492,24.274 47.847,26.208 "/> +<polygon id="Fill-1965" class="st2" points="52.498,79.641 48.853,81.575 48.816,27.965 52.46,26.028 "/> +<path id="Fill-2080" inkscape:connector-curvature="0" class="st3" d="M47.847,26.208c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L21.899,66.546c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L47.847,26.208z"/> +<polygon id="Fill-2167" class="st1" points="15.61,14.153 19.255,12.217 45.242,27.833 41.597,29.767 "/> +<polygon id="Fill-2169" class="st2" points="46.248,83.2 42.603,85.134 42.566,31.524 46.21,29.587 "/> +<path id="Fill-2284" inkscape:connector-curvature="0" class="st3" d="M41.597,29.767c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L15.649,70.104c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.611 + c-0.001-0.647,0.437-0.912,0.973-0.589L41.597,29.767z"/> +<polygon id="Fill-2371" class="st1" points="8.641,17.208 12.286,15.271 38.272,30.889 34.627,32.82 "/> +<polygon id="Fill-2373" class="st2" points="39.278,86.254 35.633,88.189 35.597,34.576 39.242,32.642 "/> +<path id="Fill-2488" inkscape:connector-curvature="0" class="st3" d="M34.627,32.822c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L8.68,73.161c-0.536-0.322-0.974-1.106-0.974-1.752L7.668,17.798 + c-0.001-0.647,0.437-0.912,0.973-0.589L34.627,32.822z"/> +<polygon id="Fill-2575" class="st1" points="2.391,20.767 6.036,18.831 32.022,34.447 28.378,36.381 "/> +<polygon id="Fill-2577" class="st2" points="33.028,89.814 29.384,91.747 29.347,38.137 32.992,36.201 "/> +<path id="Fill-2692" inkscape:connector-curvature="0" class="st3" d="M28.378,36.381c0.529,0.318,0.968,1.109,0.969,1.756 + l0.037,53.611c0,0.647-0.438,0.904-0.967,0.585L2.43,76.718c-0.536-0.322-0.974-1.106-0.974-1.752l-0.038-53.61 + c-0.001-0.647,0.437-0.912,0.973-0.589L28.378,36.381z"/> +<polygon id="Fill-2779" class="st4" points="6.35,25.026 7.808,24.253 23.593,33.736 22.135,34.51 "/> +<polygon id="Fill-2781" class="st5" points="23.109,36.269 24.567,35.494 24.605,89.107 23.147,89.882 "/> +<path id="Fill-2890" inkscape:connector-curvature="0" class="st6" d="M22.135,34.51c0.536,0.322,0.974,1.112,0.974,1.758 + l0.038,53.613c0,0.646-0.437,0.91-0.973,0.588L6.39,80.986c-0.537-0.323-0.975-1.114-0.975-1.759L5.377,25.615 + c0-0.645,0.437-0.911,0.973-0.588L22.135,34.51z"/> +<polygon id="Fill-2892" class="st7" points="18.607,50.299 15.212,48.236 15.212,43.41 18.607,45.47 "/> +<polygon id="Fill-2894" class="st7" points="18.607,56.425 15.212,54.367 15.212,49.536 18.607,51.597 "/> +<polygon id="Fill-2896" class="st7" points="18.607,62.556 15.212,60.493 15.212,55.667 18.607,57.728 "/> +<polygon id="Fill-2898" class="st7" points="18.607,68.684 15.212,66.624 15.212,61.795 18.607,63.855 "/> +<polygon id="Fill-2900" class="st7" points="13.31,69.93 9.917,67.868 9.917,63.042 13.31,65.101 "/> +<polygon id="Fill-2902" class="st7" points="18.607,79.596 15.212,77.536 15.212,72.707 18.607,74.767 "/> +<polygon id="Fill-2904" class="st7" points="18.607,85.725 15.212,83.665 15.212,78.836 18.607,80.898 "/> +<path id="Stroke-2906" class="st8" d="M33.564,3.787c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2908" class="st8" d="M27.122,7.366c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.064 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2910" class="st8" d="M20.887,10.958c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2912" class="st8" d="M14.637,14.517c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-2914" class="st8" d="M7.724,17.49c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065c0,0,0.299,0.273,0.803,0.799 + c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102s-0.956,0.418-0.956,0.418"/> +<polygon id="Fill-2920" class="st7" points="14.066,43.534 10.243,47.144 13.044,47.762 10.252,50.013 12.195,50.442 7.248,54.43 + 10.045,50.853 7.606,50.317 9.945,48.429 7.162,47.815 13.806,43.708 "/> +<path id="Fill-2922" class="st7" d="M9.35,33.243l0.566,0.32c0.505,0.287,0.851,0.092,0.851-0.748c0-0.803-0.248-1.403-0.886-1.764 + l-0.531-0.3V33.243z M8.074,28.81l2.234,1.266c1.294,0.731,1.735,2.211,1.735,3.44c0,1.7-0.805,2.012-2.01,1.33L9.35,34.461v3.274 + l-1.276-0.724V28.81z"/> +<path id="Fill-2924" class="st7" d="M14.143,39.527c0.496,0.282,0.656-0.26,0.656-1.798c0-1.539-0.16-2.262-0.656-2.543 + c-0.603-0.342-0.655,0.536-0.655,1.799C13.488,38.249,13.54,39.186,14.143,39.527 M14.143,34.104 + c1.472,0.798,1.878,2.165,1.878,4.314c0,2.114-0.477,2.979-1.878,2.188c-1.47-0.798-1.879-2.167-1.879-4.314 + C12.264,34.18,12.742,33.313,14.143,34.104"/> +<polygon id="Fill-2926" class="st7" points="20.248,35.701 20.248,37.055 17.989,35.778 17.989,37.707 20.115,38.91 20.115,40.265 + 17.989,39.062 17.989,41.267 20.338,42.597 20.338,43.951 16.713,41.901 16.713,33.7 "/> +<path id="Stroke-1085-1" inkscape:connector-curvature="0" class="st9" d="M32.723,90.479l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C33.028,90.148,32.91,90.38,32.723,90.479z"/> +<path id="Stroke-875-9" inkscape:connector-curvature="0" class="st9" d="M38.973,86.92l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C39.278,86.589,39.16,86.82,38.973,86.92z"/> +<path id="Stroke-665-4" inkscape:connector-curvature="0" class="st9" d="M45.943,83.866l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C46.248,83.534,46.13,83.766,45.943,83.866z"/> +<path id="Stroke-455-2" inkscape:connector-curvature="0" class="st9" d="M52.193,80.307l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C52.498,79.976,52.38,80.207,52.193,80.307z"/> +<path id="Stroke-245-6" inkscape:connector-curvature="0" class="st9" d="M58.581,76.76l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C58.886,76.429,58.768,76.661,58.581,76.76z"/> +<path id="Stroke-35-9" inkscape:connector-curvature="0" class="st9" d="M64.831,73.201l-3.645,1.935 + c0.188-0.1,0.305-0.331,0.305-0.666l3.645-1.935C65.136,72.87,65.018,73.103,64.831,73.201z"/> +<path id="Stroke-1256-4" inkscape:connector-curvature="0" class="st9" d="M28.378,36.381c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L28.378,36.381z"/> +<path id="Stroke-1046-7" inkscape:connector-curvature="0" class="st9" d="M34.627,32.822c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L34.627,32.822z"/> +<path id="Stroke-836-9" inkscape:connector-curvature="0" class="st9" d="M41.597,29.767c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L41.597,29.767z"/> +<path id="Stroke-626-4" inkscape:connector-curvature="0" class="st9" d="M47.847,26.208c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L47.847,26.208z"/> +<path id="Stroke-416-5" inkscape:connector-curvature="0" class="st9" d="M54.236,22.661c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L54.236,22.661z"/> +<path id="Stroke-206-7" inkscape:connector-curvature="0" class="st9" d="M60.486,19.104c0.426,0.377,0.312,0.252,0.53,0.514 + c0.27,0.322,0.429,1.07,0.429,1.07s3.621-1.832,3.645-1.935c0.046-0.206-0.198-0.727-0.391-1.017 + c-0.24-0.361-0.568-0.566-0.568-0.566L60.486,19.104z"/> +<path id="Stroke-1258-3" inkscape:connector-curvature="0" class="st9" d="M1.527,20.674c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141L5.437,18.72l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L1.527,20.674z"/> +<path id="Stroke-1048-2" inkscape:connector-curvature="0" class="st9" d="M7.966,17.052c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L7.966,17.052z"/> +<path id="Stroke-838-4" inkscape:connector-curvature="0" class="st9" d="M14.935,13.997c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L14.935,13.997z"/> +<path id="Stroke-628-5" inkscape:connector-curvature="0" class="st9" d="M21.386,10.458c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924L25.458,8.55l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L21.386,10.458z"/> +<path id="Stroke-418-3" inkscape:connector-curvature="0" class="st9" d="M27.573,6.891c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924l-0.266-0.141l-0.162-0.044l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L27.573,6.891z"/> +<path id="Stroke-208-9" inkscape:connector-curvature="0" class="st9" d="M33.9,3.378c0,0,0.147-0.062,0.307-0.011l0.159,0.052 + l0.209,0.115l3.663-1.924L37.972,1.47L37.81,1.424l-0.14-0.007c0.14,0.007-0.125,0.025-0.125,0.025L33.9,3.378z"/> +<path id="Stroke-1343-4" inkscape:connector-curvature="0" class="st10" d="M5.685,24.944l1.458-0.774 + c0.175-0.092,0.408-0.073,0.665,0.082L6.35,25.026C6.093,24.872,5.86,24.852,5.685,24.944z"/> +<path id="Stroke-1456-1" inkscape:connector-curvature="0" class="st10" d="M22.135,34.51l1.458-0.774 + c0.535,0.322,0.974,1.113,0.974,1.758l-1.458,0.774C23.109,35.623,22.671,34.833,22.135,34.51z"/> +<path id="Stroke-2916" class="st8" d="M1.265,21.073c0.012-0.813,1.759,0.185,1.759,0.185l25.071,15.065 + c0,0,0.299,0.273,0.803,0.799c0.504,0.525,0.558,1.648,0.558,1.648l0.081,51.05c0,0-0.062,1.603-0.356,2.102 + s-0.956,0.418-0.956,0.418"/> +<path id="Stroke-1295-4" inkscape:connector-curvature="0" class="st10" d="M24.296,89.777l-1.457,0.774 + c0.189-0.1,0.308-0.334,0.308-0.67l1.458-0.774C24.605,89.444,24.485,89.676,24.296,89.777z"/> +<path id="Stroke-2918" class="st11" d="M5.377,25.615c0.011-0.736,0.973-0.176,0.973-0.176l15.348,9.223c0,0,0.27,0.247,0.727,0.723 + c0.456,0.475,0.505,1.492,0.505,1.492l0.093,52.034c0,0,0.082,1.189-0.184,1.641c-0.267,0.451-0.98-0.271-0.98-0.271"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE300.svg b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE300.svg new file mode 100644 index 0000000000000000000000000000000000000000..58650df65efba8afae50c74bd54f203312d92a6c --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Industrial_Ethernet_IE300.svg @@ -0,0 +1,477 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 115.788 128.577" style="enable-background:new 0 0 115.788 128.577;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626467;stroke-width:2.722;stroke-linecap:square;stroke-linejoin:round;} + .st1{fill:#404042;} + .st2{fill:#231F20;} + .st3{fill:#58585B;} + .st4{fill:#6C6E70;} + .st5{fill:#D0D2D3;} + .st6{fill:#B2B3B6;} + .st7{fill:#A4A6A9;} + .st8{fill:#A2A5A7;} + .st9{fill:#A1A3A6;} + .st10{fill:#9FA1A4;} + .st11{fill:#9EA0A2;} + .st12{fill:#9C9EA1;} + .st13{fill:#9A9C9F;} + .st14{fill:#999B9D;} + .st15{fill:#97999C;} + .st16{fill:#96989A;} + .st17{fill:#949699;} + .st18{fill:#A6A8AA;} + .st19{fill:#A7A9AC;} + .st20{fill:#A9ABAE;} + .st21{fill:#ABADAF;} + .st22{fill:#BABCBE;} + .st23{fill:#898A8C;} + .st24{fill:#ACAEB1;} + .st25{fill:#AEB0B2;} + .st26{fill:#B0B2B4;} + .st27{fill:#B1B3B6;} + .st28{fill:#B3B5B7;} + .st29{fill:#B5B7B9;} + .st30{fill:#B6B8BB;} + .st31{fill:#B8BABC;} + .st32{fill:#BBBDC0;} + .st33{fill:#C0C2C4;} + .st34{fill:#C2C4C6;} + .st35{fill:#C3C5C7;} + .st36{fill:#C5C6C8;} + .st37{fill:#C6C7C9;} + .st38{fill:#A6A8AB;} + .st39{fill:#FEFEFE;} + .st40{fill:none;stroke:#EFEEEE;stroke-width:0.336;stroke-linecap:round;stroke-linejoin:round;} + .st41{fill:#939597;} + .st42{fill:#808184;} + .st43{fill:#469049;} + .st44{fill:#BBDDB1;} + .st45{fill:#8CCB8E;} + .st46{fill:none;stroke:#DFDFDE;stroke-width:0.345;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-IE300</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="56.617,9.061 58.95,7.822 58.995,71.181 56.661,72.419 "/> +<polygon id="Stroke-2" class="st0" points="45.863,2.6 48.197,1.361 58.95,7.823 56.617,9.061 "/> +<polygon id="Stroke-4" class="st0" points="56.617,9.061 56.661,72.418 45.908,65.958 45.863,2.6 "/> +<polygon id="Stroke-7" class="st0" points="51.646,11.673 53.98,10.434 54.024,73.792 51.691,75.03 "/> +<polygon id="Stroke-8" class="st0" points="40.893,5.211 43.227,3.972 53.98,10.434 51.646,11.672 "/> +<polygon id="Stroke-10" class="st0" points="51.646,11.673 51.691,75.03 40.937,68.569 40.893,5.212 "/> +<polygon id="Stroke-11" class="st0" points="46.677,14.607 49.011,13.369 49.055,76.726 46.721,77.965 "/> +<polygon id="Stroke-12" class="st0" points="35.924,8.146 38.257,6.907 49.011,13.369 46.677,14.607 "/> +<polygon id="Stroke-13" class="st0" points="46.677,14.607 46.721,77.965 35.968,71.504 35.924,8.146 "/> +<polygon id="Stroke-14" class="st0" points="41.707,17.219 44.04,15.981 44.085,79.338 41.751,80.577 "/> +<polygon id="Stroke-15" class="st0" points="30.953,10.758 33.287,9.519 44.04,15.981 41.707,17.219 "/> +<polygon id="Stroke-16" class="st0" points="41.707,17.219 41.751,80.577 30.998,74.116 30.953,10.758 "/> +<polygon id="Stroke-17" class="st0" points="36.736,19.574 39.07,18.335 39.114,81.693 36.781,82.932 "/> +<polygon id="Stroke-18" class="st0" points="25.983,13.112 28.317,11.874 39.07,18.335 36.736,19.573 "/> +<polygon id="Stroke-19" class="st0" points="36.736,19.574 36.781,82.932 26.028,76.47 25.983,13.113 "/> +<polygon id="Stroke-20" class="st0" points="31.766,22.185 34.1,20.946 34.144,84.304 31.811,85.543 "/> +<polygon id="Stroke-21" class="st0" points="21.013,15.724 23.346,14.485 34.1,20.946 31.766,22.185 "/> +<polygon id="Stroke-22" class="st0" points="31.766,22.185 31.811,85.543 21.057,79.081 21.013,15.724 "/> +<polygon id="Stroke-23" class="st0" points="26.797,25.12 29.13,23.881 29.175,87.239 26.841,88.477 "/> +<polygon id="Stroke-24" class="st0" points="16.044,18.659 18.377,17.42 29.13,23.882 26.797,25.12 "/> +<polygon id="Stroke-25" class="st0" points="26.797,25.12 26.841,88.477 16.088,82.016 16.044,18.659 "/> +<polygon id="Stroke-26" class="st0" points="21.827,27.731 24.16,26.492 24.205,89.85 21.871,91.088 "/> +<polygon id="Stroke-27" class="st0" points="11.073,21.27 13.407,20.031 24.16,26.493 21.827,27.731 "/> +<polygon id="Stroke-28" class="st0" points="21.827,27.731 21.871,91.088 11.118,84.627 11.073,21.27 "/> +<polygon id="Stroke-29" class="st0" points="16.856,30.236 19.19,28.998 19.234,92.355 16.901,93.594 "/> +<polygon id="Stroke-30" class="st0" points="6.103,23.775 8.437,22.536 19.19,28.998 16.856,30.236 "/> +<polygon id="Stroke-31" class="st0" points="16.856,30.236 16.901,93.594 6.148,87.133 6.103,23.775 "/> +<polygon id="Stroke-32" class="st0" points="12.114,32.475 14.448,31.237 14.492,94.595 12.159,95.834 "/> +<polygon id="Stroke-33" class="st0" points="1.361,26.014 3.695,24.776 14.448,31.237 12.114,32.475 "/> +<polygon id="Stroke-35" class="st0" points="12.114,32.475 12.159,95.834 1.405,89.372 1.361,26.014 "/> +<polygon id="Stroke-38" class="st0" points="54.035,57.205 105.373,29.955 105.42,95.757 54.081,123.007 "/> +<polygon id="Stroke-39" class="st0" points="11.626,31.724 62.965,4.473 105.373,29.955 54.035,57.206 "/> +<polygon id="Stroke-41" class="st0" points="54.035,57.205 54.081,123.007 11.672,97.526 11.626,31.724 "/> +<polygon id="Stroke-42" class="st0" points="112.049,40.444 114.382,39.206 114.427,102.563 112.094,103.802 "/> +<polygon id="Stroke-44" class="st0" points="101.297,33.983 103.63,32.744 114.383,39.206 112.05,40.444 "/> +<polygon id="Stroke-46" class="st0" points="112.049,40.444 112.094,103.802 101.34,97.341 101.296,33.983 "/> +<polygon id="Stroke-49" class="st0" points="107.08,43.056 109.413,41.817 109.458,105.175 107.124,106.413 "/> +<polygon id="Stroke-50" class="st0" points="96.326,36.595 98.66,35.356 109.413,41.818 107.08,43.056 "/> +<polygon id="Stroke-51" class="st0" points="107.08,43.056 107.124,106.413 96.371,99.952 96.326,36.595 "/> +<polygon id="Stroke-52" class="st0" points="102.109,45.991 104.443,44.752 104.487,108.11 102.154,109.349 "/> +<polygon id="Stroke-53" class="st0" points="91.356,39.53 93.69,38.291 104.443,44.752 102.109,45.991 "/> +<polygon id="Stroke-54" class="st0" points="102.109,45.991 102.154,109.349 91.401,102.888 91.356,39.53 "/> +<polygon id="Stroke-55" class="st0" points="97.139,48.602 99.473,47.363 99.517,110.721 97.183,111.96 "/> +<polygon id="Stroke-56" class="st0" points="86.386,42.141 88.719,40.902 99.473,47.363 97.139,48.602 "/> +<polygon id="Stroke-57" class="st0" points="97.139,48.602 97.183,111.96 86.43,105.499 86.386,42.141 "/> +<polygon id="Stroke-58" class="st0" points="92.17,50.957 94.503,49.718 94.548,113.076 92.214,114.314 "/> +<polygon id="Stroke-59" class="st0" points="81.416,44.495 83.75,43.257 94.503,49.718 92.17,50.956 "/> +<polygon id="Stroke-60" class="st0" points="92.17,50.957 92.214,114.314 81.461,107.853 81.416,44.496 "/> +<polygon id="Stroke-61" class="st0" points="87.199,53.568 89.533,52.329 89.577,115.687 87.244,116.926 "/> +<polygon id="Stroke-62" class="st0" points="76.446,47.107 78.78,45.869 89.533,52.33 87.199,53.568 "/> +<polygon id="Stroke-63" class="st0" points="87.199,53.568 87.244,116.926 76.491,110.464 76.446,47.107 "/> +<polygon id="Stroke-64" class="st0" points="82.229,56.503 84.563,55.265 84.607,118.622 82.274,119.861 "/> +<polygon id="Stroke-65" class="st0" points="71.476,50.042 73.81,48.803 84.563,55.265 82.229,56.503 "/> +<polygon id="Stroke-66" class="st0" points="82.229,56.503 82.274,119.861 71.52,113.4 71.476,50.042 "/> +<polygon id="Stroke-67" class="st0" points="77.259,59.114 79.592,57.876 79.638,121.233 77.304,122.472 "/> +<polygon id="Stroke-68" class="st0" points="66.507,52.653 68.84,51.414 79.593,57.876 77.26,59.114 "/> +<polygon id="Stroke-69" class="st0" points="77.259,59.114 77.304,122.472 66.55,116.011 66.507,52.653 "/> +<polygon id="Stroke-70" class="st0" points="72.29,61.619 74.623,60.38 74.668,123.738 72.334,124.977 "/> +<polygon id="Stroke-72" class="st0" points="61.536,55.158 63.87,53.919 74.623,60.38 72.29,61.619 "/> +<polygon id="Stroke-73" class="st0" points="72.29,61.619 72.334,124.977 61.581,118.516 61.536,55.158 "/> +<polygon id="Stroke-75" class="st0" points="67.547,63.859 69.881,62.62 69.926,125.978 67.592,127.216 "/> +<polygon id="Stroke-78" class="st0" points="56.794,57.397 59.128,56.158 69.881,62.62 67.547,63.858 "/> +<polygon id="Stroke-79" class="st0" points="67.547,63.859 67.592,127.216 56.839,120.755 56.794,57.398 "/> +<path id="Stroke-81" class="st0" d="M52.648,122.157l1.4-0.744c0,0.015,0,0.029-0.001,0.043l-1.399,0.743V122.157"/> +<path id="Stroke-84" class="st0" d="M52.648,122.2l1.399-0.743c0,0.028-0.001,0.056-0.003,0.083l-1.399,0.743 + C52.646,122.256,52.647,122.228,52.648,122.2"/> +<path id="Stroke-87" class="st0" d="M52.645,122.283l1.399-0.743c-0.001,0.028-0.003,0.056-0.005,0.083l-1.4,0.743 + C52.641,122.339,52.643,122.311,52.645,122.283"/> +<path id="Stroke-90" class="st0" d="M52.639,122.366l1.399-0.744c-0.002,0.029-0.004,0.056-0.008,0.083l-1.401,0.743 + C52.633,122.421,52.636,122.394,52.639,122.366"/> +<path id="Stroke-93" class="st0" d="M52.63,122.448l1.4-0.743c-0.004,0.029-0.008,0.056-0.013,0.084l-1.4,0.743 + C52.622,122.505,52.626,122.477,52.63,122.448"/> +<path id="Stroke-96" class="st0" d="M52.617,122.533l1.399-0.743c-0.004,0.028-0.01,0.056-0.016,0.083l-1.401,0.743 + C52.605,122.589,52.611,122.561,52.617,122.533"/> +<path id="Stroke-99" class="st0" d="M52.599,122.616l1.4-0.743c-0.007,0.031-0.015,0.06-0.024,0.09l-1.399,0.743 + C52.584,122.677,52.592,122.647,52.599,122.616"/> +<path id="Stroke-102" class="st0" d="M52.576,122.706l1.399-0.743c-0.008,0.032-0.019,0.063-0.03,0.093l-1.4,0.743 + C52.555,122.769,52.566,122.738,52.576,122.706"/> +<path id="Stroke-105" class="st0" d="M52.545,122.798l1.4-0.743c-0.013,0.035-0.027,0.068-0.043,0.1l-1.4,0.743 + C52.518,122.866,52.531,122.833,52.545,122.798"/> +<path id="Stroke-108" class="st0" d="M52.502,122.898l1.4-0.743c-0.02,0.042-0.042,0.081-0.065,0.118l-1.4,0.744 + C52.46,122.98,52.482,122.94,52.502,122.898"/> +<path id="Stroke-111" class="st0" d="M52.436,123.017l1.4-0.744c-0.085,0.134-0.194,0.236-0.32,0.303l-1.4,0.743 + C52.243,123.252,52.351,123.15,52.436,123.017"/> +<path id="Stroke-115" class="st0" d="M53.516,122.576l-1.4,0.743c0.328-0.174,0.532-0.578,0.532-1.162l1.4-0.744 + C54.048,121.997,53.844,122.402,53.516,122.576z"/> +<path id="Stroke-117" class="st0" d="M10.737,33.794l1.4-0.743c0.037-0.02,0.076-0.037,0.116-0.05l-1.4,0.743 + C10.813,33.757,10.774,33.774,10.737,33.794"/> +<path id="Stroke-120" class="st0" d="M10.853,33.744l1.399-0.743c0.04-0.014,0.08-0.025,0.122-0.032l-1.399,0.743 + C10.933,33.72,10.892,33.73,10.853,33.744"/> +<path id="Stroke-123" class="st0" d="M10.975,33.712l1.399-0.743c0.033-0.006,0.066-0.01,0.1-0.013l-1.4,0.743 + C11.039,33.702,11.007,33.706,10.975,33.712"/> +<path id="Stroke-126" class="st0" d="M11.074,33.699l1.4-0.743c0.029-0.002,0.058-0.003,0.088-0.003l-1.4,0.744 + C11.133,33.696,11.102,33.697,11.074,33.699"/> +<path id="Stroke-129" class="st0" d="M11.162,33.697l1.4-0.743c0.028,0,0.056,0.002,0.083,0.004l-1.399,0.743 + C11.218,33.699,11.189,33.697,11.162,33.697"/> +<path id="Stroke-132" class="st0" d="M11.246,33.701l1.399-0.743c0.026,0.002,0.051,0.005,0.077,0.009l-1.401,0.744 + C11.296,33.706,11.27,33.703,11.246,33.701"/> +<path id="Stroke-135" class="st0" d="M11.321,33.711l1.4-0.744c0.025,0.004,0.049,0.009,0.075,0.015l-1.401,0.743 + C11.37,33.719,11.345,33.715,11.321,33.711"/> +<path id="Stroke-138" class="st0" d="M11.395,33.725l1.4-0.744c0.024,0.006,0.047,0.012,0.072,0.018l-1.401,0.744 + C11.443,33.736,11.418,33.73,11.395,33.725"/> +<path id="Stroke-141" class="st0" d="M11.466,33.743l1.4-0.743c0.024,0.006,0.047,0.014,0.071,0.021l-1.401,0.743 + C11.513,33.757,11.489,33.749,11.466,33.743"/> +<path id="Stroke-144" class="st0" d="M11.537,33.764l1.4-0.743c0.024,0.008,0.046,0.016,0.07,0.025l-1.401,0.743 + C11.583,33.78,11.56,33.772,11.537,33.764"/> +<path id="Stroke-147" class="st0" d="M11.606,33.789l1.4-0.743c0.023,0.009,0.046,0.018,0.07,0.028l-1.401,0.743 + C11.652,33.807,11.629,33.798,11.606,33.789"/> +<path id="Stroke-150" class="st0" d="M11.675,33.817l1.4-0.743c0.023,0.01,0.045,0.02,0.069,0.032l-1.401,0.743 + C11.721,33.838,11.697,33.827,11.675,33.817"/> +<path id="Stroke-153" class="st0" d="M11.744,33.849l1.4-0.743c0.024,0.011,0.046,0.023,0.07,0.035l-1.401,0.743 + C11.791,33.872,11.767,33.86,11.744,33.849"/> +<path id="Stroke-156" class="st0" d="M11.813,33.884l1.4-0.743c0.024,0.013,0.047,0.025,0.071,0.039l-1.401,0.743 + C11.86,33.909,11.836,33.897,11.813,33.884"/> +<polyline id="Stroke-159" class="st0" points="11.883,33.923 13.283,33.18 13.31,33.196 11.91,33.939 11.883,33.923 "/> +<path id="Stroke-163" class="st0" d="M10.737,33.794l1.4-0.743c0.307-0.163,0.72-0.128,1.173,0.145l-1.4,0.743 + C11.457,33.667,11.044,33.631,10.737,33.794z"/> +<polygon id="Stroke-165" class="st0" points="11.91,33.939 13.31,33.196 52.323,56.637 50.923,57.38 "/> +<polygon id="Stroke-166" class="st0" points="52.605,60.416 54.004,59.673 54.048,121.414 52.648,122.157 "/> +<path id="Stroke-167" class="st0" d="M50.923,57.38l1.4-0.743c0.015,0.009,0.03,0.018,0.044,0.027l-1.4,0.743 + C50.952,57.398,50.938,57.389,50.923,57.38"/> +<path id="Stroke-170" class="st0" d="M50.966,57.408l1.4-0.743c0.024,0.014,0.047,0.03,0.071,0.046l-1.401,0.743 + C51.015,57.438,50.99,57.423,50.966,57.408"/> +<path id="Stroke-173" class="st0" d="M51.037,57.453l1.4-0.743c0.025,0.016,0.048,0.033,0.073,0.051l-1.401,0.743 + C51.085,57.486,51.061,57.47,51.037,57.453"/> +<path id="Stroke-176" class="st0" d="M51.109,57.504l1.4-0.743c0.024,0.017,0.048,0.036,0.072,0.055l-1.401,0.743 + C51.157,57.54,51.132,57.522,51.109,57.504"/> +<path id="Stroke-179" class="st0" d="M51.18,57.559l1.4-0.743c0.026,0.019,0.05,0.039,0.075,0.06l-1.401,0.743 + C51.23,57.599,51.205,57.579,51.18,57.559"/> +<path id="Stroke-182" class="st0" d="M51.255,57.619l1.4-0.743c0.025,0.021,0.05,0.042,0.074,0.064l-1.4,0.743 + C51.305,57.661,51.28,57.64,51.255,57.619"/> +<path id="Stroke-185" class="st0" d="M51.329,57.683l1.399-0.743c0.026,0.022,0.05,0.045,0.076,0.069l-1.401,0.743 + C51.379,57.728,51.353,57.705,51.329,57.683"/> +<path id="Stroke-188" class="st0" d="M51.403,57.752l1.4-0.743c0.025,0.023,0.048,0.047,0.073,0.071l-1.401,0.744 + C51.451,57.799,51.427,57.775,51.403,57.752"/> +<path id="Stroke-191" class="st0" d="M51.475,57.824l1.4-0.744c0.024,0.024,0.046,0.049,0.07,0.074l-1.401,0.743 + C51.522,57.872,51.498,57.847,51.475,57.824"/> +<path id="Stroke-194" class="st0" d="M51.545,57.897l1.4-0.743c0.022,0.024,0.044,0.048,0.066,0.073L51.61,57.97 + C51.589,57.945,51.567,57.921,51.545,57.897"/> +<path id="Stroke-197" class="st0" d="M51.61,57.97l1.4-0.743c0.022,0.024,0.042,0.048,0.063,0.073l-1.401,0.743 + C51.652,58.018,51.631,57.994,51.61,57.97"/> +<path id="Stroke-200" class="st0" d="M51.673,58.043l1.4-0.743c0.021,0.024,0.04,0.049,0.06,0.074l-1.399,0.743 + C51.713,58.092,51.694,58.067,51.673,58.043"/> +<path id="Stroke-203" class="st0" d="M51.733,58.117l1.399-0.743c0.02,0.025,0.039,0.05,0.059,0.075l-1.4,0.743 + C51.771,58.167,51.753,58.142,51.733,58.117"/> +<path id="Stroke-206" class="st0" d="M51.791,58.192l1.4-0.743c0.021,0.028,0.042,0.056,0.063,0.085l-1.401,0.743 + C51.833,58.249,51.812,58.22,51.791,58.192"/> +<path id="Stroke-209" class="st0" d="M51.853,58.277l1.4-0.743c0.022,0.03,0.043,0.061,0.064,0.092l-1.4,0.743 + C51.896,58.338,51.874,58.307,51.853,58.277"/> +<path id="Stroke-212" class="st0" d="M51.918,58.37l1.399-0.743c0.1,0.148,0.192,0.303,0.273,0.464l-1.401,0.743 + C52.108,58.674,52.018,58.518,51.918,58.37"/> +<path id="Stroke-215" class="st0" d="M52.189,58.833l1.4-0.743c0.017,0.032,0.033,0.065,0.048,0.097l-1.4,0.744 + C52.221,58.898,52.206,58.865,52.189,58.833"/> +<path id="Stroke-218" class="st0" d="M52.237,58.931l1.4-0.743c0.014,0.03,0.028,0.059,0.041,0.09l-1.399,0.743 + C52.265,58.991,52.252,58.961,52.237,58.931"/> +<path id="Stroke-221" class="st0" d="M52.279,59.021l1.399-0.743c0.012,0.025,0.023,0.051,0.035,0.077l-1.401,0.743 + C52.301,59.072,52.29,59.047,52.279,59.021"/> +<path id="Stroke-224" class="st0" d="M52.312,59.098l1.4-0.743c0.011,0.025,0.021,0.051,0.032,0.077l-1.401,0.743 + C52.333,59.149,52.323,59.123,52.312,59.098"/> +<path id="Stroke-227" class="st0" d="M52.343,59.175l1.4-0.743c0.011,0.025,0.021,0.051,0.031,0.077l-1.401,0.743 + C52.365,59.226,52.355,59.2,52.343,59.175"/> +<path id="Stroke-230" class="st0" d="M52.374,59.252l1.4-0.743c0.01,0.026,0.02,0.052,0.029,0.078l-1.401,0.743 + C52.394,59.304,52.384,59.278,52.374,59.252"/> +<path id="Stroke-233" class="st0" d="M52.402,59.33l1.4-0.743c0.01,0.027,0.019,0.054,0.028,0.08l-1.4,0.744 + C52.422,59.384,52.412,59.357,52.402,59.33"/> +<path id="Stroke-236" class="st0" d="M52.43,59.411l1.399-0.743c0.01,0.028,0.019,0.056,0.028,0.084l-1.401,0.743 + C52.448,59.467,52.439,59.439,52.43,59.411"/> +<path id="Stroke-239" class="st0" d="M52.457,59.495l1.4-0.743c0.009,0.029,0.017,0.057,0.026,0.086l-1.401,0.743 + C52.475,59.553,52.466,59.524,52.457,59.495"/> +<path id="Stroke-242" class="st0" d="M52.482,59.581l1.4-0.743l0.024,0.089l-1.401,0.743C52.499,59.641,52.49,59.611,52.482,59.581" + /> +<path id="Stroke-245" class="st0" d="M52.506,59.671l1.4-0.743c0.008,0.03,0.015,0.06,0.022,0.09l-1.401,0.743 + C52.521,59.731,52.514,59.701,52.506,59.671"/> +<path id="Stroke-248" class="st0" d="M52.527,59.761l1.4-0.743c0.007,0.03,0.014,0.06,0.02,0.091l-1.4,0.743 + C52.541,59.822,52.534,59.791,52.527,59.761"/> +<path id="Stroke-251" class="st0" d="M52.547,59.852l1.4-0.743c0.006,0.03,0.012,0.059,0.017,0.09l-1.4,0.743 + C52.559,59.912,52.553,59.882,52.547,59.852"/> +<path id="Stroke-254" class="st0" d="M52.563,59.942l1.4-0.743c0.005,0.029,0.01,0.059,0.014,0.088l-1.4,0.743 + C52.573,60.001,52.568,59.971,52.563,59.942"/> +<path id="Stroke-257" class="st0" d="M52.577,60.03l1.4-0.743c0.004,0.029,0.008,0.058,0.011,0.087l-1.4,0.743 + C52.585,60.089,52.581,60.059,52.577,60.03"/> +<path id="Stroke-260" class="st0" d="M52.588,60.118l1.4-0.743c0.003,0.029,0.006,0.057,0.008,0.086l-1.399,0.743L52.588,60.118"/> +<path id="Stroke-263" class="st0" d="M52.596,60.204l1.399-0.743c0.003,0.028,0.005,0.057,0.006,0.085l-1.4,0.743 + C52.6,60.261,52.598,60.232,52.596,60.204"/> +<path id="Stroke-266" class="st0" d="M52.601,60.289l1.4-0.743c0.002,0.028,0.003,0.056,0.003,0.084l-1.4,0.743 + C52.604,60.346,52.603,60.317,52.601,60.289"/> +<path id="Stroke-269" class="st0" d="M52.604,60.374l1.4-0.743v0.042l-1.399,0.743C52.605,60.402,52.604,60.388,52.604,60.374"/> +<path id="Stroke-273" class="st0" d="M50.923,57.38l1.4-0.743c0.927,0.557,1.682,1.913,1.682,3.035l-1.399,0.744 + C52.605,59.294,51.851,57.937,50.923,57.38z"/> +<path id="Stroke-275" class="st0" d="M50.923,57.38c0.928,0.557,1.682,1.914,1.683,3.036l0.043,61.741 + c0.001,1.122-0.756,1.58-1.691,1.018L11.921,99.72c-0.927-0.557-1.681-1.918-1.682-3.036l-0.043-61.707 + c-0.001-1.142,0.768-1.607,1.714-1.038L50.923,57.38z"/> +<polygon id="Stroke-278" class="st0" points="34.915,60.022 31.519,57.96 31.519,53.129 34.915,55.19 "/> +<polygon id="Stroke-279" class="st0" points="34.915,66.155 31.519,64.094 31.519,59.261 34.915,61.323 "/> +<polygon id="Stroke-280" class="st0" points="34.915,72.288 31.519,70.226 31.519,65.396 34.915,67.456 "/> +<polygon id="Stroke-281" class="st0" points="34.915,78.42 31.519,76.359 31.519,71.527 34.915,73.589 "/> +<polygon id="Stroke-282" class="st0" points="34.915,89.497 31.519,87.435 31.519,82.604 34.915,84.664 "/> +<polygon id="Stroke-283" class="st0" points="34.915,95.628 31.519,93.567 31.519,88.735 34.915,90.797 "/> +<polygon id="Stroke-284" class="st0" points="34.915,101.761 31.519,99.699 31.519,94.869 34.915,96.93 "/> +<polygon id="Stroke-285" class="st0" points="34.915,107.894 31.519,105.833 31.519,101.001 34.915,103.063 "/> +<polygon id="Stroke-286" class="st0" points="23.989,73.753 20.593,71.691 20.593,66.859 23.989,68.92 "/> +<path id="Stroke-287" class="st0" d="M10.311,34.633c0.128-0.975,0.742-0.88,1.469-0.526c4.946,2.411,23.924,14.325,23.924,14.325 + l15.358,9.228c0,0,0.321,0.203,0.727,0.723c0.513,0.657,0.692,2.241,0.692,2.241l0.149,54.095c0,0,0.01,7.092-0.029,7.472 + c-0.183,1.747-1.73,0.817-1.73,0.817"/> +<polygon id="Stroke-289" class="st0" points="23.782,83.321 20.386,81.259 20.386,76.428 23.782,78.488 "/> +<polygon id="Stroke-291" class="st0" points="23.782,89.453 20.386,87.392 20.386,82.56 23.782,84.622 "/> +<polygon id="Stroke-293" class="st0" points="23.782,95.586 20.386,93.524 20.386,88.694 23.782,90.755 "/> +<polygon id="Stroke-295" class="st0" points="23.782,101.719 20.386,99.658 20.386,94.826 23.782,96.888 "/> +<polygon id="Fill-297" class="st1" points="56.617,9.061 58.95,7.823 58.995,71.181 56.661,72.418 "/> +<polygon id="Fill-299" class="st2" points="45.863,2.6 48.197,1.361 58.95,7.823 56.617,9.061 "/> +<polygon id="Fill-301" class="st3" points="56.617,9.061 56.661,72.418 45.908,65.958 45.863,2.6 "/> +<polygon id="Fill-303" class="st1" points="51.646,11.673 53.98,10.434 54.024,73.792 51.691,75.03 "/> +<polygon id="Fill-305" class="st2" points="40.893,5.211 43.227,3.972 53.98,10.434 51.646,11.672 "/> +<polygon id="Fill-307" class="st3" points="51.646,11.673 51.691,75.03 40.937,68.569 40.893,5.212 "/> +<polygon id="Fill-309" class="st1" points="46.677,14.607 49.011,13.369 49.055,76.726 46.721,77.965 "/> +<polygon id="Fill-311" class="st2" points="35.924,8.146 38.257,6.907 49.011,13.369 46.677,14.607 "/> +<polygon id="Fill-313" class="st3" points="46.677,14.607 46.721,77.965 35.968,71.504 35.924,8.146 "/> +<polygon id="Fill-315" class="st1" points="41.707,17.219 44.04,15.981 44.085,79.338 41.751,80.577 "/> +<polygon id="Fill-317" class="st2" points="30.953,10.758 33.287,9.519 44.04,15.981 41.707,17.219 "/> +<polygon id="Fill-319" class="st3" points="41.707,17.219 41.751,80.577 30.998,74.116 30.953,10.758 "/> +<polygon id="Fill-321" class="st1" points="36.736,19.574 39.07,18.335 39.114,81.693 36.781,82.932 "/> +<polygon id="Fill-323" class="st2" points="25.983,13.112 28.317,11.874 39.07,18.335 36.736,19.573 "/> +<polygon id="Fill-325" class="st3" points="36.736,19.574 36.781,82.932 26.028,76.47 25.983,13.113 "/> +<polygon id="Fill-327" class="st1" points="31.766,22.185 34.1,20.946 34.144,84.304 31.811,85.543 "/> +<polygon id="Fill-329" class="st2" points="21.013,15.724 23.346,14.485 34.1,20.946 31.766,22.185 "/> +<polygon id="Fill-331" class="st3" points="31.766,22.185 31.811,85.543 21.057,79.081 21.013,15.724 "/> +<polygon id="Fill-333" class="st1" points="26.797,25.12 29.13,23.881 29.175,87.239 26.841,88.477 "/> +<polygon id="Fill-335" class="st2" points="16.044,18.659 18.377,17.42 29.13,23.882 26.797,25.12 "/> +<polygon id="Fill-337" class="st3" points="26.797,25.12 26.841,88.477 16.088,82.016 16.044,18.659 "/> +<polygon id="Fill-339" class="st1" points="21.827,27.731 24.16,26.492 24.205,89.85 21.871,91.088 "/> +<polygon id="Fill-341" class="st2" points="11.073,21.27 13.407,20.031 24.16,26.493 21.827,27.731 "/> +<polygon id="Fill-343" class="st3" points="21.827,27.731 21.871,91.088 11.118,84.627 11.073,21.27 "/> +<polygon id="Fill-345" class="st1" points="16.856,30.236 19.19,28.998 19.234,92.355 16.901,93.594 "/> +<polygon id="Fill-347" class="st2" points="6.103,23.775 8.437,22.536 19.19,28.998 16.856,30.236 "/> +<polygon id="Fill-349" class="st3" points="16.856,30.236 16.901,93.594 6.148,87.133 6.103,23.775 "/> +<polygon id="Fill-351" class="st1" points="12.114,32.476 14.448,31.237 14.492,94.595 12.159,95.834 "/> +<polygon id="Fill-353" class="st2" points="1.361,26.014 3.695,24.776 14.448,31.237 12.114,32.475 "/> +<polygon id="Fill-355" class="st3" points="12.114,32.476 12.159,95.834 1.405,89.372 1.361,26.015 "/> +<polygon id="Fill-357" class="st4" points="54.035,57.205 105.373,29.955 105.42,95.757 54.081,123.008 "/> +<polygon id="Fill-359" class="st5" points="11.626,31.724 62.965,4.473 105.373,29.955 54.035,57.206 "/> +<polygon id="Fill-361" class="st6" points="54.035,57.205 54.081,123.008 11.672,97.526 11.626,31.724 "/> +<polygon id="Fill-363" class="st1" points="112.049,40.444 114.382,39.206 114.427,102.563 112.093,103.802 "/> +<polygon id="Fill-365" class="st2" points="101.297,33.983 103.63,32.744 114.383,39.206 112.05,40.444 "/> +<polygon id="Fill-367" class="st3" points="112.049,40.444 112.093,103.802 101.34,97.341 101.297,33.983 "/> +<polygon id="Fill-369" class="st1" points="107.08,43.056 109.413,41.817 109.458,105.175 107.124,106.413 "/> +<polygon id="Fill-371" class="st2" points="96.326,36.595 98.66,35.356 109.413,41.818 107.08,43.056 "/> +<polygon id="Fill-373" class="st3" points="107.08,43.056 107.124,106.413 96.371,99.952 96.326,36.595 "/> +<polygon id="Fill-375" class="st1" points="102.109,45.991 104.443,44.752 104.487,108.11 102.154,109.349 "/> +<polygon id="Fill-377" class="st2" points="91.356,39.53 93.69,38.291 104.443,44.752 102.109,45.991 "/> +<polygon id="Fill-379" class="st3" points="102.109,45.991 102.154,109.349 91.401,102.888 91.356,39.53 "/> +<polygon id="Fill-381" class="st1" points="97.139,48.602 99.473,47.363 99.517,110.721 97.183,111.96 "/> +<polygon id="Fill-383" class="st2" points="86.386,42.141 88.719,40.902 99.473,47.363 97.139,48.602 "/> +<polygon id="Fill-385" class="st3" points="97.139,48.602 97.183,111.96 86.43,105.499 86.386,42.141 "/> +<polygon id="Fill-387" class="st1" points="92.17,50.957 94.503,49.718 94.548,113.076 92.214,114.314 "/> +<polygon id="Fill-389" class="st2" points="81.416,44.495 83.75,43.257 94.503,49.718 92.17,50.956 "/> +<polygon id="Fill-391" class="st3" points="92.17,50.957 92.214,114.314 81.461,107.853 81.416,44.496 "/> +<polygon id="Fill-393" class="st1" points="87.199,53.568 89.533,52.329 89.577,115.687 87.244,116.926 "/> +<polygon id="Fill-395" class="st2" points="76.446,47.107 78.78,45.869 89.533,52.33 87.199,53.568 "/> +<polygon id="Fill-397" class="st3" points="87.199,53.568 87.244,116.926 76.491,110.464 76.446,47.107 "/> +<polygon id="Fill-399" class="st1" points="82.229,56.503 84.563,55.265 84.607,118.622 82.274,119.861 "/> +<polygon id="Fill-401" class="st2" points="71.476,50.042 73.81,48.803 84.563,55.265 82.229,56.503 "/> +<polygon id="Fill-403" class="st3" points="82.229,56.503 82.274,119.861 71.52,113.4 71.476,50.042 "/> +<polygon id="Fill-405" class="st1" points="77.259,59.114 79.592,57.876 79.638,121.233 77.304,122.472 "/> +<polygon id="Fill-407" class="st2" points="66.507,52.653 68.84,51.414 79.593,57.876 77.26,59.114 "/> +<polygon id="Fill-409" class="st3" points="77.259,59.114 77.304,122.472 66.55,116.011 66.507,52.653 "/> +<polygon id="Fill-411" class="st1" points="72.29,61.619 74.623,60.38 74.668,123.738 72.334,124.977 "/> +<polygon id="Fill-413" class="st2" points="61.536,55.158 63.87,53.919 74.623,60.38 72.29,61.619 "/> +<polygon id="Fill-415" class="st3" points="72.29,61.619 72.334,124.977 61.581,118.516 61.536,55.158 "/> +<polygon id="Fill-417" class="st1" points="67.547,63.859 69.881,62.62 69.926,125.978 67.592,127.216 "/> +<polygon id="Fill-419" class="st2" points="56.794,57.397 59.128,56.158 69.881,62.62 67.547,63.858 "/> +<polygon id="Fill-421" class="st3" points="67.547,63.859 67.592,127.216 56.839,120.755 56.794,57.398 "/> +<path id="Fill-424" class="st7" d="M52.648,122.157l1.4-0.744c0,0.015,0,0.029-0.001,0.043l-1.399,0.743V122.157"/> +<path id="Fill-427" class="st8" d="M52.648,122.2l1.399-0.743c0,0.028-0.001,0.056-0.003,0.083l-1.399,0.743 + C52.646,122.256,52.647,122.228,52.648,122.2"/> +<path id="Fill-430" class="st9" d="M52.645,122.283l1.399-0.743c-0.001,0.028-0.003,0.056-0.005,0.083l-1.4,0.743 + C52.641,122.339,52.643,122.311,52.645,122.283"/> +<path id="Fill-433" class="st10" d="M52.639,122.366l1.399-0.744c-0.002,0.029-0.004,0.056-0.008,0.083l-1.401,0.743 + C52.633,122.421,52.636,122.394,52.639,122.366"/> +<path id="Fill-436" class="st11" d="M52.63,122.448l1.4-0.743c-0.004,0.029-0.008,0.056-0.013,0.084l-1.4,0.743 + C52.622,122.505,52.626,122.477,52.63,122.448"/> +<path id="Fill-439" class="st12" d="M52.617,122.533l1.399-0.743c-0.004,0.028-0.01,0.056-0.016,0.083l-1.401,0.743 + C52.605,122.589,52.611,122.561,52.617,122.533"/> +<path id="Fill-442" class="st13" d="M52.599,122.616l1.4-0.743c-0.007,0.031-0.015,0.06-0.024,0.09l-1.399,0.743 + C52.584,122.677,52.592,122.647,52.599,122.616"/> +<path id="Fill-445" class="st14" d="M52.576,122.706l1.399-0.743c-0.008,0.032-0.019,0.063-0.03,0.093l-1.4,0.743 + C52.555,122.769,52.566,122.738,52.576,122.706"/> +<path id="Fill-448" class="st15" d="M52.545,122.798l1.4-0.743c-0.013,0.035-0.027,0.068-0.043,0.1l-1.4,0.743 + C52.518,122.866,52.531,122.833,52.545,122.798"/> +<path id="Fill-451" class="st16" d="M52.502,122.898l1.4-0.743c-0.02,0.042-0.042,0.081-0.065,0.118l-1.4,0.744 + C52.46,122.98,52.482,122.94,52.502,122.898"/> +<path id="Fill-454" class="st17" d="M52.436,123.017l1.4-0.744c-0.085,0.134-0.194,0.236-0.32,0.303l-1.4,0.743 + C52.243,123.252,52.351,123.15,52.436,123.017"/> +<path id="Fill-458" class="st17" d="M10.737,33.794l1.4-0.743c0.037-0.02,0.076-0.037,0.116-0.05l-1.4,0.743 + C10.813,33.757,10.774,33.774,10.737,33.794"/> +<path id="Fill-461" class="st16" d="M10.853,33.744l1.399-0.743c0.04-0.014,0.08-0.025,0.122-0.032l-1.399,0.743 + C10.933,33.72,10.892,33.73,10.853,33.744"/> +<path id="Fill-464" class="st15" d="M10.975,33.712l1.399-0.743c0.033-0.006,0.066-0.01,0.1-0.013l-1.4,0.743 + C11.039,33.702,11.007,33.706,10.975,33.712"/> +<path id="Fill-467" class="st14" d="M11.074,33.699l1.4-0.743c0.029-0.002,0.058-0.003,0.088-0.003l-1.4,0.744 + C11.133,33.696,11.102,33.697,11.074,33.699"/> +<path id="Fill-470" class="st13" d="M11.162,33.697l1.4-0.743c0.028,0,0.056,0.002,0.083,0.004l-1.399,0.743 + C11.218,33.699,11.189,33.697,11.162,33.697"/> +<path id="Fill-473" class="st12" d="M11.246,33.701l1.399-0.743c0.026,0.002,0.051,0.005,0.077,0.009l-1.401,0.744 + C11.296,33.706,11.27,33.703,11.246,33.701"/> +<path id="Fill-476" class="st11" d="M11.321,33.711l1.4-0.744c0.025,0.004,0.049,0.009,0.075,0.015l-1.401,0.743 + C11.37,33.719,11.345,33.715,11.321,33.711"/> +<path id="Fill-479" class="st10" d="M11.395,33.725l1.4-0.744c0.024,0.006,0.047,0.012,0.072,0.018l-1.401,0.744 + C11.443,33.736,11.418,33.73,11.395,33.725"/> +<path id="Fill-482" class="st9" d="M11.466,33.743l1.4-0.743c0.024,0.006,0.047,0.014,0.071,0.021l-1.401,0.743 + C11.513,33.757,11.489,33.749,11.466,33.743"/> +<path id="Fill-485" class="st8" d="M11.537,33.764l1.4-0.743c0.024,0.008,0.046,0.016,0.07,0.025l-1.401,0.743 + C11.583,33.78,11.56,33.772,11.537,33.764"/> +<path id="Fill-488" class="st7" d="M11.606,33.789l1.4-0.743c0.023,0.009,0.046,0.018,0.07,0.028l-1.401,0.743 + C11.652,33.807,11.629,33.798,11.606,33.789"/> +<path id="Fill-491" class="st18" d="M11.675,33.817l1.4-0.743c0.023,0.01,0.045,0.02,0.069,0.032l-1.401,0.743 + C11.721,33.838,11.697,33.827,11.675,33.817"/> +<path id="Fill-494" class="st19" d="M11.744,33.849l1.4-0.743c0.024,0.011,0.046,0.023,0.07,0.035l-1.401,0.743 + C11.791,33.872,11.767,33.86,11.744,33.849"/> +<path id="Fill-497" class="st20" d="M11.813,33.884l1.4-0.743c0.024,0.013,0.047,0.025,0.071,0.039l-1.401,0.743 + C11.86,33.909,11.836,33.897,11.813,33.884"/> +<polygon id="Fill-500" class="st21" points="11.883,33.923 13.283,33.18 13.31,33.196 11.91,33.939 "/> +<polygon id="Fill-504" class="st22" points="11.91,33.939 13.31,33.196 52.323,56.637 50.923,57.38 "/> +<polygon id="Fill-506" class="st23" points="52.605,60.416 54.004,59.673 54.048,121.414 52.648,122.157 "/> +<path id="Fill-509" class="st21" d="M50.923,57.38l1.4-0.743c0.015,0.009,0.03,0.018,0.044,0.027l-1.4,0.743 + C50.952,57.398,50.938,57.389,50.923,57.38"/> +<path id="Fill-512" class="st24" d="M50.966,57.408l1.4-0.743c0.024,0.014,0.047,0.03,0.071,0.046l-1.401,0.743 + C51.015,57.438,50.99,57.423,50.966,57.408"/> +<path id="Fill-515" class="st25" d="M51.037,57.453l1.4-0.743c0.025,0.016,0.048,0.033,0.073,0.051l-1.401,0.743 + C51.085,57.486,51.061,57.47,51.037,57.453"/> +<path id="Fill-518" class="st26" d="M51.109,57.504l1.4-0.743c0.024,0.017,0.048,0.036,0.072,0.055l-1.401,0.743 + C51.157,57.54,51.132,57.522,51.109,57.504"/> +<path id="Fill-521" class="st27" d="M51.18,57.559l1.4-0.743c0.026,0.019,0.05,0.039,0.075,0.06l-1.401,0.743 + C51.23,57.599,51.205,57.579,51.18,57.559"/> +<path id="Fill-524" class="st28" d="M51.255,57.619l1.4-0.743c0.025,0.021,0.05,0.042,0.074,0.064l-1.4,0.743 + C51.305,57.661,51.28,57.64,51.255,57.619"/> +<path id="Fill-527" class="st29" d="M51.329,57.683l1.399-0.743c0.026,0.022,0.05,0.045,0.076,0.069l-1.401,0.743 + C51.379,57.728,51.353,57.705,51.329,57.683"/> +<path id="Fill-530" class="st30" d="M51.403,57.752l1.4-0.743c0.025,0.023,0.048,0.047,0.073,0.071l-1.401,0.744 + C51.451,57.799,51.427,57.775,51.403,57.752"/> +<path id="Fill-533" class="st31" d="M51.475,57.824l1.4-0.744c0.024,0.024,0.046,0.049,0.07,0.074l-1.401,0.743 + C51.522,57.872,51.498,57.847,51.475,57.824"/> +<path id="Fill-536" class="st22" d="M51.545,57.897l1.4-0.743c0.022,0.024,0.044,0.048,0.066,0.073L51.61,57.97 + C51.589,57.945,51.567,57.921,51.545,57.897"/> +<path id="Fill-539" class="st32" d="M51.61,57.97l1.4-0.743c0.022,0.024,0.042,0.048,0.063,0.073l-1.401,0.743 + C51.652,58.018,51.631,57.994,51.61,57.97"/> +<path id="Fill-542" class="st33" d="M51.673,58.043l1.4-0.743c0.021,0.024,0.04,0.049,0.06,0.074l-1.399,0.743 + C51.713,58.092,51.694,58.067,51.673,58.043"/> +<path id="Fill-545" class="st34" d="M51.733,58.117l1.399-0.743c0.02,0.025,0.039,0.05,0.059,0.075l-1.4,0.743 + C51.771,58.167,51.753,58.142,51.733,58.117"/> +<path id="Fill-548" class="st35" d="M51.791,58.192l1.4-0.743c0.021,0.028,0.042,0.056,0.063,0.085l-1.401,0.743 + C51.833,58.249,51.812,58.22,51.791,58.192"/> +<path id="Fill-551" class="st36" d="M51.853,58.277l1.4-0.743c0.022,0.03,0.043,0.061,0.064,0.092l-1.4,0.743 + C51.896,58.338,51.874,58.307,51.853,58.277"/> +<path id="Fill-554" class="st37" d="M51.918,58.37l1.399-0.743c0.1,0.148,0.192,0.303,0.273,0.464l-1.401,0.743 + C52.108,58.674,52.018,58.518,51.918,58.37"/> +<path id="Fill-557" class="st36" d="M52.189,58.833l1.4-0.743c0.017,0.032,0.033,0.065,0.048,0.097l-1.4,0.744 + C52.221,58.898,52.206,58.865,52.189,58.833"/> +<path id="Fill-560" class="st35" d="M52.237,58.931l1.4-0.743c0.014,0.03,0.028,0.059,0.041,0.09l-1.399,0.743 + C52.265,58.991,52.252,58.961,52.237,58.931"/> +<path id="Fill-563" class="st34" d="M52.279,59.021l1.399-0.743c0.012,0.025,0.023,0.051,0.035,0.077l-1.401,0.743 + C52.301,59.072,52.29,59.047,52.279,59.021"/> +<path id="Fill-566" class="st33" d="M52.312,59.098l1.4-0.743c0.011,0.025,0.021,0.051,0.032,0.077l-1.401,0.743 + C52.333,59.149,52.323,59.123,52.312,59.098"/> +<path id="Fill-569" class="st32" d="M52.343,59.175l1.4-0.743c0.011,0.025,0.021,0.051,0.031,0.077l-1.401,0.743 + C52.365,59.226,52.355,59.2,52.343,59.175"/> +<path id="Fill-572" class="st22" d="M52.374,59.252l1.4-0.743c0.01,0.026,0.02,0.052,0.029,0.078l-1.401,0.743 + C52.394,59.304,52.384,59.278,52.374,59.252"/> +<path id="Fill-575" class="st31" d="M52.402,59.33l1.4-0.743c0.01,0.027,0.019,0.054,0.028,0.08l-1.4,0.744 + C52.422,59.384,52.412,59.357,52.402,59.33"/> +<path id="Fill-578" class="st30" d="M52.43,59.411l1.399-0.743c0.01,0.028,0.019,0.056,0.028,0.084l-1.401,0.743 + C52.448,59.467,52.439,59.439,52.43,59.411"/> +<path id="Fill-581" class="st29" d="M52.457,59.495l1.4-0.743c0.009,0.029,0.017,0.057,0.026,0.086l-1.401,0.743 + C52.475,59.553,52.466,59.524,52.457,59.495"/> +<path id="Fill-584" class="st28" d="M52.482,59.581l1.4-0.743l0.024,0.089l-1.401,0.743C52.499,59.641,52.49,59.611,52.482,59.581" + /> +<path id="Fill-587" class="st27" d="M52.506,59.671l1.4-0.743c0.008,0.03,0.015,0.06,0.022,0.09l-1.401,0.743 + C52.521,59.731,52.514,59.701,52.506,59.671"/> +<path id="Fill-590" class="st26" d="M52.527,59.761l1.4-0.743c0.007,0.03,0.014,0.06,0.02,0.091l-1.4,0.743 + C52.541,59.822,52.534,59.791,52.527,59.761"/> +<path id="Fill-593" class="st25" d="M52.547,59.852l1.4-0.743c0.006,0.03,0.012,0.059,0.017,0.09l-1.4,0.743 + C52.559,59.912,52.553,59.882,52.547,59.852"/> +<path id="Fill-596" class="st24" d="M52.563,59.942l1.4-0.743c0.005,0.029,0.01,0.059,0.014,0.088l-1.4,0.743 + C52.573,60.001,52.568,59.971,52.563,59.942"/> +<path id="Fill-599" class="st21" d="M52.577,60.03l1.4-0.743c0.004,0.029,0.008,0.058,0.011,0.087l-1.4,0.743 + C52.585,60.089,52.581,60.059,52.577,60.03"/> +<path id="Fill-602" class="st20" d="M52.588,60.118l1.4-0.743c0.003,0.029,0.006,0.057,0.008,0.086l-1.399,0.743L52.588,60.118"/> +<path id="Fill-605" class="st19" d="M52.596,60.204l1.399-0.743c0.003,0.028,0.005,0.057,0.006,0.085l-1.4,0.743 + C52.6,60.261,52.598,60.232,52.596,60.204"/> +<path id="Fill-608" class="st18" d="M52.601,60.289l1.4-0.743c0.002,0.028,0.003,0.056,0.003,0.084l-1.4,0.743 + C52.604,60.346,52.603,60.317,52.601,60.289"/> +<path id="Fill-611" class="st7" d="M52.604,60.374l1.4-0.743v0.042l-1.399,0.743C52.605,60.402,52.604,60.388,52.604,60.374"/> +<path id="Fill-615" class="st38" d="M50.923,57.38c0.928,0.557,1.682,1.914,1.683,3.036l0.043,61.741 + c0.001,1.122-0.756,1.58-1.691,1.018L11.921,99.72c-0.927-0.557-1.681-1.918-1.682-3.036l-0.043-61.707 + c-0.001-1.142,0.768-1.607,1.714-1.038L50.923,57.38z"/> +<polygon id="Fill-617" class="st39" points="34.915,60.022 31.519,57.96 31.519,53.129 34.915,55.19 "/> +<polygon id="Fill-619" class="st39" points="34.915,66.155 31.519,64.094 31.519,59.261 34.915,61.323 "/> +<polygon id="Fill-621" class="st39" points="34.915,72.287 31.519,70.225 31.519,65.396 34.915,67.455 "/> +<polygon id="Fill-623" class="st39" points="34.915,78.42 31.519,76.359 31.519,71.527 34.915,73.589 "/> +<polygon id="Fill-625" class="st39" points="34.915,89.497 31.519,87.435 31.519,82.604 34.915,84.664 "/> +<polygon id="Fill-627" class="st39" points="34.915,95.628 31.519,93.567 31.519,88.735 34.915,90.797 "/> +<polygon id="Fill-629" class="st39" points="34.915,101.761 31.519,99.699 31.519,94.869 34.915,96.93 "/> +<polygon id="Fill-631" class="st39" points="34.915,107.894 31.519,105.833 31.519,101.001 34.915,103.063 "/> +<polygon id="Fill-633" class="st39" points="23.989,73.753 20.593,71.691 20.593,66.859 23.989,68.92 "/> +<path id="Stroke-635" class="st40" d="M10.311,34.633c0.128-0.975,0.742-0.88,1.469-0.526c4.946,2.411,23.924,14.325,23.924,14.325 + l15.358,9.228c0,0,0.321,0.203,0.727,0.723c0.513,0.657,0.692,2.241,0.692,2.241l0.149,54.095c0,0,0.01,7.092-0.029,7.472 + c-0.183,1.747-1.73,0.817-1.73,0.817"/> +<polygon id="Fill-637" class="st39" points="23.782,83.321 20.386,81.259 20.386,76.428 23.782,78.488 "/> +<polygon id="Fill-639" class="st39" points="23.782,89.453 20.386,87.392 20.386,82.56 23.782,84.622 "/> +<polygon id="Fill-641" class="st39" points="23.782,95.586 20.386,93.524 20.386,88.694 23.782,90.755 "/> +<polygon id="Fill-643" class="st39" points="23.782,101.719 20.386,99.658 20.386,94.826 23.782,96.888 "/> +<polygon id="Fill-645" class="st3" points="77.925,20.781 81.515,18.876 81.518,23.545 77.93,25.45 "/> +<polygon id="Fill-647" class="st41" points="74.053,18.454 77.641,16.549 81.514,18.876 77.925,20.781 "/> +<polygon id="Fill-649" class="st42" points="77.925,20.781 77.93,25.45 74.057,23.123 74.054,18.454 "/> +<polygon id="Fill-651" class="st3" points="72.225,23.849 75.813,21.944 75.816,26.613 72.228,28.518 "/> +<polygon id="Fill-653" class="st41" points="68.352,21.522 71.94,19.617 75.813,21.944 72.225,23.849 "/> +<polygon id="Fill-655" class="st42" points="72.225,23.849 72.228,28.518 68.355,26.191 68.352,21.522 "/> +<polygon id="Fill-657" class="st43" points="70.252,33.618 79.586,28.663 79.59,34.85 70.256,39.805 "/> +<polygon id="Fill-659" class="st44" points="65.411,30.709 74.746,25.754 79.586,28.663 70.252,33.617 "/> +<polygon id="Fill-661" class="st45" points="70.252,33.618 70.256,39.805 65.416,36.897 65.411,30.71 "/> +<polyline id="Stroke-663" class="st46" points="65.453,30.803 70.252,33.617 70.213,39.652 "/> +<polyline id="Stroke-665" class="st46" points="68.352,21.522 72.193,23.935 72.225,26.97 "/> +<polyline id="Stroke-667" class="st46" points="74.053,18.454 77.975,20.869 77.943,25.309 "/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8106.svg b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8106.svg new file mode 100644 index 0000000000000000000000000000000000000000..a8959933475ea9df2ca220bb72e3cbbca8ebdcf1 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8106.svg @@ -0,0 +1,129 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 143.37 123.733" style="enable-background:new 0 0 143.37 123.733;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FEFEFE;} + .st1{font-family:'ArialMT';} + .st2{font-size:2.3392px;} + .st3{fill:none;stroke:#FEFEFE;stroke-width:0.722;stroke-linecap:round;} + .st4{fill:none;stroke:#626366;stroke-width:2.999;stroke-linejoin:round;} + .st5{fill:#898B8E;} + .st6{fill:#BBBDBF;} + .st7{fill:#B3B5B7;} + .st8{fill:#636466;} + .st9{fill:none;stroke:#636466;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st11{fill:#B22216;} + .st12{fill:#231F20;} +</style> +<title>icon-SBx8106</title> +<desc>Created with Sketch.</desc> +<text transform="matrix(1 0 0 1 27.7125 23.4241)" class="st0 st1 st2">SBx8106</text> +<path id="Stroke-2" class="st3" d="M4.128,36.102v40.2"/> +<g id="Group-9" transform="translate(0.000000, 0.733000)"> + <polygon id="Stroke-3" class="st4" points="79.88,80.752 141.841,47.863 141.87,88.609 79.91,121.5 "/> + <polygon id="Stroke-5" class="st4" points="1.5,33.658 63.46,0.767 141.841,47.865 79.88,80.753 "/> + <polygon id="Stroke-7" class="st4" points="79.88,80.752 79.91,121.5 1.528,74.402 1.5,33.657 "/> +</g> +<polygon id="Fill-10" class="st5" points="79.88,81.485 141.841,48.597 141.87,89.342 79.91,122.233 "/> +<polygon id="Fill-11" class="st6" points="1.5,34.39 63.46,1.5 141.841,48.597 79.88,81.486 "/> +<polygon id="Fill-12" class="st7" points="79.88,81.485 79.91,122.233 1.528,75.135 1.5,34.389 "/> +<path id="Stroke-13" class="st3" d="M75.555,78.794v40.439"/> +<path id="Stroke-14" class="st3" d="M38.808,70.186V97.66"/> +<polygon id="Fill-15" class="st0" points="75.297,102.327 4.083,59.424 4.083,58.484 75.297,101.387 "/> +<polygon id="Fill-16" class="st0" points="75.323,112.038 4.111,69.134 4.111,68.194 75.323,111.098 "/> +<polygon id="Fill-17" class="st0" points="75.069,92.484 3.857,49.581 3.857,48.64 75.069,91.544 "/> +<polygon id="Fill-18" class="st8" points="21.59,58.596 4.983,48.562 4.983,37.561 21.662,47.523 "/> +<polygon id="Stroke-19" class="st9" points="21.59,58.596 4.983,48.562 4.983,37.561 21.662,47.523 "/> +<polygon id="Fill-20" class="st0" points="20.514,63.542 5.326,54.376 5.326,52.123 20.513,61.198 "/> +<polygon id="Fill-21" class="st0" points="37.09,73.316 21.902,64.151 21.902,61.897 37.089,70.972 "/> +<polygon id="Fill-22" class="st0" points="37.146,76.73 21.958,67.565 21.958,65.311 37.145,74.386 "/> +<polygon id="Fill-23" class="st0" points="56.424,85.103 41.236,75.938 41.236,73.684 56.423,82.759 "/> +<polygon id="Fill-24" class="st0" points="56.481,88.518 41.292,79.353 41.292,77.099 56.479,86.174 "/> +<polygon id="Fill-25" class="st0" points="73,94.879 57.813,85.714 57.813,83.46 72.999,92.535 "/> +<polygon id="Fill-26" class="st0" points="73.055,98.293 57.868,89.128 57.868,86.874 73.054,95.949 "/> +<polygon id="Fill-27" class="st0" points="20.469,73.436 5.281,64.271 5.281,62.018 20.468,71.092 "/> +<polygon id="Fill-28" class="st0" points="20.527,76.851 5.337,67.686 5.337,65.432 20.524,74.507 "/> +<polygon id="Fill-29" class="st0" points="37.044,83.212 21.858,74.047 21.858,71.793 37.043,80.868 "/> +<polygon id="Fill-30" class="st0" points="56.381,94.999 41.191,85.834 41.191,83.58 56.377,92.655 "/> +<polygon id="Fill-31" class="st0" points="56.437,98.413 41.248,89.248 41.248,86.994 56.435,96.069 "/> +<polygon id="Fill-32" class="st0" points="72.955,104.774 57.768,95.609 57.768,93.355 72.954,102.43 "/> +<polygon id="Fill-33" class="st0" points="73.01,108.188 57.823,99.023 57.823,96.769 73.009,105.844 "/> +<polygon id="Fill-34" class="st0" points="20.788,82.56 5.599,73.396 5.599,71.141 20.785,80.215 "/> +<polygon id="Fill-35" class="st0" points="20.844,85.974 5.655,76.809 5.655,74.555 20.841,83.63 "/> +<polygon id="Fill-36" class="st0" points="37.362,92.335 22.174,83.17 22.174,80.916 37.361,89.991 "/> +<polygon id="Fill-37" class="st0" points="37.418,95.749 22.231,86.584 22.231,84.33 37.417,93.405 "/> +<polygon id="Fill-38" class="st0" points="56.698,104.122 41.508,94.957 41.508,92.703 56.695,101.778 "/> +<polygon id="Fill-39" class="st0" points="56.754,107.536 41.564,98.371 41.564,96.117 56.751,105.192 "/> +<polygon id="Fill-40" class="st0" points="73.328,117.311 58.14,108.146 58.14,105.892 73.327,114.967 "/> +<polygon id="Fill-41" class="st8" points="74.556,90.535 57.949,80.501 57.949,69.5 74.628,79.463 "/> +<polygon id="Stroke-42" class="st9" points="74.556,90.535 57.949,80.501 57.949,69.5 74.628,79.463 "/> +<polygon id="Fill-43" class="st8" points="39.169,69.259 22.561,59.227 22.561,48.224 39.243,58.188 "/> +<polygon id="Stroke-44" class="st9" points="39.169,69.259 22.561,59.227 22.561,48.224 39.243,58.188 "/> +<polygon id="Fill-45" class="st8" points="56.827,79.681 40.22,69.646 40.22,58.646 56.9,68.609 "/> +<polygon id="Stroke-46" class="st9" points="56.827,79.681 40.22,69.646 40.22,58.646 56.9,68.609 "/> +<polyline id="Stroke-47" class="st10" points="2.177,34.597 80.163,81.456 80.163,121.708 "/> +<polygon id="Fill-48" class="st0" points="73.066,113.94 68.807,111.382 68.807,109.382 73.066,111.94 "/> +<polygon id="Fill-49" class="st0" points="9.547,60.5 5.286,57.943 5.286,55.943 9.547,58.501 "/> +<polygon id="Fill-50" class="st0" points="30.538,83.084 26.28,80.526 26.28,78.526 30.538,81.085 "/> +<g id="Group-83" transform="translate(35.000000, 13.733000)"> + <path id="Fill-51" class="st11" d="M15.274,5.447c-0.759-1.238-1.352-1.896-2.191-2.403c-0.882-0.533-1.783-0.686-2.302-0.398 + c-1.575,0.873,3.886,3.656,0.246,5.674C9.023,9.432,6.269,9.116,4.071,7.788c-1.721-1.038-2.1-1.817-2.548-2.707l2.248-1.246 + c0.424,1.406,0.939,2.126,2.024,2.78c0.94,0.567,1.798,0.678,2.41,0.339c1.713-0.95-3.933-3.631-0.186-5.708 + c1.805-1.001,4.472-0.773,6.757,0.607c1.1,0.663,1.852,1.402,2.531,2.466L15.274,5.447z"/> + <polygon id="Fill-53" class="st11" points="11.878,12.501 10.894,11.906 15.076,6.105 17.215,7.397 14.733,10.398 20.108,9.144 + 21.379,9.911 18.969,12.956 24.257,11.648 26.398,12.939 16.216,15.119 15.219,14.517 17.393,11.385 "/> + <path id="Fill-55" class="st11" d="M31.503,13.366c-0.673,0.373-1.745,0.364-2.381-0.021c-0.637-0.383-0.606-1.002,0.067-1.375 + c0.672-0.374,1.743-0.365,2.379,0.019C32.205,12.375,32.176,12.993,31.503,13.366z M22.058,18.486l-2.097-1.265l7.05-3.91 + l2.097,1.266L22.058,18.486z"/> + <path id="Fill-57" class="st11" d="M33.752,19.134l-2.43-1.467l-2.905,1.612c-0.688,0.381-0.756,0.854-0.105,1.247 + c0.434,0.262,0.946,0.447,1.815,0.618l-1.605,0.889c-1.059-0.266-1.731-0.53-2.381-0.922c-1.389-0.838-1.916-1.936,0.056-3.03 + l3.029-1.679l-0.954-0.576l0.428-0.237l6.095-0.146l0.26,0.156l-2.219,1.229l2.43,1.466L33.752,19.134z"/> + <path id="Fill-59" class="st11" d="M35.095,25.965c-1.16-0.328-2.021-0.671-2.73-1.099c-2.343-1.414-2.424-3.128-0.222-4.348 + c2.157-1.197,5.263-1.092,7.46,0.234c0.679,0.41,1.363,1.036,1.783,1.608l-1.652,0.916c-0.243-0.501-0.711-0.979-1.232-1.293 + c-1.258-0.759-2.864-0.808-4.102-0.121c-1.254,0.696-1.284,1.633-0.084,2.358c0.506,0.306,1.076,0.508,2.369,0.863L35.095,25.965z" + /> + <path id="Fill-61" class="st11" d="M44.008,24.775l0.029,0.018c1.418-0.083,2.463,0.123,3.289,0.621 + c1.215,0.733,1.664,1.907-0.248,2.967l-4.496,2.493l-2.096-1.266l4.022-2.229c1.055-0.585,1.109-1.119,0.459-1.511 + c-0.492-0.297-1.232-0.372-2.474-0.254l-4.496,2.493l-2.096-1.267l10.429-5.782l2.098,1.267L44.008,24.775z"/> + <path id="Fill-63" class="st12" d="M50.652,29.263l1.056,0.638c1.996,1.204,3.53,1.157,4.769,0.469 + c1.591-0.88,0.894-1.868-0.638-2.793l-1.027-0.621L50.652,29.263z M45.727,31.992l2.039,1.232c2.039,1.23,3.737,0.909,4.685,0.384 + c1.025-0.569,1.621-1.501-0.765-2.942l-1.707-1.03L45.727,31.992z M56.771,27.361c2.662,1.606,1.799,2.803,0.591,3.473 + c-1.04,0.577-2.206,0.705-3.741,0.434c1.168,1.094,1.031,2.074-0.362,2.846c-1.712,0.949-4.069,0.749-6.079-0.464l-2.891-1.746 + l10.429-5.783L56.771,27.361z"/> + <polygon id="Fill-65" class="st12" points="52.393,36.796 51.699,36.376 62.127,30.594 62.824,31.014 "/> + <path id="Fill-67" class="st12" d="M60.764,37.792c-1.614-1.063-3.798-1.478-4.991-0.816c-0.643,0.356-0.582,0.959,0.156,1.404 + c0.621,0.375,1.373,0.546,2.694,0.599L60.764,37.792z M59.622,40.486l-0.207-0.018c-1.171-0.106-1.552-0.211-1.828-0.377 + c-0.318-0.193-0.236-0.338,0.394-0.755c-1.32-0.106-2.201-0.337-2.895-0.755c-0.984-0.594-0.969-1.489-0.007-2.023 + c1.79-0.993,4.312-0.196,6.297,0.896l0.871-0.483c0.918-0.509,0.931-1.068-0.038-1.653c-0.694-0.419-1.474-0.589-2.852-0.713 + l0.749-0.416c1.315,0.193,2.122,0.432,2.831,0.86c0.81,0.489,1.672,1.417,0.234,2.214l-4.282,2.374 + c-0.274,0.153-0.308,0.22-0.192,0.291c0.159,0.095,0.9,0.171,1.537,0.219L59.622,40.486z"/> + <path id="Fill-69" class="st12" d="M70.154,40.981c-0.235-0.691-0.573-1.09-1.253-1.5c-1.504-0.908-3.736-0.909-5.373-0.002 + c-1.666,0.924-1.748,2.31-0.186,3.252c0.65,0.393,1.237,0.57,2.376,0.709L70.154,40.981z M65.204,44.528L64.51,44.11l0.536-0.296 + c-1.2-0.139-1.859-0.343-2.596-0.788c-1.852-1.117-1.723-2.847,0.296-3.966c2.049-1.136,4.952-1.137,6.846,0.006 + c0.665,0.402,0.99,0.758,1.373,1.467l3.975-2.205l0.693,0.419L65.204,44.528z"/> + <path id="Fill-71" class="st12" d="M75.665,45.883c1.1-0.895,1.064-1.678-0.051-2.35c-1.068-0.646-2.657-0.736-4.157-0.19 + L75.665,45.883z M70.773,43.622c-1.961,0.854-1.991,2.394-0.515,3.284c0.867,0.524,1.882,0.783,3.44,0.89l-0.826,0.457 + c-1.394-0.114-2.479-0.433-3.42-1.001c-1.88-1.134-1.71-2.803,0.416-3.981c2.019-1.119,4.744-1.174,6.465-0.135 + c1.389,0.838,1.853,2.305-0.44,3.576L70.773,43.622z"/> + <polygon id="Fill-73" class="st12" points="5.47,26.18 4.575,25.639 11.057,25.479 11.442,21.833 12.338,22.372 12.038,25.486 + 17.429,25.447 18.325,25.988 11.996,26.045 11.458,29.794 10.562,29.253 11.029,26.045 "/> + <path id="Fill-75" class="st12" d="M24.485,28.59c1.116-0.619,1.165-1.617,0.109-2.255c-1.041-0.628-2.767-0.625-3.899,0.002 + c-1.147,0.636-1.21,1.625-0.14,2.272C21.639,29.263,23.308,29.242,24.485,28.59 M15.521,28.986 + c-1.209,0.67-1.321,1.771-0.121,2.496c1.215,0.733,3.032,0.697,4.348-0.033c1.193-0.661,1.215-1.746,0.045-2.453 + C18.634,28.299,16.729,28.319,15.521,28.986 M19.941,25.899c1.515-0.839,3.984-0.818,5.387,0.029 + c1.447,0.873,1.379,2.283-0.136,3.123c-0.978,0.542-2.194,0.73-3.63,0.555c0.358,0.94-0.007,1.695-1.123,2.314 + c-1.683,0.933-4.212,0.911-5.773-0.031c-1.591-0.96-1.535-2.432,0.087-3.33c1.116-0.619,2.54-0.823,4.12-0.577 + C18.631,27.128,18.978,26.434,19.941,25.899"/> + <polygon id="Fill-77" class="st12" points="21.1,35.615 20.361,35.168 30.792,29.385 31.531,29.833 "/> + <path id="Fill-79" class="st12" d="M36.71,33.65c-1.417-0.855-4.326-0.397-7.033,1.103c-2.738,1.518-3.65,3.145-2.233,4.001 + c1.606,0.968,4.647,0.254,7.094-1.102C36.786,36.404,38.374,34.653,36.71,33.65 M26.768,39.195 + c-1.866-1.126-1.117-3.066,1.989-4.786c2.263-1.255,4.135-1.808,6.038-1.792c0.894,0.008,1.94,0.197,2.649,0.625 + c0.694,0.419,0.995,0.971,0.969,1.523c-0.057,1.17-1.303,2.313-3.215,3.372C31.834,40.004,28.461,40.216,26.768,39.195"/> + <path id="Fill-81" class="st12" d="M34.671,43.115c1.2,0.725,3.014,0.774,4.206,0.113c1.255-0.695,1.292-1.788,0.092-2.512 + c-0.796-0.481-1.751-0.721-3.192-0.793C33.465,40.953,33.282,42.277,34.671,43.115z M45.667,38.844 + c-3.434-0.39-6.779-0.161-8.857,0.658c1.258,0.122,2.241,0.414,2.994,0.868c1.576,0.951,1.538,2.345-0.083,3.244 + c-1.713,0.949-4.109,0.921-5.742-0.065c-1.837-1.109-1.571-2.614,0.662-3.851c2.89-1.603,6.771-1.828,11.142-1.421L45.667,38.844z" + /> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8112.svg b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8112.svg new file mode 100644 index 0000000000000000000000000000000000000000..e37cc6c0ba39dcfa583db95276f7534e1d870112 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SBx8112.svg @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 149.197 152.75" style="enable-background:new 0 0 149.197 152.75;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FEFEFE;} + .st1{font-family:'ArialMT';} + .st2{font-size:2.3392px;} + .st3{fill:none;stroke:#636466;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st4{fill:#BBBDBF;} + .st5{fill:#B3B5B7;} + .st6{fill:#898B8E;} + .st7{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:none;stroke:#FEFEFE;stroke-width:0.722;stroke-linecap:round;} + .st9{fill:#636466;} + .st10{fill:none;stroke:#636466;stroke-width:0.25;stroke-linecap:round;stroke-linejoin:round;} + .st11{fill:#B22216;} + .st12{fill:#231F20;} +</style> +<title>icon-SBx8100</title> +<desc>Created with Sketch.</desc> +<g id="Group-5" transform="translate(0.000000, 0.750000)"> + <text transform="matrix(1 0 0 1 33.0898 21.8198)" class="st0 st1 st2">SBx8100</text> + <polygon id="Stroke-2" class="st3" points="1.5,36.25 69.036,0.75 147.656,46.381 80.407,82.217 "/> + <polygon id="Stroke-3" class="st3" points="80.407,82.217 80.437,150.473 1.511,103.053 1.543,36.272 "/> + <polygon id="Stroke-4" class="st3" points="80.407,82.217 147.656,46.381 147.697,115.84 80.456,150.5 "/> +</g> +<polygon id="Fill-6" class="st4" points="1.5,37 69.036,1.5 147.656,47.131 80.407,82.967 "/> +<polygon id="Fill-7" class="st5" points="80.407,82.967 80.437,151.223 1.511,103.803 1.543,37.022 "/> +<polygon id="Fill-8" class="st6" points="80.407,82.967 147.656,47.131 147.697,116.59 80.456,151.25 "/> +<polyline id="Stroke-9" class="st7" points="2.285,37.065 80.357,82.728 80.357,150.548 "/> +<path id="Stroke-10" class="st8" d="M4.451,39.255v65.554"/> +<path id="Stroke-11" class="st8" d="M75.879,81.251v66.489"/> +<path id="Stroke-12" class="st8" d="M39.132,70.433v55.734"/> +<polygon id="Fill-13" class="st0" points="75.62,130.834 4.406,87.93 4.406,86.99 75.62,129.894 "/> +<polygon id="Fill-14" class="st0" points="75.646,140.545 4.434,97.641 4.434,96.701 75.646,139.605 "/> +<polygon id="Fill-15" class="st0" points="75.645,111.417 4.431,68.513 4.431,67.573 75.645,110.477 "/> +<polygon id="Fill-16" class="st0" points="75.393,120.991 4.18,78.087 4.18,77.147 75.393,120.051 "/> +<polygon id="Fill-17" class="st0" points="75.784,101.287 4.572,58.383 4.572,57.443 75.784,100.347 "/> +<polygon id="Fill-18" class="st0" points="12.144,77.844 6.576,74.5 6.576,71.885 12.144,75.231 "/> +<polygon id="Fill-19" class="st0" points="46.398,98.401 40.832,95.057 40.832,92.442 46.398,95.788 "/> +<polygon id="Fill-20" class="st0" points="21.387,85.905 15.82,82.561 15.82,79.946 21.387,83.292 "/> +<polygon id="Fill-21" class="st0" points="56.838,107.54 51.272,104.196 51.272,101.581 56.838,104.927 "/> +<polygon id="Fill-22" class="st0" points="64.124,111.94 58.557,108.596 58.557,105.981 64.124,109.327 "/> +<polygon id="Fill-23" class="st0" points="28.505,90.372 22.938,87.028 22.938,84.413 28.505,87.759 "/> +<polygon id="Fill-24" class="st0" points="12.734,60.465 7.167,57.121 7.167,54.506 12.734,57.852 "/> +<polygon id="Fill-25" class="st0" points="19.819,64.765 14.251,61.421 14.251,58.806 19.819,62.152 "/> +<polygon id="Fill-26" class="st0" points="27.336,69.245 21.77,65.901 21.77,63.286 27.336,66.632 "/> +<polygon id="Fill-27" class="st0" points="34.622,73.646 29.055,70.302 29.055,67.687 34.622,71.033 "/> +<polygon id="Fill-28" class="st9" points="21.588,59.948 4.936,50.33 4.936,39.329 21.588,49.055 "/> +<polygon id="Stroke-29" class="st10" points="21.588,59.948 4.936,50.33 4.936,39.329 21.588,49.055 "/> +<polygon id="Fill-30" class="st9" points="75.011,91.153 58.36,81.535 58.36,70.534 75.011,80.26 "/> +<polygon id="Stroke-31" class="st10" points="75.011,91.153 58.36,81.535 58.36,70.534 75.011,80.26 "/> +<polygon id="Fill-32" class="st9" points="39.352,70.346 22.699,60.728 22.699,49.727 39.352,59.453 "/> +<polygon id="Stroke-33" class="st10" points="39.352,70.346 22.699,60.728 22.699,49.727 39.352,59.453 "/> +<polygon id="Fill-34" class="st9" points="57.285,80.687 40.634,71.069 40.634,60.068 57.285,69.794 "/> +<polygon id="Stroke-35" class="st10" points="57.285,80.687 40.634,71.069 40.634,60.068 57.285,69.794 "/> +<polygon id="Fill-36" class="st0" points="49.125,82.294 43.558,78.95 43.558,76.335 49.125,79.681 "/> +<polygon id="Fill-37" class="st0" points="56.21,86.594 50.642,83.25 50.642,80.635 56.21,83.981 "/> +<polygon id="Fill-38" class="st0" points="63.727,91.074 58.16,87.73 58.16,85.115 63.727,88.461 "/> +<polygon id="Fill-39" class="st0" points="71.013,95.475 65.446,92.131 65.446,89.516 71.013,92.862 "/> +<polygon id="Fill-40" class="st0" points="20.838,92.048 5.649,82.883 5.649,80.629 20.836,89.704 "/> +<polygon id="Fill-41" class="st0" points="20.895,95.462 5.706,86.297 5.706,84.043 20.892,93.118 "/> +<polygon id="Fill-42" class="st0" points="37.413,101.823 22.225,92.658 22.225,90.404 37.412,99.479 "/> +<polygon id="Fill-43" class="st0" points="37.469,105.237 22.281,96.072 22.281,93.818 37.468,102.893 "/> +<polygon id="Fill-44" class="st0" points="56.748,113.61 41.559,104.445 41.559,102.191 56.746,111.266 "/> +<polygon id="Fill-45" class="st0" points="56.805,117.024 41.616,107.859 41.616,105.605 56.803,114.68 "/> +<polygon id="Fill-46" class="st0" points="73.323,123.386 58.135,114.221 58.135,111.967 73.322,121.042 "/> +<polygon id="Fill-47" class="st0" points="73.379,126.8 58.191,117.635 58.191,115.381 73.378,124.456 "/> +<polygon id="Fill-48" class="st0" points="20.793,71.948 5.604,62.783 5.604,60.529 20.791,69.604 "/> +<polygon id="Fill-49" class="st0" points="20.85,75.362 5.661,66.197 5.661,63.943 20.848,73.018 "/> +<polygon id="Fill-50" class="st0" points="37.368,81.724 22.18,72.559 22.18,70.305 37.367,79.38 "/> +<polygon id="Fill-51" class="st0" points="37.424,85.138 22.236,75.973 22.236,73.719 37.423,82.794 "/> +<polygon id="Fill-52" class="st0" points="56.703,93.511 41.514,84.346 41.514,82.092 56.701,91.167 "/> +<polygon id="Fill-53" class="st0" points="56.76,96.925 41.571,87.76 41.571,85.506 56.758,94.581 "/> +<polygon id="Fill-54" class="st0" points="73.278,103.286 58.09,94.121 58.09,91.867 73.277,100.942 "/> +<polygon id="Fill-55" class="st0" points="73.334,106.7 58.146,97.535 58.146,95.281 73.333,104.356 "/> +<polygon id="Fill-56" class="st0" points="20.793,101.943 5.604,92.778 5.604,90.524 20.791,99.599 "/> +<polygon id="Fill-57" class="st0" points="20.85,105.357 5.661,96.192 5.661,93.938 20.848,103.013 "/> +<polygon id="Fill-58" class="st0" points="37.368,111.719 22.18,102.554 22.18,100.3 37.367,109.375 "/> +<polygon id="Fill-59" class="st0" points="37.424,115.133 22.236,105.968 22.236,103.714 37.423,112.789 "/> +<polygon id="Fill-60" class="st0" points="56.703,123.506 41.514,114.341 41.514,112.087 56.701,121.162 "/> +<polygon id="Fill-61" class="st0" points="56.76,126.92 41.571,117.755 41.571,115.501 56.758,124.576 "/> +<polygon id="Fill-62" class="st0" points="73.278,133.281 58.09,124.116 58.09,121.862 73.277,130.937 "/> +<polygon id="Fill-63" class="st0" points="73.334,136.695 58.146,127.53 58.146,125.276 73.333,134.351 "/> +<polygon id="Fill-64" class="st0" points="21.11,111.066 5.921,101.901 5.921,99.647 21.108,108.723 "/> +<polygon id="Fill-65" class="st0" points="21.167,114.48 5.978,105.315 5.978,103.062 21.165,112.136 "/> +<polygon id="Fill-66" class="st0" points="37.686,120.842 22.497,111.677 22.497,109.423 37.685,118.498 "/> +<polygon id="Fill-67" class="st0" points="37.741,124.256 22.553,115.091 22.553,112.837 37.74,121.912 "/> +<polygon id="Fill-68" class="st0" points="57.021,132.629 41.832,123.464 41.832,121.21 57.019,130.285 "/> +<polygon id="Fill-69" class="st0" points="57.077,136.043 41.888,126.878 41.888,124.624 57.075,133.699 "/> +<polygon id="Fill-70" class="st0" points="73.596,142.404 58.408,133.239 58.408,130.985 73.595,140.06 "/> +<polygon id="Fill-71" class="st0" points="73.651,145.818 58.463,136.653 58.463,134.399 73.65,143.474 "/> +<g id="Group-104" transform="translate(39.000000, 14.750000)"> + <path id="Fill-72" class="st11" d="M14.818,4.998c-0.759-1.238-1.352-1.896-2.191-2.403c-0.882-0.533-1.783-0.686-2.302-0.398 + C8.75,3.07,14.211,5.853,10.571,7.871C8.567,8.982,5.814,8.666,3.616,7.339c-1.721-1.038-2.1-1.817-2.548-2.707l2.248-1.246 + C3.74,4.792,4.255,5.512,5.34,6.166c0.94,0.567,1.798,0.678,2.41,0.339c1.713-0.95-3.933-3.631-0.186-5.708 + c1.805-1.001,4.472-0.773,6.757,0.607c1.1,0.663,1.852,1.402,2.531,2.466L14.818,4.998z"/> + <polygon id="Fill-74" class="st11" points="11.423,12.052 10.439,11.457 14.62,5.657 16.761,6.949 14.277,9.949 19.652,8.695 + 20.925,9.463 18.515,12.507 23.802,11.199 25.943,12.491 15.761,14.67 14.763,14.068 16.939,10.936 "/> + <path id="Fill-76" class="st11" d="M31.049,12.917c-0.673,0.373-1.745,0.364-2.381-0.021c-0.637-0.383-0.606-1.002,0.067-1.375 + c0.672-0.374,1.743-0.365,2.379,0.019C31.751,11.925,31.722,12.544,31.049,12.917z M21.603,18.036l-2.097-1.265l7.05-3.91 + l2.097,1.266L21.603,18.036z"/> + <path id="Fill-78" class="st11" d="M33.298,18.685l-2.43-1.467l-2.905,1.612c-0.688,0.381-0.756,0.854-0.105,1.247 + c0.434,0.262,0.946,0.447,1.815,0.618l-1.605,0.889c-1.059-0.266-1.731-0.53-2.381-0.922c-1.389-0.838-1.916-1.936,0.056-3.03 + l3.029-1.679l-0.954-0.576l0.428-0.237l6.095-0.146l0.26,0.156l-2.219,1.229l2.43,1.466L33.298,18.685z"/> + <path id="Fill-80" class="st11" d="M34.64,25.516c-1.16-0.328-2.021-0.671-2.73-1.099c-2.343-1.414-2.424-3.128-0.222-4.348 + c2.157-1.197,5.263-1.092,7.46,0.234c0.679,0.41,1.363,1.036,1.783,1.608l-1.652,0.916c-0.243-0.501-0.711-0.979-1.232-1.293 + c-1.258-0.759-2.864-0.808-4.102-0.121c-1.254,0.696-1.284,1.633-0.084,2.358c0.506,0.306,1.076,0.508,2.369,0.863L34.64,25.516z" + /> + <path id="Fill-82" class="st11" d="M43.554,24.326l0.029,0.018c1.418-0.083,2.463,0.123,3.289,0.621 + c1.215,0.733,1.664,1.907-0.248,2.967l-4.496,2.493l-2.096-1.266l4.022-2.229c1.055-0.585,1.109-1.119,0.459-1.511 + c-0.492-0.297-1.232-0.372-2.474-0.254l-4.496,2.493l-2.096-1.267l10.429-5.782l2.098,1.267L43.554,24.326z"/> + <path id="Fill-84" class="st12" d="M50.196,28.813l1.056,0.638c1.996,1.204,3.53,1.157,4.769,0.469 + c1.591-0.88,0.894-1.868-0.638-2.793l-1.027-0.621L50.196,28.813z M45.271,31.542l2.039,1.232c2.039,1.23,3.737,0.909,4.685,0.384 + c1.025-0.569,1.621-1.501-0.765-2.942l-1.707-1.03L45.271,31.542z M56.315,26.912c2.662,1.606,1.799,2.803,0.591,3.473 + c-1.04,0.577-2.206,0.705-3.741,0.434c1.168,1.094,1.031,2.074-0.362,2.846c-1.712,0.949-4.069,0.749-6.079-0.464l-2.891-1.746 + l10.429-5.783L56.315,26.912z"/> + <polygon id="Fill-86" class="st12" points="51.938,36.347 51.243,35.928 61.673,30.146 62.368,30.565 "/> + <path id="Fill-88" class="st12" d="M60.309,37.344c-1.614-1.063-3.798-1.478-4.991-0.816c-0.643,0.356-0.582,0.959,0.156,1.404 + c0.621,0.375,1.373,0.546,2.694,0.599L60.309,37.344z M59.167,40.037l-0.207-0.018c-1.171-0.106-1.552-0.211-1.828-0.377 + c-0.318-0.193-0.236-0.338,0.394-0.755c-1.32-0.106-2.201-0.337-2.895-0.755c-0.984-0.594-0.969-1.489-0.007-2.023 + c1.79-0.993,4.312-0.196,6.297,0.896l0.871-0.483c0.918-0.509,0.931-1.068-0.038-1.653c-0.694-0.419-1.474-0.589-2.852-0.713 + l0.749-0.416c1.315,0.193,2.122,0.432,2.831,0.86c0.81,0.489,1.672,1.417,0.234,2.214l-4.282,2.374 + c-0.274,0.153-0.308,0.22-0.192,0.291c0.159,0.095,0.9,0.171,1.537,0.219L59.167,40.037z"/> + <path id="Fill-90" class="st12" d="M69.699,40.532c-0.235-0.691-0.573-1.09-1.253-1.5c-1.504-0.908-3.736-0.909-5.373-0.002 + c-1.666,0.924-1.748,2.31-0.186,3.252c0.65,0.393,1.237,0.57,2.376,0.709L69.699,40.532z M64.749,44.079l-0.694-0.419l0.536-0.296 + c-1.2-0.139-1.859-0.343-2.596-0.788c-1.852-1.117-1.723-2.847,0.296-3.966c2.049-1.136,4.952-1.137,6.846,0.006 + c0.665,0.402,0.99,0.758,1.373,1.467l3.975-2.205l0.693,0.419L64.749,44.079z"/> + <path id="Fill-92" class="st12" d="M75.21,45.435c1.1-0.895,1.064-1.678-0.051-2.35c-1.068-0.646-2.657-0.736-4.157-0.19 + L75.21,45.435z M70.318,43.173c-1.961,0.854-1.991,2.394-0.515,3.284c0.867,0.524,1.882,0.783,3.44,0.89l-0.826,0.457 + c-1.394-0.114-2.479-0.433-3.42-1.001c-1.88-1.134-1.71-2.803,0.416-3.981c2.019-1.119,4.744-1.174,6.465-0.135 + c1.389,0.838,1.853,2.305-0.44,3.576L70.318,43.173z"/> + <polygon id="Fill-94" class="st12" points="4.819,25.612 3.923,25.071 10.405,24.911 10.79,21.264 11.686,21.805 11.386,24.919 + 16.777,24.879 17.673,25.42 11.344,25.477 10.806,29.226 9.91,28.685 10.377,25.478 "/> + <path id="Fill-96" class="st12" d="M23.832,28.021c1.116-0.619,1.166-1.617,0.109-2.254c-1.041-0.629-2.767-0.626-3.899,0.001 + c-1.147,0.637-1.21,1.626-0.14,2.272C20.987,28.695,22.655,28.674,23.832,28.021 M14.868,28.42c-1.207,0.67-1.321,1.771-0.12,2.496 + c1.215,0.732,3.032,0.696,4.348-0.034c1.192-0.661,1.215-1.745,0.044-2.452C17.981,27.732,16.077,27.75,14.868,28.42 + M19.288,25.333c1.515-0.839,3.984-0.819,5.387,0.028c1.447,0.873,1.379,2.284-0.136,3.123c-0.978,0.543-2.193,0.73-3.628,0.555 + c0.356,0.941-0.008,1.696-1.124,2.315c-1.683,0.933-4.212,0.911-5.773-0.031c-1.591-0.961-1.535-2.432,0.087-3.331 + c1.117-0.619,2.54-0.823,4.121-0.576C17.979,26.56,18.325,25.867,19.288,25.333"/> + <polygon id="Fill-98" class="st12" points="20.448,35.046 19.711,34.602 30.141,28.819 30.878,29.264 "/> + <path id="Fill-100" class="st12" d="M36.059,33.081c-1.417-0.855-4.326-0.397-7.033,1.104c-2.738,1.517-3.65,3.145-2.233,4 + c1.606,0.969,4.647,0.254,7.093-1.102C36.135,35.837,37.722,34.085,36.059,33.081 M26.117,38.627 + c-1.866-1.126-1.118-3.066,1.988-4.786c2.263-1.255,4.136-1.808,6.039-1.791c0.894,0.008,1.941,0.197,2.648,0.625 + c0.696,0.419,0.996,0.971,0.969,1.522c-0.056,1.171-1.302,2.314-3.214,3.373C31.183,39.435,27.809,39.648,26.117,38.627"/> + <path id="Fill-102" class="st12" d="M43.416,37.522c-1.417-0.855-4.326-0.397-7.033,1.103c-2.738,1.518-3.65,3.145-2.233,4.001 + c1.606,0.968,4.647,0.254,7.093-1.102C43.492,40.278,45.079,38.526,43.416,37.522 M33.474,43.069 + c-1.866-1.126-1.118-3.066,1.988-4.787c2.263-1.255,4.136-1.807,6.039-1.791c0.894,0.008,1.941,0.197,2.648,0.625 + c0.696,0.419,0.996,0.972,0.969,1.523c-0.056,1.17-1.302,2.313-3.214,3.372C38.54,43.876,35.166,44.09,33.474,43.069"/> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SXx908GEN2.svg b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SXx908GEN2.svg new file mode 100644 index 0000000000000000000000000000000000000000..9134ba92b5623eb527f7f787e73fff698716766d --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Modular_Switch_SXx908GEN2.svg @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 110.987" style="enable-background:new 0 0 130.229 110.987;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:none;stroke:#FEFEFE;} + .st7{fill:#231F20;} + .st8{fill:none;stroke:#FEFEFE;stroke-width:0.722;stroke-linecap:round;} +</style> +<title>icon-SXx908GEN2</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="1.5,27.426 50.34,1.5 128.721,48.598 79.881,74.522 "/> +<polygon id="Stroke-3" class="st0" points="79.881,74.522 79.889,109.487 1.508,62.391 1.5,27.426 "/> +<polygon id="Stroke-5" class="st0" points="79.881,74.522 128.721,48.598 128.729,83.563 79.889,109.487 "/> +<polygon id="Fill-8" class="st1" points="79.881,74.524 128.721,48.599 128.729,83.565 79.889,109.489 "/> +<polygon id="Fill-9" class="st2" points="1.5,27.427 50.34,1.502 128.721,48.599 79.881,74.524 "/> +<polygon id="Fill-10" class="st3" points="79.881,74.524 79.889,109.489 1.508,62.393 1.5,27.427 "/> +<polyline id="Stroke-11" class="st4" points="1.894,27.33 79.881,74.189 79.881,109.184 "/> +<polygon id="Fill-12" class="st5" points="24.082,64.284 22.951,63.606 22.951,50.606 24.082,51.284 "/> +<polygon id="Stroke-13" class="st6" points="24.082,64.284 22.951,63.606 22.951,50.606 24.082,51.284 "/> +<polygon id="Fill-14" class="st5" points="7.819,64.284 6.688,63.606 6.688,50.606 7.819,51.284 "/> +<polygon id="Stroke-15" class="st6" points="7.819,64.284 6.688,63.606 6.688,50.606 7.819,51.284 "/> +<polygon id="Fill-16" class="st5" points="8.153,46.95 7.022,46.272 7.022,33.272 8.153,33.95 "/> +<polygon id="Stroke-17" class="st6" points="8.153,46.95 7.022,46.272 7.022,33.272 8.153,33.95 "/> +<polygon id="Fill-18" class="st5" points="72.979,89.647 65.416,85.271 65.364,82.107 72.927,86.483 "/> +<path id="Fill-19" class="st7" d="M45.413,17.769l1.41,0.714c-0.486,0.341-0.793,0.675-0.92,1.005 + c-0.128,0.329-0.064,0.695,0.19,1.099c0.255,0.405,0.675,0.785,1.263,1.14c0.523,0.315,1.067,0.548,1.63,0.698 + c0.564,0.151,1.087,0.205,1.57,0.164c0.481-0.04,0.891-0.154,1.23-0.341c0.344-0.191,0.549-0.415,0.617-0.67 + c0.069-0.255-0.027-0.563-0.287-0.92c-0.162-0.232-0.599-0.701-1.308-1.41c-0.709-0.707-1.148-1.235-1.315-1.583 + c-0.22-0.451-0.249-0.862-0.086-1.232c0.165-0.371,0.497-0.696,1-0.975c0.552-0.306,1.217-0.503,1.994-0.59 + c0.777-0.088,1.574-0.029,2.393,0.177c0.818,0.205,1.576,0.519,2.273,0.94c0.766,0.463,1.312,0.943,1.636,1.442 + c0.325,0.498,0.392,0.984,0.199,1.455c-0.192,0.472-0.598,0.893-1.217,1.263l-1.418-0.734c0.622-0.426,0.906-0.861,0.852-1.302 + c-0.054-0.443-0.478-0.902-1.273-1.383c-0.829-0.5-1.593-0.775-2.292-0.826c-0.701-0.05-1.277,0.05-1.73,0.301 + c-0.393,0.218-0.583,0.478-0.568,0.781c0.01,0.3,0.437,0.859,1.285,1.679c0.846,0.82,1.377,1.409,1.593,1.77 + c0.307,0.526,0.381,1.001,0.217,1.423c-0.163,0.424-0.538,0.799-1.126,1.124c-0.582,0.323-1.289,0.531-2.12,0.627 + c-0.829,0.096-1.684,0.044-2.561-0.154c-0.876-0.198-1.684-0.52-2.423-0.966c-0.937-0.565-1.577-1.119-1.922-1.661 + c-0.344-0.542-0.405-1.082-0.185-1.621C44.233,18.665,44.699,18.186,45.413,17.769"/> +<path id="Fill-21" class="st7" d="M59.312,22.882l2.238,1.351c0.606,0.366,1.084,0.605,1.432,0.717 + c0.459,0.15,0.903,0.207,1.332,0.173c0.432-0.034,0.838-0.158,1.221-0.37c0.363-0.202,0.601-0.429,0.713-0.682 + c0.111-0.252,0.064-0.499-0.138-0.74c-0.204-0.241-0.679-0.586-1.421-1.035l-2.068-1.248L59.312,22.882z M54.257,25.684l2.576,1.555 + c0.444,0.267,0.771,0.445,0.985,0.534c0.375,0.156,0.737,0.26,1.09,0.311c0.351,0.051,0.727,0.043,1.131-0.022 + c0.403-0.065,0.777-0.195,1.126-0.387c0.408-0.227,0.664-0.482,0.768-0.77c0.103-0.286,0.04-0.568-0.189-0.847 + c-0.228-0.28-0.671-0.618-1.33-1.016l-2.393-1.444L54.257,25.684z M51.596,25.573l10.945-6.068l3.883,2.344 + c0.79,0.477,1.315,0.922,1.571,1.332c0.255,0.411,0.289,0.826,0.1,1.245c-0.191,0.418-0.537,0.767-1.04,1.046 + c-0.468,0.259-1.027,0.431-1.681,0.514c-0.654,0.084-1.349,0.051-2.087-0.101c0.431,0.486,0.58,0.96,0.451,1.423 + c-0.133,0.462-0.516,0.87-1.154,1.223c-0.512,0.285-1.092,0.487-1.737,0.607c-0.645,0.121-1.238,0.157-1.777,0.107 + c-0.541-0.05-1.099-0.176-1.676-0.384c-0.576-0.207-1.192-0.508-1.852-0.906L51.596,25.573z"/> +<path id="Fill-23" class="st7" d="M59.697,30.463l6.86-0.631l1.274-3.641l1.588,0.959l-0.707,1.725 + c-0.138,0.326-0.26,0.596-0.368,0.808c0.536-0.058,1.018-0.104,1.446-0.14l3.138-0.275l1.518,0.915l-6.324,0.507l-1.407,4.008 + l-1.561-0.941l0.925-2.295l0.255-0.615l-5.098,0.545L59.697,30.463z"/> +<path id="Fill-25" class="st7" d="M79.929,34.151c0.771-0.428,1.188-0.885,1.254-1.37c0.065-0.485-0.176-0.894-0.722-1.223 + c-0.565-0.341-1.301-0.503-2.208-0.485c-0.906,0.018-1.747,0.242-2.523,0.673c-0.697,0.385-1.065,0.82-1.104,1.301 + c-0.037,0.482,0.237,0.899,0.821,1.25c0.587,0.356,1.289,0.527,2.102,0.514C78.364,34.798,79.158,34.579,79.929,34.151 + M69.896,33.688l1.34,0.671c-0.504,0.399-0.746,0.763-0.728,1.091c0.019,0.328,0.254,0.63,0.711,0.905 + c0.391,0.235,0.828,0.39,1.312,0.462c0.481,0.073,0.976,0.079,1.48,0.017c0.504-0.062,1.09-0.204,1.754-0.424 + c0.664-0.222,1.275-0.487,1.833-0.796c0.06-0.032,0.147-0.084,0.261-0.153c-0.681,0.085-1.376,0.067-2.081-0.051 + c-0.707-0.118-1.317-0.332-1.829-0.642c-0.857-0.516-1.253-1.137-1.189-1.858c0.064-0.723,0.634-1.381,1.708-1.978 + c1.11-0.615,2.314-0.924,3.609-0.926c1.295-0.001,2.41,0.28,3.341,0.841c0.673,0.407,1.097,0.884,1.271,1.434 + c0.175,0.549,0.053,1.107-0.368,1.676c-0.419,0.567-1.302,1.223-2.646,1.968c-1.398,0.776-2.655,1.307-3.771,1.593 + c-1.116,0.286-2.174,0.378-3.174,0.277c-1-0.104-1.882-0.384-2.644-0.845c-0.809-0.488-1.233-1.02-1.27-1.592 + C68.777,34.785,69.137,34.228,69.896,33.688"/> +<path id="Fill-27" class="st7" d="M81.806,37.557c-1.797,0.996-2.794,1.779-2.992,2.349c-0.196,0.57-0.004,1.031,0.58,1.382 + c0.584,0.353,1.372,0.483,2.368,0.392c0.995-0.091,2.388-0.633,4.181-1.626c1.801-0.999,2.799-1.783,2.994-2.351 + c0.194-0.569-0.005-1.032-0.598-1.39c-0.583-0.352-1.31-0.488-2.181-0.409C85.053,36.01,83.603,36.561,81.806,37.557 M80.5,36.769 + c1.294-0.718,2.46-1.219,3.501-1.505c1.041-0.285,2.024-0.396,2.948-0.334c0.925,0.063,1.764,0.32,2.517,0.775 + c0.555,0.335,0.925,0.695,1.107,1.08c0.182,0.382,0.187,0.78,0.014,1.192s-0.501,0.842-0.985,1.29s-1.269,0.974-2.354,1.575 + c-1.284,0.712-2.445,1.211-3.484,1.498c-1.038,0.287-2.02,0.4-2.948,0.339c-0.927-0.061-1.769-0.32-2.527-0.777 + c-0.998-0.603-1.403-1.285-1.215-2.049C77.302,38.937,78.444,37.909,80.5,36.769"/> +<path id="Fill-29" class="st7" d="M92.787,40.925c-0.518,0.287-0.784,0.617-0.798,0.989c-0.013,0.372,0.233,0.711,0.736,1.016 + c0.491,0.295,1.055,0.446,1.693,0.455c0.639,0.007,1.195-0.119,1.669-0.381c0.492-0.273,0.746-0.6,0.758-0.981 + c0.015-0.381-0.219-0.717-0.7-1.006c-0.484-0.293-1.05-0.445-1.699-0.455C93.798,40.55,93.245,40.671,92.787,40.925 M87.322,43.481 + c-0.384,0.212-0.668,0.469-0.854,0.772c-0.188,0.302-0.209,0.61-0.068,0.924c0.144,0.313,0.409,0.588,0.8,0.824 + c0.607,0.365,1.316,0.554,2.123,0.564c0.809,0.009,1.531-0.162,2.169-0.516c0.648-0.358,0.978-0.778,0.994-1.259 + c0.016-0.48-0.281-0.904-0.893-1.274c-0.598-0.361-1.302-0.544-2.114-0.549C88.668,42.962,87.949,43.133,87.322,43.481 + M90.764,42.342c-0.324-0.433-0.423-0.829-0.298-1.192c0.123-0.364,0.449-0.692,0.976-0.984c0.797-0.441,1.738-0.649,2.821-0.623 + c1.083,0.026,2.075,0.31,2.974,0.853c0.904,0.546,1.353,1.137,1.348,1.778c-0.004,0.64-0.404,1.181-1.2,1.622 + c-0.508,0.281-1.076,0.45-1.703,0.507c-0.627,0.057-1.301-0.015-2.017-0.21c0.416,0.505,0.546,0.992,0.391,1.463 + c-0.157,0.471-0.575,0.893-1.251,1.269c-0.936,0.519-2.035,0.766-3.298,0.741c-1.262-0.024-2.405-0.345-3.426-0.961 + c-1.021-0.617-1.525-1.291-1.512-2.024c0.014-0.732,0.499-1.363,1.455-1.892c0.711-0.395,1.478-0.623,2.3-0.683 + C89.145,41.946,89.958,42.057,90.764,42.342"/> +<path id="Fill-31" class="st7" d="M41.715,32.345l1.284-0.712l4.393,2.643l-4.063,2.251c-1.24-0.092-2.361-0.274-3.363-0.547 + c-1.002-0.274-1.879-0.637-2.631-1.092c-1.017-0.613-1.711-1.299-2.082-2.055c-0.369-0.757-0.33-1.505,0.117-2.243 + c0.448-0.738,1.208-1.406,2.283-2.002c1.066-0.591,2.271-1.014,3.616-1.272c1.344-0.258,2.635-0.272,3.874-0.043 + c1.239,0.228,2.374,0.654,3.404,1.276c0.749,0.452,1.297,0.932,1.646,1.439c0.348,0.506,0.464,0.991,0.35,1.452 + c-0.114,0.462-0.45,0.95-1.009,1.467l-1.593-0.547c0.403-0.403,0.648-0.763,0.736-1.078c0.087-0.316,0.013-0.657-0.223-1.021 + c-0.237-0.365-0.617-0.705-1.139-1.02c-0.625-0.378-1.268-0.649-1.925-0.813c-0.659-0.163-1.293-0.239-1.901-0.226 + c-0.608,0.013-1.187,0.082-1.736,0.206c-0.94,0.216-1.807,0.544-2.598,0.983c-0.975,0.541-1.632,1.089-1.972,1.645 + s-0.364,1.106-0.076,1.649c0.289,0.543,0.773,1.02,1.457,1.432c0.591,0.358,1.292,0.64,2.098,0.848 + c0.805,0.206,1.492,0.322,2.058,0.347l2.038-1.13L41.715,32.345z"/> +<polygon id="Fill-33" class="st7" points="43.544,38.421 54.49,32.353 61.973,36.869 60.681,37.585 54.567,33.895 51.216,35.753 + 56.94,39.209 55.657,39.921 49.931,36.465 46.205,38.53 52.559,42.365 51.267,43.082 "/> +<polygon id="Fill-35" class="st7" points="52.569,43.868 63.515,37.8 64.921,38.648 61.762,46.693 70.356,41.93 71.67,42.722 + 60.723,48.79 59.319,47.942 62.485,39.892 53.883,44.661 "/> +<path id="Fill-37" class="st7" d="M70.043,52.919l-1.292,0.717l-6.84-4.129c0.315-0.186,0.674-0.328,1.081-0.428 + c0.668-0.168,1.432-0.269,2.293-0.303c0.862-0.033,1.968-0.004,3.32,0.085c2.101,0.138,3.633,0.168,4.599,0.091 + c0.965-0.077,1.701-0.257,2.209-0.539c0.532-0.295,0.802-0.652,0.808-1.072s-0.281-0.806-0.86-1.154 + c-0.611-0.37-1.295-0.557-2.049-0.564c-0.756-0.006-1.481,0.179-2.171,0.558l-1.164-0.867c1.118-0.518,2.24-0.749,3.364-0.697 + c1.124,0.053,2.178,0.376,3.161,0.97c0.993,0.599,1.487,1.235,1.484,1.907c-0.004,0.672-0.436,1.247-1.297,1.725 + c-0.438,0.243-0.954,0.43-1.545,0.562c-0.593,0.133-1.32,0.209-2.181,0.232c-0.86,0.022-2.156-0.016-3.886-0.115 + c-1.438-0.084-2.387-0.125-2.845-0.122s-0.879,0.03-1.265,0.08L70.043,52.919z"/> +<path id="Fill-39" class="st5" d="M77.701,101.666c0,1.909-1.548,2.529-3.458,1.381c-1.913-1.15-3.461-3.629-3.461-5.537 + c0-1.912,1.548-2.531,3.461-1.382C76.153,97.275,77.701,99.754,77.701,101.666"/> +<path id="Fill-41" class="st5" d="M71.02,97.652c0.005,1.781,1.442,4.084,3.223,5.157c1.78,1.066,3.215,0.489,3.219-1.285 + c-0.004-1.783-1.439-4.086-3.219-5.159C72.462,95.299,71.025,95.875,71.02,97.652 M70.545,97.367c0-2.044,1.654-2.705,3.698-1.478 + c2.043,1.228,3.695,3.876,3.695,5.92c0,2.039-1.652,2.704-3.695,1.476C72.199,102.057,70.545,99.407,70.545,97.367"/> +<path id="Fill-43" class="st3" d="M76.697,104.27l-5.637-9.023c-0.177-0.286-0.177-0.573,0-0.643 + c0.177-0.071,0.465,0.102,0.643,0.386l5.637,9.023c0.177,0.285,0.177,0.571,0,0.643c-0.089,0.035-0.206,0.01-0.322-0.061 + C76.902,104.525,76.786,104.412,76.697,104.27"/> +<path id="Fill-45" class="st3" d="M71.095,100.868c-0.178-0.285-0.178-0.571,0-0.643l5.637-2.252 + c0.177-0.07,0.466,0.103,0.642,0.385c0.178,0.285,0.178,0.573,0,0.644l-5.636,2.252c-0.09,0.036-0.206,0.01-0.323-0.06 + C71.299,101.124,71.183,101.01,71.095,100.868"/> +<path id="Fill-47" class="st3" d="M75.983,100.694c0,0.978-0.793,1.292-1.771,0.704c-0.981-0.589-1.775-1.856-1.775-2.834 + c0-0.981,0.794-1.298,1.775-0.709C75.189,98.443,75.983,99.713,75.983,100.694"/> +<path id="Fill-49" class="st5" d="M68.54,95.957c0,1.908-1.547,2.528-3.457,1.38c-1.913-1.15-3.461-3.628-3.461-5.537 + c0-1.912,1.548-2.531,3.461-1.382C66.993,91.565,68.54,94.045,68.54,95.957"/> +<path id="Fill-51" class="st5" d="M61.859,91.943c0.005,1.78,1.442,4.083,3.223,5.156c1.779,1.067,3.215,0.49,3.219-1.285 + c-0.004-1.783-1.44-4.086-3.219-5.159C63.301,89.589,61.864,90.166,61.859,91.943 M61.383,91.658c0-2.045,1.655-2.706,3.699-1.478 + c2.042,1.228,3.695,3.875,3.695,5.919c0,2.04-1.653,2.704-3.695,1.477C63.038,96.347,61.383,93.698,61.383,91.658"/> +<path id="Fill-53" class="st3" d="M67.537,98.561l-5.638-9.024c-0.177-0.285-0.177-0.573,0-0.643 + c0.177-0.071,0.465,0.102,0.643,0.387l5.637,9.023c0.177,0.284,0.177,0.571,0,0.642c-0.089,0.035-0.205,0.01-0.321-0.06 + C67.741,98.816,67.625,98.702,67.537,98.561"/> +<path id="Fill-55" class="st3" d="M61.934,95.159c-0.177-0.284-0.177-0.571,0-0.642l5.638-2.253c0.177-0.07,0.466,0.104,0.641,0.386 + c0.178,0.285,0.178,0.572,0,0.643l-5.636,2.253c-0.089,0.035-0.206,0.009-0.322-0.061C62.138,95.416,62.023,95.302,61.934,95.159"/> +<path id="Fill-57" class="st3" d="M66.822,94.985c0,0.978-0.793,1.292-1.771,0.704c-0.981-0.59-1.775-1.856-1.775-2.834 + c0-0.982,0.794-1.299,1.775-0.71C66.029,92.733,66.822,94.003,66.822,94.985"/> +<path id="Fill-59" class="st5" d="M77.507,80.991c0,1.909-1.547,2.528-3.457,1.381c-1.913-1.15-3.461-3.629-3.461-5.537 + c0-1.912,1.548-2.532,3.461-1.382C75.96,76.599,77.507,79.079,77.507,80.991"/> +<path id="Fill-61" class="st5" d="M70.826,76.976c0.005,1.78,1.442,4.084,3.223,5.157c1.779,1.066,3.215,0.489,3.219-1.285 + c-0.004-1.783-1.44-4.086-3.219-5.159C72.268,74.623,70.831,75.199,70.826,76.976 M70.351,76.691c0-2.044,1.654-2.705,3.698-1.478 + c2.042,1.228,3.695,3.876,3.695,5.92c0,2.039-1.653,2.704-3.695,1.476C72.005,81.381,70.351,78.731,70.351,76.691"/> +<path id="Fill-63" class="st3" d="M76.504,83.594l-5.637-9.023c-0.178-0.286-0.178-0.573,0-0.643 + c0.176-0.071,0.464,0.102,0.643,0.386l5.636,9.023c0.178,0.285,0.178,0.571,0,0.643c-0.088,0.035-0.205,0.01-0.321-0.061 + C76.709,83.849,76.593,83.736,76.504,83.594"/> +<path id="Fill-65" class="st3" d="M70.901,80.193c-0.177-0.285-0.177-0.571,0-0.643l5.638-2.253 + c0.177-0.069,0.466,0.104,0.641,0.386c0.179,0.285,0.179,0.572,0,0.643l-5.635,2.253c-0.09,0.036-0.207,0.01-0.323-0.061 + C71.105,80.449,70.99,80.335,70.901,80.193"/> +<path id="Fill-67" class="st3" d="M75.789,80.018c0,0.978-0.793,1.292-1.771,0.704c-0.981-0.589-1.775-1.856-1.775-2.834 + c0-0.981,0.794-1.298,1.775-0.709C74.996,77.767,75.789,79.037,75.789,80.018"/> +<path id="Fill-69" class="st5" d="M68.347,75.281c0,1.908-1.548,2.528-3.458,1.38c-1.912-1.15-3.46-3.628-3.46-5.537 + c0-1.912,1.548-2.531,3.46-1.382C66.799,70.889,68.347,73.368,68.347,75.281"/> +<path id="Fill-71" class="st5" d="M61.665,71.267c0.005,1.78,1.443,4.083,3.224,5.156c1.779,1.067,3.214,0.49,3.219-1.285 + c-0.005-1.783-1.44-4.086-3.219-5.159C63.108,68.913,61.67,69.49,61.665,71.267 M61.19,70.982c0-2.045,1.655-2.706,3.699-1.479 + c2.042,1.229,3.694,3.876,3.694,5.92c0,2.04-1.652,2.704-3.694,1.477C62.845,75.671,61.19,73.021,61.19,70.982"/> +<path id="Fill-73" class="st3" d="M67.343,77.884l-5.637-9.023c-0.177-0.285-0.177-0.573,0-0.643 + c0.177-0.071,0.465,0.102,0.643,0.387l5.637,9.023c0.177,0.284,0.177,0.571,0,0.642c-0.089,0.035-0.206,0.01-0.322-0.061 + C67.548,78.14,67.432,78.026,67.343,77.884"/> +<path id="Fill-75" class="st3" d="M61.74,74.483c-0.178-0.284-0.178-0.571,0-0.642l5.637-2.253c0.177-0.07,0.467,0.104,0.642,0.386 + c0.178,0.284,0.178,0.572,0,0.643l-5.636,2.253c-0.089,0.035-0.206,0.009-0.322-0.061C61.944,74.74,61.828,74.626,61.74,74.483"/> +<path id="Fill-77" class="st3" d="M66.629,74.309c0,0.978-0.794,1.292-1.772,0.704c-0.981-0.59-1.774-1.857-1.774-2.835 + c0-0.981,0.793-1.298,1.774-0.709C65.835,72.057,66.629,73.327,66.629,74.309"/> +<polygon id="Fill-79" class="st5" points="15.867,69.571 14.736,68.893 14.736,55.893 15.867,56.571 "/> +<polygon id="Stroke-81" class="st6" points="15.867,69.571 14.736,68.893 14.736,55.893 15.867,56.571 "/> +<polygon id="Fill-83" class="st5" points="16.201,52.237 15.07,51.559 15.07,38.559 16.201,39.237 "/> +<polygon id="Stroke-85" class="st6" points="16.201,52.237 15.07,51.559 15.07,38.559 16.201,39.237 "/> +<polygon id="Fill-87" class="st5" points="40.179,72.59 39.048,71.912 39.048,58.912 40.179,59.59 "/> +<polygon id="Stroke-89" class="st6" points="40.179,72.59 39.048,71.912 39.048,58.912 40.179,59.59 "/> +<polygon id="Fill-91" class="st5" points="48.06,88.457 46.929,87.779 46.929,74.779 48.06,75.457 "/> +<polygon id="Stroke-93" class="st6" points="48.06,88.457 46.929,87.779 46.929,74.779 48.06,75.457 "/> +<polygon id="Fill-95" class="st5" points="48.394,71.123 47.263,70.445 47.263,57.445 48.394,58.123 "/> +<polygon id="Stroke-97" class="st6" points="48.394,71.123 47.263,70.445 47.263,57.445 48.394,58.123 "/> +<path id="Stroke-99" class="st8" d="M59.733,64.399v31.048"/> +<path id="Stroke-101" class="st8" d="M3.397,30.748v31.048"/> +<path id="Stroke-103" class="st8" d="M11.445,35.592V66.64"/> +<path id="Stroke-105" class="st8" d="M19.493,40.321v31.048"/> +<path id="Stroke-107" class="st8" d="M27.541,45.051v31.048"/> +<path id="Stroke-109" class="st8" d="M35.589,50.227v31.048"/> +<path id="Stroke-111" class="st8" d="M43.638,54.757v31.048"/> +<path id="Stroke-113" class="st8" d="M51.686,59.847v31.048"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2.svg new file mode 100644 index 0000000000000000000000000000000000000000..d71ce7322b1cc50ceb9ff5b483c26bde6300cfa5 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2.svg @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 123.668 84.623" style="enable-background:new 0 0 123.668 84.623;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#010202;} +</style> +<title>icon-switch-24port-L2</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="79.881,71.039 122.16,48.596 122.168,60.681 79.889,83.123 "/> +<polygon id="Stroke-3" class="st0" points="1.5,23.942 43.779,1.5 122.16,48.595 79.881,71.039 "/> +<polygon id="Stroke-5" class="st0" points="79.881,71.039 79.889,83.123 1.508,36.027 1.5,23.942 "/> +<polygon id="Fill-8" class="st1" points="79.881,71.039 122.16,48.598 122.168,60.682 79.889,83.124 "/> +<polygon id="Fill-9" class="st2" points="1.5,23.943 43.779,1.501 122.16,48.597 79.881,71.039 "/> +<polygon id="Fill-10" class="st3" points="79.881,71.039 79.889,83.124 1.508,36.027 1.5,23.943 "/> +<polyline id="Stroke-11" class="st4" points="1.878,23.949 79.865,70.808 79.865,82.802 "/> +<polygon id="Fill-12" class="st5" points="11.026,39.32 4.983,35.689 4.983,33.947 11.026,37.578 "/> +<polygon id="Fill-13" class="st5" points="75.744,74.048 62.277,65.956 62.277,62.781 75.744,70.874 "/> +<polygon id="Fill-14" class="st5" points="75.693,78.845 62.23,70.755 62.23,67.579 75.693,75.669 "/> +<polygon id="Fill-15" class="st5" points="57.58,63.124 44.111,55.031 44.111,51.857 57.58,59.95 "/> +<polygon id="Fill-16" class="st5" points="57.531,67.921 44.064,59.828 44.064,56.654 57.531,64.747 "/> +<polygon id="Fill-17" class="st5" points="39.459,52.263 25.992,44.171 25.992,40.995 39.459,49.087 "/> +<polygon id="Fill-18" class="st5" points="39.412,57.06 25.945,48.969 25.945,45.795 39.412,53.886 "/> +<polygon id="Fill-19" class="st6" points="27.688,23.389 44.94,14.677 46.499,15.608 31.282,23.292 37.084,26.759 35.047,27.786 "/> +<path id="Fill-20" class="st6" d="M48.438,28.873c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L48.438,28.873z M43.828,31.334c-1.202,0.017-2.189-0.054-2.959-0.211s-1.44-0.406-2.007-0.745 + c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751c0.612-0.309,1.268-0.534,1.963-0.676 + c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272c0.394,0.114,0.929,0.316,1.603,0.607 + c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274c0.863-0.437,1.335-0.825,1.415-1.166 + c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987 + c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127c0.853,0.184,1.645,0.496,2.379,0.934 + c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079s-0.497,0.653-0.991,0.996 + c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943c-0.46,0.3-0.839,0.625-1.136,0.975 + l-1.509-0.902C42.865,31.975,43.282,31.657,43.828,31.334z"/> +<path id="Fill-22" class="st6" d="M40.991,36.645l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59 + c0.32,0.193,0.657,0.307,1.006,0.343c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533 + c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832 + c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866l-15.956,4.478c-1.721,0.485-2.936,0.801-3.647,0.947 + c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463C41.387,37.166,41.161,36.937,40.991,36.645"/> +<path id="Fill-24" class="st6" d="M62.637,36.06l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C64.898,35.248,63.777,35.539,62.637,36.06 + M63.961,40.626l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C61.9,41.098,62.848,40.947,63.961,40.626"/> +<path id="Fill-26" class="st6" d="M63.231,44.628l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L63.231,44.628z"/> +<path id="Fill-28" class="st6" d="M82.531,53.916l-2.035,1.028l-7.785-4.652c0.498-0.264,1.046-0.478,1.639-0.642 + c0.975-0.274,2.058-0.47,3.247-0.59c1.19-0.12,2.692-0.182,4.504-0.188c2.819-0.013,4.902-0.11,6.25-0.295 + c1.348-0.184,2.422-0.479,3.223-0.884c0.839-0.423,1.343-0.903,1.51-1.439c0.166-0.536-0.08-1.001-0.739-1.395 + c-0.697-0.416-1.559-0.594-2.589-0.535c-1.03,0.06-2.089,0.361-3.176,0.904l-1.264-1c1.727-0.76,3.347-1.157,4.863-1.189 + c1.515-0.033,2.832,0.285,3.952,0.954c1.129,0.675,1.565,1.442,1.306,2.299c-0.259,0.856-1.067,1.628-2.425,2.313 + c-0.69,0.349-1.465,0.634-2.325,0.856c-0.858,0.222-1.881,0.385-3.066,0.49c-1.185,0.105-2.94,0.172-5.266,0.2 + c-1.934,0.021-3.216,0.053-3.842,0.099c-0.628,0.045-1.212,0.116-1.758,0.215L82.531,53.916z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2_POE.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..35b5de0b603a80b63790afac7617568dcbcfc8be --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L2_POE.svg @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 123.668 84.623" style="enable-background:new 0 0 123.668 84.623;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#231F20;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-switch-24port-poeL2</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="79.881,71.039 122.16,48.596 122.168,60.682 79.889,83.123 "/> +<polygon id="Stroke-3" class="st0" points="1.5,23.943 43.779,1.5 122.16,48.595 79.881,71.039 "/> +<polygon id="Stroke-5" class="st0" points="79.881,71.039 79.889,83.123 1.508,36.027 1.5,23.943 "/> +<polygon id="Fill-8" class="st1" points="79.881,71.039 122.16,48.598 122.168,60.682 79.889,83.125 "/> +<polygon id="Fill-9" class="st2" points="1.5,23.943 43.779,1.502 122.16,48.597 79.881,71.039 "/> +<polygon id="Fill-10" class="st3" points="79.881,71.039 79.889,83.125 1.508,36.027 1.5,23.943 "/> +<polyline id="Stroke-11" class="st4" points="1.879,23.949 79.865,70.808 79.865,82.803 "/> +<polygon id="Fill-12" class="st5" points="11.026,39.32 4.983,35.689 4.983,33.947 11.026,37.578 "/> +<polygon id="Fill-13" class="st5" points="75.744,74.048 62.277,65.956 62.277,62.782 75.744,70.874 "/> +<polygon id="Fill-14" class="st5" points="75.693,78.845 62.23,70.755 62.23,67.579 75.693,75.669 "/> +<polygon id="Fill-15" class="st5" points="57.58,63.125 44.111,55.031 44.111,51.857 57.58,59.951 "/> +<polygon id="Fill-16" class="st5" points="57.531,67.921 44.064,59.83 44.064,56.655 57.531,64.747 "/> +<polygon id="Fill-17" class="st5" points="39.459,52.263 25.992,44.171 25.992,40.995 39.459,49.087 "/> +<polygon id="Fill-18" class="st5" points="39.412,57.06 25.945,48.97 25.945,45.796 39.412,53.886 "/> +<polygon id="Fill-19" class="st5" points="19.195,26.61 37.058,26.757 31.649,18.654 43.785,19.7 40.031,14.084 61.542,15.936 + 46.272,18.125 50.984,25.182 40.813,24.304 46.191,32.356 20.243,26.797 "/> +<polygon id="Fill-20" class="st5" points="38.957,38.552 50.561,32.692 51.607,33.319 41.374,38.487 45.276,40.819 43.907,41.51 "/> +<path id="Fill-21" class="st5" d="M51.335,40.695l2.686,1.605l2.387-2.116c0.724-0.644,1.337-1.161,1.844-1.552 + c-0.846,0.315-1.727,0.604-2.644,0.864L51.335,40.695z M44.285,41.736l14.645-4.042l1.129,0.674l-8.36,7.798l-1.194-0.714 + l2.59-2.327l-3.314-1.979l-4.383,1.255L44.285,41.736z"/> +<path id="Fill-23" class="st5" d="M53.946,47.509l4.915-2.482l3.635-5.202l1.275,0.762l-1.936,2.699 + c-0.367,0.503-0.752,0.994-1.159,1.473c0.845-0.165,1.817-0.337,2.916-0.519l4.945-0.806l1.221,0.73l-9.848,1.489l-4.915,2.482 + L53.946,47.509z"/> +<polygon id="Fill-25" class="st5" points="59.117,50.599 70.721,44.739 76.449,48.162 75.08,48.853 70.4,46.057 66.846,47.852 + 71.228,50.471 69.867,51.159 65.484,48.54 61.535,50.535 66.398,53.44 65.029,54.132 "/> +<path id="Fill-27" class="st5" d="M74.024,52.359l2.254,1.347c0.479,0.286,0.927,0.473,1.342,0.561 + c0.414,0.088,0.852,0.094,1.312,0.016c0.459-0.076,0.876-0.21,1.25-0.399c0.549-0.277,0.865-0.587,0.947-0.927 + c0.081-0.342-0.17-0.687-0.758-1.039l-2.508-1.498L74.024,52.359z M66.494,55.006l11.602-5.859l3.514,2.098 + c0.705,0.422,1.138,0.795,1.297,1.121c0.159,0.324,0.085,0.685-0.223,1.083s-0.781,0.759-1.42,1.081 + c-0.822,0.415-1.698,0.658-2.627,0.725c-0.928,0.067-1.85-0.087-2.762-0.464c0.082,0.264,0.1,0.487,0.054,0.67 + c-0.106,0.39-0.33,0.824-0.675,1.299l-1.779,2.418l-1.318-0.788l1.365-1.845c0.391-0.535,0.672-0.955,0.843-1.26 + c0.171-0.304,0.252-0.542,0.243-0.71c-0.01-0.168-0.065-0.315-0.17-0.441c-0.081-0.09-0.258-0.215-0.527-0.377l-1.217-0.727 + l-5.152,2.602L66.494,55.006z"/> +<path id="Fill-29" class="st5" d="M83.631,63.737l-1.369,0.691L77.027,61.3c0.334-0.178,0.702-0.322,1.102-0.432 + c0.655-0.185,1.383-0.317,2.183-0.397c0.8-0.081,1.81-0.123,3.03-0.127c1.894-0.007,3.297-0.074,4.203-0.198 + c0.907-0.124,1.629-0.323,2.167-0.595c0.565-0.285,0.903-0.607,1.016-0.968c0.112-0.36-0.053-0.673-0.496-0.938 + c-0.468-0.279-1.049-0.399-1.742-0.36c-0.693,0.04-1.405,0.243-2.136,0.608l-0.849-0.673c1.159-0.511,2.251-0.777,3.27-0.799 + c1.018-0.022,1.905,0.191,2.657,0.642c0.761,0.454,1.053,0.97,0.88,1.546c-0.174,0.576-0.719,1.095-1.632,1.556 + c-0.464,0.235-0.985,0.426-1.564,0.575c-0.578,0.149-1.266,0.259-2.061,0.33c-0.797,0.071-1.979,0.116-3.543,0.136 + c-1.301,0.013-2.162,0.035-2.584,0.065c-0.422,0.03-0.817,0.078-1.182,0.144L83.631,63.737z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3.svg new file mode 100644 index 0000000000000000000000000000000000000000..288860f8a3b7cdc76b830f13c7e9221adfe6fb2c --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 123.668 84.623" style="enable-background:new 0 0 123.668 84.623;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#010202;} +</style> +<title>icon-switch-24port-L3</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="79.881,71.039 122.16,48.596 122.168,60.681 79.889,83.123 "/> +<polygon id="Stroke-3" class="st0" points="1.5,23.942 43.779,1.5 122.16,48.595 79.881,71.039 "/> +<polygon id="Stroke-5" class="st0" points="79.881,71.039 79.889,83.123 1.508,36.027 1.5,23.942 "/> +<polygon id="Fill-8" class="st1" points="79.881,71.039 122.16,48.598 122.168,60.682 79.889,83.124 "/> +<polygon id="Fill-9" class="st2" points="1.5,23.943 43.779,1.501 122.16,48.597 79.881,71.039 "/> +<polygon id="Fill-10" class="st3" points="79.881,71.039 79.889,83.124 1.508,36.027 1.5,23.943 "/> +<polyline id="Stroke-11" class="st4" points="1.878,23.949 79.865,70.808 79.865,82.802 "/> +<polygon id="Fill-12" class="st5" points="11.026,39.32 4.983,35.689 4.983,33.947 11.026,37.578 "/> +<polygon id="Fill-13" class="st5" points="75.744,74.048 62.277,65.956 62.277,62.781 75.744,70.874 "/> +<polygon id="Fill-14" class="st5" points="75.693,78.845 62.23,70.755 62.23,67.579 75.693,75.669 "/> +<polygon id="Fill-15" class="st5" points="57.58,63.124 44.111,55.031 44.111,51.857 57.58,59.95 "/> +<polygon id="Fill-16" class="st5" points="57.531,67.921 44.064,59.828 44.064,56.654 57.531,64.747 "/> +<polygon id="Fill-17" class="st5" points="39.459,52.263 25.992,44.171 25.992,40.995 39.459,49.087 "/> +<polygon id="Fill-18" class="st5" points="39.412,57.06 25.945,48.969 25.945,45.795 39.412,53.886 "/> +<polygon id="Fill-19" class="st6" points="27.688,23.389 44.94,14.677 46.499,15.608 31.282,23.292 37.084,26.759 35.047,27.786 "/> +<path id="Fill-20" class="st6" d="M48.438,28.873c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L48.438,28.873z M43.828,31.334c-1.202,0.017-2.189-0.054-2.959-0.211s-1.44-0.406-2.007-0.745 + c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751c0.612-0.309,1.268-0.534,1.963-0.676 + c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272c0.394,0.114,0.929,0.316,1.603,0.607 + c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274c0.863-0.437,1.335-0.825,1.415-1.166 + c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987 + c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127c0.853,0.184,1.645,0.496,2.379,0.934 + c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079s-0.497,0.653-0.991,0.996 + c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943c-0.46,0.3-0.839,0.625-1.136,0.975 + l-1.509-0.902C42.865,31.975,43.282,31.657,43.828,31.334z"/> +<path id="Fill-22" class="st6" d="M40.991,36.645l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59 + c0.32,0.193,0.657,0.307,1.006,0.343c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533 + c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832 + c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866l-15.956,4.478c-1.721,0.485-2.936,0.801-3.647,0.947 + c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463C41.387,37.166,41.161,36.937,40.991,36.645"/> +<path id="Fill-24" class="st6" d="M62.637,36.06l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C64.898,35.248,63.777,35.539,62.637,36.06 + M63.961,40.626l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C61.9,41.098,62.848,40.947,63.961,40.626"/> +<path id="Fill-26" class="st6" d="M63.231,44.628l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L63.231,44.628z"/> +<path id="Fill-28" class="st6" d="M77.458,48.107l1.728,0.722c-1.035,0.705-1.617,1.31-1.748,1.816 + c-0.129,0.506,0.092,0.931,0.666,1.273c0.679,0.406,1.599,0.576,2.758,0.507s2.248-0.361,3.268-0.876 + c0.973-0.491,1.559-1.025,1.757-1.604c0.197-0.577-0.039-1.067-0.707-1.467c-0.274-0.163-0.694-0.327-1.256-0.491l2.019-0.843 + c0.08,0.066,0.151,0.116,0.209,0.151c0.616,0.369,1.407,0.581,2.369,0.637c0.963,0.057,1.937-0.162,2.917-0.657 + c0.777-0.393,1.241-0.825,1.392-1.297c0.15-0.472-0.059-0.877-0.625-1.217c-0.562-0.336-1.291-0.485-2.184-0.448 + c-0.892,0.038-1.91,0.286-3.052,0.745l-1.07-1.054c1.597-0.611,3.099-0.927,4.506-0.947c1.407-0.019,2.577,0.249,3.509,0.805 + c0.643,0.385,1.032,0.841,1.169,1.367c0.138,0.528,0,1.054-0.412,1.577c-0.411,0.525-1.009,0.985-1.793,1.38 + c-0.745,0.377-1.562,0.638-2.446,0.783c-0.886,0.147-1.777,0.151-2.672,0.013c0.459,0.534,0.513,1.104,0.157,1.71 + c-0.355,0.604-1.091,1.188-2.205,1.751c-1.506,0.761-3.158,1.181-4.955,1.262s-3.269-0.221-4.416-0.907 + c-1.033-0.617-1.441-1.358-1.221-2.221C75.34,49.713,76.118,48.89,77.458,48.107"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_Alternative.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_Alternative.svg new file mode 100644 index 0000000000000000000000000000000000000000..ebfd8bf828877e986fbc54a46117e73a7a3e93db --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_Alternative.svg @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.987" style="enable-background:new 0 0 130.229 87.987;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#010202;} +</style> +<title>icon-switch-x510-24-L3</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="1.5,27.425 50.34,1.5 128.721,48.597 79.881,74.523 "/> +<polygon id="Stroke-3" class="st0" points="79.881,74.522 79.889,86.487 1.508,39.39 1.5,27.424 "/> +<polygon id="Stroke-5" class="st0" points="79.881,74.522 128.721,48.596 128.729,60.561 79.889,86.487 "/> +<polygon id="Fill-8" class="st1" points="79.881,74.525 128.721,48.597 128.729,60.564 79.889,86.49 "/> +<polygon id="Fill-9" class="st2" points="1.5,27.426 50.34,1.502 128.721,48.597 79.881,74.525 "/> +<polygon id="Fill-10" class="st3" points="79.881,74.525 79.889,86.49 1.508,39.393 1.5,27.426 "/> +<polyline id="Stroke-11" class="st4" points="1.894,27.33 79.881,74.19 79.881,86.183 "/> +<polygon id="Fill-12" class="st5" points="52.919,63.634 37.596,54.427 37.596,51.253 52.919,60.46 "/> +<polygon id="Fill-13" class="st5" points="52.862,68.427 37.543,59.224 37.543,56.048 52.862,65.253 "/> +<polygon id="Fill-14" class="st5" points="70.157,73.993 54.833,64.784 54.833,61.61 70.157,70.819 "/> +<polygon id="Fill-15" class="st5" points="70.101,78.786 54.781,69.581 54.781,66.405 70.101,75.612 "/> +<polygon id="Fill-16" class="st5" points="74.388,76.753 72.376,75.544 72.376,72.913 74.388,74.124 "/> +<polygon id="Fill-17" class="st5" points="74.38,80.747 72.366,79.536 72.366,76.909 74.38,78.118 "/> +<polygon id="Fill-18" class="st5" points="77.446,82.62 75.432,81.411 75.432,78.782 77.446,79.991 "/> +<polygon id="Fill-19" class="st6" points="34.281,24.897 51.533,16.185 53.092,17.116 37.875,24.8 43.677,28.267 41.64,29.294 "/> +<path id="Fill-20" class="st6" d="M55.031,30.38c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L55.031,30.38z M50.421,32.841c-1.202,0.017-2.189-0.054-2.959-0.211 + c-0.77-0.157-1.44-0.406-2.007-0.745c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751 + c0.612-0.309,1.268-0.534,1.963-0.676c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272 + c0.394,0.114,0.929,0.316,1.603,0.607c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274 + c0.863-0.437,1.335-0.825,1.415-1.166c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636 + c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127 + c0.853,0.184,1.645,0.496,2.379,0.934c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079 + c-0.166,0.32-0.497,0.653-0.991,0.996c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943 + c-0.46,0.3-0.839,0.625-1.136,0.975l-1.509-0.902C49.458,33.482,49.875,33.164,50.421,32.841z"/> +<path id="Fill-22" class="st6" d="M47.585,38.152l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59 + c0.32,0.193,0.657,0.307,1.006,0.343c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533 + c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832 + c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866l-15.956,4.478c-1.721,0.485-2.936,0.801-3.647,0.947 + c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463C47.981,38.673,47.755,38.444,47.585,38.152"/> +<path id="Fill-24" class="st6" d="M69.231,37.567l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C71.492,36.755,70.371,37.046,69.231,37.567 + M70.555,42.133l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C68.494,42.605,69.442,42.454,70.555,42.133"/> +<path id="Fill-26" class="st6" d="M69.824,46.135l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L69.824,46.135z"/> +<path id="Fill-28" class="st6" d="M84.052,49.614l1.728,0.722c-1.035,0.705-1.617,1.31-1.748,1.816 + c-0.129,0.506,0.092,0.931,0.666,1.273c0.679,0.406,1.599,0.576,2.758,0.507c1.159-0.069,2.248-0.361,3.268-0.876 + c0.973-0.491,1.559-1.025,1.757-1.604c0.197-0.577-0.039-1.067-0.707-1.467c-0.274-0.163-0.694-0.327-1.256-0.491l2.019-0.843 + c0.08,0.066,0.151,0.116,0.209,0.151c0.616,0.369,1.407,0.581,2.369,0.637c0.963,0.057,1.937-0.162,2.917-0.657 + c0.777-0.393,1.241-0.825,1.392-1.297c0.15-0.472-0.059-0.877-0.625-1.217c-0.562-0.336-1.291-0.485-2.184-0.448 + c-0.892,0.038-1.91,0.286-3.052,0.745l-1.07-1.054c1.597-0.611,3.099-0.927,4.506-0.947c1.407-0.019,2.577,0.249,3.509,0.805 + c0.643,0.385,1.032,0.841,1.169,1.367c0.138,0.528,0,1.054-0.412,1.577c-0.411,0.525-1.009,0.985-1.793,1.38 + c-0.745,0.377-1.562,0.638-2.446,0.783c-0.886,0.147-1.777,0.151-2.672,0.013c0.459,0.534,0.513,1.104,0.157,1.71 + c-0.355,0.604-1.091,1.188-2.205,1.751c-1.506,0.761-3.158,1.181-4.955,1.262c-1.797,0.081-3.269-0.221-4.416-0.907 + c-1.033-0.617-1.441-1.358-1.221-2.221C81.934,51.22,82.712,50.397,84.052,49.614"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_POE.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..a7d99feb037ee81a1fdc05fef1c0384374ff36f4 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_24_port_L3_POE.svg @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 123.668 84.623" style="enable-background:new 0 0 123.668 84.623;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#231F20;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-switch-24port-poeL3</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="79.881,71.039 122.16,48.596 122.168,60.682 79.889,83.123 "/> +<polygon id="Stroke-3" class="st0" points="1.5,23.943 43.779,1.5 122.16,48.595 79.881,71.039 "/> +<polygon id="Stroke-5" class="st0" points="79.881,71.039 79.889,83.123 1.508,36.027 1.5,23.943 "/> +<polygon id="Fill-8" class="st1" points="79.881,71.039 122.16,48.598 122.168,60.682 79.889,83.125 "/> +<polygon id="Fill-9" class="st2" points="1.5,23.943 43.779,1.502 122.16,48.597 79.881,71.039 "/> +<polygon id="Fill-10" class="st3" points="79.881,71.039 79.889,83.125 1.508,36.027 1.5,23.943 "/> +<polyline id="Stroke-11" class="st4" points="1.879,23.949 79.865,70.808 79.865,82.803 "/> +<polygon id="Fill-12" class="st5" points="11.026,39.32 4.983,35.689 4.983,33.947 11.026,37.578 "/> +<polygon id="Fill-13" class="st5" points="75.744,74.048 62.277,65.956 62.277,62.782 75.744,70.874 "/> +<polygon id="Fill-14" class="st5" points="75.693,78.845 62.23,70.755 62.23,67.579 75.693,75.669 "/> +<polygon id="Fill-15" class="st5" points="57.58,63.125 44.111,55.031 44.111,51.857 57.58,59.951 "/> +<polygon id="Fill-16" class="st5" points="57.531,67.921 44.064,59.83 44.064,56.655 57.531,64.747 "/> +<polygon id="Fill-17" class="st5" points="39.459,52.263 25.992,44.171 25.992,40.995 39.459,49.087 "/> +<polygon id="Fill-18" class="st5" points="39.412,57.06 25.945,48.97 25.945,45.796 39.412,53.886 "/> +<polygon id="Fill-19" class="st5" points="19.195,26.61 37.058,26.757 31.649,18.654 43.785,19.7 40.031,14.084 61.542,15.936 + 46.272,18.125 50.984,25.182 40.813,24.304 46.191,32.356 20.243,26.797 "/> +<polygon id="Fill-20" class="st5" points="38.957,38.552 50.561,32.692 51.607,33.319 41.374,38.487 45.276,40.819 43.907,41.51 "/> +<path id="Fill-21" class="st5" d="M51.335,40.695l2.686,1.605l2.387-2.116c0.724-0.644,1.337-1.161,1.844-1.552 + c-0.846,0.315-1.727,0.604-2.644,0.864L51.335,40.695z M44.285,41.736l14.645-4.042l1.129,0.674l-8.36,7.798l-1.194-0.714 + l2.59-2.327l-3.314-1.979l-4.383,1.255L44.285,41.736z"/> +<path id="Fill-23" class="st5" d="M53.946,47.509l4.915-2.482l3.635-5.202l1.275,0.762l-1.936,2.699 + c-0.367,0.503-0.752,0.994-1.159,1.473c0.845-0.165,1.817-0.337,2.916-0.519l4.945-0.806l1.221,0.73l-9.848,1.489l-4.915,2.482 + L53.946,47.509z"/> +<polygon id="Fill-25" class="st5" points="59.117,50.599 70.721,44.739 76.449,48.162 75.08,48.853 70.4,46.057 66.846,47.852 + 71.228,50.471 69.867,51.159 65.484,48.54 61.535,50.535 66.398,53.44 65.029,54.132 "/> +<path id="Fill-27" class="st5" d="M74.024,52.359l2.254,1.347c0.479,0.286,0.927,0.473,1.342,0.561 + c0.414,0.088,0.852,0.094,1.312,0.016c0.459-0.076,0.876-0.21,1.25-0.399c0.549-0.277,0.865-0.587,0.947-0.927 + c0.081-0.342-0.17-0.687-0.758-1.039l-2.508-1.498L74.024,52.359z M66.494,55.006l11.602-5.859l3.514,2.098 + c0.705,0.422,1.138,0.795,1.297,1.121c0.159,0.324,0.085,0.685-0.223,1.083s-0.781,0.759-1.42,1.081 + c-0.822,0.415-1.698,0.658-2.627,0.725c-0.928,0.067-1.85-0.087-2.762-0.464c0.082,0.264,0.1,0.487,0.054,0.67 + c-0.106,0.39-0.33,0.824-0.675,1.299l-1.779,2.418l-1.318-0.788l1.365-1.845c0.391-0.535,0.672-0.955,0.843-1.26 + c0.171-0.304,0.252-0.542,0.243-0.71c-0.01-0.168-0.065-0.315-0.17-0.441c-0.081-0.09-0.258-0.215-0.527-0.377l-1.217-0.727 + l-5.152,2.602L66.494,55.006z"/> +<path id="Fill-29" class="st5" d="M80.218,59.83l1.164,0.486c-0.696,0.473-1.088,0.881-1.176,1.222 + c-0.088,0.34,0.062,0.625,0.447,0.855c0.457,0.273,1.075,0.387,1.855,0.341c0.779-0.046,1.512-0.242,2.198-0.589 + c0.654-0.33,1.048-0.69,1.181-1.079s-0.025-0.717-0.477-0.987c-0.183-0.11-0.464-0.22-0.843-0.33l1.359-0.567 + c0.054,0.044,0.101,0.078,0.141,0.102c0.414,0.248,0.944,0.39,1.592,0.429c0.648,0.037,1.302-0.11,1.962-0.443 + c0.523-0.264,0.834-0.555,0.936-0.872c0.101-0.318-0.038-0.59-0.42-0.818c-0.378-0.226-0.867-0.327-1.468-0.301 + c-0.6,0.025-1.285,0.192-2.054,0.501l-0.72-0.71c1.074-0.411,2.086-0.623,3.032-0.636c0.945-0.014,1.732,0.167,2.359,0.541 + c0.433,0.259,0.696,0.565,0.787,0.92c0.093,0.354,0,0.708-0.277,1.06c-0.277,0.352-0.679,0.662-1.207,0.928 + c-0.501,0.253-1.05,0.429-1.644,0.527c-0.595,0.099-1.195,0.101-1.798,0.008c0.31,0.36,0.345,0.744,0.106,1.15 + c-0.239,0.407-0.733,0.8-1.482,1.179c-1.013,0.511-2.125,0.793-3.333,0.848c-1.209,0.054-2.199-0.149-2.97-0.61 + c-0.695-0.415-0.97-0.913-0.822-1.494C78.793,60.91,79.319,60.357,80.218,59.83"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2.svg new file mode 100644 index 0000000000000000000000000000000000000000..9c970fa4c6c5eef34103c97f09329fda20c6352c --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2.svg @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.986" style="enable-background:new 0 0 130.229 87.986;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#010202;} +</style> +<title>icon-switch-48port-L2</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="1.5,27.425 50.34,1.5 128.721,48.597 79.881,74.522 "/> +<polygon id="Stroke-3" class="st0" points="79.881,74.521 79.889,86.486 1.508,39.39 1.5,27.424 "/> +<polygon id="Stroke-5" class="st0" points="79.881,74.521 128.721,48.596 128.729,60.561 79.889,86.486 "/> +<polygon id="Fill-8" class="st1" points="79.881,74.523 128.721,48.599 128.729,60.564 79.889,86.488 "/> +<polygon id="Fill-9" class="st2" points="1.5,27.427 50.34,1.501 128.721,48.599 79.881,74.523 "/> +<polygon id="Fill-10" class="st3" points="79.881,74.523 79.889,86.488 1.508,39.392 1.5,27.427 "/> +<polyline id="Stroke-11" class="st4" points="1.893,27.329 79.881,74.189 79.881,86.183 "/> +<polygon id="Fill-12" class="st5" points="71.541,74.896 52.48,63.444 52.48,60.27 71.541,71.722 "/> +<polygon id="Fill-13" class="st5" points="71.471,79.681 52.414,68.232 52.414,65.057 71.471,76.507 "/> +<polygon id="Fill-14" class="st5" points="28.858,49.239 9.799,37.788 9.799,34.612 28.858,46.064 "/> +<polygon id="Fill-15" class="st5" points="28.787,54.024 9.732,42.575 9.732,39.4 28.787,50.849 "/> +<polygon id="Fill-16" class="st5" points="50.227,62.077 31.168,50.626 31.168,47.452 50.227,58.903 "/> +<polygon id="Fill-17" class="st5" points="50.156,66.862 31.099,55.411 31.099,52.237 50.156,63.687 "/> +<polygon id="Fill-18" class="st6" points="29.845,24.176 47.097,15.464 48.656,16.395 33.439,24.079 39.241,27.546 37.204,28.573 + "/> +<path id="Fill-19" class="st6" d="M50.595,29.659c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L50.595,29.659z M45.985,32.12c-1.202,0.017-2.189-0.054-2.959-0.211s-1.44-0.406-2.007-0.745 + c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751c0.612-0.309,1.268-0.534,1.963-0.676 + c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272c0.394,0.114,0.929,0.316,1.603,0.607 + c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274c0.863-0.437,1.335-0.825,1.415-1.166 + c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987 + c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127c0.853,0.184,1.645,0.496,2.379,0.934 + c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079c-0.166,0.32-0.497,0.653-0.991,0.996 + c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943c-0.46,0.3-0.839,0.625-1.136,0.975 + l-1.509-0.902C45.022,32.761,45.439,32.443,45.985,32.12z"/> +<path id="Fill-21" class="st6" d="M43.149,37.432l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59 + c0.32,0.193,0.657,0.307,1.006,0.343c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533 + c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832 + c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866l-15.956,4.478c-1.721,0.485-2.936,0.801-3.647,0.947 + c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463C43.545,37.953,43.319,37.724,43.149,37.432"/> +<path id="Fill-23" class="st6" d="M64.794,36.847l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C67.055,36.035,65.934,36.326,64.794,36.847 + M66.118,41.413l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C64.057,41.885,65.005,41.734,66.118,41.413"/> +<path id="Fill-25" class="st6" d="M65.388,45.414l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L65.388,45.414z"/> +<path id="Fill-27" class="st6" d="M84.689,54.702l-2.035,1.028l-7.785-4.652c0.498-0.264,1.046-0.478,1.639-0.642 + c0.975-0.274,2.058-0.47,3.247-0.59c1.19-0.12,2.692-0.182,4.504-0.188c2.819-0.013,4.902-0.11,6.25-0.295 + c1.348-0.184,2.422-0.479,3.223-0.884c0.839-0.423,1.343-0.903,1.51-1.439c0.166-0.536-0.08-1.001-0.739-1.395 + c-0.697-0.416-1.559-0.594-2.589-0.535c-1.03,0.06-2.089,0.361-3.176,0.904l-1.264-1c1.727-0.76,3.347-1.157,4.863-1.189 + c1.515-0.033,2.832,0.285,3.952,0.954c1.129,0.675,1.565,1.442,1.306,2.299c-0.259,0.856-1.067,1.628-2.425,2.313 + c-0.69,0.349-1.465,0.634-2.325,0.856c-0.858,0.222-1.881,0.385-3.066,0.49s-2.94,0.172-5.266,0.2 + c-1.934,0.021-3.216,0.053-3.842,0.099c-0.628,0.045-1.212,0.116-1.758,0.215L84.689,54.702z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2_POE.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..217ccfade60dc5c333bbce25d1218aaf827786ed --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L2_POE.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.986" style="enable-background:new 0 0 130.229 87.986;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#231F20;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-switch-48port-poeL2</title> +<desc>Created with Sketch.</desc> +<g> + <polygon id="Stroke-1" class="st0" points="1.5,27.426 50.34,1.5 128.721,48.597 79.881,74.521 "/> + <polygon id="Stroke-3" class="st0" points="79.881,74.521 79.889,86.486 1.508,39.39 1.5,27.427 "/> + <polygon id="Stroke-5" class="st0" points="79.881,74.521 128.721,48.597 128.729,60.562 79.889,86.486 "/> + <polygon id="Fill-8" class="st1" points="79.881,74.523 128.721,48.597 128.729,60.564 79.889,86.488 "/> + <polygon id="Fill-9" class="st2" points="1.5,27.426 50.34,1.502 128.721,48.597 79.881,74.523 "/> + <polygon id="Fill-10" class="st3" points="79.881,74.523 79.889,86.488 1.508,39.392 1.5,27.426 "/> + <polyline id="Stroke-11" class="st4" points="1.893,27.33 79.881,74.189 79.881,86.181 "/> + <polygon id="Fill-12" class="st5" points="52.918,63.634 37.596,54.427 37.596,51.253 52.918,60.46 "/> + <polygon id="Fill-13" class="st5" points="52.861,68.427 37.543,59.224 37.543,56.049 52.861,65.254 "/> + <polygon id="Fill-14" class="st5" points="70.156,73.992 54.834,64.785 54.834,61.611 70.156,70.818 "/> + <polygon id="Fill-15" class="st5" points="70.1,78.785 54.782,69.582 54.782,66.406 70.1,75.611 "/> + <polygon id="Fill-16" class="st5" points="18.444,42.91 3.122,33.703 3.122,30.53 18.444,39.734 "/> + <polygon id="Fill-17" class="st5" points="18.387,47.701 3.069,38.498 3.069,35.322 18.387,44.527 "/> + <polygon id="Fill-18" class="st5" points="35.682,53.265 20.36,44.06 20.36,40.886 35.682,50.091 "/> + <polygon id="Fill-19" class="st5" points="35.625,58.058 20.305,48.853 20.305,45.679 35.625,54.884 "/> + <polygon id="Fill-20" class="st5" points="74.387,76.752 72.375,75.543 72.375,72.912 74.387,74.123 "/> + <polygon id="Fill-21" class="st5" points="74.379,80.746 72.365,79.537 72.365,76.908 74.379,78.117 "/> + <polygon id="Fill-22" class="st5" points="77.445,82.621 75.431,81.41 75.431,78.783 77.445,79.992 "/> + <polygon id="Fill-23" class="st5" points="20.192,26.952 38.055,27.099 32.645,18.996 44.783,20.042 41.028,14.426 62.539,16.278 + 47.269,18.467 51.981,25.524 41.809,24.646 47.188,32.698 21.239,27.139 "/> + <polygon id="Fill-24" class="st5" points="38.953,40.894 50.557,35.034 51.603,35.661 41.37,40.829 45.272,43.161 43.903,43.852 + "/> + <path id="Fill-25" class="st5" d="M51.331,43.038l2.686,1.605l2.387-2.116c0.724-0.644,1.337-1.161,1.844-1.552 + c-0.846,0.315-1.727,0.604-2.644,0.864L51.331,43.038z M44.281,44.079l14.645-4.042l1.129,0.674l-8.36,7.798l-1.194-0.714 + l2.59-2.327l-3.314-1.979l-4.383,1.255L44.281,44.079z"/> + <path id="Fill-27" class="st5" d="M53.943,49.851l4.915-2.482l3.635-5.202l1.275,0.762l-1.936,2.699 + c-0.367,0.503-0.752,0.994-1.159,1.473c0.845-0.165,1.817-0.337,2.916-0.519l4.945-0.806l1.221,0.73l-9.849,1.489l-4.915,2.482 + L53.943,49.851z"/> + <polygon id="Fill-29" class="st5" points="59.114,52.941 70.718,47.081 76.445,50.504 75.076,51.195 70.396,48.399 66.843,50.194 + 71.225,52.813 69.864,53.501 65.481,50.882 61.531,52.877 66.395,55.782 65.025,56.474 "/> + <path id="Fill-31" class="st5" d="M74.02,54.701l2.254,1.347c0.479,0.286,0.927,0.473,1.342,0.561 + c0.414,0.088,0.852,0.094,1.312,0.016c0.459-0.076,0.876-0.21,1.25-0.399c0.549-0.277,0.865-0.587,0.947-0.927 + c0.081-0.342-0.17-0.687-0.758-1.039l-2.508-1.498L74.02,54.701z M66.49,57.348l11.602-5.859l3.514,2.098 + c0.705,0.422,1.138,0.795,1.297,1.121c0.159,0.324,0.085,0.685-0.223,1.083c-0.308,0.398-0.781,0.759-1.42,1.081 + c-0.822,0.415-1.698,0.658-2.627,0.725c-0.928,0.067-1.85-0.087-2.762-0.464c0.082,0.264,0.1,0.487,0.054,0.67 + c-0.106,0.39-0.33,0.824-0.675,1.299l-1.779,2.418l-1.318-0.788l1.365-1.845c0.391-0.535,0.672-0.955,0.843-1.26 + c0.171-0.304,0.252-0.542,0.243-0.71c-0.01-0.168-0.065-0.315-0.17-0.441c-0.081-0.09-0.258-0.215-0.527-0.377l-1.217-0.727 + l-5.152,2.602L66.49,57.348z"/> + <path id="Fill-33" class="st5" d="M83.627,66.079l-1.369,0.691l-5.235-3.128c0.334-0.178,0.702-0.322,1.102-0.432 + c0.655-0.185,1.383-0.317,2.183-0.397c0.8-0.081,1.81-0.123,3.03-0.127c1.894-0.007,3.297-0.074,4.203-0.198 + c0.907-0.124,1.629-0.323,2.167-0.595c0.565-0.285,0.903-0.607,1.016-0.968c0.112-0.36-0.053-0.673-0.496-0.938 + c-0.468-0.279-1.049-0.399-1.742-0.36c-0.693,0.04-1.405,0.243-2.136,0.608l-0.849-0.673c1.159-0.511,2.251-0.777,3.27-0.799 + c1.018-0.022,1.905,0.191,2.657,0.642c0.761,0.454,1.053,0.97,0.88,1.546c-0.174,0.576-0.719,1.095-1.632,1.556 + c-0.464,0.235-0.985,0.426-1.564,0.575c-0.578,0.149-1.266,0.259-2.061,0.33c-0.797,0.071-1.979,0.116-3.543,0.136 + c-1.301,0.013-2.162,0.035-2.584,0.065c-0.422,0.03-0.817,0.078-1.182,0.144L83.627,66.079z"/> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3.svg new file mode 100644 index 0000000000000000000000000000000000000000..2c012ac49380ea748199ea046c5b27d1a52d97c2 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3.svg @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.986" style="enable-background:new 0 0 130.229 87.986;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:#010202;} +</style> +<title>icon-switch-48port-L3</title> +<desc>Created with Sketch.</desc> +<g> + <polygon id="Stroke-1" class="st0" points="1.5,27.425 50.34,1.5 128.721,48.597 79.881,74.522 "/> + <polygon id="Stroke-3" class="st0" points="79.881,74.521 79.889,86.486 1.508,39.39 1.5,27.424 "/> + <polygon id="Stroke-5" class="st0" points="79.881,74.521 128.721,48.596 128.729,60.561 79.889,86.486 "/> + <polygon id="Fill-8" class="st1" points="79.881,74.523 128.721,48.599 128.729,60.564 79.889,86.488 "/> + <polygon id="Fill-9" class="st2" points="1.5,27.427 50.34,1.501 128.721,48.599 79.881,74.523 "/> + <polygon id="Fill-10" class="st3" points="79.881,74.523 79.889,86.488 1.508,39.392 1.5,27.427 "/> + <polyline id="Stroke-11" class="st4" points="1.893,27.329 79.881,74.189 79.881,86.183 "/> + <polygon id="Fill-12" class="st5" points="71.541,74.896 52.48,63.444 52.48,60.27 71.541,71.722 "/> + <polygon id="Fill-13" class="st5" points="71.471,79.681 52.414,68.232 52.414,65.057 71.471,76.507 "/> + <polygon id="Fill-14" class="st5" points="28.858,49.239 9.799,37.788 9.799,34.612 28.858,46.064 "/> + <polygon id="Fill-15" class="st5" points="28.787,54.024 9.732,42.575 9.732,39.4 28.787,50.849 "/> + <polygon id="Fill-16" class="st5" points="50.227,62.077 31.168,50.626 31.168,47.452 50.227,58.903 "/> + <polygon id="Fill-17" class="st5" points="50.156,66.862 31.099,55.411 31.099,52.237 50.156,63.687 "/> + <polygon id="Fill-18" class="st6" points="29.845,24.176 47.097,15.464 48.656,16.395 33.439,24.079 39.241,27.546 37.204,28.573 + "/> + <path id="Fill-19" class="st6" d="M50.595,29.659c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L50.595,29.659z M45.985,32.12c-1.202,0.017-2.189-0.054-2.959-0.211s-1.44-0.406-2.007-0.745 + c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751c0.612-0.309,1.268-0.534,1.963-0.676 + c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272c0.394,0.114,0.929,0.316,1.603,0.607 + c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274c0.863-0.437,1.335-0.825,1.415-1.166 + c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987 + c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127c0.853,0.184,1.645,0.496,2.379,0.934 + c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079c-0.166,0.32-0.497,0.653-0.991,0.996 + c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943c-0.46,0.3-0.839,0.625-1.136,0.975 + l-1.509-0.902C45.022,32.761,45.439,32.443,45.985,32.12z"/> + <path id="Fill-21" class="st6" d="M43.149,37.432l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59 + c0.32,0.193,0.657,0.307,1.006,0.343c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533 + c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832 + c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866l-15.956,4.478c-1.721,0.485-2.936,0.801-3.647,0.947 + c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463C43.545,37.953,43.319,37.724,43.149,37.432"/> + <path id="Fill-23" class="st6" d="M64.794,36.847l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C67.055,36.035,65.934,36.326,64.794,36.847 + M66.118,41.413l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C64.057,41.885,65.005,41.734,66.118,41.413"/> + <path id="Fill-25" class="st6" d="M65.388,45.414l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L65.388,45.414z"/> + <path id="Fill-27" class="st6" d="M79.615,48.894l1.728,0.722c-1.035,0.705-1.617,1.31-1.748,1.816 + c-0.129,0.506,0.092,0.931,0.666,1.273c0.679,0.406,1.599,0.576,2.758,0.507c1.159-0.069,2.248-0.361,3.268-0.876 + c0.973-0.491,1.559-1.025,1.757-1.604c0.197-0.577-0.039-1.067-0.707-1.467c-0.274-0.163-0.694-0.327-1.256-0.491l2.019-0.843 + c0.08,0.066,0.151,0.116,0.209,0.151c0.616,0.369,1.407,0.581,2.369,0.637c0.963,0.057,1.937-0.162,2.917-0.657 + c0.777-0.393,1.241-0.825,1.392-1.297c0.15-0.472-0.059-0.877-0.625-1.217c-0.562-0.336-1.291-0.485-2.184-0.448 + c-0.892,0.038-1.91,0.286-3.052,0.745l-1.07-1.054c1.597-0.611,3.099-0.927,4.506-0.947c1.407-0.019,2.577,0.249,3.509,0.805 + c0.643,0.385,1.032,0.841,1.169,1.367c0.138,0.528,0,1.054-0.412,1.577c-0.411,0.525-1.009,0.985-1.793,1.38 + c-0.745,0.377-1.562,0.638-2.446,0.783c-0.886,0.147-1.777,0.151-2.672,0.013c0.459,0.534,0.513,1.104,0.157,1.71 + c-0.355,0.604-1.091,1.188-2.205,1.751c-1.506,0.761-3.158,1.181-4.955,1.262c-1.797,0.081-3.269-0.221-4.416-0.907 + c-1.033-0.617-1.441-1.358-1.221-2.221C77.497,50.5,78.275,49.677,79.615,48.894"/> +</g> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3_POE.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3_POE.svg new file mode 100644 index 0000000000000000000000000000000000000000..19e2efed8db94fee4e6126776c4870ef01d62f74 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_48_port_L3_POE.svg @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.986" style="enable-background:new 0 0 130.229 87.986;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#231F20;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} +</style> +<title>icon-switch-48port-poeL3</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="1.5,27.426 50.34,1.5 128.721,48.597 79.881,74.521 "/> +<polygon id="Stroke-3" class="st0" points="79.881,74.521 79.889,86.486 1.508,39.39 1.5,27.427 "/> +<polygon id="Stroke-5" class="st0" points="79.881,74.521 128.721,48.597 128.729,60.562 79.889,86.486 "/> +<polygon id="Fill-8" class="st1" points="79.881,74.523 128.721,48.597 128.729,60.564 79.889,86.488 "/> +<polygon id="Fill-9" class="st2" points="1.5,27.426 50.34,1.502 128.721,48.597 79.881,74.523 "/> +<polygon id="Fill-10" class="st3" points="79.881,74.523 79.889,86.488 1.508,39.392 1.5,27.426 "/> +<polyline id="Stroke-11" class="st4" points="1.893,27.33 79.881,74.189 79.881,86.181 "/> +<polygon id="Fill-12" class="st5" points="52.918,63.634 37.596,54.427 37.596,51.253 52.918,60.46 "/> +<polygon id="Fill-13" class="st5" points="52.861,68.427 37.543,59.224 37.543,56.049 52.861,65.254 "/> +<polygon id="Fill-14" class="st5" points="70.156,73.992 54.834,64.785 54.834,61.611 70.156,70.818 "/> +<polygon id="Fill-15" class="st5" points="70.1,78.785 54.782,69.582 54.782,66.406 70.1,75.611 "/> +<polygon id="Fill-16" class="st5" points="18.444,42.91 3.122,33.703 3.122,30.53 18.444,39.734 "/> +<polygon id="Fill-17" class="st5" points="18.387,47.701 3.069,38.498 3.069,35.322 18.387,44.527 "/> +<polygon id="Fill-18" class="st5" points="35.682,53.265 20.36,44.06 20.36,40.886 35.682,50.091 "/> +<polygon id="Fill-19" class="st5" points="35.625,58.058 20.305,48.853 20.305,45.679 35.625,54.884 "/> +<polygon id="Fill-20" class="st5" points="74.387,76.752 72.375,75.543 72.375,72.912 74.387,74.123 "/> +<polygon id="Fill-21" class="st5" points="74.379,80.746 72.365,79.537 72.365,76.908 74.379,78.117 "/> +<polygon id="Fill-22" class="st5" points="77.445,82.621 75.431,81.41 75.431,78.783 77.445,79.992 "/> +<polygon id="Fill-23" class="st5" points="20.192,26.952 38.055,27.099 32.645,18.996 44.783,20.042 41.028,14.426 62.539,16.278 + 47.269,18.467 51.981,25.524 41.809,24.646 47.188,32.698 21.239,27.139 "/> +<polygon id="Fill-24" class="st5" points="38.953,40.894 50.557,35.034 51.603,35.661 41.37,40.829 45.272,43.161 43.903,43.852 "/> +<path id="Fill-25" class="st5" d="M51.331,43.038l2.686,1.605l2.387-2.116c0.724-0.644,1.337-1.161,1.844-1.552 + c-0.846,0.315-1.727,0.604-2.644,0.864L51.331,43.038z M44.281,44.079l14.645-4.042l1.129,0.674l-8.36,7.798l-1.194-0.714 + l2.59-2.327l-3.314-1.979l-4.383,1.255L44.281,44.079z"/> +<path id="Fill-27" class="st5" d="M53.943,49.851l4.915-2.482l3.635-5.202l1.275,0.762l-1.936,2.699 + c-0.367,0.503-0.752,0.994-1.159,1.473c0.845-0.165,1.817-0.337,2.916-0.519l4.945-0.806l1.221,0.73l-9.849,1.489l-4.915,2.482 + L53.943,49.851z"/> +<polygon id="Fill-29" class="st5" points="59.113,52.941 70.717,47.081 76.445,50.504 75.076,51.195 70.396,48.399 66.842,50.194 + 71.224,52.813 69.863,53.501 65.48,50.882 61.531,52.877 66.394,55.782 65.025,56.474 "/> +<path id="Fill-31" class="st5" d="M74.02,54.701l2.254,1.347c0.479,0.286,0.927,0.473,1.342,0.561 + c0.414,0.088,0.852,0.094,1.312,0.016c0.459-0.076,0.876-0.21,1.25-0.399c0.549-0.277,0.865-0.587,0.947-0.927 + c0.081-0.342-0.17-0.687-0.758-1.039l-2.508-1.498L74.02,54.701z M66.49,57.348l11.602-5.859l3.514,2.098 + c0.705,0.422,1.138,0.795,1.297,1.121c0.159,0.324,0.085,0.685-0.223,1.083c-0.308,0.398-0.781,0.759-1.42,1.081 + c-0.822,0.415-1.698,0.658-2.627,0.725c-0.928,0.067-1.85-0.087-2.762-0.464c0.082,0.264,0.1,0.487,0.054,0.67 + c-0.106,0.39-0.33,0.824-0.675,1.299l-1.779,2.418l-1.318-0.788l1.365-1.845c0.391-0.535,0.672-0.955,0.843-1.26 + c0.171-0.304,0.252-0.542,0.243-0.71c-0.01-0.168-0.065-0.315-0.17-0.441c-0.081-0.09-0.258-0.215-0.527-0.377l-1.217-0.727 + l-5.152,2.602L66.49,57.348z"/> +<path id="Fill-33" class="st5" d="M80.214,62.172l1.164,0.486c-0.696,0.473-1.088,0.881-1.176,1.222 + c-0.088,0.34,0.062,0.625,0.447,0.855c0.457,0.273,1.075,0.387,1.855,0.341c0.779-0.046,1.512-0.242,2.198-0.589 + c0.654-0.33,1.048-0.69,1.181-1.079s-0.025-0.717-0.477-0.987c-0.183-0.11-0.464-0.22-0.843-0.33l1.359-0.567 + c0.054,0.044,0.101,0.078,0.141,0.102c0.414,0.248,0.944,0.39,1.592,0.429c0.648,0.037,1.302-0.11,1.962-0.443 + c0.523-0.264,0.834-0.555,0.936-0.872c0.101-0.318-0.038-0.59-0.42-0.818c-0.378-0.226-0.867-0.327-1.468-0.301 + c-0.6,0.025-1.285,0.192-2.054,0.501l-0.72-0.71c1.074-0.411,2.086-0.623,3.032-0.636c0.945-0.014,1.732,0.167,2.359,0.541 + c0.433,0.259,0.696,0.565,0.787,0.92c0.093,0.354,0,0.708-0.277,1.06c-0.277,0.352-0.679,0.662-1.207,0.928 + c-0.501,0.253-1.05,0.429-1.644,0.527c-0.595,0.099-1.195,0.101-1.798,0.008c0.31,0.36,0.345,0.744,0.106,1.15 + c-0.239,0.407-0.733,0.8-1.482,1.179c-1.013,0.511-2.125,0.793-3.333,0.848c-1.209,0.054-2.199-0.149-2.97-0.61 + c-0.695-0.415-0.97-0.913-0.822-1.494C78.789,63.252,79.315,62.699,80.214,62.172"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/switch/Switch_52_port_L3.svg b/src/main/webapp/img/lib/allied_telesys/switch/Switch_52_port_L3.svg new file mode 100644 index 0000000000000000000000000000000000000000..2d40fa1a29d3ab7945259867e111b120c04ae363 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/switch/Switch_52_port_L3.svg @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 130.229 87.986" style="enable-background:new 0 0 130.229 87.986;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:#FEFEFE;} + .st5{fill:none;stroke:#DFE0DF;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#010202;} +</style> +<title>icon-switch-52port-L3</title> +<desc>Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="1.5,27.426 50.34,1.5 128.721,48.598 79.881,74.522 "/> +<polygon id="Stroke-3" class="st0" points="79.881,74.521 79.889,86.486 1.508,39.39 1.5,27.425 "/> +<polygon id="Stroke-5" class="st0" points="79.881,74.521 128.721,48.597 128.729,60.562 79.889,86.486 "/> +<polygon id="Fill-8" class="st1" points="79.881,74.524 128.721,48.599 128.729,60.565 79.889,86.489 "/> +<polygon id="Fill-9" class="st2" points="1.5,27.427 50.34,1.502 128.721,48.599 79.881,74.524 "/> +<polygon id="Fill-10" class="st3" points="79.881,74.524 79.889,86.489 1.508,39.393 1.5,27.427 "/> +<polygon id="Fill-11" class="st4" points="31.507,50.685 18.038,42.592 18.038,39.418 31.507,47.511 "/> +<polygon id="Fill-12" class="st4" points="31.458,55.482 17.991,47.39 17.991,44.216 31.458,52.308 "/> +<polygon id="Fill-13" class="st4" points="69.677,73.208 59.335,66.994 59.335,65.957 69.677,72.172 "/> +<polygon id="Fill-14" class="st4" points="16.682,41.716 3.215,33.624 3.215,30.448 16.682,38.54 "/> +<polygon id="Fill-15" class="st4" points="16.635,46.515 3.168,38.423 3.168,35.249 16.635,43.341 "/> +<polygon id="Fill-16" class="st4" points="55.649,65.146 48.159,60.646 48.159,57.481 55.649,61.981 "/> +<polygon id="Fill-17" class="st4" points="55.649,70.021 48.159,65.521 48.159,62.356 55.649,66.856 "/> +<polygon id="Fill-18" class="st4" points="46.682,59.716 33.215,51.624 33.215,48.448 46.682,56.54 "/> +<polygon id="Fill-19" class="st4" points="46.635,64.515 33.168,56.423 33.168,53.249 46.635,61.341 "/> +<polyline id="Stroke-20" class="st5" points="1.893,27.33 79.881,74.189 79.881,86.184 "/> +<polygon id="Fill-21" class="st4" points="77.867,78.823 72.619,75.672 72.619,72.252 77.867,75.398 "/> +<polygon id="Fill-22" class="st4" points="61.342,73.217 57.525,70.925 57.525,68.505 61.342,70.793 "/> +<polygon id="Fill-23" class="st4" points="67.122,76.676 63.305,74.384 63.305,71.964 67.122,74.252 "/> +<polygon id="Fill-24" class="st6" points="31.226,24.313 48.478,15.601 50.037,16.532 34.82,24.216 40.622,27.683 38.585,28.71 "/> +<path id="Fill-25" class="st6" d="M51.976,29.796c-0.839-0.155-1.894-0.491-3.162-1.007c-0.721-0.293-1.282-0.472-1.686-0.54 + c-0.404-0.068-0.822-0.065-1.258,0.007c-0.437,0.072-0.839,0.201-1.207,0.388c-0.566,0.285-0.89,0.61-0.974,0.974 + c-0.085,0.365,0.152,0.715,0.715,1.051c0.557,0.333,1.232,0.539,2.022,0.618c0.791,0.079,1.598,0.023,2.422-0.169 + c0.634-0.148,1.418-0.458,2.352-0.929L51.976,29.796z M47.366,32.257c-1.202,0.017-2.189-0.054-2.959-0.211 + c-0.77-0.157-1.44-0.406-2.007-0.745c-0.938-0.561-1.321-1.16-1.154-1.799c0.166-0.641,0.771-1.224,1.814-1.751 + c0.612-0.309,1.268-0.534,1.963-0.676c0.696-0.141,1.351-0.198,1.966-0.169c0.613,0.031,1.191,0.12,1.734,0.272 + c0.394,0.114,0.929,0.316,1.603,0.607c1.372,0.595,2.475,0.987,3.31,1.173c0.295-0.143,0.481-0.235,0.56-0.274 + c0.863-0.437,1.335-0.825,1.415-1.166c0.109-0.463-0.2-0.911-0.929-1.347c-0.681-0.407-1.358-0.618-2.03-0.636 + c-0.674-0.017-1.531,0.151-2.573,0.506l-1.132-0.987c1.015-0.37,1.943-0.606,2.782-0.705c0.841-0.1,1.685-0.057,2.536,0.127 + c0.853,0.184,1.645,0.496,2.379,0.934c0.728,0.436,1.194,0.852,1.398,1.251c0.205,0.4,0.224,0.759,0.058,1.079 + c-0.166,0.32-0.497,0.653-0.991,0.996c-0.314,0.211-0.941,0.555-1.882,1.031l-2.824,1.425c-1.97,0.996-3.185,1.643-3.645,1.943 + c-0.46,0.3-0.839,0.625-1.136,0.975l-1.509-0.902C46.403,32.898,46.82,32.58,47.366,32.257z"/> +<path id="Fill-27" class="st6" d="M44.53,37.568l1.827-1.101c0.192,0.253,0.404,0.45,0.641,0.59c0.32,0.193,0.657,0.307,1.006,0.343 + c0.35,0.035,0.727,0.019,1.132-0.05c0.304-0.053,0.977-0.23,2.019-0.533c0.146-0.043,0.36-0.104,0.647-0.185l9.284-8.257 + l1.558,0.931l-5.462,4.716c-0.687,0.601-1.446,1.212-2.276,1.832c1.14-0.391,2.286-0.753,3.443-1.083l9.108-2.59l1.446,0.866 + l-15.956,4.478c-1.721,0.485-2.937,0.801-3.647,0.947c-0.956,0.2-1.762,0.282-2.419,0.247c-0.659-0.034-1.217-0.188-1.678-0.463 + C44.925,38.089,44.7,37.86,44.53,37.568"/> +<path id="Fill-29" class="st6" d="M66.175,36.983l4.766,2.847c0.986-0.57,1.593-1.076,1.819-1.522 + c0.354-0.686,0.166-1.249-0.568-1.687c-0.664-0.398-1.548-0.567-2.653-0.509C68.436,36.171,67.315,36.462,66.175,36.983 + M67.499,41.549l1.225,1.031c-1.515,0.505-2.944,0.745-4.287,0.72c-1.344-0.024-2.512-0.333-3.502-0.924 + c-1.248-0.746-1.674-1.622-1.28-2.626c0.394-1.006,1.608-2.022,3.64-3.048c2.103-1.062,4.105-1.665,6.004-1.81 + c1.9-0.144,3.44,0.135,4.618,0.84c1.141,0.681,1.504,1.525,1.09,2.531c-0.415,1.007-1.653,2.032-3.717,3.074 + c-0.125,0.063-0.317,0.156-0.573,0.28l-6.363-3.803c-1.32,0.726-2.105,1.416-2.359,2.068c-0.253,0.654-0.022,1.193,0.69,1.619 + c0.53,0.317,1.185,0.484,1.969,0.503C65.438,42.021,66.386,41.87,67.499,41.549"/> +<path id="Fill-31" class="st6" d="M66.769,45.551l12.498-6.312l1.301,0.778l-1.895,0.957c1.219-0.249,2.11-0.361,2.674-0.335 + c0.564,0.025,1.014,0.139,1.352,0.34c0.488,0.291,0.756,0.702,0.804,1.232l-2.464,0.695c-0.047-0.365-0.248-0.654-0.602-0.866 + c-0.315-0.188-0.738-0.287-1.27-0.298c-0.529-0.009-1.095,0.08-1.697,0.264c-0.913,0.285-1.816,0.653-2.711,1.105l-6.543,3.304 + L66.769,45.551z"/> +<path id="Fill-33" class="st6" d="M80.996,49.03l1.728,0.722c-1.035,0.705-1.617,1.31-1.748,1.816 + c-0.129,0.506,0.092,0.931,0.666,1.273c0.679,0.406,1.599,0.576,2.758,0.507c1.159-0.069,2.248-0.361,3.268-0.876 + c0.973-0.491,1.559-1.025,1.757-1.604c0.197-0.577-0.039-1.067-0.707-1.467c-0.274-0.163-0.694-0.327-1.256-0.491l2.019-0.843 + c0.08,0.066,0.151,0.116,0.209,0.151c0.616,0.369,1.407,0.581,2.369,0.637c0.963,0.057,1.937-0.162,2.917-0.657 + c0.777-0.393,1.241-0.825,1.392-1.297c0.15-0.472-0.059-0.877-0.625-1.217c-0.562-0.336-1.291-0.485-2.184-0.448 + c-0.892,0.038-1.91,0.286-3.052,0.745l-1.07-1.054c1.597-0.611,3.099-0.927,4.506-0.947c1.407-0.019,2.577,0.249,3.509,0.805 + c0.643,0.385,1.032,0.841,1.169,1.367c0.138,0.528,0,1.054-0.412,1.577c-0.411,0.525-1.009,0.985-1.793,1.38 + c-0.745,0.377-1.562,0.638-2.446,0.783c-0.886,0.147-1.777,0.151-2.672,0.013c0.459,0.534,0.513,1.104,0.157,1.71 + c-0.355,0.604-1.091,1.188-2.205,1.751c-1.506,0.761-3.158,1.181-4.955,1.262c-1.797,0.081-3.269-0.221-4.416-0.907 + c-1.033-0.617-1.441-1.358-1.221-2.221C78.878,50.636,79.656,49.813,80.996,49.03"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Indoor.svg b/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Indoor.svg new file mode 100644 index 0000000000000000000000000000000000000000..33301f37caaa53e1aed08c60fe93c68c8fcb5c89 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Indoor.svg @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 61.115 91.401" style="enable-background:new 0 0 61.115 91.401;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#646567;} + .st1{fill:none;stroke:#646567;stroke-width:0.262;} + .st2{fill:none;stroke:#616365;stroke-width:3.139;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#8D8F92;} + .st4{fill:#58585B;} + .st5{fill:#6E7072;} + .st6{fill:#6C6E70;} + .st7{fill:#B1B3B5;} + .st8{fill:#E7E8E9;} + .st9{fill:#FEFEFE;} +</style> +<title>icon-wireless-4600</title> +<desc>Created with Sketch.</desc> +<path id="Fill-1" class="st0" d="M6.958,67.815c-3.139-1.438-6.779-6.371-6.753-10.272c0.026-3.925-0.157-45.975-0.026-47.936 + c0.131-1.962,0.5-3.117,2.069-4.293c1.569-1.177,7.806-4.266,8.85-4.688c1.099-0.445,2.464-1.176,5.995,0.917 + c3.531,2.092,37.046,22.419,38.521,23.262c4.559,2.605,5.176,6.289,5.311,8.966c0.133,2.677,0.032,45.679-0.219,48.69 + c-0.116,1.388-0.517,2.638-2.235,3.752c-1.956,1.269-5.279,2.771-7.413,3.907c-3.958,2.104-5.326,0.733-5.914,0.45 + C42.141,89.119,6.958,67.815,6.958,67.815"/> +<path id="Stroke-3" class="st1" d="M6.958,67.815c-3.139-1.438-6.779-6.371-6.753-10.272c0.026-3.925-0.157-45.975-0.026-47.936 + c0.131-1.962,0.5-3.117,2.069-4.293c1.569-1.177,7.806-4.266,8.85-4.688c1.099-0.445,2.464-1.176,5.995,0.917 + c3.531,2.092,37.046,22.419,38.521,23.262c4.559,2.605,5.176,6.289,5.311,8.966c0.133,2.677,0.032,45.679-0.219,48.69 + c-0.116,1.388-0.517,2.638-2.235,3.752c-1.956,1.269-5.279,2.771-7.413,3.907c-3.958,2.104-5.326,0.733-5.914,0.45 + C42.141,89.119,6.958,67.815,6.958,67.815z"/> +<path id="Stroke-16" class="st2" d="M2.771,6.835c12.71-6.746,9.414-4.938,9.414-4.938c0.833-0.393,2.017-0.134,3.487,0.593 + L6.557,7.463C5.766,7.145,3.85,6.262,2.771,6.835z"/> +<path id="Stroke-25" class="st2" d="M57.773,84.727c-12.711,6.747,3.453-2.073-9.256,4.674c0.883-0.471,1.435-1.56,1.433-3.139 + l9.258-4.673C59.208,83.168,58.656,84.257,57.773,84.727z"/> +<polygon id="Stroke-27" class="st2" points="6.296,7.463 15.733,2.581 54.648,26.428 45.362,30.937 "/> +<polygon id="Stroke-29" class="st2" points="49.917,39.157 59.27,33.73 59.257,81.161 49.95,86.262 "/> +<path id="Stroke-63" class="st2" d="M45.362,30.937l9.933-4.416c2.513,1.51,3.97,4.179,3.974,7.209l-9.352,5.427 + C49.915,36.126,47.878,32.447,45.362,30.937z"/> +<path id="Stroke-65" class="st2" d="M45.362,30.937c2.516,1.51,4.553,5.189,4.555,8.22l0.033,47.105 + c0.004,3.03-2.031,4.262-4.547,2.752L6.337,65.541c-2.52-1.515-4.559-5.194-4.561-8.225L1.743,10.211 + C1.741,7.18,3.776,5.949,6.296,7.463L45.362,30.937z"/> +<path id="Fill-67" class="st3" d="M2.964,6.672c1.6-0.869,1.137-0.897,9.023-4.71c0.83-0.4,2.215-0.199,3.424,0.527L6.346,7.036 + C5.138,6.309,3.778,6.241,2.964,6.672"/> +<path id="Fill-80" class="st4" d="M58.007,84.124c-12.712,6.747-9.44,4.849-9.44,4.849c0.837-0.543,1.434-1.559,1.432-3.139 + l9.258-5.067C59.257,82.345,58.89,83.654,58.007,84.124"/> +<polygon id="Fill-89" class="st5" points="6.345,7.036 15.27,2.395 54.185,25.873 45.411,30.51 "/> +<polygon id="Fill-91" class="st6" points="50.072,38.576 59.269,33.729 59.273,81.674 50.143,85.871 "/> +<path id="Fill-93" class="st3" d="M45.412,30.509l8.773-4.636c2.514,1.51,5.081,4.826,5.084,7.856l-9.303,5 + C49.964,35.698,47.927,32.019,45.412,30.509"/> +<path id="Fill-127" class="st7" d="M45.412,30.509c2.515,1.51,4.552,5.189,4.554,8.22l0.033,47.105 + c0.004,3.03-2.031,4.262-4.547,2.753L6.386,65.113c-2.52-1.514-4.559-5.194-4.561-8.225L1.793,9.783 + C1.791,6.752,3.826,5.521,6.346,7.035L45.412,30.509z"/> +<path id="Fill-160" class="st8" d="M49.941,85.939l-0.034-47.104c-0.009-2.795-1.884-6.183-4.199-7.582L6.641,7.78 + C4.32,6.394,2.452,7.532,2.448,10.317l0.033,47.105c0.008,2.794,1.88,6.18,4.201,7.573l39.067,23.473 + C48.061,89.858,49.935,88.724,49.941,85.939z M45.708,30.391c2.713,1.631,4.912,5.601,4.916,8.873l0.033,47.107 + c0.002,3.262-2.195,4.59-4.908,2.968L6.682,65.866c-2.714-1.639-4.914-5.61-4.916-8.873L1.733,9.887 + c-0.002-3.271,2.194-4.6,4.908-2.969L45.708,30.391z"/> +<path id="Fill-162" class="st9" d="M45.718,31.31c2.315,1.399,4.191,4.787,4.199,7.581l0.035,47.105 + c-0.005,2.785-1.88,3.919-4.193,2.529L6.693,65.052c-2.322-1.394-4.193-4.78-4.202-7.573L2.459,10.374 + C2.463,7.588,4.33,6.45,6.652,7.836L45.718,31.31z"/> +<path id="Fill-164" class="st4" d="M14.253,57.237c0,0.865-0.576,1.232-1.286,0.819c-0.711-0.415-1.287-1.452-1.287-2.318 + c0-0.865,0.576-1.232,1.287-0.817C13.677,55.334,14.253,56.37,14.253,57.237"/> +<path id="Fill-166" class="st4" d="M18.685,59.817c0,0.866-0.576,1.231-1.287,0.818c-0.711-0.413-1.286-1.45-1.286-2.317 + c0-0.865,0.575-1.232,1.286-0.818C18.109,57.913,18.685,58.951,18.685,59.817"/> +<path id="Fill-168" class="st4" d="M23.116,62.397c0,0.864-0.575,1.232-1.286,0.819c-0.711-0.415-1.287-1.452-1.287-2.318 + c0-0.865,0.576-1.232,1.287-0.817C22.541,60.494,23.116,61.53,23.116,62.397"/> +<path id="Fill-170" class="st4" d="M27.549,64.977c0,0.866-0.576,1.231-1.287,0.818c-0.711-0.414-1.286-1.451-1.286-2.317 + c0-0.865,0.575-1.232,1.286-0.819C26.973,63.073,27.549,64.111,27.549,64.977"/> +<path id="Fill-172" class="st4" d="M31.98,67.556c0,0.864-0.577,1.232-1.287,0.819c-0.71-0.414-1.287-1.451-1.287-2.318 + c0-0.865,0.577-1.232,1.287-0.817C31.403,65.653,31.98,66.689,31.98,67.556"/> +<polygon id="Fill-174" class="st6" points="11.868,25.499 12.912,30.377 11.406,29.508 11.2,28.388 10.202,28.814 7.566,27.291 "/> +<polygon id="Fill-176" class="st6" points="12.139,25.649 12.556,27.637 12.926,27.852 12.664,28.125 13.177,30.537 14.721,28.886 + 15.029,29.066 16.097,27.934 "/> +<path id="Fill-178" class="st6" d="M13.781,30.88l1.726-1.86c-0.086,0.558,0.108,1.237,0.48,1.875 + c0.378,0.648,0.888,1.134,1.317,1.091l-0.549,0.608L13.781,30.88z"/> +<path id="Fill-180" class="st6" d="M16.208,28.333l1.332,0.768c-0.186-0.298-0.418-0.545-0.667-0.688 + C16.622,28.269,16.395,28.25,16.208,28.333"/> +<path id="Fill-182" class="st6" d="M16.883,31.504c0.261,0.15,0.501,0.165,0.689,0.069l-1.38-0.798 + C16.383,31.092,16.623,31.354,16.883,31.504"/> +<path id="Fill-184" class="st6" d="M15.945,30.268l1.872,1.081c0.048-0.074,0.088-0.163,0.117-0.262l-2.11-1.218 + C15.854,30.003,15.896,30.138,15.945,30.268"/> +<path id="Fill-186" class="st6" d="M15.757,29.311c0,0.052,0.002,0.104,0.006,0.158l2.232,1.287C17.998,30.707,18,30.657,18,30.605 + c-0.002-0.06-0.004-0.121-0.009-0.183l-2.227-1.284C15.759,29.194,15.757,29.252,15.757,29.311"/> +<path id="Fill-188" class="st6" d="M15.827,28.808l2.099,1.211c-0.034-0.136-0.077-0.272-0.128-0.403l-1.846-1.068 + C15.901,28.621,15.858,28.71,15.827,28.808"/> +<path id="Fill-190" class="st4" d="M20.029,32.798l-0.328-0.191l-0.129-0.074l0.534-1.497l0.009,0.005l0.566,2.133L20.029,32.798z + M21.596,35.27c-0.039-0.082-0.064-0.152-0.108-0.297L20.1,30.067l-0.009-0.006l-1.295,3.467c-0.018,0.044-0.043,0.07-0.077,0.079 + l0.485,0.281c-0.013-0.031-0.035-0.073-0.034-0.114c-0.001-0.018,0.015-0.062,0.038-0.122l0.274-0.766l0.242,0.141l0.307,0.177 + l0.785,0.454l0.281,1.085c0.022,0.084,0.04,0.147,0.039,0.166c0.001,0.042-0.02,0.058-0.033,0.075L21.596,35.27z"/> +<path id="Fill-192" class="st4" d="M21.64,35.294c0.067-0.006,0.078-0.145,0.077-0.378l-0.012-3.558 + c-0.001-0.113-0.006-0.218-0.072-0.31l0.372,0.216l0.014,4.006c0.002,0.125,0.033,0.227,0.08,0.289L21.64,35.294z"/> +<path id="Fill-194" class="st4" d="M22.384,35.724c0.069-0.007,0.079-0.146,0.077-0.378l-0.013-3.559c0-0.113-0.004-0.219-0.07-0.31 + l0.373,0.216l0.014,4.007c0,0.125,0.032,0.226,0.078,0.289L22.384,35.724z"/> +<path id="Fill-196" class="st4" d="M23.13,36.154c0.069-0.006,0.078-0.145,0.077-0.379l-0.008-2.232c0-0.114-0.005-0.219-0.07-0.309 + l0.373,0.214l0.009,2.682c0.001,0.126,0.031,0.227,0.079,0.29L23.13,36.154z"/> +<path id="Fill-198" class="st4" d="M23.544,32.745c0,0.15-0.091,0.217-0.194,0.156c-0.105-0.06-0.196-0.232-0.198-0.38 + c-0.001-0.149,0.091-0.217,0.195-0.158C23.45,32.424,23.544,32.596,23.544,32.745"/> +<path id="Fill-200" class="st4" d="M37.835,44.641c0.067-0.008,0.076-0.146,0.075-0.379l-0.008-2.233 + c-0.001-0.114-0.005-0.218-0.07-0.309l0.373,0.214l0.009,2.683c0.001,0.124,0.031,0.224,0.079,0.287L37.835,44.641z"/> +<path id="Fill-202" class="st4" d="M38.247,41.231c0,0.15-0.091,0.215-0.194,0.157c-0.105-0.06-0.197-0.232-0.197-0.38 + c-0.002-0.152,0.089-0.218,0.194-0.158C38.153,40.909,38.245,41.082,38.247,41.231"/> +<path id="Fill-204" class="st4" d="M28.196,38.323l-0.304-0.511l-0.005-1.044c-0.225-0.441-0.378-0.695-0.798-0.94 + c-0.486-0.28-0.818,0.059-0.816,0.698c0.002,0.621,0.4,1.363,0.858,1.627c0.389,0.226,0.601,0.014,0.761-0.013l-0.001-0.504 + l0.304,0.482c0.001,0.143,0.001,0.352,0.049,0.434c-0.091-0.028-0.173-0.004-0.251,0.023c-0.308,0.06-0.483,0.203-0.864-0.018 + c-0.66-0.38-1.164-1.363-1.168-2.253c-0.003-0.901,0.553-1.212,1.186-0.847c0.304,0.174,0.556,0.411,0.723,0.852l0.015-0.002 + l-0.004-1.457c0-0.066-0.018-0.148-0.079-0.242l0.381,0.219L28.196,38.323z"/> +<path id="Fill-206" class="st4" d="M30.575,40.244c0,0.083,0.021,0.167,0.054,0.238l-0.434-0.251 + c0.028-0.035,0.052-0.095,0.052-0.178l-0.013-3.638l-0.49-0.282c-0.093-0.053-0.149-0.06-0.199,0.005l-0.003-0.527l1.709,0.987 + l0.001,0.525c-0.053-0.126-0.11-0.182-0.199-0.234l-0.49-0.282L30.575,40.244z"/> +<path id="Fill-208" class="st4" d="M33.28,42.025c0.069-0.006,0.077-0.146,0.077-0.378l-0.013-3.559 + c0-0.113-0.006-0.216-0.071-0.307l0.373,0.214l0.014,4.006c0,0.125,0.032,0.226,0.08,0.289L33.28,42.025z"/> +<path id="Fill-210" class="st4" d="M37.324,41.944c-0.104-0.179-0.243-0.348-0.387-0.431c-0.186-0.108-0.342-0.108-0.341,0.179 + c0.003,0.669,0.935,0.872,0.939,1.971c0.001,0.519-0.298,0.728-0.67,0.514c-0.161-0.093-0.278-0.191-0.364-0.271 + c-0.088-0.073-0.149-0.144-0.197-0.171c-0.025-0.016-0.064-0.003-0.082,0.022l-0.003-0.001l-0.002-0.717 + c0.141,0.298,0.342,0.556,0.555,0.678c0.226,0.131,0.451,0.171,0.449-0.187c-0.001-0.836-0.933-0.972-0.937-2.019 + c-0.001-0.484,0.263-0.629,0.609-0.428c0.121,0.068,0.259,0.209,0.334,0.251c0.031,0.018,0.075,0.031,0.096,0.006L37.324,41.944z"/> +<path id="Fill-212" class="st4" d="M39.716,43.325c-0.104-0.18-0.243-0.349-0.387-0.431c-0.185-0.107-0.342-0.108-0.34,0.178 + c0.002,0.669,0.933,0.872,0.936,1.971c0.002,0.519-0.296,0.728-0.669,0.514c-0.159-0.093-0.277-0.189-0.364-0.27 + c-0.087-0.074-0.148-0.146-0.194-0.172c-0.028-0.017-0.065-0.001-0.084,0.023l-0.002-0.002l-0.003-0.716 + c0.143,0.298,0.343,0.555,0.555,0.678c0.226,0.13,0.451,0.17,0.45-0.188c-0.003-0.835-0.933-0.974-0.937-2.019 + c-0.002-0.483,0.262-0.628,0.608-0.429c0.121,0.071,0.26,0.21,0.334,0.252c0.031,0.018,0.074,0.031,0.096,0.007L39.716,43.325z"/> +<path id="Fill-214" class="st4" d="M24.406,34.554c-0.34,0.198-0.421,0.674-0.259,1.299l1.333-0.774 + C25.139,34.549,24.737,34.361,24.406,34.554 M25.948,35.336l-1.613,0.939c0.34,0.614,0.808,0.865,1.173,0.654 + c0.099-0.058,0.193-0.123,0.263-0.221l0.001,0.595c-0.025,0.016-0.049,0.032-0.074,0.046c-0.499,0.291-1.23-0.112-1.661-1.065 + c-0.434-0.96-0.338-1.853,0.177-2.148c0.538-0.314,1.271,0.291,1.614,1.044C25.865,35.261,25.909,35.296,25.948,35.336"/> +<path id="Fill-216" class="st4" d="M31.529,38.663c-0.342,0.199-0.423,0.674-0.261,1.299l1.334-0.775 + C32.262,38.66,31.858,38.472,31.529,38.663 M33.071,39.447l-1.615,0.938c0.341,0.614,0.81,0.864,1.174,0.653 + c0.099-0.059,0.191-0.124,0.261-0.22l0.003,0.595c-0.024,0.018-0.048,0.032-0.073,0.045c-0.5,0.29-1.23-0.113-1.661-1.064 + c-0.436-0.96-0.339-1.852,0.174-2.149c0.54-0.313,1.273,0.292,1.616,1.046C32.986,39.371,33.032,39.407,33.071,39.447"/> +<path id="Fill-218" class="st4" d="M34.603,40.438c-0.341,0.199-0.421,0.674-0.26,1.301l1.332-0.777 + C35.335,40.435,34.933,40.247,34.603,40.438 M36.144,41.222L34.53,42.16c0.342,0.613,0.81,0.864,1.175,0.653 + c0.099-0.059,0.192-0.123,0.261-0.22l0.003,0.595c-0.025,0.015-0.051,0.03-0.074,0.045c-0.499,0.29-1.23-0.112-1.661-1.065 + c-0.435-0.959-0.338-1.851,0.175-2.148c0.538-0.313,1.272,0.292,1.616,1.046C36.06,41.146,36.105,41.182,36.144,41.222"/> +<polygon id="Fill-220" class="st6" points="39.784,41.617 39.69,41.563 39.69,41.516 39.918,41.647 39.919,41.695 39.824,41.64 + 39.826,42.018 39.785,41.995 "/> +<path id="Fill-222" class="st6" d="M40.213,42.056c-0.002-0.061-0.005-0.133-0.004-0.187h-0.001 + c-0.012,0.043-0.024,0.09-0.039,0.139l-0.055,0.174l-0.03-0.016l-0.05-0.231c-0.014-0.069-0.027-0.131-0.036-0.186h-0.001 + c-0.001,0.051-0.003,0.12-0.005,0.183l-0.008,0.177l-0.038-0.02l0.02-0.413l0.052,0.03l0.052,0.234 + c0.014,0.061,0.023,0.114,0.032,0.161l0.001,0.002c0.007-0.039,0.019-0.08,0.032-0.125l0.054-0.172l0.051,0.028l0.021,0.435 + l-0.038-0.021L40.213,42.056z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Outdoor.svg b/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Outdoor.svg new file mode 100644 index 0000000000000000000000000000000000000000..d076a088ac4b8a3de28dea507c87d093da0aa136 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/wireless/Access_Point_Outdoor.svg @@ -0,0 +1,174 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 43.123 166.111" style="enable-background:new 0 0 43.123 166.111;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:2.209;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:url(#Fill-3_1_);} + .st2{fill:none;stroke:#DFE0DF;stroke-width:0.552;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:url(#Fill-11_1_);} + .st4{fill:none;stroke:#636466;stroke-width:0.552;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#646567;} + .st6{fill:none;stroke:#646567;stroke-width:0.185;} + .st7{fill:none;stroke:#616365;stroke-width:2.215;stroke-linecap:round;stroke-linejoin:round;} + .st8{fill:#8D8F92;} + .st9{fill:#58585B;} + .st10{fill:#96989B;} + .st11{fill:#6C6E70;} + .st12{fill:#6E7072;} + .st13{fill:#B1B3B5;} + .st14{fill:#E7E8E9;} + .st15{fill:#FEFEFE;} + .st16{fill:#D7D8D9;} + .st17{fill:none;stroke:#626366;stroke-width:0.552;stroke-linecap:round;stroke-linejoin:round;} +</style> +<title>icon-wireless-TQ4400e</title> +<desc>Created with Sketch.</desc> +<path id="Stroke-1" class="st0" d="M10.853,151.9c0,0.888-0.721,1.605-1.604,1.605c-0.886,0-1.606-0.717-1.606-1.605V96.154 + c0-0.887,0.72-1.603,1.606-1.603c0.883,0,1.604,0.716,1.604,1.603V151.9z"/> +<linearGradient id="Fill-3_1_" gradientUnits="userSpaceOnUse" x1="-389.0108" y1="11.5671" x2="-389.0108" y2="10.5671" gradientTransform="matrix(3.207 0 0 58.955 1256.9122 -528.4302)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#939598"/> +</linearGradient> +<path id="Fill-3" class="st1" d="M7.751,96.154V151.9c0,0.887,0.72,1.606,1.605,1.606c0.886,0,1.602-0.719,1.602-1.606V96.154 + c0-0.887-0.716-1.603-1.602-1.603C8.471,94.551,7.751,95.267,7.751,96.154"/> +<path id="Stroke-6" class="st2" d="M9.685,102.686v-5.689"/> +<path id="Stroke-8" class="st0" d="M32.26,162.401c0,0.887-0.718,1.605-1.603,1.605c-0.886,0-1.605-0.718-1.605-1.605v-55.747 + c0-0.887,0.719-1.603,1.605-1.603c0.885,0,1.603,0.716,1.603,1.603V162.401z"/> +<linearGradient id="Fill-11_1_" gradientUnits="userSpaceOnUse" x1="-389.0108" y1="11.5669" x2="-389.0108" y2="10.5669" gradientTransform="matrix(3.207 0 0 58.956 1278.3201 -517.9314)"> + <stop offset="0" style="stop-color:#E6E7E7"/> + <stop offset="1" style="stop-color:#939598"/> +</linearGradient> +<path id="Fill-11" class="st3" d="M29.159,106.654v55.747c0,0.887,0.721,1.606,1.606,1.606c0.886,0,1.601-0.719,1.601-1.606v-55.747 + c0-0.887-0.715-1.603-1.601-1.603C29.88,105.051,29.159,105.767,29.159,106.654"/> +<path id="Stroke-14" class="st2" d="M31.094,113.186v-5.689"/> +<path id="Stroke-16" class="st4" d="M9.623,150.016v-5.689"/> +<path id="Stroke-18" class="st4" d="M30.728,160.694v-5.689"/> +<path id="Fill-20" class="st5" d="M4.91,101.369c-2.215-1.015-4.784-4.496-4.766-7.248c0.019-2.77-0.111-32.44-0.018-33.824 + c0.092-1.385,0.353-2.199,1.46-3.03c1.107-0.83,5.508-3.009,6.245-3.307c0.775-0.314,1.738-0.83,4.229,0.647 + c2.493,1.476,26.14,15.819,27.181,16.414c3.217,1.838,3.652,4.438,3.748,6.327c0.093,1.888,0.023,32.23-0.154,34.355 + c-0.083,0.979-0.365,1.862-1.578,2.648c-1.38,0.895-3.724,1.955-5.231,2.756c-2.793,1.486-3.757,0.518-4.173,0.318 + C29.734,116.401,4.91,101.369,4.91,101.369"/> +<path id="Stroke-22" class="st6" d="M4.91,101.369c-2.215-1.015-4.784-4.496-4.766-7.248c0.019-2.77-0.111-32.44-0.018-33.824 + c0.092-1.385,0.353-2.199,1.46-3.03c1.107-0.83,5.508-3.009,6.245-3.307c0.775-0.314,1.738-0.83,4.229,0.647 + c2.493,1.476,26.14,15.819,27.181,16.414c3.217,1.838,3.652,4.438,3.748,6.327c0.093,1.888,0.023,32.23-0.154,34.355 + c-0.083,0.979-0.365,1.862-1.578,2.648c-1.38,0.895-3.724,1.955-5.231,2.756c-2.793,1.486-3.757,0.518-4.173,0.318 + C29.734,116.401,4.91,101.369,4.91,101.369z"/> +<path id="Stroke-35" class="st7" d="M1.955,58.342c8.969-4.76,6.643-3.484,6.643-3.484c0.588-0.277,1.422-0.095,2.461,0.418 + l-6.432,3.509C4.069,58.56,2.717,57.937,1.955,58.342z"/> +<path id="Stroke-37" class="st7" d="M35.245,114.386l6.532-3.297c0,0.154-0.007,0.302-0.021,0.442l-6.532,3.297 + C35.237,114.689,35.246,114.54,35.245,114.386"/> +<path id="Stroke-40" class="st7" d="M35.224,114.828l6.532-3.297c-0.091,0.876-0.454,1.486-0.99,1.772l-6.531,3.297 + C34.771,116.314,35.134,115.704,35.224,114.828"/> +<path id="Stroke-44" class="st7" d="M40.766,113.303c-8.97,4.761,2.437-1.463-6.531,3.297c0.623-0.331,1.011-1.1,1.01-2.214 + l6.533-3.297C41.778,112.203,41.389,112.971,40.766,113.303z"/> +<polygon id="Stroke-46" class="st7" points="4.443,58.785 11.101,55.34 38.56,72.167 32.008,75.348 "/> +<polygon id="Stroke-48" class="st7" points="35.222,81.148 41.822,77.319 41.813,110.787 35.245,114.386 "/> +<path id="Stroke-82" class="st7" d="M32.008,75.348l7.009-3.116c1.773,1.066,2.802,2.949,2.804,5.087l-6.599,3.829 + C35.221,79.01,33.783,76.413,32.008,75.348z"/> +<path id="Stroke-84" class="st7" d="M32.008,75.348c1.775,1.065,3.213,3.662,3.214,5.8l0.023,33.238 + c0.003,2.138-1.433,3.007-3.208,1.942L4.472,99.765c-1.778-1.069-3.217-3.666-3.219-5.804L1.231,60.724 + c-0.002-2.139,1.434-3.007,3.212-1.939L32.008,75.348z"/> +<path id="Fill-86" class="st8" d="M2.091,58.227c1.129-0.613,0.803-0.633,6.367-3.323c0.585-0.283,1.563-0.141,2.416,0.372 + l-6.396,3.208C3.625,57.971,2.666,57.923,2.091,58.227"/> +<path id="Fill-99" class="st9" d="M40.93,112.878c-8.969,4.761-6.661,3.421-6.661,3.421c0.592-0.383,1.013-1.1,1.011-2.214 + l6.533-3.576C41.813,111.622,41.553,112.546,40.93,112.878"/> +<path id="Fill-101" class="st10" d="M35.28,114.084l6.533-3.297c0,0.154-0.008,0.302-0.021,0.443l-6.533,3.297 + C35.273,114.387,35.282,114.238,35.28,114.084"/> +<path id="Fill-104" class="st11" d="M35.28,114.275l6.555-3.74c-0.091,0.877-0.192,1.945-0.545,2.141l-6.814,3.282 + C34.828,115.762,35.191,115.152,35.28,114.275"/> +<polygon id="Fill-108" class="st12" points="4.478,58.484 10.776,55.21 38.234,71.776 32.043,75.047 "/> +<polygon id="Fill-110" class="st11" points="35.331,80.739 41.821,77.319 41.824,111.149 35.382,114.111 "/> +<path id="Fill-112" class="st8" d="M32.043,75.047l6.19-3.271c1.774,1.065,3.585,3.405,3.588,5.543l-6.564,3.528 + C35.255,78.709,33.817,76.112,32.043,75.047"/> +<path id="Fill-146" class="st13" d="M32.043,75.047c1.774,1.065,3.212,3.662,3.214,5.8l0.022,33.238 + c0.003,2.138-1.432,3.007-3.208,1.942L4.506,99.464c-1.777-1.069-3.217-3.666-3.218-5.804L1.265,60.423 + c-0.001-2.139,1.434-3.008,3.213-1.939L32.043,75.047z"/> +<path id="Fill-179" class="st14" d="M35.239,114.158l-0.024-33.237c-0.006-1.972-1.33-4.363-2.963-5.349L4.686,59.008 + c-1.637-0.978-2.956-0.175-2.959,1.791l0.024,33.237c0.006,1.972,1.326,4.36,2.964,5.344l27.565,16.563 + C33.913,116.924,35.235,116.123,35.239,114.158z M32.252,74.963c1.915,1.151,3.466,3.952,3.468,6.261l0.024,33.238 + c0.001,2.303-1.549,3.24-3.464,2.095L4.715,99.994c-1.914-1.156-3.467-3.958-3.469-6.26L1.223,60.495 + c-0.002-2.308,1.548-3.246,3.463-2.095L32.252,74.963z"/> +<path id="Fill-181" class="st15" d="M32.259,75.612c1.634,0.987,2.957,3.377,2.963,5.349l0.024,33.237 + c-0.004,1.965-1.326,2.766-2.958,1.785L4.723,99.42c-1.639-0.983-2.959-3.372-2.965-5.343L1.736,60.839 + c0.002-1.966,1.32-2.769,2.958-1.79L32.259,75.612z"/> +<path id="Stroke-183" class="st0" d="M13.834,57.454c0,0.888-0.721,1.605-1.604,1.605c-0.886,0-1.606-0.717-1.606-1.605V1.707 + c0-0.887,0.72-1.603,1.606-1.603c0.883,0,1.604,0.716,1.604,1.603V57.454z"/> +<path id="Fill-185" class="st16" d="M13.941,57.454c0,0.888-0.717,1.605-1.603,1.605c-0.885,0-1.605-0.717-1.605-1.605V1.707 + c0-0.887,0.72-1.603,1.605-1.603c0.886,0,1.603,0.716,1.603,1.603C13.941,1.707,13.941,57.454,13.941,57.454z"/> +<path id="Stroke-187" class="st17" d="M12.666,8.24V2.551"/> +<path id="Stroke-189" class="st0" d="M33.741,68.454c0,0.887-0.718,1.605-1.603,1.605c-0.886,0-1.605-0.718-1.605-1.605V12.708 + c0-0.887,0.719-1.603,1.605-1.603c0.885,0,1.603,0.716,1.603,1.603V68.454z"/> +<path id="Fill-191" class="st16" d="M33.848,68.454c0,0.887-0.715,1.605-1.602,1.605c-0.884,0-1.605-0.718-1.605-1.605V12.708 + c0-0.887,0.721-1.603,1.605-1.603c0.887,0,1.602,0.716,1.602,1.603V68.454z"/> +<path id="Stroke-193" class="st17" d="M32.575,19.24v-5.689"/> +<polygon id="Fill-195" class="st11" points="9.033,76.823 9.768,80.265 8.706,79.652 8.561,78.861 7.857,79.162 5.997,78.088 "/> +<polygon id="Fill-197" class="st11" points="9.224,76.929 9.519,78.332 9.78,78.483 9.595,78.676 9.957,80.378 11.046,79.213 + 11.263,79.34 12.017,78.541 "/> +<path id="Fill-199" class="st11" d="M10.383,80.619l1.217-1.312c-0.061,0.394,0.077,0.873,0.339,1.323 + c0.266,0.457,0.627,0.8,0.93,0.77l-0.388,0.428L10.383,80.619z"/> +<path id="Fill-201" class="st11" d="M12.095,78.823l0.939,0.542c-0.131-0.21-0.293-0.385-0.47-0.486S12.226,78.764,12.095,78.823"/> +<path id="Fill-203" class="st11" d="M12.572,81.06c0.184,0.105,0.353,0.116,0.486,0.049l-0.974-0.563 + C12.218,80.769,12.388,80.954,12.572,81.06"/> +<path id="Fill-205" class="st11" d="M11.909,80.187l1.32,0.763c0.034-0.053,0.063-0.115,0.083-0.185l-1.488-0.86 + C11.846,80,11.875,80.095,11.909,80.187"/> +<path id="Fill-207" class="st11" d="M11.777,79.513c0,0.037,0.001,0.074,0.004,0.111l1.575,0.909 + c0.003-0.035,0.003-0.07,0.003-0.107c0-0.042-0.002-0.085-0.006-0.129l-1.571-0.906C11.778,79.43,11.777,79.471,11.777,79.513"/> +<path id="Fill-209" class="st11" d="M11.826,79.158l1.48,0.854c-0.023-0.095-0.053-0.191-0.089-0.284l-1.303-0.753 + C11.878,79.027,11.847,79.089,11.826,79.158"/> +<path id="Fill-211" class="st9" d="M14.791,81.973l-0.231-0.135l-0.091-0.052l0.377-1.056l0.006,0.003l0.399,1.505L14.791,81.973z + M15.896,83.717c-0.027-0.058-0.044-0.107-0.076-0.209l-0.979-3.462l-0.006-0.005l-0.914,2.447c-0.013,0.031-0.03,0.05-0.055,0.056 + l0.343,0.198c-0.009-0.022-0.025-0.051-0.024-0.081c-0.001-0.012,0.01-0.043,0.027-0.085l0.193-0.541l0.171,0.1l0.216,0.125 + l0.555,0.319l0.198,0.766c0.015,0.06,0.028,0.104,0.027,0.118c0.001,0.029-0.014,0.04-0.023,0.052L15.896,83.717z"/> +<path id="Fill-213" class="st9" d="M15.928,83.734c0.048-0.004,0.056-0.103,0.055-0.267l-0.008-2.51 + c-0.001-0.08-0.005-0.154-0.051-0.219l0.262,0.152l0.01,2.827c0.001,0.088,0.023,0.16,0.056,0.204L15.928,83.734z"/> +<path id="Fill-215" class="st9" d="M16.453,84.038c0.049-0.005,0.056-0.103,0.055-0.267l-0.009-2.511c0-0.08-0.004-0.155-0.05-0.219 + l0.263,0.152l0.01,2.828c0,0.088,0.022,0.159,0.055,0.204L16.453,84.038z"/> +<path id="Fill-217" class="st9" d="M16.979,84.341c0.049-0.004,0.056-0.103,0.055-0.268l-0.006-1.575c0-0.08-0.003-0.154-0.05-0.218 + l0.264,0.152l0.006,1.892c0.001,0.089,0.022,0.16,0.056,0.204L16.979,84.341z"/> +<path id="Fill-219" class="st9" d="M17.271,81.936c0,0.105-0.063,0.153-0.137,0.11s-0.137-0.164-0.138-0.269 + c-0.001-0.104,0.063-0.153,0.136-0.111C17.206,81.709,17.271,81.831,17.271,81.936"/> +<path id="Fill-221" class="st9" d="M27.355,90.329c0.048-0.006,0.055-0.104,0.054-0.268l-0.006-1.576 + c-0.001-0.08-0.004-0.153-0.05-0.218l0.264,0.152l0.006,1.893c0.001,0.087,0.022,0.158,0.056,0.203L27.355,90.329z"/> +<path id="Fill-223" class="st9" d="M27.646,87.923c0,0.106-0.064,0.152-0.137,0.111c-0.074-0.042-0.139-0.163-0.139-0.268 + c0-0.107,0.063-0.154,0.137-0.112C27.58,87.696,27.645,87.819,27.646,87.923"/> +<path id="Fill-225" class="st9" d="M20.554,85.871l-0.215-0.361l-0.003-0.736c-0.159-0.312-0.266-0.491-0.563-0.664 + c-0.343-0.197-0.576,0.042-0.576,0.493c0.002,0.438,0.282,0.962,0.605,1.148c0.275,0.159,0.425,0.01,0.537-0.009v-0.356l0.214,0.34 + c0.001,0.102,0.001,0.249,0.035,0.307c-0.064-0.02-0.122-0.004-0.178,0.016c-0.216,0.042-0.339,0.143-0.609-0.012 + c-0.466-0.269-0.822-0.963-0.824-1.59c-0.002-0.637,0.39-0.856,0.837-0.598c0.215,0.123,0.392,0.29,0.51,0.601l0.011-0.002 + l-0.004-1.028c0-0.046-0.011-0.104-0.054-0.171l0.268,0.155L20.554,85.871z"/> +<path id="Fill-227" class="st9" d="M22.233,87.226c0,0.059,0.016,0.118,0.037,0.168l-0.306-0.177 + c0.021-0.025,0.037-0.067,0.037-0.126l-0.009-2.566l-0.346-0.199c-0.064-0.038-0.104-0.043-0.141,0.003l-0.001-0.372l1.206,0.697 + l0.001,0.37c-0.038-0.089-0.078-0.129-0.141-0.165l-0.346-0.199L22.233,87.226z"/> +<path id="Fill-229" class="st9" d="M24.141,88.484c0.049-0.004,0.055-0.104,0.055-0.267l-0.009-2.511c0-0.08-0.005-0.153-0.05-0.217 + L24.4,85.64l0.01,2.827c0,0.088,0.022,0.159,0.056,0.204L24.141,88.484z"/> +<path id="Fill-231" class="st9" d="M26.994,88.426c-0.073-0.126-0.172-0.245-0.272-0.304c-0.132-0.075-0.242-0.075-0.241,0.126 + c0.002,0.472,0.659,0.615,0.661,1.391c0.001,0.367-0.21,0.514-0.471,0.363c-0.114-0.066-0.197-0.135-0.257-0.191 + c-0.063-0.052-0.106-0.102-0.139-0.121c-0.018-0.011-0.046-0.002-0.058,0.016l-0.002-0.001l-0.002-0.506 + c0.1,0.21,0.242,0.392,0.391,0.478c0.16,0.093,0.319,0.121,0.318-0.131c-0.001-0.591-0.658-0.687-0.661-1.425 + c-0.001-0.341,0.184-0.445,0.429-0.302c0.085,0.048,0.183,0.148,0.236,0.177c0.021,0.012,0.052,0.022,0.067,0.004L26.994,88.426z"/> +<path id="Fill-233" class="st9" d="M28.682,89.401c-0.073-0.127-0.171-0.246-0.272-0.304c-0.131-0.075-0.242-0.076-0.241,0.125 + c0.002,0.472,0.659,0.616,0.661,1.391c0.001,0.367-0.209,0.514-0.472,0.363c-0.113-0.066-0.196-0.134-0.257-0.19 + c-0.062-0.053-0.105-0.104-0.137-0.122c-0.019-0.012-0.047-0.001-0.058,0.017l-0.003-0.002l-0.002-0.505 + c0.101,0.21,0.243,0.391,0.392,0.478c0.16,0.092,0.319,0.12,0.318-0.132c-0.003-0.59-0.659-0.688-0.662-1.425 + c-0.001-0.341,0.185-0.444,0.429-0.303c0.086,0.05,0.184,0.149,0.236,0.178c0.021,0.012,0.051,0.022,0.068,0.005 + C28.682,88.975,28.682,89.401,28.682,89.401z"/> +<path id="Fill-235" class="st9" d="M17.88,83.212c-0.24,0.14-0.297,0.476-0.184,0.917l0.942-0.546 + C18.398,83.209,18.112,83.076,17.88,83.212 M18.967,83.764l-1.138,0.663c0.24,0.433,0.572,0.61,0.828,0.461 + c0.071-0.041,0.136-0.087,0.186-0.156l0.001,0.419c-0.018,0.012-0.035,0.023-0.053,0.033c-0.351,0.206-0.868-0.079-1.172-0.751 + c-0.305-0.678-0.238-1.307,0.124-1.516c0.38-0.222,0.898,0.205,1.14,0.737C18.908,83.711,18.94,83.736,18.967,83.764"/> +<path id="Fill-237" class="st9" d="M22.905,86.112c-0.24,0.14-0.299,0.476-0.184,0.917l0.941-0.547 + C23.423,86.109,23.137,85.977,22.905,86.112 M23.993,86.665l-1.139,0.661c0.239,0.434,0.572,0.611,0.827,0.462 + c0.071-0.042,0.136-0.088,0.186-0.155l0.002,0.419c-0.018,0.013-0.034,0.022-0.052,0.032c-0.353,0.205-0.868-0.08-1.172-0.75 + c-0.307-0.678-0.239-1.307,0.122-1.517c0.381-0.221,0.899,0.206,1.141,0.738C23.933,86.612,23.966,86.636,23.993,86.665"/> +<path id="Fill-239" class="st9" d="M25.074,87.364c-0.24,0.141-0.297,0.476-0.183,0.917l0.94-0.547 + C25.591,87.361,25.307,87.229,25.074,87.364 M26.162,87.917l-1.14,0.662c0.241,0.432,0.573,0.61,0.829,0.461 + c0.071-0.042,0.136-0.087,0.186-0.155l0.001,0.419c-0.018,0.011-0.035,0.021-0.052,0.032c-0.352,0.205-0.868-0.079-1.172-0.751 + c-0.307-0.677-0.238-1.306,0.123-1.516c0.38-0.221,0.899,0.206,1.14,0.738C26.102,87.864,26.135,87.888,26.162,87.917"/> +<polygon id="Fill-241" class="st11" points="28.731,88.196 28.665,88.157 28.665,88.125 28.825,88.217 28.826,88.251 28.759,88.212 + 28.76,88.479 28.732,88.463 "/> +<path id="Fill-243" class="st11" d="M29.032,88.505c-0.001-0.042-0.003-0.094-0.002-0.131h-0.001 + c-0.009,0.03-0.018,0.063-0.028,0.097l-0.038,0.123l-0.022-0.011l-0.035-0.163c-0.01-0.049-0.019-0.093-0.025-0.132 + c-0.001,0.036-0.002,0.086-0.004,0.13l-0.006,0.125l-0.026-0.015l0.013-0.292l0.036,0.022l0.037,0.165 + c0.01,0.043,0.017,0.081,0.023,0.114l0.001,0.001c0.006-0.028,0.014-0.056,0.022-0.088l0.038-0.122l0.037,0.021l0.014,0.306 + L29.04,88.64L29.032,88.505z"/> +</svg> diff --git a/src/main/webapp/img/lib/allied_telesys/wireless/Laptop_Wireless.svg b/src/main/webapp/img/lib/allied_telesys/wireless/Laptop_Wireless.svg new file mode 100644 index 0000000000000000000000000000000000000000..865a294b07b69089218603ca79fb032155163303 --- /dev/null +++ b/src/main/webapp/img/lib/allied_telesys/wireless/Laptop_Wireless.svg @@ -0,0 +1,276 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" + id="Layer_1" inkscape:version="0.92.3 (2405546, 2018-03-11)" sodipodi:docname="Laptop_Wireless2.svg" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 96.172 79.399" + style="enable-background:new 0 0 96.172 79.399;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#626366;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#898B8E;} + .st2{fill:#BBBDBF;} + .st3{fill:#B3B5B7;} + .st4{fill:none;stroke:#E1E2E3;stroke-linecap:round;stroke-linejoin:round;} + .st5{fill:#FEFEFE;} + .st6{fill:none;stroke:#626366;} + .st7{fill:#C4CACE;} + .st8{fill:none;stroke:#636466;} + .st9{fill:none;stroke:#626366;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:#231F20;} + .st11{fill:#626366;} + .st12{fill:none;stroke:#636466;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;} + .st13{fill:#636466;} + .st14{fill:#F5F6F6;} + .st15{fill:none;stroke:#626366;stroke-width:1.854;stroke-linecap:round;stroke-linejoin:round;} + .st16{fill:none;stroke:#626366;stroke-width:1.246;stroke-linecap:round;stroke-linejoin:round;} + .st17{fill:#727378;} + .st18{fill:#A1A4A6;} +</style> +<sodipodi:namedview bordercolor="#666666" borderopacity="1" gridtolerance="10" guidetolerance="10" id="namedview1287" inkscape:current-layer="Layer_1" inkscape:cx="70.189334" inkscape:cy="34.731773" inkscape:pageopacity="0" inkscape:pageshadow="2" inkscape:window-height="1017" inkscape:window-maximized="1" inkscape:window-width="1920" inkscape:window-x="-8" inkscape:window-y="-8" inkscape:zoom="10.6" objecttolerance="10" pagecolor="#ffffff" showgrid="false"> + </sodipodi:namedview> +<title id="title1056">icon-laptop-wireless</title> +<desc id="desc1058">Created with Sketch.</desc> +<polygon id="Stroke-1" class="st0" points="30.79,65.566 56.303,52.023 56.306,55.893 30.792,69.436 "/> +<polygon id="Stroke-2" class="st0" points="1.5,47.967 27.014,34.425 56.303,52.024 30.79,65.567 "/> +<polygon id="Stroke-4" class="st0" points="30.79,65.566 30.792,69.436 1.503,51.838 1.5,47.966 "/> +<polyline id="Stroke-6" class="st0" points="1.5,47.967 30.79,65.567 30.792,69.436 "/> +<polygon id="Stroke-9" class="st0" points="64.491,20.5 68.011,19.907 59.817,52.412 56.299,53.005 "/> +<polygon id="Stroke-10" class="st0" points="35.34,2.092 38.859,1.5 68.011,19.907 64.491,20.5 "/> +<polygon id="Stroke-12" class="st0" points="64.491,20.5 56.299,53.005 27.146,34.598 35.34,2.092 "/> +<polygon id="Fill-15" class="st1" points="30.79,65.566 56.303,52.023 56.306,55.893 30.792,69.436 "/> +<polygon id="Fill-16" class="st2" points="1.5,47.967 27.014,34.425 56.303,52.024 30.79,65.567 "/> +<polygon id="Fill-17" class="st3" points="30.79,65.566 30.792,69.436 1.503,51.838 1.5,47.966 "/> +<polyline id="Stroke-18" class="st4" points="1.896,48.204 30.79,65.566 30.792,69.031 "/> +<polygon id="Fill-20" class="st1" points="64.491,20.5 68.011,19.907 59.817,52.412 56.299,53.005 "/> +<polygon id="Fill-21" class="st1" points="35.34,2.092 38.859,1.5 68.011,19.907 64.491,20.5 "/> +<polygon id="Fill-22" class="st3" points="64.491,20.5 56.299,53.005 27.146,34.598 35.34,2.092 "/> +<polygon id="Fill-23" class="st5" points="59.719,22.054 53.72,45.855 32.374,32.375 38.373,8.575 "/> +<polygon id="Stroke-24" class="st6" points="59.719,22.054 53.72,45.855 32.374,32.375 38.373,8.575 "/> +<path id="Fill-25" class="st7" d="M57.416,22.751c-0.777-0.455-15.551-9.099-16.942-7.598c-1.06,1.11-4.52,10.715-4.703,11.221 + l3.76-14.799L57.416,22.751z"/> +<polygon id="Fill-27" class="st5" points="16.049,53.3 20.314,51.035 26.888,54.986 22.622,57.25 "/> +<polygon id="Stroke-28" class="st8" points="16.049,53.3 20.314,51.035 26.888,54.986 22.622,57.25 "/> +<path id="Stroke-29" class="st9" d="M56.467,53.247L26.731,34.27"/> +<polygon id="Fill-30" class="st10" points="16.342,43.444 17.799,42.671 17.799,42.953 16.342,43.726 "/> +<polygon id="Fill-31" class="st5" points="15.084,42.689 16.543,41.917 17.799,42.671 16.342,43.444 "/> +<polygon id="Fill-32" class="st11" points="16.342,43.444 16.342,43.726 15.084,42.971 15.084,42.689 "/> +<polygon id="Fill-33" class="st10" points="18.201,44.563 19.66,43.79 19.66,44.072 18.201,44.845 "/> +<polygon id="Fill-34" class="st5" points="16.945,43.807 18.402,43.034 19.66,43.789 18.201,44.563 "/> +<polygon id="Fill-35" class="st11" points="18.201,44.563 18.201,44.845 16.945,44.09 16.945,43.807 "/> +<polygon id="Fill-36" class="st10" points="20.154,45.736 21.611,44.962 21.613,45.244 20.154,46.018 "/> +<polygon id="Fill-37" class="st5" points="18.898,44.98 20.355,44.208 21.611,44.961 20.154,45.736 "/> +<polygon id="Fill-38" class="st11" points="20.154,45.736 20.154,46.018 18.898,45.263 18.898,44.98 "/> +<polygon id="Fill-39" class="st10" points="22.021,46.857 23.478,46.084 23.48,46.367 22.021,47.14 "/> +<polygon id="Fill-40" class="st5" points="20.766,46.103 22.223,45.329 23.479,46.084 22.022,46.858 "/> +<polygon id="Fill-41" class="st11" points="22.021,46.857 22.021,47.14 20.765,46.384 20.765,46.103 "/> +<polygon id="Fill-42" class="st10" points="23.949,48.016 25.408,47.243 25.408,47.526 23.949,48.299 "/> +<polygon id="Fill-43" class="st5" points="22.693,47.262 24.15,46.488 25.408,47.242 23.949,48.016 "/> +<polygon id="Fill-44" class="st11" points="23.949,48.016 23.949,48.299 22.693,47.543 22.693,47.262 "/> +<polygon id="Fill-45" class="st10" points="25.816,49.139 27.275,48.365 27.275,48.647 25.816,49.42 "/> +<polygon id="Fill-46" class="st5" points="24.553,48.379 26.012,47.606 27.276,48.364 25.817,49.139 "/> +<polygon id="Fill-47" class="st11" points="25.816,49.139 25.816,49.42 24.552,48.662 24.552,48.379 "/> +<polygon id="Fill-48" class="st10" points="27.77,50.312 29.226,49.538 29.229,49.821 27.77,50.594 "/> +<polygon id="Fill-49" class="st5" points="26.512,49.557 27.971,48.783 29.227,49.537 27.77,50.312 "/> +<polygon id="Fill-50" class="st11" points="27.77,50.312 27.77,50.594 26.514,49.839 26.511,49.557 "/> +<polygon id="Fill-51" class="st10" points="29.631,51.43 31.088,50.656 31.088,50.938 29.631,51.712 "/> +<polygon id="Fill-52" class="st5" points="28.373,50.674 29.83,49.901 31.088,50.655 29.631,51.43 "/> +<polygon id="Fill-53" class="st11" points="29.631,51.43 29.631,51.712 28.373,50.957 28.373,50.674 "/> +<polygon id="Fill-54" class="st10" points="31.461,52.529 32.918,51.756 32.918,52.037 31.461,52.811 "/> +<polygon id="Fill-55" class="st5" points="30.203,51.773 31.662,51 32.918,51.756 31.461,52.529 "/> +<polygon id="Fill-56" class="st11" points="31.461,52.529 31.461,52.811 30.203,52.056 30.203,51.773 "/> +<polygon id="Fill-57" class="st10" points="33.32,53.647 34.779,52.874 34.779,53.157 33.32,53.93 "/> +<polygon id="Fill-58" class="st5" points="32.064,52.893 33.521,52.119 34.779,52.873 33.32,53.647 "/> +<polygon id="Fill-59" class="st11" points="33.32,53.647 33.32,53.93 32.064,53.174 32.064,52.893 "/> +<polygon id="Fill-60" class="st10" points="35.273,54.82 36.732,54.047 36.732,54.329 35.273,55.103 "/> +<polygon id="Fill-61" class="st5" points="34.018,54.065 35.474,53.292 36.732,54.047 35.273,54.82 "/> +<polygon id="Fill-62" class="st11" points="35.273,54.82 35.273,55.103 34.017,54.347 34.017,54.065 "/> +<polygon id="Fill-63" class="st10" points="37.141,55.943 38.6,55.168 38.6,55.451 37.141,56.224 "/> +<polygon id="Fill-64" class="st5" points="35.885,55.188 37.342,54.414 38.6,55.168 37.141,55.943 "/> +<polygon id="Fill-65" class="st11" points="37.141,55.943 37.141,56.224 35.885,55.47 35.885,55.188 "/> +<polygon id="Fill-66" class="st10" points="39.068,57.101 40.527,56.328 40.527,56.61 39.068,57.383 "/> +<polygon id="Fill-67" class="st5" points="37.813,56.346 39.27,55.573 40.528,56.327 39.069,57.101 "/> +<polygon id="Fill-68" class="st11" points="39.068,57.101 39.068,57.383 37.812,56.628 37.812,56.346 "/> +<polygon id="Fill-69" class="st10" points="40.893,58.197 42.349,57.423 42.352,57.705 40.893,58.478 "/> +<polygon id="Fill-70" class="st5" points="39.635,57.442 41.094,56.668 42.35,57.423 40.893,58.197 "/> +<polygon id="Fill-71" class="st11" points="40.893,58.197 40.893,58.478 39.637,57.723 39.634,57.441 "/> +<polygon id="Fill-72" class="st10" points="18.342,42.319 19.799,41.546 19.799,41.828 18.342,42.601 "/> +<polygon id="Fill-73" class="st5" points="17.084,41.564 18.543,40.792 19.799,41.546 18.342,42.319 "/> +<polygon id="Fill-74" class="st11" points="18.342,42.319 18.342,42.601 17.084,41.846 17.084,41.564 "/> +<polygon id="Fill-75" class="st10" points="20.201,43.438 21.66,42.665 21.66,42.947 20.201,43.72 "/> +<polygon id="Fill-76" class="st5" points="18.945,42.682 20.402,41.909 21.66,42.664 20.201,43.438 "/> +<polygon id="Fill-77" class="st11" points="20.201,43.438 20.201,43.72 18.945,42.965 18.945,42.682 "/> +<polygon id="Fill-78" class="st10" points="22.154,44.611 23.611,43.837 23.613,44.119 22.154,44.893 "/> +<polygon id="Fill-79" class="st5" points="20.898,43.855 22.355,43.083 23.611,43.836 22.154,44.611 "/> +<polygon id="Fill-80" class="st11" points="22.154,44.611 22.154,44.893 20.898,44.138 20.898,43.855 "/> +<polygon id="Fill-81" class="st10" points="24.021,45.732 25.478,44.959 25.48,45.242 24.021,46.015 "/> +<polygon id="Fill-82" class="st5" points="22.766,44.978 24.223,44.204 25.479,44.959 24.022,45.733 "/> +<polygon id="Fill-83" class="st11" points="24.021,45.732 24.021,46.015 22.765,45.259 22.765,44.978 "/> +<polygon id="Fill-84" class="st10" points="25.949,46.891 27.408,46.118 27.408,46.401 25.949,47.174 "/> +<polygon id="Fill-85" class="st5" points="24.693,46.137 26.15,45.363 27.408,46.117 25.949,46.891 "/> +<polygon id="Fill-86" class="st11" points="25.949,46.891 25.949,47.174 24.693,46.418 24.693,46.137 "/> +<polygon id="Fill-87" class="st10" points="27.816,48.014 29.275,47.24 29.275,47.522 27.816,48.295 "/> +<polygon id="Fill-88" class="st5" points="26.553,47.254 28.012,46.481 29.276,47.239 27.817,48.014 "/> +<polygon id="Fill-89" class="st11" points="27.816,48.014 27.816,48.295 26.552,47.537 26.552,47.254 "/> +<polygon id="Fill-90" class="st10" points="29.77,49.187 31.226,48.413 31.229,48.696 29.77,49.469 "/> +<polygon id="Fill-91" class="st5" points="28.512,48.432 29.971,47.658 31.227,48.412 29.77,49.187 "/> +<polygon id="Fill-92" class="st11" points="29.77,49.187 29.77,49.469 28.514,48.714 28.511,48.432 "/> +<polygon id="Fill-93" class="st10" points="31.631,50.305 33.088,49.531 33.088,49.813 31.631,50.587 "/> +<polygon id="Fill-94" class="st5" points="30.373,49.549 31.83,48.776 33.088,49.53 31.631,50.305 "/> +<polygon id="Fill-95" class="st11" points="31.631,50.305 31.631,50.587 30.373,49.832 30.373,49.549 "/> +<polygon id="Fill-96" class="st10" points="33.461,51.404 34.918,50.631 34.918,50.912 33.461,51.686 "/> +<polygon id="Fill-97" class="st5" points="32.203,50.648 33.662,49.875 34.918,50.631 33.461,51.404 "/> +<polygon id="Fill-98" class="st11" points="33.461,51.404 33.461,51.686 32.203,50.931 32.203,50.648 "/> +<polygon id="Fill-99" class="st10" points="35.32,52.522 36.779,51.749 36.779,52.032 35.32,52.805 "/> +<polygon id="Fill-100" class="st5" points="34.064,51.768 35.521,50.994 36.779,51.748 35.32,52.522 "/> +<polygon id="Fill-101" class="st11" points="35.32,52.522 35.32,52.805 34.064,52.049 34.064,51.768 "/> +<polygon id="Fill-102" class="st10" points="37.273,53.695 38.732,52.922 38.732,53.204 37.273,53.978 "/> +<polygon id="Fill-103" class="st5" points="36.018,52.94 37.474,52.167 38.732,52.922 37.273,53.695 "/> +<polygon id="Fill-104" class="st11" points="37.273,53.695 37.273,53.978 36.017,53.222 36.017,52.94 "/> +<polygon id="Fill-105" class="st10" points="39.141,54.818 40.6,54.043 40.6,54.326 39.141,55.099 "/> +<polygon id="Fill-106" class="st5" points="37.885,54.063 39.342,53.289 40.6,54.043 39.141,54.818 "/> +<polygon id="Fill-107" class="st11" points="39.141,54.818 39.141,55.099 37.885,54.345 37.885,54.063 "/> +<polygon id="Fill-108" class="st10" points="41.068,55.976 42.527,55.203 42.527,55.485 41.068,56.258 "/> +<polygon id="Fill-109" class="st5" points="39.813,55.221 41.27,54.448 42.528,55.202 41.069,55.976 "/> +<polygon id="Fill-110" class="st11" points="41.068,55.976 41.068,56.258 39.812,55.503 39.812,55.221 "/> +<polygon id="Fill-111" class="st10" points="42.893,57.072 44.349,56.298 44.352,56.58 42.893,57.353 "/> +<polygon id="Fill-112" class="st5" points="41.635,56.317 43.094,55.543 44.35,56.298 42.893,57.072 "/> +<polygon id="Fill-113" class="st11" points="42.893,57.072 42.893,57.353 41.637,56.598 41.634,56.316 "/> +<polygon id="Fill-114" class="st10" points="20.467,41.194 21.924,40.421 21.924,40.703 20.467,41.476 "/> +<polygon id="Fill-115" class="st5" points="19.209,40.439 20.668,39.667 21.924,40.421 20.467,41.194 "/> +<polygon id="Fill-116" class="st11" points="20.467,41.194 20.467,41.476 19.209,40.721 19.209,40.439 "/> +<polygon id="Fill-117" class="st10" points="22.326,42.313 23.785,41.54 23.785,41.822 22.326,42.595 "/> +<polygon id="Fill-118" class="st5" points="21.07,41.557 22.527,40.784 23.785,41.539 22.326,42.313 "/> +<polygon id="Fill-119" class="st11" points="22.326,42.313 22.326,42.595 21.07,41.84 21.07,41.557 "/> +<polygon id="Fill-120" class="st10" points="24.279,43.486 25.736,42.712 25.738,42.994 24.279,43.768 "/> +<polygon id="Fill-121" class="st5" points="23.023,42.73 24.48,41.958 25.736,42.711 24.279,43.486 "/> +<polygon id="Fill-122" class="st11" points="24.279,43.486 24.279,43.768 23.023,43.013 23.023,42.73 "/> +<polygon id="Fill-123" class="st10" points="26.146,44.607 27.603,43.834 27.605,44.117 26.146,44.89 "/> +<polygon id="Fill-124" class="st5" points="24.891,43.853 26.348,43.079 27.604,43.834 26.147,44.608 "/> +<polygon id="Fill-125" class="st11" points="26.146,44.607 26.146,44.89 24.89,44.134 24.89,43.853 "/> +<polygon id="Fill-126" class="st10" points="28.074,45.766 29.533,44.993 29.533,45.276 28.074,46.049 "/> +<polygon id="Fill-127" class="st5" points="26.818,45.012 28.275,44.238 29.533,44.992 28.074,45.766 "/> +<polygon id="Fill-128" class="st11" points="28.074,45.766 28.074,46.049 26.818,45.293 26.818,45.012 "/> +<polygon id="Fill-129" class="st10" points="29.941,46.889 31.4,46.115 31.4,46.397 29.941,47.17 "/> +<polygon id="Fill-130" class="st5" points="28.678,46.129 30.137,45.356 31.401,46.114 29.942,46.889 "/> +<polygon id="Fill-131" class="st11" points="29.941,46.889 29.941,47.17 28.677,46.412 28.677,46.129 "/> +<polygon id="Fill-132" class="st10" points="31.895,48.062 33.352,47.288 33.354,47.571 31.895,48.344 "/> +<polygon id="Fill-133" class="st5" points="30.637,47.307 32.096,46.533 33.352,47.287 31.895,48.062 "/> +<polygon id="Fill-134" class="st11" points="31.895,48.062 31.895,48.344 30.639,47.589 30.636,47.307 "/> +<polygon id="Fill-135" class="st10" points="33.756,49.18 35.213,48.406 35.213,48.688 33.756,49.462 "/> +<polygon id="Fill-136" class="st5" points="32.498,48.424 33.955,47.651 35.213,48.405 33.756,49.18 "/> +<polygon id="Fill-137" class="st11" points="33.756,49.18 33.756,49.462 32.498,48.707 32.498,48.424 "/> +<polygon id="Fill-138" class="st10" points="35.586,50.279 37.043,49.506 37.043,49.787 35.586,50.561 "/> +<polygon id="Fill-139" class="st5" points="34.328,49.523 35.787,48.75 37.043,49.506 35.586,50.279 "/> +<polygon id="Fill-140" class="st11" points="35.586,50.279 35.586,50.561 34.328,49.806 34.328,49.523 "/> +<polygon id="Fill-141" class="st10" points="37.445,51.397 38.904,50.624 38.904,50.907 37.445,51.68 "/> +<polygon id="Fill-142" class="st5" points="36.189,50.643 37.646,49.869 38.904,50.623 37.445,51.397 "/> +<polygon id="Fill-143" class="st11" points="37.445,51.397 37.445,51.68 36.189,50.924 36.189,50.643 "/> +<polygon id="Fill-144" class="st10" points="39.398,52.57 40.857,51.797 40.857,52.079 39.398,52.853 "/> +<polygon id="Fill-145" class="st5" points="38.143,51.815 39.599,51.042 40.857,51.797 39.398,52.57 "/> +<polygon id="Fill-146" class="st11" points="39.398,52.57 39.398,52.853 38.142,52.097 38.142,51.815 "/> +<polygon id="Fill-147" class="st10" points="41.266,53.693 42.725,52.918 42.725,53.201 41.266,53.974 "/> +<polygon id="Fill-148" class="st5" points="40.01,52.938 41.467,52.164 42.725,52.918 41.266,53.693 "/> +<polygon id="Fill-149" class="st11" points="41.266,53.693 41.266,53.974 40.01,53.22 40.01,52.938 "/> +<polygon id="Fill-150" class="st10" points="43.193,54.851 44.652,54.078 44.652,54.36 43.193,55.133 "/> +<polygon id="Fill-151" class="st5" points="41.938,54.096 43.395,53.323 44.653,54.077 43.194,54.851 "/> +<polygon id="Fill-152" class="st11" points="43.193,54.851 43.193,55.133 41.937,54.378 41.937,54.096 "/> +<polygon id="Fill-153" class="st10" points="45.018,55.947 46.474,55.173 46.477,55.455 45.018,56.228 "/> +<polygon id="Fill-154" class="st5" points="43.76,55.192 45.219,54.418 46.475,55.173 45.018,55.947 "/> +<polygon id="Fill-155" class="st11" points="45.018,55.947 45.018,56.228 43.762,55.473 43.759,55.191 "/> +<polygon id="Fill-156" class="st10" points="14.949,45.121 16.408,44.348 16.408,44.623 14.949,45.396 "/> +<polygon id="Fill-157" class="st5" points="13.691,44.366 15.15,43.592 16.408,44.347 14.949,45.121 "/> +<polygon id="Fill-158" class="st11" points="14.949,45.121 14.949,45.396 13.693,44.641 13.691,44.366 "/> +<polygon id="Fill-159" class="st10" points="16.719,46.184 18.176,45.411 18.176,45.686 16.719,46.459 "/> +<polygon id="Fill-160" class="st5" points="15.461,45.429 16.92,44.656 18.176,45.41 16.719,46.184 "/> +<polygon id="Fill-161" class="st11" points="16.719,46.184 16.719,46.459 15.461,45.704 15.461,45.429 "/> +<polygon id="Fill-162" class="st10" points="18.578,47.302 20.037,46.529 20.037,46.803 18.578,47.576 "/> +<polygon id="Fill-163" class="st5" points="17.322,46.547 18.779,45.774 20.037,46.528 18.578,47.302 "/> +<polygon id="Fill-164" class="st11" points="18.578,47.302 18.578,47.576 17.322,46.823 17.322,46.547 "/> +<polygon id="Fill-165" class="st10" points="34.137,56.621 35.596,55.848 35.596,56.123 34.137,56.896 "/> +<polygon id="Fill-166" class="st5" points="32.879,55.866 34.338,55.092 35.596,55.847 34.137,56.621 "/> +<polygon id="Fill-167" class="st11" points="34.137,56.621 34.137,56.896 32.881,56.141 32.879,55.866 "/> +<polygon id="Fill-168" class="st10" points="35.906,57.684 37.363,56.911 37.363,57.186 35.906,57.959 "/> +<polygon id="Fill-169" class="st5" points="34.648,56.929 36.107,56.156 37.363,56.91 35.906,57.684 "/> +<polygon id="Fill-170" class="st11" points="35.906,57.684 35.906,57.959 34.648,57.204 34.648,56.929 "/> +<polygon id="Fill-171" class="st10" points="37.766,58.802 39.225,58.029 39.225,58.303 37.766,59.076 "/> +<polygon id="Fill-172" class="st5" points="36.51,58.047 37.967,57.274 39.225,58.028 37.766,58.802 "/> +<polygon id="Fill-173" class="st11" points="37.766,58.802 37.766,59.076 36.51,58.323 36.51,58.047 "/> +<polygon id="Fill-174" class="st10" points="32.15,55.469 33.609,54.695 33.609,54.969 32.15,55.743 "/> +<polygon id="Fill-175" class="st5" points="19.256,47.721 20.715,46.947 33.61,54.695 32.151,55.469 "/> +<polygon id="Fill-176" class="st11" points="32.15,55.469 32.15,55.743 19.255,47.995 19.255,47.721 "/> +<polygon id="Fill-177" class="st10" points="22.678,39.936 24.135,39.163 24.135,39.445 22.678,40.218 "/> +<polygon id="Fill-178" class="st5" points="21.42,39.181 22.879,38.408 24.135,39.162 22.678,39.936 "/> +<polygon id="Fill-179" class="st11" points="22.678,39.936 22.678,40.218 21.42,39.463 21.42,39.181 "/> +<polygon id="Fill-180" class="st10" points="24.537,41.054 25.996,40.281 25.996,40.563 24.537,41.336 "/> +<polygon id="Fill-181" class="st5" points="23.281,40.298 24.738,39.525 25.996,40.28 24.537,41.054 "/> +<polygon id="Fill-182" class="st11" points="24.537,41.054 24.537,41.336 23.281,40.581 23.281,40.298 "/> +<polygon id="Fill-183" class="st10" points="26.49,42.228 27.947,41.454 27.949,41.736 26.49,42.51 "/> +<polygon id="Fill-184" class="st5" points="25.234,41.472 26.691,40.699 27.947,41.453 26.49,42.228 "/> +<polygon id="Fill-185" class="st11" points="26.49,42.228 26.49,42.51 25.234,41.755 25.234,41.472 "/> +<polygon id="Fill-186" class="st10" points="28.357,43.349 29.814,42.576 29.816,42.858 28.357,43.632 "/> +<polygon id="Fill-187" class="st5" points="27.101,42.594 28.559,41.82 29.815,42.575 28.358,43.349 "/> +<polygon id="Fill-188" class="st11" points="28.357,43.349 28.357,43.632 27.101,42.876 27.101,42.594 "/> +<polygon id="Fill-189" class="st10" points="30.285,44.507 31.744,43.734 31.744,44.017 30.285,44.79 "/> +<polygon id="Fill-190" class="st5" points="29.029,43.753 30.486,42.979 31.744,43.733 30.285,44.507 "/> +<polygon id="Fill-191" class="st11" points="30.285,44.507 30.285,44.79 29.029,44.034 29.029,43.753 "/> +<polygon id="Fill-192" class="st10" points="32.152,45.63 33.611,44.856 33.611,45.138 32.152,45.911 "/> +<polygon id="Fill-193" class="st5" points="30.889,44.87 32.348,44.097 33.612,44.855 32.153,45.63 "/> +<polygon id="Fill-194" class="st11" points="32.152,45.63 32.152,45.911 30.888,45.153 30.888,44.87 "/> +<polygon id="Fill-195" class="st10" points="34.105,46.803 35.562,46.029 35.564,46.312 34.105,47.085 "/> +<polygon id="Fill-196" class="st5" points="32.848,46.048 34.307,45.274 35.563,46.028 34.106,46.803 "/> +<polygon id="Fill-197" class="st11" points="34.105,46.803 34.105,47.085 32.849,46.33 32.847,46.048 "/> +<polygon id="Fill-198" class="st10" points="35.967,47.921 37.424,47.147 37.424,47.429 35.967,48.203 "/> +<polygon id="Fill-199" class="st5" points="34.709,47.165 36.166,46.392 37.424,47.146 35.967,47.921 "/> +<polygon id="Fill-200" class="st11" points="35.967,47.921 35.967,48.203 34.709,47.448 34.709,47.165 "/> +<polygon id="Fill-201" class="st10" points="37.797,49.021 39.254,48.248 39.254,48.529 37.797,49.303 "/> +<polygon id="Fill-202" class="st5" points="36.539,48.265 37.998,47.492 39.254,48.247 37.797,49.021 "/> +<polygon id="Fill-203" class="st11" points="37.797,49.021 37.797,49.303 36.539,48.548 36.539,48.265 "/> +<polygon id="Fill-204" class="st10" points="39.656,50.138 41.115,49.365 41.115,49.648 39.656,50.421 "/> +<polygon id="Fill-205" class="st5" points="38.4,49.384 39.857,48.61 41.115,49.364 39.656,50.138 "/> +<polygon id="Fill-206" class="st11" points="39.656,50.138 39.656,50.421 38.4,49.665 38.4,49.384 "/> +<polygon id="Fill-207" class="st10" points="41.609,51.312 43.068,50.539 43.068,50.821 41.609,51.595 "/> +<polygon id="Fill-208" class="st5" points="40.354,50.557 41.811,49.783 43.069,50.538 41.61,51.312 "/> +<polygon id="Fill-209" class="st11" points="41.609,51.312 41.609,51.595 40.353,50.839 40.353,50.557 "/> +<polygon id="Fill-210" class="st10" points="43.477,52.434 44.936,51.66 44.936,51.943 43.477,52.716 "/> +<polygon id="Fill-211" class="st5" points="42.221,51.679 43.678,50.905 44.936,51.659 43.477,52.434 "/> +<polygon id="Fill-212" class="st11" points="43.477,52.434 43.477,52.716 42.221,51.961 42.221,51.679 "/> +<polygon id="Fill-213" class="st10" points="45.404,53.592 46.863,52.819 46.863,53.101 45.404,53.874 "/> +<polygon id="Fill-214" class="st5" points="44.148,52.837 45.605,52.064 46.863,52.818 45.404,53.592 "/> +<polygon id="Fill-215" class="st11" points="45.404,53.592 45.404,53.874 44.148,53.119 44.148,52.837 "/> +<polygon id="Fill-216" class="st10" points="47.229,54.689 48.686,53.915 48.688,54.197 47.229,54.97 "/> +<polygon id="Fill-217" class="st5" points="45.971,53.933 47.43,53.16 48.686,53.914 47.229,54.689 "/> +<polygon id="Fill-218" class="st11" points="47.229,54.689 47.229,54.97 45.972,54.215 45.971,53.933 "/> +<path id="Stroke-262" inkscape:connector-curvature="0" class="st12" d="M57.016,40.939c5.625-2.985,11.248-5.971,16.871-8.956 + c0.423-0.224,0.992-0.174,1.619,0.202l-16.871,8.956C58.008,40.765,57.44,40.716,57.016,40.939z"/> +<path id="Stroke-276" inkscape:connector-curvature="0" class="st12" d="M94.426,69.308l-16.871,8.956 + c0.459-0.245,0.744-0.81,0.747-1.628l16.87-8.954C95.172,68.498,94.885,69.065,94.426,69.308z"/> +<polygon id="Stroke-281" class="st12" points="58.635,41.141 75.506,32.185 92.792,42.571 75.919,51.528 "/> +<polygon id="Stroke-282" class="st12" points="78.285,55.794 95.158,46.84 95.172,67.682 78.302,76.636 "/> +<path id="Stroke-317" class="st12" d="M75.919,51.528c1.308,0.784,2.363,2.689,2.366,4.267l0.017,20.841 + c-0.003,1.571-1.057,2.213-2.363,1.428L58.654,67.677c-1.306-0.785-2.365-2.696-2.368-4.266l-0.013-20.843 + c-0.001-1.575,1.056-2.211,2.362-1.427L75.919,51.528z"/> +<path id="Stroke-351" inkscape:connector-curvature="0" class="st12" d="M75.919,51.528l16.873-8.957 + c1.306,0.785,2.36,2.692,2.366,4.269l-16.873,8.955C78.282,54.217,77.227,52.312,75.919,51.528z"/> +<polygon id="Fill-439" class="st3" points="58.354,41.162 75.225,32.206 92.511,42.592 75.638,51.549 "/> +<polygon id="Fill-440" class="st1" points="78.005,55.815 94.878,46.86 94.892,67.702 78.022,76.657 "/> +<path id="Fill-472" class="st13" d="M77.323,76.237l-0.017-20.842c0-1.111-0.744-2.455-1.667-3.008L58.354,42 + c-0.921-0.553-1.664-0.102-1.664,1.008l0.016,20.841c0,1.107,0.745,2.452,1.667,3.009l17.285,10.386 + C76.579,77.796,77.323,77.344,77.323,76.237z M75.638,51.548c1.308,0.784,2.364,2.689,2.367,4.267l0.016,20.841 + c-0.003,1.571-1.056,2.213-2.363,1.428L58.374,67.697c-1.307-0.785-2.365-2.696-2.368-4.266l-0.014-20.843 + c-0.001-1.575,1.057-2.211,2.362-1.427L75.638,51.548z"/> +<path id="Fill-474" inkscape:connector-curvature="0" class="st14" d="M75.64,52.387c0.923,0.553,1.667,1.897,1.667,3.008 + l0.017,20.842c0,1.107-0.745,1.559-1.665,1.007L58.373,66.858c-0.921-0.557-1.667-1.902-1.667-3.009l-0.015-20.841 + c0-1.11,0.743-1.56,1.664-1.008L75.64,52.387z"/> +<path id="Fill-508" class="st11" d="M68.91,60.398c0,1.479-1.061,2.04-2.368,1.255c-1.307-0.787-2.368-2.623-2.368-4.102 + c0-1.48,1.061-2.042,2.368-1.255C67.849,57.083,68.91,58.92,68.91,60.398"/> +<path id="Stroke-510" class="st15" d="M66.538,60.118v9.665"/> +<path id="Fill-512" class="st5" d="M67.923,59.142c0,0.347-0.249,0.479-0.558,0.294c-0.305-0.183-0.553-0.614-0.553-0.961 + s0.248-0.479,0.553-0.295C67.674,58.366,67.923,58.795,67.923,59.142"/> +<path id="Stroke-514" class="st16" d="M72.418,62.674c-0.418-3.54-2.914-7.571-5.938-9.39c-2.992-1.797-5.465-0.807-5.922,2.154"/> +<path id="Stroke-516" class="st16" d="M75.046,61.858c-0.072-0.28-0.152-0.562-0.24-0.844c-1.351-4.399-4.492-8.802-8.156-11.006 + c-3.871-2.325-7.154-1.498-8.367,1.681"/> +<path id="Stroke-262-9" inkscape:connector-curvature="0" class="st2" d="M56.735,40.96c5.625-2.985,11.248-5.971,16.871-8.956 + c0.423-0.224,0.992-0.174,1.619,0.202l-16.871,8.956C57.727,40.786,57.159,40.737,56.735,40.96z"/> +<path id="Stroke-276-0" inkscape:connector-curvature="0" class="st17" d="M94.146,69.328l-16.871,8.956 + c0.459-0.245,0.744-0.81,0.747-1.628l16.87-8.954C94.892,68.518,94.605,69.085,94.146,69.328z"/> +<path id="Stroke-351-2" inkscape:connector-curvature="0" class="st18" d="M75.638,51.549l16.873-8.957 + c1.306,0.785,2.36,2.692,2.366,4.269l-16.873,8.955C78.001,54.238,76.946,52.333,75.638,51.549z"/> +</svg> diff --git a/src/main/webapp/js/app.min.js b/src/main/webapp/js/app.min.js index 12d4571f624611ee934f12f26014b657f84420f8..2b69f0a9a0472ad245674da92805bfc6a7053093 100644 --- a/src/main/webapp/js/app.min.js +++ b/src/main/webapp/js/app.min.js @@ -1981,14 +1981,14 @@ this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView")) Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(mxUtils.sortCells(this.graph.model.getTopmostCells(this.graph.getSelectionCells())));if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)a.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),a.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);a.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");a.setAttribute("gridSize", this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width); a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":"hidden",this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFilename=function(a){this.filename=a}; -Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,d){c.undoableEditHappened(d.getProperty("edit"))};var d=mxUtils.bind(this,function(a,c){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,d);a.getView().addListener(mxEvent.UNDO,d);d=function(b,c){for(var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes),f=a.getModel(),g=[],h=0;h<d.length;h++)(f.isVertex(d[h])||f.isEdge(d[h]))&&null!=a.view.getState(d[h])&& -g.push(d[h]);a.setSelectionCells(g)};c.addListener(mxEvent.UNDO,d);c.addListener(mxEvent.REDO,d);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; +Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,d){c.undoableEditHappened(d.getProperty("edit"))};var d=mxUtils.bind(this,function(a,c){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,d);a.getView().addListener(mxEvent.UNDO,d);d=function(b,c){for(var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes),f=a.getModel(),g=[],k=0;k<d.length;k++)(f.isVertex(d[k])||f.isEdge(d[k]))&&null!=a.view.getState(d[k])&& +g.push(d[k]);a.setSelectionCells(g)};c.addListener(mxEvent.UNDO,d);c.addListener(mxEvent.REDO,d);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)}; -function Dialog(a,c,d,b,f,e,k,g){var h=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(h=80);d+=h;b+=h;var l=d,m=b,n=Math.max(document.body.clientHeight,document.documentElement.clientHeight),p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((n-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,n-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& -(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=n+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var r=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=r.x+"px";this.bg.style.top=r.y+"px";p+=r.x;q+=r.y;f&&document.body.appendChild(this.bg);var t=a.createDiv("geDialog");f=this.getPosition(p,q, -d,b);p=f.x;q=f.y;t.style.width=d+"px";t.style.height=b+"px";t.style.left=p+"px";t.style.top=q+"px";t.style.zIndex=this.zIndex;t.appendChild(c);document.body.appendChild(t);!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=p+d+38-h+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", +function Dialog(a,c,d,b,f,e,h,g){var k=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(k=80);d+=k;b+=k;var l=d,m=b,n=Math.max(document.body.clientHeight,document.documentElement.clientHeight),p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((n-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,n-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& +(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=n+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var t=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=t.x+"px";this.bg.style.top=t.y+"px";p+=t.x;q+=t.y;f&&document.body.appendChild(this.bg);var r=a.createDiv("geDialog");f=this.getPosition(p,q, +d,b);p=f.x;q=f.y;r.style.width=d+"px";r.style.height=b+"px";r.style.left=p+"px";r.style.top=q+"px";r.style.zIndex=this.zIndex;r.appendChild(c);document.body.appendChild(r);!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=p+d+38-k+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(e),this.dialogImg=e,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(b){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){n=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=n+"px";p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2));q=Math.max(1,Math.round((n-b-a.footerHeight)/3));d=Math.min(l,document.body.scrollWidth-64);b= -Math.min(m,n-64);var e=this.getPosition(p,q,d,b);p=e.x;q=e.y;t.style.left=p+"px";t.style.top=q+"px";t.style.width=d+"px";t.style.height=b+"px";!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=p+d+38-h+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=k;this.container=t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +Math.min(m,n-64);var e=this.getPosition(p,q,d,b);p=e.x;q=e.y;r.style.left=p+"px";r.style.top=q+"px";r.style.width=d+"px";r.style.height=b+"px";!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=p+d+38-k+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=r;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -1999,29 +1999,29 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,c){return new mxPoint(a,c)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; var PrintDialog=function(a,c){this.create(a,c)}; -PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(n.value)/100;isNaN(c)&&(c=1,n.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var k=g.checked?1:parseInt(m.value);isNaN(k)||(f=mxUtils.getScaleForPageCount(k,d,e))}d.getGraphBounds();var h=k=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),k-=c.x*e.width,h-=c.y*e.height): -b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,k,h,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var k=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var h=document.createElement("span");mxUtils.write(h," "+mxResources.get("fitPage")); -f.appendChild(h);mxEvent.addListener(h,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);k.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);h=document.createElement("span");mxUtils.write(h," "+mxResources.get("posterPrint")+":");f.appendChild(h);mxEvent.addListener(h, -"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);k.appendChild(b);mxEvent.addListener(l,"change", -function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var n=document.createElement("input");n.setAttribute("value","100 %");n.setAttribute("size","5");n.style.width="50px";f.appendChild(n);b.appendChild(f);k.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; -f.style.paddingTop="20px";f.setAttribute("align","right");h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&f.appendChild(h);if(PrintDialog.previewEnabled){var p=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});p.className="geBtn";f.appendChild(p)}p=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});p.className="geBtn gePrimaryBtn";f.appendChild(p);a.editor.cancelFirst|| -f.appendChild(h);b.appendChild(f);k.appendChild(b);e.appendChild(k);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; -PrintDialog.createPrintPreview=function(a,c,d,b,f,e,k){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=k;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return c}; +PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(n.value)/100;isNaN(c)&&(c=1,n.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var h=g.checked?1:parseInt(m.value);isNaN(h)||(f=mxUtils.getScaleForPageCount(h,d,e))}d.getGraphBounds();var k=h=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),h-=c.x*e.width,k-=c.y*e.height): +b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,h,k,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var h=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("fitPage")); +f.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);h.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);k=document.createElement("span");mxUtils.write(k," "+mxResources.get("posterPrint")+":");f.appendChild(k);mxEvent.addListener(k, +"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);h.appendChild(b);mxEvent.addListener(l,"change", +function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var n=document.createElement("input");n.setAttribute("value","100 %");n.setAttribute("size","5");n.style.width="50px";f.appendChild(n);b.appendChild(f);h.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; +f.style.paddingTop="20px";f.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&f.appendChild(k);if(PrintDialog.previewEnabled){var p=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});p.className="geBtn";f.appendChild(p)}p=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});p.className="geBtn gePrimaryBtn";f.appendChild(p);a.editor.cancelFirst|| +f.appendChild(k);b.appendChild(f);h.appendChild(b);e.appendChild(h);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; +PrintDialog.createPrintPreview=function(a,c,d,b,f,e,h){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=h;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return c}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,k=document.createElement("table");k.style.width= -"100%";k.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var h=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); +var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,h=document.createElement("table");h.style.width= +"100%";h.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var k=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); mxUtils.write(e,mxResources.get("background")+":");f.appendChild(e);e=document.createElement("td");e.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var l=document.createElement("button");l.style.width="18px";l.style.height="18px";l.style.marginRight="20px";l.style.backgroundPosition="center center";l.style.backgroundRepeat="no-repeat";var m=b.background;c();mxEvent.addListener(l,"click",function(b){a.pickColor(m||"none",function(a){m=a;c()});mxEvent.consume(b)}); e.appendChild(l);mxUtils.write(e,mxResources.get("gridSize")+":");var n=document.createElement("input");n.setAttribute("type","number");n.setAttribute("min","0");n.style.width="40px";n.style.marginLeft="6px";n.value=b.getGridSize();e.appendChild(n);mxEvent.addListener(n,"change",function(){var a=parseInt(n.value);n.value=Math.max(1,isNaN(a)?b.getGridSize():a)});f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");mxUtils.write(e,mxResources.get("image")+ -":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var r= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});r.className="geBtn";a.editor.cancelFirst&&e.appendChild(r);var t=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,q,h.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& -c.ignoreColor&&c.ignoreImage||b.model.execute(c)});t.className="geBtn gePrimaryBtn";e.appendChild(t);a.editor.cancelFirst||e.appendChild(r);f.appendChild(e);g.appendChild(f);k.appendChild(g);this.container=k}; -PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||n!=document.activeElement&&p!=document.activeElement){a=!1;for(b=0;b<r.length;b++)c=r[b],u?"custom"==c.key&&(g.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==d.width?(d=mxRectangle.fromRectangle(d),d.width=827):826==d.height&&(d=mxRectangle.fromRectangle(d),d.height=827):"a5"==c.key&&(584==d.width?(d=mxRectangle.fromRectangle(d),d.width=583):584==d.height&&(d=mxRectangle.fromRectangle(d),d.height=583)),d.width==c.format.width&& -d.height==c.format.height?(g.value=c.key,e.setAttribute("checked","checked"),e.defaultChecked=!0,e.checked=!0,k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1,a=!0):d.width==c.format.height&&d.height==c.format.width&&(g.value=c.key,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,k.setAttribute("checked","checked"),k.defaultChecked=!0,a=k.checked=!0));a?(h.style.display="",m.style.display="none"):(n.value=d.width/100,p.value=d.height/100,e.setAttribute("checked","checked"), -g.value="custom",h.style.display="none",m.style.display="")}}c="format-"+c;var e=document.createElement("input");e.setAttribute("name",c);e.setAttribute("type","radio");e.setAttribute("value","portrait");var k=document.createElement("input");k.setAttribute("name",c);k.setAttribute("type","radio");k.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var h=document.createElement("div");h.style.marginLeft="4px";h.style.width="210px"; -h.style.height="24px";e.style.marginRight="6px";h.appendChild(e);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));h.appendChild(c);k.style.marginLeft="10px";k.style.marginRight="6px";h.appendChild(k);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));h.appendChild(l);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var n=document.createElement("input"); -n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");h.style.display="none";m.style.display="none";for(var q={},r=PageSetupDialog.getFormats(),t=0;t<r.length;t++){var w=r[t];q[w.key]=w;var v=document.createElement("option");v.setAttribute("value",w.key);mxUtils.write(v,w.title);g.appendChild(v)}var u=!1;f();a.appendChild(g);mxUtils.br(a); -a.appendChild(h);a.appendChild(m);var z=d,x=function(a,c){var e=q[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",h.style.display=""):(h.style.display="none",m.style.display="");isNaN(parseFloat(n.value))&&(n.value=d.width/100);isNaN(parseFloat(p.value))&&(p.value=d.height/100);e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&k.checked&&(e=new mxRectangle(0,0,e.height,e.width)); -c&&u||e.width==z.width&&e.height==z.height||(z=e,null!=b&&b(z))};mxEvent.addListener(c,"click",function(a){e.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){k.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",x);mxEvent.addListener(n,"click",x);mxEvent.addListener(p,"blur",x);mxEvent.addListener(p,"click",x);mxEvent.addListener(k,"change",x);mxEvent.addListener(e,"change",x);mxEvent.addListener(g,"change",function(a){u="custom"==g.value;x(a,!0)});x(); +":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var t= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});t.className="geBtn";a.editor.cancelFirst&&e.appendChild(t);var r=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,q,k.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& +c.ignoreColor&&c.ignoreImage||b.model.execute(c)});r.className="geBtn gePrimaryBtn";e.appendChild(r);a.editor.cancelFirst||e.appendChild(t);f.appendChild(e);g.appendChild(f);h.appendChild(g);this.container=h}; +PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||n!=document.activeElement&&p!=document.activeElement){a=!1;for(b=0;b<t.length;b++)c=t[b],u?"custom"==c.key&&(g.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==d.width?(d=mxRectangle.fromRectangle(d),d.width=827):826==d.height&&(d=mxRectangle.fromRectangle(d),d.height=827):"a5"==c.key&&(584==d.width?(d=mxRectangle.fromRectangle(d),d.width=583):584==d.height&&(d=mxRectangle.fromRectangle(d),d.height=583)),d.width==c.format.width&& +d.height==c.format.height?(g.value=c.key,e.setAttribute("checked","checked"),e.defaultChecked=!0,e.checked=!0,h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1,a=!0):d.width==c.format.height&&d.height==c.format.width&&(g.value=c.key,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,h.setAttribute("checked","checked"),h.defaultChecked=!0,a=h.checked=!0));a?(k.style.display="",m.style.display="none"):(n.value=d.width/100,p.value=d.height/100,e.setAttribute("checked","checked"), +g.value="custom",k.style.display="none",m.style.display="")}}c="format-"+c;var e=document.createElement("input");e.setAttribute("name",c);e.setAttribute("type","radio");e.setAttribute("value","portrait");var h=document.createElement("input");h.setAttribute("name",c);h.setAttribute("type","radio");h.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var k=document.createElement("div");k.style.marginLeft="4px";k.style.width="210px"; +k.style.height="24px";e.style.marginRight="6px";k.appendChild(e);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));k.appendChild(c);h.style.marginLeft="10px";h.style.marginRight="6px";k.appendChild(h);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));k.appendChild(l);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var n=document.createElement("input"); +n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");k.style.display="none";m.style.display="none";for(var q={},t=PageSetupDialog.getFormats(),r=0;r<t.length;r++){var v=t[r];q[v.key]=v;var w=document.createElement("option");w.setAttribute("value",v.key);mxUtils.write(w,v.title);g.appendChild(w)}var u=!1;f();a.appendChild(g);mxUtils.br(a); +a.appendChild(k);a.appendChild(m);var z=d,x=function(a,c){var e=q[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",k.style.display=""):(k.style.display="none",m.style.display="");isNaN(parseFloat(n.value))&&(n.value=d.width/100);isNaN(parseFloat(p.value))&&(p.value=d.height/100);e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&h.checked&&(e=new mxRectangle(0,0,e.height,e.width)); +c&&u||e.width==z.width&&e.height==z.height||(z=e,null!=b&&b(z))};mxEvent.addListener(c,"click",function(a){e.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){h.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",x);mxEvent.addListener(n,"click",x);mxEvent.addListener(p,"blur",x);mxEvent.addListener(p,"click",x);mxEvent.addListener(h,"change",x);mxEvent.addListener(e,"change",x);mxEvent.addListener(g,"change",function(a){u="custom"==g.value;x(a,!0)});x(); return{set:function(a){d=a;f(null,null,!0)},get:function(){return z},widthInput:n,heightInput:p}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:"US-Tabloid (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)", format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},{key:"custom",title:mxResources.get("custom"),format:null}]}; @@ -2032,33 +2032,33 @@ null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackground d="url("+this.gridImage+")";var f=c=0;null!=a.view.backgroundPageShape&&(f=this.getBackgroundPageBounds(),c=1+f.x,f=1+f.y);e=-Math.round(e-mxUtils.mod(this.translate.x*this.scale-c,e))+"px "+-Math.round(e-mxUtils.mod(this.translate.y*this.scale-f,e))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=e,a.view.backgroundPageShape.node.style.backgroundImage=d,a.view.backgroundPageShape.node.style.backgroundColor= b,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=e,c.style.backgroundColor=b,c.style.backgroundImage=d)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var c=this.gridSteps*b,d=[],e=1;e<this.gridSteps;e++){var g=e*b;d.push("M 0 "+g+" L "+c+" "+g+" M "+g+" 0 L "+g+" "+c)}return'<svg width="'+ c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+d.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= -this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var e=this.gridSize*this.view.scale*this.view.gridSteps,e=-Math.round(e-mxUtils.mod(this.view.translate.x*this.view.scale+b,e))+"px "+-Math.round(e-mxUtils.mod(this.view.translate.y*this.view.scale+c,e))+"px";d.style.backgroundPosition=e}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,e=this.view.translate,f=this.pageFormat,g=d*this.pageScale,k=this.view.getBackgroundPageBounds();b=k.width;c=k.height;var h= -new mxRectangle(d*e.x,d*e.y,f.width*g,f.height*g),l=(a=a&&Math.min(h.width,h.height)>this.minPageBreakDist)?Math.ceil(c/h.height)-1:0,v=a?Math.ceil(b/h.width)-1:0,u=k.x+b,z=k.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<v&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var b=a==this.horizontalPageBreaks?l:v,c=0;c<=b;c++){var d=a==this.horizontalPageBreaks?[new mxPoint(Math.round(k.x),Math.round(k.y+(c+1)*h.height)), -new mxPoint(Math.round(u),Math.round(k.y+(c+1)*h.height))]:[new mxPoint(Math.round(k.x+(c+1)*h.width),Math.round(k.y)),new mxPoint(Math.round(k.x+(c+1)*h.width),Math.round(z))];null!=a[c]?(a[c].points=d,a[c].redraw()):(d=new mxPolyline(d,this.pageBreakColor),d.dialect=this.dialect,d.isDashed=this.pageBreakDashed,d.pointerEvents=!1,d.init(this.view.backgroundPane),d.redraw(),a[c]=d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; -var c=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,d){for(var e=0;e<b.length;e++)if(this.graph.getModel().isVertex(b[e])){var f=this.graph.getCellGeometry(b[e]);if(null!=f&&f.relative)return!1}return c.apply(this,arguments)};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()? -!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,e=this.graph.pageScale,f=d.width*e,d=d.height*e,e=Math.floor(Math.min(0,b)/f),k=Math.floor(Math.min(0, -c)/d);return new mxRectangle(this.scale*(this.translate.x+e*f),this.scale*(this.translate.y+k*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/f)-e)*f,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-k)*d)};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,c){b.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= -a+"px",this.view.backgroundPageShape.node.style.marginTop=c+"px")};var f=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,e,k){var g=f.apply(this,arguments);null==k||k||mxEvent.addListener(g,"mousedown",function(a){mxEvent.consume(a)});return g};var e=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=e.apply(this,arguments),f=b.getParent(d); -if(null==c||c!=d&&c!=f)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(f)&&b.isVertex(f)&&!this.graph.isContainer(f);)d=f,f=this.graph.getModel().getParent(d);return d};var k=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=k.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),e=d.getParent(a);null!=e;){if(this.graph.isCellSelected(e)&&d.isVertex(e)){c=!0;break}e=d.getParent(e)}return c};mxGraphHandler.prototype.selectDelayed= +this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var e=this.gridSize*this.view.scale*this.view.gridSteps,e=-Math.round(e-mxUtils.mod(this.view.translate.x*this.view.scale+b,e))+"px "+-Math.round(e-mxUtils.mod(this.view.translate.y*this.view.scale+c,e))+"px";d.style.backgroundPosition=e}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,e=this.view.translate,g=this.pageFormat,f=d*this.pageScale,h=this.view.getBackgroundPageBounds();b=h.width;c=h.height;var k= +new mxRectangle(d*e.x,d*e.y,g.width*f,g.height*f),l=(a=a&&Math.min(k.width,k.height)>this.minPageBreakDist)?Math.ceil(c/k.height)-1:0,w=a?Math.ceil(b/k.width)-1:0,u=h.x+b,z=h.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var b=a==this.horizontalPageBreaks?l:w,c=0;c<=b;c++){var d=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*k.height)), +new mxPoint(Math.round(u),Math.round(h.y+(c+1)*k.height))]:[new mxPoint(Math.round(h.x+(c+1)*k.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*k.width),Math.round(z))];null!=a[c]?(a[c].points=d,a[c].redraw()):(d=new mxPolyline(d,this.pageBreakColor),d.dialect=this.dialect,d.isDashed=this.pageBreakDashed,d.pointerEvents=!1,d.init(this.view.backgroundPane),d.redraw(),a[c]=d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; +var c=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,d){for(var e=0;e<b.length;e++)if(this.graph.getModel().isVertex(b[e])){var g=this.graph.getCellGeometry(b[e]);if(null!=g&&g.relative)return!1}return c.apply(this,arguments)};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()? +!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,e=this.graph.pageScale,f=d.width*e,d=d.height*e,e=Math.floor(Math.min(0,b)/f),h=Math.floor(Math.min(0, +c)/d);return new mxRectangle(this.scale*(this.translate.x+e*f),this.scale*(this.translate.y+h*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/f)-e)*f,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-h)*d)};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,c){b.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= +a+"px",this.view.backgroundPageShape.node.style.marginTop=c+"px")};var f=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,e,h){var g=f.apply(this,arguments);null==h||h||mxEvent.addListener(g,"mousedown",function(a){mxEvent.consume(a)});return g};var e=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=e.apply(this,arguments),g=b.getParent(d); +if(null==c||c!=d&&c!=g)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(g)&&b.isVertex(g)&&!this.graph.isContainer(g);)d=g,g=this.graph.getModel().getParent(d);return d};var h=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=h.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),e=d.getParent(a);null!=e;){if(this.graph.isCellSelected(e)&&d.isVertex(e)){c=!0;break}e=d.getParent(e)}return c};mxGraphHandler.prototype.selectDelayed= function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var c=this.graph.view.getState(b);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),d=c.getParent(b);!this.graph.isCellSelected(d)&&c.isVertex(d);)b=d,d=c.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),c=b.getParent(a);b.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&& (a=c),c=b.getParent(c);return a}})();EditorUi=function(a,c,d){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=c||document.body;var b=this.editor.graph;b.lightbox=d;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,b.isEnabled=function(){return!1},b.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var f=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||b.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=f,this.menubarContainer.onmousedown= f,this.toolbarContainer.onselectstart=f,this.toolbarContainer.onmousedown=f,this.diagramContainer.onselectstart=f,this.diagramContainer.onmousedown=f,this.sidebarContainer.onselectstart=f,this.sidebarContainer.onmousedown=f,this.formatContainer.onselectstart=f,this.formatContainer.onmousedown=f,this.footerContainer.onselectstart=f,this.footerContainer.onmousedown=f,null!=this.tabContainer&&(this.tabContainer.onselectstart=f));!this.editor.chromeless||this.editor.editable?(c=function(a){var b=mxEvent.getSource(a); if("A"==b.nodeName)for(;null!=b;){if("geHint"==b.className)return!0;b=b.parentNode}return f(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",c):this.diagramContainer.oncontextmenu=c):b.panningHandler.usePopupTrigger=!1;b.init(this.diagramContainer);mxClient.IS_SVG&&null!=b.view.getDrawPane()&&(c=b.view.getDrawPane().ownerSVGElement,null!=c&&(c.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); -mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var e=!1,k=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,b){return e||k.apply(this,arguments)};this.keydownHandler= +mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var e=!1,h=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,b){return e||h.apply(this,arguments)};this.keydownHandler= mxUtils.bind(this,function(a){32==a.which?(e=!0,this.hoverIcons.reset(),b.container.style.cursor="move",b.isEditing()||mxEvent.getSource(a)!=b.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){b.container.style.cursor="";e=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var g=b.panningHandler.isForcePanningEvent;b.panningHandler.isForcePanningEvent= -function(a){return g.apply(this,arguments)||e||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var h=b.cellEditor.isStopEditingEvent;b.cellEditor.isStopEditingEvent=function(a){return h.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; +function(a){return g.apply(this,arguments)||e||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var k=b.cellEditor.isStopEditingEvent;b.cellEditor.isStopEditingEvent=function(a){return k.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; var l=!1,m=null,n=null,p=null,q=mxUtils.bind(this,function(){if(null!=this.toolbar&&l!=b.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,c=[];null!=a;){var d=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),c.push(a));a=d}a=this.toolbar.fontMenu;d=this.toolbar.sizeMenu;if(null==p)this.toolbar.createTextToolbar();else{for(var e=0;e<p.length;e++)this.toolbar.container.appendChild(p[e]);this.toolbar.fontMenu=m;this.toolbar.sizeMenu= -n}l=b.cellEditor.isContentEditing();m=a;n=d;p=c}}),r=this,t=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){t.apply(this,arguments);q();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=r.toolbar)){var d=c.fontFamily;"'"==d.charAt(0)&&(d=d.substring(1));"'"==d.charAt(d.length-1)&&(d= -d.substring(0,d.length-1));r.toolbar.setFontName(d);r.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",c);mxEvent.addListener(b.cellEditor.textarea,"touchend",c);mxEvent.addListener(b.cellEditor.textarea,"mouseup",c);mxEvent.addListener(b.cellEditor.textarea,"keyup",c);c()}};var w=b.cellEditor.stopEditing;b.cellEditor.stopEditing=function(a,b){w.apply(this,arguments);q()};b.container.setAttribute("tabindex","0");b.container.style.cursor="default"; -if(window.self===window.top&&null!=b.container.parentNode)try{b.container.focus()}catch(B){}var v=b.fireMouseEvent;b.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();v.apply(this,arguments)};b.popupMenuHandler.autoExpand=!0;null!=this.menus&&(b.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){b.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); -this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),z="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=b.view.getState(a);if(null!=c){a=a.clone();a.style="";a=b.getCellStyle(a);var d=[],e=[],f;for(f in c.style)a[f]!=c.style[f]&&(d.push(c.style[f]),e.push(f));f=b.getModel().getStyle(c.cell);for(var g=null!=f?f.split(";"):[],k=0;k<g.length;k++){var h=g[k], -l=h.indexOf("=");0<=l&&(f=h.substring(0,l),h=h.substring(l+1),null!=a[f]&&"none"==h&&(d.push(h),e.push(f)))}b.getModel().isEdge(c.cell)?b.currentEdgeStyle={}:b.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",e,"values",d,"cells",[c.cell]))}};this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var x= -["fontFamily","fontSize","fontColor"],C="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),A=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["opacity"],["align"],["html"]];for(a=0;a<A.length;a++)for(c=0;c<A[a].length;c++)u.push(A[a][c]);for(a=0;a<z.length;a++)0>mxUtils.indexOf(u,z[a])&&u.push(z[a]);var D=function(a,c){var d=b.getModel(); -d.beginUpdate();try{if(c)for(var e=d.isEdge(h),f=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],g=0;g<e.length;g++){var k=f[e[g]];null!=k&&b.setCellStyles(e[g],k,a)}else for(k=0;k<a.length;k++){for(var h=a[k],l=d.getStyle(h),m=null!=l?l.split(";"):[],G=u.slice(),g=0;g<m.length;g++){var p=m[g],y=p.indexOf("=");if(0<=y){var n=p.substring(0,y),R=mxUtils.indexOf(G,n);0<=R&&G.splice(R,1);for(var r=0;r<A.length;r++){var q=A[r];if(0<=mxUtils.indexOf(q,n))for(var t=0;t< -q.length;t++){var B=mxUtils.indexOf(G,q[t]);0<=B&&G.splice(B,1)}}}}for(var f=(e=d.isEdge(h))?b.currentEdgeStyle:b.currentVertexStyle,C=d.getStyle(h),g=0;g<G.length;g++){var n=G[g],w=f[n];null==w||"shape"==n&&!e||e&&!(0>mxUtils.indexOf(z,n))||(C=mxUtils.setStyle(C,n,w))}d.setStyle(h,C)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){D(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){D(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT, -function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));D(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,f=!1;if(0<d.length)for(var g=0;g<d.length&&(e=b.getModel().isVertex(d[g])||e,!(f=b.getModel().isEdge(d[g])||f)||!e);g++);else f=e=!0;for(var d=c.getProperty("keys"),k=c.getProperty("values"),g=0;g<d.length;g++){var h=0<=mxUtils.indexOf(x,d[g]);if("strokeColor"!=d[g]||null!=k[g]&&"none"!= -k[g])if(0<=mxUtils.indexOf(z,d[g]))f||0<=mxUtils.indexOf(C,d[g])?null==k[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=k[g]:e&&0<=mxUtils.indexOf(u,d[g])&&(null==k[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=k[g]);else if(0<=mxUtils.indexOf(u,d[g])){if(e||h)null==k[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=k[g];if(f||h||0<=mxUtils.indexOf(C,d[g]))null==k[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=k[g]}}null!=this.toolbar&&(this.toolbar.setFontName(b.currentVertexStyle.fontFamily|| +n}l=b.cellEditor.isContentEditing();m=a;n=d;p=c}}),t=this,r=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){r.apply(this,arguments);q();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=t.toolbar)){var d=c.fontFamily;"'"==d.charAt(0)&&(d=d.substring(1));"'"==d.charAt(d.length-1)&&(d= +d.substring(0,d.length-1));t.toolbar.setFontName(d);t.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",c);mxEvent.addListener(b.cellEditor.textarea,"touchend",c);mxEvent.addListener(b.cellEditor.textarea,"mouseup",c);mxEvent.addListener(b.cellEditor.textarea,"keyup",c);c()}};var v=b.cellEditor.stopEditing;b.cellEditor.stopEditing=function(a,b){v.apply(this,arguments);q()};b.container.setAttribute("tabindex","0");b.container.style.cursor="default"; +if(window.self===window.top&&null!=b.container.parentNode)try{b.container.focus()}catch(B){}var w=b.fireMouseEvent;b.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};b.popupMenuHandler.autoExpand=!0;null!=this.menus&&(b.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){b.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); +this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),z="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=b.view.getState(a);if(null!=c){a=a.clone();a.style="";a=b.getCellStyle(a);var d=[],e=[],g;for(g in c.style)a[g]!=c.style[g]&&(d.push(c.style[g]),e.push(g));g=b.getModel().getStyle(c.cell);for(var f=null!=g?g.split(";"):[],h=0;h<f.length;h++){var k=f[h], +l=k.indexOf("=");0<=l&&(g=k.substring(0,l),k=k.substring(l+1),null!=a[g]&&"none"==k&&(d.push(k),e.push(g)))}b.getModel().isEdge(c.cell)?b.currentEdgeStyle={}:b.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",e,"values",d,"cells",[c.cell]))}};this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var x= +["fontFamily","fontSize","fontColor"],D="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),A=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["opacity"],["align"],["html"]];for(a=0;a<A.length;a++)for(c=0;c<A[a].length;c++)u.push(A[a][c]);for(a=0;a<z.length;a++)0>mxUtils.indexOf(u,z[a])&&u.push(z[a]);var C=function(a,c){var d=b.getModel(); +d.beginUpdate();try{if(c)for(var e=d.isEdge(k),g=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var h=g[e[f]];null!=h&&b.setCellStyles(e[f],h,a)}else for(h=0;h<a.length;h++){for(var k=a[h],l=d.getStyle(k),m=null!=l?l.split(";"):[],G=u.slice(),f=0;f<m.length;f++){var p=m[f],y=p.indexOf("=");if(0<=y){var n=p.substring(0,y),R=mxUtils.indexOf(G,n);0<=R&&G.splice(R,1);for(var t=0;t<A.length;t++){var q=A[t];if(0<=mxUtils.indexOf(q,n))for(var r=0;r< +q.length;r++){var B=mxUtils.indexOf(G,q[r]);0<=B&&G.splice(B,1)}}}}for(var g=(e=d.isEdge(k))?b.currentEdgeStyle:b.currentVertexStyle,v=d.getStyle(k),f=0;f<G.length;f++){var n=G[f],D=g[n];null==D||"shape"==n&&!e||e&&!(0>mxUtils.indexOf(z,n))||(v=mxUtils.setStyle(v,n,D))}d.setStyle(k,v)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){C(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){C(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT, +function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));C(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,g=!1;if(0<d.length)for(var f=0;f<d.length&&(e=b.getModel().isVertex(d[f])||e,!(g=b.getModel().isEdge(d[f])||g)||!e);f++);else g=e=!0;for(var d=c.getProperty("keys"),h=c.getProperty("values"),f=0;f<d.length;f++){var k=0<=mxUtils.indexOf(x,d[f]);if("strokeColor"!=d[f]||null!=h[f]&&"none"!= +h[f])if(0<=mxUtils.indexOf(z,d[f]))g||0<=mxUtils.indexOf(D,d[f])?null==h[f]?delete b.currentEdgeStyle[d[f]]:b.currentEdgeStyle[d[f]]=h[f]:e&&0<=mxUtils.indexOf(u,d[f])&&(null==h[f]?delete b.currentVertexStyle[d[f]]:b.currentVertexStyle[d[f]]=h[f]);else if(0<=mxUtils.indexOf(u,d[f])){if(e||k)null==h[f]?delete b.currentVertexStyle[d[f]]:b.currentVertexStyle[d[f]]=h[f];if(g||k||0<=mxUtils.indexOf(D,d[f]))null==h[f]?delete b.currentEdgeStyle[d[f]]:b.currentEdgeStyle[d[f]]=h[f]}}null!=this.toolbar&&(this.toolbar.setFontName(b.currentVertexStyle.fontFamily|| Menus.prototype.defaultFont),this.toolbar.setFontSize(b.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==b.currentEdgeStyle.edgeStyle&&"1"==b.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==b.currentEdgeStyle.edgeStyle||"none"==b.currentEdgeStyle.edgeStyle||null==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== b.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==b.currentEdgeStyle.shape? "geSprite geSprite-linkedge":"flexArrow"==b.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==b.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",b.currentEdgeStyle.shape,b.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(b.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= @@ -2080,23 +2080,23 @@ EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,c= EditorUi.prototype.initClipboard=function(){var a=this,c=mxClipboard.cut;mxClipboard.cut=function(b){b.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):c.apply(this,arguments);a.updatePasteActionStates()};var d=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):d.apply(this,arguments);a.updatePasteActionStates()};var b=mxClipboard.paste;mxClipboard.paste=function(c){var d=null;c.cellEditor.isContentEditing()?document.execCommand("paste", !1,null):d=b.apply(this,arguments);a.updatePasteActionStates();return d};var f=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){f.apply(this,arguments);a.updatePasteActionStates()};var e=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){e.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),b=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width, -this.scale*a.height*b.height)};a.getPreferredPageSize=function(a,b,c){a=this.getPageLayout();b=this.getPageSize();return new mxRectangle(0,0,a.width*b.width,a.height*b.height)};var c=null,d=this;if(this.editor.isChromelessView()){this.chromelessResize=c=mxUtils.bind(this,function(b,c,d,e){if(null!=a.container){d=null!=d?d:0;e=null!=e?e:0;var f=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),k=a.view.translate,h=a.view.scale,l=mxRectangle.fromRectangle(f); -l.x=l.x/h-k.x;l.y=l.y/h-k.y;l.width/=h;l.height/=h;var k=a.container.scrollTop,m=a.container.scrollLeft,p=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)p+=3;var n=a.container.offsetWidth-p,p=a.container.offsetHeight-p;b=b?Math.max(.3,Math.min(c||1,n/l.width)):h;c=(n-b*l.width)/2/b;var r=0==this.lightboxVerticalDivider?0:(p-b*l.height)/this.lightboxVerticalDivider/b;g&&(c=Math.max(c,0),r=Math.max(r,0));if(g||f.width<n||f.height<p)a.view.scaleAndTranslate(b, -Math.floor(c-l.x),Math.floor(r-l.y)),a.container.scrollTop=k*b/h,a.container.scrollLeft=m*b/h;else if(0!=d||0!=e)f=a.view.translate,a.view.setTranslate(Math.floor(f.x+d/h),Math.floor(f.y+e/h))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var b=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",b);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",b)});this.editor.addListener("resetGraphView", +this.scale*a.height*b.height)};a.getPreferredPageSize=function(a,b,c){a=this.getPageLayout();b=this.getPageSize();return new mxRectangle(0,0,a.width*b.width,a.height*b.height)};var c=null,d=this;if(this.editor.isChromelessView()){this.chromelessResize=c=mxUtils.bind(this,function(b,c,d,e){if(null!=a.container){d=null!=d?d:0;e=null!=e?e:0;var f=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),h=a.view.translate,k=a.view.scale,l=mxRectangle.fromRectangle(f); +l.x=l.x/k-h.x;l.y=l.y/k-h.y;l.width/=k;l.height/=k;var h=a.container.scrollTop,m=a.container.scrollLeft,p=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)p+=3;var n=a.container.offsetWidth-p,p=a.container.offsetHeight-p;b=b?Math.max(.3,Math.min(c||1,n/l.width)):k;c=(n-b*l.width)/2/b;var t=0==this.lightboxVerticalDivider?0:(p-b*l.height)/this.lightboxVerticalDivider/b;g&&(c=Math.max(c,0),t=Math.max(t,0));if(g||f.width<n||f.height<p)a.view.scaleAndTranslate(b, +Math.floor(c-l.x),Math.floor(t-l.y)),a.container.scrollTop=h*b/k,a.container.scrollLeft=m*b/k;else if(0!=d||0!=e)f=a.view.translate,a.view.setTranslate(Math.floor(f.x+d/k),Math.floor(f.y+e/k))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var b=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",b);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",b)});this.editor.addListener("resetGraphView", mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(b){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(b){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= "nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var f=mxUtils.bind(this,function(){var b=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=b?parseInt(b["margin-bottom"]|| 0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",f);f();var e=0,f=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("span");d.style.paddingLeft="8px";d.style.paddingRight="8px";d.style.cursor="pointer";mxEvent.addListener(d,"click",a);null!=c&&d.setAttribute("title",c);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);d.appendChild(a);this.chromelessToolbar.appendChild(d); -return d}),k=f(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),g=document.createElement("div");g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily="Helvetica,Arial";g.style.marginTop="8px";g.style.color="#ffffff";this.chromelessToolbar.appendChild(g);var h=f(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), -l=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(g.innerHTML="",mxUtils.write(g,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});k.style.paddingLeft="0px";k.style.paddingRight="4px";h.style.paddingLeft="4px";h.style.paddingRight="0px";var m=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(h.style.display="",k.style.display="",g.style.display="inline-block"):(h.style.display="none",k.style.display= +return d}),h=f(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),g=document.createElement("div");g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily="Helvetica,Arial";g.style.marginTop="8px";g.style.color="#ffffff";this.chromelessToolbar.appendChild(g);var k=f(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), +l=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(g.innerHTML="",mxUtils.write(g,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});h.style.paddingLeft="0px";h.style.paddingRight="4px";k.style.paddingLeft="4px";k.style.paddingRight="0px";var m=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(k.style.display="",h.style.display="",g.style.display="inline-block"):(k.style.display="none",h.style.display= "none",g.style.display="none");l()});this.editor.addListener("resetGraphView",m);this.editor.addListener("pageSelected",l);f(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");f(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");f(mxUtils.bind(this,function(b){a.isLightboxView()?(1==a.view.scale? this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var n=null,p=null,q=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);n=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);n=null;p=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";p= -null}),600)}),a||200)}),r=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var t=f(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, -"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var c=t.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; -mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),w=a.getModel();w.addListener(mxEvent.CHANGE,function(){t.style.display=1<w.getChildCount(w.root)? +null}),600)}),a||200)}),t=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var r=f(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, +"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var c=r.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; +mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),v=a.getModel();v.addListener(mxEvent.CHANGE,function(){r.style.display=1<v.getChildCount(v.root)? "":"none"})}this.addChromelessToolbarItems(f);null!=this.editor.editButtonLink&&f(mxUtils.bind(this,function(b){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||f(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, -mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||r(30),q())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); -mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():r(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():r(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||r(30)}));var v=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX= -c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,c){mxEvent.isTouchEvent(c.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<v&&Math.abs(this.scrollTop-a.container.scrollTop)<v&&Math.abs(this.startX-c.getGraphX())<v&&Math.abs(this.startY-c.getGraphY())<v&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?q():r(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= +mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||t(30),q())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); +mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():t(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():t(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||t(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX= +c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,c){mxEvent.isTouchEvent(c.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-c.getGraphX())<w&&Math.abs(this.startY-c.getGraphY())<w&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?q():t(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}u.apply(this,arguments)};var z=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*c.x+b.width* d.width),f=Math.ceil(2*c.y+b.height*d.height),g=a.minimumGraphSize;if(null==g||g.width!=e||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,e,f);e=c.x-b.x*d.width;c=c.y-b.y*d.height;this.autoTranslate||this.view.translate.x==e&&this.view.translate.y==c?z.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(e,c),a.container.scrollLeft+=Math.round((e-b)*a.view.scale),a.container.scrollTop+=Math.round((c-d)*a.view.scale), this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var x=null;a.lazyZoom=function(b){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);b?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= @@ -2127,18 +2127,18 @@ EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),c=this.actions.get("redo"),d=this.editor.undoManager,b=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());c.setEnabled(this.canRedo())});d.addListener(mxEvent.ADD,b);d.addListener(mxEvent.UNDO,b);d.addListener(mxEvent.REDO,b);d.addListener(mxEvent.CLEAR,b);var f=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){f.apply(this,arguments);b()};var e=this.editor.graph.cellEditor.stopEditing; this.editor.graph.cellEditor.stopEditing=function(a,c){e.apply(this,arguments);b()};b()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,c=!a.isSelectionEmpty(),d=!1,b=!1,f=a.getSelectionCells();if(null!=f)for(var e=0;e<f.length;e++){var k=f[e];a.getModel().isEdge(k)&&(b=!0);a.getModel().isVertex(k)&&(d=!0);if(b&&d)break}f="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(e= -0;e<f.length;e++)this.actions.get(f[e]).setEnabled(c);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(b);this.actions.get("rotation").setEnabled(d);this.actions.get("wordWrap").setEnabled(d);this.actions.get("autosize").setEnabled(d);b=d&&1==a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()|| -b&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||b&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(b&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(c||null!=a.view.currentRoot);this.actions.get("collapsible").setEnabled(d&&(a.isContainer(a.getSelectionCell())|| -0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));c=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(c);this.actions.get("collapse").setEnabled(c);this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1== -a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);c=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(c);this.menus.get("insert").setEnabled(c);this.menus.get("direction").setEnabled(c&&d);this.menus.get("align").setEnabled(c&&d&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(c&&d&&1<a.getSelectionCount()); -this.actions.get("selectVertices").setEnabled(c);this.actions.get("selectEdges").setEnabled(c);this.actions.get("selectAll").setEnabled(c);this.actions.get("selectNone").setEnabled(c);this.updatePasteActionStates()}; +EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,c=!a.isSelectionEmpty(),d=!1,b=!1,f=a.getSelectionCells();if(null!=f)for(var e=0;e<f.length;e++){var h=f[e];a.getModel().isEdge(h)&&(b=!0);a.getModel().isVertex(h)&&(d=!0);if(b&&d)break}f="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(e= +0;e<f.length;e++)this.actions.get(f[e]).setEnabled(c);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(b);this.actions.get("rotation").setEnabled(d);this.actions.get("wordWrap").setEnabled(d);this.actions.get("autosize").setEnabled(d);b=d&&1== +a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||b&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||b&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(b&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(c||null!=a.view.currentRoot); +this.actions.get("collapsible").setEnabled(d&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));c=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(c);this.actions.get("collapse").setEnabled(c); +this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);c=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(c);this.menus.get("insert").setEnabled(c);this.menus.get("direction").setEnabled(c&&d);this.menus.get("align").setEnabled(c&& +d&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(c&&d&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(c);this.actions.get("selectEdges").setEnabled(c);this.actions.get("selectAll").setEnabled(c);this.actions.get("selectNone").setEnabled(c);this.updatePasteActionStates()}; EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var c=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),d=this.container.clientWidth,b=this.container.clientHeight;this.container==document.body&&(d=document.body.clientWidth||document.documentElement.clientWidth,b=c?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var f=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& -(f=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var e=Math.max(0,Math.min(this.hsplitPosition,d-this.splitSize-20)),k=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",k+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",k+=this.toolbarHeight);0<k&&!mxClient.IS_QUIRKS&&(k+=1);var g=0;if(null!=this.sidebarFooterContainer){var h= -this.footerHeight+f,g=Math.max(0,Math.min(b-k-h,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=e+"px";this.sidebarFooterContainer.style.height=g+"px";this.sidebarFooterContainer.style.bottom=h+"px"}h=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=k+"px";this.sidebarContainer.style.width=e+"px";this.formatContainer.style.top=k+"px";this.formatContainer.style.width=h+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= +(f=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var e=Math.max(0,Math.min(this.hsplitPosition,d-this.splitSize-20)),h=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",h+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",h+=this.toolbarHeight);0<h&&!mxClient.IS_QUIRKS&&(h+=1);var g=0;if(null!=this.sidebarFooterContainer){var k= +this.footerHeight+f,g=Math.max(0,Math.min(b-h-k,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=e+"px";this.sidebarFooterContainer.style.height=g+"px";this.sidebarFooterContainer.style.bottom=k+"px"}k=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=h+"px";this.sidebarContainer.style.width=e+"px";this.formatContainer.style.top=h+"px";this.formatContainer.style.width=k+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= null!=this.hsplit.parentNode?e+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+f+"px";this.hsplit.style.left=e+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);c?(this.menubarContainer.style.width=d+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, -c=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=c-g+"px",this.formatContainer.style.height=c+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,d-e-this.splitSize-h)+"px":d+"px",this.footerContainer.style.width=this.menubarContainer.style.width,g=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= -this.footerHeight+f+"px",g-=this.tabContainer.clientHeight),this.diagramContainer.style.height=g+"px",this.hsplit.style.height=g+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=f+"px"),this.diagramContainer.style.right=h+"px",d=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+f+"px",this.tabContainer.style.right=this.diagramContainer.style.right,d=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+g+f+"px",this.formatContainer.style.bottom= +c=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=c-g+"px",this.formatContainer.style.height=c+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,d-e-this.splitSize-k)+"px":d+"px",this.footerContainer.style.width=this.menubarContainer.style.width,g=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= +this.footerHeight+f+"px",g-=this.tabContainer.clientHeight),this.diagramContainer.style.height=g+"px",this.hsplit.style.height=g+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=f+"px"),this.diagramContainer.style.right=k+"px",d=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+f+"px",this.tabContainer.style.right=this.diagramContainer.style.right,d=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+g+f+"px",this.formatContainer.style.bottom= this.footerHeight+f+"px",this.diagramContainer.style.bottom=this.footerHeight+f+d+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand")); this.menubarContainer.style.top="0px";this.menubarContainer.style.left="0px";this.menubarContainer.style.right="0px";this.toolbarContainer.style.left="0px";this.toolbarContainer.style.right="0px";this.sidebarContainer.style.left="0px";this.formatContainer.style.right="0px";this.formatContainer.style.zIndex="1";this.diagramContainer.style.right=(null!=this.format?this.formatWidth:0)+"px";this.footerContainer.style.left="0px";this.footerContainer.style.right="0px";this.footerContainer.style.bottom= @@ -2148,8 +2148,8 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit, !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var c=document.createElement("div");c.className=a;return c}; -EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=k){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-k.x:k.y-e.y)-d));mxEvent.consume(a);g!=m()&&(h=!0,l=null)}}function e(a){f(a);k=g=null}var k=null,g=null,h=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){k=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));g=m();h=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!h){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,k){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,k);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=h){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-h.x:h.y-e.y)-d));mxEvent.consume(a);g!=m()&&(k=!0,l=null)}}function e(a){f(a);h=g=null}var h=null,g=null,k=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){h=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));g=m();k=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!k){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,h){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,h);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0<this.dialogs.length&&(this.dialogs.pop().close(a),this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&this.editor.graph.container.focus(),mxUtils.clearSelection(),this.editor.fireEvent(new mxEventObject("hideDialog")))}; EditorUi.prototype.pickColor=function(a,c){var d=this.editor.graph,b=d.cellEditor.saveSelection(),f=new ColorDialog(this,a||"none",function(a){d.cellEditor.restoreSelection(b);c(a)},function(){d.cellEditor.restoreSelection(b)});this.showDialog(f.container,230,430,!0,!1);f.init()}; EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})}; @@ -2159,21 +2159,22 @@ EditorUi.prototype.extractGraphModelFromEvent=function(a){var c=null,d=null;null EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,c);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(c.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(c))).simulate(document, "_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(c);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(d){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}}; EditorUi.prototype.executeLayout=function(a,c,d){var b=this.editor.graph;if(b.isEnabled()){b.getModel().beginUpdate();try{a()}catch(f){throw f;}finally{this.allowAnimation&&c&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(b),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){b.getModel().endUpdate();null!=d&&d()})),a.startAnimation()):(b.getModel().endUpdate(),null!=d&&d())}}}; -EditorUi.prototype.showImageDialog=function(a,c,d,b){b=this.editor.graph.cellEditor;var f=b.saveSelection(),e=mxUtils.prompt(a,c);b.restoreSelection(f);if(null!=e&&0<e.length){var k=new Image;k.onload=function(){d(e,k.width,k.height)};k.onerror=function(){d(null);mxUtils.alert(mxResources.get("fileNotFound"))};k.src=e}else d(null)};EditorUi.prototype.showLinkDialog=function(a,c,d){a=new LinkDialog(this,a,c,d);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showImageDialog=function(a,c,d,b){b=this.editor.graph.cellEditor;var f=b.saveSelection(),e=mxUtils.prompt(a,c);b.restoreSelection(f);if(null!=e&&0<e.length){var h=new Image;h.onload=function(){d(e,h.width,h.height)};h.onerror=function(){d(null);mxUtils.alert(mxResources.get("fileNotFound"))};h.src=e}else d(null)};EditorUi.prototype.showLinkDialog=function(a,c,d){a=new LinkDialog(this,a,c,d);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,340,340,!0,!1,null,!1),a.init())}; EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var c=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=c&&0<c.length){var d=new Image;d.onload=function(){a(new mxImage(c,d.width,d.height))};d.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};d.src=c}else a(null)}; EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,c,d){mxUtils.confirm(a)?null!=c&&c():null!=d&&d()}; EditorUi.prototype.createOutline=function(a){var c=new mxOutline(this.editor.graph);c.border=20;mxEvent.addListener(window,"resize",function(){c.update()});this.addListener("pageFormatChanged",function(){c.update()});return c}; -EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){k.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else e= +EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){h.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else e= b.getSelectionCell(),f=b.model.getParent(e),g=null,1==b.getSelectionCount()&&b.model.isVertex(e)&&null!=b.layoutManager&&!b.isCellLocked(e)&&(g=b.layoutManager.getLayout(f)),null!=g&&g.constructor==mxStackLayout?(g=f.getIndex(e),37==a||38==a?b.model.add(f,e,Math.max(0,g-1)):39!=a&&40!=a||b.model.add(f,e,Math.min(b.model.getChildCount(f),g+1))):(f=e=0,37==a?e=-c:38==a?f=-c:39==a?e=c:40==a&&(f=c),b.moveCells(b.getMovableCells(b.getSelectionCells()),e,f))});null!=g&&window.clearTimeout(g);g=window.setTimeout(function(){if(0< -k.length){b.getModel().beginUpdate();try{for(var a=0;a<k.length;a++)k[a]();k=[]}finally{b.getModel().endUpdate()}b.scrollCellToVisible(b.getSelectionCell())}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& -!mxClient.IS_SF)&&e.apply(this,arguments)};f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var k=[],g=null,h={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction,m={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), -76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip")};mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=m[a.keyCode];if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=h[a.keyCode]&&!b.isSelectionEmpty())if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c= -b.connectVertex(b.getSelectionCell(),h[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this, -arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,function(){b.enterGroup()});f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107, -!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){b.isEnabled()&&b.setSelectionCells(b.duplicateCells(b.getSelectionCells(),!1))}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1, -"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,"selectNone",!0),f.bindAction(73,!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0, -"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,!0,"grid",!0),f.bindAction(73,!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers", -!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f}; +h.length){b.getModel().beginUpdate();try{for(var a=0;a<h.length;a++)h[a]();h=[]}finally{b.getModel().endUpdate()}b.scrollCellToVisible(b.getSelectionCell())}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& +!mxClient.IS_SF)&&e.apply(this,arguments)};f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var h=[],g=null,k={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction,m={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), +76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip"),86:this.actions.get("pasteSize"),88:this.actions.get("copySize")};mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=m[a.keyCode];if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=k[a.keyCode]&&!b.isSelectionEmpty())if(mxEvent.isShiftDown(a)&& +mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c=b.connectVertex(b.getSelectionCell(),k[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,mxEvent.isShiftDown(a)? +b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this,arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,function(){b.enterGroup()}); +f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107,!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){b.isEnabled()&&b.setSelectionCells(b.duplicateCells(b.getSelectionCells(), +!1))}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1,"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,"selectNone",!0),f.bindAction(73, +!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0,"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,!0,"grid",!0),f.bindAction(73, +!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers",!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f}; EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&& (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window, "scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var c=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<c.length;a++)null!=c[a]&&null!=c[a].parentNode&&c[a].parentNode.removeChild(c[a])};function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=a.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.antiAlias=!1;this.graph.foldingEnabled=!1;this.graph.container.style.visibility="hidden";document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=!0});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler); @@ -2188,26 +2189,26 @@ Sidebar.prototype.expandedImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhD Sidebar.prototype.searchImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEaSURBVHjabNGxS5VxFIfxz71XaWuQUJCG/gCHhgTD9VpEETg4aMOlQRp0EoezObgcd220KQiXmpretTAHQRBdojlQEJyukPdt+b1ywfvAGc7wnHP4nlZd1yKijQW8xzNc4Su+ZOYfQ3T6/f4YNvEJYzjELXp4VVXVz263+7cR2niBxAFeZ2YPi3iHR/gYERPDwhpOsd6sz8x/mfkNG3iOlWFhFj8y89J9KvzGXER0GuEaD42mgwHqUtoljbcRsTBCeINpfM/MgZLKPpaxFxGbOCqDXmILN7hoJrTKH+axhxmcYRxP0MIDnOBDZv5q1XUNIuJxifJp+UNV7t7BFM6xeic0RMQ4Bpl5W/ol7GISx/eEUUTECrbx+f8A8xhiZht9zsgAAAAASUVORK5CYII=":IMAGE_PATH+ "/search.png";Sidebar.prototype.dragPreviewBorder="1px dashed black";Sidebar.prototype.enableTooltips=!0;Sidebar.prototype.tooltipBorder=16;Sidebar.prototype.tooltipDelay=300;Sidebar.prototype.dropTargetDelay=200;Sidebar.prototype.gearImage=STENCIL_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.thumbWidth=36;Sidebar.prototype.thumbHeight=36;Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1;Sidebar.prototype.thumbBorder=2;Sidebar.prototype.sidebarTitleSize=9; Sidebar.prototype.sidebarTitles=!1;Sidebar.prototype.tooltipTitles=!0;Sidebar.prototype.maxTooltipWidth=400;Sidebar.prototype.maxTooltipHeight=400;Sidebar.prototype.addStencilsToIndex=!0;Sidebar.prototype.defaultImageWidth=80;Sidebar.prototype.defaultImageHeight=80;Sidebar.prototype.getTooltipOffset=function(){return new mxPoint(0,0)}; -Sidebar.prototype.showTooltip=function(a,c,d,b,f,e){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=a){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var k=mxUtils.bind(this,function(){null==this.tooltip&&(this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,document.body.appendChild(this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()), +Sidebar.prototype.showTooltip=function(a,c,d,b,f,e){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=a){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var h=mxUtils.bind(this,function(){null==this.tooltip&&(this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,document.body.appendChild(this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()), this.graph2.resetViewOnRootChange=!1,this.graph2.foldingEnabled=!1,this.graph2.gridEnabled=!1,this.graph2.autoScroll=!1,this.graph2.setTooltips(!1),this.graph2.setConnectable(!1),this.graph2.setEnabled(!1),mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative"),this.tooltipImage=mxUtils.createImage(this.tooltipImage),this.tooltipImage.className="geSidebarTooltipImage",this.tooltipImage.style.zIndex=mxPopupMenu.prototype.zIndex-1,this.tooltipImage.style.position="absolute",this.tooltipImage.style.width= "14px",this.tooltipImage.style.height="27px",document.body.appendChild(this.tooltipImage));this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder);this.graph2.view.scale=d>this.maxTooltipWidth||b>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/d,this.maxTooltipHeight/b))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==e||e;var g=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph2.addCells(c); -mxClient.NO_FO=g;var k=this.graph2.getGraphBounds(),l=k.width+2*this.tooltipBorder+4,g=k.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=f&&0<f.length?(null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center", +mxClient.NO_FO=g;var h=this.graph2.getGraphBounds(),l=h.width+2*this.tooltipBorder+4,g=h.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=f&&0<f.length?(null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center", this.tooltipTitle.style.width="100%",this.tooltipTitle.style.overflow="hidden",this.tooltipTitle.style.position="absolute",this.tooltipTitle.style.paddingTop="6px",this.tooltipTitle.style.bottom="6px",this.tooltip.appendChild(this.tooltipTitle)):this.tooltipTitle.innerHTML="",this.tooltipTitle.style.display="",mxUtils.write(this.tooltipTitle,f),l=this.tooltipTitle.offsetHeight+10,g+=l,mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-l+"px":(g-=6,this.tooltipTitle.style.top=g-l+"px")):null!=this.tooltipTitle&& -null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");this.tooltip.style.height=g+"px";var l=-Math.round(k.x-this.tooltipBorder),k=-Math.round(k.y-this.tooltipBorder),m=document.body,n=document.documentElement,p=this.getTooltipOffset(),q=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+p.x,m=Math.min(Math.max(m.clientHeight||0,n.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop- -g/2+16))+p.y;mxClient.IS_SVG?0!=l||0!=k?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+k+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=k+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=q+"px";this.tooltip.style.top=m+"px";this.tooltipImage.style.left=q-13+"px";this.tooltipImage.style.top=m+g/2-13+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?k():this.thread= -window.setTimeout(k,this.tooltipDelay);this.currentElt=a}};Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.tooltipImage.style.visibility="hidden",this.currentElt=null)};Sidebar.prototype.addDataEntry=function(a,c,d,b,f){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(f,c,d,b)}))}; +null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");this.tooltip.style.height=g+"px";var l=-Math.round(h.x-this.tooltipBorder),h=-Math.round(h.y-this.tooltipBorder),m=document.body,n=document.documentElement,p=this.getTooltipOffset(),q=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+p.x,m=Math.min(Math.max(m.clientHeight||0,n.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop- +g/2+16))+p.y;mxClient.IS_SVG?0!=l||0!=h?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+h+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=h+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=q+"px";this.tooltip.style.top=m+"px";this.tooltipImage.style.left=q-13+"px";this.tooltipImage.style.top=m+g/2-13+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?h():this.thread= +window.setTimeout(h,this.tooltipDelay);this.currentElt=a}};Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.tooltipImage.style.visibility="hidden",this.currentElt=null)};Sidebar.prototype.addDataEntry=function(a,c,d,b,f){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(f,c,d,b)}))}; Sidebar.prototype.addEntry=function(a,c){if(null!=this.taglist&&null!=a&&0<a.length)for(var d=a.toLowerCase().replace(/[\/\,\(\)]/g," ").split(" "),b=mxUtils.bind(this,function(a){if(1<a.length){var b=this.taglist[a];"object"!==typeof b&&(b={entries:[],dict:new mxDictionary},this.taglist[a]=b);null==b.dict.get(c)&&(b.dict.put(c,c),b.entries.push(c))}}),f=0;f<d.length;f++){b(d[f]);var e=d[f].replace(/\.*\d*$/,"");e!=d[f]&&b(e)}return c}; -Sidebar.prototype.searchEntries=function(a,c,d,b,f){if(null!=this.taglist&&null!=a){var e=a.toLowerCase().split(" ");f=new mxDictionary;var k=(d+1)*c;a=[];for(var g=0,h=0;h<e.length;h++)if(0<e[h].length){var l=this.taglist[e[h]],m=new mxDictionary;if(null!=l){var n=l.entries;a=[];for(var p=0;p<n.length;p++)if(l=n[p],0==g==(null==f.get(l))&&(m.put(l,l),a.push(l),h==e.length-1&&a.length==k)){b(a.slice(d*c,k),k,!0,e);return}}else a=[];f=m;g++}f=a.length;b(a.slice(d*c,(d+1)*c),f,!1,e)}else b([],null, +Sidebar.prototype.searchEntries=function(a,c,d,b,f){if(null!=this.taglist&&null!=a){var e=a.toLowerCase().split(" ");f=new mxDictionary;var h=(d+1)*c;a=[];for(var g=0,k=0;k<e.length;k++)if(0<e[k].length){var l=this.taglist[e[k]],m=new mxDictionary;if(null!=l){var n=l.entries;a=[];for(var p=0;p<n.length;p++)if(l=n[p],0==g==(null==f.get(l))&&(m.put(l,l),a.push(l),k==e.length-1&&a.length==h)){b(a.slice(d*c,h),h,!0,e);return}}else a=[];f=m;g++}f=a.length;b(a.slice(d*c,(d+1)*c),f,!1,e)}else b([],null, null,e)};Sidebar.prototype.filterTags=function(a){if(null!=a){a=a.split(" ");for(var c=[],d={},b=0;b<a.length;b++)null==d[a[b]]&&(d[a[b]]="1",c.push(a[b]));return c.join(" ")}return null};Sidebar.prototype.cloneCell=function(a,c){var d=a.clone();null!=c&&(d.value=c);return d}; Sidebar.prototype.addSearchPalette=function(a){var c=document.createElement("div");c.style.visibility="hidden";this.container.appendChild(c);var d=document.createElement("div");d.className="geSidebar";d.style.boxSizing="border-box";d.style.overflow="hidden";d.style.width="100%";d.style.padding="8px";d.style.paddingTop="14px";d.style.paddingBottom="0px";a||(d.style.display="none");var b=document.createElement("div");b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.paddingBottom="8px"; b.style.cursor="default";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("searchShapes"));f.setAttribute("type","text");f.style.fontSize="12px";f.style.overflow="hidden";f.style.boxSizing="border-box";f.style.border="solid 1px #d5d5d5";f.style.borderRadius="4px";f.style.width="100%";f.style.outline="none";f.style.padding="6px";b.appendChild(f);var e=document.createElement("img");e.setAttribute("src",Sidebar.prototype.searchImage);e.setAttribute("title",mxResources.get("search")); -e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(f.style.height="28px",e.style.top="-4px"):e.style.top="1px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var k;b.appendChild(e);d.appendChild(b);var g=document.createElement("center"),h=mxUtils.button(mxResources.get("moreResults"),function(){k()});h.style.display="none";h.style.lineHeight="normal";h.style.marginTop="4px";h.style.marginBottom="8px";g.style.paddingTop="4px";g.style.paddingBottom="8px";g.appendChild(h); -d.appendChild(g);var l="",m=!1,n=!1,p=0,q={},r=12,t=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),h.style.display="none",l=f.value="",t());f.focus()});k=mxUtils.bind(this,function(){r=4*Math.max(1, -Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(t(),l=f.value,q={},n=!1,p=0),!m&&!n)){h.setAttribute("disabled","true");h.style.display="";h.style.cursor="wait";h.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,r,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;g.parentNode.removeChild(g);this.insertSearchHint(d,l,r,p,b,c,e, -f);for(c=0;c<b.length;c++)f=b[c](),null==q[f.innerHTML]&&(q[f.innerHTML]="1",d.appendChild(b[c]()));e?(h.removeAttribute("disabled"),h.innerHTML=mxResources.get("moreResults")):(h.innerHTML=mxResources.get("reset"),h.style.display="none",n=!0);h.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){h.style.cursor=""}))}}else t(),l=f.value="",q={},h.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){13==a.keyCode&&(k(),mxEvent.consume(a))})); -mxEvent.addListener(f,"focus",function(){f.style.paddingRight=""});mxEvent.addListener(f,"blur",function(){f.style.paddingRight="20px"});f.style.paddingRight="20px";mxEvent.addListener(f,"keyup",mxUtils.bind(this,function(a){""==f.value?(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search"))):(e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("reset")));""==f.value?(n=!0,h.style.display="none"):f.value!=l?(h.style.display= -"none",n=!1):m||(h.style.display=n?"none":"")}));mxEvent.addListener(f,"mousedown",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});mxEvent.addListener(f,"selectstart",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});a=document.createElement("div");a.appendChild(d);this.container.appendChild(a);this.palettes.search=[c,a]}; -Sidebar.prototype.insertSearchHint=function(a,c,d,b,f,e,k,g){0==f.length&&1==b&&(d=document.createElement("div"),d.className="geTitle",d.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(d,mxResources.get("noResultsFor",[c])),a.appendChild(d))}; +e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(f.style.height="28px",e.style.top="-4px"):e.style.top="1px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var h;b.appendChild(e);d.appendChild(b);var g=document.createElement("center"),k=mxUtils.button(mxResources.get("moreResults"),function(){h()});k.style.display="none";k.style.lineHeight="normal";k.style.marginTop="4px";k.style.marginBottom="8px";g.style.paddingTop="4px";g.style.paddingBottom="8px";g.appendChild(k); +d.appendChild(g);var l="",m=!1,n=!1,p=0,q={},t=12,r=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),k.style.display="none",l=f.value="",r());f.focus()});h=mxUtils.bind(this,function(){t=4*Math.max(1, +Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(r(),l=f.value,q={},n=!1,p=0),!m&&!n)){k.setAttribute("disabled","true");k.style.display="";k.style.cursor="wait";k.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,t,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;g.parentNode.removeChild(g);this.insertSearchHint(d,l,t,p,b,c,e, +f);for(c=0;c<b.length;c++)f=b[c](),null==q[f.innerHTML]&&(q[f.innerHTML]="1",d.appendChild(b[c]()));e?(k.removeAttribute("disabled"),k.innerHTML=mxResources.get("moreResults")):(k.innerHTML=mxResources.get("reset"),k.style.display="none",n=!0);k.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){k.style.cursor=""}))}}else r(),l=f.value="",q={},k.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){13==a.keyCode&&(h(),mxEvent.consume(a))})); +mxEvent.addListener(f,"focus",function(){f.style.paddingRight=""});mxEvent.addListener(f,"blur",function(){f.style.paddingRight="20px"});f.style.paddingRight="20px";mxEvent.addListener(f,"keyup",mxUtils.bind(this,function(a){""==f.value?(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search"))):(e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("reset")));""==f.value?(n=!0,k.style.display="none"):f.value!=l?(k.style.display= +"none",n=!1):m||(k.style.display=n?"none":"")}));mxEvent.addListener(f,"mousedown",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});mxEvent.addListener(f,"selectstart",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});a=document.createElement("div");a.appendChild(d);this.container.appendChild(a);this.palettes.search=[c,a]}; +Sidebar.prototype.insertSearchHint=function(a,c,d,b,f,e,h,g){0==f.length&&1==b&&(d=document.createElement("div"),d.className="geTitle",d.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(d,mxResources.get("noResultsFor",[c])),a.appendChild(d))}; Sidebar.prototype.addGeneralPalette=function(a){var c=[this.createVertexTemplateEntry("rounded=0;whiteSpace=wrap;html=1;",120,60,"","Rectangle",null,null,"rect rectangle box"),this.createVertexTemplateEntry("rounded=1;whiteSpace=wrap;html=1;",120,60,"","Rounded Rectangle",null,null,"rounded rect rectangle box"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;",40,20,"Text","Text",null,null,"text textbox textarea label"), this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;",190,120,"<h1>Heading</h1><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>","Textbox",null,null,"text textbox textarea"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;",120,80,"","Ellipse",null,null,"oval ellipse state"),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;aspect=fixed;", 80,80,"","Square",null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;",120,60,"","Process",null,null,"process task"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;",80,80,"","Diamond",null,null,"diamond rhombus if condition decision conditional question test"),this.createVertexTemplateEntry("shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;", @@ -2308,100 +2309,100 @@ this.createVertexTemplateEntry("shape=mxgraph.bpmn.compensation;html=1;outlineCo 100,0,"","Conditional Flow",null,"bpmn conditional flow"),this.createEdgeTemplateEntry("startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;",100,0,"","Message Flow 1",null,"bpmn message flow"),this.addEntry("bpmn message flow",function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(100, 0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("",new mxGeometry(0,0,20,14),"shape=message;html=1;outlineConnect=0;");b.geometry.relative=!0;b.vertex=!0;b.geometry.offset=new mxPoint(-10,-7);a.insert(b);return d.createEdgeTemplateFromCells([a],100,0,"Message Flow 2")}),this.createEdgeTemplateEntry("shape=link;html=1;",100,0,"","Link",null,"bpmn link")];this.addPaletteFunctions("bpmn","BPMN "+mxResources.get("general"),!1,b)}; Sidebar.prototype.createTitle=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.setAttribute("title",mxResources.get("sidebarTooltip"));c.className="geTitle";mxUtils.write(c,a);return c}; -Sidebar.prototype.createThumb=function(a,c,d,b,f,e,k,g,h){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| +Sidebar.prototype.createThumb=function(a,c,d,b,f,e,h,g,k){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| mxClient.NO_FO){if(g=this.graph.container.cloneNode(!1),g.innerHTML=this.graph.container.innerHTML,mxClient.IS_QUIRKS||8==document.documentMode)g.firstChild.style.overflow="visible"}else g=this.graph.view.getCanvas().ownerSVGElement.cloneNode(!0);this.graph.getModel().clear();mxClient.NO_FO=e;mxClient.IS_IE6&&(b.style.backgroundImage="url("+this.editorUi.editor.transparentImage+")");g.style.position="relative";g.style.overflow="hidden";g.style.cursor="move";g.style.left=this.thumbBorder+"px";g.style.top= -this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=k&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), +this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=h&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), c.style.paddingTop="4px",mxUtils.write(c,f),b.appendChild(c));return a}; -Sidebar.prototype.createItem=function(a,c,d,b,f,e,k){var g=document.createElement("a");g.setAttribute("href","javascript:void(0);");g.className="geItem";g.style.overflow="hidden";var h=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;g.style.width=this.thumbWidth+h+"px";g.style.height=this.thumbHeight+h+"px";g.style.padding=this.thumbPadding+"px";mxClient.IS_IE6&&(g.style.border="none");mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});this.createThumb(a,this.thumbWidth,this.thumbHeight, -g,c,d,b,f,e);var l=new mxRectangle(0,0,f,e);1<a.length||a[0].vertex?(b=this.createDragSource(g,this.createDropHandler(a,!0,k,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a),b.isGuidesEnabled=mxUtils.bind(this,function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled})):null!=a[0]&&a[0].edge&&(b=this.createDragSource(g,this.createDropHandler(a,!1,k,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a));mxClient.IS_IOS||mxEvent.addGestureListeners(g,null,mxUtils.bind(this, +Sidebar.prototype.createItem=function(a,c,d,b,f,e,h){var g=document.createElement("a");g.setAttribute("href","javascript:void(0);");g.className="geItem";g.style.overflow="hidden";var k=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;g.style.width=this.thumbWidth+k+"px";g.style.height=this.thumbHeight+k+"px";g.style.padding=this.thumbPadding+"px";mxClient.IS_IE6&&(g.style.border="none");mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});this.createThumb(a,this.thumbWidth,this.thumbHeight, +g,c,d,b,f,e);var l=new mxRectangle(0,0,f,e);1<a.length||a[0].vertex?(b=this.createDragSource(g,this.createDropHandler(a,!0,h,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a),b.isGuidesEnabled=mxUtils.bind(this,function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled})):null!=a[0]&&a[0].edge&&(b=this.createDragSource(g,this.createDropHandler(a,!1,h,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a));mxClient.IS_IOS||mxEvent.addGestureListeners(g,null,mxUtils.bind(this, function(b){mxEvent.isMouseEvent(b)&&this.showTooltip(g,a,l.width,l.height,c,d)}));return g}; -Sidebar.prototype.updateShapes=function(a,c){var d=this.editorUi.editor.graph,b=d.getCellStyle(a),f=[];d.model.beginUpdate();try{for(var e=d.getModel().getStyle(a),k="shadow dashed dashPattern fontFamily fontSize fontColor align startFill startSize endFill endSize strokeColor strokeWidth fillColor gradientColor html part noEdgeStyle edgeStyle elbow childLayout recursiveResize container collapsible connectable".split(" "),g=0;g<c.length;g++){var h=c[g];if(d.getModel().isVertex(h)==d.getModel().isVertex(a)|| -d.getModel().isEdge(h)==d.getModel().isEdge(a)){var l=d.view.getState(h),m=null!=l?l.style:d.getCellStyle(c[g]);d.getModel().setStyle(h,e);if(null!=l&&"1"==mxUtils.getValue(l.style,"composite","0"))for(var n=d.model.getChildCount(h);0<=n;n--)d.model.remove(d.model.getChildAt(h,n));if(null!=m)for("umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=b[mxConstants.STYLE_SHAPE]&&(d.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[h]),d.setCellStyles("participant",b[mxConstants.STYLE_SHAPE],[h])), -n=0;n<k.length;n++){var p=m[k[n]];null!=p&&d.setCellStyles(k[n],p,[h])}f.push(h)}}}finally{d.model.endUpdate()}return f}; -Sidebar.prototype.createDropHandler=function(a,c,d,b){d=null!=d?d:!0;return mxUtils.bind(this,function(f,e,k,g,h,l){for(l=l?null:mxEvent.isTouchEvent(e)||mxEvent.isPenEvent(e)?document.elementFromPoint(mxEvent.getClientX(e),mxEvent.getClientY(e)):mxEvent.getSource(e);null!=l&&l!=this.container;)l=l.parentNode;if(null==l&&f.isEnabled()){a=f.getImportableCells(a);if(0<a.length){f.stopEditing();l=null==k||mxEvent.isAltDown(e)?!1:f.isValidDropTarget(k,a,e);var m=null;null==k||l||(k=null);if(!f.isCellLocked(k|| -f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);h=Math.round(h);if(c&&f.isSplitTarget(k,a,e)){var n=f.cloneCells(a);f.splitEdge(k,n,null,g-b.width/2,h-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,h,k));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(k);if(null!=p){var q=f.view.scale,r=f.view.translate,t=(g+r.x)*q,w=(h+r.y)*q;for(k=0;k<m.length;k++)p.moveCell(m[k],t,w)}}d&&f.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{f.model.endUpdate()}null!= +Sidebar.prototype.updateShapes=function(a,c){var d=this.editorUi.editor.graph,b=d.getCellStyle(a),f=[];d.model.beginUpdate();try{for(var e=d.getModel().getStyle(a),h="shadow dashed dashPattern fontFamily fontSize fontColor align startFill startSize endFill endSize strokeColor strokeWidth fillColor gradientColor html part noEdgeStyle edgeStyle elbow childLayout recursiveResize container collapsible connectable".split(" "),g=0;g<c.length;g++){var k=c[g];if(d.getModel().isVertex(k)==d.getModel().isVertex(a)|| +d.getModel().isEdge(k)==d.getModel().isEdge(a)){var l=d.view.getState(k),m=null!=l?l.style:d.getCellStyle(c[g]);d.getModel().setStyle(k,e);if(null!=l&&"1"==mxUtils.getValue(l.style,"composite","0"))for(var n=d.model.getChildCount(k);0<=n;n--)d.model.remove(d.model.getChildAt(k,n));if(null!=m)for("umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=b[mxConstants.STYLE_SHAPE]&&(d.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[k]),d.setCellStyles("participant",b[mxConstants.STYLE_SHAPE],[k])), +n=0;n<h.length;n++){var p=m[h[n]];null!=p&&d.setCellStyles(h[n],p,[k])}f.push(k)}}}finally{d.model.endUpdate()}return f}; +Sidebar.prototype.createDropHandler=function(a,c,d,b){d=null!=d?d:!0;return mxUtils.bind(this,function(f,e,h,g,k,l){for(l=l?null:mxEvent.isTouchEvent(e)||mxEvent.isPenEvent(e)?document.elementFromPoint(mxEvent.getClientX(e),mxEvent.getClientY(e)):mxEvent.getSource(e);null!=l&&l!=this.container;)l=l.parentNode;if(null==l&&f.isEnabled()){a=f.getImportableCells(a);if(0<a.length){f.stopEditing();l=null==h||mxEvent.isAltDown(e)?!1:f.isValidDropTarget(h,a,e);var m=null;null==h||l||(h=null);if(!f.isCellLocked(h|| +f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);k=Math.round(k);if(c&&f.isSplitTarget(h,a,e)){var n=f.cloneCells(a);f.splitEdge(h,n,null,g-b.width/2,k-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,k,h));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(h);if(null!=p){var q=f.view.scale,t=f.view.translate,r=(g+t.x)*q,v=(k+t.y)*q;for(h=0;h<m.length;h++)p.moveCell(m[h],r,v)}}d&&f.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{f.model.endUpdate()}null!= m&&0<m.length&&(f.scrollCellToVisible(m[0]),f.setSelectionCells(m));f.editAfterInsert&&null!=e&&mxEvent.isMouseEvent(e)&&null!=m&&1==m.length&&window.setTimeout(function(){f.startEditing(m[0])},0)}}mxEvent.consume(e)}})};Sidebar.prototype.createDragPreview=function(a,c){var d=document.createElement("div");d.style.border=this.dragPreviewBorder;d.style.width=a+"px";d.style.height=c+"px";return d}; -Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),k=[];if(null!=e){var g=this.editorUi.editor.graph,h=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var q=g.layoutManager.getLayout(n);if(null!=q&&q.constructor==mxStackLayout&&(p=!1,k=g.view.getState(n),null!=k)){var r=new mxPoint(k.x/g.view.scale-g.view.translate.x,k.y/g.view.scale-g.view.translate.y);e.x+= -r.x;e.y+=r.y;var t=e.getTerminalPoint(!1);null!=t&&(t.x+=r.x,t.y+=r.y)}}var w=m.x,v=m.y;g.model.isEdge(c[b])&&(v=w=0);var u=g.model.isEdge(a)||null!=l&&!l.relative&&p,k=c=g.importCells(c,e.x-(u?w:0),e.y-(u?v:0),u?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var z=g.getCellGeometry(c[b]);z.points=null;if(null!=z.getTerminalPoint(!1))z.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(u&&g.model.isVertex(n)){var x= -g.view.getState(n),r=x.cell!=g.view.currentRoot?new mxPoint(x.x/g.view.scale-g.view.translate.x,x.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,r.x,r.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),w=e.x-Math.round(m.x),v=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,w,v,null,null,!0),k=c.slice(),h=1==k.length?k[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));g.fireEvent(new mxEventObject("cellsInserted", -"cells",c))}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=h&&window.setTimeout(function(){g.startEditing(h)},0)}return k}; -Sidebar.prototype.getDropAndConnectGeometry=function(a,c,d,b){var f=this.editorUi.editor.graph,e=f.view,k=1<b.length,g=f.getCellGeometry(a);b=f.getCellGeometry(c);null!=g&&null!=b&&(b=b.clone(),f.model.isEdge(a)?(a=f.view.getState(a),g=a.absolutePoints,c=g[0],f=g[g.length-1],d==mxConstants.DIRECTION_NORTH?(b.x=c.x/e.scale-e.translate.x-b.width/2,b.y=c.y/e.scale-e.translate.y-b.height/2):(b.x=f.x/e.scale-e.translate.x-b.width/2,b.y=f.y/e.scale-e.translate.y-b.height/2)):(g.relative&&(a=f.view.getState(a), +Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),h=[];if(null!=e){var g=this.editorUi.editor.graph,k=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var q=g.layoutManager.getLayout(n);if(null!=q&&q.constructor==mxStackLayout&&(p=!1,h=g.view.getState(n),null!=h)){var t=new mxPoint(h.x/g.view.scale-g.view.translate.x,h.y/g.view.scale-g.view.translate.y);e.x+= +t.x;e.y+=t.y;var r=e.getTerminalPoint(!1);null!=r&&(r.x+=t.x,r.y+=t.y)}}var v=m.x,w=m.y;g.model.isEdge(c[b])&&(w=v=0);var u=g.model.isEdge(a)||null!=l&&!l.relative&&p,h=c=g.importCells(c,e.x-(u?v:0),e.y-(u?w:0),u?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var z=g.getCellGeometry(c[b]);z.points=null;if(null!=z.getTerminalPoint(!1))z.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(u&&g.model.isVertex(n)){var x= +g.view.getState(n),t=x.cell!=g.view.currentRoot?new mxPoint(x.x/g.view.scale-g.view.translate.x,x.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,t.x,t.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),v=e.x-Math.round(m.x),w=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,v,w,null,null,!0),h=c.slice(),k=1==h.length?h[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));g.fireEvent(new mxEventObject("cellsInserted", +"cells",c))}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=k&&window.setTimeout(function(){g.startEditing(k)},0)}return h}; +Sidebar.prototype.getDropAndConnectGeometry=function(a,c,d,b){var f=this.editorUi.editor.graph,e=f.view,h=1<b.length,g=f.getCellGeometry(a);b=f.getCellGeometry(c);null!=g&&null!=b&&(b=b.clone(),f.model.isEdge(a)?(a=f.view.getState(a),g=a.absolutePoints,c=g[0],f=g[g.length-1],d==mxConstants.DIRECTION_NORTH?(b.x=c.x/e.scale-e.translate.x-b.width/2,b.y=c.y/e.scale-e.translate.y-b.height/2):(b.x=f.x/e.scale-e.translate.x-b.width/2,b.y=f.y/e.scale-e.translate.y-b.height/2)):(g.relative&&(a=f.view.getState(a), g=g.clone(),g.x=(a.x-e.translate.x)/e.scale,g.y=(a.y-e.translate.y)/e.scale),e=f.defaultEdgeLength,f.model.isEdge(c)&&null!=b.getTerminalPoint(!0)&&null!=b.getTerminalPoint(!1)?(c=b.getTerminalPoint(!0),f=b.getTerminalPoint(!1),e=f.x-c.x,c=f.y-c.y,e=Math.sqrt(e*e+c*c),b.x=g.getCenterX(),b.y=g.getCenterY(),b.width=1,b.height=1,d==mxConstants.DIRECTION_NORTH?(b.height=e,b.y=g.y-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1)):d==mxConstants.DIRECTION_EAST?(b.width=e,b.x=g.x+g.width,b.setTerminalPoint(new mxPoint(b.x+ -b.width,b.y),!1)):d==mxConstants.DIRECTION_SOUTH?(b.height=e,b.y=g.y+g.height,b.setTerminalPoint(new mxPoint(b.x,b.y+b.height),!1)):d==mxConstants.DIRECTION_WEST&&(b.width=e,b.x=g.x-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1))):(!k&&45<b.width&&45<b.height&&45<g.width&&45<g.height&&(b.width*=g.height/b.height,b.height=g.height),b.x=g.x+g.width/2-b.width/2,b.y=g.y+g.height/2-b.height/2,d==mxConstants.DIRECTION_NORTH?b.y=b.y-g.height/2-b.height/2-e:d==mxConstants.DIRECTION_EAST?b.x=b.x+g.width/2+ +b.width,b.y),!1)):d==mxConstants.DIRECTION_SOUTH?(b.height=e,b.y=g.y+g.height,b.setTerminalPoint(new mxPoint(b.x,b.y+b.height),!1)):d==mxConstants.DIRECTION_WEST&&(b.width=e,b.x=g.x-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1))):(!h&&45<b.width&&45<b.height&&45<g.width&&45<g.height&&(b.width*=g.height/b.height,b.height=g.height),b.x=g.x+g.width/2-b.width/2,b.y=g.y+g.height/2-b.height/2,d==mxConstants.DIRECTION_NORTH?b.y=b.y-g.height/2-b.height/2-e:d==mxConstants.DIRECTION_EAST?b.x=b.x+g.width/2+ b.width/2+e:d==mxConstants.DIRECTION_SOUTH?b.y=b.y+g.height/2+b.height/2+e:d==mxConstants.DIRECTION_WEST&&(b.x=b.x-g.width/2-b.width/2-e),f.model.isEdge(c)&&null!=b.getTerminalPoint(!0)&&null!=c.getTerminal(!1)&&(g=f.getCellGeometry(c.getTerminal(!1)),null!=g&&(d==mxConstants.DIRECTION_NORTH?(b.x-=g.getCenterX(),b.y-=g.getCenterY()+g.height/2):d==mxConstants.DIRECTION_EAST?(b.x-=g.getCenterX()-g.width/2,b.y-=g.getCenterY()):d==mxConstants.DIRECTION_SOUTH?(b.x-=g.getCenterX(),b.y-=g.getCenterY()-g.height/ 2):d==mxConstants.DIRECTION_WEST&&(b.x-=g.getCenterX()+g.width/2,b.y-=g.getCenterY()))))));return b}; Sidebar.prototype.createDragSource=function(a,c,d,b,f){function e(a,b){var c;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(c=document.createElement(mxClient.VML_PREFIX+":image"),c.setAttribute("src",a.src),c.style.borderStyle="none"):(c=document.createElement("div"),c.style.backgroundImage="url("+a.src+")",c.style.backgroundPosition="center",c.style.backgroundRepeat="no-repeat"),c.style.width=a.width+4+"px",c.style.height=a.height+4+"px",c.style.display=mxClient.IS_QUIRKS? -"inline":"inline-block"):(c=mxUtils.createImage(a.src),c.style.width=a.width+"px",c.style.height=a.height+"px");null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function k(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),E=d):mxUtils.setOpacity(d,d==D?30:20));return c}for(var g=this.editorUi,h=g.editor.graph,l=null,m=null,n=this,p=0;p<b.length&&(null==m&&this.editorUi.editor.graph.model.isVertex(b[p])? -m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var q=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,g,f){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=v&&E==D){var k=a.isCellSelected(v.cell)?a.getSelectionCells():[v.cell],k=this.updateShapes(a.model.isEdge(v.cell)?b[0]:b[m],k);a.setSelectionCells(k)}else null!=b&&null!=E&&null!= -t&&E!=D?(k=a.model.isEdge(t.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(t.cell,b,I,k,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(a,b){q.isActive()&&q.reset()});var r=q.mouseDown;q.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(h.stopEditing(),r.apply(this, -arguments))};var t=null,w=null,v=null,u=!1,z=e(this.triangleUp,mxResources.get("connect")),x=e(this.triangleRight,mxResources.get("connect")),C=e(this.triangleDown,mxResources.get("connect")),A=e(this.triangleLeft,mxResources.get("connect")),D=e(this.refreshTarget,mxResources.get("replace")),B=null,L=e(this.roundDrop),K=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,E=null,J=q.createPreviewElement;q.createPreviewElement=function(a){var b=J.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents= +"inline":"inline-block"):(c=mxUtils.createImage(a.src),c.style.width=a.width+"px",c.style.height=a.height+"px");null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function h(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),E=d):mxUtils.setOpacity(d,d==C?30:20));return c}for(var g=this.editorUi,k=g.editor.graph,l=null,m=null,n=this,p=0;p<b.length&&(null==m&&this.editorUi.editor.graph.model.isVertex(b[p])? +m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var q=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,f,g){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=w&&E==C){var h=a.isCellSelected(w.cell)?a.getSelectionCells():[w.cell],h=this.updateShapes(a.model.isEdge(w.cell)?b[0]:b[m],h);a.setSelectionCells(h)}else null!=b&&null!=E&&null!= +r&&E!=C?(h=a.model.isEdge(r.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(r.cell,b,I,h,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(a,b){q.isActive()&&q.reset()});var t=q.mouseDown;q.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(k.stopEditing(),t.apply(this, +arguments))};var r=null,v=null,w=null,u=!1,z=e(this.triangleUp,mxResources.get("connect")),x=e(this.triangleRight,mxResources.get("connect")),D=e(this.triangleDown,mxResources.get("connect")),A=e(this.triangleLeft,mxResources.get("connect")),C=e(this.refreshTarget,mxResources.get("replace")),B=null,L=e(this.roundDrop),K=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,E=null,J=q.createPreviewElement;q.createPreviewElement=function(a){var b=J.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents= "none");this.previewElementWidth=b.style.width;this.previewElementHeight=b.style.height;return b};var N=q.dragEnter;q.dragEnter=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("none");N.apply(this,arguments)};var Q=q.dragExit;q.dragExit=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("");Q.apply(this,arguments)};q.dragOver=function(a,c){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=E&&this.currentGuide.hide();if(null!=this.previewElement){var d= -a.view;if(null!=v&&E==D)this.previewElement.style.display=a.model.isEdge(v.cell)?"none":"",this.previewElement.style.left=v.x+"px",this.previewElement.style.top=v.y+"px",this.previewElement.style.width=v.width+"px",this.previewElement.style.height=v.height+"px";else if(null!=t&&null!=E){var e=a.model.isEdge(t.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(t.cell,b[e],I,b),k=a.model.isEdge(t.cell)?null:a.getCellGeometry(t.cell),h=a.getCellGeometry(b[e]),y=a.model.getParent(t.cell),G=d.translate.x* -d.scale,H=d.translate.y*d.scale;null!=k&&!k.relative&&a.model.isVertex(y)&&y!=d.currentRoot&&(H=d.getState(y),G=H.x,H=H.y);k=h.x;h=h.y;a.model.isEdge(b[e])&&(h=k=0);this.previewElement.style.left=(g.x-k)*d.scale+G+"px";this.previewElement.style.top=(g.y-h)*d.scale+H+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=q.currentHighlight.state&&a.model.isEdge(q.currentHighlight.state.cell)? -(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var P=(new Date).getTime(),F=0,G=null,H=this.editorUi.editor.graph.getCellStyle(b[0]);q.getDropTarget=mxUtils.bind(this,function(a, -c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var h=a.view.getState(g),f=E=null;G!=h?(G=h,P=(new Date).getTime(),F=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=h&&(this.updateThread=window.setTimeout(function(){null==E&&(G=h,q.getDropTarget(a,c,d,e))},this.dropTargetDelay+ -10))):F=(new Date).getTime()-P;if(2500>F&&null!=h&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(h.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(H,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(h.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(H,mxConstants.STYLE_SHAPE)|| -1500<F||a.model.isEdge(h.cell))&&F>this.dropTargetDelay&&(a.model.isVertex(h.cell)&&null!=m||a.model.isEdge(h.cell)&&a.model.isEdge(b[0]))){v=h;var l=a.model.isEdge(h.cell)?a.view.getPoint(h):new mxPoint(h.getCenterX(),h.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);D.style.left=Math.floor(l.x)+"px";D.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(D),B=D.parentNode);k(c,d,l,D)}else null== -v||!mxUtils.contains(v,c,d)||1500<F&&!mxEvent.isShiftDown(e)?(v=null,null!=B&&(D.parentNode.removeChild(D),B=null)):null!=v&&null!=B&&(l=a.model.isEdge(v.cell)?a.view.getPoint(v):new mxPoint(v.getCenterX(),v.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),k(c,d,l,D));if(u&&null!=t&&!mxEvent.isAltDown(e)&&null==E){f=mxRectangle.fromRectangle(t);if(a.model.isEdge(t.cell)){var y=t.absolutePoints;null!= -L.parentNode&&(l=y[0],f.add(k(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),L)));null!=K.parentNode&&(y=y[y.length-1],f.add(k(c,d,new mxRectangle(y.x-this.roundDrop.width/2,y.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),K)))}else l=mxRectangle.fromRectangle(t),null!=t.shape&&null!=t.shape.boundingBox&&(l=mxRectangle.fromRectangle(t.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing), -y=this.graph.selectionCellsHandler.getHandler(t.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)),f.add(k(c,d,new mxRectangle(t.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height), -z)),f.add(k(c,d,new mxRectangle(l.x+l.width,t.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),x)),f.add(k(c,d,new mxRectangle(t.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),C)),f.add(k(c,d,new mxRectangle(l.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),A));null!=f&&f.grow(10)}I=mxConstants.DIRECTION_NORTH;E==x?I=mxConstants.DIRECTION_EAST: -E==C||E==K?I=mxConstants.DIRECTION_SOUTH:E==A&&(I=mxConstants.DIRECTION_WEST);null!=v&&E==D&&(h=v);l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=t&&5E3<=F||t!=h&&(null==f||!mxUtils.contains(f,c,d)||500<F&&null==E&&l))if(u=!1,t=5E3>F&&F>this.dropTargetDelay||a.model.isEdge(g)?h:null,null!=t&&l){f=[L,K,z,x,C,A];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(y=h.absolutePoints, -null!=y&&(l=y[0],y=y[y.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),L.style.left=Math.floor(l.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",K.style.left=Math.floor(y.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(y.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(L),null==a.model.getTerminal(g,!1)&&a.container.appendChild(K))):(l=mxRectangle.fromRectangle(h),null!=h.shape&&null!=h.shape.boundingBox&& -(l=mxRectangle.fromRectangle(h.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),y=this.graph.selectionCellsHandler.getHandler(h.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)), -z.style.left=Math.floor(h.getCenterX()-this.triangleUp.width/2)+"px",z.style.top=Math.floor(l.y-this.triangleUp.height)+"px",x.style.left=Math.floor(l.x+l.width)+"px",x.style.top=Math.floor(h.getCenterY()-this.triangleRight.height/2)+"px",C.style.left=z.style.left,C.style.top=Math.floor(l.y+l.height)+"px",A.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",A.style.top=x.style.top,"eastwest"!=h.style.portConstraint&&(a.container.appendChild(z),a.container.appendChild(C)),a.container.appendChild(x), -a.container.appendChild(A));null!=h&&(w=a.selectionCellsHandler.getHandler(h.cell),null!=w&&null!=w.setHandlesVisible&&w.setHandlesVisible(!1));u=!0}else for(f=[L,K,z,x,C,A],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);u||null==w||w.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=v&&E==D?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=E||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g, -b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||a.isCellLocked(g)||f.isEdge(g))g=null}return g});q.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[L,K,D,z,x,C,A],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=t&&null!=w&&w.reset();E=B=v=t=w=null};return q}; +a.view;if(null!=w&&E==C)this.previewElement.style.display=a.model.isEdge(w.cell)?"none":"",this.previewElement.style.left=w.x+"px",this.previewElement.style.top=w.y+"px",this.previewElement.style.width=w.width+"px",this.previewElement.style.height=w.height+"px";else if(null!=r&&null!=E){var e=a.model.isEdge(r.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(r.cell,b[e],I,b),h=a.model.isEdge(r.cell)?null:a.getCellGeometry(r.cell),k=a.getCellGeometry(b[e]),y=a.model.getParent(r.cell),G=d.translate.x* +d.scale,H=d.translate.y*d.scale;null!=h&&!h.relative&&a.model.isVertex(y)&&y!=d.currentRoot&&(H=d.getState(y),G=H.x,H=H.y);h=k.x;k=k.y;a.model.isEdge(b[e])&&(k=h=0);this.previewElement.style.left=(g.x-h)*d.scale+G+"px";this.previewElement.style.top=(g.y-k)*d.scale+H+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=q.currentHighlight.state&&a.model.isEdge(q.currentHighlight.state.cell)? +(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var O=(new Date).getTime(),F=0,G=null,H=this.editorUi.editor.graph.getCellStyle(b[0]);q.getDropTarget=mxUtils.bind(this,function(a, +c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=E=null;G!=k?(G=k,O=(new Date).getTime(),F=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=k&&(this.updateThread=window.setTimeout(function(){null==E&&(G=k,q.getDropTarget(a,c,d,e))},this.dropTargetDelay+ +10))):F=(new Date).getTime()-O;if(2500>F&&null!=k&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(H,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(H,mxConstants.STYLE_SHAPE)|| +1500<F||a.model.isEdge(k.cell))&&F>this.dropTargetDelay&&(a.model.isVertex(k.cell)&&null!=m||a.model.isEdge(k.cell)&&a.model.isEdge(b[0]))){w=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);C.style.left=Math.floor(l.x)+"px";C.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(C),B=C.parentNode);h(c,d,l,C)}else null== +w||!mxUtils.contains(w,c,d)||1500<F&&!mxEvent.isShiftDown(e)?(w=null,null!=B&&(C.parentNode.removeChild(C),B=null)):null!=w&&null!=B&&(l=a.model.isEdge(w.cell)?a.view.getPoint(w):new mxPoint(w.getCenterX(),w.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),h(c,d,l,C));if(u&&null!=r&&!mxEvent.isAltDown(e)&&null==E){f=mxRectangle.fromRectangle(r);if(a.model.isEdge(r.cell)){var y=r.absolutePoints;null!= +L.parentNode&&(l=y[0],f.add(h(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),L)));null!=K.parentNode&&(y=y[y.length-1],f.add(h(c,d,new mxRectangle(y.x-this.roundDrop.width/2,y.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),K)))}else l=mxRectangle.fromRectangle(r),null!=r.shape&&null!=r.shape.boundingBox&&(l=mxRectangle.fromRectangle(r.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing), +y=this.graph.selectionCellsHandler.getHandler(r.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height), +z)),f.add(h(c,d,new mxRectangle(l.x+l.width,r.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),x)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),D)),f.add(h(c,d,new mxRectangle(l.x-this.triangleLeft.width,r.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),A));null!=f&&f.grow(10)}I=mxConstants.DIRECTION_NORTH;E==x?I=mxConstants.DIRECTION_EAST: +E==D||E==K?I=mxConstants.DIRECTION_SOUTH:E==A&&(I=mxConstants.DIRECTION_WEST);null!=w&&E==C&&(k=w);l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=r&&5E3<=F||r!=k&&(null==f||!mxUtils.contains(f,c,d)||500<F&&null==E&&l))if(u=!1,r=5E3>F&&F>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=r&&l){f=[L,K,z,x,D,A];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(y=k.absolutePoints, +null!=y&&(l=y[0],y=y[y.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),L.style.left=Math.floor(l.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",K.style.left=Math.floor(y.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(y.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(L),null==a.model.getTerminal(g,!1)&&a.container.appendChild(K))):(l=mxRectangle.fromRectangle(k),null!=k.shape&&null!=k.shape.boundingBox&& +(l=mxRectangle.fromRectangle(k.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),y=this.graph.selectionCellsHandler.getHandler(k.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)), +z.style.left=Math.floor(k.getCenterX()-this.triangleUp.width/2)+"px",z.style.top=Math.floor(l.y-this.triangleUp.height)+"px",x.style.left=Math.floor(l.x+l.width)+"px",x.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",D.style.left=z.style.left,D.style.top=Math.floor(l.y+l.height)+"px",A.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",A.style.top=x.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(z),a.container.appendChild(D)),a.container.appendChild(x), +a.container.appendChild(A));null!=k&&(v=a.selectionCellsHandler.getHandler(k.cell),null!=v&&null!=v.setHandlesVisible&&v.setHandlesVisible(!1));u=!0}else for(f=[L,K,z,x,D,A],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);u||null==v||v.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=w&&E==C?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=E||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g, +b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||a.isCellLocked(g)||f.isEdge(g))g=null}return g});q.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[L,K,C,z,x,D,A],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=r&&null!=v&&v.reset();E=B=w=r=v=null};return q}; Sidebar.prototype.itemClicked=function(a,c,d,b){b=this.editorUi.editor.graph;b.container.focus();if(mxEvent.isAltDown(d)){if(1==b.getSelectionCount()&&b.model.isVertex(b.getSelectionCell())){c=null;for(var f=0;f<a.length&&null==c;f++)b.model.isVertex(a[f])&&(c=f);null!=c&&(b.setSelectionCells(this.dropAndConnect(b.getSelectionCell(),a,mxEvent.isMetaDown(d)||mxEvent.isControlDown(d)?mxEvent.isShiftDown(d)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(d)?mxConstants.DIRECTION_EAST: mxConstants.DIRECTION_SOUTH,c,d)),b.scrollCellToVisible(b.getSelectionCell()))}}else mxEvent.isShiftDown(d)&&!b.isSelectionEmpty()?(this.updateShapes(a[0],b.getSelectionCells()),b.scrollCellToVisible(b.getSelectionCell())):(a=b.getFreeInsertPoint(),c.drop(b,d,null,a.x,a.y,!0),null!=this.editorUi.hoverIcons&&(mxEvent.isTouchEvent(d)||mxEvent.isPenEvent(d))&&this.editorUi.hoverIcons.update(b.view.getState(b.getSelectionCell())))}; -Sidebar.prototype.addClickHandler=function(a,c,d){var b=this.editorUi.editor.graph,f=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(a){e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))});c.mouseUp=mxUtils.bind(this,function(k){if(!mxEvent.isPopupTrigger(k)&&null==this.currentGraph&&null!=e){var g=b.tolerance;Math.abs(e.x-mxEvent.getClientX(k))<=g&&Math.abs(e.y-mxEvent.getClientY(k))<=g&&this.itemClicked(d,c,k,a)}f.apply(c,arguments);e=null;this.currentElt=a})}; -Sidebar.prototype.createVertexTemplateEntry=function(a,c,d,b,f,e,k,g){g=null!=g&&0<g.length?g:f.toLowerCase();return this.addEntry(g,mxUtils.bind(this,function(){return this.createVertexTemplate(a,c,d,b,f,e,k)}))};Sidebar.prototype.createVertexTemplate=function(a,c,d,b,f,e,k,g){a=[new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a)];a[0].vertex=!0;return this.createVertexTemplateFromCells(a,c,d,f,e,k,g)}; -Sidebar.prototype.createVertexTemplateFromData=function(a,c,d,b,f,e,k){a=mxUtils.parseXml(this.graph.decompress(a));var g=new mxCodec(a),h=new mxGraphModel;g.decode(a.documentElement,h);a=this.graph.cloneCells(h.root.getChildAt(0).children);return this.createVertexTemplateFromCells(a,c,d,b,f,e,k)};Sidebar.prototype.createVertexTemplateFromCells=function(a,c,d,b,f,e,k){return this.createItem(a,b,f,e,c,d,k)}; -Sidebar.prototype.createEdgeTemplateEntry=function(a,c,d,b,f,e,k,g){k=null!=k&&0<k.length?k:f.toLowerCase();return this.addEntry(k,mxUtils.bind(this,function(){return this.createEdgeTemplate(a,c,d,b,f,e,g)}))}; -Sidebar.prototype.createEdgeTemplate=function(a,c,d,b,f,e,k){a=new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a);a.geometry.setTerminalPoint(new mxPoint(0,d),!0);a.geometry.setTerminalPoint(new mxPoint(c,0),!1);a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],c,d,f,e,k)};Sidebar.prototype.createEdgeTemplateFromCells=function(a,c,d,b,f,e){return this.createItem(a,b,f,!0,c,d,e)}; +Sidebar.prototype.addClickHandler=function(a,c,d){var b=this.editorUi.editor.graph,f=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(a){e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))});c.mouseUp=mxUtils.bind(this,function(h){if(!mxEvent.isPopupTrigger(h)&&null==this.currentGraph&&null!=e){var g=b.tolerance;Math.abs(e.x-mxEvent.getClientX(h))<=g&&Math.abs(e.y-mxEvent.getClientY(h))<=g&&this.itemClicked(d,c,h,a)}f.apply(c,arguments);e=null;this.currentElt=a})}; +Sidebar.prototype.createVertexTemplateEntry=function(a,c,d,b,f,e,h,g){g=null!=g&&0<g.length?g:f.toLowerCase();return this.addEntry(g,mxUtils.bind(this,function(){return this.createVertexTemplate(a,c,d,b,f,e,h)}))};Sidebar.prototype.createVertexTemplate=function(a,c,d,b,f,e,h,g){a=[new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a)];a[0].vertex=!0;return this.createVertexTemplateFromCells(a,c,d,f,e,h,g)}; +Sidebar.prototype.createVertexTemplateFromData=function(a,c,d,b,f,e,h){a=mxUtils.parseXml(this.graph.decompress(a));var g=new mxCodec(a),k=new mxGraphModel;g.decode(a.documentElement,k);a=this.graph.cloneCells(k.root.getChildAt(0).children);return this.createVertexTemplateFromCells(a,c,d,b,f,e,h)};Sidebar.prototype.createVertexTemplateFromCells=function(a,c,d,b,f,e,h){return this.createItem(a,b,f,e,c,d,h)}; +Sidebar.prototype.createEdgeTemplateEntry=function(a,c,d,b,f,e,h,g){h=null!=h&&0<h.length?h:f.toLowerCase();return this.addEntry(h,mxUtils.bind(this,function(){return this.createEdgeTemplate(a,c,d,b,f,e,g)}))}; +Sidebar.prototype.createEdgeTemplate=function(a,c,d,b,f,e,h){a=new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a);a.geometry.setTerminalPoint(new mxPoint(0,d),!0);a.geometry.setTerminalPoint(new mxPoint(c,0),!1);a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],c,d,f,e,h)};Sidebar.prototype.createEdgeTemplateFromCells=function(a,c,d,b,f,e){return this.createItem(a,b,f,!0,c,d,e)}; Sidebar.prototype.addPaletteFunctions=function(a,c,d,b){this.addPalette(a,c,d,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}; Sidebar.prototype.addPalette=function(a,c,d,b){c=this.createTitle(c);this.container.appendChild(c);var f=document.createElement("div");f.className="geSidebar";mxClient.IS_POINTER&&(f.style.touchAction="none");d?(b(f),b=null):f.style.display="none";this.addFoldingHandler(c,f,b);d=document.createElement("div");d.appendChild(f);this.container.appendChild(d);null!=a&&(this.palettes[a]=[c,d]);return f}; Sidebar.prototype.addFoldingHandler=function(a,c,d){var b=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==c.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";mxEvent.addListener(a,"click",mxUtils.bind(this,function(f){if("none"==c.style.display){if(b)c.style.display="block";else if(b=!0,null!=d){a.style.cursor="wait";var e=a.innerHTML;a.innerHTML=mxResources.get("loading")+ "...";window.setTimeout(function(){var b=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;d(c);mxClient.NO_FO=b;c.style.display="block";a.style.cursor="";a.innerHTML=e},0)}else c.style.display="block";a.style.backgroundImage="url('"+this.expandedImage+"')"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",c.style.display="none";mxEvent.consume(f)}))}; Sidebar.prototype.removePalette=function(a){var c=this.palettes[a];if(null!=c){this.palettes[a]=null;for(a=0;a<c.length;a++)this.container.removeChild(c[a]);return!0}return!1}; -Sidebar.prototype.addImagePalette=function(a,c,d,b,f,e,k){for(var g=[],h=0;h<f.length;h++)mxUtils.bind(this,function(a,c,e){if(null==e){e=a.lastIndexOf("/");var f=a.lastIndexOf(".");e=a.substring(0<=e?e+1:0,0<=f?f:a.length).replace(/[-_]/g," ")}g.push(this.createVertexTemplateEntry("image;html=1;labelBackgroundColor=#ffffff;image="+d+a+b,this.defaultImageWidth,this.defaultImageHeight,"",c,null!=c,null,this.filterTags(e)))})(f[h],null!=e?e[h]:null,null!=k?k[f[h]]:null);this.addPaletteFunctions(a,c, +Sidebar.prototype.addImagePalette=function(a,c,d,b,f,e,h){for(var g=[],k=0;k<f.length;k++)mxUtils.bind(this,function(a,c,e){if(null==e){e=a.lastIndexOf("/");var f=a.lastIndexOf(".");e=a.substring(0<=e?e+1:0,0<=f?f:a.length).replace(/[-_]/g," ")}g.push(this.createVertexTemplateEntry("image;html=1;labelBackgroundColor=#ffffff;image="+d+a+b,this.defaultImageWidth,this.defaultImageHeight,"",c,null!=c,null,this.filterTags(e)))})(f[k],null!=e?e[k]:null,null!=h?h[f[k]]:null);this.addPaletteFunctions(a,c, !1,g)};Sidebar.prototype.getTagsForStencil=function(a,c,d){a=a.split(".");for(var b=1;b<a.length;b++)a[b]=a[b].replace(/_/g," ");a.push(c.replace(/_/g," "));null!=d&&a.push(d);return a.slice(1,a.length)}; -Sidebar.prototype.addStencilPalette=function(a,c,d,b,f,e,k,g,h){k=null!=k?k:1;if(this.addStencilsToIndex){var l=[];if(null!=h)for(var m=0;m<h.length;m++)l.push(h[m]);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(a,c,d,e,h){if(null==f||0>mxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*k),Math.round(h*k),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), -!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=h)for(var c=0;c<h.length;c++)h[c](a);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(c,d,e,g,h){(null==f||0>mxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*k),Math.round(h*k),"",d.replace(/_/g," "),!0))}),!0)}))}; +Sidebar.prototype.addStencilPalette=function(a,c,d,b,f,e,h,g,k){h=null!=h?h:1;if(this.addStencilsToIndex){var l=[];if(null!=k)for(var m=0;m<k.length;m++)l.push(k[m]);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(a,c,d,e,k){if(null==f||0>mxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*h),Math.round(k*h),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), +!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=k)for(var c=0;c<k.length;c++)k[c](a);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(c,d,e,g,k){(null==f||0>mxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*h),Math.round(k*h),"",d.replace(/_/g," "),!0))}),!0)}))}; Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null);null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null);null!=this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler), this.pointerDownHandler=null);null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null);null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1; (function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(c){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1; mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]"; Graph=function(a,c,d,b,f){mxGraph.call(this,a,c,d,b);this.themes=f||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;c=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<c&&(c=a.indexOf("/",c+2),0<c&&(this.domainUrl=a.substring(0,c)),c=a.lastIndexOf("/"),0<c&&(this.domainPathUrl=a.substring(0,c+1)));this.isHtmlLabel=function(a){var b=this.view.getState(a);a=null!=b?b.style:this.getCellStyle(a); -return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var e=null,k=null,g=null,h=null,l=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var d=c.getState();null!=d&&this.model.isEdge(d.cell)&&(e=new mxPoint(c.getGraphX(),c.getGraphY()),l=this.isCellSelected(d.cell),g=d,k=c,null!= -d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,c.getGraphX(),c.getGraphY())?h=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(h=d.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,b){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,d;for(d in c)if(null!=c[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& -!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=e&&null!=g&&null!=k){if(c=g,Math.abs(e.x-b.getGraphX())>d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0<f.bends.length){var m=f.getHandleForEvent(k),n=this.view.getEdgeStyle(c);d=n==mxEdgeStyle.EntityRelation;l||h!=mxEvent.LABEL_HANDLE||(m=h);if(d&&0!=m&&m!=f.bends.length-1&&m!=mxEvent.LABEL_HANDLE)!d|| -null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(m==mxEvent.LABEL_HANDLE||0==m||null!=c.visibleSourceState||m==f.bends.length-1||null!=c.visibleTargetState)d||m==mxEvent.LABEL_HANDLE||(d=c.absolutePoints,null!=d&&(null==n&&null==m||n==mxEdgeStyle.OrthConnector)&&(m=h,null==m&&(m=new mxRectangle(e.x,e.y),m.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(m,d[0].x,d[0].y)?m=0:mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y)? -m=f.bends.length-1:null!=n&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?m=2:(m=mxUtils.findNearestSegment(c,e.x,e.y),m=null==n?mxEvent.VIRTUAL_HANDLE-m:m+1))),null==m&&(m=mxEvent.VIRTUAL_HANDLE)),f.start(b.getGraphX(),b.getGraphX(),m),h=e=k=g=null,l=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){f=null;d=c.absolutePoints;if(null!=d)if(m=new mxRectangle(b.getGraphX(), +return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var e=null,h=null,g=null,k=null,l=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var d=c.getState();null!=d&&this.model.isEdge(d.cell)&&(e=new mxPoint(c.getGraphX(),c.getGraphY()),l=this.isCellSelected(d.cell),g=d,h=c,null!= +d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,c.getGraphX(),c.getGraphY())?k=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(k=d.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,b){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,d;for(d in c)if(null!=c[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& +!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=e&&null!=g&&null!=h){if(c=g,Math.abs(e.x-b.getGraphX())>d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0<f.bends.length){var m=f.getHandleForEvent(h),n=this.view.getEdgeStyle(c);d=n==mxEdgeStyle.EntityRelation;l||k!=mxEvent.LABEL_HANDLE||(m=k);if(d&&0!=m&&m!=f.bends.length-1&&m!=mxEvent.LABEL_HANDLE)!d|| +null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(m==mxEvent.LABEL_HANDLE||0==m||null!=c.visibleSourceState||m==f.bends.length-1||null!=c.visibleTargetState)d||m==mxEvent.LABEL_HANDLE||(d=c.absolutePoints,null!=d&&(null==n&&null==m||n==mxEdgeStyle.OrthConnector)&&(m=k,null==m&&(m=new mxRectangle(e.x,e.y),m.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(m,d[0].x,d[0].y)?m=0:mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y)? +m=f.bends.length-1:null!=n&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?m=2:(m=mxUtils.findNearestSegment(c,e.x,e.y),m=null==n?mxEvent.VIRTUAL_HANDLE-m:m+1))),null==m&&(m=mxEvent.VIRTUAL_HANDLE)),f.start(b.getGraphX(),b.getGraphX(),m),k=e=h=g=null,l=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){f=null;d=c.absolutePoints;if(null!=d)if(m=new mxRectangle(b.getGraphX(), b.getGraphY()),m.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))f="move";else if(mxUtils.contains(m,d[0].x,d[0].y)||mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y))f="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)n=this.view.getEdgeStyle(c),f="crosshair",n!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(n=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()), -n<d.length-1&&0<=n&&(f=0==Math.round(d[n].x-d[n+1].x)?"col-resize":"row-resize"));null!=f&&c.setCursor(f)}}),mouseUp:mxUtils.bind(this,function(a,b){h=e=k=g=null})})}this.cellRenderer.getLabelValue=function(a){var b=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(b=1!=a.style.html?mxUtils.htmlEntities(b,!1):a.view.graph.sanitizeHtml(b));return b};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); +n<d.length-1&&0<=n&&(f=0==Math.round(d[n].x-d[n+1].x)?"col-resize":"row-resize"));null!=f&&c.setCursor(f)}}),mouseUp:mxUtils.bind(this,function(a,b){k=e=h=g=null})})}this.cellRenderer.getLabelValue=function(a){var b=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(b=1!=a.style.html?mxUtils.htmlEntities(b,!1):a.view.graph.sanitizeHtml(b));return b};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,b){return!1};this.alternateEdgeStyle="vertical";null==b&&this.loadStylesheet();var m=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= function(){var a=m.apply(this,arguments);if(this.graph.pageVisible){for(var b=[],c=this.graph.pageFormat,d=this.graph.pageScale,e=c.width*d,c=c.height*d,d=this.graph.view.translate,f=this.graph.view.scale,g=this.graph.getPageLayout(),h=0;h<g.width;h++)b.push(new mxRectangle(((g.x+h)*e+d.x)*f,(g.y*c+d.y)*f,e*f,c*f));for(h=0;h<g.height;h++)b.push(new mxRectangle((g.x*e+d.x)*f,((g.y+h)*c+d.y)*f,e*f,c*f));a=b.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var b=mxGraphHandler.prototype.getCells.apply(this,arguments),c=[],d=0;d<b.length;d++){var e=this.graph.view.getState(b[d]),e=null!=e?e.style:this.graph.getCellStyle(b[d]); "1"==mxUtils.getValue(e,"part","0")?(e=this.graph.model.getParent(b[d]),this.graph.model.isVertex(e)&&0>mxUtils.indexOf(b,e)&&c.push(e)):c.push(b[d])}return c};this.connectionHandler.createTargetVertex=function(a,b){var c=this.graph.view.getState(b),c=null!=c?c.style:this.graph.getCellStyle(b);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(b),this.graph.model.isVertex(c)&&(b=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var n=new mxRubberband(this); -this.getRubberband=function(){return n};var p=(new Date).getTime(),q=0,r=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;r.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),q=0):q=(new Date).getTime()-p};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<q||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, -"outlineConnect","1"))&&t.apply(this,arguments)};var w=this.isToggleEvent;this.isToggleEvent=function(a){return w.apply(this,arguments)||mxEvent.isShiftDown(a)};var v=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return v.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& +this.getRubberband=function(){return n};var p=(new Date).getTime(),q=0,t=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;t.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),q=0):q=(new Date).getTime()-p};var r=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<q||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, +"outlineConnect","1"))&&r.apply(this,arguments)};var v=this.isToggleEvent;this.isToggleEvent=function(a){return v.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& (u=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=u)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var z=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return z.apply(this, -arguments);b=b?a.sourceState.cell:a.getCell();if(null!=b){var c=this.getLinkForCell(b);null!=c&&(this.isCustomLink(c)?this.customLinkClicked(b,c):this.openLink(c))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var x=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return x.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m), -y=this.view.getState(n);if(null!=y&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(y.style,"locked","0")){var p=mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION)||0;0!=p&&(y=mxUtils.getBoundingBox(y,p));(g.isEdge(n)||g.isVertex(n))&&y.x>=a&&y.y+y.height<=k&&y.y>=b&&y.x+y.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var C=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:C.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();A=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=A?this.addSelectionCells(A):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);A=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var D=this.updateMouseEvent;this.updateMouseEvent=function(a){a=D.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +arguments);b=b?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var x=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return x.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m),y=this.view.getState(n);if(null!= +y&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(y.style,"locked","0")){var p=mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION)||0;0!=p&&(y=mxUtils.getBoundingBox(y,p));(g.isEdge(n)||g.isVertex(n))&&y.x>=a&&y.y+y.height<=k&&y.y>=b&&y.x+y.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();A=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c= +b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=A?this.addSelectionCells(A):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);A=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var C=this.updateMouseEvent;this.updateMouseEvent=function(a){a=C.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,c,d){d=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" version="1.1">'+d+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0)),a,c)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,k=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))<b&&Math.abs(e.y-mxEvent.getClientY(a))<b}),h=mxUtils.bind(this,function(b){if(c)for(var e=mxEvent.getSource(b);null!= -e&&e!=d.node;){if("a"==e.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,e,b);break}e=e.parentNode}});mxEvent.addGestureListeners(d.node,k,g,h);mxEvent.addListener(d.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; +Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,h=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))<b&&Math.abs(e.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(c)for(var e=mxEvent.getSource(b);null!= +e&&e!=d.node;){if("a"==e.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,e,b);break}e=e.parentNode}});mxEvent.addGestureListeners(d.node,h,g,k);mxEvent.addListener(d.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,c,d){c=c.getAttribute("href");if(null!=c&&!this.isCustomLink(c)&&mxEvent.isLeftMouseButton(d)&&!mxEvent.isPopupTrigger(d)||mxEvent.isTouchEvent(d)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(c)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(c),a);mxEvent.consume(d)}}; Graph.prototype.openLink=function(a,c){var d=window;if("_self"==c&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==c&&window==window.top){var b=a.split("#")[1];window.location.hash=="#"+b&&(window.location.hash="");window.location.hash=b}else d=window.open(a,c);return d};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,c){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",c))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a);a=null!=c?c.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(c=new mxStackLayout(this.graph,!0),c.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),c.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),c.spacing=a.stackSpacing||c.spacing,c.border=a.stackBorder||c.border,c.marginLeft=a.marginLeft||0,c.marginRight=a.marginRight||0,c.marginTop=a.marginTop||0,c.marginBottom=a.marginBottom||0,c.fill=!0,c):"treeLayout"==a.childLayout?(c=new mxCompactTreeLayout(this.graph),c.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.groupPadding=mxUtils.getValue(a,"parentPadding",20),c.levelDistance=mxUtils.getValue(a,"treeLevelDistance", @@ -2413,29 +2414,29 @@ Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEven Graph.prototype.getLabel=function(a){var c=mxGraph.prototype.getLabel.apply(this,arguments);null!=c&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(c=this.replacePlaceholders(a,c));return c};Graph.prototype.isLabelMovable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(c,"labelMovable","0")))}; Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};Graph.prototype.getGlobalVariable=function(a){var c=null;"date"==a?c=(new Date).toLocaleDateString():"time"==a?c=(new Date).toLocaleTimeString():"timestamp"==a?c=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),c=this.formatDate(new Date,a));return c}; Graph.prototype.formatDate=function(a,c,d){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy", -shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var b=this.dateFormatCache,f=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,k=function(a,b){a=String(a);for(b=b||2;a.length<b;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| -/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",h=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),q=a[g+"Minutes"](),r=a[g+"Seconds"](),g=a[g+"Milliseconds"](),t=d?0:a.getTimezoneOffset(),w={d:h,dd:k(h),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:k(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+ -12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:k(p%12||12),H:p,HH:k(p),M:q,MM:k(q),s:r,ss:k(r),l:k(g,3),L:k(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<t?"-":"+")+k(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4),S:["th","st","nd","rd"][3<h%10?0:(10!=h%100-h%10)*h%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in w?w[a]:a.slice(1, +shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var b=this.dateFormatCache,f=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,h=function(a,b){a=String(a);for(b=b||2;a.length<b;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| +/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",k=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),q=a[g+"Minutes"](),t=a[g+"Seconds"](),g=a[g+"Milliseconds"](),r=d?0:a.getTimezoneOffset(),v={d:k,dd:h(k),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:h(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+ +12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:h(p%12||12),H:p,HH:h(p),M:q,MM:h(q),s:t,ss:h(t),l:h(g,3),L:h(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<r?"-":"+")+h(100*Math.floor(Math.abs(r)/60)+Math.abs(r)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in v?v[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),d=c.getChildCount(c.root),b=0;b<d;b++)(function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.style.display="inline-block";f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"),f.defaultChecked= -!0);d.appendChild(f);var g=b.value||mxResources.get("background")||"Background";d.setAttribute("title",g);mxUtils.write(d,g);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,b));return a}; -Graph.prototype.replacePlaceholders=function(a,c){var d=[];if(null!=c){for(var b=0;match=this.placeholderPattern.exec(c);){var f=match[0];if(2<f.length&&"%label%"!=f&&"%tooltip%"!=f){var e=null;if(match.index>b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var k=f.substring(1,f.length-1);if(0>k.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(k)?null!=g.getAttribute(k)?g.getAttribute(k):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(k))}d.push(c.substring(b, +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),d=c.getChildCount(c.root),b=0;b<d;b++)mxUtils.bind(this,function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.style.display="inline-block";f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"), +f.defaultChecked=!0);d.appendChild(f);var g=this.convertValueToString(b)||mxResources.get("background")||"Background";d.setAttribute("title",g);mxUtils.write(d,g);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,b));return a}; +Graph.prototype.replacePlaceholders=function(a,c){var d=[];if(null!=c){for(var b=0;match=this.placeholderPattern.exec(c);){var f=match[0];if(2<f.length&&"%label%"!=f&&"%tooltip%"!=f){var e=null;if(match.index>b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var h=f.substring(1,f.length-1);if(0>h.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(h)?null!=g.getAttribute(h)?g.getAttribute(h):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(h))}d.push(c.substring(b, match.index)+(null!=e?e:f));b=match.index+f.length}}d.push(c.substring(b))}return d.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,c,d){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=d&&(mxEvent.isTouchEvent(c)?d.update(d.getState(this.view.getState(a[1]))):d.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var k=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(k.x+=a.geometry.width/2,k.y-=d):c==mxConstants.DIRECTION_SOUTH?(k.x+=a.geometry.width/2,k.y+=a.geometry.height+d):(k.x=c==mxConstants.DIRECTION_WEST?k.x-d:k.x+(a.geometry.width+d),k.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); -var g=this.view.scale,h=this.view.translate,l=h.x*g,h=h.y*g;this.model.isVertex(d.cell)&&(l=d.x,h=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(k.x+=a.parent.geometry.x,k.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+k.x*g,h+k.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= -null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?k.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?k.y+=a.geometry.height/2:k.x=c==mxConstants.DIRECTION_WEST?k.x-a.geometry.width/2:k.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= -m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var n=this.view.getState(l),p=null!=n?n.style:this.getCellStyle(l);if(mxUtils.getValue(p,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=k.x-m.width/2,m.y=k.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var r=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? -null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=r&&this.connectionHandler.insertBeforeSource){var t=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=r.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==r.parent&&(t=b.parent.getIndex(b),this.model.add(b.parent,r,t))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(t=a.parent.getIndex(a),this.model.add(a.parent, -g,t));null!=r&&d.push(r);null==e&&null!=g&&d.push(g);null==g&&null!=r&&r.geometry.setTerminalPoint(k,!1);null!=r&&this.fireEvent(new mxEventObject("cellsInserted","cells",[r]))}finally{this.model.endUpdate()}return d}; +Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var h=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(h.x+=a.geometry.width/2,h.y-=d):c==mxConstants.DIRECTION_SOUTH?(h.x+=a.geometry.width/2,h.y+=a.geometry.height+d):(h.x=c==mxConstants.DIRECTION_WEST?h.x-d:h.x+(a.geometry.width+d),h.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); +var g=this.view.scale,k=this.view.translate,l=k.x*g,k=k.y*g;this.model.isVertex(d.cell)&&(l=d.x,k=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(h.x+=a.parent.geometry.x,h.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+h.x*g,k+h.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= +null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?h.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?h.y+=a.geometry.height/2:h.x=c==mxConstants.DIRECTION_WEST?h.x-a.geometry.width/2:h.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= +m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var n=this.view.getState(l),p=null!=n?n.style:this.getCellStyle(l);if(mxUtils.getValue(p,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=h.x-m.width/2,m.y=h.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var t=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? +null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=t&&this.connectionHandler.insertBeforeSource){var r=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=t.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==t.parent&&(r=b.parent.getIndex(b),this.model.add(b.parent,t,r))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(r=a.parent.getIndex(a),this.model.add(a.parent, +g,r));null!=t&&d.push(t);null==e&&null!=g&&d.push(g);null==g&&null!=t&&t.geometry.setTerminalPoint(h,!1);null!=t&&this.fireEvent(new mxEventObject("cellsInserted","cells",[t]))}finally{this.model.endUpdate()}return d}; Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),c=[],d,b;for(b in this.model.cells)if(d=this.model.cells[b],this.model.isVertex(d)||this.model.isEdge(d))this.isHtmlLabel(d)?(a.innerHTML=this.getLabel(d),d=mxUtils.extractTextWithWhitespace([a])):d=this.getLabel(d),d=mxUtils.trim(d.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<d.length&&c.push(d);return c.join(" ")}; Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var c=a.getAttribute("placeholder"),d=a,b=null;null==b&&null!=d;)null!=d.value&&"object"==typeof d.value&&(b=d.hasAttribute(c)?null!=d.getAttribute(c)?d.getAttribute(c):"":null),d=this.model.getParent(d);return b||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null}; Graph.prototype.getCellStyle=function(a){var c=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var d=this.model.getParent(a);this.model.isVertex(d)&&this.isCellCollapsed(a)&&(d=this.layoutManager.getLayout(d),null!=d&&d.constructor==mxStackLayout&&(c[mxConstants.STYLE_HORIZONTAL]=!d.horizontal))}return c}; Graph.prototype.updateAlternateBounds=function(a,c,d){if(null!=a&&null!=c&&null!=this.layoutManager&&null!=c.alternateBounds){var b=this.layoutManager.getLayout(this.model.getParent(a));null!=b&&b.constructor==mxStackLayout&&(b.horizontal?c.alternateBounds.height=0:c.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; -Graph.prototype.foldCells=function(a,c,d,b,f){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));if(null!=d){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var e=0;e<d.length;e++){var k=this.view.getState(d[e]),g=this.getCellGeometry(d[e]);if(null!=k&&null!=g){var h=Math.round(g.width-k.width/this.view.scale),l=Math.round(g.height-k.height/this.view.scale);if(0!=l||0!=h){var m=this.model.getParent(d[e]),n=this.layoutManager.getLayout(m); -null==n?null!=f&&this.isMoveCellsEvent(f)&&this.moveSiblings(k,m,h,l):null!=f&&mxEvent.isAltDown(f)||n.constructor!=mxStackLayout||n.resizeLast||this.resizeParentStacks(m,n,h,l)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(d)}}; -Graph.prototype.moveSiblings=function(a,c,d,b){this.model.beginUpdate();try{var f=this.getCellsBeyond(a.x,a.y,c,!0,!0);for(c=0;c<f.length;c++)if(f[c]!=a.cell){var e=this.view.getState(f[c]),k=this.getCellGeometry(f[c]);null!=e&&null!=k&&(k=k.clone(),k.translate(Math.round(d*Math.max(0,Math.min(1,(e.x-a.x)/a.width))),Math.round(b*Math.max(0,Math.min(1,(e.y-a.y)/a.height)))),this.model.setGeometry(f[c],k))}}finally{this.model.endUpdate()}}; -Graph.prototype.resizeParentStacks=function(a,c,d,b){if(null!=this.layoutManager&&null!=c&&c.constructor==mxStackLayout&&!c.resizeLast){this.model.beginUpdate();try{for(var f=c.horizontal;null!=a&&null!=c&&c.constructor==mxStackLayout&&c.horizontal==f&&!c.resizeLast;){var e=this.getCellGeometry(a),k=this.view.getState(a);null!=k&&null!=e&&(e=e.clone(),c.horizontal?e.width+=d+Math.min(0,k.width/this.view.scale-e.width):e.height+=b+Math.min(0,k.height/this.view.scale-e.height),this.model.setGeometry(a, +Graph.prototype.foldCells=function(a,c,d,b,f){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));if(null!=d){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var e=0;e<d.length;e++){var h=this.view.getState(d[e]),g=this.getCellGeometry(d[e]);if(null!=h&&null!=g){var k=Math.round(g.width-h.width/this.view.scale),l=Math.round(g.height-h.height/this.view.scale);if(0!=l||0!=k){var m=this.model.getParent(d[e]),n=this.layoutManager.getLayout(m); +null==n?null!=f&&this.isMoveCellsEvent(f)&&this.moveSiblings(h,m,k,l):null!=f&&mxEvent.isAltDown(f)||n.constructor!=mxStackLayout||n.resizeLast||this.resizeParentStacks(m,n,k,l)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(d)}}; +Graph.prototype.moveSiblings=function(a,c,d,b){this.model.beginUpdate();try{var f=this.getCellsBeyond(a.x,a.y,c,!0,!0);for(c=0;c<f.length;c++)if(f[c]!=a.cell){var e=this.view.getState(f[c]),h=this.getCellGeometry(f[c]);null!=e&&null!=h&&(h=h.clone(),h.translate(Math.round(d*Math.max(0,Math.min(1,(e.x-a.x)/a.width))),Math.round(b*Math.max(0,Math.min(1,(e.y-a.y)/a.height)))),this.model.setGeometry(f[c],h))}}finally{this.model.endUpdate()}}; +Graph.prototype.resizeParentStacks=function(a,c,d,b){if(null!=this.layoutManager&&null!=c&&c.constructor==mxStackLayout&&!c.resizeLast){this.model.beginUpdate();try{for(var f=c.horizontal;null!=a&&null!=c&&c.constructor==mxStackLayout&&c.horizontal==f&&!c.resizeLast;){var e=this.getCellGeometry(a),h=this.view.getState(a);null!=h&&null!=e&&(e=e.clone(),c.horizontal?e.width+=d+Math.min(0,h.width/this.view.scale-e.width):e.height+=b+Math.min(0,h.height/this.view.scale-e.height),this.model.setGeometry(a, e));a=this.model.getParent(a);c=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=c.container:"1"==c.container};Graph.prototype.isCellConnectable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return null!=c.connectable?"0"!=c.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,c,d){d=d||this.getDefaultParent();this.isCellLocked(d)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,c,d){d=d||this.getDefaultParent();return this.isCellLocked(d)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)}; Graph.prototype.isCellFoldable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.foldingEnabled&&!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=c.collapsible||!this.isContainer(a)&&"1"==c.collapsible)};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()}; @@ -2478,23 +2479,23 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&b<this.activa this.reset())}else this.reset()};HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; (function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var c=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,b){var d=this.getState(a);null!=d&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=c.apply(this,arguments);null!= d&&this.graph.model.isEdge(d.cell)&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var d=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return d.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var b=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){b.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& -this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],v=[],u=b[g+2];g< -b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x- -D.x)>f||Math.abs(u.y-D.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints= +this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],w=[],u=b[g+2];g< +b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],D=x.absolutePoints;if(null!=D&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<D.length-1;x++){for(var A=D[x+1],C=D[x],u=D[x+2];x<D.length-2&&mxUtils.ptSegDistSq(C.x,C.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=D[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,C.x,C.y,A.x,A.y);if(null!=u&&(Math.abs(u.x- +C.x)>f||Math.abs(u.y-C.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;C=u.y-k.y;u={distSq:A*A+C*C,x:u.x,y:u.y};for(A=0;A<w.length;A++)if(w[A].distSq>u.distSq){w.splice(A,0,u);u=null;break}null==u||0!=w.length&&w[w.length-1].x===u.x&&w[w.length-1].y===u.y||w.push(u)}}}for(x=0;x<w.length;x++)c=e(1,w[x].x,w[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints= null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)f.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,e=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,g=mxUtils.getValue(this.style,"jumpStyle","none"),h,k=!0,l=null,m=null;h=[];var u=null;a.begin();for(var z=0;z<this.state.routedPoints.length;z++){var x= -this.state.routedPoints[z],C=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?C=b[0]:z==this.state.routedPoints.length-1&&(C=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var D=this.state.routedPoints[z+1],x=D.x/this.scale-C.x,D=D.y/this.scale-C.y,x=x*x+D*D;null==u&&(u=new mxPoint(C.x-l.x,C.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-C.x,D=l.y-C.y,x=x*x+D*D,x>e*e&&(A=new mxPoint(C.x-u.x,C.y-u.y),x=new mxPoint(C.x+u.x,C.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, -null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(C),l=C)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== +this.state.routedPoints[z],D=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?D=b[0]:z==this.state.routedPoints.length-1&&(D=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var C=this.state.routedPoints[z+1],x=C.x/this.scale-D.x,C=C.y/this.scale-D.y,x=x*x+C*C;null==u&&(u=new mxPoint(D.x-l.x,D.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-D.x,C=l.y-D.y,x=x*x+C*C,x>e*e&&(A=new mxPoint(D.x-u.x,D.y-u.y),x=new mxPoint(D.x+u.x,D.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, +null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(D),l=D)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)e.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var f=this.getNextPoint(a,c,d),g=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=h)var l=Math.cos(-h),m=Math.sin(-h),f=mxUtils.getRotatedPoint(f,l,m,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| 0);f=this.getPerimeterPoint(b,f,0==h&&g,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),f=mxUtils.getRotatedPoint(f,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(b,a[f]);if(null!=g){var h=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||h<d)c=g,d=h}}null!=c&&(e=c)}return e}; -var k=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=k.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var g=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c= +var h=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=h.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var g=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c= b.substring(8,b.length-1),d=mxUtils.parseXml(a.view.graph.decompress(c));return new mxShape(new mxStencil(d.documentElement))}catch(p){null!=window.console&&console.log("Error in shape: "+p)}}return g.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; mxStencilRegistry.getStencil=function(a){var c=mxStencilRegistry.stencils[a];if(null==c&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var d=mxStencilRegistry.getBasenameForStencil(a);if(null!=d){c=mxStencilRegistry.libraries[d];if(null!=c){if(null==mxStencilRegistry.packages[d]){for(var b=0;b<c.length;b++){var f=c[b];if(".xml"==f.toLowerCase().substring(f.length-4,f.length))mxStencilRegistry.loadStencilSet(f,null);else if(".js"==f.toLowerCase().substring(f.length-3,f.length))try{if(mxStencilRegistry.allowEval){var e= -mxUtils.load(f);null!=e&&200<=e.getStatus()&&299>=e.getStatus()&&eval.call(window,e.getText())}}catch(k){null!=window.console&&console.log("error in getStencil:",f,k)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; +mxUtils.load(f);null!=e&&200<=e.getStatus()&&299>=e.getStatus()&&eval.call(window,e.getText())}}catch(h){null!=window.console&&console.log("error in getStencil:",f,h)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; mxStencilRegistry.getBasenameForStencil=function(a){var c=null;if(null!=a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var c=a[1],d=2;d<a.length-1;d++)c+="/"+a[d];return c}; -mxStencilRegistry.loadStencilSet=function(a,c,d,b){var f=mxStencilRegistry.packages[a];if(null!=d&&d||null==f){var e=!1;if(null==f)try{if(b){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(b){null!=b&&null!=b.documentElement&&(mxStencilRegistry.packages[a]=b,e=!0,mxStencilRegistry.parseStencilSet(b.documentElement,c,e))}));return}f=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=f;e=!0}catch(k){null!=window.console&&console.log("error in loadStencilSet:",a,k)}null!=f&&null!= +mxStencilRegistry.loadStencilSet=function(a,c,d,b){var f=mxStencilRegistry.packages[a];if(null!=d&&d||null==f){var e=!1;if(null==f)try{if(b){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(b){null!=b&&null!=b.documentElement&&(mxStencilRegistry.packages[a]=b,e=!0,mxStencilRegistry.parseStencilSet(b.documentElement,c,e))}));return}f=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=f;e=!0}catch(h){null!=window.console&&console.log("error in loadStencilSet:",a,h)}null!=f&&null!= f.documentElement&&mxStencilRegistry.parseStencilSet(f.documentElement,c,e)}};mxStencilRegistry.loadStencil=function(a,c){if(null!=c)mxUtils.get(a,mxUtils.bind(this,function(a){c(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var c=0;c<a.length;c++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[c]).documentElement)}; -mxStencilRegistry.parseStencilSet=function(a,c,d){if("stencils"==a.nodeName)for(var b=a.firstChild;null!=b;)"shapes"==b.nodeName&&mxStencilRegistry.parseStencilSet(b,c,d),b=b.nextSibling;else{d=null!=d?d:!0;var b=a.firstChild,f="";a=a.getAttribute("name");for(null!=a&&(f=a+".");null!=b;){if(b.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.getAttribute("name"),null!=a)){var f=f.toLowerCase(),e=a.replace(/ /g,"_");d&&mxStencilRegistry.addStencil(f+e.toLowerCase(),new mxStencil(b));if(null!=c){var k=b.getAttribute("w"), -g=b.getAttribute("h"),k=null==k?80:parseInt(k,10),g=null==g?80:parseInt(g,10);c(f,e,a,k,g)}}b=b.nextSibling}}}; +mxStencilRegistry.parseStencilSet=function(a,c,d){if("stencils"==a.nodeName)for(var b=a.firstChild;null!=b;)"shapes"==b.nodeName&&mxStencilRegistry.parseStencilSet(b,c,d),b=b.nextSibling;else{d=null!=d?d:!0;var b=a.firstChild,f="";a=a.getAttribute("name");for(null!=a&&(f=a+".");null!=b;){if(b.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.getAttribute("name"),null!=a)){var f=f.toLowerCase(),e=a.replace(/ /g,"_");d&&mxStencilRegistry.addStencil(f+e.toLowerCase(),new mxStencil(b));if(null!=c){var h=b.getAttribute("w"), +g=b.getAttribute("h"),h=null==h?80:parseInt(h,10),g=null==g?80:parseInt(g,10);c(f,e,a,h,g)}}b=b.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#99ccff";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= "#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=8;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var c=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| c.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); @@ -2509,7 +2510,7 @@ this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell= function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); var k=h.getTerminalPoint(!0),l=h.getTerminalPoint(!1);h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),G=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!1,p)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/ -2;h.y+=h.height/2-h.width/2;var r=h.width;h.width=h.height;h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var x=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& +2;h.y+=h.height/2-h.width/2;var t=h.width;h.width=h.height;h.height=t;b.setGeometry(e,h);var r=this.view.getState(e);if(null!=r){var x=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& null!=a.cell.value&&"object"==typeof a.cell.value){var b=this.model.getDescendants(a.cell);if(0<b.length)for(var c=0;c<b.length;c++)this.isReplacePlaceholders(b[c])&&this.view.invalidate(b[c],!1,!1)}};Graph.prototype.replaceElement=function(a,b){for(var c=a.ownerDocument.createElement(null!=b?b:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)c.setAttribute(attr.nodeName,attr.nodeValue);c.innerHTML=a.innerHTML;a.parentNode.replaceChild(c,a)};Graph.prototype.updateLabelElements=function(a, b,c){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),e=0;e<a.length;e++)if(this.isHtmlLabel(a[e])){var f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.zapGremlins(b);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& null!=a.getAttribute("placeholder"))for(var d=a.getAttribute("placeholder"),e=a;null!=e;){if(e==this.model.getRoot()||null!=e.value&&"object"==typeof e.value&&e.hasAttribute(d)){this.setAttributeForCell(e,d,b);break}e=this.model.getParent(e)}var f=a.value.cloneNode(!0);f.setAttribute("label",b);b=f}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0); @@ -2536,8 +2537,8 @@ m.y=Math.round(d-m.height/2)-l.origin.y,this.getModel().setGeometry(c[f].cell,m) c.get(this.model.getParent(a[d]))||(f.relative=!1,f.x=e.x/e.view.scale-e.view.translate.x,f.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;f=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(f,b[d]);return c.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g,h){b=null!=b?b:1;c=null!=c?c:0; e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.view.scale,l=mxUtils.createXmlDocument(),m=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"svg"):l.createElement("svg");null!=a&&(null!=m.style?m.style.backgroundColor=a:m.setAttribute("style","background-color:"+a));null==l.createElementNS?(m.setAttribute("xmlns",mxConstants.NS_SVG),m.setAttribute("xmlns:xlink", mxConstants.NS_XLINK)):m.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=b/k;m.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*c)+"px");m.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*c)+"px");m.setAttribute("version","1.1");var y=m;e&&(y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"g"):l.createElement("g"),y.setAttribute("transform","translate(0.5,0.5)"),m.appendChild(y));l.appendChild(m);l=this.createSvgCanvas(y);l.foOffset= -e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor", -"middle");r.setAttribute("font-size",Math.round(q.fontSize)+"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=f,r.textContent=n.value,r}catch(Ea){return p.apply(this, +e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var t=this.createElement("text");t.setAttribute("x",Math.round(d/2));t.setAttribute("y",Math.round((e+q.fontSize)/2));t.setAttribute("fill",q.fontColor||"black");t.setAttribute("text-anchor", +"middle");t.setAttribute("font-size",Math.round(q.fontSize)+"px");t.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&t.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&t.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&t.setAttribute("text-decoration","underline");try{return n.innerHTML=f,t.textContent=n.value,t}catch(Ea){return p.apply(this, arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!f&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(f||d)&&G.apply(this, arguments)};h.drawState(this.getView().getState(this.model.root),l);return m};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var b=window.getSelection();b.getRangeAt&&b.rangeCount&&(a=b.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,b,c){for(;null!=a&&a.nodeName!=b;){if(a== c)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var b=null;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){var c=document.createRange();c.selectNode(a);b.removeAllRanges();b.addRange(c)}}else(b=document.selection)&&"Control"!=b.type&&(a=b.createRange(),a.collapse(!0),c=b.createRange(),c.setEndPoint("StartToStart",a),c.select())};Graph.prototype.insertRow=function(a,b){for(var c=a.tBodies[0],d=0<c.rows.length?c.rows[0].cells.length:1,c=c.insertRow(b), @@ -2548,7 +2549,7 @@ b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMou return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&& (c&&null==e.getCell()&&this.isSelectionEmpty()||b&&this.isCellSelected(e.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}else if(document.selection&& document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(W){}};var f=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", -"1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var k=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){k.apply(this, +"1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var h=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){h.apply(this, arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var c=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(c)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var g=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e= a.nextSibling;null==b?d(a):(c(a,b),b=b.nextSibling);a=e}}function d(a){for(var b=a.firstChild;null!=b;){var c=b.nextSibling;d(b);b=c}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), @@ -2558,10 +2559,10 @@ mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(a.style,mxCo this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= !1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); -this.switchSelectionState=c;this.resize()};var h=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, +this.switchSelectionState=c;this.resize()};var k=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/c)+(this.textarea.offsetHeight- this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/c)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*c);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=c:mxUtils.setPrefixedStyle(this.textarea.style, -"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",h.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,b){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)}; +"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",k.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,b){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)}; mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(G){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style, mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize= @@ -2588,14 +2589,14 @@ this.graph.getCells(f.x,f.y,f.width,f.height);this.graph.removeSelectionCells(h) this.width,this.height),this.graph.selectRegion(f,b.getEvent());b.consume()}};mxRubberband.prototype.mouseMove=function(a,b){if(!b.isConsumed()&&null!=this.first){var c=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);c.x-=d.x;c.y-=d.y;var d=b.getX()+c.x,c=b.getY()+c.y,e=this.first.x-d,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c), this.isSpaceEvent(b)?(d=this.x+this.width,c=this.y+this.height,e=this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(this.width=this.graph.snap(this.width/e)*e,this.height=this.graph.snap(this.height/e)*e,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=c-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= this.x+"px",this.div.style.top=this.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height= -Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var r=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);r.apply(this, -arguments)};var t=(new Date).getTime(),w=0,v=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){v.apply(this,arguments);c!=this.currentTerminalState?(t=(new Date).getTime(),w=0):w=(new Date).getTime()-t;this.currentTerminalState=c};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<w||(null==this.currentTerminalState|| +Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this, +arguments)};var r=(new Date).getTime(),v=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){w.apply(this,arguments);c!=this.currentTerminalState?(r=(new Date).getTime(),v=0):v=(new Date).getTime()-r;this.currentTerminalState=c};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<v||(null==this.currentTerminalState|| "0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&u.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,b){var c=null!=a&&0==a,d=this.state.getVisibleTerminalState(c),e=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,c):null,c=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(c), e):null)?this.fixedHandleImage:null!=e&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var z=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE? HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return z.apply(this,arguments)};var x=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var b=this.graph.getModel(),c=b.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(b.isEdge(c)&&null!=d&&d.relative&&(b=this.graph.view.getState(a[0]),null!=b&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox))return mxRectangle.fromRectangle(b.text.boundingBox)}return x.apply(this, -arguments)};var C=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):C.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; +arguments)};var D=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):D.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&A.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| -this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var D=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){D.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var C=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){C.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var L=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){L.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= 1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); b()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!= @@ -2608,8 +2609,8 @@ this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.grap if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c, b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var J=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){J.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var N=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= function(){N.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Q=mxEdgeHandler.prototype.redrawHandles; -mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Q.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var P=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= -function(){P.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var F=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){F.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Q.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var O=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= +function(){O.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var F=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){F.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), this.changeHandler=null)}}();Format=function(a,c){this.editorUi=a;this.container=c};Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;Format.prototype.showCloseButton=!0;Format.prototype.inactiveTabBackgroundColor="#d7d7d7"; Format.prototype.init=function(){var a=this.editorUi.editor,c=a.graph;this.update=mxUtils.bind(this,function(a,b){this.clearSelectionState();this.refresh()});c.getSelectionModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.EDITING_STARTED,this.update);c.addListener(mxEvent.EDITING_STOPPED,this.update);c.getModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));a.addListener("autosaveChanged",mxUtils.bind(this,function(){this.refresh()})); this.refresh()};Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),d=0;d<a.length;d++)this.updateSelectionStateForCell(c,a[d],a);return c}; @@ -2625,34 +2626,34 @@ Format.prototype.isAutoSizeState=function(a){return"1"==mxUtils.getValue(a.style Format.prototype.clear=function(){this.container.innerHTML="";if(null!=this.panels)for(var a=0;a<this.panels.length;a++)this.panels[a].destroy();this.panels=[]}; Format.prototype.refresh=function(){if("0px"!=this.container.style.width){this.clear();var a=this.editorUi,c=a.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.color="rgb(112, 112, 112)";d.style.textAlign="left";d.style.cursor="default";var b=document.createElement("div");b.style.border="1px solid #c0c0c0";b.style.borderWidth="0px 0px 1px 0px";b.style.textAlign="center";b.style.fontWeight="bold";b.style.overflow="hidden";b.style.display=mxClient.IS_QUIRKS?"inline": "inline-block";b.style.paddingTop="8px";b.style.height=mxClient.IS_QUIRKS?"34px":"25px";b.style.width="100%";this.container.appendChild(d);if(c.isSelectionEmpty())mxUtils.write(b,mxResources.get("diagram")),this.showCloseButton&&(c=document.createElement("img"),c.setAttribute("border","0"),c.setAttribute("src",Dialog.prototype.closeImage),c.setAttribute("title",mxResources.get("hide")),c.style.position="absolute",c.style.display="block",c.style.right="0px",c.style.top="8px",c.style.cursor="pointer", -c.style.marginTop="1px",c.style.marginRight="17px",c.style.border="1px solid transparent",c.style.padding="1px",c.style.opacity=.5,b.appendChild(c),mxEvent.addListener(c,"click",function(){a.actions.get("formatPanel").funct()})),d.appendChild(b),this.panels.push(new DiagramFormatPanel(this,a,d));else if(c.isEditing())mxUtils.write(b,mxResources.get("text")),d.appendChild(b),this.panels.push(new TextFormatPanel(this,a,d));else{var f=this.getSelectionState().containsLabel,e=null,k=null,c=mxUtils.bind(this, -function(a,b,c){var d=mxUtils.bind(this,function(d){e!=a&&(f?this.labelIndex=c:this.currentIndex=c,null!=e&&(e.style.backgroundColor=this.inactiveTabBackgroundColor,e.style.borderBottomWidth="1px"),e=a,e.style.backgroundColor="",e.style.borderBottomWidth="0px",k!=b&&(null!=k&&(k.style.display="none"),k=b,k.style.display=""))});mxEvent.addListener(a,"click",d);c==(f?this.labelIndex:this.currentIndex)&&d()}),g=0;b.style.backgroundColor=this.inactiveTabBackgroundColor;b.style.borderLeftWidth="1px";b.style.width= -f?"50%":"33.3%";b.style.width=f?"50%":"33.3%";var h=b.cloneNode(!1),l=h.cloneNode(!1);h.style.backgroundColor=this.inactiveTabBackgroundColor;l.style.backgroundColor=this.inactiveTabBackgroundColor;if(f)h.style.borderLeftWidth="0px";else{b.style.borderLeftWidth="0px";mxUtils.write(b,mxResources.get("style"));d.appendChild(b);var m=d.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(b,m,g++)}mxUtils.write(h,mxResources.get("text")); -d.appendChild(h);b=d.cloneNode(!1);b.style.display="none";this.panels.push(new TextFormatPanel(this,a,b));this.container.appendChild(b);mxUtils.write(l,mxResources.get("arrange"));d.appendChild(l);d=d.cloneNode(!1);d.style.display="none";this.panels.push(new ArrangePanel(this,a,d));this.container.appendChild(d);c(h,b,g++);c(l,d,g++)}}};BaseFormatPanel=function(a,c,d){this.format=a;this.editorUi=c;this.container=d;this.listeners=[]};BaseFormatPanel.prototype.buttonBackgroundColor="white"; +c.style.marginTop="1px",c.style.marginRight="17px",c.style.border="1px solid transparent",c.style.padding="1px",c.style.opacity=.5,b.appendChild(c),mxEvent.addListener(c,"click",function(){a.actions.get("formatPanel").funct()})),d.appendChild(b),this.panels.push(new DiagramFormatPanel(this,a,d));else if(c.isEditing())mxUtils.write(b,mxResources.get("text")),d.appendChild(b),this.panels.push(new TextFormatPanel(this,a,d));else{var f=this.getSelectionState().containsLabel,e=null,h=null,c=mxUtils.bind(this, +function(a,b,c){var d=mxUtils.bind(this,function(d){e!=a&&(f?this.labelIndex=c:this.currentIndex=c,null!=e&&(e.style.backgroundColor=this.inactiveTabBackgroundColor,e.style.borderBottomWidth="1px"),e=a,e.style.backgroundColor="",e.style.borderBottomWidth="0px",h!=b&&(null!=h&&(h.style.display="none"),h=b,h.style.display=""))});mxEvent.addListener(a,"click",d);c==(f?this.labelIndex:this.currentIndex)&&d()}),g=0;b.style.backgroundColor=this.inactiveTabBackgroundColor;b.style.borderLeftWidth="1px";b.style.width= +f?"50%":"33.3%";b.style.width=f?"50%":"33.3%";var k=b.cloneNode(!1),l=k.cloneNode(!1);k.style.backgroundColor=this.inactiveTabBackgroundColor;l.style.backgroundColor=this.inactiveTabBackgroundColor;if(f)k.style.borderLeftWidth="0px";else{b.style.borderLeftWidth="0px";mxUtils.write(b,mxResources.get("style"));d.appendChild(b);var m=d.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(b,m,g++)}mxUtils.write(k,mxResources.get("text")); +d.appendChild(k);b=d.cloneNode(!1);b.style.display="none";this.panels.push(new TextFormatPanel(this,a,b));this.container.appendChild(b);mxUtils.write(l,mxResources.get("arrange"));d.appendChild(l);d=d.cloneNode(!1);d.style.display="none";this.panels.push(new ArrangePanel(this,a,d));this.container.appendChild(d);c(k,b,g++);c(l,d,g++)}}};BaseFormatPanel=function(a,c,d){this.format=a;this.editorUi=c;this.container=d;this.listeners=[]};BaseFormatPanel.prototype.buttonBackgroundColor="white"; BaseFormatPanel.prototype.getSelectionState=function(){for(var a=this.editorUi.editor.graph,c=a.getSelectionCells(),d=null,b=0;b<c.length;b++){var f=a.view.getState(c[b]);if(null!=f&&(f=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null),null!=f))if(null==d)d=f;else if(d!=f)return null}return d}; -BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,k,g){e=null!=e?e:"";g=null!=g?g:!1;var h=this.editorUi,l=h.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var r=g?parseFloat(a.value):parseInt(a.value);isNaN(r)||c!=mxConstants.STYLE_ROTATION||(r=mxUtils.mod(Math.round(100*r),36E3)/100);r=Math.min(f,Math.max(b,isNaN(r)?d:r));if(l.cellEditor.isContentEditing()&&k)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),k(r),a.value=r+e, -n=!1);else if(r!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{l.setCellStyles(c,r,l.getSelectionCells()),c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=r+"px";a.removeAttribute("size")}),h.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[r],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}a.value=r+e;mxEvent.consume(p)});k&&l.cellEditor.isContentEditing()&& +BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,h,g){e=null!=e?e:"";g=null!=g?g:!1;var k=this.editorUi,l=k.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var q=g?parseFloat(a.value):parseInt(a.value);isNaN(q)||c!=mxConstants.STYLE_ROTATION||(q=mxUtils.mod(Math.round(100*q),36E3)/100);q=Math.min(f,Math.max(b,isNaN(q)?d:q));if(l.cellEditor.isContentEditing()&&h)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),h(q),a.value=q+e, +n=!1);else if(q!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{l.setCellStyles(c,q,l.getSelectionCells()),c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=q+"px";a.removeAttribute("size")}),k.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[q],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}a.value=q+e;mxEvent.consume(p)});h&&l.cellEditor.isContentEditing()&& (mxEvent.addListener(a,"mousedown",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}),mxEvent.addListener(a,"touchstart",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}));mxEvent.addListener(a,"change",p);mxEvent.addListener(a,"blur",p);return p};BaseFormatPanel.prototype.createPanel=function(){var a=document.createElement("div");a.style.padding="12px 0px 12px 18px";a.style.borderBottom="1px solid #c0c0c0";return a}; BaseFormatPanel.prototype.createTitle=function(a){var c=document.createElement("div");c.style.padding="0px 0px 6px 0px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.width="200px";c.style.fontWeight="bold";mxUtils.write(c,a);return c}; -BaseFormatPanel.prototype.createStepper=function(a,c,d,b,f,e){d=null!=d?d:1;b=null!=b?b:8;if(mxClient.IS_QUIRKS)b-=2;else if(mxClient.IS_MT||8<=document.documentMode)b+=1;var k=document.createElement("div");mxUtils.setPrefixedStyle(k.style,"borderRadius","3px");k.style.border="1px solid rgb(192, 192, 192)";k.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className= -"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS|| -8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return k}; -BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var k=document.createElement("span");mxUtils.write(k,a);f.appendChild(k);var g=!1,h=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked", -"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),h!=a&&(h=a,c()!=h&&d(h)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==k)e.checked=!e.checked;l(e.checked)}});l(h);null!=b&&(b.install(l),this.listeners.push(b));return f}; -BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,k,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var h=this.editorUi,l=h.editor.graph;return this.createOption(a,function(){var a=l.view.getState(l.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,d)!=f:null},function(a){g&&l.stopEditing();if(null!=k)k.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),h.fireEvent(new mxEventObject("styleChanged", +BaseFormatPanel.prototype.createStepper=function(a,c,d,b,f,e){d=null!=d?d:1;b=null!=b?b:8;if(mxClient.IS_QUIRKS)b-=2;else if(mxClient.IS_MT||8<=document.documentMode)b+=1;var h=document.createElement("div");mxUtils.setPrefixedStyle(h.style,"borderRadius","3px");h.style.border="1px solid rgb(192, 192, 192)";h.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className= +"geBtnUp";h.appendChild(g);var k=g.cloneNode(!1);k.style.border="none";k.style.height=b+"px";k.className="geBtnDown";h.appendChild(k);mxEvent.addListener(k,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(h,function(a){if(mxClient.IS_QUIRKS|| +8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return h}; +BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var h=document.createElement("span");mxUtils.write(h,a);f.appendChild(h);var g=!1,k=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked", +"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),k!=a&&(k=a,c()!=k&&d(k)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==h)e.checked=!e.checked;l(e.checked)}});l(k);null!=b&&(b.install(l),this.listeners.push(b));return f}; +BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,h,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var k=this.editorUi,l=k.editor.graph;return this.createOption(a,function(){var a=l.view.getState(l.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,d)!=f:null},function(a){g&&l.stopEditing();if(null!=h)h.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),k.fireEvent(new mxEventObject("styleChanged", "keys",[c],"values",[a],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}},{install:function(a){this.listener=function(){var b=l.view.getState(l.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,d)!=f)};l.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){l.getModel().removeListener(this.listener)}})}; -BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,k){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m= -!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(null!=a&&a!=mxConstants.NONE?a:b)+';"></div>';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);f||(n=a,(g||k||c()!=n)&& -d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=h.checked||k?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==h||"INPUT"!=a.nodeName)a!=h&&(h.checked=!h.checked),h.checked||null==n||n==mxConstants.NONE|| -b==mxConstants.NONE||(b=n),q(h.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; -BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,k=e.editor.graph;return this.createColorOption(a,function(){var a=k.view.getState(k.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){k.getModel().beginUpdate();try{null!=f&&f(a),k.setCellStyles(c,a,k.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}},d||mxConstants.NONE, -{install:function(a){this.listener=function(){var b=k.view.getState(k.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};k.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){k.getModel().removeListener(this.listener)}},b)}; +BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,h){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";h||g.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m= +!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(null!=a&&a!=mxConstants.NONE?a:b)+';"></div>';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);p.style.display=k.checked||h?"":"none";null!=e&&e(a);f||(n=a,(g||h||c()!=n)&& +d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=k.checked||h?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked=!k.checked),k.checked||null==n||n==mxConstants.NONE|| +b==mxConstants.NONE||(b=n),q(k.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; +BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,h=e.editor.graph;return this.createColorOption(a,function(){var a=h.view.getState(h.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){h.getModel().beginUpdate();try{null!=f&&f(a),h.setCellStyles(c,a,h.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",h.getSelectionCells()))}finally{h.getModel().endUpdate()}},d||mxConstants.NONE, +{install:function(a){this.listener=function(){var b=h.view.getState(h.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};h.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){h.getModel().removeListener(this.listener)}},b)}; BaseFormatPanel.prototype.addArrow=function(a,c){c=null!=c?c:10;var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.padding="6px";d.style.paddingRight="4px";var b=10-c;2==b?d.style.paddingTop="6px":0<b?d.style.paddingTop=6-b+"px":d.style.marginTop="-2px";d.style.height=c+"px";d.style.borderLeft="1px solid #a0a0a0";d.innerHTML='<img border="0" src="'+(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHBJREFUeNpidHB2ZyAGsACxDRBPIKCuA6TwCBB/h2rABu4A8SYmKCcXiP/iUFgAxL9gCi8A8SwsirZCMQMTkmANEH9E4v+CmsaArvAdyNFI/FlQ92EoBIE+qCRIUz168DBgsU4OqhinQpgHMABAgAEALY4XLIsJ20oAAAAASUVORK5CYII=": IMAGE_PATH+"/dropdown.png")+'" style="margin-bottom:4px;">';mxUtils.setOpacity(d,70);b=a.getElementsByTagName("div")[0];null!=b&&(b.style.paddingRight="6px",b.style.marginLeft="4px",b.style.marginTop="-1px",b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",mxUtils.setOpacity(b,60));mxUtils.setOpacity(a,100);a.style.border="1px solid #a0a0a0";a.style.backgroundColor=this.buttonBackgroundColor;a.style.backgroundImage="none";a.style.width="auto";a.className+=" geColorBtn";mxUtils.setPrefixedStyle(a.style, -"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,k,g){k=null!=k?k:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=k-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; -BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){d=null!=d?d:44;var e=this.editorUi.editor.graph,k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";mxUtils.write(k,a);k.style.fontWeight="bold";a=mxUtils.bind(this,function(a){if(null!=b)b(g);else{var d=parseInt(g.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),f=e.view.getState(e.getSelectionCell());null!=f&&d!=mxUtils.getValue(f.style,c,100)&&(100==d&&(d=null),e.setCellStyles(c,d,e.getSelectionCells()), -this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[d],"cells",e.getSelectionCells())));g.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)});var g=this.addUnitInput(k,"%",20,d,a,10,-15,null!=b);if(null!=c){var h=mxUtils.bind(this,function(a,b,d){if(d||g!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),g.value=isNaN(a)?"":a+" %"});mxEvent.addListener(g,"keydown",function(a){13==a.keyCode?(e.container.focus(),mxEvent.consume(a)): -27==a.keyCode&&(h(null,null,!0),e.container.focus(),mxEvent.consume(a))});e.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){e.getModel().removeListener(h)}});h()}mxEvent.addListener(g,"blur",a);mxEvent.addListener(g,"change",a);null!=f&&f(g);return k}; +"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,h,g){h=null!=h?h:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=h-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; +BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){d=null!=d?d:44;var e=this.editorUi.editor.graph,h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";mxUtils.write(h,a);h.style.fontWeight="bold";a=mxUtils.bind(this,function(a){if(null!=b)b(g);else{var d=parseInt(g.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),f=e.view.getState(e.getSelectionCell());null!=f&&d!=mxUtils.getValue(f.style,c,100)&&(100==d&&(d=null),e.setCellStyles(c,d,e.getSelectionCells()), +this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[d],"cells",e.getSelectionCells())));g.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)});var g=this.addUnitInput(h,"%",20,d,a,10,-15,null!=b);if(null!=c){var k=mxUtils.bind(this,function(a,b,d){if(d||g!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),g.value=isNaN(a)?"":a+" %"});mxEvent.addListener(g,"keydown",function(a){13==a.keyCode?(e.container.focus(),mxEvent.consume(a)): +27==a.keyCode&&(k(null,null,!0),e.container.focus(),mxEvent.consume(a))});e.getModel().addListener(mxEvent.CHANGE,k);this.listeners.push({destroy:function(){e.getModel().removeListener(k)}});k()}mxEvent.addListener(g,"blur",a);mxEvent.addListener(g,"change",a);null!=f&&f(g);return h}; BaseFormatPanel.prototype.addLabel=function(a,c,d,b){b=null!=b?b:61;var f=document.createElement("div");mxUtils.write(f,c);f.style.position="absolute";f.style.right=d+"px";f.style.width=b+"px";f.style.marginTop="6px";f.style.textAlign="center";a.appendChild(f)}; BaseFormatPanel.prototype.addKeyHandler=function(a,c){mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){13==a.keyCode?(this.editorUi.editor.graph.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(null!=c&&c(null,null,!0),this.editorUi.editor.graph.container.focus(),mxEvent.consume(a))}))}; BaseFormatPanel.prototype.styleButtons=function(a){for(var c=0;c<a.length;c++)mxUtils.setPrefixedStyle(a[c].style,"borderRadius","3px"),mxUtils.setOpacity(a[c],100),a[c].style.border="1px solid #a0a0a0",a[c].style.padding="4px",a[c].style.paddingTop="3px",a[c].style.paddingRight="1px",a[c].style.margin="1px",a[c].style.width="24px",a[c].style.height="20px",a[c].className+=" geColorBtn"}; @@ -2661,121 +2662,122 @@ ArrangePanel.prototype.init=function(){var a=this.format.getSelectionState();thi this.container.appendChild(this.addGroupOps(this.createPanel()))}; ArrangePanel.prototype.addLayerOps=function(a){var c=this.editorUi,d=mxUtils.button(mxResources.get("toFront"),function(a){c.actions.get("toFront").funct()});d.setAttribute("title",mxResources.get("toFront")+" ("+this.editorUi.actions.get("toFront").shortcut+")");d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("toBack"),function(a){c.actions.get("toBack").funct()});d.setAttribute("title",mxResources.get("toBack")+" ("+this.editorUi.actions.get("toBack").shortcut+ ")");d.style.width="100px";a.appendChild(d);return a}; -ArrangePanel.prototype.addGroupOps=function(a){var c=this.editorUi,d=c.editor.graph,b=d.getSelectionCell();this.format.getSelectionState();var f=0,e=null;a.style.paddingTop="8px";a.style.paddingBottom="6px";1<d.getSelectionCount()?(e=mxUtils.button(mxResources.get("group"),function(a){c.actions.get("group").funct()}),e.setAttribute("title",mxResources.get("group")+" ("+this.editorUi.actions.get("group").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++):1==d.getSelectionCount()&& -!d.getModel().isEdge(b)&&!d.isSwimlane(b)&&0<d.getModel().getChildCount(b)&&(e=mxUtils.button(mxResources.get("ungroup"),function(a){c.actions.get("ungroup").funct()}),e.setAttribute("title",mxResources.get("ungroup")+" ("+this.editorUi.actions.get("ungroup").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++);1==d.getSelectionCount()&&d.getModel().isVertex(b)&&d.getModel().isVertex(d.getModel().getParent(b))?(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("removeFromGroup"), -function(a){c.actions.get("removeFromGroup").funct()}),e.setAttribute("title",mxResources.get("removeFromGroup")),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++):0<d.getSelectionCount()&&(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("clearWaypoints"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearWaypoints").funct()})),e.setAttribute("title",mxResources.get("clearWaypoints")+" ("+this.editorUi.actions.get("clearWaypoints").shortcut+")"),e.style.width="202px", -e.style.marginBottom="2px",a.appendChild(e),f++);1==d.getSelectionCount()&&(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()})),e.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")"),e.style.width="100px",e.style.marginBottom="2px",a.appendChild(e),f++,e=mxUtils.button(mxResources.get("editLink"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editLink").funct()})), -e.setAttribute("title",mxResources.get("editLink")),e.style.width="100px",e.style.marginLeft="2px",e.style.marginBottom="2px",a.appendChild(e),f++);0==f&&(a.style.display="none");return a}; +ArrangePanel.prototype.addGroupOps=function(a){var c=this.editorUi,d=c.editor.graph,b=d.getSelectionCell(),f=this.format.getSelectionState(),e=0,h=null;a.style.paddingTop="8px";a.style.paddingBottom="6px";1<d.getSelectionCount()?(h=mxUtils.button(mxResources.get("group"),function(a){c.actions.get("group").funct()}),h.setAttribute("title",mxResources.get("group")+" ("+this.editorUi.actions.get("group").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++):1==d.getSelectionCount()&& +!d.getModel().isEdge(b)&&!d.isSwimlane(b)&&0<d.getModel().getChildCount(b)&&(h=mxUtils.button(mxResources.get("ungroup"),function(a){c.actions.get("ungroup").funct()}),h.setAttribute("title",mxResources.get("ungroup")+" ("+this.editorUi.actions.get("ungroup").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++);0<f.vertices.length&&(0<e&&(mxUtils.br(a),e=0),h=mxUtils.button(mxResources.get("copySize"),function(a){c.actions.get("copySize").funct()}),h.setAttribute("title", +mxResources.get("copySize")+" ("+this.editorUi.actions.get("copySize").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++,null!=c.copiedSize&&(f=mxUtils.button(mxResources.get("pasteSize"),function(a){c.actions.get("pasteSize").funct()}),f.setAttribute("title",mxResources.get("pasteSize")+" ("+this.editorUi.actions.get("pasteSize").shortcut+")"),a.appendChild(f),e++,h.style.width="100px",h.style.marginBottom="2px",f.style.width="100px",f.style.marginBottom="2px")); +1==d.getSelectionCount()&&d.getModel().isVertex(b)&&d.getModel().isVertex(d.getModel().getParent(b))?(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("removeFromGroup"),function(a){c.actions.get("removeFromGroup").funct()}),h.setAttribute("title",mxResources.get("removeFromGroup")),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++):0<d.getSelectionCount()&&(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("clearWaypoints"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearWaypoints").funct()})), +h.setAttribute("title",mxResources.get("clearWaypoints")+" ("+this.editorUi.actions.get("clearWaypoints").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++);1==d.getSelectionCount()&&(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()})),h.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")"),h.style.width="100px",h.style.marginBottom= +"2px",a.appendChild(h),e++,h=mxUtils.button(mxResources.get("editLink"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editLink").funct()})),h.setAttribute("title",mxResources.get("editLink")),h.style.width="100px",h.style.marginLeft="2px",h.style.marginBottom="2px",a.appendChild(h),e++);0==e&&(a.style.display="none");return a}; ArrangePanel.prototype.addAlign=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("align")));var d=document.createElement("div");d.style.position="relative";d.style.paddingLeft="0px";d.style.borderWidth="0px";d.className="geToolbarContainer";mxClient.IS_QUIRKS&&(a.style.height="60px");var b=this.editorUi.toolbar.addButton("geSprite-alignleft",mxResources.get("left"),function(){c.alignCells(mxConstants.ALIGN_LEFT)}, -d),f=this.editorUi.toolbar.addButton("geSprite-aligncenter",mxResources.get("center"),function(){c.alignCells(mxConstants.ALIGN_CENTER)},d),e=this.editorUi.toolbar.addButton("geSprite-alignright",mxResources.get("right"),function(){c.alignCells(mxConstants.ALIGN_RIGHT)},d),k=this.editorUi.toolbar.addButton("geSprite-aligntop",mxResources.get("top"),function(){c.alignCells(mxConstants.ALIGN_TOP)},d),g=this.editorUi.toolbar.addButton("geSprite-alignmiddle",mxResources.get("middle"),function(){c.alignCells(mxConstants.ALIGN_MIDDLE)}, -d),h=this.editorUi.toolbar.addButton("geSprite-alignbottom",mxResources.get("bottom"),function(){c.alignCells(mxConstants.ALIGN_BOTTOM)},d);this.styleButtons([b,f,e,k,g,h]);e.style.marginRight="6px";a.appendChild(d);return a}; +d),f=this.editorUi.toolbar.addButton("geSprite-aligncenter",mxResources.get("center"),function(){c.alignCells(mxConstants.ALIGN_CENTER)},d),e=this.editorUi.toolbar.addButton("geSprite-alignright",mxResources.get("right"),function(){c.alignCells(mxConstants.ALIGN_RIGHT)},d),h=this.editorUi.toolbar.addButton("geSprite-aligntop",mxResources.get("top"),function(){c.alignCells(mxConstants.ALIGN_TOP)},d),g=this.editorUi.toolbar.addButton("geSprite-alignmiddle",mxResources.get("middle"),function(){c.alignCells(mxConstants.ALIGN_MIDDLE)}, +d),k=this.editorUi.toolbar.addButton("geSprite-alignbottom",mxResources.get("bottom"),function(){c.alignCells(mxConstants.ALIGN_BOTTOM)},d);this.styleButtons([b,f,e,h,g,k]);e.style.marginRight="6px";a.appendChild(d);return a}; ArrangePanel.prototype.addFlip=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="10px";var d=document.createElement("div");d.style.marginTop="2px";d.style.marginBottom="8px";d.style.fontWeight="bold";mxUtils.write(d,mxResources.get("flip"));a.appendChild(d);d=mxUtils.button(mxResources.get("horizontal"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)});d.setAttribute("title",mxResources.get("horizontal"));d.style.width="100px";d.style.marginRight= "2px";a.appendChild(d);d=mxUtils.button(mxResources.get("vertical"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)});d.setAttribute("title",mxResources.get("vertical"));d.style.width="100px";a.appendChild(d);return a}; ArrangePanel.prototype.addDistribute=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("distribute")));var d=mxUtils.button(mxResources.get("horizontal"),function(a){c.distributeCells(!0)});d.setAttribute("title",mxResources.get("horizontal"));d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("vertical"),function(a){c.distributeCells(!1)});d.setAttribute("title", mxResources.get("vertical"));d.style.width="100px";a.appendChild(d);return a}; -ArrangePanel.prototype.addAngle=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState();a.style.paddingBottom="8px";var f=document.createElement("div");f.style.position="absolute";f.style.width="70px";f.style.marginTop="0px";f.style.fontWeight="bold";var e=null,k=null,g=null;0==b.edges.length?(mxUtils.write(f,mxResources.get("angle")),a.appendChild(f),e=this.addUnitInput(a,"°",20,44,function(){k.apply(this,arguments)}),mxUtils.br(a),a.style.paddingTop="10px"):a.style.paddingTop= -"8px";b.containsLabel||(f=mxResources.get("reverse"),0<b.vertices.length&&0<b.edges.length?f=mxResources.get("turn")+" / "+f:0<b.vertices.length&&(f=mxResources.get("turn")),g=mxUtils.button(f,function(a){c.actions.get("turn").funct()}),g.setAttribute("title",f+" ("+this.editorUi.actions.get("turn").shortcut+")"),g.style.width="202px",a.appendChild(g),null!=e&&(g.style.marginTop="8px"));if(null!=e){var h=mxUtils.bind(this,function(a,c,d){if(d||document.activeElement!=e)b=this.format.getSelectionState(), -a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0)),e.value=isNaN(a)?"":a+"°"}),k=this.installInputHandler(e,mxConstants.STYLE_ROTATION,0,0,360,"°",null,!0);this.addKeyHandler(e,h);d.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){d.getModel().removeListener(h)}});h()}return a}; -ArrangePanel.prototype.addGeometry=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState(),f=this.createPanel();f.style.paddingBottom="8px";var e=document.createElement("div");e.style.position="absolute";e.style.width="50px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("size"));f.appendChild(e);var k,g,h,l,m=this.addUnitInput(f,"pt",84,44,function(){k.apply(this,arguments)}),n=this.addUnitInput(f,"pt",20,44,function(){g.apply(this,arguments)}), +ArrangePanel.prototype.addAngle=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState();a.style.paddingBottom="8px";var f=document.createElement("div");f.style.position="absolute";f.style.width="70px";f.style.marginTop="0px";f.style.fontWeight="bold";var e=null,h=null,g=null;0==b.edges.length?(mxUtils.write(f,mxResources.get("angle")),a.appendChild(f),e=this.addUnitInput(a,"°",20,44,function(){h.apply(this,arguments)}),mxUtils.br(a),a.style.paddingTop="10px"):a.style.paddingTop= +"8px";b.containsLabel||(f=mxResources.get("reverse"),0<b.vertices.length&&0<b.edges.length?f=mxResources.get("turn")+" / "+f:0<b.vertices.length&&(f=mxResources.get("turn")),g=mxUtils.button(f,function(a){c.actions.get("turn").funct()}),g.setAttribute("title",f+" ("+this.editorUi.actions.get("turn").shortcut+")"),g.style.width="202px",a.appendChild(g),null!=e&&(g.style.marginTop="8px"));if(null!=e){var k=mxUtils.bind(this,function(a,c,d){if(d||document.activeElement!=e)b=this.format.getSelectionState(), +a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0)),e.value=isNaN(a)?"":a+"°"}),h=this.installInputHandler(e,mxConstants.STYLE_ROTATION,0,0,360,"°",null,!0);this.addKeyHandler(e,k);d.getModel().addListener(mxEvent.CHANGE,k);this.listeners.push({destroy:function(){d.getModel().removeListener(k)}});k()}return a}; +ArrangePanel.prototype.addGeometry=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState(),f=this.createPanel();f.style.paddingBottom="8px";var e=document.createElement("div");e.style.position="absolute";e.style.width="50px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("size"));f.appendChild(e);var h,g,k,l,m=this.addUnitInput(f,"pt",84,44,function(){h.apply(this,arguments)}),n=this.addUnitInput(f,"pt",20,44,function(){g.apply(this,arguments)}), p=document.createElement("div");p.className="geSprite geSprite-fit";p.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");p.style.position="relative";p.style.cursor="pointer";p.style.marginTop="-3px";p.style.border="0px";p.style.left="52px";mxUtils.setOpacity(p,50);mxEvent.addListener(p,"mouseenter",function(){mxUtils.setOpacity(p,100)});mxEvent.addListener(p,"mouseleave",function(){mxUtils.setOpacity(p,50)});mxEvent.addListener(p,"click",function(){c.actions.get("autosize").funct()}); -f.appendChild(p);this.addLabel(f,mxResources.get("width"),84);this.addLabel(f,mxResources.get("height"),20);mxUtils.br(f);e=document.createElement("div");e.style.paddingTop="8px";e.style.paddingRight="20px";e.style.whiteSpace="nowrap";e.style.textAlign="right";var q=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,null,"fixed","null");q.style.width="100%";e.appendChild(q);f.appendChild(e);var r=q.getElementsByTagName("input")[0];this.addKeyHandler(m,u);this.addKeyHandler(n, -u);k=this.addGeometryHandler(m,function(a,b){0<a.width&&(b=Math.max(1,b),r.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});g=this.addGeometryHandler(n,function(a,b){0<a.height&&(b=Math.max(1,b),r.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(f);var t=this.createPanel();t.style.paddingBottom="30px";e=document.createElement("div");e.style.position="absolute";e.style.width="70px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e, -mxResources.get("position"));t.appendChild(e);var w=this.addUnitInput(t,"pt",84,44,function(){h.apply(this,arguments)}),v=this.addUnitInput(t,"pt",20,44,function(){l.apply(this,arguments)});mxUtils.br(t);this.addLabel(t,mxResources.get("left"),84);this.addLabel(t,mxResources.get("top"),20);var u=mxUtils.bind(this,function(a,c,e){b=this.format.getSelectionState();if(b.containsLabel||b.vertices.length!=d.getSelectionCount()||null==b.width||null==b.height)f.style.display="none";else{f.style.display= -"";if(e||document.activeElement!=m)m.value=b.width+(""==b.width?"":" pt");if(e||document.activeElement!=n)n.value=b.height+(""==b.height?"":" pt")}if(b.vertices.length==d.getSelectionCount()&&null!=b.x&&null!=b.y){t.style.display="";if(e||document.activeElement!=w)w.value=b.x+(""==b.x?"":" pt");if(e||document.activeElement!=v)v.value=b.y+(""==b.y?"":" pt")}else t.style.display="none"});this.addKeyHandler(w,u);this.addKeyHandler(v,u);d.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){d.getModel().removeListener(u)}}); -u();h=this.addGeometryHandler(w,function(a,b){a.relative?a.offset.x=b:a.x=b});l=this.addGeometryHandler(v,function(a,b){a.relative?a.offset.y=b:a.y=b});a.appendChild(t)}; -ArrangePanel.prototype.addGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),h=0;h<g.length;h++)if(b.getModel().isVertex(g[h])){var l=b.getCellGeometry(g[h]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[h],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}else isNaN(e)&&(a.value=f+" pt")}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", +f.appendChild(p);this.addLabel(f,mxResources.get("width"),84);this.addLabel(f,mxResources.get("height"),20);mxUtils.br(f);e=document.createElement("div");e.style.paddingTop="8px";e.style.paddingRight="20px";e.style.whiteSpace="nowrap";e.style.textAlign="right";var q=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,null,"fixed","null");q.style.width="100%";e.appendChild(q);f.appendChild(e);var t=q.getElementsByTagName("input")[0];this.addKeyHandler(m,u);this.addKeyHandler(n, +u);h=this.addGeometryHandler(m,function(a,b){0<a.width&&(b=Math.max(1,b),t.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});g=this.addGeometryHandler(n,function(a,b){0<a.height&&(b=Math.max(1,b),t.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(f);var r=this.createPanel();r.style.paddingBottom="30px";e=document.createElement("div");e.style.position="absolute";e.style.width="70px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e, +mxResources.get("position"));r.appendChild(e);var v=this.addUnitInput(r,"pt",84,44,function(){k.apply(this,arguments)}),w=this.addUnitInput(r,"pt",20,44,function(){l.apply(this,arguments)});mxUtils.br(r);this.addLabel(r,mxResources.get("left"),84);this.addLabel(r,mxResources.get("top"),20);var u=mxUtils.bind(this,function(a,c,e){b=this.format.getSelectionState();if(b.containsLabel||b.vertices.length!=d.getSelectionCount()||null==b.width||null==b.height)f.style.display="none";else{f.style.display= +"";if(e||document.activeElement!=m)m.value=b.width+(""==b.width?"":" pt");if(e||document.activeElement!=n)n.value=b.height+(""==b.height?"":" pt")}if(b.vertices.length==d.getSelectionCount()&&null!=b.x&&null!=b.y){r.style.display="";if(e||document.activeElement!=v)v.value=b.x+(""==b.x?"":" pt");if(e||document.activeElement!=w)w.value=b.y+(""==b.y?"":" pt")}else r.style.display="none"});this.addKeyHandler(v,u);this.addKeyHandler(w,u);d.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){d.getModel().removeListener(u)}}); +u();k=this.addGeometryHandler(v,function(a,b){a.relative?a.offset.x=b:a.x=b});l=this.addGeometryHandler(w,function(a,b){a.relative?a.offset.y=b:a.y=b});a.appendChild(r)}; +ArrangePanel.prototype.addGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),k=0;k<g.length;k++)if(b.getModel().isVertex(g[k])){var l=b.getCellGeometry(g[k]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[k],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}else isNaN(e)&&(a.value=f+" pt")}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d}; -ArrangePanel.prototype.addEdgeGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(isNaN(e))a.value=f+" pt";else if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),h=0;h<g.length;h++)if(b.getModel().isEdge(g[h])){var l=b.getCellGeometry(g[h]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[h],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", +ArrangePanel.prototype.addEdgeGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(isNaN(e))a.value=f+" pt";else if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),k=0;k<g.length;k++)if(b.getModel().isEdge(g[k])){var l=b.getCellGeometry(g[k]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[k],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d}; ArrangePanel.prototype.addEdgeGeometry=function(a){function c(a){var c=parseInt(n.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth)&&(b.setCellStyles("width",c,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["width"],"values",[c],"cells",b.getSelectionCells())));n.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createPanel(), -k=document.createElement("div");k.style.position="absolute";k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,mxResources.get("width"));e.appendChild(k);var g,h,l,m,n=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(n,u);mxEvent.addListener(n,"blur",c);mxEvent.addListener(n,"change",c);a.appendChild(e);var p=this.createPanel();p.style.paddingBottom="30px";k=document.createElement("div");k.style.position="absolute"; -k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,"Start");p.appendChild(k);var q=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),r=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(q,u);this.addKeyHandler(r,u);var t=this.createPanel();t.style.paddingBottom="30px";k=document.createElement("div"); -k.style.position="absolute";k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,"End");t.appendChild(k);var w=this.addUnitInput(t,"pt",84,44,function(){g.apply(this,arguments)}),v=this.addUnitInput(t,"pt",20,44,function(){h.apply(this,arguments)});mxUtils.br(t);this.addLabel(t,mxResources.get("left"),84);this.addLabel(t,mxResources.get("top"),20);a.appendChild(t);this.addKeyHandler(w,u);this.addKeyHandler(v,u);var u=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState(); -a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(q.value=d.sourcePoint.x,r.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a, -!1)?(w.value=d.targetPoint.x,v.value=d.targetPoint.y):t.style.display="none"):(p.style.display="none",t.style.display="none")});l=this.addEdgeGeometryHandler(q,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(r,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.x=b});h=this.addEdgeGeometryHandler(v,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){b.getModel().removeListener(u)}}); +h=document.createElement("div");h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("width"));e.appendChild(h);var g,k,l,m,n=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(n,u);mxEvent.addListener(n,"blur",c);mxEvent.addListener(n,"change",c);a.appendChild(e);var p=this.createPanel();p.style.paddingBottom="30px";h=document.createElement("div");h.style.position="absolute"; +h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"Start");p.appendChild(h);var q=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),t=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(q,u);this.addKeyHandler(t,u);var r=this.createPanel();r.style.paddingBottom="30px";h=document.createElement("div"); +h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"End");r.appendChild(h);var v=this.addUnitInput(r,"pt",84,44,function(){g.apply(this,arguments)}),w=this.addUnitInput(r,"pt",20,44,function(){k.apply(this,arguments)});mxUtils.br(r);this.addLabel(r,mxResources.get("left"),84);this.addLabel(r,mxResources.get("top"),20);a.appendChild(r);this.addKeyHandler(v,u);this.addKeyHandler(w,u);var u=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState(); +a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(q.value=d.sourcePoint.x,t.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a, +!1)?(v.value=d.targetPoint.x,w.value=d.targetPoint.y):r.style.display="none"):(p.style.display="none",r.style.display="none")});l=this.addEdgeGeometryHandler(q,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(t,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(v,function(a,b){a.targetPoint.x=b});k=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){b.getModel().removeListener(u)}}); u()};TextFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(TextFormatPanel,BaseFormatPanel);TextFormatPanel.prototype.init=function(){this.container.style.borderBottom="none";this.addFont(this.container)}; TextFormatPanel.prototype.addFont=function(a){function c(a,b){mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?a.style.filter=b?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr='#c5ecff', EndColorStr='#87d4fb', GradientType=0)":"":a.style.backgroundImage=b?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createTitle(mxResources.get("font"));e.style.paddingLeft="18px";e.style.paddingTop="10px";e.style.paddingBottom= -"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var k=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",k);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; -g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var h=g.getElementsByTagName("div")[0];h.style.cssFloat="right";a.appendChild(k);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);k=this.createPanel();k.style.marginTop="8px";k.style.borderTop="1px solid #c0c0c0";k.style.paddingTop="6px";k.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= -"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");h=e.cloneNode(!1);h.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],h,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ -" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var n=this.editorUi.toolbar.addItems(["vertical"],h,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(h);this.styleButtons(m);this.styleButtons([n]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), -b.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT])),g),r=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),g),t=this.editorUi.toolbar.addButton("geSprite-right", -mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,r,t]);if(b.cellEditor.isContentEditing()){var w=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},h);this.styleButtons([w])}var v=this.editorUi.toolbar.addButton("geSprite-top", +"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var h=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",h);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; +g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var k=g.getElementsByTagName("div")[0];k.style.cssFloat="right";a.appendChild(h);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);h=this.createPanel();h.style.marginTop="8px";h.style.borderTop="1px solid #c0c0c0";h.style.paddingTop="6px";h.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= +"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");k=e.cloneNode(!1);k.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],k,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ +" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var n=this.editorUi.toolbar.addItems(["vertical"],k,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(k);this.styleButtons(m);this.styleButtons([n]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), +b.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT])),g),t=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),g),r=this.editorUi.toolbar.addButton("geSprite-right", +mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,t,r]);if(b.cellEditor.isContentEditing()){var v=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},k);this.styleButtons([v])}var w=this.editorUi.toolbar.addButton("geSprite-top", mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),g),u=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),g),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])), -g);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,C,A,D,B,L,K;b.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",z.style.display="none",n.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", -!1,null)},g),C=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",p=g.cloneNode(!1),p.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), +g);this.styleButtons([w,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,D,A,C,B,L,K;b.cellEditor.isContentEditing()?(w.style.display="none",u.style.display="none",z.style.display="none",n.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", +!1,null)},g),D=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",p=g.cloneNode(!1),p.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), function(){document.execCommand("insertunorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){b.cellEditor.toggleViewMode()},p)],this.styleButtons(g),g[g.length-1].style.marginLeft= -"9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(m[2].style.marginRight="9px",t.style.marginRight="9px");g=e.cloneNode(!1);g.style.marginLeft="0px";g.style.paddingTop="8px";g.style.paddingBottom="4px";g.style.fontWeight="normal";mxUtils.write(g,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var w="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "), +"9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(m[2].style.marginRight="9px",r.style.marginRight="9px");g=e.cloneNode(!1);g.style.marginLeft="0px";g.style.paddingTop="8px";g.style.paddingBottom="4px";g.style.fontWeight="normal";mxUtils.write(g,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var v="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "), E={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER, -mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<w.length;p++){var J=document.createElement("option"); -J.setAttribute("value",w[p]);mxUtils.write(J,mxResources.get(w[p]));I.appendChild(J)}g.appendChild(I);w=e.cloneNode(!1);w.style.marginLeft="0px";w.style.paddingTop="4px";w.style.paddingBottom="4px";w.style.fontWeight="normal";mxUtils.write(w,mxResources.get("writingDirection"));var N=document.createElement("select");N.style.position="absolute";N.style.right="20px";N.style.width="97px";N.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Q={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR, -rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var P=document.createElement("option");P.setAttribute("value",J[p]);mxUtils.write(P,mxResources.get(J[p]));N.appendChild(P)}w.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[I.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()), -b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(w),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute", -F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";h.appendChild(F);var G=null,g=this.installInputHandler(F,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=function(c,e){c!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(c)&&(e||d.containsNode(c,!0))&&("FONT"==c.nodeName?(c.removeAttribute("size"),c.style.fontSize=a+"px"):mxUtils.getCurrentStyle(c).fontSize!= +mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<v.length;p++){var J=document.createElement("option"); +J.setAttribute("value",v[p]);mxUtils.write(J,mxResources.get(v[p]));I.appendChild(J)}g.appendChild(I);v=e.cloneNode(!1);v.style.marginLeft="0px";v.style.paddingTop="4px";v.style.paddingBottom="4px";v.style.fontWeight="normal";mxUtils.write(v,mxResources.get("writingDirection"));var N=document.createElement("select");N.style.position="absolute";N.style.right="20px";N.style.width="97px";N.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Q={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR, +rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var O=document.createElement("option");O.setAttribute("value",J[p]);mxUtils.write(O,mxResources.get(J[p]));N.appendChild(O)}v.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[I.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()), +b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(v),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute", +F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(F);var G=null,g=this.installInputHandler(F,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=function(c,e){c!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(c)&&(e||d.containsNode(c,!0))&&("FONT"==c.nodeName?(c.removeAttribute("size"),c.style.fontSize=a+"px"):mxUtils.getCurrentStyle(c).fontSize!= a+"px"&&(mxUtils.getCurrentStyle(c.parentNode).fontSize!=a+"px"?c.style.fontSize=a+"px":c.style.fontSize=""))},d=window.getSelection(),e=0<d.rangeCount?d.getRangeAt(0).commonAncestorContainer:b.cellEditor.textarea;e!=b.cellEditor.textarea&&e.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");e!=b.cellEditor.textarea&&(e=e.parentNode);if(e.nodeType==mxConstants.NODETYPE_ELEMENT){var f=e.getElementsByTagName("*");c(e);for(e=0;e<f.length;e++)c(f[e])}F.value=a+" pt"}else if(window.getSelection|| document.selection)if(c=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},f=null,document.selection?f=document.selection.createRange().parentElement():(d=window.getSelection(),0<d.rangeCount&&(f=d.getRangeAt(0).commonAncestorContainer)),null!=f&&c(b.cellEditor.textarea,f))for(G=a,document.execCommand("fontSize",!1,"4"),f=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<f.length;e++)if("4"==f[e].getAttribute("size")){f[e].removeAttribute("size");f[e].style.fontSize=G+ -"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");h.appendChild(g);h=l.getElementsByTagName("div")[0];h.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor", -!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";h=b.cellEditor.isContentEditing()? +"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");k.appendChild(g);k=l.getElementsByTagName("div")[0];k.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor", +!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";k=b.cellEditor.isContentEditing()? this.createColorOption(mxResources.get("fontColor"),function(){return R},function(a){document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){W=a},destroy:function(){W=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){T.style.display=null==a||a==mxConstants.NONE?"none":"";ca.style.display=T.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL, -"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});h.style.fontWeight="bold";k.appendChild(h);k.appendChild(T);b.cellEditor.isContentEditing()||k.appendChild(ca);a.appendChild(k);k=this.createPanel();k.style.paddingTop="2px";k.style.paddingBottom="4px";h=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null", -null,null,!0);h.style.fontWeight="bold";f.containsLabel||f.autoSize||0!=f.edges.length||k.appendChild(h);h=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));h.style.fontWeight="bold";k.appendChild(h);h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="28px";h.style.fontWeight="normal";g=document.createElement("div");g.style.position="absolute";g.style.width="70px";g.style.marginTop="0px";g.style.fontWeight="bold";mxUtils.write(g, -mxResources.get("spacing"));h.appendChild(g);var X,U,ja,da,ka,ea=this.addUnitInput(h,"pt",91,44,function(){X.apply(this,arguments)}),Y=this.addUnitInput(h,"pt",20,44,function(){U.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("top"),91);this.addLabel(h,mxResources.get("global"),20);mxUtils.br(h);mxUtils.br(h);var Z=this.addUnitInput(h,"pt",162,44,function(){ja.apply(this,arguments)}),fa=this.addUnitInput(h,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(h, -"pt",20,44,function(){ka.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("left"),162);this.addLabel(h,mxResources.get("bottom"),91);this.addLabel(h,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var ba=null,la=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=ba&&(b.cellEditor.restoreSelection(ba),ba=null);for(var d=b.getSelectedElement();null!= +"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});k.style.fontWeight="bold";h.appendChild(k);h.appendChild(T);b.cellEditor.isContentEditing()||h.appendChild(ca);a.appendChild(h);h=this.createPanel();h.style.paddingTop="2px";h.style.paddingBottom="4px";k=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null", +null,null,!0);k.style.fontWeight="bold";f.containsLabel||f.autoSize||0!=f.edges.length||h.appendChild(k);k=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));k.style.fontWeight="bold";h.appendChild(k);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="28px";k.style.fontWeight="normal";g=document.createElement("div");g.style.position="absolute";g.style.width="70px";g.style.marginTop="0px";g.style.fontWeight="bold";mxUtils.write(g, +mxResources.get("spacing"));k.appendChild(g);var X,U,ja,da,ka,ea=this.addUnitInput(k,"pt",91,44,function(){X.apply(this,arguments)}),Y=this.addUnitInput(k,"pt",20,44,function(){U.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("top"),91);this.addLabel(k,mxResources.get("global"),20);mxUtils.br(k);mxUtils.br(k);var Z=this.addUnitInput(k,"pt",162,44,function(){ja.apply(this,arguments)}),fa=this.addUnitInput(k,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(k, +"pt",20,44,function(){ka.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("left"),162);this.addLabel(k,mxResources.get("bottom"),91);this.addLabel(k,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var ba=null,la=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=ba&&(b.cellEditor.restoreSelection(ba),ba=null);for(var d=b.getSelectedElement();null!= d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;null!=d&&d==b.cellEditor.textarea&&null!=b.cellEditor.textarea.firstChild&&("P"!=b.cellEditor.textarea.firstChild.nodeName&&(b.cellEditor.textarea.innerHTML="<p>"+b.cellEditor.textarea.innerHTML+"</p>"),d=b.cellEditor.textarea.firstChild);null!=d&&d!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(d)&&(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){la=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&& -(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));k=e.cloneNode(!1);k.style.paddingLeft="0px";h=this.editorUi.toolbar.addItems(["link","image"],k,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},k),this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-table", -mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(h);this.styleButtons(g);h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("insert")));h.appendChild(k);a.appendChild(h);mxClient.IS_QUIRKS&&(h.style.height="70");h=e.cloneNode(!1);h.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"), -function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowbefore", -mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}}, -h)];this.styleButtons(g);g[2].style.marginRight="9px";k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("table")));k.appendChild(h);mxClient.IS_QUIRKS&&(mxUtils.br(a),k.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(){if(null!=B){var a=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));h=e.cloneNode(!1);h.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],h,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},h),this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-table", +mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(k);this.styleButtons(g);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(h);a.appendChild(k);mxClient.IS_QUIRKS&&(k.style.height="70");k=e.cloneNode(!1);k.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"), +function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowbefore", +mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}}, +k)];this.styleButtons(g);g[2].style.marginRight="9px";h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("table")));h.appendChild(k);mxClient.IS_QUIRKS&&(mxUtils.br(a),h.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(){if(null!=B){var a=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(B.removeAttribute("border"),B.style.border="",B.style.borderCollapse=""):(B.setAttribute("border","1"),B.style.border="1px solid "+a,B.style.borderCollapse="collapse")})}}),e),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(){if(null!= B){var a=B.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){B.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}}),e),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=B){var a=B.getAttribute("cellPadding")||0,a=new FilenameDialog(d, a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?B.setAttribute("cellPadding",a):B.removeAttribute("cellPadding")}),mxResources.get("spacing"));d.showDialog(a.container,300,80,!0,!0);a.init()}},e),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=B&&B.setAttribute("align","left")},e),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=B&&B.setAttribute("align","center")},e),this.editorUi.toolbar.addButton("geSprite-right", -mxResources.get("right"),function(){null!=B&&B.setAttribute("align","right")},e)];this.styleButtons(g);g[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));k.appendChild(e);a.appendChild(k);D=k}else a.appendChild(k),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(h);var V=mxUtils.bind(this,function(a,b,d){f=this.format.getSelectionState();a=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a& +mxResources.get("right"),function(){null!=B&&B.setAttribute("align","right")},e)];this.styleButtons(g);g[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(h),mxUtils.br(h));h.appendChild(e);a.appendChild(h);C=h}else a.appendChild(h),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var V=mxUtils.bind(this,function(a,b,d){f=this.format.getSelectionState();a=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a& mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(m[1],(a&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);c(m[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);l.firstChild.nodeValue=mxUtils.htmlEntities(mxUtils.getValue(f.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont));c(n,"0"==mxUtils.getValue(f.style,mxConstants.STYLE_HORIZONTAL,"1"));if(d||document.activeElement!=F)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)), -F.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_LEFT);c(r,a==mxConstants.ALIGN_CENTER);c(t,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(v,a==mxConstants.ALIGN_TOP);c(u,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION, +F.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_LEFT);c(t,a==mxConstants.ALIGN_CENTER);c(r,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(w,a==mxConstants.ALIGN_TOP);c(u,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);I.value=a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_TOP?"topLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center"; a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?N.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?N.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(N.value="automatic");if(d||document.activeElement!=Y)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING,2)),Y.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ea)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_TOP,0)),ea.value= isNaN(a)?"":a+" pt";if(d||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Z)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),Z.value=isNaN(a)?"":a+" pt"});U=this.installInputHandler(Y,mxConstants.STYLE_SPACING,2,-999,999," pt"); X=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");ka=this.installInputHandler(ga,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(fa,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ja=this.installInputHandler(Z,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(F,V);this.addKeyHandler(Y,V);this.addKeyHandler(ea,V);this.addKeyHandler(ga,V);this.addKeyHandler(fa,V);this.addKeyHandler(Z,V);b.getModel().addListener(mxEvent.CHANGE, V);this.listeners.push({destroy:function(){b.getModel().removeListener(V)}});V();if(b.cellEditor.isContentEditing()){var ma=!1,e=function(){ma||(ma=!0,window.setTimeout(function(){for(var a=b.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;if(null!=a){var d=function(a){return"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},e=function(a,b,c){return"%"==c.style.lineHeight.substring(c.style.lineHeight.length-1)?parseInt(c.style.lineHeight)/ 100:"px"==b.substring(b.length-2)?parseFloat(b)/a:parseInt(b)};a==b.cellEditor.textarea&&1==b.cellEditor.textarea.children.length&&b.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.cellEditor.textarea.firstChild);var f=mxUtils.getCurrentStyle(a),g=d(f.fontSize),h=e(g,f.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]); -var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(r,"center"==f.textAlign),c(t,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a, -"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(t,"center"==f.textAlign),c(r,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(D,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a, +"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),C.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)}),d=f.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)}),null!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(f=f.fontFamily, "'"==f.charAt(0)&&(f=f.substring(1)),"'"==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),'"'==f.charAt(0)&&(f=f.substring(1)),'"'==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),l.firstChild.nodeValue=f))}ma=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",e);mxEvent.addListener(b.cellEditor.textarea,"touchend",e);mxEvent.addListener(b.cellEditor.textarea,"mouseup",e);mxEvent.addListener(b.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});e()}return a}; StyleFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);StyleFormatPanel.prototype.defaultStrokeColor="black"; StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();a.containsImage&&1==a.vertices.length&&"image"==a.style.shape&&null!=a.style.image&&"data:image/svg+xml;"==a.style.image.substring(0,19)&&this.container.appendChild(this.addSvgStyles(this.createPanel()));a.containsImage&&"image"!=a.style.shape||this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(this.createPanel()));this.container.appendChild(this.addLineJumps(this.createPanel())); a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY,41);a.style.paddingTop="8px";a.style.paddingBottom="8px";this.container.appendChild(a);this.container.appendChild(this.addEffects(this.createPanel()));a=this.addEditOps(this.createPanel());null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))}; StyleFormatPanel.prototype.getCssRules=function(a){var c=document.implementation.createHTMLDocument(""),d=document.createElement("style");mxUtils.setTextContent(d,a);c.body.appendChild(d);return d.sheet.cssRules}; -StyleFormatPanel.prototype.addSvgStyles=function(a){var c=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";a.style.fontWeight="bold";a.style.display="none";try{var d=c.style.editableCssRules;if(null!=d){var b=new RegExp(d),f=c.style.image.substring(c.style.image.indexOf(",")+1),e=window.atob?atob(f):Base64.decode(f,!0),k=mxUtils.parseXml(e);if(null!=k)for(var g=k.getElementsByTagName("style"),c=0;c<g.length;c++)for(var h=this.getCssRules(mxUtils.getTextContent(g[c])), -d=0;d<h.length;d++)this.addSvgRule(a,h[d],k,g[c],h,d,b)}}catch(l){}return a}; -StyleFormatPanel.prototype.addSvgRule=function(a,c,d,b,f,e,k){var g=this.editorUi.editor.graph;k.test(c.selectorText)&&(k=mxUtils.bind(this,function(c,k,m){""!=c.style[k]&&(m=this.createColorOption(m+" "+c.selectorText,function(){var a=c.style[k];return(a=a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===a.length?"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2):""},function(a){f[e].style[k]= -a;a="";for(var c=0;c<f.length;c++)a+=f[c].cssText+" ";b.textContent=a;a=mxUtils.getXml(d.documentElement);g.setCellStyles(mxConstants.STYLE_IMAGE,"data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a,!0)),g.getSelectionCells())},"#ffffff",{install:function(a){},destroy:function(){}}),a.appendChild(m),a.style.display="")}),k(c,"fill",mxResources.get("fill")),k(c,"stroke",mxResources.get("line")))}; +StyleFormatPanel.prototype.addSvgStyles=function(a){var c=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";a.style.fontWeight="bold";a.style.display="none";try{var d=c.style.editableCssRules;if(null!=d){var b=new RegExp(d),f=c.style.image.substring(c.style.image.indexOf(",")+1),e=window.atob?atob(f):Base64.decode(f,!0),h=mxUtils.parseXml(e);if(null!=h)for(var g=h.getElementsByTagName("style"),c=0;c<g.length;c++)for(var k=this.getCssRules(mxUtils.getTextContent(g[c])), +d=0;d<k.length;d++)this.addSvgRule(a,k[d],h,g[c],k,d,b)}}catch(l){}return a}; +StyleFormatPanel.prototype.addSvgRule=function(a,c,d,b,f,e,h){var g=this.editorUi.editor.graph;h.test(c.selectorText)&&(h=mxUtils.bind(this,function(c,h,m){""!=c.style[h]&&(m=this.createColorOption(m+" "+c.selectorText,function(){var a=c.style[h];return(a=a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===a.length?"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2):""},function(a){f[e].style[h]= +a;a="";for(var c=0;c<f.length;c++)a+=f[c].cssText+" ";b.textContent=a;a=mxUtils.getXml(d.documentElement);g.setCellStyles(mxConstants.STYLE_IMAGE,"data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a,!0)),g.getSelectionCells())},"#ffffff",{install:function(a){},destroy:function(){}}),a.appendChild(m),a.style.display="")}),h(c,"fill",mxResources.get("fill")),h(c,"stroke",mxResources.get("line")))}; StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),d=null;1==this.editorUi.editor.graph.getSelectionCount()&&(d=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),d.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),d.style.width="202px",d.style.marginBottom="2px",a.appendChild(d));c.image&&(c=mxUtils.button(mxResources.get("editImage"), mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==d?c.style.width="202px":(d.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}; StyleFormatPanel.prototype.addFill=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";var b=document.createElement("select");b.style.position="absolute";b.style.marginTop="-2px";b.style.right=mxClient.IS_QUIRKS?"52px":"72px";b.style.width="70px";mxEvent.addListener(b,"click",function(a){mxEvent.consume(a)});var f=this.createCellColorOption(mxResources.get("gradient"),mxConstants.STYLE_GRADIENTCOLOR,"#ffffff",function(a){b.style.display= -null==a||a==mxConstants.NONE?"none":""}),e="image"==d.style.shape?mxConstants.STYLE_IMAGE_BACKGROUND:mxConstants.STYLE_FILLCOLOR,k="image"==d.style.shape?mxResources.get("background"):mxResources.get("fill"),k=this.createCellColorOption(k,e,"#ffffff");k.style.fontWeight="bold";e=mxUtils.getValue(d.style,e,null);f.style.display=null!=e&&e!=mxConstants.NONE&&d.fill&&"image"!=d.style.shape?"":"none";for(var g=[mxConstants.DIRECTION_NORTH,mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST], -e=0;e<g.length;e++){var h=document.createElement("option");h.setAttribute("value",g[e]);mxUtils.write(h,mxResources.get(g[e]));b.appendChild(h)}f.appendChild(b);var l=mxUtils.bind(this,function(){d=this.format.getSelectionState();var c=mxUtils.getValue(d.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);b.value=c;a.style.display=d.fill?"":"none";c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,null);f.style.display=!d.fill||d.containsImage|| -null==c||c==mxConstants.NONE||"filledEdge"==d.style.shape?"none":""});c.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){c.getModel().removeListener(l)}});l();mxEvent.addListener(b,"change",function(a){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,b.value,c.getSelectionCells());mxEvent.consume(a)});a.appendChild(k);a.appendChild(f);k=this.getCustomColors();for(e=0;e<k.length;e++)a.appendChild(this.createCellColorOption(k[e].title,k[e].key,k[e].defaultValue)); +null==a||a==mxConstants.NONE?"none":""}),e="image"==d.style.shape?mxConstants.STYLE_IMAGE_BACKGROUND:mxConstants.STYLE_FILLCOLOR,h="image"==d.style.shape?mxResources.get("background"):mxResources.get("fill"),h=this.createCellColorOption(h,e,"#ffffff");h.style.fontWeight="bold";e=mxUtils.getValue(d.style,e,null);f.style.display=null!=e&&e!=mxConstants.NONE&&d.fill&&"image"!=d.style.shape?"":"none";for(var g=[mxConstants.DIRECTION_NORTH,mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST], +e=0;e<g.length;e++){var k=document.createElement("option");k.setAttribute("value",g[e]);mxUtils.write(k,mxResources.get(g[e]));b.appendChild(k)}f.appendChild(b);var l=mxUtils.bind(this,function(){d=this.format.getSelectionState();var c=mxUtils.getValue(d.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);b.value=c;a.style.display=d.fill?"":"none";c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,null);f.style.display=!d.fill||d.containsImage|| +null==c||c==mxConstants.NONE||"filledEdge"==d.style.shape?"none":""});c.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){c.getModel().removeListener(l)}});l();mxEvent.addListener(b,"change",function(a){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,b.value,c.getSelectionCells());mxEvent.consume(a)});a.appendChild(h);a.appendChild(f);h=this.getCustomColors();for(e=0;e<h.length;e++)a.appendChild(this.createCellColorOption(h[e].title,h[e].key,h[e].defaultValue)); return a};StyleFormatPanel.prototype.getCustomColors=function(){var a=[];"swimlane"==this.format.getSelectionState().style.shape&&a.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return a}; -StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));w.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(v.value),c=Math.min(999,Math.max(1,isNaN(c)?1: -c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));v.value=c+" pt";mxEvent.consume(a)}var b=this.editorUi,f=b.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var k=document.createElement("div");k.style.fontWeight= -"bold";var g=document.createElement("select");g.style.position="absolute";g.style.marginTop="-2px";g.style.right="72px";g.style.width="80px";for(var h=["sharp","rounded","curved"],l=0;l<h.length;l++){var m=document.createElement("option");m.setAttribute("value",h[l]);mxUtils.write(m,mxResources.get(h[l]));g.appendChild(m)}mxEvent.addListener(g,"change",function(a){f.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],d=["0",null];"rounded"==g.value?d=["1",null]: -"curved"==g.value&&(d=[null,"1"]);for(var e=0;e<c.length;e++)f.setCellStyles(c[e],d[e],f.getSelectionCells());b.fireEvent(new mxEventObject("styleChanged","keys",c,"values",d,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});var n="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,h="image"==e.style.shape?mxResources.get("border"):mxResources.get("line"),h=this.createCellColorOption(h, -n,"#000000");h.appendChild(g);k.appendChild(h);var p=k.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var q=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop= +StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(v.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));v.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1: +c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));w.value=c+" pt";mxEvent.consume(a)}var b=this.editorUi,f=b.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var h=document.createElement("div");h.style.fontWeight= +"bold";var g=document.createElement("select");g.style.position="absolute";g.style.marginTop="-2px";g.style.right="72px";g.style.width="80px";for(var k=["sharp","rounded","curved"],l=0;l<k.length;l++){var m=document.createElement("option");m.setAttribute("value",k[l]);mxUtils.write(m,mxResources.get(k[l]));g.appendChild(m)}mxEvent.addListener(g,"change",function(a){f.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],d=["0",null];"rounded"==g.value?d=["1",null]: +"curved"==g.value&&(d=[null,"1"]);for(var e=0;e<c.length;e++)f.setCellStyles(c[e],d[e],f.getSelectionCells());b.fireEvent(new mxEventObject("styleChanged","keys",c,"values",d,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});var n="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,k="image"==e.style.shape?mxResources.get("border"):mxResources.get("line"),k=this.createCellColorOption(k, +n,"#000000");k.appendChild(g);h.appendChild(k);var p=h.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var q=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop= "6px";a.firstChild.firstChild.style.padding="0px 4px 0px 4px";a.firstChild.firstChild.style.width=b+"px";a.firstChild.firstChild.appendChild(d);return a}),l=this.editorUi.toolbar.addMenuFunctionInContainer(p,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,75,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,75,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1", -null]).setAttribute("title",mxResources.get("dashed"));q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),r=p.cloneNode(!1), -t=this.editorUi.toolbar.addMenuFunctionInContainer(r,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"], +null]).setAttribute("title",mxResources.get("dashed"));q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),t=p.cloneNode(!1), +r=this.editorUi.toolbar.addMenuFunctionInContainer(t,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"], ["link",null,null,null],"geIcon geSprite geSprite-linkedge",null,!0).setAttribute("title",mxResources.get("link"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["flexArrow",null,null,null],"geIcon geSprite geSprite-arrow",null,!0).setAttribute("title",mxResources.get("arrow"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["arrow",null,null, -null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(r,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); -q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),h=p.cloneNode(!1),w=document.createElement("input");w.style.textAlign="right"; -w.style.marginTop="2px";w.style.width="41px";w.setAttribute("title",mxResources.get("linewidth"));p.appendChild(w);var v=w.cloneNode(!0);r.appendChild(v);var u=this.createStepper(w,c,1,9);u.style.display=w.style.display;u.style.marginTop="2px";p.appendChild(u);var z=this.createStepper(v,d,1,9);z.style.display=v.style.display;z.style.marginTop="2px";r.appendChild(z);mxClient.IS_QUIRKS?(w.style.height="17px",v.style.height="17px"):(w.style.position="absolute",w.style.right="32px",w.style.height="15px", -u.style.right="20px",v.style.position="absolute",v.style.right="32px",v.style.height="15px",z.style.right="20px");mxEvent.addListener(w,"blur",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(v,"blur",d);mxEvent.addListener(v,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(h),mxUtils.br(h));var x=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"", +null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(t,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); +q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),k=p.cloneNode(!1),v=document.createElement("input");v.style.textAlign="right"; +v.style.marginTop="2px";v.style.width="41px";v.setAttribute("title",mxResources.get("linewidth"));p.appendChild(v);var w=v.cloneNode(!0);t.appendChild(w);var u=this.createStepper(v,c,1,9);u.style.display=v.style.display;u.style.marginTop="2px";p.appendChild(u);var z=this.createStepper(w,d,1,9);z.style.display=w.style.display;z.style.marginTop="2px";t.appendChild(z);mxClient.IS_QUIRKS?(v.style.height="17px",w.style.height="17px"):(v.style.position="absolute",v.style.right="32px",v.style.height="15px", +u.style.right="20px",w.style.position="absolute",w.style.right="32px",w.style.height="15px",z.style.right="20px");mxEvent.addListener(v,"blur",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(w,"blur",d);mxEvent.addListener(w,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));var x=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"", [mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],[null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle",null,null],"geIcon geSprite geSprite-orthogonal",null,!0).setAttribute("title",mxResources.get("orthogonal")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title", mxResources.get("isometric")),"connector"==e.style.shape&&this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null, -!0).setAttribute("title",mxResources.get("entityRelation")))})),C=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML= +!0).setAttribute("title",mxResources.get("entityRelation")))})),D=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML= '<font style="font-size:10px;">'+mxUtils.htmlEntities(mxResources.get("none"))+"</font>";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-startblockthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["async",1],"geIcon geSprite geSprite-startasync", @@ -2786,7 +2788,7 @@ null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW, "startFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-startthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["dash",0],"geIcon geSprite geSprite-startdash",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["cross",0],"geIcon geSprite geSprite-startcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW, "startFill"],["circlePlus",0],"geIcon geSprite geSprite-startcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circle",1],"geIcon geSprite geSprite-startcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERone",0],"geIcon geSprite geSprite-starterone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],"geIcon geSprite geSprite-starteronetoone", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],"geIcon geSprite geSprite-startermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],"geIcon geSprite geSprite-starteronetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-starteroneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"", -[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape|| +[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape|| "filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML='<font style="font-size:10px;">'+mxUtils.htmlEntities(mxResources.get("none"))+"</font>";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-endclassic", null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-endclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-endopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], [mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-endopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],"geIcon geSprite geSprite-endopenasync",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-endblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], @@ -2797,27 +2799,27 @@ mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstant 0],"geIcon geSprite geSprite-enddiamondtrans",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-endthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],"geIcon geSprite geSprite-enderone", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, -"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(t,8);this.addArrow(x);this.addArrow(C);this.addArrow(A);u=this.addArrow(l, -9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var D=document.createElement("div");D.style.width="85px";D.style.height="1px";D.style.borderBottom="1px solid "+this.defaultStrokeColor;D.style.marginBottom="9px";u.appendChild(D);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height= -"15px";t.style.height="15px";x.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(k);a.appendChild(r);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend")); -l.appendChild(m);var L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),P=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l, -mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);k=k.cloneNode(!1);k.style.fontWeight="normal";k.style.position="relative";k.style.paddingLeft="16px";k.style.marginBottom="2px";k.style.marginTop="6px";k.style.borderWidth="0px";k.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m, -mxResources.get("perimeter"));k.appendChild(m);var F,G=this.addUnitInput(k,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(h),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(k));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"== -d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!= -v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?D.style.borderBottom="1px dashed "+ -this.defaultStrokeColor:D.style.borderBottom="1px dotted "+this.defaultStrokeColor:D.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=D.style.borderBottom;a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c|| -"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";t.getElementsByTagName("div")[0].className="link"== -e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(r.style.display="",p.style.display="none"):(r.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),C,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style, -"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(C,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(C,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!= -P)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),P.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING, -0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=G)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),G.value=isNaN(a)?"":a+" pt"});N=this.installInputHandler(P,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING, -0,-999,999," pt");F=this.installInputHandler(G,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(w,H);this.addKeyHandler(P,H);this.addKeyHandler(Q,H);this.addKeyHandler(E,H);this.addKeyHandler(I,H);this.addKeyHandler(G,H);f.getModel().addListener(mxEvent.CHANGE,H);this.listeners.push({destroy:function(){f.getModel().removeListener(H)}});H();return a}; +"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(r,8);this.addArrow(x);this.addArrow(D);this.addArrow(A);u=this.addArrow(l, +9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var C=document.createElement("div");C.style.width="85px";C.style.height="1px";C.style.borderBottom="1px solid "+this.defaultStrokeColor;C.style.marginBottom="9px";u.appendChild(C);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height= +"15px";r.style.height="15px";x.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(h);a.appendChild(t);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend")); +l.appendChild(m);var L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),O=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l, +mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom="2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m, +mxResources.get("perimeter"));h.appendChild(m);var F,G=this.addUnitInput(h,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(h));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"== +d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!= +w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?C.style.borderBottom="1px dashed "+ +this.defaultStrokeColor:C.style.borderBottom="1px dotted "+this.defaultStrokeColor:C.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=C.style.borderBottom;a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c|| +"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";r.getElementsByTagName("div")[0].className="link"== +e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(t.style.display="",p.style.display="none"):(t.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),D,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style, +"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(D,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(D,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!= +O)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),O.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING, +0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=G)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),G.value=isNaN(a)?"":a+" pt"});N=this.installInputHandler(O,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING, +0,-999,999," pt");F=this.installInputHandler(G,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(v,H);this.addKeyHandler(O,H);this.addKeyHandler(Q,H);this.addKeyHandler(E,H);this.addKeyHandler(I,H);this.addKeyHandler(G,H);f.getModel().addListener(mxEvent.CHANGE,H);this.listeners.push({destroy:function(){f.getModel().removeListener(H)}});H();return a}; StyleFormatPanel.prototype.addLineJumps=function(a){var c=this.format.getSelectionState();if(Graph.lineJumpsEnabled&&0<c.edges.length&&0==c.vertices.length&&c.lineJumps){a.style.padding="8px 0px 24px 18px";var d=this.editorUi,b=d.editor.graph,f=document.createElement("div");f.style.position="absolute";f.style.fontWeight="bold";f.style.width="80px";mxUtils.write(f,mxResources.get("lineJumps"));a.appendChild(f);var e=document.createElement("select");e.style.position="absolute";e.style.marginTop="-2px"; -e.style.right="76px";e.style.width="62px";for(var f=["none","arc","gap","sharp"],k=0;k<f.length;k++){var g=document.createElement("option");g.setAttribute("value",f[k]);mxUtils.write(g,mxResources.get(f[k]));e.appendChild(g)}mxEvent.addListener(e,"change",function(a){b.getModel().beginUpdate();try{b.setCellStyles("jumpStyle",e.value,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[e.value],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}); -mxEvent.addListener(e,"click",function(a){mxEvent.consume(a)});a.appendChild(e);var h,l=this.addUnitInput(a,"pt",22,33,function(){h.apply(this,arguments)});h=this.installInputHandler(l,"jumpSize",Graph.defaultJumpSize,0,999," pt");var m=mxUtils.bind(this,function(a,b,d){c=this.format.getSelectionState();e.value=mxUtils.getValue(c.style,"jumpStyle","none");if(d||document.activeElement!=l)a=parseInt(mxUtils.getValue(c.style,"jumpSize",Graph.defaultJumpSize)),l.value=isNaN(a)?"":a+" pt"});this.addKeyHandler(l, +e.style.right="76px";e.style.width="62px";for(var f=["none","arc","gap","sharp"],h=0;h<f.length;h++){var g=document.createElement("option");g.setAttribute("value",f[h]);mxUtils.write(g,mxResources.get(f[h]));e.appendChild(g)}mxEvent.addListener(e,"change",function(a){b.getModel().beginUpdate();try{b.setCellStyles("jumpStyle",e.value,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[e.value],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}); +mxEvent.addListener(e,"click",function(a){mxEvent.consume(a)});a.appendChild(e);var k,l=this.addUnitInput(a,"pt",22,33,function(){k.apply(this,arguments)});k=this.installInputHandler(l,"jumpSize",Graph.defaultJumpSize,0,999," pt");var m=mxUtils.bind(this,function(a,b,d){c=this.format.getSelectionState();e.value=mxUtils.getValue(c.style,"jumpStyle","none");if(d||document.activeElement!=l)a=parseInt(mxUtils.getValue(c.style,"jumpSize",Graph.defaultJumpSize)),l.value=isNaN(a)?"":a+" pt"});this.addKeyHandler(l, m);b.getModel().addListener(mxEvent.CHANGE,m);this.listeners.push({destroy:function(){b.getModel().removeListener(m)}});m()}else a.style.display="none";return a}; -StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var b=document.createElement("table");mxClient.IS_QUIRKS&&(b.style.fontSize="1em");b.style.width="100%";b.style.fontWeight="bold";b.style.paddingRight="20px";var f=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var k=document.createElement("td");k.style.padding="0px";k.style.width="50%";k.setAttribute("valign", -"top");var g=k.cloneNode(!0);g.style.paddingLeft="8px";e.appendChild(k);e.appendChild(g);f.appendChild(e);b.appendChild(f);a.appendChild(b);var h=k,l=0,m=mxUtils.bind(this,function(a,b,c){a=this.createCellOption(a,b,c);a.style.width="100%";h.appendChild(a);h=h==k?g:k;l++}),n=mxUtils.bind(this,function(b,c,e){d=this.format.getSelectionState();k.innerHTML="";g.innerHTML="";h=k;d.rounded&&m(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==d.style.shape&&m(mxResources.get("divider"), +StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var b=document.createElement("table");mxClient.IS_QUIRKS&&(b.style.fontSize="1em");b.style.width="100%";b.style.fontWeight="bold";b.style.paddingRight="20px";var f=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var h=document.createElement("td");h.style.padding="0px";h.style.width="50%";h.setAttribute("valign", +"top");var g=h.cloneNode(!0);g.style.paddingLeft="8px";e.appendChild(h);e.appendChild(g);f.appendChild(e);b.appendChild(f);a.appendChild(b);var k=h,l=0,m=mxUtils.bind(this,function(a,b,c){a=this.createCellOption(a,b,c);a.style.width="100%";k.appendChild(a);k=k==h?g:h;l++}),n=mxUtils.bind(this,function(b,c,e){d=this.format.getSelectionState();h.innerHTML="";g.innerHTML="";k=h;d.rounded&&m(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==d.style.shape&&m(mxResources.get("divider"), "swimlaneLine",1);d.containsImage||m(mxResources.get("shadow"),mxConstants.STYLE_SHADOW,0);d.glass&&m(mxResources.get("glass"),mxConstants.STYLE_GLASS,0);d.comic&&m(mxResources.get("comic"),"comic",0);0==l&&(a.style.display="none")});c.getModel().addListener(mxEvent.CHANGE,n);this.listeners.push({destroy:function(){c.getModel().removeListener(n)}});n();return a}; StyleFormatPanel.prototype.addStyleOps=function(a){a.style.paddingTop="10px";a.style.paddingBottom="10px";var c=mxUtils.button(mxResources.get("setAsDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("setAsDefaultStyle").funct()}));c.setAttribute("title",mxResources.get("setAsDefaultStyle")+" ("+this.editorUi.actions.get("setAsDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()}; mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0;DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))}; @@ -2828,53 +2830,53 @@ DiagramFormatPanel.prototype.addOptions=function(a){var c=this.editorUi,d=c.edit a.appendChild(this.createOption(mxResources.get("connectionPoints"),function(){return d.connectionHandler.isEnabled()},function(a){c.actions.get("connectionPoints").funct()},{install:function(a){this.listener=function(){a(d.connectionHandler.isEnabled())};c.addListener("connectionPointsChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})),a.appendChild(this.createOption(mxResources.get("guides"),function(){return d.graphHandler.guidesEnabled},function(a){c.actions.get("guides").funct()}, {install:function(a){this.listener=function(){a(d.graphHandler.guidesEnabled)};c.addListener("guidesEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})));return a}; DiagramFormatPanel.prototype.addGridOption=function(a){function c(a){var c=parseInt(f.value),c=Math.max(1,isNaN(c)?10:c);c!=b.getGridSize()&&b.setGridSize(c);f.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,f=document.createElement("input");f.style.position="absolute";f.style.textAlign="right";f.style.width="38px";f.value=b.getGridSize()+" pt";var e=this.createStepper(f,c);f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;mxEvent.addListener(f,"keydown", -function(a){13==a.keyCode?(b.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(f.value=b.getGridSize(),b.container.focus(),mxEvent.consume(a))});mxEvent.addListener(f,"blur",c);mxEvent.addListener(f,"change",c);if(mxClient.IS_SVG){f.style.marginTop="-2px";f.style.right="84px";e.style.marginTop="-16px";e.style.right="72px";var k=this.createColorOption(mxResources.get("grid"),function(){var a=b.view.gridColor;return b.isGridEnabled()?a:null},function(a){a==mxConstants.NONE?b.setGridEnabled(!1): -(b.setGridEnabled(!0),d.setGridColor(a));f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;d.fireEvent(new mxEventObject("gridEnabledChanged"))},"#e0e0e0",{install:function(a){this.listener=function(){a(b.isGridEnabled()?b.view.gridColor:null)};d.addListener("gridColorChanged",this.listener);d.addListener("gridEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});k.appendChild(f);k.appendChild(e);a.appendChild(k)}else f.style.marginTop="2px", +function(a){13==a.keyCode?(b.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(f.value=b.getGridSize(),b.container.focus(),mxEvent.consume(a))});mxEvent.addListener(f,"blur",c);mxEvent.addListener(f,"change",c);if(mxClient.IS_SVG){f.style.marginTop="-2px";f.style.right="84px";e.style.marginTop="-16px";e.style.right="72px";var h=this.createColorOption(mxResources.get("grid"),function(){var a=b.view.gridColor;return b.isGridEnabled()?a:null},function(a){a==mxConstants.NONE?b.setGridEnabled(!1): +(b.setGridEnabled(!0),d.setGridColor(a));f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;d.fireEvent(new mxEventObject("gridEnabledChanged"))},"#e0e0e0",{install:function(a){this.listener=function(){a(b.isGridEnabled()?b.view.gridColor:null)};d.addListener("gridColorChanged",this.listener);d.addListener("gridEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});h.appendChild(f);h.appendChild(e);a.appendChild(h)}else f.style.marginTop="2px", f.style.right="32px",e.style.marginTop="2px",e.style.right="20px",a.appendChild(f),a.appendChild(e),a.appendChild(this.createOption(mxResources.get("grid"),function(){return b.isGridEnabled()},function(a){b.setGridEnabled(a);b.isGridEnabled()&&(b.view.gridColor="#e0e0e0");d.fireEvent(new mxEventObject("gridEnabledChanged"))},{install:function(a){this.listener=function(){f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;a(b.isGridEnabled())};d.addListener("gridEnabledChanged", this.listener)},destroy:function(){d.removeListener(this.listener)}}))};DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; DiagramFormatPanel.prototype.addPaperSize=function(a){var c=this.editorUi,d=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var b=PageSetupDialog.addPageFormatPanel(a,"formatpanel",d.pageFormat,function(a){if(null==d.pageFormat||d.pageFormat.width!=a.width||d.pageFormat.height!=a.height)a=new ChangePageSetup(c,null,null,a),a.ignoreColor=!0,a.ignoreImage=!0,d.model.execute(a)});this.addKeyHandler(b.widthInput,function(){b.set(d.pageFormat)});this.addKeyHandler(b.heightInput, function(){b.set(d.pageFormat)});var f=function(){b.set(d.pageFormat)};c.addListener("pageFormatChanged",f);this.listeners.push({destroy:function(){c.removeListener(f)}});d.getModel().addListener(mxEvent.CHANGE,f);this.listeners.push({destroy:function(){d.getModel().removeListener(f)}});return a}; DiagramFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()}));c.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")");c.style.width="202px";c.style.marginBottom="2px";a.appendChild(c);mxUtils.br(a);c=mxUtils.button(mxResources.get("clearDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearDefaultStyle").funct()})); -c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function k(){mxCylinder.call(this)}function g(){mxActor.call(this)}function h(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function q(){mxActor.call(this)}function r(a,b){this.canvas= -a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,r.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,r.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,r.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,r.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; -this.canvas.curveTo=mxUtils.bind(this,r.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,r.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function w(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function C(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function D(){mxShape.call(this)}function B(){mxShape.call(this)} -function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function P(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)} +c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function h(){mxCylinder.call(this)}function g(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function q(){mxActor.call(this)}function t(a,b){this.canvas= +a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,t.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,t.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,t.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,t.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; +this.canvas.curveTo=mxUtils.bind(this,t.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,t.prototype.arcTo)}function r(){mxRectangleShape.call(this)}function v(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function C(){mxShape.call(this)}function B(){mxShape.call(this)} +function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function O(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)} function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function X(){mxActor.call(this)}function U(){mxActor.call(this)}function ja(){mxActor.call(this)}function da(){mxActor.call(this)}function ka(){mxActor.call(this)}function ea(){mxActor.call(this)}function Y(){mxActor.call(this)}function Z(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function ga(){mxEllipse.call(this)}function ba(){mxEllipse.call(this)}function la(){mxRhombus.call(this)}function V(){mxEllipse.call(this)}function ma(){mxEllipse.call(this)} -function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var O=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(O.x-e-g,O.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, +function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var P=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(P.x-e-g,P.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", a);var za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",c);mxUtils.extend(d,mxCylinder);d.prototype.size=20;d.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(d,e/(.5+za));f?(a.moveTo(0,.25*b),a.lineTo(.5* b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*b),a.lineTo(0,.75*b),a.close());a.end()};mxCellRenderer.registerShape("isoCube",d);mxUtils.extend(b,mxCylinder);b.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f|| (a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5* -d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); -f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style, -mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(h,mxActor);h.prototype.size=.4;h.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3* -d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};h.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape", -h);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close(); +d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(h,mxCylinder);h.prototype.tabWidth=60;h.prototype.tabHeight=20;h.prototype.tabPosition="right";h.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); +f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",h);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style, +mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(k,mxActor);k.prototype.size=.4;k.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3* +d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};k.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape", +k);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close(); a.end()};mxCellRenderer.registerShape("document",l);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(m,mxActor);m.prototype.size=.2;m.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, [new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d-b,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",m);mxUtils.extend(n,mxActor);n.prototype.size=.2;n.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,e)],this.isRounded, c,!0)};mxCellRenderer.registerShape("trapezoid",n);mxUtils.extend(p,mxActor);p.prototype.size=.5;p.prototype.redrawPath=function(a,b,c,d,e){a.setFillColor(null);b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b,e/2),new mxPoint(0,e/2),new mxPoint(b,e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()}; -mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);r.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};r.prototype.close=function(){null!=this.firstX&& -null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};r.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY= -g};r.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var O=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas, -O*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};r.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= -function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new r(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)}; +mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);t.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};t.prototype.close=function(){null!=this.firstX&& +null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};t.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};t.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};t.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY= +g};t.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var P=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas, +P*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};t.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= +function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new t(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)}; var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.apply(this,arguments);else{var f=!0;null!=this.style&&(f="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(f||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)f||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, 0)?f=Math.min(d/2,Math.min(e/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.min(d*f,e*f)),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadTo(b,c,b+f,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b, -c)),a.close(),a.end(),a.fillAndStroke()}};var Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(t,mxRectangleShape);t.prototype.size=.1;t.prototype.isHtmlAllowed=function(){return!1};t.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b= -a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};t.prototype.paintForeground=function(a,b,c,d,e){var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= -mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground= -function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",w);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style, +c)),a.close(),a.end(),a.fillAndStroke()}};var Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(r,mxRectangleShape);r.prototype.size=.1;r.prototype.isHtmlAllowed=function(){return!1};r.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b= +a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};r.prototype.paintForeground=function(a,b,c,d,e){var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= +mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",r);mxUtils.extend(v,mxRectangleShape);v.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};v.prototype.paintForeground= +function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",v);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style, "size",this.size))));var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-c),new mxPoint(Math.min(d,f+h),e-c),new mxPoint(g,e),new mxPoint(Math.max(0,f),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout", -v);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d- +w);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d- b,e),new mxPoint(0,e),new mxPoint(b,e/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",u);mxUtils.extend(z,mxHexagon);z.prototype.size=.25;z.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,.5*e),new mxPoint(d-b,e),new mxPoint(b,e),new mxPoint(0,.5*e)], this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",x);var Fa=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= function(a){if(1==this.style["double"]){var b=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Fa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&(a.setShadow(!1),Fa.apply(this,[a,b, -c,d,e]))}};mxUtils.extend(C,mxRectangleShape);C.prototype.isHtmlAllowed=function(){return!1};C.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};C.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| -0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],O=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth, -e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a, -b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",A);mxUtils.extend(D,mxShape);D.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end(); -a.stroke()};mxCellRenderer.registerShape("umlActor",D);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a, +c,d,e]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};D.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| +0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],P=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth, +e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-P)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-P-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,P,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a, +b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",A);mxUtils.extend(C,mxShape);C.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end(); +a.stroke()};mxCellRenderer.registerShape("umlActor",C);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a, b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",L);mxUtils.extend(K,mxShape);K.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",K);mxUtils.extend(I,mxShape);I.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ a.height/8,a.width,7*a.height/8)};I.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};I.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",I);mxUtils.extend(E,mxRectangleShape);E.prototype.size=40;E.prototype.isHtmlAllowed=function(){return!1};E.prototype.getLabelBounds= function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};E.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=E&&(g=new g, @@ -2883,19 +2885,19 @@ g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin(); a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x< -a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",v.prototype.size))* +a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",w.prototype.size))* b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,d){var e=m.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+ h,g+e),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,b,c,d){var e=n.prototype.size;null!=b&&(e= mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]):b==mxConstants.DIRECTION_WEST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f, g)]):b==mxConstants.DIRECTION_NORTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g+e),new mxPoint(f+h,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e)]):(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(f,g+k),new mxPoint(f,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); -mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,O=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k- -e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(O,h),new mxPoint(g+k,h+e),new mxPoint(g+k, -h+l),new mxPoint(O,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(O,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(O,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);O=new mxPoint(O,a);d&&(c.x<g||c.x>g+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!= +mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,P=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k- +e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(P,h),new mxPoint(g+k,h+e),new mxPoint(g+k, +h+l),new mxPoint(P,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(P,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(P,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);P=new mxPoint(P,a);d&&(c.x<g||c.x>g+k?P.y=c.y:P.x=c.x);return mxUtils.getPerimeterPoint(h,P,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!= b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height,l=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(l,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(l,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e),new mxPoint(l,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+ e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke(); a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/ -2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k), -a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); +2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(O,mxCylinder);O.prototype.jettyWidth=32;O.prototype.jettyHeight=12;O.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k), +a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",O);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",F);mxUtils.extend(G,F);G.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",G);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=4;H.prototype.isOpenEnded=function(){return!0};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};H.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", H);mxUtils.extend(y,mxArrowConnector);y.prototype.defaultWidth=10;y.prototype.defaultArrowWidth=20;y.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};y.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};y.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", y);mxUtils.extend(W,mxActor);W.prototype.size=30;W.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",W);mxUtils.extend(R,mxRectangleShape);R.prototype.dx=20;R.prototype.dy=20;R.prototype.isHtmlAllowed= @@ -2919,8 +2921,8 @@ e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa pa);mxUtils.extend(qa,mxActor);qa.prototype.size=.25;qa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/2);c=Math.min(d-b,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.moveTo(0,e/2);a.lineTo(c,0);a.lineTo(d-b,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d-b,e);a.lineTo(c,e);a.close();a.end()};mxCellRenderer.registerShape("display",qa);mxUtils.extend(na,mxConnector);na.prototype.origPaintEdgeShape=na.prototype.paintEdgeShape;na.prototype.paintEdgeShape=function(a,b,c){for(var d= [],e=0;e<b.length;e++)d.push(mxUtils.clone(b[e]));var e=a.state.dashed,f=a.state.fixDash;na.prototype.origPaintEdgeShape.apply(this,[a,d,c]);3<=a.state.strokeWidth&&(d=mxUtils.getValue(this.style,"fillColor",null),null!=d&&(a.setStrokeColor(d),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(e,f),na.prototype.origPaintEdgeShape.apply(this,[a,b,c])))};mxCellRenderer.registerShape("filledEdge",na);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; StyleFormatPanel.prototype.getCustomColors=function(){var b=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==b.style.shape&&c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,f,g,h,k, -l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),O=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+f*k);a.moveTo(m.x- -p-O+f*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-f*k,m.y-O-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n= +l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),q=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*q+f*k);a.moveTo(m.x- +p-q+f*k,m.y-q+p-e*k);a.lineTo(m.x+q-p-f*k,m.y-q-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n= e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-f-g/a,n.y-g+f/a):b.lineTo(n.x+g/a-f,n.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(a,["width"],b,function(b,d,e,f,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},sa=function(a,b,c,d,e){return M(a,b, function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ia=function(a){return function(b){return[M(b,["arrowWidth", "arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",U.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",U.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Ba=function(a,b,c){return function(d){var e= @@ -2942,33 +2944,33 @@ parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYL b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ha(a,c/2))}return b}, label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",E.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var b=Math.max(J.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, "width",J.prototype.width))),c=Math.max(1.5*J.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",J.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(J.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*J.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[M(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, -"size",t.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},cross:function(a){return[M(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",pa.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, +"size",r.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},cross:function(a){return[M(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",pa.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",f.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b= [M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",W.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},dataStorage:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",da.prototype.size)))); -return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[M(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));mxUtils.getValue(this.state.style,"base",v.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- -b)},function(a,b){mxUtils.getValue(this.state.style,"base",v.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",v.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, -(b.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",v.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))); +return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[M(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- +b)},function(a,b){mxUtils.getValue(this.state.style,"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, +(b.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))); this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},internalStorage:function(a){var b=[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",R.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",R.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},corner:function(a){return[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",T.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",T.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,b.y-a.y)))})]},singleArrow:ia(1),doubleArrow:ia(.5),folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",k.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",k.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",k.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= -Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",k.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= -Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",h.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size)))); +Math.min(a.height,b.y-a.y)))})]},singleArrow:ia(1),doubleArrow:ia(.5),folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",h.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",h.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",h.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= +Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",h.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= +Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size)))); return new mxPoint(a.getCenterX(),a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},step:wa(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:wa(z.prototype.size,!0,.5,!0),curlyBracket:wa(p.prototype.size,!1),display:wa(qa.prototype.size,!1),cube:Ba(1,a.prototype.size,!1),card:Ba(.5,g.prototype.size,!0),loopLimit:Ba(.5,Y.prototype.size,!0),trapezoid:Ha(.5),parallelogram:Ha(1)};Graph.createHandle=M;Graph.handleFactory=Ca;mxVertexHandler.prototype.createCustomHandles= function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=Ca[a];if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&& (a=mxConstants.SHAPE_CONNECTOR);a=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!= d&&(d=f.transformControlPoint(a,d));null==h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==g&&null!=c&&(g=new mxPoint(c.getCenterX(),c.getCenterY()));var k=xa.x,l=xa.y,m=ya.x,n=ya.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,b,c){a-=q.x;var d=b-q.y;b=(n*a-m*d)/(k*n-l*m);a=(l*a-k*d)/(l*m-k*n);p?(c&&(q=new mxPoint(q.x+k*b,q.y+l*b),e.push(q)),q=new mxPoint(q.x+m*a,q.y+n*a)):(c&&(q=new mxPoint(q.x+m*a,q.y+n*a),e.push(q)),q=new mxPoint(q.x+ -k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[]; +k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];w.prototype.constraints=[]; mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints; +.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;h.prototype.constraints=mxRectangleShape.prototype.constraints; R.prototype.constraints=mxRectangleShape.prototype.constraints;da.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;ga.prototype.constraints=mxEllipse.prototype.constraints;ba.prototype.constraints=mxEllipse.prototype.constraints;ua.prototype.constraints=mxEllipse.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;va.prototype.constraints=mxRectangleShape.prototype.constraints;qa.prototype.constraints= mxRectangleShape.prototype.constraints;Y.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, -.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];D.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, +.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, +1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9, .5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];e.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];h.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, +1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];k.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, 0),!1)];u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, .25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];N.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375, @@ -2984,20 +2986,21 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";c.op 320,220,!0,!0,function(){window.openFile=null})}).isEnabled=f;this.addAction("save",function(){c.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=f;this.addAction("saveAs...",function(){c.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=f;this.addAction("export...",function(){c.showDialog((new ExportDialog(c)).container,300,230,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(c);c.showDialog(a.container,620,420,!0,!1);a.init()});this.addAction("pageSetup...", function(){c.showDialog((new PageSetupDialog(c)).container,320,220,!0,!0)}).isEnabled=f;this.addAction("print...",function(){c.showDialog((new PrintDialog(c)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(b,null,10,10)});this.addAction("undo",function(){c.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){c.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", function(){mxClipboard.cut(b)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(b)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&mxClipboard.paste(b)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){b.getModel().beginUpdate();try{var c=mxClipboard.paste(b);if(null!=c){a=!0;for(var d=0;d<c.length&& -a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,f=b.view.scale,g=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/f-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete"); -this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){b.setSelectionCells(b.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){b.turnShapes(b.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){b.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){b.selectEdges()}, -null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){b.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){b.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!b.isSelectionEmpty()){b.getModel().beginUpdate();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE, -a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)}, -null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){b.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){b.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==b.getSelectionCount()?b.setCellStyles("container","1"):b.setSelectionCell(b.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1== -b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot();null!=a&&(a=new EditDataDialog(c,a),c.showDialog(a.container, -340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a= -b.getLinkForCell(b.getSelectionCell());null!=a&&b.openLink(a)});this.addAction("editLink...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d=a.getLinkForCell(b)||"";c.showLinkDialog(d,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(b,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"), -function(a,c){a=mxUtils.trim(a);if(0<a.length){var d=null,e=b.getLinkTitle(a);null!=c&&0<c.length&&(d=c[0].iconUrl,e=c[0].name||c[0].type,e=e.charAt(0).toUpperCase()+e.substring(1),30<e.length&&(e=e.substring(0,30)+"..."));var f=b.getFreeInsertPoint(),d=new mxCell(e,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;b.setLinkForCell(d,a);b.cellSizeUpdated(d, -!0);b.getModel().beginUpdate();try{d=b.addCell(d),b.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{b.getModel().endUpdate()}b.setSelectionCell(d);b.scrollCellToVisible(b.getSelectionCell())}})}).isEnabled=f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"), -k=0;k<f.length&&null==d;k++)f[k].textContent==b.textContent&&(a.selectNode(f[k]),d=f[k]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"");var q=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(q);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate(); -try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&null!=f&&b.isWrapping(d)?(f=f.clone(),f.height=e.text.boundingBox.height/b.view.scale,b.getModel().setGeometry(d,f)):b.updateCellSize(d)}}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=b.getView().getState(b.getSelectionCell()); -if(null!=a){var d="1";b.stopEditing();b.getModel().beginUpdate();try{if("1"==a.style.html){var d=null,e=b.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"<br/>")),b.cellLabelChanged(a.cell, -b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell()); +a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,f=b.view.scale,g=e.x,h=e.y,e=null;if(1==c.length&&a){var t=b.getCellGeometry(c[0]);null!=t&&(e=t.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var r=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),v=Math.round(b.snap(b.popupMenuHandler.triggerY/f-h));b.cellsMoved(c,r-e.x,v-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("copySize",function(a){a=b.getSelectionCell();b.isEnabled()&&null!=a&&b.getModel().isVertex(a)&& +(a=b.getCellGeometry(a),null!=a&&(c.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shit+X");this.addAction("pasteSize",function(a){if(b.isEnabled()&&!b.isSelectionEmpty()&&null!=c.copiedSize){b.getModel().beginUpdate();try{var d=b.getSelectionCells();for(a=0;a<d.length;a++)if(b.getModel().isVertex(d[a])){var e=b.getCellGeometry(d[a]);null!=e&&(e=e.clone(),e.width=c.copiedSize.width,e.height=c.copiedSize.height,b.getModel().setGeometry(d[a],e))}}finally{b.getModel().endUpdate()}}}, +null,null,"Alt+Shit+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){b.setSelectionCells(b.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){b.turnShapes(b.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices", +function(){b.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){b.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){b.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){b.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!b.isSelectionEmpty()){b.getModel().beginUpdate();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE, +a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()}, +null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){b.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){b.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==b.getSelectionCount()?b.setCellStyles("container","1"):b.setSelectionCell(b.groupCells(null, +0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot(); +c.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=b.getLinkForCell(b.getSelectionCell()); +null!=a&&b.openLink(a)});this.addAction("editLink...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d=a.getLinkForCell(b)||"";c.showLinkDialog(d,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(b,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"),function(a,c){a=mxUtils.trim(a);if(0<a.length){var d= +null,e=b.getLinkTitle(a);null!=c&&0<c.length&&(d=c[0].iconUrl,e=c[0].name||c[0].type,e=e.charAt(0).toUpperCase()+e.substring(1),30<e.length&&(e=e.substring(0,30)+"..."));var f=b.getFreeInsertPoint(),d=new mxCell(e,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;b.setLinkForCell(d,a);b.cellSizeUpdated(d,!0);b.getModel().beginUpdate();try{d=b.addCell(d), +b.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{b.getModel().endUpdate()}b.setSelectionCell(d);b.scrollCellToVisible(b.getSelectionCell())}})}).isEnabled=f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"),h=0;h<f.length&&null==d;h++)f[h].textContent== +b.textContent&&(a.selectNode(f[h]),d=f[h]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"");var q=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(q);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d= +a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&null!=f&&b.isWrapping(d)?(f=f.clone(),f.height=e.text.boundingBox.height/b.view.scale,b.getModel().setGeometry(d,f)):b.updateCellSize(d)}}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=b.getView().getState(b.getSelectionCell());if(null!=a){var d="1";b.stopEditing(); +b.getModel().beginUpdate();try{if("1"==a.style.html){var d=null,e=b.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"<br/>")),b.cellLabelChanged(a.cell,b.sanitizeHtml(e)); +b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell()); null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&b.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");c.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){b.zoomTo(1);c.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){b.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); this.addAction("zoomOut",function(a){b.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){b.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/a.width/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop= a.y*b.view.scale-1,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y, @@ -3008,7 +3011,7 @@ e=this.addAction("guides",function(){b.graphHandler.guidesEnabled=!b.graphHandle new ChangePageSetup(c);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!b.foldingEnabled;b.model.execute(a)});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.foldingEnabled});e.isEnabled=f;e=this.addAction("scrollbars",function(){c.setScrollbars(!c.hasScrollbars())});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.scrollbars});e=this.addAction("pageView",mxUtils.bind(this,function(){c.setPageVisible(!b.pageVisible)}));e.setToggleAction(!0);e.setSelectedCallback(function(){return b.pageVisible}); e=this.addAction("connectionArrows",function(){b.connectionArrowsEnabled=!b.connectionArrowsEnabled;c.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionArrowsEnabled});e=this.addAction("connectionPoints",function(){b.setConnectable(!b.connectionHandler.isEnabled());c.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionHandler.isEnabled()}); e=this.addAction("copyConnect",function(){b.connectionHandler.setCreateTarget(!b.connectionHandler.isCreateTarget());c.fireEvent(new mxEventObject("copyConnectChanged"))});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionHandler.isCreateTarget()});e.isEnabled=f;e=this.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});e.setToggleAction(!0);e.setSelectedCallback(function(){return c.editor.autosave});e.isEnabled=f;e.visible=!1;this.addAction("help",function(){var a= -"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);b.openLink(RESOURCES_PATH+"/help"+a+".html")});var k=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){k||(c.showDialog((new AboutDialog(c)).container,320,280,!0,!0,function(){k=!1}),k=!0)},null,null,"F1"));e=mxUtils.bind(this,function(a,c,d,e){return this.addAction(a,function(){if(null!=d&&b.cellEditor.isContentEditing())d();else{b.stopEditing(!1);b.getModel().beginUpdate();try{b.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, +"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);b.openLink(RESOURCES_PATH+"/help"+a+".html")});var h=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){h||(c.showDialog((new AboutDialog(c)).container,320,280,!0,!0,function(){h=!1}),h=!0)},null,null,"F1"));e=mxUtils.bind(this,function(a,c,d,e){return this.addAction(a,function(){if(null!=d&&b.cellEditor.isContentEditing())d();else{b.stopEditing(!1);b.getModel().beginUpdate();try{b.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, c),(c&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?b.updateLabelElements(b.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&b.replaceElement(a)}):(c&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?b.updateLabelElements(b.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&b.replaceElement(a)}):(c&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.updateLabelElements(b.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& b.replaceElement(a)})}finally{b.getModel().endUpdate()}}},null,null,e)});e("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");e("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");e("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){c.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); this.addAction("strokeColor...",function(){c.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){c.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){c.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});this.addAction("backgroundColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)}); @@ -3019,8 +3022,8 @@ this.addAction("rounded",function(){b.getModel().beginUpdate();try{b.setCellStyl e=null!=d?d.style:b.getCellStyle(a[0]),f="1"==mxUtils.getValue(e,mxConstants.STYLE_ROUNDED,"0")?"0":"1";b.setCellStyles(mxConstants.STYLE_ROUNDED,f);b.setCellStyles(mxConstants.STYLE_CURVED,null);c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("curved",function(){b.getModel().beginUpdate();try{b.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),b.setCellStyles(mxConstants.STYLE_CURVED, "1"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=b.view.getState(b.getSelectionCell()),d="1";null!=a&&null!=b.getFoldingImage(a)&&(d="0");b.setCellStyles("collapsible",d);c.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[d],"cells",b.getSelectionCells()))});this.addAction("editStyle...", mxUtils.bind(this,function(){var a=b.getSelectionCells();if(null!=a&&0<a.length){var c=b.getModel(),c=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",c.getStyle(a[0])||"",function(c){null!=c&&b.setCellStyle(mxUtils.trim(c),a)},null,null,400,220);this.editorUi.showDialog(c.container,420,300,!0,!0);c.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){b.isEnabled()&&!b.isSelectionEmpty()&&c.setDefaultStyle(b.getSelectionCell())},null,null,Editor.ctrlKey+ -"+Shift+D");this.addAction("clearDefaultStyle",function(){b.isEnabled()&&c.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=b.getSelectionCell();if(null!=a&&b.getModel().isEdge(a)){var c=d.graph.selectionCellsHandler.getHandler(a);if(c instanceof mxEdgeHandler){for(var e=b.view.translate,f=b.view.scale,k=e.x,e=e.y,a=b.getModel().getParent(a),p=b.getCellGeometry(a);b.getModel().isVertex(a)&&null!=p;)k+=p.x,e+=p.y,a=b.getModel().getParent(a),p= -b.getCellGeometry(a);k=Math.round(b.snap(b.popupMenuHandler.triggerX/f-k));f=Math.round(b.snap(b.popupMenuHandler.triggerY/f-e));c.addPointAt(c.state,k,f)}}});this.addAction("removeWaypoint",function(){var a=c.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=b.getSelectionCells();if(null!=a){a=b.addAllEdges(a);b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().isEdge(d)){var e= +"+Shift+D");this.addAction("clearDefaultStyle",function(){b.isEnabled()&&c.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=b.getSelectionCell();if(null!=a&&b.getModel().isEdge(a)){var c=d.graph.selectionCellsHandler.getHandler(a);if(c instanceof mxEdgeHandler){for(var e=b.view.translate,f=b.view.scale,h=e.x,e=e.y,a=b.getModel().getParent(a),p=b.getCellGeometry(a);b.getModel().isVertex(a)&&null!=p;)h+=p.x,e+=p.y,a=b.getModel().getParent(a),p= +b.getCellGeometry(a);h=Math.round(b.snap(b.popupMenuHandler.triggerX/f-h));f=Math.round(b.snap(b.popupMenuHandler.triggerY/f-e));c.addPointAt(c.state,h,f)}}});this.addAction("removeWaypoint",function(){var a=c.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=b.getSelectionCells();if(null!=a){a=b.addAllEdges(a);b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().isEdge(d)){var e= b.getCellGeometry(d);null!=e&&(e=e.clone(),e.points=null,b.getModel().setGeometry(d,e))}}}finally{b.getModel().endUpdate()}}},null,null,"Alt+Shift+C");e=this.addAction("subscript",mxUtils.bind(this,function(){b.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");e=this.addAction("superscript",mxUtils.bind(this,function(){b.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", function(){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",d=b.getView().getState(b.getSelectionCell()),e="";null!=d&&(e=d.style[mxConstants.STYLE_IMAGE]||e);var f=b.cellEditor.saveSelection();c.showImageDialog(a,e,function(a,c,d){if(b.cellEditor.isContentEditing())b.cellEditor.restoreSelection(f),b.insertImage(a,c,d);else{var e=b.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;b.getModel().beginUpdate(); try{if(0==e.length){var h=b.getFreeInsertPoint(),g=e=[b.insertVertex(b.getDefaultParent(),null,"",h.x,h.y,c,d,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];b.fireEvent(new mxEventObject("cellsInserted","cells",g))}b.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var k=b.view.getState(e[0]),l=null!=k?k.style:b.getCellStyle(e[0]);"image"!=l[mxConstants.STYLE_SHAPE]&&"label"!=l[mxConstants.STYLE_SHAPE]?b.setCellStyles(mxConstants.STYLE_SHAPE,"image", @@ -3036,7 +3039,7 @@ Menus.prototype.init=function(){var a=this.editorUi.editor.graph,c=mxUtils.bind( this.put("formatBlock",new Menu(mxUtils.bind(this,function(c,b){function d(d,f){return c.addItem(d,null,mxUtils.bind(this,function(){a.cellEditor.textarea.focus();document.execCommand("formatBlock",!1,"<"+f+">")}),b)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML='<h1 style="margin:0px;">'+mxResources.get("heading")+" 1</h1>";d("","h2").firstChild.nextSibling.innerHTML='<h2 style="margin:0px;">'+mxResources.get("heading")+" 2</h2>";d("","h3").firstChild.nextSibling.innerHTML= '<h3 style="margin:0px;">'+mxResources.get("heading")+" 3</h3>";d("","h4").firstChild.nextSibling.innerHTML='<h4 style="margin:0px;">'+mxResources.get("heading")+" 4</h4>";d("","h5").firstChild.nextSibling.innerHTML='<h5 style="margin:0px;">'+mxResources.get("heading")+" 5</h5>";d("","h6").firstChild.nextSibling.innerHTML='<h6 style="margin:0px;">'+mxResources.get("heading")+" 6</h6>";d("","pre").firstChild.nextSibling.innerHTML='<pre style="margin:0px;">'+mxResources.get("formatted")+"</pre>";d("", "blockquote").firstChild.nextSibling.innerHTML='<blockquote style="margin-top:0px;margin-bottom:0px;">'+mxResources.get("blockquote")+"</blockquote>"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(c,b){for(var d=[6,8,9,10,11,12,14,18,24,36,48,72],e=mxUtils.bind(this,function(d){this.styleChange(c,d,[mxConstants.STYLE_FONTSIZE],[d],null,b,function(){document.execCommand("fontSize",!1,"3");for(var b=a.cellEditor.textarea.getElementsByTagName("font"),c=0;c<b.length;c++)if("3"==b[c].getAttribute("size")){b[c].removeAttribute("size"); -b[c].style.fontSize=d+"px";break}})}),k=0;k<d.length;k++)e(d[k]);c.addSeparator(b);if(0<this.customFontSizes.length){for(k=0;k<this.customFontSizes.length;k++)e(this.customFontSizes[k]);c.addSeparator(b);c.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFontSizes=[]}),b);c.addSeparator(b)}this.promptChange(c,mxResources.get("custom")+"...","(pt)","12",mxConstants.STYLE_FONTSIZE,b,!0,mxUtils.bind(this,function(a){this.customFontSizes.push(a)}))})));this.put("direction", +b[c].style.fontSize=d+"px";break}})}),h=0;h<d.length;h++)e(d[h]);c.addSeparator(b);if(0<this.customFontSizes.length){for(h=0;h<this.customFontSizes.length;h++)e(this.customFontSizes[h]);c.addSeparator(b);c.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFontSizes=[]}),b);c.addSeparator(b)}this.promptChange(c,mxResources.get("custom")+"...","(pt)","12",mxConstants.STYLE_FONTSIZE,b,!0,mxUtils.bind(this,function(a){this.customFontSizes.push(a)}))})));this.put("direction", new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("flipH"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)},b);c.addItem(mxResources.get("flipV"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)},b);this.addMenuItems(c,["-","rotation"],b)})));this.put("align",new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("leftAlign"),null,function(){a.alignCells(mxConstants.ALIGN_LEFT)},b);c.addItem(mxResources.get("center"),null,function(){a.alignCells(mxConstants.ALIGN_CENTER)}, b);c.addItem(mxResources.get("rightAlign"),null,function(){a.alignCells(mxConstants.ALIGN_RIGHT)},b);c.addSeparator(b);c.addItem(mxResources.get("topAlign"),null,function(){a.alignCells(mxConstants.ALIGN_TOP)},b);c.addItem(mxResources.get("middle"),null,function(){a.alignCells(mxConstants.ALIGN_MIDDLE)},b);c.addItem(mxResources.get("bottomAlign"),null,function(){a.alignCells(mxConstants.ALIGN_BOTTOM)},b)})));this.put("distribute",new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("horizontal"), null,function(){a.distributeCells(!0)},b);c.addItem(mxResources.get("vertical"),null,function(){a.distributeCells(!1)},b)})));this.put("layout",new Menu(mxUtils.bind(this,function(c,b){var d=mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});c.addItem(mxResources.get("horizontalFlow"),null,mxUtils.bind(this,function(){var b=new mxHierarchicalLayout(a, @@ -3051,24 +3054,24 @@ b)})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItem function(c,b){this.addMenuItems(c,["resetView","-"],b);for(var d=[.25,.5,.75,1,1.25,1.5,2,3,4],e=0;e<d.length;e++)(function(d){c.addItem(100*d+"%",null,function(){a.zoomTo(d)},b)})(d[e]);this.addMenuItems(c,"- fitWindow fitPageWidth fitPage fitTwoPages - customZoom".split(" "),b)})));this.put("file",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"new open - save saveAs - import export - pageSetup print".split(" "),b)})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a, "undo redo - cut copy paste delete - duplicate - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["copyConnect","collapseExpand","-","editDiagram"])})));this.put("help",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["help","-","about"])})))};Menus.prototype.put=function(a,c){return this.menus[a]=c}; Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a);null!=f&&(f=f.isEnabled(),c.showDisabled||f)&&(d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d))};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)}; -Menus.prototype.addInsertTableItem=function(a){function c(a,b){for(var c=["<table>"],d=0;d<a;d++){c.push("<tr>");for(var e=0;e<b;e++)c.push("<td><br></td>");c.push("</tr>")}c.push("</table>");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var k=0;k<f.length;k++)a.push(f[k]);d.container.focus(); -d.pasteHtmlAtCaret(c(e.sectionRowIndex+1,b.cellIndex+1));b=d.cellEditor.textarea.getElementsByTagName("table");if(b.length==a.length+1)for(k=b.length-1;0<=k;k--)if(0==k||b[k]!=a[k-1]){d.selectNode(b[k].rows[0].cells[0]);break}}}));var b='<img src="'+mxClient.imageBasePath+'/transparent.gif" width="16" height="16"/>';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", -"8");for(var e=0;e<a;e++)for(var f=d.insertRow(e),g=0;g<c;g++){var k=f.insertCell(-1);mxClient.IS_QUIRKS&&(k.innerHTML=b)}return d}(5,5);a.firstChild.appendChild(f);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(f,"mouseover",function(a){var c=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var h=d.getParentByName(c,"TR"),k=Math.min(20,h.sectionRowIndex+2), -m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<k;n++)for(var p=f.insertRow(n),q=0;q<f.rows[0].cells.length;q++){var r=p.insertCell(-1);mxClient.IS_QUIRKS&&(r.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],q=p.cells.length;q<m;q++)r=p.insertCell(-1),mxClient.IS_QUIRKS&&(r.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(k=0;k<f.rows.length;k++)for(m=f.rows[k],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=k<=h.sectionRowIndex&&n<=c.cellIndex?"blue":"white"; +Menus.prototype.addInsertTableItem=function(a){function c(a,b){for(var c=["<table>"],d=0;d<a;d++){c.push("<tr>");for(var e=0;e<b;e++)c.push("<td><br></td>");c.push("</tr>")}c.push("</table>");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var h=0;h<f.length;h++)a.push(f[h]);d.container.focus(); +d.pasteHtmlAtCaret(c(e.sectionRowIndex+1,b.cellIndex+1));b=d.cellEditor.textarea.getElementsByTagName("table");if(b.length==a.length+1)for(h=b.length-1;0<=h;h--)if(0==h||b[h]!=a[h-1]){d.selectNode(b[h].rows[0].cells[0]);break}}}));var b='<img src="'+mxClient.imageBasePath+'/transparent.gif" width="16" height="16"/>';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", +"8");for(var e=0;e<a;e++)for(var f=d.insertRow(e),g=0;g<c;g++){var h=f.insertCell(-1);mxClient.IS_QUIRKS&&(h.innerHTML=b)}return d}(5,5);a.firstChild.appendChild(f);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(f,"mouseover",function(a){var c=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var h=d.getParentByName(c,"TR"),l=Math.min(20,h.sectionRowIndex+2), +m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<l;n++)for(var p=f.insertRow(n),q=0;q<f.rows[0].cells.length;q++){var t=p.insertCell(-1);mxClient.IS_QUIRKS&&(t.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],q=p.cells.length;q<m;q++)t=p.insertCell(-1),mxClient.IS_QUIRKS&&(t.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(l=0;l<f.rows.length;l++)for(m=f.rows[l],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=l<=h.sectionRowIndex&&n<=c.cellIndex?"blue":"white"; mxEvent.consume(a)}})}; -Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,k){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(k){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var q=0;q<d.length;q++)a.setCellStyles(d[q],b[q],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys", -d,"values",b,"cells",e))}finally{a.getModel().endUpdate()}}),e,f)};Menus.prototype.styleChange=function(a,c,d,b,f,e,k,g){var h=this.createStyleChangeFunction(d,b);return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;null!=k&&a.cellEditor.isContentEditing()?k():h(g)}),e,f)}; +Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(h){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var q=0;q<d.length;q++)a.setCellStyles(d[q],b[q],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys", +d,"values",b,"cells",e))}finally{a.getModel().endUpdate()}}),e,f)};Menus.prototype.styleChange=function(a,c,d,b,f,e,h,g){var k=this.createStyleChangeFunction(d,b);return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;null!=h&&a.cellEditor.isContentEditing()?h():k(g)}),e,f)}; Menus.prototype.createStyleChangeFunction=function(a,c){return mxUtils.bind(this,function(d){var b=this.editorUi.editor.graph;b.stopEditing(!1);b.getModel().beginUpdate();try{for(var f=0;f<a.length;f++)b.setCellStyles(a[f],c[f]);null!=d&&d();this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",a,"values",c,"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}})}; -Menus.prototype.promptChange=function(a,c,d,b,f,e,k,g,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,c=b,e=a.getView().getState(a.getSelectionCell());null!=e&&(c=e.style[f]||c);c=new FilenameDialog(this.editorUi,c,mxResources.get("apply"),mxUtils.bind(this,function(b){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1),a.setCellStyles(f,b)}finally{a.getModel().endUpdate()}null!=g&&g(b)}}),mxResources.get("enterValue")+(0<d.length?" "+ -d:""));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}),e,h,k)}; +Menus.prototype.promptChange=function(a,c,d,b,f,e,h,g,k){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,c=b,e=a.getView().getState(a.getSelectionCell());null!=e&&(c=e.style[f]||c);c=new FilenameDialog(this.editorUi,c,mxResources.get("apply"),mxUtils.bind(this,function(b){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1),a.setCellStyles(f,b)}finally{a.getModel().endUpdate()}null!=g&&g(b)}}),mxResources.get("enterValue")+(0<d.length?" "+ +d:""));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}),e,k,h)}; Menus.prototype.pickColor=function(a,c,d){var b=this.editorUi.editor.graph;if(null!=c&&b.cellEditor.isContentEditing()){var f=b.cellEditor.saveSelection();a=new ColorDialog(this.editorUi,d||"000000",mxUtils.bind(this,function(a){b.cellEditor.restoreSelection(f);document.execCommand(c,!1,a!=mxConstants.NONE?a:"transparent")}),function(){b.cellEditor.restoreSelection(f)});this.editorUi.showDialog(a.container,230,430,!0,!0);a.init()}else{null==this.colorDialog&&(this.colorDialog=new ColorDialog(this.editorUi)); this.colorDialog.currentColorKey=a;d=b.getView().getState(b.getSelectionCell());var e="none";null!=d&&(e=d.style[a]||e);"none"==e?(e="ffffff",this.colorDialog.picker.fromString("ffffff"),this.colorDialog.colorInput.value="none"):this.colorDialog.picker.fromString(e);this.editorUi.showDialog(this.colorDialog.container,230,430,!0,!0);this.colorDialog.init()}}; Menus.prototype.toggleStyle=function(a,c){var d=this.editorUi.editor.graph,b=d.toggleCellStyles(a,c);this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[a],"values",[b],"cells",d.getSelectionCells()))}; -Menus.prototype.addMenuItem=function(a,c,d,b,f,e){var k=this.editorUi.actions.get(c);return null!=k&&(a.showDisabled||k.isEnabled())&&k.visible?(c=a.addItem(e||k.label,null,function(){k.funct(b)},d,f,k.isEnabled()),k.toggleAction&&k.isSelected()&&a.addCheckmark(c,Editor.checkmarkImage),this.addShortcut(c,k),c):null}; +Menus.prototype.addMenuItem=function(a,c,d,b,f,e){var h=this.editorUi.actions.get(c);return null!=h&&(a.showDisabled||h.isEnabled())&&h.visible?(c=a.addItem(e||h.label,null,function(){h.funct(b)},d,f,h.isEnabled()),h.toggleAction&&h.isSelected()&&a.addCheckmark(c,Editor.checkmarkImage),this.addShortcut(c,h),c):null}; Menus.prototype.addShortcut=function(a,c){if(null!=c.shortcut){var d=a.firstChild.nextSibling.nextSibling,b=document.createElement("span");b.style.color="gray";mxUtils.write(b,c.shortcut);d.appendChild(b)}};Menus.prototype.addMenuItems=function(a,c,d,b,f){for(var e=0;e<c.length;e++)"-"==c[e]?a.addSeparator(d):this.addMenuItem(a,c[e],d,b,null!=f?f[e]:null)}; Menus.prototype.createPopupMenu=function(a,c,d){var b=this.editorUi.editor.graph;a.smartSeparators=!0;b.isSelectionEmpty()?this.addMenuItems(a,["undo","redo","pasteHere"],null,d):this.addMenuItems(a,"delete - cut copy - duplicate".split(" "),null,d);if(b.isSelectionEmpty())this.addMenuItems(a,"- selectVertices selectEdges selectAll - clearDefaultStyle".split(" "),null,d);else{1==b.getSelectionCount()&&this.addMenuItems(a,["setAsDefaultStyle"],null,d);a.addSeparator();c=b.getSelectionCell();var f= -b.view.getState(c);if(null!=f){var e=!1;this.addMenuItems(a,["toFront","toBack","-"],null,d);if(b.getModel().isEdge(c)&&"entityRelationEdgeStyle"!=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null)&&"arrow"!=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null)){var e=b.selectionCellsHandler.getHandler(c),k=!1;if(e instanceof mxEdgeHandler&&null!=e.bends&&2<e.bends.length){var k=e.getHandleForEvent(b.updateMouseEvent(new mxMouseEvent(d))),g=this.editorUi.actions.get("removeWaypoint");g.handler= -e;g.index=k;k=0<k&&k<e.bends.length-1}a.addSeparator();this.addMenuItem(a,"turn",null,d,null,mxResources.get("reverse"));this.addMenuItems(a,[k?"removeWaypoint":"addWaypoint"],null,d);e=b.getModel().getGeometry(c);e=null!=e&&null!=e.points&&0<e.points.length}1==b.getSelectionCount()&&(e||b.getModel().isVertex(c)&&0<b.getModel().getEdgeCount(c))&&this.addMenuItems(a,["clearWaypoints"],null,d);1<b.getSelectionCount()?(a.addSeparator(),this.addMenuItems(a,["group"],null,d)):1==b.getSelectionCount()&& +b.view.getState(c);if(null!=f){var e=!1;this.addMenuItems(a,["toFront","toBack","-"],null,d);if(b.getModel().isEdge(c)&&"entityRelationEdgeStyle"!=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null)&&"arrow"!=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null)){var e=b.selectionCellsHandler.getHandler(c),h=!1;if(e instanceof mxEdgeHandler&&null!=e.bends&&2<e.bends.length){var h=e.getHandleForEvent(b.updateMouseEvent(new mxMouseEvent(d))),g=this.editorUi.actions.get("removeWaypoint");g.handler= +e;g.index=h;h=0<h&&h<e.bends.length-1}a.addSeparator();this.addMenuItem(a,"turn",null,d,null,mxResources.get("reverse"));this.addMenuItems(a,[h?"removeWaypoint":"addWaypoint"],null,d);e=b.getModel().getGeometry(c);e=null!=e&&null!=e.points&&0<e.points.length}1==b.getSelectionCount()&&(e||b.getModel().isVertex(c)&&0<b.getModel().getEdgeCount(c))&&this.addMenuItems(a,["clearWaypoints"],null,d);1<b.getSelectionCount()?(a.addSeparator(),this.addMenuItems(a,["group"],null,d)):1==b.getSelectionCount()&& !b.getModel().isEdge(c)&&!b.isSwimlane(c)&&0<b.getModel().getChildCount(c)&&(a.addSeparator(),this.addMenuItems(a,["ungroup"],null,d));1==b.getSelectionCount()&&(a.addSeparator(),this.addMenuItems(a,["editData","editLink"],null,d),b.getModel().isVertex(c)&&null!=mxUtils.getValue(f.style,mxConstants.STYLE_IMAGE,null)&&(a.addSeparator(),this.addMenuItem(a,"image",null,d).firstChild.nextSibling.innerHTML=mxResources.get("editImage")+"..."))}}}; Menus.prototype.createMenubar=function(a){for(var c=new Menubar(this.editorUi,a),d=this.defaultMenuItems,b=0;b<d.length;b++)mxUtils.bind(this,function(a){var e=c.addMenu(mxResources.get(d[b]),mxUtils.bind(this,function(){a.funct.apply(this,arguments)}));this.menuCreated(a,e)})(this.get(d[b]));return c}; Menus.prototype.menuCreated=function(a,c,d){null!=c&&(d=null!=d?d:"geItem",a.addListener("stateChanged",function(){(c.enabled=a.enabled)?(c.className=d,8==document.documentMode&&(c.style.color="")):(c.className=d+" mxDisabled",8==document.documentMode&&(c.style.color="#c3c3c3"))}))};function Menubar(a,c){this.editorUi=a;this.container=c}Menubar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()}; @@ -3089,7 +3092,7 @@ null,!0).setAttribute("title",mxResources.get("simple"));this.editorUi.menus.edg null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title",mxResources.get("isometric"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED, mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation"))})),this.addDropDownArrow(this.edgeStyleMenu,"geSprite-orthogonal",44,50,0,0,22,-4));this.addSeparator(); a=this.addMenu("",mxResources.get("insert")+" ("+mxResources.get("doubleClickTooltip")+")",!0,"insert",null,!0);this.addDropDownArrow(a,"geSprite-plus",38,48,-4,-3,36,-8)}; -Toolbar.prototype.addDropDownArrow=function(a,c,d,b,f,e,k,g){f=EditorUi.compactUi?f:g;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='<div class="geSprite '+c+'" style="margin-left:'+f+"px;margin-top:"+e+'px;"></div>'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=k?k:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= +Toolbar.prototype.addDropDownArrow=function(a,c,d,b,f,e,h,g){f=EditorUi.compactUi?f:g;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='<div class="geSprite '+c+'" style="margin-left:'+f+"px;margin-top:"+e+'px;"></div>'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=h?h:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= "5px",a.style.width=mxClient.IS_QUIRKS?d+"px":d-10+"px")};Toolbar.prototype.setFontName=function(a){null!=this.fontMenu&&(this.fontMenu.innerHTML='<div style="width:60px;overflow:hidden;display:inline-block;">'+mxUtils.htmlEntities(a)+"</div>"+this.dropdownImageHtml)};Toolbar.prototype.setFontSize=function(a){null!=this.sizeMenu&&(this.sizeMenu.innerHTML='<div style="width:24px;overflow:hidden;display:inline-block;">'+a+"</div>"+this.dropdownImageHtml)}; Toolbar.prototype.createTextToolbar=function(){var a=this.editorUi.editor.graph,c=this.addMenu("",mxResources.get("style"),!0,"formatBlock");c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=mxResources.get("style")+this.dropdownImageHtml;EditorUi.compactUi&&(c.style.paddingRight="18px",c.getElementsByTagName("img")[0].style.right="1px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.fontMenu=this.addMenu("",mxResources.get("fontFamily"), !0,"fontFamily");this.fontMenu.style.position="relative";this.fontMenu.style.whiteSpace="nowrap";this.fontMenu.style.overflow="hidden";this.fontMenu.style.width=mxClient.IS_QUIRKS?"80px":"60px";this.setFontName(Menus.prototype.defaultFont);EditorUi.compactUi&&(this.fontMenu.style.paddingRight="18px",this.fontMenu.getElementsByTagName("img")[0].style.right="1px",this.fontMenu.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.sizeMenu=this.addMenu(Menus.prototype.defaultFontSize, @@ -3104,152 +3107,152 @@ mxResources.get("fontColor"));d=a.addItem("",null,this.editorUi.actions.get("bac '<div class="geSprite geSprite-dots" style="margin-left:-2px;"></div>'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0<a.cellEditor.textarea.innerHTML.length&&(" "!=a.cellEditor.textarea.innerHTML||!a.cellEditor.clearOnChange)&& window.setTimeout(function(){document.execCommand("selectAll",!1,null)})});this.addSeparator();c=this.addMenuFunction("",mxResources.get("insert"),!0,mxUtils.bind(this,function(a){a.addItem(mxResources.get("insertLink"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("link").funct()}));a.addItem(mxResources.get("insertImage"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("image").funct()}));a.addItem(mxResources.get("insertHorizontalRule"),null,mxUtils.bind(this,function(){document.execCommand("inserthorizontalrule", !1,null)}))}));c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.position="relative";c.innerHTML='<div class="geSprite geSprite-plus" style="margin-left:-4px;margin-top:-3px;"></div>'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"36px":"16px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="24px",c.getElementsByTagName("img")[0].style.top="5px",c.style.width=mxClient.IS_QUIRKS?"50px":"30px");this.addSeparator();var d=this.addMenuFunction("geIcon geSprite geSprite-table", -mxResources.get("table"),!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),k=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==k)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(k,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore"); -c.setAttribute("title",mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(h){mxUtils.alert(mxResources.get("error")+ -": "+h.message)}}),null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,k.sectionRowIndex))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,k.sectionRowIndex+1))}catch(h){mxUtils.alert(mxResources.get("error")+ -": "+h.message)}}),null,"geIcon geSprite geSprite-insertrowafter");c.setAttribute("title",mxResources.get("insertRowAfter"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(g,k.sectionRowIndex)}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-deleterow");c.setAttribute("title",mxResources.get("deleteRow"));c=b.addItem("",null,mxUtils.bind(this,function(){var a=g.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +mxResources.get("table"),!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),h=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==h)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(h,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore"); +c.setAttribute("title",mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(k){mxUtils.alert(mxResources.get("error")+ +": "+k.message)}}),null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex+1))}catch(k){mxUtils.alert(mxResources.get("error")+ +": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowafter");c.setAttribute("title",mxResources.get("insertRowAfter"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(g,h.sectionRowIndex)}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-deleterow");c.setAttribute("title",mxResources.get("deleteRow"));c=b.addItem("",null,mxUtils.bind(this,function(){var a=g.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(g.removeAttribute("border"),g.style.border="",g.style.borderCollapse=""):(g.setAttribute("border","1"),g.style.border="1px solid "+a,g.style.borderCollapse="collapse")})}),null,"geIcon geSprite geSprite-strokecolor");c.setAttribute("title",mxResources.get("borderColor"));c=b.addItem("", null,mxUtils.bind(this,function(){var a=g.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){g.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}),null,"geIcon geSprite geSprite-fillcolor");c.setAttribute("title",mxResources.get("backgroundColor"));c=b.addItem("",null,mxUtils.bind(this, function(){var a=g.getAttribute("cellPadding")||0,a=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?g.setAttribute("cellPadding",a):g.removeAttribute("cellPadding")}),mxResources.get("spacing"));this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,"geIcon geSprite geSprite-fit");c.setAttribute("title",mxResources.get("spacing"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","left")}),null,"geIcon geSprite geSprite-left"); c.setAttribute("title",mxResources.get("left"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","center")}),null,"geIcon geSprite geSprite-center");c.setAttribute("title",mxResources.get("center"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","right")}),null,"geIcon geSprite geSprite-right");c.setAttribute("title",mxResources.get("right"))}}));d.style.position="relative";d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.innerHTML='<div class="geSprite geSprite-table" style="margin-left:-2px;"></div>'+ -this.dropdownImageHtml;d.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(d.getElementsByTagName("img")[0].style.left="22px",d.getElementsByTagName("img")[0].style.top="5px")};Toolbar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Toolbar.prototype.addMenu=function(a,c,d,b,f,e){var k=this.editorUi.menus.get(b),g=this.addMenuFunction(a,c,d,function(){k.funct.apply(k,arguments)},f,e);k.addListener("stateChanged",function(){g.setEnabled(k.enabled)});return g}; +this.dropdownImageHtml;d.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(d.getElementsByTagName("img")[0].style.left="22px",d.getElementsByTagName("img")[0].style.top="5px")};Toolbar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Toolbar.prototype.addMenu=function(a,c,d,b,f,e){var h=this.editorUi.menus.get(b),g=this.addMenuFunction(a,c,d,function(){h.funct.apply(h,arguments)},f,e);h.addListener("stateChanged",function(){g.setEnabled(h.enabled)});return g}; Toolbar.prototype.addMenuFunction=function(a,c,d,b,f,e){return this.addMenuFunctionInContainer(null!=f?f:this.container,a,c,d,b,e)};Toolbar.prototype.addMenuFunctionInContainer=function(a,c,d,b,f,e){c=b?this.createLabel(c):this.createButton(c);this.initElement(c,d);this.addMenuHandler(c,b,f,e);a.appendChild(c);return c};Toolbar.prototype.addSeparator=function(a){a=null!=a?a:this.container;var c=document.createElement("div");c.className="geSeparator";a.appendChild(c);return c}; Toolbar.prototype.addItems=function(a,c,d){for(var b=[],f=0;f<a.length;f++){var e=a[f];"-"==e?b.push(this.addSeparator(c)):b.push(this.addItem("geSprite-"+e.toLowerCase(),e,c,d))}return b};Toolbar.prototype.addItem=function(a,c,d,b){var f=this.editorUi.actions.get(c),e=null;null!=f&&(c=f.label,null!=f.shortcut&&(c+=" ("+f.shortcut+")"),e=this.addButton(a,c,f.funct,d),b||(e.setEnabled(f.enabled),f.addListener("stateChanged",function(){e.setEnabled(f.enabled)})));return e}; Toolbar.prototype.addButton=function(a,c,d,b){a=this.createButton(a);b=null!=b?b:this.container;this.initElement(a,c);this.addClickHandler(a,d);b.appendChild(a);return a};Toolbar.prototype.initElement=function(a,c){null!=c&&a.setAttribute("title",c);this.addEnabledState(a)};Toolbar.prototype.addEnabledState=function(a){var c=a.className;a.setEnabled=function(d){a.enabled=d;a.className=d?c:c+" mxDisabled"};a.setEnabled(!0)}; Toolbar.prototype.addClickHandler=function(a,c){null!=c&&(mxEvent.addListener(a,"click",function(d){a.enabled&&c(d);mxEvent.consume(d)}),null!=document.documentMode&&9<=document.documentMode&&mxEvent.addListener(a,"mousedown",function(a){a.preventDefault()}))};Toolbar.prototype.createButton=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.className="geButton";var d=document.createElement("div");null!=a&&(d.className="geSprite "+a);c.appendChild(d);return c}; Toolbar.prototype.createLabel=function(a,c){var d=document.createElement("a");d.setAttribute("href","javascript:void(0);");d.className="geLabel";mxUtils.write(d,a);return d}; -Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,k=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(k&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var h=mxUtils.getOffset(a);e.popup(h.x,h.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px"); -e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}k=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){k=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; +Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,h=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(h&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var k=mxUtils.getOffset(a);e.popup(k.x,k.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px"); +e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}h=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){h=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.frameBorder="0";var c=mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog= -function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var h=document.createElement("tbody");e.appendChild(h);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),q=0;q<b;q++)(function(a){var b= -document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),k.value="none"):g.fromString(a)}))})(a[n*b+q]);h.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")), -a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();e.parentNode.replaceChild(f(),e)}));l.appendChild(e);return e}this.editorUi=a;var k=document.createElement("input");k.style.marginBottom="10px"; -k.style.width="216px";mxClient.IS_IE&&(k.style.marginTop="10px",document.body.appendChild(k));this.init=function(){mxClient.IS_TOUCH||k.focus()};var g=new jscolor.color(k);g.pickerOnfocus=!1;g.showPicker();var h=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";h.appendChild(jscolor.picker.box);var l=document.createElement("center");h.appendChild(k); -mxUtils.br(h);f();var m=e(this.presetColors);m.style.marginBottom="8px";m=e(this.defaultColors);m.style.marginBottom="16px";h.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=d?d:this.createApplyFunction();d=mxUtils.button(mxResources.get("apply"),function(){var b=k.value;ColorDialog.addRecentColor(b, -12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});d.className="geBtn gePrimaryBtn";m.appendChild(d);a.editor.cancelFirst||m.appendChild(n);null!=c&&("none"==c?(g.fromString("ffffff"),k.value="none"):g.fromString(c));h.appendChild(m);this.picker=g;this.colorInput=k;mxEvent.addListener(h,"keydown",function(c){27==c.keyCode&&(a.hideDialog(),null!=b&&b(),mxEvent.consume(c))});this.container=h};ColorDialog.prototype.presetColors="E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "); +function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var k=document.createElement("tbody");e.appendChild(k);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),q=0;q<b;q++)(function(a){var b= +document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),h.value="none"):g.fromString(a)}))})(a[n*b+q]);k.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")), +a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();e.parentNode.replaceChild(f(),e)}));l.appendChild(e);return e}this.editorUi=a;var h=document.createElement("input");h.style.marginBottom="10px"; +h.style.width="216px";mxClient.IS_IE&&(h.style.marginTop="10px",document.body.appendChild(h));this.init=function(){mxClient.IS_TOUCH||h.focus()};var g=new jscolor.color(h);g.pickerOnfocus=!1;g.showPicker();var k=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";k.appendChild(jscolor.picker.box);var l=document.createElement("center");k.appendChild(h); +mxUtils.br(k);f();var m=e(this.presetColors);m.style.marginBottom="8px";m=e(this.defaultColors);m.style.marginBottom="16px";k.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=d?d:this.createApplyFunction();d=mxUtils.button(mxResources.get("apply"),function(){var b=h.value;ColorDialog.addRecentColor(b, +12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});d.className="geBtn gePrimaryBtn";m.appendChild(d);a.editor.cancelFirst||m.appendChild(n);null!=c&&("none"==c?(g.fromString("ffffff"),h.value="none"):g.fromString(c));k.appendChild(m);this.picker=g;this.colorInput=h;mxEvent.addListener(k,"keydown",function(c){27==c.keyCode&&(a.hideDialog(),null!=b&&b(),mxEvent.consume(c))});this.container=k};ColorDialog.prototype.presetColors="E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "); ColorDialog.prototype.defaultColors="none FFFFFF E6E6E6 CCCCCC B3B3B3 999999 808080 666666 4D4D4D 333333 1A1A1A 000000 FFCCCC FFE6CC FFFFCC E6FFCC CCFFCC CCFFE6 CCFFFF CCE5FF CCCCFF E5CCFF FFCCFF FFCCE6 FF9999 FFCC99 FFFF99 CCFF99 99FF99 99FFCC 99FFFF 99CCFF 9999FF CC99FF FF99FF FF99CC FF6666 FFB366 FFFF66 B3FF66 66FF66 66FFB3 66FFFF 66B2FF 6666FF B266FF FF66FF FF66B3 FF3333 FF9933 FFFF33 99FF33 33FF33 33FF99 33FFFF 3399FF 3333FF 9933FF FF33FF FF3399 FF0000 FF8000 FFFF00 80FF00 00FF00 00FF80 00FFFF 007FFF 0000FF 7F00FF FF00FF FF0080 CC0000 CC6600 CCCC00 66CC00 00CC00 00CC66 00CCCC 0066CC 0000CC 6600CC CC00CC CC0066 990000 994C00 999900 4D9900 009900 00994D 009999 004C99 000099 4C0099 990099 99004D 660000 663300 666600 336600 006600 006633 006666 003366 000066 330066 660066 660033 330000 331A00 333300 1A3300 003300 00331A 003333 001933 000033 190033 330033 33001A".split(" "); ColorDialog.prototype.createApplyFunction=function(){return mxUtils.bind(this,function(a){var c=this.editorUi.editor.graph;c.getModel().beginUpdate();try{c.setCellStyles(this.currentColorKey,a),this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[this.currentColorKey],"values",[a],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}})};ColorDialog.recentColors=[]; ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>=c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]}; var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var d=document.createElement("h3");mxUtils.write(d,mxResources.get("about")+" GraphEditor");c.appendChild(d);d=document.createElement("img");d.style.border="0px";d.setAttribute("width","176");d.setAttribute("width","151");d.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(d);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);d=document.createElement("a");d.setAttribute("href", -"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,k,g,h,l){h=null!=h?h:!0;var m,n,p=document.createElement("table"),q=document.createElement("tbody");p.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace= -"nowrap";n.style.fontSize="10pt";n.style.width="120px";mxUtils.write(n,(f||mxResources.get("filename"))+":");m.appendChild(n);var r=document.createElement("input");r.setAttribute("value",c||"");r.style.marginLeft="4px";r.style.width="180px";var t=mxUtils.button(d,function(){if(null==e||e(r.value))h&&a.hideDialog(),b(r.value)});t.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==k)if(r.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select(): -document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=p.parentNode,b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=r,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=b&&(b.style.backgroundColor= -"",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(r.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),t.click());a.stopPropagation();a.preventDefault()}))}};n=document.createElement("td");n.appendChild(r);m.appendChild(n);null==f&&null!=k||q.appendChild(m);null!=k&&(m=document.createElement("tr"),n=document.createElement("td"),n.colSpan=2,n.appendChild(k),m.appendChild(n),q.appendChild(m));m=document.createElement("tr");n=document.createElement("td");n.colSpan= -2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&n.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",n.appendChild(d));mxEvent.addListener(r,"keypress",function(a){13==a.keyCode&&t.click()});n.appendChild(t);a.editor.cancelFirst||n.appendChild(c);m.appendChild(n); -q.appendChild(m);p.appendChild(q);this.container=p},TextareaDialog=function(a,c,d,b,f,e,k,g,h,l,m,n){k=null!=k?k:300;g=null!=g?g:120;l=null!=l?l:!1;var p,q,r=document.createElement("table"),t=document.createElement("tbody");p=document.createElement("tr");q=document.createElement("td");q.style.fontSize="10pt";q.style.width="100px";mxUtils.write(q,c);p.appendChild(q);t.appendChild(p);p=document.createElement("tr");q=document.createElement("td");var w=document.createElement("textarea");m&&w.setAttribute("wrap", -"off");w.setAttribute("spellcheck","false");w.setAttribute("autocorrect","off");w.setAttribute("autocomplete","off");w.setAttribute("autocapitalize","off");mxUtils.write(w,d||"");w.style.resize="none";w.style.width=k+"px";w.style.height=g+"px";this.textarea=w;this.init=function(){w.focus();w.scrollTop=0};q.appendChild(w);p.appendChild(q);t.appendChild(p);p=document.createElement("tr");q=document.createElement("td");q.style.paddingTop="14px";q.style.whiteSpace="nowrap";q.setAttribute("align","right"); -c=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});c.className="geBtn";a.editor.cancelFirst&&q.appendChild(c);null!=h&&h(q);null!=b&&(h=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(w.value)}),h.className="geBtn gePrimaryBtn",q.appendChild(h));a.editor.cancelFirst||q.appendChild(c);p.appendChild(q);t.appendChild(p);r.appendChild(t);this.container=r},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right"; +"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,h,g,k,l){k=null!=k?k:!0;var m,n,p=document.createElement("table"),q=document.createElement("tbody");p.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace= +"nowrap";n.style.fontSize="10pt";n.style.width="120px";mxUtils.write(n,(f||mxResources.get("filename"))+":");m.appendChild(n);var t=document.createElement("input");t.setAttribute("value",c||"");t.style.marginLeft="4px";t.style.width="180px";var r=mxUtils.button(d,function(){if(null==e||e(t.value))k&&a.hideDialog(),b(t.value)});r.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==h)if(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): +document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=p.parentNode,b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=t,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=b&&(b.style.backgroundColor= +"",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(t.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),r.click());a.stopPropagation();a.preventDefault()}))}};n=document.createElement("td");n.appendChild(t);m.appendChild(n);null==f&&null!=h||q.appendChild(m);null!=h&&(m=document.createElement("tr"),n=document.createElement("td"),n.colSpan=2,n.appendChild(h),m.appendChild(n),q.appendChild(m));m=document.createElement("tr");n=document.createElement("td");n.colSpan= +2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&n.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",n.appendChild(d));mxEvent.addListener(t,"keypress",function(a){13==a.keyCode&&r.click()});n.appendChild(r);a.editor.cancelFirst||n.appendChild(c);m.appendChild(n); +q.appendChild(m);p.appendChild(q);this.container=p},TextareaDialog=function(a,c,d,b,f,e,h,g,k,l,m,n){h=null!=h?h:300;g=null!=g?g:120;l=null!=l?l:!1;var p,q,t=document.createElement("table"),r=document.createElement("tbody");p=document.createElement("tr");q=document.createElement("td");q.style.fontSize="10pt";q.style.width="100px";mxUtils.write(q,c);p.appendChild(q);r.appendChild(p);p=document.createElement("tr");q=document.createElement("td");var v=document.createElement("textarea");m&&v.setAttribute("wrap", +"off");v.setAttribute("spellcheck","false");v.setAttribute("autocorrect","off");v.setAttribute("autocomplete","off");v.setAttribute("autocapitalize","off");mxUtils.write(v,d||"");v.style.resize="none";v.style.width=h+"px";v.style.height=g+"px";this.textarea=v;this.init=function(){v.focus();v.scrollTop=0};q.appendChild(v);p.appendChild(q);r.appendChild(p);p=document.createElement("tr");q=document.createElement("td");q.style.paddingTop="14px";q.style.whiteSpace="nowrap";q.setAttribute("align","right"); +c=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});c.className="geBtn";a.editor.cancelFirst&&q.appendChild(c);null!=k&&k(q);null!=b&&(k=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(v.value)}),k.className="geBtn gePrimaryBtn",q.appendChild(k));a.editor.cancelFirst||q.appendChild(c);p.appendChild(q);r.appendChild(p);t.appendChild(r);this.container=t},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right"; var d=document.createElement("textarea");d.setAttribute("wrap","off");d.setAttribute("spellcheck","false");d.setAttribute("autocorrect","off");d.setAttribute("autocomplete","off");d.setAttribute("autocapitalize","off");d.style.overflow="auto";d.style.resize="none";d.style.width="600px";d.style.height="360px";d.style.marginBottom="16px";d.value=mxUtils.getPrettyXml(a.editor.getGraphXml());c.appendChild(d);this.init=function(){d.focus()};Graph.fileSupport&&(d.addEventListener("dragover",function(a){a.stopPropagation(); a.preventDefault()},!1),d.addEventListener("drop",function(b){b.stopPropagation();b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var c=new FileReader;c.onload=function(a){d.value=a.target.result};c.readAsText(b)}else d.value=a.extractGraphModelFromEvent(b)},!1));var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);var f=document.createElement("select");f.style.width="180px";f.className= "geBtn";if(a.editor.graph.isEnabled()){var e=document.createElement("option");e.setAttribute("value","replace");mxUtils.write(e,mxResources.get("replaceExistingDrawing"));f.appendChild(e)}e=document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,mxResources.get("openInNewWindow"));EditDiagramDialog.showNewWindowOption&&f.appendChild(e);a.editor.graph.isEnabled()&&(e=document.createElement("option"),e.setAttribute("value","import"),mxUtils.write(e,mxResources.get("addToExistingDrawing")), f.appendChild(e));c.appendChild(f);e=mxUtils.button(mxResources.get("ok"),function(){var b=a.editor.graph.zapGremlins(mxUtils.trim(d.value)),c=null;if("new"==f.value)window.openFile=new OpenFile(function(){a.hideDialog();window.openFile=null}),window.openFile.setData(b,null),a.editor.graph.openLink(a.getUrl());else if("replace"==f.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(b).documentElement),a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}else if("import"== f.value){a.editor.graph.model.beginUpdate();try{var e=mxUtils.parseXml(b),l=new mxGraphModel;(new mxCodec(e)).decode(e.documentElement,l);var m=l.getChildren(l.getChildAt(l.getRoot(),0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(m));a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}null!=c&&mxUtils.alert(c.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(b);this.container=c}; EditDiagramDialog.showNewWindowOption=!0; -var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),q.setAttribute("disabled","true"),r.setAttribute("disabled","true"),w.setAttribute("disabled","true")):(p.removeAttribute("disabled"),q.removeAttribute("disabled"),r.removeAttribute("disabled"),w.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled")} -function d(){q.style.backgroundColor=q.value*r.value>MAX_AREA||0>=q.value?"red":"";r.style.backgroundColor=q.value*r.value>MAX_AREA||0>=r.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,k=Math.ceil(f.width/e),g=Math.ceil(f.height/e),h,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";h.style.width="100px";mxUtils.write(h, -mxResources.get("filename")+":");f.appendChild(h);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";h=document.createElement("td");h.appendChild(m);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("format")+":");f.appendChild(h);var n=document.createElement("select");n.style.width="180px";h=document.createElement("option");h.setAttribute("value", -"png");mxUtils.write(h,mxResources.get("formatPng"));n.appendChild(h);h=document.createElement("option");ExportDialog.showGifOption&&(h.setAttribute("value","gif"),mxUtils.write(h,mxResources.get("formatGif")),n.appendChild(h));h=document.createElement("option");h.setAttribute("value","jpg");mxUtils.write(h,mxResources.get("formatJpg"));n.appendChild(h);h=document.createElement("option");h.setAttribute("value","pdf");mxUtils.write(h,mxResources.get("formatPdf"));n.appendChild(h);h=document.createElement("option"); -h.setAttribute("value","svg");mxUtils.write(h,mxResources.get("formatSvg"));n.appendChild(h);ExportDialog.showXmlOption&&(h=document.createElement("option"),h.setAttribute("value","xml"),mxUtils.write(h,mxResources.get("formatXml")),n.appendChild(h));h=document.createElement("td");h.appendChild(n);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("zoom")+" (%):");f.appendChild(h);var p=document.createElement("input"); -p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";h=document.createElement("td");h.appendChild(p);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("width")+":");f.appendChild(h);var q=document.createElement("input");q.setAttribute("value",k);q.style.width="180px";h=document.createElement("td");h.appendChild(q);f.appendChild(h);l.appendChild(f);f=document.createElement("tr"); -h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("height")+":");f.appendChild(h);var r=document.createElement("input");r.setAttribute("value",g);r.style.width="180px";h=document.createElement("td");h.appendChild(r);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("background")+":");f.appendChild(h);var t=document.createElement("input");t.setAttribute("type", -"checkbox");t.checked=null==b.background||b.background==mxConstants.NONE;h=document.createElement("td");h.appendChild(t);mxUtils.write(h,mxResources.get("transparent"));f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("borderWidth")+":");f.appendChild(h);var w=document.createElement("input");w.setAttribute("type","number");w.setAttribute("value",ExportDialog.lastBorderValue);w.style.width="180px"; -h=document.createElement("td");h.appendChild(w);f.appendChild(h);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<k?(q.value=Math.floor(k*a),r.value=Math.floor(g*a)):(p.value="100",q.value=k,r.value=g);d()});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value)/k;0<a?(p.value=parseFloat((100*a).toFixed(2)),r.value=Math.floor(g*a)):(p.value= -"100",q.value=k,r.value=g);d()});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),q.value=Math.floor(k*a)):(p.value="100",q.value=k,r.value=g);d()});f=document.createElement("tr");h=document.createElement("td");h.setAttribute("align","right");h.style.paddingTop="22px";h.colSpan=2;var v=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= -m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(w.value)),g=b.background;if(("svg"==d||"png"==d)&&t.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));v.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(h.appendChild(u),h.appendChild(v)):(h.appendChild(v),h.appendChild(u));f.appendChild(h); +var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),q.setAttribute("disabled","true"),t.setAttribute("disabled","true"),v.setAttribute("disabled","true")):(p.removeAttribute("disabled"),q.removeAttribute("disabled"),t.removeAttribute("disabled"),v.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?r.removeAttribute("disabled"):r.setAttribute("disabled","disabled")} +function d(){q.style.backgroundColor=q.value*t.value>MAX_AREA||0>=q.value?"red":"";t.style.backgroundColor=q.value*t.value>MAX_AREA||0>=t.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,h=Math.ceil(f.width/e),g=Math.ceil(f.height/e),k,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k, +mxResources.get("filename")+":");f.appendChild(k);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";k=document.createElement("td");k.appendChild(m);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");f.appendChild(k);var n=document.createElement("select");n.style.width="180px";k=document.createElement("option");k.setAttribute("value", +"png");mxUtils.write(k,mxResources.get("formatPng"));n.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),n.appendChild(k));k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));n.appendChild(k);k=document.createElement("option");k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));n.appendChild(k);k=document.createElement("option"); +k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));n.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),n.appendChild(k));k=document.createElement("td");k.appendChild(n);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");f.appendChild(k);var p=document.createElement("input"); +p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";k=document.createElement("td");k.appendChild(p);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");f.appendChild(k);var q=document.createElement("input");q.setAttribute("value",h);q.style.width="180px";k=document.createElement("td");k.appendChild(q);f.appendChild(k);l.appendChild(f);f=document.createElement("tr"); +k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");f.appendChild(k);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";k=document.createElement("td");k.appendChild(t);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");f.appendChild(k);var r=document.createElement("input");r.setAttribute("type", +"checkbox");r.checked=null==b.background||b.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(r);mxUtils.write(k,mxResources.get("transparent"));f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");f.appendChild(k);var v=document.createElement("input");v.setAttribute("type","number");v.setAttribute("value",ExportDialog.lastBorderValue);v.style.width="180px"; +k=document.createElement("td");k.appendChild(v);f.appendChild(k);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<h?(q.value=Math.floor(h*a),t.value=Math.floor(g*a)):(p.value="100",q.value=h,t.value=g);d()});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value)/h;0<a?(p.value=parseFloat((100*a).toFixed(2)),t.value=Math.floor(g*a)):(p.value= +"100",q.value=h,t.value=g);d()});mxEvent.addListener(t,"change",function(){var a=parseInt(t.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),q.value=Math.floor(h*a)):(p.value="100",q.value=h,t.value=g);d()});f=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var w=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= +m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(v.value)),g=b.background;if(("svg"==d||"png"==d)&&r.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));w.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(k.appendChild(u),k.appendChild(w)):(k.appendChild(w),k.appendChild(u));f.appendChild(k); l.appendChild(f);e.appendChild(l);this.container=e};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; -ExportDialog.exportFile=function(a,c,d,b,f,e){var k=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(k.getSvg(b,f,e)),c,d);else{var g=k.getGraphBounds(),h=mxUtils.createXmlDocument(),l=h.createElement("output");h.appendChild(l);h=new mxXmlCanvas2D(l);h.translate(Math.floor((e/f-g.x)/k.view.scale),Math.floor((e/f-g.y)/k.view.scale));h.scale(f/k.view.scale);(new mxImageExport).drawState(k.getView().getState(k.model.root), -h);l="xml="+encodeURIComponent(mxUtils.getXml(l));h=Math.ceil(g.width*f/k.view.scale+2*e);f=Math.ceil(g.height*f/k.view.scale+2*e);l.length<=MAX_REQUEST_SIZE&&h*f<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+d+"&filename="+encodeURIComponent(c)+"&bg="+(null!=b?b:"none")+"&w="+h+"&h="+f+"&"+l)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}}; +ExportDialog.exportFile=function(a,c,d,b,f,e){var h=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(h.getSvg(b,f,e)),c,d);else{var g=h.getGraphBounds(),k=mxUtils.createXmlDocument(),l=k.createElement("output");k.appendChild(l);k=new mxXmlCanvas2D(l);k.translate(Math.floor((e/f-g.x)/h.view.scale),Math.floor((e/f-g.y)/h.view.scale));k.scale(f/h.view.scale);(new mxImageExport).drawState(h.getView().getState(h.model.root), +k);l="xml="+encodeURIComponent(mxUtils.getXml(l));k=Math.ceil(g.width*f/h.view.scale+2*e);f=Math.ceil(g.height*f/h.view.scale+2*e);l.length<=MAX_REQUEST_SIZE&&k*f<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+d+"&filename="+encodeURIComponent(c)+"&bg="+(null!=b?b:"none")+"&w="+k+"&h="+f+"&"+l)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}}; ExportDialog.saveLocalFile=function(a,c,d,b){c.length<MAX_REQUEST_SIZE?(a.hideDialog(),(new mxXmlRequest(SAVE_URL,"xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(d)+"&format="+b)).simulate(document,"_blank")):(mxUtils.alert(mxResources.get("drawingTooLarge")),mxUtils.popup(xml))}; -var EditDataDialog=function(a,c){function d(){0<t.value.length?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}var b=document.createElement("div"),f=a.editor.graph,e=f.getModel().getValue(c);if(!mxUtils.isNode(e)){var k=mxUtils.createXmlDocument().createElement("object");k.setAttribute("label",e||"");e=k}var g=new mxForm("properties");g.table.style.width="100%";for(var h=e.attributes,l=[],m=[],n=0,p=function(a,b){var c=document.createElement("div");c.style.position="relative"; +var EditDataDialog=function(a,c){function d(){0<v.value.length?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}var b=document.createElement("div"),f=a.editor.graph,e=f.getModel().getValue(c);if(!mxUtils.isNode(e)){var h=mxUtils.createXmlDocument().createElement("object");h.setAttribute("label",e||"");e=h}var g=new mxForm("properties");g.table.style.width="100%";for(var k=e.attributes,l=[],m=[],n=0,p=function(a,b){var c=document.createElement("div");c.style.position="relative"; c.style.paddingRight="20px";c.style.boxSizing="border-box";c.style.width="100%";var d=document.createElement("a"),e=mxUtils.createImage(Dialog.prototype.closeImage);e.style.height="9px";e.style.fontSize="9px";e.style.marginBottom=mxClient.IS_IE11?"-1px":"5px";d.className="geButton";d.setAttribute("title",mxResources.get("delete"));d.style.position="absolute";d.style.top="4px";d.style.right="0px";d.style.margin="0px";d.style.width="9px";d.style.height="9px";d.style.cursor="pointer";d.appendChild(e); -e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b);break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},k=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";p(m[a],b)},q=[],r=0;r<h.length;r++)"label"!=h[r].nodeName&&"placeholders"!=h[r].nodeName&&q.push({name:h[r].nodeName,value:h[r].nodeValue});q.sort(function(a,b){return a.name<b.name?-1: -a.name>b.name?1:0});h=document.createElement("input");h.style.width="280px";h.style.textAlign="center";h.setAttribute("type","text");h.setAttribute("readOnly","true");h.setAttribute("value",c.getId());g.addField(mxResources.get("id")+":",h);for(r=0;r<q.length;r++)k(n,q[r].name,q[r].value),n++;k=document.createElement("div");k.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;";k.appendChild(g.table);q=document.createElement("div");q.style.whiteSpace="nowrap"; -q.style.marginTop="6px";var t=document.createElement("input");t.setAttribute("placeholder",mxResources.get("enterPropertyName"));t.setAttribute("type","text");t.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"18":"22");t.style.marginLeft="2px";q.appendChild(t);k.appendChild(q);b.appendChild(k);var w=mxUtils.button(mxResources.get("addProperty"),function(){var a=t.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus(); -else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);p(c,a);c.focus()}t.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0<m.length?m[0].focus():t.focus()};w.setAttribute("disabled","disabled");w.style.marginLeft="10px";w.style.width="144px";q.appendChild(w);k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)}); -k.className="geBtn";q=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);e=e.cloneNode(!0);for(var b=!1,d=0;d<l.length;d++)null==m[d]?e.removeAttribute(l[d]):(e.setAttribute(l[d],m[d].value),b=b||"placeholder"==l[d]&&"1"==e.getAttribute("placeholders"));b&&e.removeAttribute("label");f.getModel().setValue(c,e)}catch(C){mxUtils.alert(C)}});q.className="geBtn gePrimaryBtn";mxEvent.addListener(t,"keyup",d);mxEvent.addListener(t,"change",d);h=document.createElement("div"); -h.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(c)||a.editor.graph.getModel().isEdge(c)){r=document.createElement("span");r.style.marginRight="10px";var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);mxEvent.addListener(v,"click",function(){"1"==e.getAttribute("placeholders")? -e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});r.appendChild(v);mxUtils.write(r,mxResources.get("placeholders"));if(null!=EditDataDialog.placeholderHelpLink){v=document.createElement("a");v.setAttribute("href",EditDataDialog.placeholderHelpLink);v.setAttribute("title",mxResources.get("help"));v.setAttribute("target","_blank");v.style.marginLeft="10px";v.style.cursor="help";var u=document.createElement("img");u.setAttribute("border","0");u.setAttribute("valign","middle");u.style.marginTop= -mxClient.IS_IE11?"0px":"-4px";u.setAttribute("src",Editor.helpImage);v.appendChild(u);r.appendChild(v)}h.appendChild(r)}a.editor.cancelFirst?(h.appendChild(k),h.appendChild(q)):(h.appendChild(q),h.appendChild(k));b.appendChild(h);this.container=b};EditDataDialog.placeholderHelpLink=null; -var LinkDialog=function(a,c,d,b){var f=document.createElement("div");mxUtils.write(f,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var k=document.createElement("input");k.setAttribute("value",c);k.setAttribute("placeholder","http://www.example.com/");k.setAttribute("type", -"text");k.style.marginTop="6px";k.style.width="400px";k.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";k.style.backgroundRepeat="no-repeat";k.style.backgroundPosition="100% 50%";k.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML? -0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){k.value="";k.focus()});e.appendChild(k);e.appendChild(c);f.appendChild(e);this.init=function(){k.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(k,"keypress",function(c){13==c.keyCode&&(a.hideDialog(), -b(k.value))});c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&e.appendChild(c);d=mxUtils.button(d,function(){a.hideDialog();b(k.value)});d.className="geBtn gePrimaryBtn";e.appendChild(d);a.editor.cancelFirst||e.appendChild(c);f.appendChild(e);this.container=f},OutlineWindow=function(a,c,d,b,f){function e(){l.outline.pageScale=k.pageScale;l.outline.pageFormat=k.pageFormat;l.outline.pageVisible=k.pageVisible;l.outline.background=null== -k.background||k.background==mxConstants.NONE?k.defaultPageBackgroundColor:k.background;var a=mxUtils.getCurrentStyle(k.container);g.style.backgroundColor=a.backgroundColor;null!=k.view.backgroundPageShape&&null!=l.outline.view.backgroundPageShape&&(l.outline.view.backgroundPageShape.fill=k.view.backgroundPageShape.fill);l.outline.refresh()}var k=a.editor.graph,g=document.createElement("div");g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke"; +e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b);break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},h=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";p(m[a],b)},q=[],t=f.getModel().getParent(c)==f.getModel().getRoot(),r=0;r<k.length;r++)!t&&"label"==k[r].nodeName||"placeholders"==k[r].nodeName||q.push({name:k[r].nodeName,value:k[r].nodeValue}); +q.sort(function(a,b){return a.name<b.name?-1:a.name>b.name?1:0});k=EditDataDialog.getDisplayIdForCell(a,c);null!=k&&(t=document.createElement("input"),t.style.width="280px",t.style.textAlign="center",t.setAttribute("type","text"),t.setAttribute("readOnly","true"),t.setAttribute("value",k),g.addField(mxResources.get("id")+":",t));for(r=0;r<q.length;r++)h(n,q[r].name,q[r].value),n++;h=document.createElement("div");h.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;"; +h.appendChild(g.table);q=document.createElement("div");q.style.whiteSpace="nowrap";q.style.marginTop="6px";var v=document.createElement("input");v.setAttribute("placeholder",mxResources.get("enterPropertyName"));v.setAttribute("type","text");v.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"18":"22");v.style.marginLeft="2px";q.appendChild(v);h.appendChild(q);b.appendChild(h);var w=mxUtils.button(mxResources.get("addProperty"),function(){var a=v.value;if(0<a.length&&"label"!=a&&"placeholders"!= +a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);p(c,a);c.focus()}v.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0<m.length?m[0].focus():v.focus()};w.setAttribute("disabled","disabled");w.style.marginLeft="10px";w.style.width="144px";q.appendChild(w);h= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});h.className="geBtn";q=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);e=e.cloneNode(!0);for(var b=!1,d=0;d<l.length;d++)null==m[d]?e.removeAttribute(l[d]):(e.setAttribute(l[d],m[d].value),b=b||"placeholder"==l[d]&&"1"==e.getAttribute("placeholders"));b&&e.removeAttribute("label");f.getModel().setValue(c,e)}catch(D){mxUtils.alert(D)}});q.className="geBtn gePrimaryBtn";mxEvent.addListener(v, +"keyup",d);mxEvent.addListener(v,"change",d);k=document.createElement("div");k.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(c)||a.editor.graph.getModel().isEdge(c)){t=document.createElement("span");t.style.marginRight="10px";r=document.createElement("input");r.setAttribute("type","checkbox");r.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(r.setAttribute("checked","checked"),r.defaultChecked=!0); +mxEvent.addListener(r,"click",function(){"1"==e.getAttribute("placeholders")?e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});t.appendChild(r);mxUtils.write(t,mxResources.get("placeholders"));if(null!=EditDataDialog.placeholderHelpLink){r=document.createElement("a");r.setAttribute("href",EditDataDialog.placeholderHelpLink);r.setAttribute("title",mxResources.get("help"));r.setAttribute("target","_blank");r.style.marginLeft="10px";r.style.cursor="help";var u=document.createElement("img"); +u.setAttribute("border","0");u.setAttribute("valign","middle");u.style.marginTop=mxClient.IS_IE11?"0px":"-4px";u.setAttribute("src",Editor.helpImage);r.appendChild(u);t.appendChild(r)}k.appendChild(t)}a.editor.cancelFirst?(k.appendChild(h),k.appendChild(q)):(k.appendChild(q),k.appendChild(h));b.appendChild(k);this.container=b};EditDataDialog.getDisplayIdForCell=function(a,c){var d=null;null!=a.editor.graph.getModel().getParent(c)&&(d=c.getId());return d};EditDataDialog.placeholderHelpLink=null; +var LinkDialog=function(a,c,d,b){var f=document.createElement("div");mxUtils.write(f,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var h=document.createElement("input");h.setAttribute("value",c);h.setAttribute("placeholder","http://www.example.com/");h.setAttribute("type", +"text");h.style.marginTop="6px";h.style.width="400px";h.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";h.style.backgroundRepeat="no-repeat";h.style.backgroundPosition="100% 50%";h.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML? +0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){h.value="";h.focus()});e.appendChild(h);e.appendChild(c);f.appendChild(e);this.init=function(){h.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?h.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(h,"keypress",function(c){13==c.keyCode&&(a.hideDialog(), +b(h.value))});c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&e.appendChild(c);d=mxUtils.button(d,function(){a.hideDialog();b(h.value)});d.className="geBtn gePrimaryBtn";e.appendChild(d);a.editor.cancelFirst||e.appendChild(c);f.appendChild(e);this.container=f},OutlineWindow=function(a,c,d,b,f){function e(){l.outline.pageScale=h.pageScale;l.outline.pageFormat=h.pageFormat;l.outline.pageVisible=h.pageVisible;l.outline.background=null== +h.background||h.background==mxConstants.NONE?h.defaultPageBackgroundColor:h.background;var a=mxUtils.getCurrentStyle(h.container);g.style.backgroundColor=a.backgroundColor;null!=h.view.backgroundPageShape&&null!=l.outline.view.backgroundPageShape&&(l.outline.view.backgroundPageShape.fill=h.view.backgroundPageShape.fill);l.outline.refresh()}var h=a.editor.graph,g=document.createElement("div");g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke"; g.style.overflow="hidden";this.window=new mxWindow(mxResources.get("outline"),g,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,80,80);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth|| -document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var h=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",h);var l=a.createOutline(this.window);this.destroy=function(){mxEvent.removeListener(window,"resize",h);this.window.destroy();l.destroy()};this.window.addListener(mxEvent.RESIZE, +document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var k=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",k);var l=a.createOutline(this.window);this.destroy=function(){mxEvent.removeListener(window,"resize",k);this.window.destroy();l.destroy()};this.window.addListener(mxEvent.RESIZE, mxUtils.bind(this,function(){l.update(!1);l.outline.sizeDidChange()}));this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){l.suspended=!1;l.outline.refresh();l.update()}));this.window.addListener(mxEvent.HIDE,mxUtils.bind(this,function(){l.suspended=!0}));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,function(){l.suspended=!1;l.update()}));this.window.addListener(mxEvent.MINIMIZE,mxUtils.bind(this,function(){l.suspended=!0}));var m=l.createGraph;l.createGraph=function(a){var b= -m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=k.pageScale;b.pageFormat=k.pageFormat;b.background=null==k.background||k.background==mxConstants.NONE?k.defaultPageBackgroundColor:k.background;b.pageVisible=k.pageVisible;var c=mxUtils.getCurrentStyle(k.container);g.style.backgroundColor=c.backgroundColor;return b};l.init(g);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged", -function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var n=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?n.funct():p.funct(),mxEvent.consume(a))})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=new FilenameDialog(a,b.value||mxResources.get("background"),mxResources.get("rename"), -mxUtils.bind(this,function(a){null!=a&&g.getModel().setValue(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function k(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="whiteSmoke";f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor="#c3c3c3";f.style.borderStyle="solid"; -f.style.whiteSpace="nowrap";f.setAttribute("title",mxResources.get("id")+": "+c.getId());var h=document.createElement("div");h.style.display="inline-block";h.style.width="100%";h.style.textOverflow="ellipsis";h.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){n=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","<layer/>")});mxEvent.addListener(f,"dragend",function(a){null!= -n&&null!=p&&g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var t=g.view.getState(c),u=null!=t?t.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&& -(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});h.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")])); -l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";h.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(h,b);f.appendChild(h);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign= -"right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0<a&&(h=document.createElement("a"),h.setAttribute("title",mxResources.get("toBack")),h.className="geButton",h.style.cssFloat="none",h.innerHTML="▼",h.style.width="14px",h.style.height="14px",h.style.fontSize="14px",h.style.margin="0px",h.style.marginTop="-1px",b.appendChild(h),mxEvent.addListener(h,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a-1);mxEvent.consume(b)})),0<=a&& -a<q-1&&(h=document.createElement("a"),h.setAttribute("title",mxResources.get("toFront")),h.className="geButton",h.style.cssFloat="none",h.innerHTML="▲",h.style.width="14px",h.style.height="14px",h.style.fontSize="14px",h.style.margin="0px",h.style.marginTop="-1px",b.appendChild(h),mxEvent.addListener(h,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable", -"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="#e6eff8",f.style.fontWeight=g.isEnabled()?"bold":"",r=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),k())});m.appendChild(f)}q=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=q-1;0<=b;b--)mxUtils.bind(this,function(c){a(b, -c.value||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));w.setAttribute("title",mxResources.get("removeIt",[r.value||mxResources.get("background")]));v.setAttribute("title",mxResources.get("moveSelectionTo",[r.value||mxResources.get("background")]));z.setAttribute("title",mxResources.get("duplicateIt",[r.value||mxResources.get("background")]));u.setAttribute("title",mxResources.get("renameIt",[r.value||mxResources.get("background")]));g.isSelectionEmpty()&&(v.className="geButton mxDisabled")} -var g=a.editor.graph,h=document.createElement("div");h.style.userSelect="none";h.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;h.style.border="1px solid whiteSmoke";h.style.height="100%";h.style.marginBottom="10px";h.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",m=document.createElement("div");m.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":"#e5e5e5";m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right= -"0px";m.style.top="0px";m.style.bottom=parseInt(l)+7+"px";h.appendChild(m);var n=null,p=null;mxEvent.addListener(h,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(h,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,r=null,t=document.createElement("div");t.className="geToolbarContainer";t.style.position="absolute";t.style.bottom="0px";t.style.left="0px";t.style.right="0px";t.style.height=l;t.style.overflow= -"hidden";t.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;t.style.borderWidth="1px 0px 0px 0px";t.style.borderColor="#c3c3c3";t.style.borderStyle="solid";t.style.display="block";t.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(t.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var w=l.cloneNode();w.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>'; -mxEvent.addListener(w,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(r);g.removeCells([r],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(w.className="geButton mxDisabled");t.appendChild(w);var v=l.cloneNode(); -v.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>';mxEvent.addListener(v,"click",function(a){g.isEnabled()&&!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,r)});t.appendChild(v);var u=l.cloneNode();u.innerHTML='<div class="geSprite geSprite-dots" style="display:inline-block;"></div>';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(a){g.isEnabled()&&e(r);mxEvent.consume(a)});g.isEnabled()||(u.className="geButton mxDisabled"); -t.appendChild(u);var z=l.cloneNode();z.innerHTML='<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>';mxEvent.addListener(z,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCells([r])[0],a.value=mxResources.get("untitledLayer"),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(z.className="geButton mxDisabled");t.appendChild(z);l=l.cloneNode(); -l.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';l.setAttribute("title",mxResources.get("addLayer"));mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");t.appendChild(l);h.appendChild(t);k();g.model.addListener(mxEvent.CHANGE,function(){k()}); -g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?v.className="geButton mxDisabled":v.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),h,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=k;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight|| -document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",x);this.destroy=function(){mxEvent.removeListener(window, -"resize",x);this.window.destroy()}}; +m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=h.pageScale;b.pageFormat=h.pageFormat;b.background=null==h.background||h.background==mxConstants.NONE?h.defaultPageBackgroundColor:h.background;b.pageVisible=h.pageVisible;var c=mxUtils.getCurrentStyle(h.container);g.style.backgroundColor=c.backgroundColor;return b};l.init(g);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged", +function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var n=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?n.funct():p.funct(),mxEvent.consume(a))})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=g.convertValueToString(b),c=new FilenameDialog(a,c||mxResources.get("background"), +mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&g.cellLabelChanged(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function h(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="whiteSmoke";f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor="#c3c3c3";f.style.borderStyle= +"solid";f.style.whiteSpace="nowrap";f.setAttribute("title",b);var k=document.createElement("div");k.style.display="inline-block";k.style.width="100%";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){n=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","<layer/>")});mxEvent.addListener(f,"dragend",function(a){null!=n&&null!=p&& +g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var r=g.view.getState(c),u=null!=r?r.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&& +(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});k.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")])); +l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";k.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(k,b);f.appendChild(k);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign= +"right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0<a&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toBack")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="▼",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a-1);mxEvent.consume(b)})),0<=a&& +a<q-1&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toFront")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="▲",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable", +"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="#e6eff8",f.style.fontWeight=g.isEnabled()?"bold":"",t=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),h())});m.appendChild(f)}q=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=q-1;0<=b;b--)mxUtils.bind(this,function(c){a(b, +g.convertValueToString(c)||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));var c=g.convertValueToString(t)||mxResources.get("background");v.setAttribute("title",mxResources.get("removeIt",[c]));w.setAttribute("title",mxResources.get("moveSelectionTo",[c]));z.setAttribute("title",mxResources.get("duplicateIt",[c]));u.setAttribute("title",mxResources.get("editData"));g.isSelectionEmpty()&&(w.className="geButton mxDisabled")}var g=a.editor.graph,k=document.createElement("div"); +k.style.userSelect="none";k.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;k.style.border="1px solid whiteSmoke";k.style.height="100%";k.style.marginBottom="10px";k.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",m=document.createElement("div");m.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":"#e5e5e5";m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right="0px";m.style.top="0px";m.style.bottom=parseInt(l)+ +7+"px";k.appendChild(m);var n=null,p=null;mxEvent.addListener(k,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(k,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,t=null,r=document.createElement("div");r.className="geToolbarContainer";r.style.position="absolute";r.style.bottom="0px";r.style.left="0px";r.style.right="0px";r.style.height=l;r.style.overflow="hidden";r.style.padding=EditorUi.compactUi?"4px 0px 3px 0px": +"1px";r.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;r.style.borderWidth="1px 0px 0px 0px";r.style.borderColor="#c3c3c3";r.style.borderStyle="solid";r.style.display="block";r.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(r.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var v=l.cloneNode();v.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>';mxEvent.addListener(v, +"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(t);g.removeCells([t],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(v.className="geButton mxDisabled");r.appendChild(v);var w=l.cloneNode();w.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>'; +mxEvent.addListener(w,"click",function(a){g.isEnabled()&&!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,t)});r.appendChild(w);var u=l.cloneNode();u.innerHTML='<div class="geSprite geSprite-dots" style="display:inline-block;"></div>';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(b){g.isEnabled()&&a.showDataDialog(t);mxEvent.consume(b)});g.isEnabled()||(u.className="geButton mxDisabled");r.appendChild(u);var z=l.cloneNode();z.innerHTML='<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>'; +mxEvent.addListener(z,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCells([t])[0],g.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(z.className="geButton mxDisabled");r.appendChild(z);l=l.cloneNode();l.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';l.setAttribute("title", +mxResources.get("addLayer"));mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");r.appendChild(l);k.appendChild(r);h();g.model.addListener(mxEvent.CHANGE,function(){h()});g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?w.className="geButton mxDisabled": +w.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),k,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=h;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth|| +document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",x);this.destroy=function(){mxEvent.removeListener(window,"resize",x);this.window.destroy()}}; (function(){Sidebar.prototype.tagIndex="5V1dV+M6sv01rDvngax0oLvveYQEaGaAziE0PW8sxVYSDbblI9uk6V9/VVWS7ST+kB0zL3etbmIn3ltlfZRKUqkU/rpRLN6MmFJym5yM/8QL/Xnw7yLceXQ03fA3JaOTyfjCQCKZehvu66tErCMW6J9E1M4jlJcFTJWIPP1VIKK1ixj/zML4VBRiTMaf9HOKx8G7/lwy71V/ZJEv8Vv8cKea9KW646tU41nk678/4tK7SZVu5FpC9oz/TDPVnkEPJlsn4wVma1lEnVemGByy6q+M+SXkSmaQ6Vv27gJeBDzyOQDMu1ma5FVEEVBEtuokgQhdyZ62Uv/9qWWoYPRltgx4A3U970/hc6BnIuD+kdI+KbGTcelGce6ec4evOBl/k0r8llGKtWBTvulF98xVKjzEvxWXDVS/M8VHF57Hk0TDpzpxJQGScC9TIoX3euXvVV/UcWWpDFkqsCYyfaM/1ly36vGfgVhv0oiasyfh7ypgyaaBaKHl5/nThqb5VeAvZEigXx8k0AolJJUkVjo7jGBOHFOm29Se3FZin6VsyRL42V+2U90z9crTOGAeIEK8Q1UCnMlGxk4CLWb/gsflKt0y/MLnbzyQccgjaIivAjgTT/Gtr4Quf9cXXWRLjRKxyRwvkBko75hHnjisPzUkP/kyESnHtwoAtQ7kkrehL7UyzUAtLrh6E5g7Nnn9iYo2SWW8ZVr1QYsTIW8gE+ll5kHWQlXGdr/Qug1Zl/RDe2O4FL+fWPBaiJSUZGoDT6HRYT3DN9Gdgy4agY3Q59gj+iIOdAOB/MmYYlHKqYp5PMLaFHMVirSSG2XYySnnZrGHNW19JdaZoiYxGV8LbGq+9DKsT0APT3Sk1ldzXaZszQvOpfzlkndUYodytAPDOEuxuocyEqlUmM+Jbm6HevkAq0sAW8+MB9BmQJs+8HQr1Wup3G2zL6uCetJZjXKofV7J+FLnUUWtxZyLTYa20FzpV1GxEgnVdxH4JOgyS0QECr4F3z3nEUHWUQfUjUi/ZUv7tjqTGaCkl0q6Wou0Ef9tdhslUBAn9Xq4GshZkG6gTmx0m8EqvuGoYzb4iwMYdDnVMcpbS2QM3TYB3mM0Sp71/0fuSVPf7lmki1d10DN3LE6x0/CKut+GuddVgGpRyFCtc/sZYS/Cm9FySdUj3sgIPlOZeZvWNAm1o0uTXH81UO3zZEEqQDkwD5q37t+zdAOqNe/RS/aJ6Tdi5purBt73xV930PiLapT8HTTXqz2Kh7JloQ26bIlVOtAl6dIY9uBPMhbeCdgtu/ZLJeEe1XdduTSPrpc6v9+TlIf64jakMpeQ9RumQFVr3YiV3vcb+eZyy9Viw4Ogl1p+nM2xmofSyNSdYgHjnSzA6m26fu+wTKtwYM30S1LXTkxPsYp0qp+nbu8yg271r4xnWM3/hoseBI+8qttygmLlSfLhZtmsS7CZUd1Kds295iT2m4dTh7aH0qLgF2QqGo5qVVdLtHiPvIp2mdDXinvvXtBgGhLRI4/1sJs09z5TqY6sRCNVqlU+2qxPDNuRuxm20MqLmqNOO3CqHRqxEGEclC3jNtATkMOLhFZpOynrH5FAc3UlcKRsbJHvy/9wD8iylUSFJHhrrfmRYBPaZCGDZ2Mu6QXolr3prFf16OdvsxOjqyqUVPXzVEngw+g2Qrur8WehCxWnqu71sE9gv/QWnrSalK00WglxllLFX+VXVaxv1TMae7yFcRrlV2059PNiNr2+wdxh60gmKamJ7trRDvIm4xsecYXqxI7z6sQ5pICWKDHp6jFiEyjpgtLioL1lU6MmSu3VHZm0QtcI1RVNeKNzGAFJgWOKBdVznGCrFreM/HKITETdyKkM/N9DIDf2cRv0kkURtlU9wqmbZi0/PyWLbc1lyFPVML+0A1ISRx9xkOHMcnWTLiNmB8o4kjikjlm8b+zuQa+bh2qVmG/Gis+HAYE2zZHj9dAqLgPvJXahkWNuP0g0zcIlzrGtpFoK369Qp4fI78Vsse53lGDRGrMlOTTcK/GLUGcjKBk0xzyUesPi+L0VaKqwwAyJsZa1QTJg91Gn6b9BZebsYZ4EWlt2PIafME3WhvvJUC5Te5e2Njdi/n1Ck0qQDos8HmD1qimQAitlmqT6ctQuZDXuvnbYFeZDs2aGrHO/ahjiEB4oTQTESnp0FepuPqhLWeNGFz7OU3sdshlglzYxrUSzgBfmUpPpU8LfSSohuypUtyJVgTLzrapCYpy/3+DL1HLo4Th1tUbgDZjTrfLmYw6DMgpLG2I0PG/UXEiQW/NOdmUJieZWIW7X2uGxpS6pFOc56RJq59+ZiCutggPcaHoJq215aQnIhaXijIqAeoxY7hd6Pc9k/OvTeBi2SZ1U2lbpyNMkVUe2s1qpcEWpG5OW6/NQdOd1ghkTpgtRg1wd2O6nlP+f9Z8vZxfwynOo0yIS1pbu8OYu/Ocu/NVvUEv/5QzTGH+Y/OUEhn0BCXOdv2nZeStgGca+Qv6L7k7ply5yV/GeD8QLo1fUJVis52OdLdW54KDcdgnh5SdDsZ1NSMYB+OZKdzeemUTU5L0JH3kifOr+pplSdm3E9EwTKCDlNXeHjlznnbgWmcIlpZ0X/QQUdT2COw2+VZ0Kd6fBVlGvct2JMGdqdWQlzxMsG9Lo4HwchpO8t1pWzpe2cgxAAVrpeJrPA7zNF9SNx/N87cjBBXSnvLwsp4dPfK3sokXMwDiMauCrQEoVB2i9Bey9fj1h7/HRJWrVmXWaWeIi7ipTkTAdgiPDQphRZj22Bi7lq0fTbl2h0w0Tqg9OxgJ1nM/N6pIbiuZFE7liXfNo+vgERvfzSXkOrzSvVyFHBcuMJ6842apogGJHR51E2SWhBdl+REqP2OxKZIIDgS1TvqL5thqqCp6rgOvhBuYDTzwWmGsXEa71wwPk6zVcaZ47FkIjrJ6EqIZWLa7GMGIMmfmrW7EkNyArDMx8JmnhXlRB+321oo7PVnGvtapXsMwFw7kK/T2OSkWUpKp6+rYKrf/QRJeC6XD9w7ZpIF8CKtBcndvXI4uwewNXTBbHgYD5lo7YSR8sXymxhuVQrDNd4QtSB57RDp0K6Mm0O58nzb3DPoRyycB6JGn8MI7Anx2JPz8S/7kvXgpa79KqQ9HSTcBQ/4Dq0CotVVIe+nbu0/xkKWrPqZS05LyFLzx75yLJzx01EPRQJJW0vr5Ab1tYrMEaHdBdYnvoZrEA9Gg9ZohAmVtHhi359DlmAzyd92ievajkqEH/qHu+GnJYvo0JiMiv9m2vyT6h9WtStVreDrmUaYqylUmW9stWHl2ZhEr0QArLCm8gZwSuUij6ur3sc1PQFH7uT92evohejWaqqiltuElXXLmm/j+A3FjIVhsDuAQF1ydoG5BfGf87K1xIBdNpVK4S5xSjiyiSqXUn+oTtLzTmgdat7X4fNUyTY5imMgjIJXajR7XrgFU4I1Yj9z1PktyDoh1a69DRhEJPs9MSNoQvnJbIC5I5i82MfOy0OrWPXxSlbhwbwJ6vXeg7gIOHiil9HgQiTuwsYHWjr8NPeuOloiEoiV5XaDXoLAyNw1gWeda9L4NqX7NyvM/wpG3jZMXLa0aqbhGSsAFn0UuozURaL35jQQYGiTYcOKvsWCqRo2sRiYS26NxI6cPaVypx9ktnQdhXoNENLhtzM0/kZ3aeyLjHkczYqnhzu9ph/Z6liSi5G+P6TyFokoHR3FRfd9ie9YiCNrGY5SezVumCvRCoMEGUr5BFNCpS1oeBfqvWtnoQpKSAWhFK3EnQpJrNw+T0/cv401zY3LzE1TG/bT23nQQGnZGvh73YYAcmnIx/bsw2i+oq1JX6WLqFriXpUPlYSTZEfrYSf1BG9KKdg180DntLtdt48jVOf1iCvzLhveoeWqIBnV8syacIb5f7q8qNJMaS60e0sM8le6A9vkYOrShobmsmEhgugo691r1yQrtqXCtFI4+uD6aMOhRWwTjHybOe4lhwLxn0ANpM+Z2Yib+G2aAcpGvuSvAABIZafAJ2Et22IcEVW4us6wfq+C6S7kDBQsCcas+wbYINImS/0R7YcrQGi10FbJvU4Ua6m3mxj9J+pQVnCqd2rEttYr9oSL+eB7bmXeu/IU+ZTzZPf+Ir4x9kPrpAF1cLSNL6C1tPo2LHhSPNww7N3t7JPmyTMb3VZPywRzZoIt+enuYfnYbdoTEY6187mW23DfShmYyLPT4DEf5l0UfT/bwu08B8uRnq9mGCZWRP+GSoDsZpvH57U5ppvhet7F6MNzSYt1dTGkgx8LsuqYaeVNrCuL+tIwxz53URloZcHchRr/00+20P07A7cftJPgO3BzSObqMkNTPyh4nQhoxi6C+Kh7umeGXIdYrzyrTE4d5rV+7GdziaNakWdy8rutDfP+5Q6uGXHqZnFasiznRQXfSQERvNwMTfZtcLB/4N88lR1Bd6tC6Wmg837JK1nNA2OOekn+dT/fCb2WwBbrLizezlPixWZ8bSBMBkfKP5KGDE8MncwhpdhPvfPzKZR2kWM4anfp4/4AqMtort1M9HJXJkDjXvPK59fDR7j1goZ+Ci5eNlH6zuA1JT24fiScpErMTelfGWWtwxQgHFjjzCtuJuPPlabFdZTK9hI4CU1LD5pjsLmKV+V7LRWsksxg1IcNHhDR5nYFYqnRg0I1Y7DGhmMD12qaM7njEng/2Y6I//yONAG9BDsy/0hb98H4T2Hv7QJtJBMyPfgD54Nn9XzMNV9SGpaSsqKq/cRu6MBdc0PRqMupDoGiLfYQUGNXqIARPglobh11LlMYfykB2l7wahxgrlvX5sEk9cZ8huDzRQKtakbzDk+1FCsCUTpGAQ6tuLe/08bUXGeA7Ms1uV8of6M2tpff8UM/Pjklg8LY7ij2R0alrmSxLrke4KNjZKlWGvuIKL9jaT+K844epjECUbNApnkPOgUeM/X3eCrRwyjB44eY2kUW34pDKElvowWzyKrfPim8g6prYrSdGFbPU290OwgmbZRoHEXmVmBwR7emHQ9K589FG7k96B/hk0nQWuRNKy6Ee92NUl1NrCPFkWAbhqXT7dWLX8EYuTjUw/LIFnGWQh/wD6BXjF5f1UsZTtMB/UxgtxO0xUsg9OYDJGlyEbzSFpS1HaoA990z06HU8knhzZKFZAVIpoVV/L92CjS6WtHnxx8r5FZ4xmPbZPYSMdQGbmEnRmuZ+BSxs5k2zBqQJpskiklWy1PIuQ4XrcZbGXdyOzpNmGIhLrhZhgucX6peINVyxIRreX0Gvda5tspRiF2Sk8FlPjIwyemeTOGHtHJCIiCOR0sTgfj3fTib1jX+DJSDoQaa0feE+++5K/Z4mSnEGL3N11JS8SdE9HeEra2FrFD0fVEJwXKwldJ25PbrDKdG6T+y2FbhlOcDth5Q1LnHvED0S48Kx/2FCEsd33NxRhFplVkqLAB2obiywGV+ucayDaPBLSTg7QOnlfSrsfbDAhf+w3rmPInvWoA13OtB5XbLiypwg8lxB5eMgqVVuZanqbKm6MWRxY9lBCxLhk9Gl8cwW+HVN5dYJRLrKWiYZmurNPX2FH4z9mJNcfpaWJPG5yYKpu6aZ3cv+m5HAb00cnVgRBzXdi39v8OjrjroXiW7JZiggXhh5ecLu4/2OIdA7Ih+C0URSHz/MioFee56VEdMY8L6Zn4/H4j64J+jq/IUgmzp+b6y6wEYxlgxIykG1Rnohhky3pFde0sAJNcHzJEg7bJCks5iZrXimpI5rC90ezHIe2hvdxLPtLT+vGRajDkGp7CYT67+hf/B0KezcseyPicb7Q//TPKq5zGD7AVEZwdULma3qeVjJ2S57b61YwSp+Hph8BE1dXDgpQOjcGb+4p2SrbAdM3KdPcbjaf3VnymLd5WP3beUk+j7fsaqrn9TkFJPQrFsNcGBZy1fn98ihC1q+7DaDQ1oZqouwycRukFLu3dNmOgkittj46JoQQiBge6qE3zdklpmeydmfxSwdGCKWYi9Gw3aQOW5ZhVeZyJcFB35Yvc2AIX5xYT8lmDuyBqGnbgCttmK3uIAKaf9iKlahB3CBCP+hRsMARW0IkMy8dzS7A6PXFWtBxF0yb1JJOhojg6IqKWFkNZDzMIFCirvAwwaIr7K+WkNhVLLocKNmlbjNx2x6lKob77NeplWVXkmbJ2kgP6LoxmMDQJnrgRQixmXBHdhgHEO11GMbJcYxPF0YqWeLWYzXYy6PrBOx6MQuYNYk40E8+lv7so+hhS5RdIZybEIxJ7RrQAY/HYuYJYxPmN93Ro2mOpaLKnJtIDclkCBLIdnpKBu809V/B2YEQ9rFnzXF120k+DyHVvWn16MhY4oLxfZEUdGfgX8JJf4YhBSXl2riksJ0fl+Yc48rnacYyEc5p+kJbKDRMIc8YJ5TJ09OQexsW4VeTUzoFaZFHC9vWOfu40N3JzE/yubPiqi/fPEs25XHeA/R8EazqB3igGIZaadjY2JH9+y67VkgNe3SbuSkWPY1MtR4aXPYK/r7SC+6df/o6upieXkyJMbcictOiI9GslqgwW9z5ZkOSYUybzp1tCT0ZXwoa49uuqi/bZWEsrawB1RVvovH2ws8u9jK2wqZ0J6uoPkfyHdSigq/G1G2hFKsVV/nu8OOqwlXkqfcYV+Ujr4MSNvBv4piSv5N90S+6GISHsyroG8kqHFXr0GiLkSlkrztjR7cWaQxpYQKduHV8lTxnA/F8PoaHds5r9cvtqwllZuaP5Jr04rKxrai0aiNdteNB6XEtitG9YVy6dGx/u3UO7+rqXgt8BIeZbHRmSDrxBfxX7ozPnDnQxIkSZtd4ALvjNdHoOktsECndRI7iwMLi3LlRVZLgaGiZyIC7t85KovOjpLkNggwW7MwhRJdZAPMhwn4LrDY4HH4u6YFOaWCQOcp6yyXKyXaX2jBOBmREmsMMILbD/OiTDw8ch6gm5l5rEsfQm0o6QBIyWfE0gbKjyxM4p6UhNEcFdjSjpRyY14cFqO+L6ytY9Xg42RmGgd0b7Qfb70kNm9lKo61e1DnZ7XQgYXcZB5UR1hDw/AxdgV+HFHW+R3ysxA+nFlYqrk8nDQPyXoyTwRnPBmc8H5zx8+CMX45hnNeVde1ESC/GyeCMZ4Mzng/O+Hlwxi/9GaEI+vYPk8F1Qg3jETqhhvEInVDDeIROqGE8QifUMB6hEyaD64QaxiN0Qg3jETqhhvEInVDDeIROqGHsoxNknMoXM58ZCS8ZfcX127U5iH2Wh61O+Fvt8V59WXNf/tm8lILPPRGSP8XhGV1Oqf1Z8w6RqHUU6Eu6+womgePf4O5qtjcK46FI7Xmfh4sMHUgnA5MC1SnzUnR9wVj7UwjOkHgUfiQwR7Tlnl8wxY6ztXuTfE6pfddfnHoyi8mDDH4v7vqVK1Li6qZIaAYNHtn5oh/xfCNTabM1hpvqbK7le9GjQwwIhWPQ3eXYDmuvceC9BMz3uYIjmnUBfc/SOLNRNdvOdnYimvQmGkCW3lLAHouXRLcBs6wtjQtO6YtjuEY3T9+L5tDeEMz8W5rhMRpytYKbzbsytdA52dubqe2n7RkdmJbhR7+g1HxX4u/+fiahyYcn9IBud7c3l8V7JVmwm9pSxJIO16tsuv3SmvwX0zr7L6Z1/rFpzR/m/7Xy2knrg8trJ60PLq+dtD64vEBF2cjozv119wQmH5jArfXCwy1oVdqmnlFxyjr09OTdev1ErHWH/JLkcYfpqh98hCu2C8vAYC3RTAF75tSxHqSzEqk5mQOXy4dknXwI69lArM8YbPtNBmlb7O4GDlzfPZpj0p0k3cA+LbApXyhkLjoaNZ1d40BB1qnx4LbGaaVDdyVfrm6SOuXjit+Ztvhn5XTSf1wnqVpoJwPQzqul7TrsbqHsMyOyZW8c1qjRj9lcN2KFTL6OQInikrRX6yS+//ToApuTp3ibs0IZg4FVMCYjRjJIRUgRfEIR+U3L1iWOS4pZo3iMDlXOmK3ZLat01ZcZaXk4OMWRAEbHyQbdepby8BD7ShA1JGaiyXR7SylfMSnZdCJ3BQxEKyITQKzeRvfFMlYJvjKn3KVSBlWvWQOdsoBHvomT7l4dphsME+CLxMuSuvNoKoG79cfmsANQhrpFYVgNXzSPEXdQaKTQuBCnSsyR43ownoqKMwoqSTDc2X/YG3NN1pw20RyYrxLIjY+CrnKyRXeUYcWhIJ6MnRuXhWGHVFDELGnyJNkh2OKMnw11g4Ygd622V/bY+cn4H1dhnL7j7ss8brDizK2Jl3lM2GFgyqJKhjqSd7TIMX64iWZRLOk3nS1T4rgOWLLZceFwTf1aBqRfpFqzSPx2LnkCGte1ljM3dmDKaNXIxFtn+wc41SBvWIalAw242V4ogwI6tnGtP2t3cB6gvnE6eWjDtSVdtxPoECVRszSFIjnA3JXcTA6dXOigrHLNaKWLMDhbOXaomxw2eFN+ylHr5p9d9CuOxmLmGzVbeTBsNVa+klvSjTkTqSZcfA3+3kSKz1svt42yCP7eRpFjPepdikOenMHJjgyGxwFdjlPyJskyh+TpZEut1OQ6EnkQdyXa+IozQvPFCzdBJG2YyE/Ii/6HPnXBRNJ0uWmmlq08CcyoPgu+5XRoBzo61vWBMqbth22kb6Bj8RyhXGExPDHH+QUfJHYtekSFORtmCfouAkUgKs6QOyD4rm2dKD8L7M7E1dLGLK49KZlHcKjM+SpG3MZEGyx4hVFZh1IcnZ+9vQx0MDOq6cQb80Ba44HuJMQjz7vdleIJncQXc6z1iqfK4e0fi+cLipzVkYIe6y/Eopxp1fm6n58eur+vuTmvpZJ1Q2EGs9i8j1OeLvRQISZVOKX+Z5k5V++F7oTNWW0p6RITC84nS6kNrkcM+b7oxu3jh9AUc0JVO2XWgmS8LaJxtljmNQwHAxZfsZqzfA/hGTZVbKaOtlcVjTndDjV3w2Elhzh5MDZwwylt6Hm4CV33De8U3XYpnPv5H3HnavmDgt3AYbLMhv5gnlv3lkckbNf/u83PgdQsSMuMuoOKyNBV4J8soGhI1LbM8NwBJ66h7y1t+W6BYdiHqT0vsDhC0AlmZix3gmrStI6LSYccnQd0hCJtYU/oc4Fc/YrJWLGg1pJAmDnLt0tKd7rWGv1o8zUxh0e5ETzarPB5q0d+CWVsoi6iLuyZYf/4JpX4DU0mgKFhzXlhDjzP0Ga8niw42wdtd8MrzPIaUDe9jhhUL035tEYAnVM4Yj5s/RIJ8dccDVqB88zUEW3lzqeRHHAKxmbB6EEPPU+1HfV2sjO5507QBwvHclIoEjydTFtegtsjbu1nO0sxrWQuXVAwowseJnbKxVy6QPVzGUm9zNIUp160/j6hKMPgQ6Z/hwalvzSWRkjftNAaNZfgfq0LU2Pi3CDuSPCNNFBX/A03PRrO1PIUNZfpqk5aOqdKQjMYtaZAMSBsFkZXCFwOYUtYqG2JVRXjYYixMOe0Fhu88o5CSRNpm0drEXGudhtwmWkyHNWIwZ5Os7JjryE/U6F7s0qrrAI7urBIrfOmSibJ6SVnIYYAgztQFFXn0TqwXcMi+OllwPDA1znz/QCn6xri2N4UlHHMtCrUbcG5HRVgDPokVhlNExR37UAZxnAooglbkd91AdLa8IUwEQsKhk6rxPukU/sSuDOnxDsZn+r/T5laCjzNdqbHl+SdqdrWpPbSeDl9EYns+N4qSzYQZ26ta6qJU4zfnZTPBcMf7SfFPCKcG+doCt+gJQJZe2OTgvDBNok9wlqBda7QLCpe4Od70xAGMNQWi1YJ7yYbfRZKqNGVWfkDcaVpGhfTP/pUiCbKGVK6L8KX+TDcNBtGth2uPkKtOLcT3XjVWqS0ldtxU3cJMLoTf2cCD2MlnBb4UkjcNEt231I0x/Qgsnyktcp9dFsggdy+JDxKrB9j5NLUNpylL/wXLEGv6XXzmxOcOk/zC3eW0bX4Rb7AqWJmt+ZTtuSwR/gbME3GV6VU0mzZrlL2kzjggZ5G4smcmNQfQxJfw/jEL94CFMY1iwZNYz+vepP/gIzfsLgscO9s77VzHYChrgJYn/DC8fHRbXR6Rz3Oo9QjF3Cwvzd4EQVt/vuVRAuwg7zuRGRQlYiOxePknteJIiMPcPh0e1j3tj7OIxmIXzGptINKOFpEVmeYm9bEEl2/9Nu9mN6YDoSxvWYz9A2Oh8axD125AkYzmS1xpgwCcCqOu4ifmF0qS5mggacnILxwy2tbTsRjc362whzHdbQsureQMv1jCKJSPkH02qE4oR8DSqlHkuHApI9Srj6AUn/A2HJgod/0YNIfkotq4mDlPxPaePWHzNUdRpL2QyrENQswYMaQlIG0kTMGy449ziOKTzHv1cQjtSGipyxlwTuuw9rRbh4a7Ww8GeuPFU2bwNazDd8GPCX3G++VfDMGSuvTsWl1BYHbLB24s8bTzSIaNOQn/b2HS5wxM79X40csgk14OI0Rme14qcwUrRLTVVj+sZlmhIEVZnJtzi1bCt9v2RBJ+JWUfk3SrbjRlGFQ30J3kY8OLR0t8d6J55ph2V6TLCFvcaIpIR95krJMschu0lo1cLQSTLoRkOeOR8uwuRtPyH3hkaWxkUl8GHKulkXnJ27WvMNjMzx9A7GTxO+mGMk1TLcYXfk3s3OLonTfjWkhPQqA5hyXvIboaTaD6gWrBHuxn3NvcZ+zlXlmP2z2Hq9ub5nmvGIK8zyGyDUYrFW33tY6Z8D/zHTh0BkbFr7Gste1UcGI+L2CsJrqnlEczzt6Ad0AmN/sTrkHR/v2eDG48jL1PggVueokeoAdBKJlGWsH+cDjNKPQ58cKMQ8y9Pw/mmjBzL7F45kiuV0F7BWe3DYtBFRh8Vgf3MiUtiyrVeAmPXFnPXHnnXE/tBrNBqnIz/xYIqdw+oeA0TXX3SkWruyEuydUR4ytDybNTrhJZ9xPfCXTT/J+2EkXbMJWHI8Y2LDfVSZVHQKsmW5mTIHTHVVIzp5g165p7Q0+tXXX2jMknoA5kJHugSXONIDwQcUpVhXQWCo6hxEuSp8OKAgrKdGA1WZtGJLwsaxdd61g+Bd7Z7j9RG7NSrckL1MWybrACTsEj3juzTJgZkEjPwdH5T+0Z5+l2prU96VxQj+foN8RbOAh++CNb4TXbkoa/IIJGu5hiom+a5ue3oNHwkztQRQNmZDxk69WFodopeAmBZricENBDbXHI5zqA8dVG3vjTZvdLqaC5XjVPbLOTWWKKcnvO3BEWECK1hkSe1e+bgx9uEtma6zdatal1pbAE3dwyr1N7Wk0VcZjA8veYXB0RmRYOkBy99jFtDiUrpbTfX3+APq4gMOCYAkI2oCgQKVkfSVwNAHqoyaCp/ztTXE0nD7TCJ4cAz47Bnx+DPhzFzDscoR6WGrQb9ycJgGn2HYjGF2gr3iR9XjdVYwyy2QQlrNBWM4HYfk8CMuXQVi+9me5xHDCWMjZMsCKkj/Ri2oyHNXZcFTnQ1BNWR68Ww/mHLy+G1gmg7CcDcJyfiQLHNeYqgw9JVcCp5DsbReaG4V7TSbjpwptVlNgraQLWo295AGaUPpuSZcdecySE1Mh+QLBJ87PO1p0+3SKiWiohmfJBml6lmyQxqfJwgHfMhzuJaF6kmBHVC5LMxmG5mwYmvNhaD4PQ/NlGJqv3WmMAVSzCFAHGZFz7WT8cHWCx8qkm1NOe27xhjfuv61m+pkzbXnBZK67MC1ApkRmhUx400Omxc+cyciBNx1kumTrNQ0GgsxeOUPVEl1xFrSdZMOE8lriye0SQOiGyfgCu4uFzN70aLTEByEdktJl2nh6xA4zbSXx3ksePCcYI85tkcCwXAX8zXh3BGLV4cVwZzB5AdvtWo5InC+aM2Xmi7rMOBmGudnq6dksqDzRrBoLGY8zRpTrXXL8R6zHpIK8YuzF3r//Aw=="; Sidebar.prototype.searchFileData="7Z1rU+O4s/A/zVbNeQGVe8LLXLjtEiZ/HGDqeaNSHJHo4Fg+sj3Afvoj+RJiBWbOY3VIO5mtLSCB3fjXklrdrVb3X83hX82L15X3V6P2k8mQC/+v5uivRqN+WlNf1bvMd8Wc+4v07fvpxUlP/6J58Vfz/K9a/6/mMFzSgIXFl+o/DKM3j6X/VfpWc7R6XUgaLE+plOIlPO3rb2QkXtRnDpaReojmqK5+VA8ScZd6N3TGvIkIeZQ+1kxEkVht/EHf4wv9i0gE6t0wkuKZPfJ5tFTvNdbvDIUnZPIgzVryj/pNyvaSPl43Q12mL8+6ycuL0kQ37CnaL1GGkBNlgOWJ7vhieWBI98GhTLoB86NkzpGEDNUw2WIlE+8Aue4DhFC9ZmmoIfU8EUdKmcczj2Fga4Otr5ztPzGdYyCDm4o5GY7Z2DFGrFeea8l+SuFjgDrrFKA65betIZdu7FGJgqo4BTtnpan+jlfBCc+GitRRDdYZFFbjULASK4P6cyQawwTr2IE5SyoDcj5fsDm5YiiVvYX+uBWRu1Rkjnou6q0nJ6oRbJbHO7zdObV982HDgFYcLAsXbHOlYQADW2S4FlcXanE5HvPnTGL1Mm0GLCObvgjySN8OE049BCNTyj0kyw3MJnYiyQMkUGDxKUf9BQ8VFV7VbzFkU8lRbtSd8u5mQXeQKyH5v8KPqHcwQ1bge8geE1ewoLzpf0+mscS4X1sEQDImfbSCEKzTsAXDYodkJADGfgaGJt4NToYkYmA/E0P1IOEp9fmKejqaT6UZtnrinvfRkxSf0Rc+Ky8Bmr1ymR8xuYXZ2wVmAxtmvVYvcpbYBYqcI8YQDmfPWIwlNoYPMNENJ0DoxMAUC/Jd7xY0XGKHrVvDxu4zNsh6rV30ikqcMBYpL3i4JFdUO0byDRuueZ7atqX9h/k+85BjnrVsMcdChAwdpbGHWg/mrVAG+SJEzmm/uTjMdA73D1mvGf6itUXkeCLCt6mcFRWQ9abi+PQZ+8oEmLERnXmHjzll8/kb0aY8NtROcd6WOaFOUZ+EmJ8O8AGCjWUCOKR+mBzDD9QzeQzdltJtgdKKpyeGfXV2SqvahHEkuf/M/QV5pBFKDxR0RA1adI5otwNJe0HDiFyon7BhGlO4V9rfTjHVFzKVCL1Qg7Nd4iRkg/Mfnz/h00ZFl6xup43uWBjRWFI/wqeJmm3ItblBik4LtYtRv3qttJ+9VB5ZtHSpZKd9T32STyP+k5Exm3OX+/gms2ENlva8N7l9NdJLFnKKjtbQwiC0YcjDZIxv1Hfm673WeVM/rbDR96C22g36gaTcxwa6i2EeUjnn6tkX+CKhhr9T2rQo0jKiXPWnJ9KXDN86tj+9/wA5WhL1lOhYi8ObR9csYfUfoIscdqHO3jZIR4w+oeM82wWnXNEIp4IycEufHG/icvWEEb5wjOn/QGw952/YzUYoTPKI8fS4WZy+pQOmG6wXdMW9NzKR1FXPg294oUKom8hchhHpc+yhGRDYS+Yz9SDY1RPIXL5KfiTn89il6TPiZoYYX8UsEQZs6jVDV0GEMVJWdCEbc1hLp7tsooow4BH18I3sTiZxTotubHtQgccN2uvVKvb5v4mKwqeXd+ARXPtPTFkXIg7JiIeMok/7AaIO1BCrj0MHu4Po27X6ID/UsUcdsEFHvJPhTWLqHtqAercOD/0Pn/sMnVu/C9Kb2EeYtWeAQhjNY7paCfU7dIcEu1i0yVpVazZZvIFk6cfiwjay+SACGjn2DZ9JijCDeocjfcdcIef4VvJOkPX9U5J6wdiAwXKJNoHvrrFh7sIXvGWxRBlO38WY3saR5CiDN1DZqhuw330X5cDuQjt9jyMywekQte1LZW3hTpZUrqiLbmjbTfihnSzfwmSznS6Z+gt0zKZJBTG+d2zBFQHOOPMOHHxd44jcUH8R0wU6V9e8EtyDiDY7wuVqTjtM/uQuwvPdHQTqnFguEN6w3LrHBcE6HY2wce7CnpoKhDfWesXxzJevHem9p9RxKGIf37muMX0h9p/HJWOeu6Rckr6r1FPIdQlmdKdFve5XoeM7OtpBauDH6E1s6OZVmtKj7tMo1gk5VOJTYmBOUgb5dxxwhPHIHlTSUYY5poGasjcIkyF7wAM6phKf1QjNyKQb47MYzUJW1pNW4PPyoJXsLQuiGN8xJtg2mmFOvDgS2CA7UFGZDNLR39DNWLN8o+2MdXzx8uQhrFUBPWed2Mdn2oMFxDcg0Rnxu4BEZ65DGwUasnXokNMw9umKo8M0Yt22mPeS+jE6M7bTgl2WDwwjJFTuacCE8rlOB3T2hm8bMczYeq0BgYluI+lCBcIyyuGS+ovkhneE8wwKKpad8wpfPXzsYmQ1Awe2Y3vBVhRfZTKw+jgZ5Rgho3ltJX9tQ4nQdG9C+ScbkOg0bhMqPpJDxqsVukCXWRjHFnLC5kw9Paf4lCxU8CAjdZbiBWPRNTOXwXpxZqDo1qfpkNnafY56cs/Dd4BiZi+Uz+jOQO99HrJXbJhmpMR243yk6rGUfXsnxArfKjXMeYtaKB/holurPahkozWtp0tBYsNsA++mj2KF0fxrgRXyKXCim7UtqOEM6ROL3k4HXCzpv1SiSzCq1wxbt3TlrYx0SGOMjjZYND7HXLJVkrj8yGiAH7e01s1wL6jnpXuM+4wu2glWEGQDVre5d5bMQ5hWAz2VLyRdcHwBlS5U9lCGeUX9ucfII4+WOG+aQ93QzXn5YkkehBfRBcLszhawgirQ4jMnoCIQH9HiOxSGOkjMaP9hLCAjfKliYPmNGectuuQi6K3mVvgn18Ln/ya2BJ1znAdQRund0vGINTU59yN88xd+dImzEhi9c2hz+D3WTYZShCFGZKiklQwZ7WrNj/3t68VlpI7HA3KF0lvvgoVfctZISJZ1Eb4P8JmJXWDDyeBFZyjCrVqXM99lp+rphKSKGt/uA406pgufoasQYPa2Kj+Dc0zuqi3HFQE6DxYstS5HvY1dD2e/bDAPxyBFr5Csx/SR+/OVwsIGatbtLw8aCBmFp/1VsOQRoxgDiGCHGxmqRNldGawTQ4Y5oCGbUXwztw22RDNO7gs39g75CmJOKpSN/0I9fB3ooBIm30EjckNj38V+F7pdOpcnQx3SVYAxOcswGbq2qzTjxG4wtCE4nzjC4xrg3UVzLiTKGiSGsVs+vpKT+gLhiRRYd9MCJrr1aeapt6wXaFJT5IY/oXO9wYoi5aQeX80whnrB4vgZpw5pk6HSRZF8I84z16c12NerRdj3F9Tolq851tbm0pvrYZzShjK2HdwRlxEZcHz3/c3xtAf9iXE4wSKDGaV48ZeKCq9yMobV1pgwgbHrJesFe/7KpMsRtnsBXq8XyrV5EQKd0b91l6j8SWMOGi5RLtWtEqHl0z2KpPjWqHF6XLfVSjnphCMMcgMb/5qVDD1GfYz7a3FkO7ZT+FJ46GrsmYWubG0IzYhwKMEuEq0x/bnwKDZMsMLqGeYVVXro0uNzhENqsHZK947OWZUfg07fgtWhe4fEOJRQTVpySiH1oaL7TKaScnRHi9CRpWuXkcxoOAZU55lGGFGLW4xNFmHGqrYYIYnzwlcrjLzAe83fLNJ+OHZM223mH/pG8Z2MAy/TG/7EyN9KAePLHNxyTG1ZxyIScqZTAdA54cawWh9KvaPi88KLqE3bZTrhrs9dtJdVgU9pMtopRdmzwrT0bY3gAi32mWx9Yn6nfDgm87KECEcXOOXD4MU3vlBVRHNeofwcrIfoYDUKC7C6rBTKwpPgczkpoDXzKMoADPDx45140bYFOkxDH5dujZVjxj7GYLd5J8x66j5gIzTNCNskD4dyjwwwztgG7MJ0qM8jKt/IiKt3Qt2DEWmNY2DTyVEfowzFB85eAsHx9ckFK8G55o1nlCBNdjHG1jZG7DAW0hfklG1bx85h3hO5jJMDnOMIhlfEY7cNDusgOJvpmzYI12oH2Op3njn5O14F2DjPgE/nHI/NMY6nmTdqG1xTnCxIeiUgXaxnwIt1Rb3UVER6XQw8W0t3Aku0E/7Btd5wFOpKzBDW+jNNJutprEjVkhUMoYoyb6VYj2osMeYxmVdYrTGzw2WEYeHintO19tZzUnwBYeOUrnQ5+ndShBMXrsZSSjllvs/x3aUH3lyOwmXT8RVsjGAdQzPGR5whfLAKfjml+pAwuUxz8KhL6rEkNIgRFrh4iS4vFCK1iKDHVYg5uaTRkkmMtFAHjBFzl6d9jDlLUFM3J8Ru752VtvcSwiFdMUnRj2P5q4ublNjHsryXklIyzyOTZfq8qDhbUOZQyilWK4q+JIul6lGQQYwxuAlV7iullAJfWB50HM//m7noTn7N6Ejpk+4UUVs7CKu8mpERu6maXArHWPMK6gpmQjnGHzDo2lk8E90+Ex0iVJPQBFGXhcfetqJd+hQwRXQcdICgrseUeSzQthw+27xV9CItgrEGKTr73Ow5bbcs30HRdQcyCqLnhUbsSVvoSKE6ehmgbWygsHP33hlgA2xBpc8kgA98zgRJAwXYSI2dpWWnbx9pWiBmTF31HZ0924W64BJJ6idR2STZ+LRFHpeMIWwobjpj5VVvEbjP5YyiC0GbpU7PytuBW7iBRzHaS+bl0vL+yyfE6Owms/1Tu3yA4RNkdBbUGViI8xNidJYUnM/6CTE6kwrs7uVnxB10xMVZbeMXfILcxYZsJrO2yh89GcirWayQXXQWF9gFeRPYd5cCY9cHsFPwD3nR7cZgVRc/5sW3FUPldHzMi28jBjuSK/IOuPvmYnSYdrQNZ7wIFRbU1eNPgPFpLLCzgo+Bsaus8g16PgHGp7MMYOg1jM93MFowQVmVgzhEr7DgNLSCxa6sGmDKSsFiV1TN0jf9PoBFp6R6xQiHzUFnkXZ40P1zP4BFt2hNLx9sImta9KsWcmjRrVqw6+YfwN4IF1/1VeP8COp4QRdymbM5ueKL5QtF10kYrJGcgX3BJL62yWYvCSj/QCc1RjJGOKkNjQUVd74Q8tlD2BYRrNGlwXtJEboHYG0JPoBFZ2nsKp9Bw+IzNHZ0Cqph0RkaOxvZpOOwrre18S42eHNHgopJXlE5E/hCzlD1t0xa5nFXBAjv+ZgOUvn2VSYyTnOys6NDlL8ZC/DtwGY0EmpwE1p0WzDcRaAi7Y2aytFSxCHGM6MdzecNZnTjbLZpg2Iei0D5wdiHGCzJLsVFN7q7OkFJ2pIkp0bIicv3qDOIJ1Q9C/W8N+LEsxWTCzXcj5IhjAIYoS0oAegLclSNOkkqziCnLt+exaB2XCEw4hrZDWC4jEZkwDx0sZ7ejhJnFTCZ6KRKbMC7SjB0lrwCtjWUZ5zQ4tuVd3TUP6U+uu3I9InbUGGAKX3F17lwR7vQVLyQPsIAgMELduIwldSNUKZBG2UVoIyrHBi7qgI7KNVVNhF2RmvvyMxIcdGNrtk1AOqINMXFd9Kyo5zgFBdrhx6wEhtb0Ct8C9g0JAF3pBW+9WtmBMNN6Nh9Rji4Z7saXI2LfXTL9xL+EBefdjYqNoAZzwkuupPwXWUFp7j4cvmNjG+owHuKi+4ScHdXLn6Ci+4CsKmqoDTzvc9+Mp/cCYq9dClYgO6BLbm+jYMzp9KAtvF/fzLvtC9l0vqQXHj6jBRdc4mtGl82FlYGLF7IOQ3RRdjNbEqb/eid9PYcHSegZt7gVOsXXY+xHmDO6AbqIzZOyLyNd04H39TdDaeIj2XqOkcydR8Zwv0FqptwRjqgiwVd4Du3NbZRW4NhgPBMzxxKWytwQOWMSd3nMECHWtRDdtdZE1ZG4+iNONRDGCruQMMK8Uz6/lzvMcqP40jH2NDBtktWX3q8U59E0VWFN25f2JUmS1HDJUefHmV15pFg6j7CwyXCbD8zvcKqEmqCGkvJfPeNnL+6S+oj3GCNsbW1I4ZxqB4GXeTB3GNtouEacyRe/DCiXKIntR3QkeT+cxJTErFSwhzdNpvZhHBaeJQF0aYixqeKi7DWqvjcYz91GjI2zo65tdraTuehegKMpHCNkAxQonUUOlpDO1nP3zXtPT5D2NharadwLNG11OmBtXjIGF85vlCL4dDY7qhXymxwY3SYbbAG5zmniBg6n808cgOBJNf+k5ArnAlrRpEaW417vVpx9fZRoL6PKsLsLeBQ9yYsutytNvApoy6ihS/O0gXMLU0pwyiJF2rXDXvGh0UX6ZR2HIcsXqGjBLzDoilvBZlQ+YyxsztwlDDDxKd5u4Bl3zZB0Wld6C1mIrgfke9PylxSn4b/UNV+CmPUu5BlZhJINZLqg7BhdoE9U33Uhi/Ya4yl7R7q4AxpA+fSTbmy/iKs3Qd70H54hjuJpbukITpe6Dk8jX0fX9wBOlB2HyA9fjLWaonRXLjB6YwvyJxG9HTAF/+J2W9St1vNXvdipN5X/4M5V8+1+btOr3ne/1IZ1BtFO6JeL6GxClIYeiKek5H68ckTL39kkcrCo7M/okhFEUj26/OPo5KFcP/IYq42/JkTH/kK0fOBOFE8578+Ojt4QVwyX6y4+2t74VCl4IpVEEfstB8E5Nxf/M7oP3QxpOrhIvZd/XjHPSWG6fc/00KLIsnvYvKPMDaF8T2I+Ir/y+bku/NHJIlI7tiCK5DjdMpycVxO7o+Sf85+Mk8EahpEQnhhtptM9c/kSUgyES9MOkvm/ToGc6zieeBhTL1jtklNCY1Y4Im3lfpQMqY+XfzmYP5QxcJeI0nD04EXM3LFXuniNwk2By4H5bAwyV1yOZxUWwwlTvw3xSDEwmMk8+g9GuksnUoJpG6eZ+xAIMQT7nNcqQhYo1m8atQoGSnPxDKRbM4Tf470J9dVEgSY4uBz9f/n0Ruh/pyEzI2lenE6YG/Cnw+FrNTsqDd6uxTKe7CU3IgwJGr2/NR/92f2fCio6/642jIpqXJ/KZP8d/0XKpmaQeL1OP3BXwlpvT852ft/JLSWUC4S8g97I+c6+9hlq98lEh2qiFZpLgrxGJU+9xfZ/MlSVMhN9vYf2bzL5kFNK5GkEnrqOZjvsqPdu7Yk9LeYhX+kkUvjlkaxpB65of4iposDmCcl9/MtyTgBY+6y+vKAmilJw1OPHrUhvCWUBx4etzx0TDIJT25GdJU4jvPk9BN5nPvzQOf3/xFKFtSexYvKh7JL7zNb0vgT4v9ILudSCn2cqusVV968h5osN2KxqLwwoGbIWPg8EvKPPDJ5OBF1n+eS//yjQlKB6F5Xx5mq47PoRSRXJzMTZDi6/SOIJLB/e5yZSluCOH9VH+cr1/96QvrzuWRhyCpuoJbcZbdEc8Ele6GeR+5i749MsjMN/XGu8H3mHmcYeksiN4LOifp06rvHaoJsyeQ2feOPMJITLiojnRL6Z+mYkrkTcVR1IxVKsSay+LPJZOdWMtIZoH/UyKZQJhU33UvOjlD59vpESt/RmlFlnGbyGPCFesM7TsfuM6HofCX9uz9S2ZSKE1C161Z8o4GWyX9u/shjUx7p+39kkshkwmTIw0jH0EY8PL4dWFL3+ZQG7ml/MiTOSlnw5H7ikHqtVjvRNUPIQ580jMtNnkEhdYPBjcf12JN+GQZUO4o3yatRXfdNndNwyebqVVKIZEnnuoBF8sIQ9VPyzxZxx8iTLlGU6xPgdsbaxsrahRvcbjtBrWNFLWNAJaguD11xOtRfSf2s1iYOk1xH/NTyUX8Wsbl+5yd3WfihS3ZoEmjUq4deek0X0Vv1ZPAV7XFKoHFWq+Dgg8z7xlm9guhlmrJ/gF7FJQ+E3j5W9OZZo3206K1t9KMg73ZqTdyYbYh9TGG2cGN2gUazgxuzXivrgBicZ7g5m/USNVY/4KwjX52NToneslucvWarRvpB4HE3yZQ/+S51YIStT0Z1MfPk99Q3U5PQiAJEH/edPmm3e+2TH6Q/p0HEf7L1TT/0EgBxOfrOnY4b1XHPexAXI0Nt4EaFHNWGmtdHA4vc4gAxrDJU5FZHr0Rt7E9QsW/I9TLdsT9kPVNKGCkk2CpVjB2kjPUW1KQ9q9VrSCEbTbCRPFP/H5yQnXaJ/sFbkIpnrmzBFx65S9KsNdEMqdFtFoJ1SKVyACSZ0KTPRHKHVl9oIo0aGuxdqKRPudtYsUHs4E+xO2iHG8SiGOqOA29hRFpqHxpnaxspMND8XgM3esqYIpd8QWc8IufRkklfjT1qGQBN9rUMWn9koGVwRLyddq15co6MuNWF9ws3iVvYiUFi75vEHezE9W4XGPkMN3CjAeEWbwDX1TrGynoGEZNfsxqOR6OWFJ2+mmChN8paNiAOXj6DbzYS+NFWKXI0+C3QeW7gt2rI8YG8zw/p6zXs9Dsd/PoxL/x68zjGfl2CdZ3881HjlsMyzq8nDmm11eJ2mB8KrHF9EP87O00nfVcNbUh0+xUp0EzoXQzuLXuNQ31sU1vfklxPbezH6YAC0KcJU3JBZ7r/gS5h4c/xnmABYjcaremEXJ4fI3qzMZmomX+s8NPx0cK3epP/HDH8ka74Zq3eQRaE2SXsUQSOc9hO63hg20c0sm0FOzki2rPOFCkmkH+VY94jH1VA3I5O1kUNCziFOzqtEzUsyPFdCtvVt9nrtRPHE/mpNBkuaRjyECk8zLWLTfpelei7wPStCsGX6gL4K/izCsE3ahDnud9vHVJvN2ttMo69iIdpoIwM4zASKybzsOHHPSPRyAJE22eiUMpveEOc77fn06JMjksG4z5xRleoJdBrFwQAkp+XCqDVbqUz4GRbBlL8TFqZ6PtpyASyNSXaEFkBqUiUFVQURKokEUpBJwwXFGUd4oR4snwLdZ2l96t5rfuPK2KhGX4Qs3Cb+0OVcOA1gf6vUji8gldlpNDCKgWQFXE/dEhbZ4bgtg9BtkPN2mm0eveTPLj+eYlmNOQgKz4lT6I61SEHWeWafNhokHEzOTc/7HOUDLZ2TLQt9LCA87iFf2gBaTvHRNuqwLIFpNVj28BNC2JfPfbPT9p1rDd7QfSwRuwcAWK3hRQRZFlqxG6zddAVE1LG7oEzPpyTxhnWuQq0HBVj+wgYO0fA2G0futJJII9A6/QOfSTZ7INadsSpd2tIsWFW6SfYTbTYOx3tzuFhz5nnneqrYWQiXpg8ny/YAR6BfER5eEccH1Ee3hFGQpkAEieSPEDKZzdX3wdwrBvRMHLuu54IY7PbFyLcssc0Jm+rgUbJFq+pNttAhG2shKWvoJuEnXrtFSdi+bvGW4wHP4o9rIRwg3iWPN1BIS6D06sJ6dQb7cv3ulybJQGQApeugZACJ4TOWxixFXGTvm3Yt8zSiQ0fAHerAFxvwQ1x2GlXgLi0kZsCX/tP3OcD6s/JxegO9fJtWI7tRIob5WUrTXWjNlY3Ox5Mhxwnsa3C2iTuHB1xr42SuNnZDfHoRqkGctlDggnmrG5hNhvKWT0Gzs7RcAZHwdnDPJ6lQ4IfcSIeT0jO9lFwtjFvK1CYzk2jWQvxcPZ2o4UUZhsxpuVo5jXMhmnmObnw2OtJvab+HSHhBTN3+Wx1ej0Yk7qO3T/0dctxLIhQrRvXiMoNP9FX1VBjlp66a8xuu0VuhJvO31B4jIypTxdoM1hL66Q18b1aoTQiE+qzd+h/eHSowE3sa7V0k8acsIOdsHS4LCecvyp/BSmctQ5S46b3E6x8pcPZG3xtHca+ekBKaL0AFWG3fbgD+NpU9isZt5DyWe8Qr81288D5Dnz8Onr8mkj5rDeIjA/r+EHwYZ6fEHxnWDcHALgu2k6AIHDtg9YsPbXyfqDJlYH2G16bZwfJJ9RXj53eskjSLAfoR/OkMUB2+xYq7lbAHU6a+hp5fzrs5+lPqKAN46behILuHh309KyGmNk0Y0v3r9uGrh0FapYnojUXUtDSG2yRM6DSJdPWSR33sELT5tsRGYt57GFJBdrNrrSmPtQKGAXaHy29G6EGhZnMPzrvoIc9jdMJfK5riAWSh/rCDvp9qHRk81PmNnrm8heyCtCHvxsd2z5UlR2o9GmLydnCzVk6BSPnjP3M7elU4xKIrV4yePMrTnmDyPPXQOpS7+kiJo1WQOo1cjk7xyIQ6PVclEeWZsX/ZXPSSrg/kczBi+MIIl0bsIkBuq6rd/hjPKIRHTJtkmXXpGb6mlTe9LiDhRzqDHODPF/O9Zpe3BlxtxEcAfJ/Rnebl+IuacRe6Buyi3E74M8jYI0TrIef1tZagRJLBvQubDX80UzIGasob5BiWjuOGjNtnEEaOg1a7b59KenbAfP+vwtnzdyt46kPsWvUJlpU20CtQr3gkpFpHW9qKYBCShh/NOqIGOu7YWxhYtzROLbwZtFCrccfrc5BMQZ8fkoXPKJKpYan/eynvxpDpWS5lKaLnjO5iYun3lDWRKR79twYQpiJKBKrjT/oZ/9lJAKTvABlXuIr45R+DEW+9X13KeR/HRLSUIowPBkwujoorBEP3b0Dlaks9xmQvrTFTtKg0ITO5x7bO16Z0jCf4V0mV9JQYEFOwyvm6UfZO1MTkOl6FTDPY/tXg5BQEyn2RHXWMKgacFTTWM64v/8lVVoRBgGVNIpDwjy2Uo8bno6pvxRmBHz3RHWjaWf+GgLJEe4zi7TJlN2hV89KbsW//349ZtOI/gFCxkEgZEQG2ihm0dePnzF84GA3bPHVUI327uZkRnWnPI59r7UGnPbIsZxnLvcwB4F0iH5EyZ/iBQtPh+uftQIZMZcmZ2ffHFeyl8QNEx6fE2epdrcv3wfqW8sOlFjZV8pVJk7A2Pzr2czRLKtTPmObMPkk1Pxlexu9nRPG6qO/3uLa+axcr739D+HOUVmiY5WxuRePe+dTVG0Uq9VBztF9bgtgoyZWSeqT8nrICeGhOB14ugi4XnsX1N87V+lB2+Iart/RbA/UjeMVmcSr4CAZybf1VN1D8OSLEEdc/Z2ki68PvH4R4Pl/K192D+HyL8Kb8DAS/qHSacfvYNmEjvQpLbqH0NiXIUZUvh0qXWJgHyqcDtqKCsPJxKsLyUJyf660yOkwfWffRB1oIGWlCAQaZAdcV3Q/Ts/uya5XAXWjQyT7m+5fI+4AK92rD41MR9WVH3eZvUnG1FXv7f1UC45yzD0viYDFnnoo/u8hqf9ttgPUmB9BHpzy1JAHqGJSrAc+k1Q/ZGXJ5pIrrtOR/rZvhtLZTpsQOo0r5vPkEucAw5kVDFTmTytr+Cd7Uy7MgHn71xL2bG96Z/7+k/nJyWr6crikq1kaYNax8yf9fvUn5xWjUVILPl4hgCnreWYwaehDDUy8IqnqUIM1jVczTw/gQSgTJ5D07TBQkmjH+zjpU8T3V2PxU49ZvtKqjPvE2FzzXiTf8wAdmdLZHlJe67UWzJLLqXT6pJD6sahHUsS9j9QOmMi3MVOPv4/QeNPAa++CLpuUD1TZ/PvfwG0HMNWS+0mkNGFKDxePIjXdwtOB2r3miXr8apQWlAZco0hGn6OlFPFi+eXLqAc0x3KYoUdXgTLnLzzqL5gyouLA20POZBtq7ay5hMLyw+Qy134nXM8e5UDGRM2xFdN30Vm4h2HZMQ75NmKR2o30Y56o3Uk8VXgH+gzx/DXw1IMeMKG+5Hpyx0IeRtRHEAXYMWCadH2I81btZvONCylfzdQAtp9yolG8Wr0prp97uJncBkaK1eB4X04BbQ5eifDrzXODouxVwjXEtZ8mu+15NKwH41o/qLvUa0VHJtJ4zLd35+PLdRu49/Ex4Xdl7KY/XvtELSx3Lwcn4LBrrOqTSP7EXUYm+h585Wnu2Dx2v34H6gJvqndxEMWS7WWGgbsjDvOeTtSC0Yem/oLcMY/RkKXBsK+36MwAbYkSO0U67jF/D1Oubq4d+3FSX5XeTg26L591sAvIiSTl/tePCnSIJefYU0okNM6DetLK29UPnL1oRXbp0TDct0tqvVIKNOTbja6RVekrCkt95s5eU0tU6iilP2d+uPeCWWUXj8kzErE2ryc8YCTJLzjPf/fVgGcwU9EEPPeUxye5m9BVeGM1uS74q76vrDW6WmNkGs9YuOcRNBddWd1ool5RLgPu73FqFotFlg1DbHHtZUbuSJEUp562MLiXzsq9K3/I8dpEvOC+r9bg8UBmF7b3zgqmRLdgPZG6leoX+8/73NWQJsGZg6VzAi6rfB39t3yFLX/vnFDDmExKovtKXEh9lIfLlCldbtLEvGMztTHu34Qp0fr3I5ykMkkyano2GoNG6l9NaVRKLnuj4f+PsnEUlM1DoUzjkhMdn0Dl8EIp0nT/Q6Y/z0oWBzThpkvun1xwb0XOf9JAyH0kvkFVIjbZ7k8+WHf73ieg2Iij/2qOMk5RFnLFXzXbtX9yw31GsrTssX73y5HOgKxPg8mJlD/k7okJyqLOmP7xlVO3B4wuLIYaC+2hTmj05WnZ5p5cGiWIV0F4OqQ/efS2n/pojWZRBZTcnzKQ9zJoCc3XG77GHOt0QXG+3sJtFHC6sDhfbsqCjo6+BYSipmDZ8H6KcUlDkpWB/OrRaACOhsbYqPq47/NbKzV2yajcy8xqd4vOQt2G4kpI/q/wo2y1f/mQtI1y73UrmopnrKYQEyZ1Hr6nnmDfUYSSvbNSjqSg3V5mlbmDdGAwvn5nNw0vu4nlxLOVsol5ksKwly2xSFOmQ+0mjRoRDBj1ntX8yvrZfHnoonhptGzAMGXYY+3ms7PiCrFSWQ/Zh+/JyzKz5WzmFTkhc+5vmvP7Nrfs/N+MZ11g+iBozt20lL1LHoU8EKQkg0ys6MJne7BgdsKkTf2DALl6m0saewcyLDf8f2I+J3/vo/PWDnDumMsDKdwkp+YwiNIYf1pU/iCI0i44VSfR1bnVqkmdmm/pMtp7agwIVUp0EI02trEOoLnGNpTeWw+J5/BWU/p4P5MbkYFH3aTt4EEBSrHQEWnNmJ6yHRJdwawgVW/wss1X8b4ZYd5sLjy9lOkR77r/XFKRlUWRt1mltaL5OxucacntDczqIxWHjD/t/6YKKJUyqd5cbx+3YHdLZQQrDpMuTLOSJlJvBGkX9aMB1cvxkX29tbJb3gmTK+qrhyfjZOYeGJ6+qR5LTtTOHs9me+hisFs8NR8PC013XeVPSdX8oSfCPfQA2DGVrjh0EExJ8eB87lUWSL2nDeJV2l8oPD1/jWSc1Hrel3djNDYue5j6C7I9eTm7Apswz1MW179J94I9FFqC6uayDaYDCWj6qEJjVbyr0BaWk72RtSoj397T4Q4YMs9yqCziTzUZmReeDui+61+Xvam1QUC+XTvfv3wowDmkZF7aUyj+8kQGIwG+dCzuY5r9DBDU5ZE1U+w/Z7XMkgynQfJge1cB1lyKR5lGESNT6j9/OY0xSl3LZTTUW09SO0+3d9JA6vtQ2RJM7v38vGs/UJ+ykW8DIfZ/plS2us//FfFgVtwvKG/YYv9lNuo1qIWoPC8dCEiK+aRHu8mPlzTcRzURY9cuW/Utp8zK2R2UCk12bJE0btxP6UGgO+E5z4WQLpufjCR90u0MRXIWON3HTTAj0/qsZKb1GiyWPnW/PO/diEIBUXz5zRAzmGar1JMLhuphvC8fkGbxBpitJ6JBroS3h6vrXViX6op6T2ml0ewO+0Pyi71vrd2SxZByrmtfl4nHodGKd2BsLdy/qfusttE5tgErec0qx/rHF+7ziYijvfj27TroqtpLbQ7jYk+vZ82QFvOn+7jrakaOSl5SymGSbh6D2HsmjoKhX1/9Hqqqdw6UhMpjmfRDx6EBGrbGge6rSvqLLKWi2otnT6umBWscrLMC9+KyAYdNEHX+tkZJdRhxgiWT+/ZtrJ2CPLiDQ43Zmmf7WCrAy14jIImVli07UkRZh54GNNxDkeXGjpgO6oSlSHWHoRnoGThSUsl1byNW9HHqtiZojqceZA/JeFt6G0TpZTR6O0Kh/3ogVCOuPw/JooImSs6FkCnDBgjkBfVCti8ms0dOvQGClDdzQDEXIWw9gwmP5rBl20eotF7s3XhWsgxggYE88mhJJtR93kfBA2CgtIrT3qIkzU4RxzJIr69gKEdjPxd9CyRls8SLJIn1UH0U/V1vsU9PyhZSXCNOV8p7kl+fimBGgS2XzztaYj2kO2tylzKWT9Rl5Nqfc32Fef8NrHuwqOd+mlEykMnp0dePZAfWCvwEL28smPVa2EeXS+CU109AM7qT/GAzPRT8etjGV8DuJdnLtH8blvbvJ2x3e5mjXzJszjOXe9A0XzRw06W+HuupLSOMvf1sGbsaRrH6+iDpmdEeHIjlIva89xYumxpT98LceyjY1gHNMSf863X/jkbMYSuOacTq9iPm8tAVp7OYe/OkIbcywnx3Sb4/PXEzM7HwIE/c84bC026e+t82a81OT1nAzUEYSfHMNn7zlPyz/s0jn+s+JKNGWYH8IjOmTJjV5FcqtCrwRfe9XSILxYS/ZD7TpVgH2TvYRWA2MWpCyED7yb4u8FUZMdRrxX4I3RIJIqYYxqN77NidYsCnTFDRpHaU1eSpcQ/1tdEQuwCM5M12iSxHUwBTprxUsVrFassiVyIO0avBeq2oB8tkR/1eCmQyPEZB3Pv8p+6XEL2hp28WWxK0S4R/U3o18IEe+DA5EA/UhqgzmajO2x6MyZhy/0k3HMYukDaUbfgbeXCfk77TqtWwC6RVnCCdEq73/0UgH5xNIZRF0Tsv0y/td7K4oUHqv6AWhGFBdkqkP/1OEGPqcj8S4RK9LIq32zqlzYlfyIK7UgRLYTZ7wScM85Jcac/ic2HgNym69reDfi8E0p8rVaEMrSGVc+wS6Rg21k6mBbkT+lduBeTxFTNEcn+rmCw+SZiXnnegPR2X+j5+SRiqs3xU7heSCBh9xi+JdtHkPNvFnIh93TnpOan8arYYwSeRXjEwX6aX6u8lol7lv0YvD2OGlLiL/zt5TOnMM/sD4ROEoT7L5H//VhBMrrhvdoHDJ4qOIYodaI17/LanMSF2YWk98DkTyuxcqZfYxdExWh6XDu59Lo5HNiMDKV62KsYglEYxfrELV7VKmypcZMtXT6cLnKbyWIl57LHwtF67PCcXQ3GOXRKme2axSj6WRLPebZFvIxY+q4/+LzL04jBxXdd/jl1C3aIeaYLPleYPLaELTwh5APIp0zj71/LRotCHy84Lj9wlGSdvY5dKrwOmbz+WygWX7EWfvTpM/uQuy+SiJtKLM/4v7OIx/LwyF+N+LZ6iVNCLo77jNeS8Ka2yqpBWMU168H3pgcsopl6uVd4lQ749OMNmrVZDv4ha9vd3UhnNlS5xk24Pua499xdJ2e8hdZe6iV/6e/QSMQ+nSmvdd4nk7CdDj4YhueAzyXRfNd9n3low2OVi6pfSQZNNuajn5LNY1y6rihgMDxlietwI9XnzivAbZw/t0me37/za6VtIEQeVmQSm71c6oLqMZ+mWsqCRMsXetNdX0zVJpuQqnmEXg6EqW6UtsG0xDPX7VZCBkQ9Z3sjYlkGeGHyZvlExSZQp//iZJI57Hoz7TlXmQNvYHUobCdtSSLOEKzATdqgVs8xQ5XJUZT5AXZfYlsXD5LYqUjBsxlZp3bBSX0/r7Qb+vM8zKHWYIHe6tZoOUnGG/nqAEQwv7x8k4N12rUZlSL512/UmetfZzEuyG/S+6+rmbxPBffQH6d1ihkX5PKSUfIj+zAcsSpIBO9iBjREuf9MhBR6N0QNDOfopsNMn7Tb+fattpGOX9uxT6jDpCy60IsMf1TCM957lFHfuSL1WmX27Z8CXtlRT+GkfO7BZ/bN88ldGPCbNHv4FbqT0lM+TTakf0G9cwDv1jwl2YNMKtQMeDBz0W7W5lFul80tSZMnos+67MhCv2NGN+4WWy3kg+dzsBIKPuQsVVEmZp47apysQUjDv1toN9VBHE8fUp4vKJTI07fzqIcUPXLTCm3ZWuALWPT6SC166bFCayIJdBrDBlOFodE0u1Bfs2MBm6RC/o31m1FAofWaSAicHp9rxws5t5O+17LaxlHuI3u0CSx3YoL73efRGzl8DWYH6OWauL4QAkmsD2MHBbuGl4LpTtBuRvvs/MZf4bZgzqGTmAv2QVeGWcgcqNXfNrvMrp5L64ZOQq+S6zHu65fQc/UGRUUPLdjI4J+P+HfpAjHmCYGnYOOMT9MjmzSBLl825JyMHfYU85UwXDRtL6vsB+tNAswqa5enYiEWVSAM1TJnyd4ZTahGdzAX6o+5mEdrOLR1Npth5jb3KMnln5Nz00XukxqUQy6Pfkb4iMxZz/HHVNuhyfhyNyQX3KmCfmhWd7SwTHWVKuhhgx64bzYssl/aFFMmtp3l1TvyNioSWCz3JV1drvR8EHqc+/mLehnlqmaSYp+tXZvRh8z2uqD9fMg998TQjAcDybOFqkhRjxQ5tnJ1Zbm1XpNlookeuQ+q26yF6q80wzMuXl82A0UcXujVQYB1J9FlEnEgyXZ0IO369VjwltUx0uf7uEOdmgJ3avEthF1y5Rp/NZNgoXbvUnuvJFH0Nsq0TYLtwuUJ+IHnMvCIJH7C519cTxb9axbojdgWiaqZbZqvXJmTk3GCHNvYyyxOR6yl6vWZOcTvn4+/B9xF24oZxtcBOk//D0F97bBWHuG6X2KKA0R/xG5mZ5QvLJsQ3/VsSCaK+Yec2D7jt9qsbvlhGL0x/JX30igzYXLkR/kL5H7qc1AT9uZ9ZYctuvo/76M92e8WAacNurMdD9MBt0LSd8Xm9jj8xEfa6/pjNeRXMbmPv6tmZJ2PGdK514FH8xwAtUNt7zMLl8W1bY6YekdQrcMMXrFBPyq07sT30f2CnNg4ALMNmYzHjHqtQpNQIotkdcI8d9IYZWJPSFPge/fw24ieW4YTxD/QjbBYqsHO5bvvD6hzbm3Wx7Xau22MrtnKrtmrqVyEKbuRjWU5xFoXCr8DdRyMpyW6nVtQvQj5nBx+6wTp2fkOxWW5dt+w1DitxHQ56kWvuhq6/ckFnOi3p/DVi/hz/qge+AJoKol2BCbAT8G4FwMEqiyfc392Ioe82ZgRbLK2377dOvQrFtcwr7XYhpu9B8mGkv1J26xPHr9mMzENLeybHT64BBkKi39i7oPlpk/6I1LEjG0XFLOMOGrmBHrlotFsGzyfKaCXXLv5ucMZZt+UeNhmgD7iYlb4tx3lIHPEUvVCJPvoA1iIzB08aYmKnNk967eJrkxH6Oh3d4klvbpyXJh7jz7tsFJFtN2gpIuGKzEDxqnAEaihxywpjkx8X2IHN+/l2BvkdjdgqRl8yELZ83h0LGK3AHU9jqC1LROpSaizve1eZC2/mdLcc+Ymj/sXODJtKnrXERJ+IaaQtWQaR80agWYNH7PCGgrN0wRwWkakIqlAMtl4HVXKOg95mM7sR2plsjnNDpkyuuF8Fa828vW3ncjtT9FffjHNvy5vLDv47ImDdxFLgimQrGfVALQ8CnQf8oSRQg3zKPObq627KKK9E6LBTdLstQysaX9cBZRVI5Kk3jQVuFx+fqudDP9qweVvTCanAJQIjlmbpd6UHXlQ/Hm5so4q5pSKfyth9xo68taItlVksJUN/sFnvGJV9Lef3A3Zgo3K35SDfD+7O6uhzF4Czc+7HlxVpjAUNfmwhswcae+hVGKzP8VC5siqWJonuRTwUyuL2I3l8oZMHB/2Shh3ux/6RXRl4vMbfBK1XJD4rP8RizlZps/FgKXwWng7pzGNJCVv8XYOKE71Z/gh7WwrM88hE/4xdCE2wup5bQrig+E9BGsbhV3ntvoV/JUQUVGEKmMfdgNrgelKNVWBsARZ2+5YIsvu/WYf2igqkByqQKuwNxQTsRvnzoy3+ZPxPniqgHGudnSmGSiyCHSrGu4tq2EhGER+LLIEtEegk5mrsj1DVPwImAo+d9v25FAvmizgkEybDChy7FaPz5XMfMwmMqUsexYriBy9uA/Va6X1gTe5Xg9xU/vV2afcoQ58M9c1q/NxFpV9vlXYJMu672Pd1K90KwBsNN89KH1Zk6A6Pki7ClZjxRh7kWWmTN4eP1GZXkYFvFLf58vVWTfZKjDwYvdSp3jI8VftE5W4Ylz+ZzKn703HSNxx/2thO0Kd0kWf5V0MKYDdacikMpKBzl4ZRRQQA1jY+F0BeOj9Pgq+kGOxXwyVf0BmP8tWQL45KSsN+Ulz3R9VEt58I1xOS5FgqL/+tmjIofzl9LQNneF0RdjN9pfylzhy+GPyuhhTOjKJa1grgdnheEXRwBXDLoidPvFQF3yg6U9oDzPHzujP5VcCqyMGouFQ6ISKXQ0WwoWd/ik2ufTKIuTevQJtX445cnqJsL4NHHi2Jwz3uCj+zC7HLwsjEL381NBfFkXsFTkArA19vQlXBXtNHQuoCTdXgNw58yqf15vjT0dHGhh7EES/6R/pTOYD+IqpKUAzcBnzkUkmgMt6PGf4ofeAZMjeWPHo7HepMb04ulBxeqIe+IkTLSO8vHRV9F4B+qXyA9CV2fnMClF4Aa/6qjLzZdNB+6l/SiD0zFuBf9kYpyvJ5sO/sMZVz9NhQvT/W2Lo1dFUmvNnMqXRi05r+RuC/d2vcyCx/q3xNnTcOqIqKbxmLvbRnu5bA5PpHZWa9aeHZj38W46iMAIwjDgsLR/5Mjj0TA+fe15XF52SSVdRIop74dz6joorNrp9JY90/XD1JWE0plM9xzaUwUovBjYR8q4gAjGifjQGUCuCCK6+vEuiAHs87ekWG3WC32QpT9isRor/Bbua42myBKfX1ZPpQkREH3P5T9jF3pXhhs2osdnj871cVGXlwPZdip2db1YjuGSWHyp/srkWgLzRK8VqVbd5wfWyiW5kAslYMZEBDZfxWQwodqPYyaynofG8q56QK2x+8HsjO9qox+Iap3yt9xpPjK8cvqsr6N3o7l0/vy+HT0z3t81Vj/wd39B4fHysy9ka3UAtPP13vWdwj8XbO/QXHf5MVrNLNWgKeiNEH+etGMej8aqMF94iHzyyK0A94G6oeXQ5+MSTZbocd3XB0WuW3uRydz5SZN1xS32ce0TOAOPEsfAsj/Nf44UyetTCU0hvSmVJ66O09s2eqNfwd85LgLlXTgEZ0pix/7DIw9r7yiT25DKbql6QvJcV/2gU99x/ZjAy9OKyAvw+59SVJuyy963ihL/nl17zOo6UyBCuR09uBymwvSKMa+cxwln/OPvRoGJIWaVdEAkZWa/kb/u8SMC58Zjce63X817/PwJfCWhjVmAxQZU7X/EUD8YLOJHcrIoytm3/2s+GS+SwRgHiKqrE5GLGh8rcf1zK4VgvC83j6WjlOFH92lBkkKR8gWwvBGd1WZBmANVFaw9/QNyZJg9yxlVh3gcQuBrgy9oYcmhURALyZOL78QXq1Wo2MYy/iYcFcwC4NsIoI79LQQjjJd8j0FLUasjCKRAHsEYksvGR5VEpJmPYT0KzI9soR0wsEuwxMRQmgKCaDHxWZAOZmWT6ktGaXQr2/WiUl5CsiBHCnusrqEAKfr94VYkWEYCwEe0347jORyeUjGV+ib65rTAQARfjAZRRTj9xUaCbAxxTS9IJjDjKmEqgG/Q4cp0chnxdSxMHRieAluzh92tdhRZ9iJzfuEuZJ1jbkl2rg/XneZxz9xSKjcla9UfqobS2BOzrngkzFC/6ztqZZK7x0avWa3qFJ/BB/nolZL6VV2i/eZtepFujVnjH1y8fP1/yP/OSC67qZ2NHBqoVtoKc/YCc3Vnz5hMItcjKQfF6BHCujma+9xlsL4EakFyhJPwg8TivQof0MqpbAtjDSNt5Cok+1Mm8XAcjgpp/0C1XP6nn4jYAt89d0gNTPCXGYvvO/"; -Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users".split(" ");Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";"); -Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";"); -Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";"); -Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";"); -Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam=["2D","3D"];Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" "); -Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"sitemap"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;General Symbols;Intune;OMS;OpsManager;Other;System Center;Virtual Machine;Deprecated;Cloud Color;Deprecated Color".split(";")}, -{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")}, +Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users".split(" ");Sidebar.prototype.allied_telesys="Buildings;Computer and Terminals;Media Converters;Security;Storage;Switch;Wireless".split(";"); +Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";");Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";"); +Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";");Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";"); +Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";");Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3= +"Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";");Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam= +["2D","3D"];Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" ");Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"}, +{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"sitemap"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;General Symbols;Intune;OMS;OpsManager;Other;System Center;Virtual Machine;Deprecated;Cloud Color;Deprecated Color".split(";")},{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart", +prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"allied_telesys",prefix:"allied_telesys",libs:Sidebar.prototype.allied_telesys},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")}, {id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},{id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"cisco_safe",prefix:"cisco_safe",libs:Sidebar.prototype.cisco_safe}, {id:"office",prefix:"office",libs:Sidebar.prototype.office},{id:"veeam",prefix:"veeam",libs:Sidebar.prototype.veeam},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"atlassian",libs:["atlassian"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"webicons",libs:["webicons","weblogos"]},{id:"sysml",prefix:"sysml",libs:Sidebar.prototype.sysml}]; var a=Sidebar.prototype.insertSearchHint;Sidebar.prototype.insertSearchHint=function(b,c,e,d,m,k,n,q){if(null!=q&&1==d){var l=null;if(0<=mxUtils.indexOf(q,"text"))l="Double click anywhere in the diagram to insert text.";else for(var f="line lines arrow arrows connect connection connections connector connectors curve curves link links directed directional bidirectional".split(" "),g=0;g<f.length;g++)if(0<=mxUtils.indexOf(q,f[g])){l="Need help with connections?";break}if(null!=l&&!this.hideSearchHint){var h= document.createElement("a");h.setAttribute("href","https://youtu.be/Z0D96ZikMkc");h.setAttribute("target","_blank");h.className="geTitle";h.style.cssText="background-color:#ffd350;border-radius:6px;color:black;border:1px solid black !important;text-align:center;white-space:normal;padding:6px 0px 6px 0px !important;margin:4px 4px 8px 2px;";mxUtils.write(h,l);l=document.createElement("img");l.setAttribute("src",Dialog.prototype.closeImage);l.setAttribute("title",mxResources.get("hide"));l.className= "geDialogClose";l.style.position="relative";l.style.cursor="default";l.style.top="1px";l.style.right="0px";mxEvent.addListener(l,"click",mxUtils.bind(this,function(a){h.parentNode.removeChild(h);this.hideSearchHint=!0;mxEvent.consume(a)}));h.appendChild(l);b.appendChild(h);this.hideSearchHint=!0}}a.apply(this,arguments)};Sidebar.prototype.togglePalettes=function(a,b){this.showPalettes(a,b)};Sidebar.prototype.togglePalette=function(a){this.showPalette(a)};Sidebar.prototype.showPalettes=function(a, b,c){for(var e=0;e<b.length;e++)this.showPalette(a+b[e],c)};Sidebar.prototype.showPalette=function(a,b){var c=this.palettes[a];if(null!=c)for(var e=null!=b?b?"block":"none":"none"==c[0].style.display?"block":"none",d=0;d<c.length;d++)c[d].style.display=e};Sidebar.prototype.isEntryVisible=function(a){for(var b=0;b<this.configuration.length;b++)if(this.configuration[b].id==a){var c=this.palettes[null!=this.configuration[b].libs?(this.configuration[b].prefix||"")+this.configuration[b].libs[0]:a];if(null!= -c)return"none"!=c[0].style.display}return!1};Sidebar.prototype.showEntries=function(b,a,c){this.libs=null!=b&&(c||0<b.length)?b:null!=urlParams.libs&&0<urlParams.libs.length?decodeURIComponent(urlParams.libs):mxSettings.getLibraries();c=this.libs.split(";");for(var e=0;e<c.length;e++)c[e]=this.libAliases[c[e]]||c[e];for(e=0;e<this.configuration.length;e++)"search"!=this.configuration[e].id&&this.showPalettes(this.configuration[e].prefix||"",this.configuration[e].libs||[this.configuration[e].id],0<= -mxUtils.indexOf(c,this.configuration[e].id));a&&(mxSettings.setLibraries(b),mxSettings.save())};Sidebar.prototype.init=function(){this.entries=[{title:mxResources.get("standard"),entries:[{title:mxResources.get("general"),id:"general",image:IMAGE_PATH+"/sidebar-general.png"},{title:mxResources.get("arrows"),id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("basic"),id:"basic",image:IMAGE_PATH+"/sidebar-basic.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+ +c)return"none"!=c[0].style.display}return!1};Sidebar.prototype.showEntries=function(a,b,c){this.libs=null!=a&&(c||0<a.length)?a:null!=urlParams.libs&&0<urlParams.libs.length?decodeURIComponent(urlParams.libs):mxSettings.getLibraries();c=this.libs.split(";");for(var e=0;e<c.length;e++)c[e]=this.libAliases[c[e]]||c[e];for(e=0;e<this.configuration.length;e++)"search"!=this.configuration[e].id&&this.showPalettes(this.configuration[e].prefix||"",this.configuration[e].libs||[this.configuration[e].id],0<= +mxUtils.indexOf(c,this.configuration[e].id));b&&(mxSettings.setLibraries(a),mxSettings.save())};Sidebar.prototype.init=function(){this.entries=[{title:mxResources.get("standard"),entries:[{title:mxResources.get("general"),id:"general",image:IMAGE_PATH+"/sidebar-general.png"},{title:mxResources.get("arrows"),id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("basic"),id:"basic",image:IMAGE_PATH+"/sidebar-basic.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+ "/sidebar-clipart.png"},{title:mxResources.get("flowchart"),id:"flowchart",image:IMAGE_PATH+"/sidebar-flowchart.png"}]},{title:mxResources.get("software"),entries:[{title:mxResources.get("android"),id:"android",image:IMAGE_PATH+"/sidebar-android.png"},{title:"Atlassian",id:"atlassian",image:IMAGE_PATH+"/sidebar-atlassian.png"},{title:mxResources.get("bootstrap"),id:"bootstrap",image:IMAGE_PATH+"/sidebar-bootstrap.png"},{title:mxResources.get("entityRelation"),id:"er",image:IMAGE_PATH+"/sidebar-er.png"}, -{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:"Sitemap",id:"sitemap",image:IMAGE_PATH+"/sidebar-sitemap.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:mxResources.get("aws"),id:"aws3",image:IMAGE_PATH+"/sidebar-aws3.png"},{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"}, -{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+ -"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+ -"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic",id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"}, -{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"}, -{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};this.initPalettes()};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition="0% 50%";var d=document.createElement("button"); -d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(l){if("BUTTON"==mxEvent.getSource(l).nodeName){l=b.cloneNode(!0);l.style.backgroundImage="";l.style.textDecoration="none";l.style.fontWeight="bold";l.style.fontSize="14px";l.style.color="rgb(80, 80, 80)";l.style.width="456px";l.style.backgroundColor="#ffffff";l.style.paddingLeft="6px";var f=l.getElementsByTagName("button")[0];f.parentNode.removeChild(f);var g=a.cloneNode(!0);g.style.backgroundColor= -"#ffffff";g.style.borderColor="transparent";g.style.width="456px";l=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+l.outerHTML+g.outerHTML+"</body>","text/html");this.editorUi.convertImages(l.documentElement,mxUtils.bind(this,function(b){var a='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(b)+"</html>";g.style.position="absolute";window.document.body.appendChild(g); -var c=g.clientHeight+18;g.parentNode.removeChild(g);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+c+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(a)))).simulate(document,"_blank")}),null,mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var h=b.innerHTML;b.innerHTML= -mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=h;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage="url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(l)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length); -return b.substring(6,a)}return null};var d=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var e=d.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),a=a.toLowerCase(),null!=this.shapetags[b]&&e.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&e.push(this.shapetags[a]));return e};Sidebar.prototype.addTagIndex=function(b){b=b.split("\n");for(var a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ", -"_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}};Sidebar.prototype.addSearchFileData=function(b){if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var l=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(l,e,b[a].getAttribute("tags"));if(null!=d){var n=c.indexOf(";"),c="shape="+l+"."+e.toLowerCase()+ -";"+(0>n?"":c.substring(n+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,k=this.pids,n=this.cisco,q=this.sysml,p=this.eip,r=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1); -this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addInfographicPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette(); -this.addIBMPalette();this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), -"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/", -"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), -"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), +{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:"Sitemap",id:"sitemap",image:IMAGE_PATH+"/sidebar-sitemap.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:mxResources.get("aws"),id:"aws3",image:IMAGE_PATH+"/sidebar-aws3.png"},{title:"Allied Telesys",id:"allied_telesys",image:IMAGE_PATH+"/sidebar-allied_telesys.png"}, +{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"},{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform", +id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"}, +{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic", +id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons", +id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};this.initPalettes()};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(a,b,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==b.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition= +"0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(a,"click",mxUtils.bind(this,function(l){if("BUTTON"==mxEvent.getSource(l).nodeName){l=a.cloneNode(!0);l.style.backgroundImage="";l.style.textDecoration="none";l.style.fontWeight="bold";l.style.fontSize="14px";l.style.color="rgb(80, 80, 80)";l.style.width="456px";l.style.backgroundColor="#ffffff";l.style.paddingLeft="6px";var f=l.getElementsByTagName("button")[0];f.parentNode.removeChild(f); +var g=b.cloneNode(!0);g.style.backgroundColor="#ffffff";g.style.borderColor="transparent";g.style.width="456px";l=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+l.outerHTML+g.outerHTML+"</body>","text/html");this.editorUi.convertImages(l.documentElement,mxUtils.bind(this,function(a){var b='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(a)+"</html>";g.style.position= +"absolute";window.document.body.appendChild(g);var c=g.clientHeight+18;g.parentNode.removeChild(g);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+c+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(b)))).simulate(document,"_blank")}),null,mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==b.style.display){if(e)a.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);a.style.cursor= +"wait";var h=a.innerHTML;a.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(b);a.style.cursor="";a.innerHTML=h;a.appendChild(d)},0)}else a.appendChild(d);a.style.backgroundImage="url('"+this.expandedImage+"')";b.style.display="block"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",b.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(l)}}))});Sidebar.prototype.extractShapeStyle=function(a){if(null!=a&&"shape="==a.substring(0, +6)){var b=a.indexOf(";");0>b&&(b=a.length);return a.substring(6,b)}return null};var d=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(a,b,c){var e=d.apply(this,arguments);null!=this.shapetags&&(a=a.toLowerCase(),b=b.toLowerCase(),null!=this.shapetags[a]&&e.push(this.shapetags[a]),b=a+"."+b,null!=this.shapetags[b]&&e.push(this.shapetags[b]));return e};Sidebar.prototype.addTagIndex=function(a){a=a.split("\n");for(var b=0;b<a.length;b++)if(null!=a[b]){var c=a[b].split("\t"); +if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}};Sidebar.prototype.addSearchFileData=function(a){if(null!=a){a=a.getElementsByTagName("shape");for(var b=0;b<a.length;b++){var c=a[b].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var l=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(l,e,a[b].getAttribute("tags"));if(null!= +d){var n=c.indexOf(";"),c="shape="+l+"."+e.toLowerCase()+";"+(0>n?"":c.substring(n+1));this.createVertexTemplateEntry(c,parseInt(a[b].getAttribute("w")),parseInt(a[b].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var a=GRAPH_IMAGE_PATH,b=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,k=this.pids,n=this.cisco,q=this.sysml,p=this.eip,r=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0); +this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(b,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addInfographicPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette(); +this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addAlliedTelesysPalette();this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),b+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",a+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), +"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",a+"/lib/clip_art/finance/", +"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",a+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), +"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",a+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), "Bridge;Certificate;Certificate Off;Cloud;Cloud Computer;Cloud Computer Private;Cloud Rack;Cloud Rack Private;Cloud Server;Cloud Server Private;Cloud Storage;Concentrator;Email;Firewall 1;Firewall 2;Firewall;Camera;Modem;Power Distribution Unit;Print Server;Print Server Wireless;Repeater;Router;Router Icon;Switch;UPS;Wireless Router;Wireless Router N".split(";"),{Wireless_Router:"wireless router switch wap wifi access point wlan",Wireless_Router_N:"wireless router switch wap wifi access point wlan", -Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",b+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); -this.addImagePalette("telco","Clipart / Telecommunication",b+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(b=0;b<c.length;b++)this.addStencilPalette("signs"+c[b],"Signs / "+c[b],a+"/signs/"+c[b].toLowerCase()+".xml",";html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;"); -for(b=0;b<e.length;b++)"cards"===e[b].toLowerCase()?this.addGoogleCloudPlatformCardsPalette():this.addStencilPalette("gcp"+e[b],"GCP / "+e[b],a+"/gcp/"+e[b].toLowerCase().replace(/ /g,"_")+".xml",";html=1;outlineConnect=0;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;");for(b=0;b<d.length;b++)"general"===d[b].toLowerCase()?this.addRackGeneralPalette():"f5"===d[b].toLowerCase()?this.addRackF5Palette():this.addStencilPalette("rack"+ -d[b],"Rack / "+d[b],a+"/rack/"+d[b].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;");for(b=0;b<k.length;b++)"Instruments"==k[b]?this.addPidInstrumentsPalette():"Misc"==k[b]?this.addPidMiscPalette():"Valves"==k[b]?this.addPidValvesPalette():"Compressors"==k[b]?this.addPidCompressorsPalette():"Engines"==k[b]?this.addPidEnginesPalette():"Filters"==k[b]?this.addPidFiltersPalette():"Flow Sensors"==k[b]?this.addPidFlowSensorsPalette():"Piping"== -k[b]?this.addPidPipingPalette():this.addStencilPalette("pid"+k[b],"Proc. Eng. / "+k[b],a+"/pid/"+k[b].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(b=0;b<q.length;b++)"Model Elements"==q[b]?this.addSysMLModelElementsPalette():"Blocks"==q[b]?this.addSysMLBlocksPalette():"Ports and Flows"==q[b]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[b]?this.addSysMLConstraintBlocksPalette(): -"Activities"==q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteractionsPalette():"State Machines"==q[b]?this.addSysMLStateMachinesPalette():"Use Cases"==q[b]?this.addSysMLUseCasesPalette():"Allocations"==q[b]?this.addSysMLAllocationsPalette():"Requirements"==q[b]?this.addSysMLRequirementsPalette():"Profiles"==q[b]?this.addSysMLProfilesPalette():"Stereotypes"==q[b]&&this.addSysMLStereotypesPalette();for(b=0;b<p.length;b++)"Message Construction"==p[b]?this.addEipMessageConstructionPalette(): -"Message Routing"==p[b]?this.addEipMessageRoutingPalette():"Message Transformation"==p[b]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[b]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[b]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[b]?this.addEipMessagingSystemsPalette():"System Management"==p[b]&&this.addEipSystemManagementPalette();for(b=0;b<n.length;b++)this.addStencilPalette("cisco"+n[b],"Cisco / "+n[b],a+"/cisco/"+n[b].toLowerCase().replace(/ /g, -"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette(): -"Chips"==r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette(): -"Steppers"==r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this, -function(b,a,c,e,l){if(null==m||0>mxUtils.indexOf(m,a))c=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), +Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",a+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); +this.addImagePalette("telco","Clipart / Telecommunication",a+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(a=0;a<c.length;a++)this.addStencilPalette("signs"+c[a],"Signs / "+c[a],b+"/signs/"+c[a].toLowerCase()+".xml",";html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;"); +for(a=0;a<e.length;a++)"cards"===e[a].toLowerCase()?this.addGoogleCloudPlatformCardsPalette():this.addStencilPalette("gcp"+e[a],"GCP / "+e[a],b+"/gcp/"+e[a].toLowerCase().replace(/ /g,"_")+".xml",";html=1;outlineConnect=0;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;");for(a=0;a<d.length;a++)"general"===d[a].toLowerCase()?this.addRackGeneralPalette():"f5"===d[a].toLowerCase()?this.addRackF5Palette():this.addStencilPalette("rack"+ +d[a],"Rack / "+d[a],b+"/rack/"+d[a].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;");for(a=0;a<k.length;a++)"Instruments"==k[a]?this.addPidInstrumentsPalette():"Misc"==k[a]?this.addPidMiscPalette():"Valves"==k[a]?this.addPidValvesPalette():"Compressors"==k[a]?this.addPidCompressorsPalette():"Engines"==k[a]?this.addPidEnginesPalette():"Filters"==k[a]?this.addPidFiltersPalette():"Flow Sensors"==k[a]?this.addPidFlowSensorsPalette():"Piping"== +k[a]?this.addPidPipingPalette():this.addStencilPalette("pid"+k[a],"Proc. Eng. / "+k[a],b+"/pid/"+k[a].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(a=0;a<q.length;a++)"Model Elements"==q[a]?this.addSysMLModelElementsPalette():"Blocks"==q[a]?this.addSysMLBlocksPalette():"Ports and Flows"==q[a]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[a]?this.addSysMLConstraintBlocksPalette(): +"Activities"==q[a]?this.addSysMLActivitiesPalette():"Interactions"==q[a]?this.addSysMLInteractionsPalette():"State Machines"==q[a]?this.addSysMLStateMachinesPalette():"Use Cases"==q[a]?this.addSysMLUseCasesPalette():"Allocations"==q[a]?this.addSysMLAllocationsPalette():"Requirements"==q[a]?this.addSysMLRequirementsPalette():"Profiles"==q[a]?this.addSysMLProfilesPalette():"Stereotypes"==q[a]&&this.addSysMLStereotypesPalette();for(a=0;a<p.length;a++)"Message Construction"==p[a]?this.addEipMessageConstructionPalette(): +"Message Routing"==p[a]?this.addEipMessageRoutingPalette():"Message Transformation"==p[a]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[a]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[a]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[a]?this.addEipMessagingSystemsPalette():"System Management"==p[a]&&this.addEipSystemManagementPalette();for(a=0;a<n.length;a++)this.addStencilPalette("cisco"+n[a],"Cisco / "+n[a],b+"/cisco/"+n[a].toLowerCase().replace(/ /g, +"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(a=0;a<r.length;a++)"Bottom Navigation"==r[a]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[a]?this.addGMDLBottomSheetsPalette():"Buttons"==r[a]?this.addGMDLButtonsPalette():"Cards"==r[a]?this.addGMDLCardsPalette(): +"Chips"==r[a]?this.addGMDLChipsPalette():"Dialogs"==r[a]?this.addGMDLDialogsPalette():"Dividers"==r[a]?this.addGMDLDividersPalette():"Grid Lists"==r[a]?this.addGMDLGridListsPalette():"Icons"==r[a]?this.addGMDLIconsPalette():"Lists"==r[a]?this.addGMDLListsPalette():"Menus"==r[a]?this.addGMDLMenusPalette():"Misc"==r[a]?this.addGMDLMiscPalette():"Pickers"==r[a]?this.addGMDLPickersPalette():"Selection Controls"==r[a]?this.addGMDLSelectionControlsPalette():"Sliders"==r[a]?this.addGMDLSlidersPalette(): +"Steppers"==r[a]?this.addGMDLSteppersPalette():"Tabs"==r[a]?this.addGMDLTabsPalette():"Text Fields"==r[a]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(a,b,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this, +function(a,b,c,e,l){if(null==m||0>mxUtils.indexOf(m,b))c=null!=q?q[b]:null,mxLog.debug('<shape style="shape='+a+b+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), this.tagIndex=null);this.editorUi.isOffline()||0!=e||this.editorUi.logEvent({category:"Sidebar",action:"search",label:a});null!=ICONSEARCH_PATH&&(d=mxUtils.bind(this,function(b,d,f,g){!this.editorUi.isOffline()&&b.length<=c/4?(f=e-Math.ceil((d-c/4)/c),mxUtils.get(ICONSEARCH_PATH+"?q="+encodeURIComponent(a)+"&p="+f+"&c="+c,mxUtils.bind(this,function(a){try{if(200<=a.getStatus()&&299>=a.getStatus())if(null!=a.getText()&&0<a.getText().length)try{var f=JSON.parse(a.getText());if(null==f||null==f.icons)l(b, d,!1,g),this.editorUi.handleError(f);else{for(a=0;a<f.icons.length;a++){for(var h=f.icons[a].raster_sizes,k=h.length-1;0<k&&128<h[k].size;)k--;var m=h[k].size,n=h[k].formats[0].preview_url;null!=m&&null!=n&&mxUtils.bind(this,function(a,c){b.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+c,a,a,"")}))})(m,n)}l(b,(e-1)*c+b.length,f.icons.length==c,g)}}catch(z){l(b, -d,!1,g),this.editorUi.handleError(z)}else l(b,d,!1,g);else l(b,d,!1,g),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}},function(){l(b,d,!1,g)}))):l(b,d,f||!this.editorUi.isOffline(),g)}));b.apply(this,arguments)};var c=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(b,a,e){var d=this.editorUi.editor.graph,l=!1;if(null!=b&&1==d.getSelectionCount()&&d.getModel().isVertex(b[0])){var f=d.cloneCells(b)[0];if(d.getModel().isEdge(d.getSelectionCell())&& +d,!1,g),this.editorUi.handleError(z)}else l(b,d,!1,g);else l(b,d,!1,g),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}},function(){l(b,d,!1,g)}))):l(b,d,f||!this.editorUi.isOffline(),g)}));b.apply(this,arguments)};var c=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(a,b,e){var d=this.editorUi.editor.graph,l=!1;if(null!=a&&1==d.getSelectionCount()&&d.getModel().isVertex(a[0])){var f=d.cloneCells(a)[0];if(d.getModel().isEdge(d.getSelectionCell())&& null==d.getModel().getTerminal(d.getSelectionCell(),!1)&&d.getModel().isVertex(f)){d.getModel().beginUpdate();try{var g=d.view.getState(d.getSelectionCell());if(null!=g){var q=d.view.translate,p=d.view.scale,r=g.absolutePoints[g.absolutePoints.length-1];f.geometry.x=r.x/p-q.x-f.geometry.width/2;f.geometry.y=r.y/p-q.y-f.geometry.height/2}d.addCell(f);d.getModel().setTerminal(d.getSelectionCell(),f,!1)}finally{d.getModel().endUpdate()}d.scrollCellToVisible(f);d.setSelectionCell(f);l=!0}}l||c.apply(this, arguments)}})();(function(){var a=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var d=a.apply(this,arguments),e=this,b=new mxCell("Vertical Flow Layout",new mxGeometry(0,0,270,280),"swimlane;html=1;startSize=20;horizontal=1;childLayout=flowLayout;flowOrientation=north;resizable=0;interRankCellSpacing=50;containerType=tree;");b.vertex=!0;var c=new mxCell("Start",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");c.vertex=!0;b.insert(c);var l=new mxCell("Task",new mxGeometry(20, 20,100,40),"whiteSpace=wrap;html=1;");l.vertex=!0;b.insert(l);var f=new mxCell("",new mxGeometry(0,0,0,0),"html=1;curved=1;");f.geometry.relative=!0;f.edge=!0;c.insertEdge(f,!0);l.insertEdge(f,!1);b.insert(f);var g=new mxCell("Task",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");g.vertex=!0;b.insert(g);f=f.clone();c.insertEdge(f,!0);g.insertEdge(f,!1);b.insert(f);c=new mxCell("End",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");c.vertex=!0;b.insert(c);f=f.clone();l.insertEdge(f, @@ -3259,7 +3262,33 @@ this.addDataEntry("container swimlane pool horizontal",480,360,"Horizontal Pool this.addDataEntry("vertical tree layout",280,190,"Vertical Tree Layout","5ZXNUoMwEICfhjuQWvVaqL3oxXa8p7ADmQmECUspfXo3JNgirdMZ7UE9MGT/s182E49FxX6leZW/qBSkx5Yei7RSaFfFPgIpvdAXqcdiLwx9+rzw6YI16K1+xTWUeE1AaAN2XDZgNW+gUSTcOG00AP2eeacatI41dtI51q0oJC9JWuRY0M7jgJY1co1rcTBOVJtsSouDKpEPHkkuZOpyshipxiCc+PalWWwSaKjFgW/lICfGQZSgN10FLgOpXSO0e9hfhNGrHIkVqAJQd+TSihRzB+TBAvNzEFk+hD06Ja+tIvuIPbKlhcN7HjWboH41x/wZa5sLhHXFEyO3NBhjvle1GZ5v0wW4kfC7sXgCIfDPQJj9AIPZhEFkpoFUwf8CcTcBMekf0gzWTgS5Ve3yqFj0CjLshts6YqNVU6aQugtjM5t0X3Oi6qrRCYzGla5zBnhyelOaGiRHsRtn/w6c+cUpmVL601Ny/xunZH6bKSHx+Cz2ttGr+Q4="), this.addDataEntry("horizontal tree layout",310,160,"Horizontal Tree Layout","5ZXNUoMwEMefJncgtd4LVQ96sX2BtOxAZgJhwlJKn94NSQWkdTqjHtQDQ/a/X+THZsJ4XBwfjajyF52CYnzNeGy0RrcqjjEoxaJApownLIoCelj0cMUb9t6gEgZKvCUhcgkHoRpwypM28qRLFDZsawDo9Sw63aALrbFTPrRuZaFESdYqx4K+PQlpWaMwuJEnG0TdyTdU5IkV9rlUqa/JE6QeZ2MU27d2FQ3U8iR2fds+3wbIEsy2q8BXINlvBQzC8SqOXvIsHkEXgKajkFammLsIHjpkQQ4yy89pSy+K2gnZe+5AlxYe8GXYfAb71f7oj1jbXCJsKrG3dkujMeV70zajy9v0CX4ogm5qjiCEwQUIi29gsJgxiO00kBT+LxB3MxCz/UOawcaboHa6XQ/CqhfIMT5dYzpGN2UKqT8yrrYt+Dkp6q8bs4fJwNKBzgBH/2/O04ASKA/T6l/Bs7w6J3NOf3pO7n/nnCx/Zk7IHC7H3je5O98A"), this.addEntry("vertical flow layout",function(){return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Flow Layout",!0)}),this.addEntry("horizontal flow layout",function(){var a=e.graph.cloneCells([b])[0];a.geometry=new mxGeometry(0,0,460,150);a.style="swimlane;html=1;startSize=20;horizontal=0;childLayout=flowLayout;flowOrientation=west;resizable=0;interRankCellSpacing=50;containerType=tree;";a.value="Horizontal Flow Layout";return e.createVertexTemplateFromCells([a], -a.geometry.width,a.geometry.height,"Horizontal Flow Layout",!0)})])}})();(function(){Sidebar.prototype.addAndroidPalette=function(){var a=this,d=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.android.",e=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;strokeColor=none;shape=",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=2;shape=mxgraph.android.", +a.geometry.width,a.geometry.height,"Horizontal Flow Layout",!0)})])}})();(function(){Sidebar.prototype.addAlliedTelesysPalette=function(){this.addAlliedTelesysBuildingsPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysComputerTerminalsPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysMediaConvertersPalette(60,"allied telesys",this, +"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysSecurityPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysStoragePalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysSwitchPalette(60, +"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysWirelessPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/")};Sidebar.prototype.addAlliedTelesysBuildingsPalette=function(a,d,e,b){b+="buildings/";var c=[this.createVertexTemplateEntry(b+"Apartments.svg;",.9*a,1.75*a,"","Apartments",!1,null,this.getTagsForStencil("buildings", +"apartments",d).join(" ")),this.createVertexTemplateEntry(b+"Building_Cluster.svg;",2.02*a,1.85*a,"","Building Cluster",!1,null,this.getTagsForStencil("buildings","building cluster",d).join(" ")),this.createVertexTemplateEntry(b+"Large_Building.svg;",1.25*a,1.25*a,"","Large Building",!1,null,this.getTagsForStencil("buildings","large building",d).join(" ")),this.createVertexTemplateEntry(b+"Long_Building.svg;",2.09*a,2.16*a,"","Long Building",!1,null,this.getTagsForStencil("buildings","long building", +d).join(" ")),this.createVertexTemplateEntry(b+"Medium_Business_Building.svg;",.91*a,1.17*a,"","Medium Business Building",!1,null,this.getTagsForStencil("buildings","medium business building",d).join(" ")),this.createVertexTemplateEntry(b+"School_Building.svg;",2.75*a,2.78*a,"","School Building",!1,null,this.getTagsForStencil("buildings","school building",d).join(" ")),this.createVertexTemplateEntry(b+"Secure_Building.svg;",2.72*a,1.86*a,"","Secure Building",!1,null,this.getTagsForStencil("buildings", +"secure building",d).join(" "))];this.addPalette("allied_telesysBuildings","Allied Telesys / Buildings",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysComputerTerminalsPalette=function(a,d,e,b){b+="computer_and_terminals/";var c=[this.createVertexTemplateEntry(b+"IP_TV.svg;",.82*a,.84*a,"","IP TV",!1,null,this.getTagsForStencil("computer terminals","ip tv internet protocol television",d).join(" ")),this.createVertexTemplateEntry(b+ +"Keypad.svg;",.44*a,.8*a,"","Keypad",!1,null,this.getTagsForStencil("computer terminals","keypad",d).join(" ")),this.createVertexTemplateEntry(b+"Laptop.svg;",.7*a,.71*a,"","Laptop",!1,null,this.getTagsForStencil("computer terminals","laptop",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer.svg;",.76*a,1.03*a,"","Personal Computer",!1,null,this.getTagsForStencil("computer terminals","personal computer",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer_Wireless.svg;", +1.05*a,1.07*a,"","Personal Computer Wireless",!1,null,this.getTagsForStencil("computer terminals","personal computer wireless",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer_with_Server.svg;",1.04*a,1.04*a,"","Personal Computer with Server",!1,null,this.getTagsForStencil("computer terminals","Personal Computer Server",d).join(" ")),this.createVertexTemplateEntry(b+"POS_keypad.svg;",.62*a,.46*a,"","POS Keypad",!1,null,this.getTagsForStencil("computer terminals","pos keypad",d).join(" ")), +this.createVertexTemplateEntry(b+"POS_Printer.svg;",.62*a,.54*a,"","POS Printer",!1,null,this.getTagsForStencil("computer terminals","pos printer",d).join(" ")),this.createVertexTemplateEntry(b+"Server_Desktop.svg;",.71*a,.9*a,"","Server Desktop",!1,null,this.getTagsForStencil("computer terminals","server desktop",d).join(" ")),this.createVertexTemplateEntry(b+"Smartphone.svg;",.33*a,.72*a,"","Smartphone",!1,null,this.getTagsForStencil("computer terminals","smartphone",d).join(" ")),this.createVertexTemplateEntry(b+ +"Tablet.svg;",.45*a,.95*a,"","Tablet",!1,null,this.getTagsForStencil("computer terminals","tablet",d).join(" ")),this.createVertexTemplateEntry(b+"Tablet_Alternative.svg;",.58*a,.8*a,"","Tablet Alternative",!1,null,this.getTagsForStencil("computer terminals","tablet alternative",d).join(" ")),this.createVertexTemplateEntry(b+"Vdeo_Conference_Terminal.svg;",.53*a,.75*a,"","Vdeo Conference Terminal",!1,null,this.getTagsForStencil("computer terminals","vdeo conference terminal",d).join(" ")),this.createVertexTemplateEntry(b+ +"VOIP_IP_phone.svg;",.5*a,.76*a,"","VOIP IP Phone",!1,null,this.getTagsForStencil("computer terminals","voip ip phone voice over internet protocol",d).join(" "))];this.addPalette("allied_telesysComputer and Terminals","Allied Telesys / Computer and Terminals",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysMediaConvertersPalette=function(a,d,e,b){b+="media_converters/";var c=[this.createVertexTemplateEntry(b+"Industrial_Media_Converter.svg;", +.5*a,.95*a,"","Industrial Media Converter",!1,null,this.getTagsForStencil("media converters","industrial media converter",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Media_Converter_POE.svg;",.5*a,.95*a,"","Industrial Media Converter POE",!1,null,this.getTagsForStencil("media converters","industrial media converter poe",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Modular.svg;",1.18*a,.91*a,"","Media Converter Modular",!1,null,this.getTagsForStencil("media converters", +"media converter modular",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Standalone.svg;",.76*a,.62*a,"","Media Converter Standalone",!1,null,this.getTagsForStencil("media converters","media converter standalone",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Standalone_POE.svg;",.76*a,.62*a,"","Media Converter Standalone POE",!1,null,this.getTagsForStencil("media converters","media converter standalone poe",d).join(" "))];this.addPalette("allied_telesysMedia Converters", +"Allied Telesys / Media Converters",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysSecurityPalette=function(a,d,e,b){b+="security/";var c=[this.createVertexTemplateEntry(b+"DVS_Surveillance_Monitor.svg;",.7*a,1*a,"","DVS Surveillance Monitor",!1,null,this.getTagsForStencil("security","dvs surveillance monitor",d).join(" ")),this.createVertexTemplateEntry(b+"EtherGRID.svg;",1.49*a,1.08*a,"","EtherGRID",!1,null,this.getTagsForStencil("security", +"ethergrid",d).join(" ")),this.createVertexTemplateEntry(b+"POE_DVS_Camera.svg;",.85*a,.67*a,"","POE DVS Camera",!1,null,this.getTagsForStencil("security","poe dvs camera",d).join(" ")),this.createVertexTemplateEntry(b+"POS.svg;",1.13*a,1.2*a,"","POS",!1,null,this.getTagsForStencil("security","pos",d).join(" ")),this.createVertexTemplateEntry(b+"Router_UTM.svg;",.93*a,.66*a,"","Router UTM",!1,null,this.getTagsForStencil("security","router utm",d).join(" ")),this.createVertexTemplateEntry(b+"Router_VPN.svg;", +.93*a,.66*a,"","Router VPN",!1,null,this.getTagsForStencil("security","router vpn",d).join(" ")),this.createVertexTemplateEntry(b+"Surveillance_Camera_Ceiling.svg;",.62*a,.59*a,"","Surveillance Camera Ceiling",!1,null,this.getTagsForStencil("security","surveillance camera ceiling",d).join(" "))];this.addPalette("allied_telesysSecurity","Allied Telesys / Security",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysStoragePalette= +function(a,d,e,b){b+="storage/";var c=[this.createVertexTemplateEntry(b+"Datacenter_Server_Half_Rack_ToR.svg;",1.47*a,1.91*a,"","Datacenter Server Half Rack ToR",!1,null,this.getTagsForStencil("storage","datacenter server half rack tor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack.svg;",1.47*a,2.98*a,"","Datacenter Server Rack",!1,null,this.getTagsForStencil("storage","datacenter server rack",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_EoR.svg;", +1.43*a,2.89*a,"","Datacenter Server Rack EoR",!1,null,this.getTagsForStencil("storage","datacenter server rack eor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_Storage_Unit_Small.svg;",1.29*a,1.12*a,"","Datacenter Server Rack Storage Unit Small",!1,null,this.getTagsForStencil("storage","datacenter server rack storage unit small",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_ToR.svg;",1.47*a,2.98*a,"","Datacenter Server Rack ToR",!1,null,this.getTagsForStencil("storage", +"datacenter server rack tor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Storage_Unit_Large.svg;",1.28*a,1.32*a,"","Datacenter Server Storage Unit Large",!1,null,this.getTagsForStencil("storage","datacenter server storage unit large",d).join(" "))];this.addPalette("allied_telesysStorage","Allied Telesys / Storage",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysSwitchPalette=function(a,d,e,b){b+="switch/"; +var c=[this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE200.svg;",.67*a,.94*a,"","Industrial Ethernet IE200",!1,null,this.getTagsForStencil("switch","industrial ethernet ie200",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE200_POE.svg;",.67*a,.94*a,"","Industrial Ethernet IE200 POE",!1,null,this.getTagsForStencil("switch","industrial ethernet ie200 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE300.svg;",1.16*a,1.29*a,"","Industrial_Ethernet_IE300", +!1,null,this.getTagsForStencil("switch","industrial ethernet ie300",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SBx8106.svg;",1.43*a,1.23*a,"","Modular Switch SBx8106",!1,null,this.getTagsForStencil("switch","modular switch sbx8106",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SBx8112.svg;",1.49*a,1.53*a,"","Modular Switch SBx8112",!1,null,this.getTagsForStencil("switch","modular switch sbx8112",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SXx908GEN2.svg;", +1.3*a,1.11*a,"","Modular Switch SXx908GEN2",!1,null,this.getTagsForStencil("switch","modular switch sxx908gen2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L2.svg;",1.24*a,.85*a,"","Switch 24 port L2",!1,null,this.getTagsForStencil("switch","switch 24 port l2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L2_POE.svg;",1.24*a,.85*a,"","Switch 24 port L2 POE",!1,null,this.getTagsForStencil("switch","switch 24 port l2 poe",d).join(" ")),this.createVertexTemplateEntry(b+ +"Switch_24_port_L3.svg;",1.24*a,.85*a,"","Switch 24 port L3",!1,null,this.getTagsForStencil("switch","switch 24 port l3",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L3_Alternative.svg;",1.3*a,.88*a,"","Switch 24 port L3 Alternative",!1,null,this.getTagsForStencil("switch","switch 24 port l3 alternative",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L3_POE.svg;",1.24*a,.85*a,"","Switch 24 port L3 POE",!1,null,this.getTagsForStencil("switch","switch 24 port l3 poe", +d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L2.svg;",1.3*a,.88*a,"","Switch 48 port L2",!1,null,this.getTagsForStencil("switch","switch 48 port l2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L2_POE.svg;",1.3*a,.88*a,"","Switch 48 port L2 POE",!1,null,this.getTagsForStencil("switch","switch 48 port l2 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L3.svg;",1.3*a,.88*a,"","Switch 48 port L3",!1,null,this.getTagsForStencil("switch","switch 48 port l3", +d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L3_POE.svg;",1.3*a,.88*a,"","Switch 48 port L3 POE",!1,null,this.getTagsForStencil("switch","switch 48 port l3 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_52_port_L3.svg;",1.3*a,.88*a,"","Switch 52 port L3",!1,null,this.getTagsForStencil("switch","switch 52 port l3",d).join(" "))];this.addPalette("allied_telesysSwitch","Allied Telesys / Switch",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}; +Sidebar.prototype.addAlliedTelesysWirelessPalette=function(a,d,e,b){b+="wireless/";var c=[this.createVertexTemplateEntry(b+"Access_Point_Indoor.svg;",.61*a,.91*a,"","Access Point Indoor",!1,null,this.getTagsForStencil("wireless","access point indoor",d).join(" ")),this.createVertexTemplateEntry(b+"Access_Point_Outdoor.svg;",.43*a,1.66*a,"","Access Point Outdoor",!1,null,this.getTagsForStencil("wireless","access point outdoor",d).join(" ")),this.createVertexTemplateEntry(b+"Laptop_Wireless.svg;",.96* +a,.79*a,"","Laptop Wireless",!1,null,this.getTagsForStencil("wireless","laptop wireless",d).join(" "))];this.addPalette("allied_telesysWireless","Allied Telesys / Wireless",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addAndroidPalette=function(){var a=this,d=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.android.",e=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;strokeColor=none;shape=",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=2;shape=mxgraph.android.", c=[this.createVertexTemplateEntry(d+"phone2;fillColor=#ffffff;strokeColor=#c0c0c0;",200,390,"","Phone",null,null,"android phone mobile portrait"),this.createVertexTemplateEntry(d+"phone2;fillColor=#ffffff;strokeColor=#c0c0c0;direction=south;",390,200,"","Phone (landscape)",null,null,"android phone mobile landscape"),this.createVertexTemplateEntry(d+"tab2;fillColor=#ffffff;strokeColor=#c0c0c0;",472,686,"","Tab",null,null,"android tab tablet portrait"),this.createVertexTemplateEntry(d+"tab2;fillColor=#ffffff;strokeColor=#c0c0c0;direction=north;", 686,472,"","Tab (landscape)",null,null,"android tab tablet landscape"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar;fillColor=#1A1A1A;strokeColor=#c0c0c0;strokeWidth=2;fontColor=#FFFFFF;",185,30,"","Action Bar",null,null,"android action bar dark portrait"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar;fillColor=#E6E6E6;strokeColor=#c0c0c0;strokeWidth=2;",185,30,"","Action Bar (Bright)", null,null,"android action bar bright portrait"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar_landscape;fillColor=#1A1A1A;strokeColor=#c0c0c0;strokeWidth=2;fontColor=#FFFFFF;",320,30,"","Action Bar Landscape",null,null,"android action bar landscape dark"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar_landscape;fillColor=#E6E6E6;strokeColor=#c0c0c0;strokeWidth=2;",320,30,"","Action Bar Landscape (Bright)", @@ -3328,7 +3357,7 @@ this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxg 174,30,"","Textfield Activated",null,null,"android textfield activated"),this.createVertexTemplateEntry(d+"text_insertion_point;",20,30,"","Text Insertion Point",null,null,"android textfield insertion point"),this.createVertexTemplateEntry(d+"textSelHandles;fillColor=#33b5e5;strokeColor=#0099cc;",168.8,42.2,"","Text Selection Handles",null,null,"android text selection handle"),this.createVertexTemplateEntry(d+"time_picker;",150,230,"","Time Picker (Bright)",null,null,"android time picker bright"), this.createVertexTemplateEntry(d+"time_picker_dark;",150,230,"","Time Picker (Dark)",null,null,"android time picker dark"),this.createVertexTemplateEntry(e+"rect;fillColor=#33b5e5;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#0099cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#aa66cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#9933cc;",50,50,"","Color", null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#99cc00;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#669900;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ffbb33;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ff8800;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ff4444;",50, -50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#cc0000;",50,50,"","Color",null,null,"android color")];this.addPalette("android",mxResources.get("android"),!1,mxUtils.bind(this,function(b){for(var a=0;a<c.length;a++)b.appendChild(c[a](b))}))}})();(function(){Sidebar.prototype.addArchiMatePalette=function(){this.addPaletteFunctions("archimate",mxResources.get("archiMate21"),!1,[this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=actor",100,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate","application","archimate business actor").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=role", +50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#cc0000;",50,50,"","Color",null,null,"android color")];this.addPalette("android",mxResources.get("android"),!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addArchiMatePalette=function(){this.addPaletteFunctions("archimate",mxResources.get("archiMate21"),!1,[this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=actor",100,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate","application","archimate business actor").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=role", 100,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business role").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=collab",100,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business collaboration").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=interface", 100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=interface2",100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.location", 100,75,"","Location",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate location").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.business;busType=process",100,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business process").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.business;busType=function", @@ -4349,14 +4378,14 @@ null,null,this.getTagsForStencil("mxgraph.citrix","Role Synchronizer","").join(" "XenApp Web","").join(" ")),this.createVertexTemplateEntry(a+"xencenter;",76,89,"","XenCenter",null,null,this.getTagsForStencil("mxgraph.citrix","XenCenter","").join(" ")),this.createVertexTemplateEntry(a+"xenclient;",91,77,"","XenClient",null,null,this.getTagsForStencil("mxgraph.citrix","XenClient","").join(" ")),this.createVertexTemplateEntry(a+"xenclient_synchronizer;fillColor=#CCCCCC;gradientColor=#000000;gradientDirection=south;",76,91,"","XenClient Synchronizer",null,null,this.getTagsForStencil("mxgraph.citrix", "Synchronizer","").join(" ")),this.createVertexTemplateEntry(a+"xendesktop_server;",75,91,"","XenDesktop Server",null,null,this.getTagsForStencil("mxgraph.citrix","XenDesktop Server","").join(" ")),this.createVertexTemplateEntry(a+"xenmobile;fillColor=#CCCCCC;gradientColor=#000000;gradientDirection=south;",70,89,"","XenMobile",null,null,this.getTagsForStencil("mxgraph.citrix","XenMobile","").join(" ")),this.createVertexTemplateEntry(a+"xenserver;",76.5,90,"","XenServer",null,null,this.getTagsForStencil("mxgraph.citrix", "XenServer","").join(" "))])}})();(function(){Sidebar.prototype.addEipMessageConstructionPalette=function(a){var d=this,e=[this.createEdgeTemplateEntry("edgeStyle=none;html=1;strokeColor=#808080;endArrow=block;endSize=10;dashed=0;verticalAlign=bottom;strokeWidth=2;",160,0,"","Pipe",null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction pipe").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", -150,90,"","Filter",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction filter").join(" ")),this.addEntry("eip enterprise integration pattern message construction command message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("C",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#FF8080;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Command Message")}),this.addDataEntry("eip enterprise integration pattern message construction correlation identifier",78,30,"Correlation Identifier","5ZZLT8JAEIB/Ta+mDwv1KAicTEw8qMeVDu2GpUO2ixZ/vbPdAVorilExkTZN5rEznf1mtqkXDRfVRItlfo0pKC8aedFQIxonLaohKOWFvky96MoLQ58eLxzv8Qa1118KDYU5JCB0AU9CrcBZnKE0a8UGSDO4ZRW1yTHDQqjRzjrQuCpSsBl90qCS5r4hP1j5LLZakV5qjc9kKLCwkako821gbha0/6uAxNJonMMQFeq6iCjx7b313MnU5OQJyeIKtlW2GJS40lM29ZzJCJ0BY4m7pOpAxjQBXIDRa1qiQQkjn9rZRenUbLtuB5kE5vw+8+gkmCdd5v2/Y35+APMdqUeF03mbDnnHUrVZNYl06I3HF4RwD6ifRMChNygpY+hXvGEe8HXrBGziXaM4pPl5eJMl6H+UxfW2k6XuxXYnB7Un/rw9XeStQRZKZgXJU+IK1ILBDAtzK19sdGL7k4ullem9clnaczCjdu6f9o2HDw3XB9pA9dVOPnPNdgXvKweZ5aZt+8549zr8Ln8LoIap6dLjaX/nHPj1tcnH5QSsN9bN6uubqDcBvdbYBnwMj9CI/n8eZA6I/aPhTDo4B6c8171jzTWpu39Q9z1v/qK+Ag=="), -this.addEntry("eip enterprise integration pattern message construction document message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("D",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#C7A0FF;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Document Message")}),this.addEntry("eip enterprise integration pattern message construction event message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("E",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#83BEFF;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Event Message")}),this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messExp;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top", +150,90,"","Filter",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction filter").join(" ")),this.addEntry("eip enterprise integration pattern message construction command message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("C",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#FF8080;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Command Message")}),this.addDataEntry("eip enterprise integration pattern message construction correlation identifier",78,30,"Correlation Identifier","5ZZLT8JAEIB/Ta+mDwv1KAicTEw8qMeVDu2GpUO2ixZ/vbPdAVorilExkTZN5rEznf1mtqkXDRfVRItlfo0pKC8aedFQIxonLaohKOWFvky96MoLQ58eLxzv8Qa1118KDYU5JCB0AU9CrcBZnKE0a8UGSDO4ZRW1yTHDQqjRzjrQuCpSsBl90qCS5r4hP1j5LLZakV5qjc9kKLCwkako821gbha0/6uAxNJonMMQFeq6iCjx7b313MnU5OQJyeIKtlW2GJS40lM29ZzJCJ0BY4m7pOpAxjQBXIDRa1qiQQkjn9rZRenUbLtuB5kE5vw+8+gkmCdd5v2/Y35+APMdqUeF03mbDnnHUrVZNYl06I3HF4RwD6ifRMChNygpY+hXvGEe8HXrBGziXaM4pPl5eJMl6H+UxfW2k6XuxXYnB7Un/rw9XeStQRZKZgXJU+IK1ILBDAtzK19sdGL7k4ullem9clnaczCjdu6f9o2HDw3XB9pA9dVOPnPNdgXvKweZ5aZt+8549zr8Ln8LoIap6dLjaX/nHPj1tcnH5QSsN9bN6uubqDcBvdbYBnwMj9CI/n8eZA6I/aPhTDo4B6c8171jzTWpu39Q9z1v/qK+Ag=="), +this.addEntry("eip enterprise integration pattern message construction document message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("D",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#C7A0FF;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Document Message")}),this.addEntry("eip enterprise integration pattern message construction event message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("E",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#83BEFF;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Event Message")}),this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messExp;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top", 48,48,"","Message Expiration",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction message expiration").join(" ")),this.addDataEntry("eip enterprise integration pattern message construction message sequence",60,24,"Message Sequence","5VVdb4MgFP01vKtY4+vKZp+WLNnDnpneKSmKQWp1v34gtKWhXfawNPswMbn33A+45xBAmLTTRtK+eRQVcIQfECZSCGWtdiLAOUoiViF8j5Ik0j9KiivReIlGPZXQqa8UJLZgpHwHFrHAoGbugHInRzDpMcJr6Ko7KcVeu69clFsNNarlLjooKbZABBdyqcUxIUUUHSMvrFKNjiS20zN7N2tg7dlVoarhbJBB7GTpoJWFFJU1uNnScNyl0M26AdGCkrNOkcCpYuN5dzpYtz7muVI9Ip29hF6wTg1e5ycD6ITJ9ct9krVhGxw8bycnaBHisij494iShaKsfogoafKtoqSBKHGgSkhoRYdm0cnwTTmrO22XmhjQYqzfRKcc37nRo6G9sSWUykQZ555seVQUGbkkaLR8h35uO/FRwBGkgglduyCuiDO7qDt7ezeUBzXA6kadY5fU8yT4lOFVwHB47v8Sw67gcLJuT3gWEI7/A+FpfiPCtXt6ye2V4z/0Hw=="), -this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.retAddr;html=1;verticalLabelPosition=bottom;fillColor=#FFE040;strokeColor=#000000;verticalAlign=top;",78,48,"","Return Address",null,null,this.getTagsForStencil("mxgraph.eip","retAddr","eip enterprise integration pattern message construction return address").join(" "))];this.addPalette("eipMessage Construction","EIP / Message Construction",a||!1,mxUtils.bind(this,function(b){for(var a= -0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addEipMessageRoutingPalette=function(a){var d=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.aggregator;",150,90,"","Aggregator",null,null,this.getTagsForStencil("mxgraph.eip","aggregator","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.composed_message_processor;", +this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.retAddr;html=1;verticalLabelPosition=bottom;fillColor=#FFE040;strokeColor=#000000;verticalAlign=top;",78,48,"","Return Address",null,null,this.getTagsForStencil("mxgraph.eip","retAddr","eip enterprise integration pattern message construction return address").join(" "))];this.addPalette("eipMessage Construction","EIP / Message Construction",a||!1,mxUtils.bind(this,function(a){for(var b= +0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addEipMessageRoutingPalette=function(a){var d=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.aggregator;",150,90,"","Aggregator",null,null,this.getTagsForStencil("mxgraph.eip","aggregator","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.composed_message_processor;", 150,90,"","Composed Message Processor",null,null,this.getTagsForStencil("mxgraph.eip","composed_message_processor","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.content_based_router;",150,90,"","Content Based Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router", "eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.dynamic_router;",150,90,"","Dynamic Router",null,null,this.getTagsForStencil("mxgraph.eip","dynamic_router","eip enterprise integration pattern message routing ").join(" ")),this.addDataEntry("eip enterprise integration pattern message routing message broker", 120,90,"Message Broker","5ZjJboMwEIafxneDWZJjQ9qcesqhZxcGjGpwZJytT1+DnQUpUZEqmYQiIWb+YcbMZySwEUmqw0rSDXsXGXBEXhFJpBDKWNUhAc6Rj8sMkSXyfaxP5L/diXpdFG+ohFoNSfBNwo7yLRjFCI06cis0Soov+CgzxbTgI7LIaMOgLYC1Q3lZ1NpO9YggtZCLWq3L7zZ7pt2G0U1rS0hVGy05TwQXsitO8jz/TNsyZpSrCO4OHbFPCFLB4W6XnWRbXIGoQMmjvsUmBLHJ2Nsm2sYjIzEoC3YqMjMabYxfnAtdCGrDQrwNlEwb6LFPygHQYNpAbcLctumebzhtvhZoGDgDGk0b6O0X1iHf+F/wPX2yLN/Yd8Z3NjLfFOchnTvmSyJnfOe/84WsgLV1a1HrywLq7EVKsb8oPeRMVXq8pXfGdj05pn5btAerEVuZQm/SFZUFqN6v4QCkEjhV5a5f/S+IPPwkjMiIjLwnYRSMyGjA8uYhGIUjMhqwYnkIRtGIjAYsQh6CUeyMkXYvuxRdrLeJ8QM="), @@ -4383,16 +4412,16 @@ this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;stro 150,90,"","Selective Consumer",null,null,this.getTagsForStencil("mxgraph.eip","selective_consumer","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;strokeWidth=2;strokeColor=#000000;html=1;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.service_activator;",150,90,"","Service Activator",null,null,this.getTagsForStencil("mxgraph.eip","service_activator","eip enterprise integration pattern messaging endpoint ").join(" ")), this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;strokeWidth=2;strokeColor=#000000;html=1;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.transactional_client;",150,90,"","Transactional Client",null,null,this.getTagsForStencil("mxgraph.eip","transactional_client","eip enterprise integration pattern messaging endpoint ").join(" "))])};Sidebar.prototype.addEipMessagingSystemsPalette=function(a){var d=this,e=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.content_based_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Message Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router","eip enterprise integration pattern messaging system ").join(" ")),this.createVertexTemplateEntry("strokeWidth=1;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messageChannel;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top;",100,20,"","Message Channel",null,null,this.getTagsForStencil("mxgraph.eip","messageChannel","eip enterprise integration pattern messaging system ").join(" ")), -this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var b=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");b.vertex=!0;var a=new mxCell("",new mxGeometry(85,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -b.geometry.width,b.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var b=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");b.vertex=!0;var a=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Message Endpoint")}),this.addDataEntry("eip enterprise integration pattern messaging system message endpoint",400,90,"Message Endpoint","zVXLbsIwEPwa300eFRwhbbm0UiUOPZtkSSycbOQsr3597cRAIkILKhUkiuSd9fgxs46ZH+XbqRZl9o4JKOa/MD/SiNS08m0ESjGPy4T5z8zzuPmY93omO6izvBQaCrqE4DWEtVAraJAGqGinHFCRxiV8yoQyA3jMnySiysAOwE0glEwL047NjKANsMCCZvLLsocmrDJR2raGmGxWKhWhQl0P7sd8EYqR7VbP0srw+jGZNWiSsVBvYg7qAytJEu2EcyTCvNVh7FZCWBrUbczkYHtWnBpyykwBcyC9M102brO2R9gIyDOQaeZoI4eJqonTA/UotWk4tfuV969VfnBb5Rf1czflvX7lHcELG8auG7Z8CXpsCW5gS/D4B+IvlX3Ql58o+m+VHj5+pV8kafCjpMO7lezT7/pCksLMhaDmuHk5ApPTeta4KpKD+lAkY61xY0++wnhZU4SmPVhgAXvMmTJwvHbYcTSjXDmnT1wZcvv2LqzZmN1Nx6UKVzqGzn/VLCYF6hTgBcdDgxIk193Rr/DGhMe7u851rvZv"), +this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");a.vertex=!0;var c=new mxCell("",new mxGeometry(85,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");a.vertex=!0;var c=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addDataEntry("eip enterprise integration pattern messaging system message endpoint",400,90,"Message Endpoint","zVXLbsIwEPwa300eFRwhbbm0UiUOPZtkSSycbOQsr3597cRAIkILKhUkiuSd9fgxs46ZH+XbqRZl9o4JKOa/MD/SiNS08m0ESjGPy4T5z8zzuPmY93omO6izvBQaCrqE4DWEtVAraJAGqGinHFCRxiV8yoQyA3jMnySiysAOwE0glEwL047NjKANsMCCZvLLsocmrDJR2raGmGxWKhWhQl0P7sd8EYqR7VbP0srw+jGZNWiSsVBvYg7qAytJEu2EcyTCvNVh7FZCWBrUbczkYHtWnBpyykwBcyC9M102brO2R9gIyDOQaeZoI4eJqonTA/UotWk4tfuV969VfnBb5Rf1czflvX7lHcELG8auG7Z8CXpsCW5gS/D4B+IvlX3Ql58o+m+VHj5+pV8kafCjpMO7lezT7/pCksLMhaDmuHk5ApPTeta4KpKD+lAkY61xY0++wnhZU4SmPVhgAXvMmTJwvHbYcTSjXDmnT1wZcvv2LqzZmN1Nx6UKVzqGzn/VLCYF6hTgBcdDgxIk193Rr/DGhMe7u851rvZv"), this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","5ZVRb4IwEMc/Da8LghJ9nCg+7cmHbY+NHLRZ6ZGjKu7Tr6VVR5RsiZlbMgjJ3f965d8fJQ3itGpXxGr+hDnIIF4GcUqI2kVVm4KUQRSKPIgXQRSF5gmibKA66qphzQiU/k5D5Bp2TG7BKU5o9EF6AfIS1j5F0hxLVEwuz+qccKtysDOGJoNW6JdP8auNHyY2U/kjEe6NoFDZzpw1/NTIdWXWvxiZsNGEb5CiROpMxNPQ3qfKs8g1N5XIKM6wddlj0OCWNl6aOEkzKsFjGV+S6ho9phVgBZoOZgiBZFrs+rOzxqXladwZsgk85+vM43/BPPlTzMdfM79cZY8Uk6JUJt4Y72AIzQtUei3ebffUQuKstrF5r6gbC7oQUg7jPFb8V/H+gDS0g//yAK2992xH+HVxECXXfe0WfpO78SPY6GvwsixJr+3SsLuO83k7oxuJHhv8Jj74dOrSO/BOfpl3Ucxm4eVmvS/vOPkp3iY9n7FdrXcEfwA="), -this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#80FF6C;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","vZRNb4MwDIZ/DdeJj25qjyvtetqph23HqBgSLcTIuC3dr19C0naIoU3qNBCS/TqvcR5Qoiyvuw2JRj5jATrK1lGWEyL7qO5y0DpKY1VE2SpK09g+Ufo0UU36atwIAsO/MaTecBB6D17xQssnHQQoKtiGFIklVmiEXl/VJeHeFOA6xjaDTvHrl/jNxXf3LjPFIxEerWDQOGchWnkxSq7t/leJDVsmfIccNVI/RDaP3X2pvKiCpa2kVvEDuykHDFrc0y5IMy+xoAoClmxMqjcGTBvAGphOdgmBFqwOw+6i9Wl1WXeFbIPA+Xvm2c/Mx7sckBJaVcbGOzs7WELLEg1v1Ydzzx0kKRoX2/eqpnWgS6X1NM5zJXyVMB8QQzf5X03QOoaZ3YqwLwmqkjzUbuE3+zd+BDsewyvLxSIew7OVuL/O/cI4yY1Ez4YH7ziFdO7Tv+dt0+v509cGx9Mn"), -this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_1;fillColor=#ff5500;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_2;fillColor=#00cc00;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_translator;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", -150,90,"","Message-Translator",null,null,this.getTagsForStencil("mxgraph.eip","message_translator","eip enterprise integration pattern messaging system ").join(" "))];this.addPalette("eipMessaging Systems","EIP / Messaging Systems",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addEipSystemManagementPalette=function(a){this.addPaletteFunctions("eipSystem Management","EIP / System Management",!1,[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.channel_purger;fillColor=#c0f5a9;strokeColor=#000000;", +this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#80FF6C;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","vZRNb4MwDIZ/DdeJj25qjyvtetqph23HqBgSLcTIuC3dr19C0naIoU3qNBCS/TqvcR5Qoiyvuw2JRj5jATrK1lGWEyL7qO5y0DpKY1VE2SpK09g+Ufo0UU36atwIAsO/MaTecBB6D17xQssnHQQoKtiGFIklVmiEXl/VJeHeFOA6xjaDTvHrl/jNxXf3LjPFIxEerWDQOGchWnkxSq7t/leJDVsmfIccNVI/RDaP3X2pvKiCpa2kVvEDuykHDFrc0y5IMy+xoAoClmxMqjcGTBvAGphOdgmBFqwOw+6i9Wl1WXeFbIPA+Xvm2c/Mx7sckBJaVcbGOzs7WELLEg1v1Ydzzx0kKRoX2/eqpnWgS6X1NM5zJXyVMB8QQzf5X03QOoaZ3YqwLwmqkjzUbuE3+zd+BDsewyvLxSIew7OVuL/O/cI4yY1Ez4YH7ziFdO7Tv+dt0+v509cGx9Mn"), +this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_1;fillColor=#ff5500;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_2;fillColor=#00cc00;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_translator;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", +150,90,"","Message-Translator",null,null,this.getTagsForStencil("mxgraph.eip","message_translator","eip enterprise integration pattern messaging system ").join(" "))];this.addPalette("eipMessaging Systems","EIP / Messaging Systems",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addEipSystemManagementPalette=function(a){this.addPaletteFunctions("eipSystem Management","EIP / System Management",!1,[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.channel_purger;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Channel Purger",null,null,this.getTagsForStencil("mxgraph.eip","channel_purger","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.control_bus;fillColor=#c0f5a9;strokeColor=#000000;",60,40,"","Control Bus",null,null,this.getTagsForStencil("mxgraph.eip","control_bus","eip enterprise integration pattern system management ").join(" ")), this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.detour;fillColor=#c0f5a9;strokeColor=#000000;",150,90,"","Detour",null,null,this.getTagsForStencil("mxgraph.eip","detour","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.message_store;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Message Store",null,null,this.getTagsForStencil("mxgraph.eip","message_store","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.smart_proxy;fillColor=#c0f5a9;strokeColor=#000000;",70,90,"","Smart Proxy",null,null,this.getTagsForStencil("mxgraph.eip","smart_proxy","eip enterprise integration pattern system management ").join(" ")), @@ -4553,7 +4582,7 @@ this.getTagsForStencil("mxgraph.electrical.transmission","overground enclosure", this.createVertexTemplateEntry(v+"2_line_bus;",130,25,"","2-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","2 two line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"3_line_bus;",130,30,"","3-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"4_line_bus;",130,75,"","4-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission", "3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"8_line_bus;",130,180,"","8-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"twoLineBusElbow;notch=25;",120,120,"","2-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","2 two line bus elbow","electrical transmission paths bus buses").join(" ")), this.createVertexTemplateEntry(v+"threeLineBusElbow;notch=30;",120,120,"","3-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 two line bus elbow","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"fourLineBusElbow;notch=75;",120,120,"","4-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","4 two line bus elbow","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+ -"eightLineBusElbow;notch=180;",200,200,"","8-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","8 two line bus elbow","electrical transmission paths bus buses").join(" "))];this.addPalette("electricalTransmission","Electrical / Transmission Paths",!1,mxUtils.bind(this,function(b){for(var a=0;a<z.length;a++)b.appendChild(z[a](b))}))}})();(function(){Sidebar.prototype.addErPalette=function(){var a=this,d=new mxCell("Row",new mxGeometry(0,0,40,26),"text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;");d.vertex=!0;var e=[this.addEntry("er entity relation table",function(){var b=new mxCell("Table",new mxGeometry(0,0,160,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); +"eightLineBusElbow;notch=180;",200,200,"","8-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","8 two line bus elbow","electrical transmission paths bus buses").join(" "))];this.addPalette("electricalTransmission","Electrical / Transmission Paths",!1,mxUtils.bind(this,function(a){for(var b=0;b<z.length;b++)a.appendChild(z[b](a))}))}})();(function(){Sidebar.prototype.addErPalette=function(){var a=this,d=new mxCell("Row",new mxGeometry(0,0,40,26),"text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;");d.vertex=!0;var e=[this.addEntry("er entity relation table",function(){var b=new mxCell("Table",new mxGeometry(0,0,160,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); b.vertex=!0;b.insert(a.cloneCell(d,"Row 1"));b.insert(a.cloneCell(d,"Row 2"));b.insert(a.cloneCell(d,"Row 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Table")}),this.addEntry("er entity relation table section subsection",function(){var b=new mxCell("Section",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=22;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); b.vertex=!0;b.insert(a.cloneCell(d,"Row 1"));b.insert(a.cloneCell(d,"Row 2"));b.insert(a.cloneCell(d,"Row 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Section")}),this.addDataEntry("er entity relation table section subsection",160,144,"ER Table 1","7ZjbbqMwEIafhtuVDSHdXBZ60GpTqWr6AgYcsNbYrHE2SZ9+x8a0SUmURCnZdkUOEjMeH2bm44+CF8Tl6l6RqniQGeVecOuhaw9NvCBWUuo327rKVUw593zEMi+48Xwfwdfz7w6FYRuGKqKo0CfN9JuZfwhf0MbzTBJOG2+t19x56yUrORFgRXMp9MyNILDTgvFsStZyYbauNUl/tVZUSMVeIJ5A5jcYHDCs9Iy9mMn+2KzGOI8ll8ruE1Bk3lszZ2ZFt5eiNcx9bPPE71wPZLUVOCW1bk8pOSdVzRJ7bjOxJCpnIpJay9IFtVnebR9qbl8wTjjLBfhS2IuqthZNNngEtqsmVZqu9rbGujb74lpzT2VJtVpD+JJlunDR46aVqKAsL9olRqPGSerGkb/O3dF18LjGH6Ah6NCwEOz3gv7IukAUpDKXkJhmhD/RVBORm9FIy8rVk9N5W3/lDm+uk7bmeKOmTWxkasdSwq+du2RZZlfdBEVIS2JdkZSJfNrsEozeXE9uN+OSsOScyyWYBSxGhTmN1EST5JXhSjKhbSnDCD5Q8Rh9C70QMo3Bxm82fEy40rEUtVaE2a5SAG1JDWxRpmT1DGjRNtvN+yV8x4x/LDP+ScxMdiAToD6IGXWIefx5NivJ5j25o+/HIrPNx4fhcYgAk6aD++hep1IIU5akrRnqMhCcxEBwMQbCDgMKyukj3I9ooMME2MW+uGJcXiHg97gHOsYdOv61PjR0/GfiEJ4tDv20/2qPOJxPwSAOX18cvg/icAlxuPqk4jDZIw7BIA6DOPgYDepwCXWYfFJ1wPjj+z/owiV1AffyfxN3H1oOutCDLuDTHlTuEoZzAbDOjQflLmjrgfpf"), this.addDataEntry("er entity relation table section subsection",160,112,"ER Table 2","7ZdRb+IwDIB/TV9Pabuy2+Najj2MSdPYHzBtaKNLkyrNDtivPydNRjtAwLFN22lQpNqxndj+atEgzurVjYKmupMF5UH8KyDXAbkK4kxJqTeyVdWrjHIeRIQVQTwOoojgL4gmh8xCa0YaUFTokzyjzvMP8CfaaR5hzmmnbfWaO227ZDUHgVK6kELP3ApBOa8YL6awlk9m61ZD/ttLaSUVe0Z7wMzHISpwWekZezbO0chEY5xnkktl94kpMd+B58xEdHsp2qLvvc8zfKW6g9XAcAqt9qeUnEPTsrk9t3GsQZVMpFJrWTsjn+VkeKiF/eA6cFYK1OW4F1W+Fl024QXKrppUabra2xqr6vfFteaGyppqtUbzJSt05axHXStJRVlZ+RChaxy0naJ88d3RddS4xh+gId6iQcklKsJtHipozC3mpRnwB5prEKVZTbVsXDk5XfjyK3d2cz/vl9yXtLNNTelYDvzaqWtWFDZqnxMhLYhtAzkT5bTbZUQ2qge3m2mJxJALjmnE4wqDUWFOIzVomL8g3EgmtK1kkuKFBc/IjyRIMNMM5XAj42XMlc6kaLUCZptKkbMlNaylhZLNI5JFfbb9xyV5hUx0LDLRSchc7SAmJu8BzMUWMPe3WKzJ7UnE9EsU7iNoQM0OGo4FaUjNxVtBc4gLk7ZL72gCcimEKdPc15BskxGfREYy+igykj2jJHqfURJ+j5IvPkpG+0bJScR8j5J/HyXJJx0ll5/uX4kN9sXnyMfPDf+Ivy0dP7foOBuLM+dDR8d/Nhwuzx4O57bfKnsvzc5o8HL9Fw=="), @@ -4659,48 +4688,48 @@ this.addDataEntry("gmdl google media design library button dropdown button selec this.addDataEntry("gmdl google media design library button dropdown button selected editable",100,150,"Dropdown Button (Selected, Editable)","7ZZRT4MwEMc/DY8uQJn66lDngyYmJvpc6QGNhS6l6uan90rLNkARFX1aE5L2endtf/9y4JG4WC8VXeU3koHwyIVHYiWltr1iHYMQXuhz5pFzLwx9fLzw8pPZoJ71V1RBqccEhDbghYpnsBZrqPRGOAOjVQ7G3ffIggqeldhPMD8oNKSy1Hf8zfgGIY6rnK7MQEGizTQXIpZCqjoXSetm3LSST7A3k9TNJmDy1aTDgdsdKA3rT09Ym9zxliAL0GqDLq+c6dx5+JaCnwPP8iZs7oy0soZsG7sDhh3H7GN+pMfvTHEqehC7WJDa3uH9uqHdnJQnVJw5zAVnzKRYVCua8DK7htTsPiAd8tEg0kY0UUcvFFQY9uDwjMYc/gxz5GwKBNX8BVr5f4M++vrqDlzGUpYwCM1SumpOMhoT+RhTO2APWjQFM7fereS4je1iR1Hnhss0rUD3IG+3OYr7/JslI9eFcAAbPYp1ZireLCuYmGl8YcqsvuWdarGrCS2VnHSj1IgG1fBn7jCbzrh1qfv6zKeRp734UdisPqlcxz25YqwHj4r3VEOOf1Wb/rfkkF++Pk6Q7vdhEjlO+nLIZ8XxW3qQY1iO07+Q47Qnxz0oRkt6kOMLOYJgAj1wuPvXte77v8Lv"), this.addDataEntry("gmdl google media design library button persistent footer button",300,40,"Persistent Footer Buttons","3ZXRTsMgFIafhnsK64y3q25X6oXzAYicDSLtaQBd59NLAbdVXabJ3EVJSM75f/4WvpBAeFV3CytadYcSDOG3hFcW0aeq7iowhjCqJeE3hDEaJmHzI24RXdoKC43/TYClwJswr5CUJDi/NVlwSrR9aeE5fHK20sZUaNBGl6/iCLrzFl/gwIE4ekcJiZsg0tDk/4H10B3dc5TyhheANXi7DUs2WnqVVnCazkUV6LXKsUnWhEv9ehfdEwhFhvAzEP4NyOxpuXy4P4VlePwGG/jC6lPCxj/q9z5ZsNwfQGPF9XTOgy6FUyD/Ao2dhHZV/g+zydiYdUNeF0BYjhRhUdKLMZyOlOHudpyfYWj3b030Bk/RBw=="),this.addDataEntry("gmdl google media design library button persistent footer button fixed", 300,40,"Persistent Footer Buttons (fixed)","7ZXfboMgFMafhnuEtstu69buZn+SdQ9A5rGQoRhgrd3TDwWtrjN1aXcniQnnO5wD/D4TEI2zcq1ZwR9VAhLRe0RjrZT1s6yMQUpEsEgQvUOEYPchshrIRnUWF0xDbscUEF+wY/ITvOIFYw8yCIazoppqeHctl6mQMlZS6TpL03o43VitPqCTgXpUGc4StXcidkHYD7SFcvDMtRQOvAaVgdUHt2QvEsv9Cor9vTAHseWhbBY0Zny8bUuPBNwkQPgdCD0BsnzbbJ6fzmHpXz9XOfxg1Ugqt6/iq6qMSIg70Eh0u1hRpyfMcEgCNA3GlTw0V43GciRnOd7MhzFqkMyKHfTaX8J2NrH9M9uww4sSbmOCy37rpkKlqQF74kV7rlH2zCd7rmRPNMf/4M9i8udK/rT/+iX+uPD4Tvvl3Wf8Gw=="),this.addEntry("gmdl google media design library button floating action button", -function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;fillColor=#FF4081;strokeColor=none;shadow=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#ffffff;strokeWidth=2;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0, -0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button", -function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}), -this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a); -return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.users;strokeColor=#ffffff;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.chat;strokeColor=#737373;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,16,16,24),"dashed=0;html=1;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.x;strokeColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(17,20,22,16),"dashed=0;html=1;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;strokeWidth=1;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,18,16,20),"dashed=0;html=1;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;direction=south;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button mini",function(){var b=new mxCell("",new mxGeometry(0,0,40,40),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(12,12,16,16), -"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#737373;strokeWidth=2;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],40,40,"Floating Action Button (Mini)")}),this.addDataEntry("gmdl google media design library button toolbar",358,64,"Toolbar","3ZXRboMgFIafhssaBLtut7Vbr5bsbtekHoUMxCDr7NsPhdpaa2bSZlmmMYHD+TmH7zcB0VQ1W8Mq/qozkIg+I5oara0fqSYFKRHBIkN0gwjB7kPkZWI17lZxxQyUdo6AeMGeyU/wER+o7UGGQM1Z1Q4N7NyW61xImWqpTbdK8+5x8doa/QHHlVKXTrMuDBOuk4toqAnGQjPZdxcKTW9BK7Dm4FK+RGa5z6DLRy/jIAoeZA+Jj7Haz4teeqLgBgHEdSj0ZygZqzm06didh1vlttrELYUASzVF62lUqExGO6bAsBGjc3oXVFfd2yvew6HJXHjkOrwgwBFZes3hGAjzM7okGcONA3ADklmxh0H9a8RDC29auM76+ouYDMovnoY76DyvwY4c6w8yy8TkzibuRQZ66j//Zfv+v3vLO7tXMCmhLf4n/FvNMBCPDTxCuNlAPDQwjm930E1Pt5ZPP7/UvgE="), +function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;fillColor=#FF4081;strokeColor=none;shadow=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#ffffff;strokeWidth=2;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0, +0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button", +function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}), +this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c); +return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.users;strokeColor=#ffffff;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.chat;strokeColor=#737373;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,16,16,24),"dashed=0;html=1;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.x;strokeColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(17,20,22,16),"dashed=0;html=1;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;strokeWidth=1;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,18,16,20),"dashed=0;html=1;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;direction=south;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button mini",function(){var a=new mxCell("",new mxGeometry(0,0,40,40),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(12,12,16,16), +"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#737373;strokeWidth=2;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],40,40,"Floating Action Button (Mini)")}),this.addDataEntry("gmdl google media design library button toolbar",358,64,"Toolbar","3ZXRboMgFIafhssaBLtut7Vbr5bsbtekHoUMxCDr7NsPhdpaa2bSZlmmMYHD+TmH7zcB0VQ1W8Mq/qozkIg+I5oara0fqSYFKRHBIkN0gwjB7kPkZWI17lZxxQyUdo6AeMGeyU/wER+o7UGGQM1Z1Q4N7NyW61xImWqpTbdK8+5x8doa/QHHlVKXTrMuDBOuk4toqAnGQjPZdxcKTW9BK7Dm4FK+RGa5z6DLRy/jIAoeZA+Jj7Haz4teeqLgBgHEdSj0ZygZqzm06didh1vlttrELYUASzVF62lUqExGO6bAsBGjc3oXVFfd2yvew6HJXHjkOrwgwBFZes3hGAjzM7okGcONA3ADklmxh0H9a8RDC29auM76+ouYDMovnoY76DyvwY4c6w8yy8TkzibuRQZ66j//Zfv+v3vLO7tXMCmhLf4n/FvNMBCPDTxCuNlAPDQwjm930E1Pt5ZPP7/UvgE="), this.addDataEntry("gmdl google media design library button floating action button",50,156,"Floating action buttons","3ZZPb4MgGMY/Dcc2iH/mrtO1pyW77UwmChkWg6zVbz8Uamu1m5m2h5KYwCMv8P54IAA3yqutxAV9EwnhwH0FbiSFUKaWVxHhHCDIEuDGACGoP4A2V/467V9YYEl2akoAMgF7zL+JUYxQqppboaS4aKo6kBWlrr2USoovEgkupNZ3YteIKeP8KAHkxk7sxl7TmeJEHLTo6EYmccL00i5i7SKIVKS6mkgr2Sy2ROREyVp3sQGhCTiwRFGjeCZzSAnLqOpruDTtrBvnxEhXLKZxZO7fyBJcUtJ0hzo5qnJu0z+izKus2fF1lid8/SmKegBVEwzaMiTb6Sbiw2aMpnJEv3KEa9+E1BftM7IOGpJ1AqNJwrFie9Kbfgy3XcG7YHph3fSroDf7KuwPINK0JGqwW10akzbQezDPW1Y+vNsR8Bc+AoVsTDAN8lz7e/PtH97O/s+3t39wK/tvNh4MnTvY39Jx4NDxfjDcm6M2x/FPCzu+Grvx07b839rBfGuP4FvK2v3baglr6+bppWS6nz+kfgA="), this.addDataEntry("gmdl google media design library button related actions",200,40,"Related actions","3VbRboMgFP0aHtsgWtu9zm19WrK3PZNxFTIsBlhr/34o1NbqMpO1zTaNyb2He4R77nkAxVlZrzWt+LNiIFH8iOJMK2V9VNYZSIkIFgzFD4gQ7D5Enr5YjdpVXFENGzuFQDxhS+UHeMQDxu5lAAynVRM6oqiMi+6N1eodMiWVdvhGbRowF1IeIETivH2aYk6Z2jkwckmhKRPuaGfccAjQFuovG2mh0MUaVAlW713JTjDLfUXie8UcRMFtH6PG50XHPKrigiDMuEjx9yIxajg05di1w20pQ8MH8cq6aGY8L0om50y9DVQ8lexMymX7dozX0DCZKhwZFy4Q8HzhKfuz/ETYKBkKG6Ue0yCpFVvobT+mdjjBixLuYN32s2Vv99mq/wOV5wbsYFhdG5Pml/x5kwfCCg9Gcy3PLy7seVNpoMwR3DRv6P3k595Pr+f9u+t7P/0v3o/S25l/eWnzj9p+XNfO8ZM0S3+1v1cX97dLj5cjX356d/oE"), this.addDataEntry("gmdl google media design library button floating action button",50,456,"Floating action buttons","5ZZNj4MgEIZ/DcdtEPp1ru32tMne9mzCKGSxGKCt/vtFQVtXu9tkN16UmDAvM8PwMAcQjfPyqJOCvykGEtEDorFWyvpZXsYgJSJYMET3iBDsfkReH6xGzSouEg0n+0wA8QGXRJ7BK14wtpJBYInhULtjRHfc5q7GfeSmhidF7ZKXWV3+IsuZXJwN6HrNavUJsZLKWfuTOjnHXSqkbCVE6BbXwydi6hqyulxMuOK/xYYyQVsoHx61kcI5j6BysLpyLiFg6wOuglnulaVngzmIjNu+lhhvZ12eG0U3CSDHodLZQa2ChSdjvJwr42g9HeTVXCF39CaAvJ4rZEqmg7z5HXIL0wWKwsCTCNPmmwBh1cIYQluth9Ba7S/Qtv/cmeWAqQO4aUa38hGORZ7Ftfmx4/Bi1eu5zr7DF43gazUNMrHiAr3tx5iGCt6VcIV127/0O7412wQqTQ3YwZV0xxi7JWfenofe/f71+AU=")]; -this.addPalette("gmdlButtons","GMDL / Buttons",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLCardsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library card card",342,356,"Card","5VZdb5swFP01PDbiu91jPhtp2VY107pXDy7BmrGRcUqyX7/r4ISkQEsXtD0sURT7+Nr3+pzDFZY3zXb3kuTpJxEDs7y55U2lEKoaZbspMGa5No0tb2a5ro0/y110rDqHVTsnErjqs8GtNjwTtoUKqYBC7ZkBipTkeighwiMnCWVsKpiQh1UvOXwQL5QUP+G4wgUHDaYkFiXOHZyYVCAV7DrLPUCm1nsQGSi5x5CSxiqtIjzf1JgC3aRmmxeEFUiKCtic9ta3x4EhoJ0M791ktF76BUOTmf4iXqZUwTonkT6gRMn7cuL+GSfOhwE48RucfCR8Q9ChiH4jjIEuZU0SImmDLbyUZklfj0aEjRndcFz5IZQSmWZKcLWmv3Q0ko90IjmUb1aQ6Cs4YQ3h1K5nE3PA7CZAUEKBZzwZNno7rYPVvXlsRkFgG/7eItoPKkwCI4o+w0XKa8gPGuSvREQUxAiqUiuQiq0sNOliiyW6tki0GvuYH2ShXAemoDEdAFIDS6ycER4Xx/jPUJoI/HsiDHAFa7NHo1GXpG1e7lbv0XDVouiZBRy/VcwKWR75/gf63obv1NdkfRCUqzplYF/uEElSgGr44VRrL4uEVzXwY5tua2MDkDxIV75t3HC9HD/Ou5x5bijXzM+68WIxDjy/tuFXkRsnvmJpE/Gyj2U0jnX2CTFAhLyAPBZhSutt2PBVLm98v+HWO7ulGfmDmPWUblC33jW0nH9/WH35j9TcXSr3l8V9I/s1WuO0fm2tws/fan8D"), +this.addPalette("gmdlButtons","GMDL / Buttons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLCardsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library card card",342,356,"Card","5VZdb5swFP01PDbiu91jPhtp2VY107pXDy7BmrGRcUqyX7/r4ISkQEsXtD0sURT7+Nr3+pzDFZY3zXb3kuTpJxEDs7y55U2lEKoaZbspMGa5No0tb2a5ro0/y110rDqHVTsnErjqs8GtNjwTtoUKqYBC7ZkBipTkeighwiMnCWVsKpiQh1UvOXwQL5QUP+G4wgUHDaYkFiXOHZyYVCAV7DrLPUCm1nsQGSi5x5CSxiqtIjzf1JgC3aRmmxeEFUiKCtic9ta3x4EhoJ0M791ktF76BUOTmf4iXqZUwTonkT6gRMn7cuL+GSfOhwE48RucfCR8Q9ChiH4jjIEuZU0SImmDLbyUZklfj0aEjRndcFz5IZQSmWZKcLWmv3Q0ko90IjmUb1aQ6Cs4YQ3h1K5nE3PA7CZAUEKBZzwZNno7rYPVvXlsRkFgG/7eItoPKkwCI4o+w0XKa8gPGuSvREQUxAiqUiuQiq0sNOliiyW6tki0GvuYH2ShXAemoDEdAFIDS6ycER4Xx/jPUJoI/HsiDHAFa7NHo1GXpG1e7lbv0XDVouiZBRy/VcwKWR75/gf63obv1NdkfRCUqzplYF/uEElSgGr44VRrL4uEVzXwY5tua2MDkDxIV75t3HC9HD/Ou5x5bijXzM+68WIxDjy/tuFXkRsnvmJpE/Gyj2U0jnX2CTFAhLyAPBZhSutt2PBVLm98v+HWO7ulGfmDmPWUblC33jW0nH9/WH35j9TcXSr3l8V9I/s1WuO0fm2tws/fan8D"), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card Collection","7Zlbb5swFIB/DY+JbG4hj7n0Mq3dqrZa9zY5wQRUgyNDmmS/fjaYBGLISAJrVY0oUnywsX0+nwsnmjEJNzcMLf176mKiGVeaMWGUJtmvcDPBhGg6CFzNmGq6DvhX069r7sL0LlgihqOkyQA9G/CGyApnkkwQJ1siBS6KfSy6A80Yxz5aCjnDc/78sRcQMqGEsrSr4aWX6JYw+orzOxGN+JixnAqzBG9ql5uK5FpvMA1xwra8yzpwEz/rYVhONszHwcKXw2xTLhzFmWCxG7vfPf8hFVCtDENRBuRrGRngJJ0gEiwi0cxWd6gj07JGtlmnI49GSaHzdXqJzks0D6LFo9yxuRc90yUXQDn2Sa4R5O3gt2hCg7cZjnnrRWoSNiWin0dENzMZwwQlwRsuPf8SSuaZRzbcLISZ9RehS/oJXf6aIabi0afG0LEvOsJGtcLKA7bSOvtW1i6o07RVbcJTtSnnf6ABX9Zu8t5QL03fG5SfQD0vxolCY7eLRoAsBdAzQ2+YpIwYRuFJ5lRtJmVoNhhMnXHlES8YgdDK3wwss6aeMBdBOZgjMpL2HAauKxacd73DnoAz0As2T1JZp3ZlDS47CduyebZK3m7DNJcMe5iraY7jhvh3YaeR3q1qvR8xyFxXJYO0WzHI/DG5PTodUBm0QSXGiM19BUhR+0UqElTWObdH/UJEjT0orPKg7QDr5dlAl8ScNoiFiC2C6DHzosKZ3qcC3s05NXPjz3fpWnpU1cdmkttc2V1nFoZ9IUqJzoEdoBuqwY+HFB1AfmzAaMXVy2MFinhjhtHc5z6ubbJ7wZgmCQ1FPHMaetLxVHy4fO0HCX7igU5MvuZTHwmdh4FyJqc9jIrFUFxIYMWJsZseGee8I6MDs/50NE08IVDYfluFM8wk3gOOfBvJsTSimJ4X1CHTigMNgX1rT9VSoQzT6/xkv0a/e19rqd622ki7Sv8hVCi8iMPqY55jCrsaC7vSRC5iQKE2cTdeRS4SG/kSExS5ms6nARU3VGuUFKvsoR5Y/pqWnusyxEPq783JAq34UqOLdBKq1Ymn29HjVR2kom4rc/2RZShvzuA4Xdmj1opzHzfnaDA7eAtvCSdUUDpAJWm284rolNMbS+8CrFppufr5cPf9P9pu0f4Ttmp95iuKFohRyqU/ECFY7P8JeYgFrSc/Hz3JOYzhenUMaDmj3oUFe9gwLEDn1LjQOH6r5aFmp+CEehBIr9ZLnrU2W6lC02klsvbMLt4wYSulmhmavzYuCRS5nFkXgMcLA6Cf1x6P1QaqijktVVcHZf/aRXEVNqjm5Kz4yGAZ4w9F6PMDalC8OerS3pPO4LPh4c39n6lZ9+J/rX8A"), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card Collection","3Vpdb6M4FP01eUyE+e5jk6adlaazo+ms5nFFwQloDEbGaZL99WuDnQAGhgToV6oq+MbG5hzfc69tZsYqPjwQLw0fcQDRzFjPjBXBmBZX8WEFEZrpWhTMjLuZrmvsf6bft/wK8l+11CMwoX0a6EWDFw/tYGEpDBk9ImEIvCyEvLo2M5ZZ6KXcTqDP7r/cRAitMMIkr2ps8g+vRgn+DeUvCU5Ym6XoChIKD63DzU1irA8Qx5CSI6uyjwIaFjUMyy2ahTDahqKZbYqBe1lh2J7anp+eXQgAmsEwFDAAG8utoV2EiYeibcKLxejqGK104FrLNow2OKGlyvf5h1dOPT9Ktj/EE5tn00+cMgMQbZ/EGDVZjv7jRWCwMoEZK/0SSIK+jOjXMaKbhY1A5NHoBVbuP4Ql88opGx+23M0W2zhAC4rTf589MmiqGs3AVBschRcurKJcgs20VdTApaiJ/r/jiA3r1Pn8Rq90P3eqd8CbTQapgvrpKXoRYSlEPPLnj3dZ5F/kMc2eUHWb9Q1Y282zuDTPOSB/8qHCYeb8XpzgyPfQrXDZOAoCPmBZ9SvccF4cveTWKLdN6jqWM2wSHKseOCrp9hjelxK4gQwmH2Y96bfvtTUfdT/crWbcO3xRYlXxRXsUX5S3ka7oTsCKMwYrGfSIHyqEMPT1O8u2lzVWBFFFZemP+kCKeosnaBLPcQiby4A/JWPuGIzFHtlGyY9CRbmYPuYGVs2tGJaYUhxz1TNV1zqR2+iHrN8A74XSqtpbWL5IEqZOKoCjjyKNLpiA0huF0n8SFMURZSSewqKWMDTrTDOkOIP7kNV9YqGHm/eM5o5gVg9dz4LiepwqB8dS1si5ss/F8wRxr08U3T9zKrP0SuquXUhp30QRaAohX6OMwoTZKOaTAe8I+9p4L5gw5Hl3DNSMZvwq4aR56HkX8+I+hAlkz19cEnGJGb8JPNVms4iXF5fwW800ypzIXL9sa8jszY5J8rpEWpcS2eybljWBbwKgzoW/nn6uvzHbt79/tTHWmiDW11ZVGjWFsbqfaR2sSQ/2GSGQDCTtWGlQDqBiZ6BK4UB5PVSCm4yf8q7jMnrt1sVVEVQsGswLwqruWK7dK6wOiZgy17fUFKk5glr2CMqq7pQ87VJI4nwL651Ht15ogx4JSlcwG4SuusNxjzOaRxwa8nDzHeKUoftewswgRGuq3zfIDAJY3bkYVTr0qkxIhF1VJJZ3/G/YhmkLrrLFjalKv9202u0ShpaFEqhP93GUfZQ9humU3XXA2r59LWU3gRq7J1R2dSfhi4f8I+ZJ8513zD6HuttvqO7qyn+NUMRl/QHvUMAf8GMJewuYbyHs6hL8Awt7C64fV9h1dUH+roT9dgls69VSdst2+gm7YbXz19czdHX9+3E9o5hHwz2jC9jXdYxr17IXHKBp+ef6TaHuydwzRzGFbeAW0dycYku+4fz/Ch959vzfTWcop3cj2ni58iCljRjRQlvIc9quw5SmsDHSSbRT6X2Sg+g+rwRIrljLKM3gu2Lo8xPUY8HdKWlvyY7z2ehhxfMLZkX18vtn/wM="), this.addDataEntry("gmdl google media design library card card collection varied layouts",358,642,"Card collection with varied layouts","7Vtdb5swFP01PKbCGEjyuLRL97BK1TZpj5MTnGCVxMiwNt2vnw12woeTEWIoTUdVKVxsMPfce3x841jwdrO7ZygOH2iAIwt+tuAtozTNP212tziKLMcmgQXvLMex+b/lzI9cBdlVO0YMb9MmHZy8wzOKfuPckhuS9DWShgAlIRbNbQvOkhDFws7wkt9/tiJRdEsjyrKmcJUdolnK6BNWV7Z0y/vM5KMwS/Hu6HAzkxzrPaYbnLJX3uSFBGmYt4DeJO8WYrIOZTfflQNHSW5Y7/se3p5/kA7QOwPWnAH4WD5B+yyfoIist+I0H13VR9CG8+n8mI9WdJsWGs+zQzSO0ZJs19/kG7sH0w8acwOQfb/LMdrqnPwRpwDyc4YTfvZTehI0RcRph4jj5jaGI5SSZ1y6/yUouS1DdrNbizS7WW+C6Cal8a8FYheFKtQ7ptzhVWbhjZefF9zm+nWvgXO9Jp//SAkf1v7ho6lTevxoXL4DXa0SnNa8vn+LRkB4NSDuSLKk3Gtn5Ys+DypJM/fAzBPA6MK4EOjCI/9KojxjRiIlBMJkiaJPMmc3JAjEmFXTr3glgBk7hbyOMlunueONL4uC13IKGkXdN5F+McMrzN20xEnDCNhPLY387un9fiIZla9KyegbSUZ1G5WLkw5QGZtAJcGILcMaIEXvF1GRQOWNVT46F0LUmD2Bjj3NADZSM36XiE1qiD0yPFqhhXgnfqOkBYAbxNZk+y3nVUGvD5mBN/NLhhlNU7pRJFjJtNmd+DuWlvy5AX0pEK+OaIuE7GpodiGfr2h2Px6vIGwUm1d4t07/ueWLioPOhQ2ERth5AjqIqqkJHjASRqfXAi216OQkr4MaSehnV2AEv5HXBYDANoFgyJlcs/Y4ndrF9YMmu6fZUVlXNKb76aV0rwHSFN0Dz+ue7wEwAeyC0ieenk/Xha1mKpd1i8uxtSsrIZVgZsFtW0cp66+QO7UxssUrbeFtqd2GDLg77QPveqlojp4pIym2xAoJAgEyoyjgjVJGYrNqDpYMcpFqVModBH9Fyr2E/B2/c4UmLC98sCXBBvxTaq+i5Kriz530Ie/2YQl9z69H5niqCU2VzUNUfMBIPayd5DvYVWGyNyUIjlTfjkpBLbLDloL1AlsLZIcnBfOI/dBa0EgRbZBa8HJw378YNFOMey9icNCI96MG67W8GU7SghJEhEVka7imp5+B/8vARjJwV4nHq5OFb1gJrC1N+lOF5xYI358qdK60QAg+fIVQjesaVeGQK0b9qEIF5kdRhUNGvBdVqNlO1tsM3F4A9ld/Gzf8us6/EPQuVVbrzWhn7H2ys6O9JjqNQ0MQ3IkREEZuJxOnkULZAi2fdAyq3ftSxKUlQzqn1832jVNdmmhIUrdrydAWwnGZI7vYQdhkM5nCivckcYIHhdD1A9SglHWS0t4SnfG1wcNPD78MyJsXfzjwFw=="), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card collection","5Vptk6I4EP41ftSCAKIfR+dmb6tu9652rbraT1dRoqQGCAVx1Pv110mAAQMzKLA7emztaJp0XvrpTvqJGVnL8PgpwbH/hXkkGFm/jaxlwhhX38LjkgTBCBnUG1mPI4QM+D9CTw1vTfnWiHFCIt5GASmFFxzsiZIoQcpPQSbwcOoTUd0YWYvUx7GQJ2QD7S+2NAiWLGCJrGpt5SOq8YQ9k/xNxCLQWWRdkYSTY+NwpSgb6yfCQsKTE1Q5UI/7qoblzJSaT+jOz9SmdjZwnCrBrtB9nT18yQxQbwxLM4YJY3mwjItsggO6i0RRje7cRobhzqeLJhttWcRLlZ/kIyrHeEOj3bdsxvaraMViEJiZ7vdsjEZepv+KomlBOSEplP7OLGm2RQRdhwiylSwhAeb0hVTa74KSfaXLhsedCLPJLvSCCWfxP2ucdHJVq94wVYVTFoUTR5VLZrOnutXMS62W9f8XozCsovPxHFW6H7vVFth2mxKuWb2YRSsgHA2IJwJWF4PHHkkuCpr6YDiPnPl0NhPo1PlyyduR8X4kqbAZi7gQMNMNDh6ywA2p54kx51X/IFuBjotKwR1I2aAB5LjdXOFUjcNeoZ/2EYNxQrYEzLQhaWsPsJGEv5XdnXq7vxGRua0qETntJSLzZvKAnA2AitsHKgAKBJevIVI2fxMsSiOPStQRqNYLqVm3kPYD23jqDI/brA/cYBgcFqufGkqtEXKGAyiP2SEBmvcBUIiTHY2+qf1ObHtfpACqzSqCBeOchWJzsltn2PCGyEd17rFDtiuqffL33O5m7dY55C6GXNTLNjYzB8DVNN4H9m3Gs3gU/zqlkfM2sVUys1uz2rk9BdO8uktl5LFno5ua0VcJfgHue256sBqvyc/WWYCc5WfIruE8Z1ngXD7XB0EDVuUUwjF0eGyjnxgYAg39BOArOYDgB0ue4WNJ+aktMA2J8zkwYn7nwBjyuVVgzg8f+kFGP454xCdFr+KYwOS9CZRWPoG/nIQxSbmEicpmEryTZOxAwQLI2EceDWlE5S6FjO1eDANsa6z3QovLVg40EluH6ILvk0jW5Kx4nbI998cEp1x0/FnoHWDKMG/RIn5h+wSvA1Fz4+NoJ77gyCvUVzh6FsRQyneYRpMmxzr4lBPhREJ8gC00l32vyjI/E44yPQt+u8Y/OSspFdusoZFCc1BHtHJvKTvibNaLI5rGIGuEfuTysFx9/vMryMyOi0PdQdXZ2mAvncfFQ4l8b8DaJKngXzSTjaMrXqeKQgm9eU2OY/cD3tgZZBnRj2kK8PRs5zLwZkOBNwhydet/R+SOVacYFsheDl3aspBsKbwFClLwThvpzLOelOSm+5CkpMUxzuCkRDnb/4mV6IcwECSQanHKorbL5C9kJk2A3TI10Y9dnvaR6OU1Y10QvPE77mI/g5/8YngGIShIPz0BMiLT+4P6SKE58QHmFzSBbTOuAJiEOY4RY1GZKKRCY002WKqGTDbkUaA10YarKRR8ZH+XFKKFr9weh0D6qc/dcIgmwO6HROQpyN2RiMuhu3EWUXPJRcOvK4u4Jc6Q56jvUYa+8qQhGMPVV2IuunzRLQF6Gwc9zupB6GmNtAfZ4fSDlisia403z3VxUkRQEy5X/vaufKeR6BkTVP0BvPb397prEz1dZHKra+IQ95ja3GbJsQJNGqfkQyF0/wBdfiLycdBx7w0eKL7eT1bVy9eX/wM="), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card collection","7Vtbj5s4GP01eczINrfkcZJJulq1VdVWu+rTyiFOggKYBdLJ7K9fm9sANgkDdmZaTaLRBGPAfOe7HB/MxFgG5w8xjg6f6Jb4E2M1MZYxpWn+Kzgvie9PEPC2E+NhghBgfxO07tgLs70gwjEJ0z4HoPyAn9g/kbwlb0jSJ79o2OLkQHh3MDEWyQFHvD0mLjv/Yuf5/pL6NM66Gqsl//JuaUyPpNwT0pAdsyguReKUnDuHmzUVY/1AaEDS+Il1efS26SHvYViz/LAD8faH4jDbLAaOk7xhXx37fPfsR2EAuTEMwRiQjeXeAC+yCfa9fcg389G1bbQw+bfLRjsaprXO6+zDO0fY9cL91+KOzeem7zRiDbA49lsxRlBue//xTWiw7ZgkbOvvwpKwLyJoGCLIzNti4uPU+0ka5x+DkjnQZYPznofZ3T7Y+ncpjf7Z4HiUqxpywzQPeCqi8M7Kt2tmM23RavClViuu/4V6bFjVxadz1Lj81Gmege52CUkFq1d30QsISwDiM01JIqDBbJh2+nstOIom0U1rjoyAGCT5px0RU97CEfRc7N8XMRl42y0fVtn1I9lxwzuoFrd+1qY1NixnHMpPzRBTiqqtIryimOwIM5PL3KEH8nUQe9ndktv9QrCVtmoEm60k2MrTlLE204CKowKVhODYPQiA1K0vice8cxmPaCREvbMjlGVHNYBNy4quE7GZgNgS8w7sFgzIIfqThKHHomQAkAGO9174NecbnHZ8yhoKYvDckGfCZluR8kwxBAFYLB86mQkbyJY+1jKyjKa0cmg7/aZ8PI10bgq5GIncxqyqwh+lM0CdfAY6c1llBkqS9gxqcLb59fRQOpLv1aK6gf79amnWgQbDbTy7mJ+hJNgd0eJopMHPjUAsY93SUTQhEAD4hPkd87Kz5P8BdLqIUVcw9SQvWcDoQUUWB4rCYGpqwQGqqJMp8Ul0kNKUXfYZNW3oQEFaGEVMyqAYNdXqKotGM1QMWwdEouTwnbLtTcxcms22axWy9nPKerg4iHgfBPaMyLR2+jhMSRy2WpOAxnxG0mhkURdjfkV2zJGk7d0pfSR8wDuGLEPuFLX2P+I44Kem7rF96M6LE25QzG4WgaOXaqzt3XXcWFtwYd20jkNDnpaadfy5oGis4xWlRGXGvVrZ5yNppc7KDkVR6scpxDXHY8jkXgxo3f0TzHwOAba9LvPDjf3QBs7DbPEG+eRt/dBCPd3Qnr1hN+yhul1jmNbcMWdQEcOEHerb70sxRbmNBeDhNhyTTby14fLrkUwlEhkzOgm3mQStnmN2odCTZEKZnq8mVKYGapFMLRCJetk7yVRa3Nfr1cK4bXGXkMwsLzWKu62vkDuzmyYvPXVclCU/xNQlsSd5cKNXiKw/y2w5l2lZ9/YgJXKTfRTNYMDrKJHnijn28zdkvOX5iwJpUi1xfLk2qa8amjcgjkjUJrEf0JBXj8Dzj0O4y4G4xw09y8B6Zi91sLpqQK/nTT7eEP8LTbzUo/WVFWVQf2ztr0jslSTQRXZliydG+dYVagVHTvzOTaALbyrnnWqdSRRYXerS8JRmpCUd9Djr3Z1+AXea6RCDy2JQd6eTewo2av2oTRz6uhB/LDabzy3j3Y+U+REst9U6kiiT7mNCQn6dKPIHkdv3tPQruJMeziTKnUscRJuslxaFDYHbEtg3rbBJlhYOiF+fujiPFR0K27jHuKWe3phTICUBUj22rRQ2SwdEogi69AnmCXdLkiGTir5awgXdQMETp/bDpFZyvaYQTJF0ZirRDHp5WU+FoJKoDLunZmCP9DWdkoGaxY4K3GnxwL+93On1IC9XkV9Xid6wLClZLfmZPLIGcj54m5zxsEvyYTzgsKne/3viL8ss1pRyRSPlMv9Hym6v2lPrbt8h6w6aU/bfnvIcXO1xeEEEf/GHMq7Hhftv6d2NvE4gl+u1A8z2atx6ey/S2cpcdaoH5Jmsn386l+kH6umPEJjdrtf3XZCXLHxkR3pRIgqM8vXoq9V6bQqao4IIvsYMLMm6Z2ukwFsyA6eZPKYQ6Vj5bIiC44BIivyT+O4AA8axnRVcS2dQA6CaX8SqBVZPHgcVOLYxdCFj8RJaHxcH2Uf544tOz5a+CmOqWfQyNbV4sihPDfDkDXaPFzWELlwGvnlhdLxDWVEI1OYQEtJ4wa9HZ6FmEtLxapohykEvrguvidDvD9AL1pNJU9prouP8bvCwzedXzvPu9TfS/wc="), -this.addEntry("gmdl google media design library card card",function(){var b=new mxCell("",new mxGeometry(0,0,344,254),"shape=rect;fillColor=#BDBDBD;strokeColor=#BDBDBD;shadow=1;");b.vertex=!0;var a=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",new mxGeometry(0,172,344,82),"shape=rect;strokeColor=none;fillColor=#ffffff;;whiteSpace=wrap;align=left;spacingLeft=16;fontColor=#666666;fontSize=14;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], +this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,254),"shape=rect;fillColor=#BDBDBD;strokeColor=#BDBDBD;shadow=1;");a.vertex=!0;var c=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",new mxGeometry(0,172,344,82),"shape=rect;strokeColor=none;fillColor=#ffffff;;whiteSpace=wrap;align=left;spacingLeft=16;fontColor=#666666;fontSize=14;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], 300,230,"Card")}),this.addDataEntry("gmdl google media design library card card",342,378,"Card","3Zhtb5swEIB/DR9Tgc1bPzYkrSbtTWulfXaDAWsORsYkYb9+h3GaEohCG9JpIy9wZ59tnjt8NhaO1rsHSYrsi4gpt/DSwpEUQrVX611EObeQzWILLyyEbPhZ6P5EqaNL7YJImqsxBqg12BBe0VbTKkpVc6MoM1I0l5KuoMl5wjiPBBdSl+L5ovmAvlRS/KKvSqg+mpKMxGILSgcE0x+Viu5OjlmrzIAfqFhTJWuosmWxytoa2DUDzShLM2OGg7BVkrJVpC+2BwRwYSgME8FvJnL6zo9YJfoAvaQl+01/mtsZjQW9D0vQhoAtKSeKbWin/UtQueNRgSErStqjlYt8ANStPsZiwWexuHafivtWKqaH74JBx8jej8drLequuG9AJElJVQ/qyzBHcfZ6nJ+YAsLHsAGSmg4awl6fGpqGmv8B1PwetcfqOaMkPsUtEbm6YhB+IE98DZ5Bj+eDpHUmqhyI2jHbsBJugNf6DjkXcF6JisdasxV5TGVScS2tiUxZTlohIRL+q0LkcKK7Fa9ilqc308+68N1mTNHHgqyahraQdUFHOEtzEDlNdLtQCv1/1tLC8fuB4esD9E1IsBXhd6YFJYpDA0+NsHBsY/8IE34j40ONHyYMdB+XJADjdeSZYDqXEBw0QZ4MPyBPvstjbt9jL4uUaRNv3TE4R90NL3vUTW8z98h5kzzctxd6cziP36MgitBYyuEbKe/XH5351L1GVp/hazB37PPQY1JmtKlvtwtp7YH1Lm02DDfpOuY3kNHkWH/MPbwMvbH+uB32x66zTq47S8FX3nHCgYnHv3zecZzrhKo/ny+W/2Co+l1HXClUR+wTz4eqpAVk/LFbAG8Zjt8wntgx/u1Y7W8m76KnT9++Thqxx8uTO3Tvof2yw3ThDCxDLon0rsHJuA8GNl7YnyTuZ46HupG/T7rTRn5/kzuhC3GwiHDfhWHkeF70/7sw8Kb3IIiH12dt9ddv1/4A"), this.addDataEntry("gmdl google media design library card card",344,420,"Card","7Znvj5sgGMf/Gl9uQdRqX27edluyX0kv2WvufKxkVAxy13Z//ShibYfm7K69VDLaJvDgg/D9WB4BL0hXm1tBquIrz4B5wQcvSAXnssmtNikw5mFEMy+48TBG6ufhjwO1vq5FFRFQyjEOuHF4IuwRGktjqOWWGUNdkGqXFfCgmnyfU8ZSzrjQtUGuk7LXUvBfcFADOu1qCpLxtTL6qmDuB0LCZrDP2mQ6fAt8BVJs1SVrmsmiuSIIw8atALosjFtoBotI3RiWe99OApUxKvQrEoxXRDnSqgZr8CUvwVZqrtNYCfCzEoSoRwFjE8CIpE9w1HyfKuYOPzhVN8ao7U/UeGyPi20DPM9rkJao+26O0jm0dL6jUin8t9hKJHk+0XAQ2arh86g2ewXVIku1xeN9ASQb0i3npbzgQ/iKegaX0HN28vw35q8+00nZBdT0N/w0evl7y6dWrdFT4gAK44DeIt83Yzmgk/g2nNb2r3AMjRhdgEbsCg0cJfHkaSSu0IhQlEyextwVGnHUjmXCNHzkCo4ucGz3sxdq386mTMh3hVAXTBwjdPri80oJdQHGMUInLIavm1AXdBwjZC+jJ0qoJw6FKJz+e5tvL9knSqgnDrlByJlNgJ445AYhZzYGeuKQG4TszYJ36d3n799O43R4bDB00KC+64JKWFTkYdfQWpBK2Qijy1IVGeS6XVVLy+UXXbpRYdLaCo31x9gXpoN+W1b0Wz/76XjJo7A9cnj2SCM5C/M389kloNt7Ev+hXxH0tp2XQFfF7jSyufzwsPIP"), this.addDataEntry("gmdl google media design library card card",344,162,"Card","5ZfbjpswEIafhstKYAeSXCbOQZV220obqdduGIJVByPjZEOfvgYMIWtQQbtIVUsUYY9n8Mz3Y1s4mJxve0nT+FmEwB28dTCRQqiqdb4R4NxBLgsdvHEQcvXfQbueUa8cdVMqIVFDAlAVcKX8ApWlMmQq58aQxTQtmhKO+pHriHFOBBeyHMVReWl7pqT4Ca0RKK9iJKaheNVGT3fMfCAV3HpzLk0m4T2IMyiZa5dXFqq48sCzWRUWAzvFdVhgsqdZZTg1sXcEumEodBPBo4n0V97HSkLGfsF3U85gLKgbS/4Q8CdIs0Vlk8CpYld4CO4CZyb8JpjOo5ntU/2cOkREUQbKIt3kOQj+zIK/OiomkmIeCVTf8Mj3c4fnG4ItlRKRlAKJRLWct8RbLgNtFyk9MlWUil3j9qIVK8Rq+iYD7z3SmYBGlJZ4Oo9pXnDfYnxgSpfylqsuRz3WjlwbWVBeBd8CWXI6iLSmVCBhR8pXnJ0SbTyzMORwd32CSNW+H7siWhgbtA9rwB25BoayDSy2L5cfMdBwAF0PDaX7d8NFY+F2bzC1Rh+6v8wtffYS8lhcEq2QG7Iry3TGPC9L4lwMkQ3bsmFS/P5L2QJ/AtkW9rFADp+/fhl3Mtd7fs8B8UbDBfF8n1ibvb1kJzm6566tEA7ep9DtYf9vznE0gWDLKQUL1uvNtmOvXKGdj/5BwRYTKKa794+Myr39DfIb"), @@ -4720,11 +4749,11 @@ this.addDataEntry("gmdl google media design library card card",342,146,"Card","7 this.addDataEntry("gmdl google media design library card card",300,176,"Card","7VbbbqMwEP0aHiv5Qmjz2NBtVKl7kZofcMMQrBqMjJsm+/XrW5oQhwZt07eOhITPzPGYcxhEQvN6M1esrX7KAkRCfyQ0V1Jqf1dvchAiIYgXCb1LCEHmSsj9QBa7LGqZgkaPIRBPWDPxCh5ZcC3AQBUo8MlOb0VIFqyrwFJRQmddxVqLK1iaXrOSC5FLIZUrpaULW6aVfIGDDLjwGxTyzYDY0mWjD4qQi4A/8b+2EUl363Aim1+D0nzJxK3gq8ZgWrZ265YtebOaSa1lvTuvxx6htNLgbA8tLOcOTwzCwjbCVc2CPKYHbAYldlDQdw6yBq22puSNF7ryFTQNQlfAV9WOdp15kHUeWL1z946Zm2DaaQNpZODT67P+yEPzJDrWe+qirzemI/SueVEIGC/5KEXJWUVJmsWKhpcdKRBM8zX09j+lcmjxR3LTmaCtr5hM+wxZlh3oyJX3g40yKo2Mipz5eKCeXUQD1cgGPilrn3AgMsanXtsd+L8qh3ZXmNx4TpAdZ18g+ySS/TZfPPz+ZTB81oCjUTgp/NBn72i+UhdH84Q/adx2yLgbFPtGL2Nb37OrFH2Badmwaeen5tu02LRpdnnXzHL/n+LLD39j/gE="), this.addDataEntry("gmdl google media design library card card",300,224,"Card","7VbbbqMwEP0aHiv5QlDz2NCLKnW3lZofcMMQrDUYGTdN9uvXtyYhhgb18rYjIcGZOR5zjgeR0Lze3inWVr9kASKhNwnNlZTa39XbHIRICOJFQq8TQpC5EnI7ksUui1qmoNFTCMQTNky8gkeWXAswUAUKfLLTOxGSBesqsFSU0EVXsdbiClam16LkQuRSSOVKaenClmkl/8BRBlz4BQr5ZkBs6bLRR0XIRcCf+V/biKTvz2FHNr8BpfmKiSvB143BtGzt0i1b8Wa9kFrL+n2/HnuA0kqDswO0tJxrPDMIC8sIV7UI8pgesB2V2EFB3zuQNWi1MyVvvNCVr6BpELoCvq4CjZBLD7LOA+s99+CYuQmmDRtIIwOfX1/0Rx6aN9Gx3nMXfb0xnaB3zYtCwHTJJylKzipK0mxAUX/YkQLBNN9Ab/0hlUOLJ8lNZ4J2vmI27zNkWXagI1f2G5tkVBoZFTnz8UC9uIgGqpENfFHWPuFIZDwbOLZ78LMqh3YXOAvnP8iOsx+QfRbJfpUv7x9/GwyfNeBkFAaFH/vsncxX6uJknvAXjduNGXeJYt/o99jW9+wiRT9gWjZu2vmp+W9abNo8+37XzOPhP8WXH//G/AM="), this.addDataEntry("gmdl google media design library card card",342,272,"Card","zVXbboMwDP2aPLaCBLo+j219mrRfSIchqAGjkLXw9wtJemGlaqXSqZaQkmM7ds7BCmFJ2a4Ur8UnpiAJeycsUYjarco2ASkJDYqUsDdCaWA+Qj8ueEPrDWquoNK3JFCXsOXyBxzigEZ30gON4HW/VPBtjnzNCikTlKisl2XWDN5ohRs48YC13iN4ijsDhmbj64HS0F7s2UK+4RVgCVp1JmRXpFq4CBb5RgUUufBp9MWDvHFAfsg9UmAWnoVxRti9jKytnTFSYQW33p9evT+NgpH770EFkutiC4MCY6T4Gl9YmNI02He0cBndcLs/ALOsAX3G6aHRm2iOrtOc8kZAHx64n8hyXrZ5PyzzvEzlXABX+hLTf2RZWLtTgWHCqR4jcoTLSdSYxWwgB1s+QI54CjnWiJuSq81TKBJGIwMyzXzM4nCgyPIRA7KYQhEFteyeQo5/HJCQxffrYbbHV9iFnz7Svw==")]; -this.addPalette("gmdlCards","GMDL / Cards",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLChipsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library chip chip",170,32,"Chip with text and icon","rZRfT4MwEMA/TR+3sHZMXx3T+aCJiSY+N3BAY2lJ203mp7cthY0wHWaWkPTuen/6uwNEkqrZKlqXzzIDjsg9IomS0rS7qkmAc4QjliGyQRhH9kX44QfrwlujmioQZooDbh32lO+g1bwp2EtldY9UaBCtXZsDD3Zd0tptFaQ2w5qq9JV9OUUcWVEbJT8gkdyGIBshhbWsc8Z5p0KYgF9Wr+ROZOAqWTjXmqZMFE+Qu8rx0jlKYUL0BXHJOCuEFVJ7O7DR1qF6UAaaHwl4Vbj+FmQFRh3skU+WmTKcuGkpRSWwogxuJLChupWL3vXI024C0vN4yQjviGdGdekZeHwBbtUUbiTmRZXx+U77u05Bu/JrKhh8EUzH4BwXBZwatodB+GtgLS/D6vhYR1ZrmEjlLnaPmx9d+6nd5KxxzK/CNHQ4hK9tHrfy6XStxhA73WSIIf+LZLasPvmsgxbSz26HEWSeazCjJvS3mNSX+D+GuBn1yjYm96u3vAdmeGpnlr92Jh6gGfflTFtWf55iKx7/1i3c05/5Nw=="), -this.addEntry("gmdl google media design library chip chip",function(){var b=new mxCell("ANZ Bank",new mxGeometry(0,0,170,32),"shape=rect;arcSize=50;strokeColor=none;fillColor=#eeeeee;rounded=1;spacingLeft=24;fontSize=13;align=center;");b.vertex=!0;var a=new mxCell("A",new mxGeometry(0,0,32,32),"shape=ellipse;strokeColor=none;fillColor=#009587;fontColor=#ffffff;fontSize=14;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height, +this.addPalette("gmdlCards","GMDL / Cards",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLChipsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library chip chip",170,32,"Chip with text and icon","rZRfT4MwEMA/TR+3sHZMXx3T+aCJiSY+N3BAY2lJ203mp7cthY0wHWaWkPTuen/6uwNEkqrZKlqXzzIDjsg9IomS0rS7qkmAc4QjliGyQRhH9kX44QfrwlujmioQZooDbh32lO+g1bwp2EtldY9UaBCtXZsDD3Zd0tptFaQ2w5qq9JV9OUUcWVEbJT8gkdyGIBshhbWsc8Z5p0KYgF9Wr+ROZOAqWTjXmqZMFE+Qu8rx0jlKYUL0BXHJOCuEFVJ7O7DR1qF6UAaaHwl4Vbj+FmQFRh3skU+WmTKcuGkpRSWwogxuJLChupWL3vXI024C0vN4yQjviGdGdekZeHwBbtUUbiTmRZXx+U77u05Bu/JrKhh8EUzH4BwXBZwatodB+GtgLS/D6vhYR1ZrmEjlLnaPmx9d+6nd5KxxzK/CNHQ4hK9tHrfy6XStxhA73WSIIf+LZLasPvmsgxbSz26HEWSeazCjJvS3mNSX+D+GuBn1yjYm96u3vAdmeGpnlr92Jh6gGfflTFtWf55iKx7/1i3c05/5Nw=="), +this.addEntry("gmdl google media design library chip chip",function(){var a=new mxCell("ANZ Bank",new mxGeometry(0,0,170,32),"shape=rect;arcSize=50;strokeColor=none;fillColor=#eeeeee;rounded=1;spacingLeft=24;fontSize=13;align=center;");a.vertex=!0;var c=new mxCell("A",new mxGeometry(0,0,32,32),"shape=ellipse;strokeColor=none;fillColor=#009587;fontColor=#ffffff;fontSize=14;");c.geometry.relative=!0;c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height, "Chip with text and icon")}),this.addDataEntry("gmdl google media design library chip list style",358,642,"List Style","5Vldj5s6EP01qE8b2YYk5HE3u+1WaquqrdTHKzcMwY2DETibpL++HgNJCCQhG6iqXqTVwthjhjnnjD/iuNPl5l3Kk+ijCkA67pPjTlOldH633ExBSocRETjuo8MYMX8Oe3uildpWkvAUYt3GgeUOL1yuILfkhkxvZWEIeBYBdieO+5BFPEF7CjMz/kMopJwqqVLb1Q3thd10qhZQtsQqNj4Pxasg1bA5Ga41FbG+A7UEnW5Nl7UIdJT3cId+7haBmEeF28grAudZbpjvfPdfb26KBDQnw60lg5pY7l1yXU5UrL+KX2ihrnnmUsxjbM6jPc7ZlFF/+HAqZzjYQee39sLOCZ+JeP6lyIC3N31TCb65DKSIGeNMITNhfS8ySdsiwl6HCPNyWwqSa/EClfFvQcl7JWWXmznKbDBfBnKgVfLfD57eRFW3OTFVh22hwsEwfz5ImzeqZ41em7Xi/Z+VMGHtXn43YZXX342rI6gwzEDXsr77ilZADGtATNUyURlcJZdm2lc18jShTyO3kcIHamPksmByddwd6lJCqPcdPtinxzHrWR7D8W1Ab6sq6xTYURcKK9Nagbc+R5RYts73sDnfZ3RGm3Q26kRnpQZKmfk9oDHuAo0M4qCl2HYA3QJH6yJYfk1l6mDdFEH3CB1Ke4DHr8HzTd1QAA0AYK8zwJytgobZtSo4sdf1VdCO1WsVvHG6K5D1+wB2Ugc2hReTUkaeeWwEVUP5CFiezgpMhqSl9nbQp2oVB5YxtIYK8xpWma1Q8q+vneXi9xA1txt9jsmRPEc9oEhJF+VzlcHJteIRhCN7IfxZYnnwGIoNjt4OosllITVUzNJ2y7q6rI4HmbqXJlJGPoHM1P+D7qw/ujPi/wm+v3ZH3zXfW232W+z2+2J7fbP/WZqybkyhrfE6AowEYIFLpwvcP6bn9XP65Xn4z27fO5qZabkG65bk9TOAZ+Ew42ck5VKk9XvT/HOVYShrHmskJNFmYUZmEcwWOFaMUSG0JAOEWoQYtlphInhgGzFRScEKHQn8t0pmammQ2XNjYG6/4wAm6Xm/eJF3UKFNKg/yx1VSxvCJJxzdPmAmyArHXcRqfRDEGwxAigWULnO1C3cNb2w2ltw2G15A+mJAUnE2uIaoXhuFF6Z1JDR8NaREz7UpFMaGxBMzLu8L6mpcVZ4g8mkS55bnknp989ojpBti+5M+iF0/U2lXva84TCH26rygbCsOF2HwO0Hhzutjx007OQD5wU2dOXcAcgqXVx6M0PNbcTI4OqxoXP94dai6OpIcV1c/fZxI0hZnJSVWxlMkGfxVCP37ANVPSy7NWH8POuN/DR7zuP+lMe9++EPkbw=="), this.addDataEntry("gmdl google media design library chip list style",358,642,"List Style","5Vpdb6M4FP01aJ4aGUMIeWzSznSl2dnRzkjzWLnBCWwAI3CaZH/92gaSgE3Ch2k1XaSqibGdm3POvb73BsNaRocvKUr8P4mHQ8N6NKxlSgjNX0WHJQ5DA4LAM6wHA0LA/gz4ueGuKe6CBKU4pm0WwHzBKwp3OB/JBzJ6DIsBD2U+5tOBYS0yHyV8PMUrtv9iHYThkoQkFVOttbj4NJqSLS7vxCRmaxbFR+GU4kOjuWKosPULJhGm6ZFN2Qce9fMZ1tTNl/k42PjFMscuDEdZPrA5rT1/e/aiAEANhiWBYTJb7i3QDRMS0x/Bv3zEtNh7FAabmN/Ora1jtoSmO100YcY3u5j8WVx8coJWQbz5u0DAPg/9JAn/5NKQwmZuZ4ozZtavAkmzLSOwHyPQzsdSHCIavOLK/kNYsntKNjpsuJtNNpEXTihJnl9QOkiqlhqY6oJj4YWTaf7+AjbbkVEzu6JWfP53EjCzTh9+N4eVj7+bVXcg63WGqYT66Vu0ImIqEbEkUUIy3Mld1LKv+sjj3Hx0LKWEL7wNgtsOk3vH3aVfhnhNzxO+incPMziye0xnw4g+Vr1MK7GODg8rYa3QK58RJZet8Z6q8b7iZ6bKzxwtflb6QOlm7ghszHSwkeHYa+lsJ4KG0NE6CJbfpnJ0QD1B0KqxY5oj0ONK9PwkAwIgIwCL6woxV6MgU7YUBefi6h4FxV6jRsGBx13BrDsGsXOZ2BS/MkgheEIxcyiJ5RqxKF0VnExBS987UZ+SXewJxZgSK9BWZJmtWHK7x84y+b1kzdLjnzNQc09nBBZNoCN87jLcmCvWKHTExenPEqGDh3Vw4Lu3o2h+25EUEbMcG5JXl9HxAqn7kFkKwTccZuT/IXc4ntwhcN9C730ret16b1Xst6j2x1K7XOx/D1lYZ0NrEeOpj7klGG956nRD+3V5dj/Tb5/Db1u+azqZzTIH0ytyuQfwFBiQrWMuZZlc1n+w2//sMm7KHsWUCxJQlpiBlY9XW75XzK3i1IIMc6qDNTeb7DgQyBM3OVBJoQrqB/zfLlmRiDFz1saEvfzFN2Cg5/PibT6BrAWoyMvf7pLShm8oQXzZV44E2PF9tzHZXxjxiRsQBltcLtmQk7l7/EmgESFxm+kCp6+MJBJnky5Ctdt4eDG09wOKfzBR8pV7FijYGBdesELhfSFdyrPKBiE3izgfeSqlN7aubQD0CNudjyFsuafSLnp3aKacC3Amcya6SxpGiC5wbsssmK6ePtfUqRyp7hj1t9m3HdKBEwAWrmjitjs2G4ruW6jPdJybWtoRffKLdtA4nXM+S9EesvS0h8x6hTOKPuUOxJJFebTihsQoktuxDMD6WaBoGpzjhNQ0qEf+F0IpiaS0ZTrVRJstkabUd1mrDtK3XPZTUfY/+4YN8AFFSYgnLAdog6o9CNX8POXb/sXnUg6GA8ZD2XpDmGHfspxtEyQZHqWX2YRP+2amonqEA/ONUzMT1mJJjQUtsQTKPYAe0f2gqoBOR1zPvn+OYyM51UTAkahRpIJuMwetZfxu1fagROEsYevjnYeKn/HzCN4jgFtte+lAEb+jwPNCPCReX6fPVQSg0eK1ll/d30/orny2/fY6l2tFX/wu8Uw/mNBNG7yh0t+k3OOX9qr7WFlwsxPiDtN6KW57FHFrKTNf0Gp79RmEJl765ijXE0gwqT0voPwJQtUu0fRU0KwalsZ4KEjxe7hE3K1c/j0Z+vgEyQVuI0FNTyi8Gzuzj0YPe3t+2Deffvks8H8=")]; -this.addPalette("gmdlChips","GMDL / Chips",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLDialogsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library dialog dialog persistent footer",280,472,"Dialog with persistent footer button","5ZhdU6MwFIZ/DZd1QigfvVSsvem6ndEZr2NJS2ZTwoSo7f76TUJAaMCtCnXWxXGmnHzAed5zThIcL97tFxzl6Q+WYOp4c8eLOWOi/LXbx5hSBwKSON61AyGQ/w686Wl1dSvIEceZOGUALAc8I/qES0tpKMSBGkOCihSr7sDxrooU5crO8VrOf7UhlMaMMq67eht9qW6Cs1+40YL1VU6QsBdpdOWNeTjmAu97HdAm8/YLzHZY8IPs8kISkRonotJJkGKyTc2waWhcQUVp2NZjX3nIHwZJNx7PwrNgbCvJQPBAJjfEgiUdUVyUS2SN6CUl20y27EiSUO1+jtYk2yr/A8WPZeKO/FaDIajuzWwKEMeFbH0wrp6MDH4MWWBsHFMkyDNuzf8ZjFML453kgqhmJ197K1+rh6QBtsQb0YTWCK0IqL82TNd9HXrPcmkJzk7Tey9N84gVI/LJEBzaolQj2GZTYGHRr1/sJEF8S5D5fi27KJ97hGjS9VuRDPtl+rpYHoj+bAz6gZ0OeP3EiTicWk8emRBs183dmK5Ml2u/IzX6Uui8GvnDaOTCMUQKLZEiAC/cvbTNL1fvLFfNxPnavJgOxDwcg3lkMV+honhhPPnoQvvGugHALIiif7UwQXcMAWaWAE4Yf7Qo1RUI/DUx6s3P99HH80fQpxL9rf16tUWnJMP1Vryip9bqjC3RozpqaJbWVn0k7mYAuAB+aEY1pZhG40kxyhbKde1VPJUnGwWjp2YdHZ5sZajSZcUKIghTGcVLFnWmLY/a62qHTApSnV6fq4rq6oqLQF9HC9pUxQl7yhJ9QtTxZDJ6wDTtyFL4ydDYt6c5VAE3StLah2wTKSh5RtlaooOA5UrT4r+PmbroaKWHLPbniyJ/lHpjf4uIL2/j+bJveW4i9zr2nX3LbW8gDFD93RYoexkIfVukKRxEpIkbtGWaVBMPK5P9rSP+eXs7j++/k07RiDpVcw8pk7x9/aZadm9+cv0D"), +this.addPalette("gmdlChips","GMDL / Chips",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLDialogsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library dialog dialog persistent footer",280,472,"Dialog with persistent footer button","5ZhdU6MwFIZ/DZd1QigfvVSsvem6ndEZr2NJS2ZTwoSo7f76TUJAaMCtCnXWxXGmnHzAed5zThIcL97tFxzl6Q+WYOp4c8eLOWOi/LXbx5hSBwKSON61AyGQ/w686Wl1dSvIEceZOGUALAc8I/qES0tpKMSBGkOCihSr7sDxrooU5crO8VrOf7UhlMaMMq67eht9qW6Cs1+40YL1VU6QsBdpdOWNeTjmAu97HdAm8/YLzHZY8IPs8kISkRonotJJkGKyTc2waWhcQUVp2NZjX3nIHwZJNx7PwrNgbCvJQPBAJjfEgiUdUVyUS2SN6CUl20y27EiSUO1+jtYk2yr/A8WPZeKO/FaDIajuzWwKEMeFbH0wrp6MDH4MWWBsHFMkyDNuzf8ZjFML453kgqhmJ197K1+rh6QBtsQb0YTWCK0IqL82TNd9HXrPcmkJzk7Tey9N84gVI/LJEBzaolQj2GZTYGHRr1/sJEF8S5D5fi27KJ97hGjS9VuRDPtl+rpYHoj+bAz6gZ0OeP3EiTicWk8emRBs183dmK5Ml2u/IzX6Uui8GvnDaOTCMUQKLZEiAC/cvbTNL1fvLFfNxPnavJgOxDwcg3lkMV+honhhPPnoQvvGugHALIiif7UwQXcMAWaWAE4Yf7Qo1RUI/DUx6s3P99HH80fQpxL9rf16tUWnJMP1Vryip9bqjC3RozpqaJbWVn0k7mYAuAB+aEY1pZhG40kxyhbKde1VPJUnGwWjp2YdHZ5sZajSZcUKIghTGcVLFnWmLY/a62qHTApSnV6fq4rq6oqLQF9HC9pUxQl7yhJ9QtTxZDJ6wDTtyFL4ydDYt6c5VAE3StLah2wTKSh5RtlaooOA5UrT4r+PmbroaKWHLPbniyJ/lHpjf4uIL2/j+bJveW4i9zr2nX3LbW8gDFD93RYoexkIfVukKRxEpIkbtGWaVBMPK5P9rSP+eXs7j++/k07RiDpVcw8pk7x9/aZadm9+cv0D"), this.addDataEntry("gmdl google media design library dialog scrollable dialog persistent footer",280,345,"Scrollable dialog with persistent footer button","3Zjfb6owFMf/Gh5dShHER2XOF6/XZEv23EmF5lZqSjf1/vW3hYKYwuYcdbnDmMBpz2nP50t/4XjR9jDnaJf+YjGmjjdzvIgzJsq77SHClDoQkNjx7h0Igfw78KGj1C1KwQ5xnIlLHGDp8IboKy4tpSEXR6oNMcpTrKoDx5vmKdopO8drGX+6IZRGjDJeVPU2xaWqCc7+4EYJLq4yQMz20ujKB9045gIfOhMoTLr3c8y2WPCjrLInsUh1EmGZJEgxSVLt5g390ojy0pDUvice8kYjacfjGXjmjCWSDATPZPBADFgyEcVFpUTWiE4oSTJZsiVxTIv0d2hNskTlHyh+LBOP5K9yhqB61tEUII5zWfqsU70YGbwOWaBtHFMkyBs+i/8VjEMD46PkgmjBTnY7kd3qIKmBLfBGNKE1Xq0QqN85TNc9uT6xnbQEN6fpfZambmLFiGwZguO5KJUH22xyLAz6dccuEsQ3BJkd1rKKyrlDiCZd/+xNht0yfd+73BP9sQ36gTkc8PqVE3G8dD55YUKwbTt3bZrqKvd+y9DoGkK31cjvRyMX2hBpZIgUAnjnHqRtNll9crpqDpzvHRfDnpiPbDAPDeYrlOd7xuNrF9p31g0AxkEY/q8TE3RtCDA2BHBG0bWTUj0DgQ8HRr35+Tn6eL4FfSrR39uvV1t0SjJcb8UremqtztgCvaijRsHS2Kpb4q4dwB3wR9qrKcUwtCeFlS2U69qXoj41WZfieBbjRsIM/MCGMOaZNposo9miax5rLtBeywLdNS91rj09aPORLCO/ZWmHX1NFNz1wq/FSyVQF7lcm82wd/V4uZ9HTT9IptKhTFbtPmeTj6eNTWb35beof"), this.addDataEntry("gmdl google media design library dialog message dialog",480,480,"Message dialog","1Zhdc6IwFIZ/DZc6gSjqZau2N91OZ9qZvY4QIbuBMBCr7q/fhCQoBC1WmNnFcUZOvsj7nJNzxIHL5PCcoyz+wUJMHbh24DJnjKtfyWGJKXU8QEIHrhzPA+LreE8XWt2yFWQoxynvMsBTAz4R3WFlUYaCH6k2hKiIsewOHPhYxCiT9hwHYv7HLaF0ySjLy65wW16yG8/Zb3zWgstLTRCyvTC64kYvjnOODxc3UJr00z9jlmCeH0WXPQl5rHpM5mqTIMYkinnDiApliKqxJz3EDy1JuzzQkucV74UhwUWBInyTVnKbJED0gZIoFeaEhCEtJclQQNJIauJLTVnK38kfOdKF5l4vIUXLcSFaf+rtuw0KKUvxVQBIL0/xlndF4H0XgbLlmCJOPnFt/nuwTL7ptckhkpE2jpKQjg+VTEZLr004v7y6KgXblaoPOOrIHE/V/ZmO7sSW0dg6y6jXf2NEPFa1+AhOasuPZvUZ2HZbYG5hqHbRiczUIvPBLDZCQH7y+5fSEU++f6b9HMhPS0zooR8sExa/NSiGdGwI7iOiCfhgAAK+ReB9t/klj6ALGC5oa+KhHZI5kMAVaP8BARdMB0Aw6+N40lmjfkK5V4/2ljzQb1wcawO+YuRPe2E08odgNLcYPViQGgn8q2ShJadog+kbKwgnTCbaQKiK87MC4KXRgctTrMrLVndTL2wY5yypB6wHTiH6qNtXI2gHZZXFGhVbUF4tQd3JTWY3uonXkt36SW4m8RifMdP26jOLPuIacY6COCk17L/+uJXIwgbSE5FZo9qYDEHEBX0gyeiu+BdgDFj8uUYpgwMuhsDh2sXH+nXVtfJo/tNpnGHeejZ/OqtJVPUHrv21sg7Ve7JfaxHfElIDpEJTwi8aFPtIjeL29L5BdT9/HfEX"), this.addDataEntry("gmdl google media design library dialog dialog",280,273,"Dialog","7ZZRb9owEMc/TbQnKifpgD4WCmzSJk2j056t+JJYc+zINgns0+8cmxAI1VC77WmWIPbd/e+s+12kROmy2m80rcvPioGI0lWULrVS1u+q/RKEiBLCWZQ+RUlC8Bcl6xe8ceclNdUg7S2CxAsaKnbgLd8MoGGjVCHgncGtUBm1XEncGtANzzBw7WXGHkSQMWpKcElJlC5MSWtn15DhLRY5F2KphNJdaJp3y4VZrX7A0SOVBK9lqsVz7JRK2i3/6XLFD+E8yES65UQ1zbgsnlWNjskULW3JLWzR7LQt9vcU5ZK5ECp4IfEgIHe3bEBbnlHxGMzWJVuE/qAP9i/2uDOFBm9AVWD1AUNazmwZ+jz3HEgJvCiDLJml3kiNNxS99oQMN4HadYLpiOAnsD3BrqKoXY26djQZWNAVlzAge4f755I7dwVUmo60ZK5VqEMuh0rtLkaBUUvxYdWgFN6VQAPO3ZbdQ6pTZewX/uudlJj4bjRA2F97QXw6Jv7QrdcS12Aw9feAJe4tH45Q4luJJ68jHk+DUYPATjZwVuDaGIQaXxSXjurBR8zIuULluXHUL8amv9lNk3Q/mqSnj9vHzdfV6hZY6RhWsprN18klLPJbVuTK21hxxlz1/q3NkAXo4yXC1d7K71xwODsN2F5Dez9/G9lQetKPSKg+OSb+o6zfj1j/B/2PQc//Amc8nr4dfPjw0+IX"), @@ -4794,8 +4823,8 @@ this.addDataEntry("gmdl google media design library menu scrollable menu",272,42 this.addDataEntry("gmdl google media design library menu cascading menu",604,590,"Cascading menu","7VvRbqs4EP0aHoswTkjuY5O7e7VSd1VttNpnEpxg1eDIkHvb/fo12NDAQEoDTtVCpKrBYIPPmTP2zBALr6PnH8I/hn/ygDAL/2bhteA8Vd+i5zVhzHIdGlj4u+W6jvyz3N9bzqL8rHP0BYnTLh1c1eGnz05EtaiGJH1huuFIBI1ISoQ8jHksW1eBn4QkG8GRB0noH7NLBdnJW672lLE1Z1zkvfE+/2SXpYI/kbMzJP+oAQL+SzYieaCfh4iUPLfOKW/SE/pBuHw68SIvKTogT3X5RYM0VG0YLVVbSOgh1MPMsL7QT1TDoRzrFTL5RaPWjCAGCK44CwCKcjoZOtnE6M5n94weYnkmokHAchCO/o7GhwJTdfRA9tmjyvlIXHmcbuh/2XBoLo8FSeTRv3qKnaFzm6F7EyptF4IwP6U/SWX8PvDNIHxXW2D0fMiEZB+igNk7HkV+LC9ZMX9L2CNPaEp5hrlQ0yq5eKidLznxNUksp6Gduzo1nYjAl21YdXjRGrbnwKKRC1lC72VJ3/+RU/lY5c3vZtXb39Vkwvf7hKSA5XIWnYifA+L/SCXgu9Erp8bJS3WYQTnwIAfjEN985OJbAOL/iQMiGJX8Tvpr0t9yZoCGJaRhHPpbjFx/3wDxm1TQJzkAPx3CSYKNEkSuCSqQA7i4Z3LQ1Sak++z/vI2OurR2EqdMpt21VRfjMOL61ldcjgc51HFkb3WhYqBCXgX+w5KKoMBO0pMmO0GP6aSvZn15SxNUwBSDPY5FDr2RpvjyqxyCuZHNaTtp8IIGXTPuEGZZLHc9EhWOPdGCYKYFMF8wmweAl3K1txUV6rnpKEQ1N5E8QTB78ugLP5dGgW7ybjdXt/FXt5c7uc/p1Dwj+MMkxjAeTUZifnxgUAh6hFqFw8s/2cg0K4Eo3xZzkSHb0UV5PV3UfHjpFB4KL6seam6CSZgHecgzUU5h/S0qqjFReqlRqQs7JlJTCKYo/jpFWyKkdlyH0eT9O7gvCf7MxJLtwpzEQ464w4+Zg5mWlXzspYl41YWpA4D2194uzVwTMUgBYxdc9asE7bi2vmQw8KsE7tKrLH+lr32LirJjn9p4w7sFG5rvTAaWfzWaXrg9LPdWLqEzhjD0RTZqzemOCMEb1pkbiv3f+Wk7GXIrDUbKjQ31/vUpSXlk4XvZjGzokYfno23P/jl5MlOTaqjPA2auS9aFZPdUI0F3Vottgb/btPyWkW43Zlqi2kuptqZNzawfUfoBcXUhv1uYoA3GscPQdvOMRBt3Y8lINBToAZPGg4CPjQLMVANxQ7U9CCyV6ckyPluy54IoKIpcqsk1qVf4eyVDeKC1Z2GEIRj/Vhny95n3mgj6qGJe8XAj9k1mohQMw229PS4T0bYN3134/Nbec4dltMqGYfzeau0fnzYqg2gN8xn0ZUaoWkdetsPc+RcoMLruVj65wmRb3r240mIVuRcttsyF3yRbhGGEPGxUfIbf33o+OYD1NwJ7wVftcQam12CCfQPhYlvumQiEMQyEKzX2wr7LbePYDf2GST0Mo91JK+/TilF6YAjbLB29n5+Uc7M87AwGwcgesiQxGuUMQY88fP29tbr8/OfY/wM=")]; this.addPalette("gmdlMenus","GMDL / Menus",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLMiscPalette=function(a){var d=this,e=[this.createVertexTemplateEntry("shape=rect;fillColor=#eeeeee;strokeColor=none;",358,642,"","Background (Light)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=#333333;strokeColor=none;", 358,642,"","Background (Dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),this.addDataEntry("gmdl google media design library misc keyboard",358,224,"Keyboard","1dvLcpswFAbgp2GbQRLXpU2arLrqomsCsqHmViCJnaevuCi1OXhKYw9njmcyYwvkwGfQ0Y+xIYL8+FyHVfK9jGVmiG+GCOqybIdn+TGQWWZwM40N8Whwbqo/gz9dWcr6pWYV1rJol3TgQ4e3MHuVQ8vQ0LSnbGyIwyaR3eqmIbZNElZdey0j9f7bXZplQZmVdb+q4I7gwutWa+vyIPWSoixUn23YVH2vx1167N5wO/5vWbfyeHX7+6Zx459lmcu2PqlV3tO4TYY1hO0N3RKZ7pOxG+fW0Bg2Q8P+s+9fDvVkFJnXEUDnN+BR295LlEV7JvHSP8b2H+lHt7LaIrHt9jaNwmyTpftCNeZpHGe9ztgQqT2X9VIdPq+jO4yf5kmbDC/P7UxIp9tukbOA3DspOcvBkrOBnCQl55lYcg6Qq0nJMWZh0bmArqVFZ3lYdB6gO9Gi89CKhA/oXknRcYZWJZgJ7FJadjZanWAM2JW07Dy0QqFnlGd2FSk7wdAqBYNxIiRlp6cJI51rr0cH80RDis5haHQwUMSk6HwbjQ4mih0pOqanWAh2MFLsadk5As0OZoqElp2PVylgqPhFyk7NULDsOAwVB1p2Dlqt4DBUZLTsfLRaoefgZ3YfpOwmszumL0WuYQdDxZGU3WR6t6odTBURKbvp/G5VPJgr3mjhTSZ4q+LBZPFCC28yw1sVD0aLghTedIq3Kh7MFjktPAexYMBwwRbi+f3jEo+Zq+Pxid1qdAJmC06KznbQ6GC0EKTofBONDiYLixQd4xaaHUwWNi0720Ozg8nCoWXn41UKGCxcUnafnzWCHcwVHi07B69WwFjh07Lz8WoFTBUmKTvB8WoFDBWAbvYe7Py47+4bf9jncfbQJOmu052983pym/aGbdyNf6eDbhJlBbxsrPfn8vbs2+EsGCm+APcSRoemCiOJgCfYZLQT8LDTxeRcT39BeJMeTBWGeGKLo8Xc1QC2/nWoyWUo113tvLVgtjB4cIMewvcWk0mea62nB9PFAyk7cB3KNdfDg/EC2OnBTvVMq2bp6GYFW3uzvdPoZk5qqjNzcs6MbrrtJiEYIr5QG6JERgcgp5h2/eNzyc9xh/hSuOEDvD6q/XMSzOaqwj1qKgwQV4+s8TdgSw4rEViuFaj2unwt4h6ddV2Hk1fcqRaY0zMSDmdMHxgXkxH7v+HUy78/0uuXXfyG7w8="), -this.addEntry("gmdl google media design library misc snackbar",function(){var b=new mxCell("Archived",new mxGeometry(0,0,358,48),"shape=rect;strokeColor=none;fillColor=#333333;fontColor=#FFFFFF;align=left;spacing=16;fontSize=13;spacingLeft=8;");b.vertex=!0;var a=new mxCell("UNDO",new mxGeometry(1,0,88,48),"text;verticalAlign=middle;align=center;fontColor=#EEFF41;fontSize=14;resizeHeight=1;");a.geometry.relative=!0;a.geometry.offset=new mxPoint(-88,0);a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -358,48,"Snackbar")})];this.addPalette("gmdlMisc","GMDL / Misc",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLPickersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library picker date picker portrait",328,484,"Date picker (portrait)","7Zxdc6IwFIZ/DZfdSQgiXHbtx8VutzvTzvSa1SjMojCQ1rq/fhNBiz3YVsuJe5jVqSMhATyPoed9OeiI0fz5uojy+CabyNQRl44YFVmmqnfz55FMU8dlycQRF47rMv3nuFd71vL1WpZHhVyojwxwqwFPUfooq5aqoVSrtG4o4yg3bws51pv8Ok3SdJSlWbFeK6brh24vVZH9lo01cv0wa+Joki11I9cL9f5koeTz3mNeN9UHfC2zuVTFSndZJhMVVz2EG1TDYpnM4nqYF3hVY1RWDbPt2JcQ6Dd1FNojIkBE7uNHx9Xj2Hle6FcuDgwRY6EfBKY9W6j3Q7fIFiZqUZrMFnoxlVOzzTKPxsliZqLo15u6S/6YnQqhl01Ak3GUntejfmVKZXO9opCl7vZQR+7DBNzjCIR+1VbINFLJk9zZ/meoeICKBjEEIPRHUi3RmCeTienymsDV+vES3fss1yv8N8PNB3rZ7OfWdFEr3TRkxwdaHPlVZ0iBHrScEPxUbT/O8cH2LszzsGC7rDETxjpossD8TntdRLrew88s0Tt22Wp3ZmxGZNNpKRUgsz2uD8HyASx9ikpMjy5mxzHAuGgDtu5QHwfvHGA9gH3hnl+fmxtM9fyhBXXYNgNnfZ6BW4DBQAwBQGqTMgD87g4G1zqDGiQDZp6op8IQLep6miKEPQRhv6ES9rdPYJtokSHBGUBxTw6FG2xODqRRcIDigRwKzw3DHqCAUpverBgMGe8BCqjxr8ihGHLm9QAFFPZksqVG2spa/ldQS6A4lP68cxRbCWJJElpHE6CggULfpYrGDoetN9ItB6jNoRlMhMPJRAcSGii7PfJobIsQJDRQmg/Io7EtSnDQuFCq++TR2BYpSGigdD/c0X8Pzc6lSQtobIsWJDRQygfkZ43tTBkJDZT2IVU0ljj4KBygrt/YwvRAnC5VxmHTIvTpK33ruTIOG6j0N8YxYTbWk2UcNlD9v1ELpscmeWlo7CsHay37OprptprsNdNOCPoecyFB1j3Beo9nG2WCSxSaBpy+a2A9ycZhA10DTt82sJ5lo7AR0DbgZH0DOyAEQwEBTYIj6v7+ERAnS7OR2ECXgNO3CWyn2UhsoE3AyfoEJ0uzkdi01fqTZ2PblEZiA62DHhQJ2E6Ykdi0FAnQtw5sJ8xIbKB1QLdywBIIlCInARV/D+oErCfMOGyg4u9BoYD1hBmFjQcVfw8qBawnzDhsoAmAUCrQ+4QZhw00AXpQK2A9YcZhA00AusUCp0uYcdhAE0CQNQEsgUApPfeg4h+d/xhdft8H4/XN4PsqznbuQTY3ZyzjRMk73WqGLosod5r3JbODOXd8DbQesNpZapAdtlwMHXR0MZT7u1dDzzYb7hY1NBBuv/3HvIs5RMQcIlDWiy+/JlR1b/7Y0F8="), +this.addEntry("gmdl google media design library misc snackbar",function(){var a=new mxCell("Archived",new mxGeometry(0,0,358,48),"shape=rect;strokeColor=none;fillColor=#333333;fontColor=#FFFFFF;align=left;spacing=16;fontSize=13;spacingLeft=8;");a.vertex=!0;var c=new mxCell("UNDO",new mxGeometry(1,0,88,48),"text;verticalAlign=middle;align=center;fontColor=#EEFF41;fontSize=14;resizeHeight=1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-88,0);c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +358,48,"Snackbar")})];this.addPalette("gmdlMisc","GMDL / Misc",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLPickersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library picker date picker portrait",328,484,"Date picker (portrait)","7Zxdc6IwFIZ/DZfdSQgiXHbtx8VutzvTzvSa1SjMojCQ1rq/fhNBiz3YVsuJe5jVqSMhATyPoed9OeiI0fz5uojy+CabyNQRl44YFVmmqnfz55FMU8dlycQRF47rMv3nuFd71vL1WpZHhVyojwxwqwFPUfooq5aqoVSrtG4o4yg3bws51pv8Ok3SdJSlWbFeK6brh24vVZH9lo01cv0wa+Joki11I9cL9f5koeTz3mNeN9UHfC2zuVTFSndZJhMVVz2EG1TDYpnM4nqYF3hVY1RWDbPt2JcQ6Dd1FNojIkBE7uNHx9Xj2Hle6FcuDgwRY6EfBKY9W6j3Q7fIFiZqUZrMFnoxlVOzzTKPxsliZqLo15u6S/6YnQqhl01Ak3GUntejfmVKZXO9opCl7vZQR+7DBNzjCIR+1VbINFLJk9zZ/meoeICKBjEEIPRHUi3RmCeTienymsDV+vES3fss1yv8N8PNB3rZ7OfWdFEr3TRkxwdaHPlVZ0iBHrScEPxUbT/O8cH2LszzsGC7rDETxjpossD8TntdRLrew88s0Tt22Wp3ZmxGZNNpKRUgsz2uD8HyASx9ikpMjy5mxzHAuGgDtu5QHwfvHGA9gH3hnl+fmxtM9fyhBXXYNgNnfZ6BW4DBQAwBQGqTMgD87g4G1zqDGiQDZp6op8IQLep6miKEPQRhv6ES9rdPYJtokSHBGUBxTw6FG2xODqRRcIDigRwKzw3DHqCAUpverBgMGe8BCqjxr8ihGHLm9QAFFPZksqVG2spa/ldQS6A4lP68cxRbCWJJElpHE6CggULfpYrGDoetN9ItB6jNoRlMhMPJRAcSGii7PfJobIsQJDRQmg/Io7EtSnDQuFCq++TR2BYpSGigdD/c0X8Pzc6lSQtobIsWJDRQygfkZ43tTBkJDZT2IVU0ljj4KBygrt/YwvRAnC5VxmHTIvTpK33ruTIOG6j0N8YxYTbWk2UcNlD9v1ELpscmeWlo7CsHay37OprptprsNdNOCPoecyFB1j3Beo9nG2WCSxSaBpy+a2A9ycZhA10DTt82sJ5lo7AR0DbgZH0DOyAEQwEBTYIj6v7+ERAnS7OR2ECXgNO3CWyn2UhsoE3AyfoEJ0uzkdi01fqTZ2PblEZiA62DHhQJ2E6Ykdi0FAnQtw5sJ8xIbKB1QLdywBIIlCInARV/D+oErCfMOGyg4u9BoYD1hBmFjQcVfw8qBawnzDhsoAmAUCrQ+4QZhw00AXpQK2A9YcZhA00AusUCp0uYcdhAE0CQNQEsgUApPfeg4h+d/xhdft8H4/XN4PsqznbuQTY3ZyzjRMk73WqGLosod5r3JbODOXd8DbQesNpZapAdtlwMHXR0MZT7u1dDzzYb7hY1NBBuv/3HvIs5RMQcIlDWiy+/JlR1b/7Y0F8="), this.addDataEntry("gmdl google media design library picker date picker portrait dark",328,484,"Date picker (portrait, dark)","7Zxdc5pAFIZ/DZfp7LKIcJnSJBdtms4kM7mmugpTFAZIjP313QVU9GCqlrPmOCWTDOwH4Puw5LycRUsEs7e7PMyi+3QsE0vcWCLI07Ss12ZvgUwSy2bx2BJfLNtm6teyb/fU8qqWZWEu5+UhHey6w2uYvMi6pC4oymXSFBRRmOnVXI7ULj9P4iQJ0iTNq1rh2PpHlRdlnv6SrRpZLbomCsfpQhVytdEcT+alfNt7zlVRc8J3Mp3JMl+qJot4XEZ1C2F7dbdIxtOo6eZ4Tl0YFnXBdN13I4FaaVToVkQARZ6iF8tW/dh1lqu/XBwp0aBadHk6L1vlk2oB0s3TuVYtTOLpXG0mcqL3WWThKJ5PtYpus6vH+Lc+qBBqWwsaj8Lkuun1My3LdKYqclmoZs+NcgcTsE8j4Lt1WS6TsIxf5db+/4WKA6goEEMAQn2kskONWTwe6ya7BG6rZaPuU5qpCvddubkmqY/zoJuUS1U0ZKcLLU681BmS0IOOG4KblOuPc7rYm8v9cLFt1hoJIyWazDGvaacPpZsj/EhjdWCbLbdHxqpHOpkUsgRk1ud1ECwXwFK3qFi36GN0nAKMiy5gVYPmPHjvAJsO7BN33Obe3GKqxg8tqMOuETi95BG4BugNxBAApDYoPcDv8WhwnSOoRXJULai3Qh9NdTVMEWT3gez3VGR//wa2UosMCc4AiidyKGxvdXMgjYIDFM/kUDi2718ACmi16Y2KwZDxC0ABPf4tORRDzpwLQAGNPZloqRW2so7/FdQCKA6tP+8dxdqCXAoKDwUFNPY2FRRmdF8/++hXd+i94cPeD6r72UwEEgpoox1yKEybCCQU0FoPyKEwbSJwUNjQWrvkUJg2EUgooLU+/on731B4LPgcOJdjIpBQQGvtkRsVpiNXJBTQWvtUUBjS3UXRHfro1WPYjy/8+UJXHBYdRpqekzYeu+KwgE569SCWEAvjwSsOC+iu35lLpfrGWaHV35lOtY6JOqdNncxwPZFtd7JCLwRdh9mQIOufYHPEq5VTwCUKTTqn59KNB8E4LKBL5/RsuvEoGIWFgDadk/HpZoQXDEV4aMpPmAd37kFgOgxGYgFdOadny02HwUgsoC3nZHz52cJgJBZdc9nJsTD9EBeJBbTqBJPepgNYJBYdSW96Vt10AIvEAlp1OplwQ8KjTMIR0FETzHsbD2BxWEBHTTDxbTyARWHhQEdNMPNtPIDFYQFNNkLq++ICWBwW0GQTzH0bD2BxWECTTSf5fb4AFocFNNmCjMk2JDzK1GUHOurg+ntw822f+LsvD++bAbX1zqp+KXURxaV8VKW66yIPM6v9His7mmvPOb+mw3Jrq0V22JH8G/SU/OPudvbvarXjflFDw/7w9T/mbcw+ImYfgbLa3Hz7TN28/eU0fwA="), this.addDataEntry("gmdl google media design library picker date picker landscape",512,304,"Date picker (landscape)","7Zxbb9owFMc/TR47+ZLrY0cvD1vXSa205wgMiRYIStJS9ulnE0OBY1pgsdeTjaoScexc/r/EnPPnBI8Ppi+3VTrP7sqRKDx+7fFBVZZN+276MhBF4TGSjzx+5TFG5L/Hbg6spau1ZJ5WYtYcM4C1A57T4km0LW1D3SwL3VBn6Vy9rcRQbvLzOC+KQVmU1WotH69esr1uqvKn2FojVi+1JktH5UI2Urmg9yeqRrwcPOZVkz7gW1FORVMtZZdFPmqytkdA9YFmIp9kehgnftuY1m3DZDP2VQL5RqtgVoQDRR6zJ4/JcaE8KUrkOVzOK9mD8hOlIiQJ41i1l7PmfQln5Uyplxb5ZCYXCzFW26zn6TCfTZSaod7UQ/5L7ZRzuayEzYdpcalHNeX8ddCjWrii/rEY2LsYaBhbwuADDFLxCCguD78xnPY0H41Ul32pb1avfUXCN3WlgVxW+7lXXZqlbIrUVVCJWnb4ocU4+trm54nqt/cxqUSRNvmz2Nn+nwgdGGaAsGg2p3O+2P6V+jtNbEa2LvmhFE1U50t94PrVA8gnzkI9i2zPLMSh+CEQX84tuerRxdV+DgDKTQBWHfRxUHtAfJZEAAjzDVO9NSKR6XaY/BO3Q0LWH35/63aIgfgPJ6tuvHa3MMRE/bmeVEzRCjtRRb3T72Uuj4WRpd5MuDuiHI9r0QDVN4d6FIgEgLhDB8I4mfimeOUDg6AEkHhERyKQkx9+EhSQ+IGOREgjODmhIwGTVnz3RERJgp8ETJZv0JGIid+DzwmYL+MLneIkhp8T2EInChNq2jmJTS7hKDEzkvETa2TWDki3ZGC2zdCTMaYbFslQQmyggWk3dFexoTEnICE2NDAp99GjMWck6NDAND1Aj8acomBDw2DeHqJHY85Z0KGBifzpTvt7aHa+63MRoBmTGHRoYGYfo79rXMfOltDAVD9Bj8Z58LzeTrdoYO6/to0Rs3EePdthY3AD8NsBzsNnO2ygH7C2lhGzcR4/22EDDYE36q3k2HxeKxqHSq6MpVVnM91UbO0z7YRgFAQA4FrkLgHqHV6sfTG7QKGNQPH7CM7DbjtsoI9A8RsJzuNuK2w4NBIofifBeeAd+jbYQCfhjKK9j8bGeeBthw2DbPB7Cc4DbztsoJdA8ZsJzgNvO2xMhffo2Th3ru2wgWZCH2oLXMfQdtgYigsYfjauY2g7bKCZ0IPyAucxdGKjXIpDX6AH9QXOY2g7bKAv0IMCA+cxtBU2PvQFelBh4DyGtsMG+gIWSgx6H0PbYQN9gT7UGLiOoe2wgb5AD4oMnMfQdthAX4Dj9wVcx9CbuaZbNtAXGFx+G1x/PcRn/3nvQ8VrO08qqwc/FlneiAfZqoYuqnTrxyV0j9PQd/zdqR6w3FnaIhsZHmYOTn2Y+eC3qGRn7xeBjTIsH9oM91/+Y97FnFjEnFigLBdff/Gn7b79g0C/AQ=="), this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7Zxdb5swFIZ/DZed/MFHuOzox8XWdVIr9RolTkAjIQLaNPv1s8FJkxynTTLs9nSjqgTGBvM+xpwXm3g8mT5fV+k8uylHovD4pceTqiybbm36nIii8BjJRx6/8Bgj8t9jV3v20nYvmaeVmDWHFGBdgae0eBRdSpdQN8tCJ9RZOlerlRjKQ34d50WRlEVZtXu5z9SfTK+bqvwlNvaIdlF7snRULmQilRv6fKJqxPPeOrdJusLXopyKplrKLIt81GRdjoDqimYin2S6GCd+l5jWXcJkXfZFArmiVTArwoEi99mjx2S5UF4UJfIazueVzEH5kVIF7aLSy1mzkT5uFyDhrJwp9dIin8zkZiHG6pj1PB3ms4lSM9SHust/q5NyLreVsPkwLc51qaacvxS6VxsX1D8UA3sTAw0HljD4AINUPAKKy+o3hsue5qORyrIr9VW77CoSvqorVcjUeW5VlmYpkyLVCipRywwPWoyD2zY/TVS/u49JJYq0yZ/E1vH/RujA0AOERbO+nNPFfmnXh4vNyEaTH0rRRHW61Hvary5AvnAW6l5ks2chDsUPgfiyb8lVjj5a+ykAKDcBaDPoelB7QHwWRwCIery4IxKZbofJP3E7xGT18Huv22EAxL87WnVj293AMGwX152KKVphR6qoT/qzzGVdGFnqw4TbJcrxuBYNUH1d1YNAxADEDToQxs7EN8UrHxgEJYDEPToSgbQJ+ElQQOIBHYmQRrBzQkcCmlZ890RESYyfBDTLV+hIDIj/CZ4T0C/jC50G8QA+J7CFThQaato7ibWXcEnCj62RWL3x6JcEdNcMHQmjnbBIghJiAwW01fDt6UdHYTYUITYU0GT76FCYHQU6FNBmB+hQmC0FNhQM+uwQHQqzp0CHAhrt49+Ev4ViQJKvie/aVKBDAZ32AN1d4TqWtYQCWu0YHQrnwezqOP2igF579ZoWEQvn0awdFga3jc9uOw9n7bCAfnv1qhYRC+fxrB0W0HC/Ml9Jls3ntVJ/Z8rSOkwyTk06meF60tjuvIJeCEZBAACuRO4ToD7h2eo9k12g0LZTfL7deVhshwX07RSfcXceF1thwaFxp/icu/PAOPRtsIDO/YRJbO/NwnlgbIcFgyzweXfngbEdFtC7U3zm3XlgbIeFaWI5OhbO3/TaYQHNO8axctcxrR0WhsFyho+F65jWDgto3hEOlzuPaWMb03k49N0Ix8udx7R2WEDfjXDA3HlMa4WFD303whFz5zGtHRbQd1sYMv90Ma0dFtB3Yxwzdx3T2mEBfTfCQXPnMa0dFtB3c3y+23VMu+47+mUBfXdy/iO5/L6Px+73wfsmU2192ao+XV1keSPuZKoquqjSjR8j0DmOQ93zWKEusNza2iAbGT5+DY79+HXvqCHZOvtZYGPakA9t/e23/5i3MccWMccWKMvNl1+I6bJv/oDMHw=="), @@ -4807,34 +4836,34 @@ this.addDataEntry("gmdl google media design library picker year picker light",32 this.addDataEntry("gmdl google media design library picker year picker dark",328,484,"Year picker (dark)","7ZjLbuIwFIafJstKviQhWdK008VcOhKVZp0hhlhj4shxC8zTzzE2lDSXIS3pKiBQ/NvHdv7P6HDi0WSze1BpmX+XGRMevfdooqTU9mqzS5gQHkE88+idRwiCj0e+dPTiQy8qU8UKfUkAsQEvqXhmVrFCpffCCVWeluZSsSVMebviQiRSSHXopT4xb9ArreQfduwpZMGMmKeZ3EIbQ8MtxZRmu87tHiS31wcmN0yrPQzZ8kzndgQlkQ3LGV/nLsyPfCumlRXWp9jXu4cLZ0C7GbRhxlP+7BGIQ/NSwTemA90JDi+jy0Kf6avDq8u1VPB1AU3BVmbOqkyXvFgbF0M31YL/NYtSCm1jKF+mYu6ifkut5QY6wGb9aGL1HuQZAkmxCiJ/OTMvhkLeByUOraaYSDV/YbX5PwLKb4ACNrMGG2NAi0EbnmVmSDcUa/iTLKEj7CWAj3CvYzR95+lHIxkdtBntDzb6eKCXcKNM9Tj/1tnPPa9+NNBGt8RPyWFlgvb1Y3+MkKtVxXTD9tPGLiIRtpEIJhK9JLDvj4Bi1oYinFD0o4jJCCii6ySC/6GIUHKb+HUUJP50FMHQfNqO4pQurooibkMRTb+KfhSj5AqM2ljEE4teFnSUZIFxCwtXlE0sOlmMki1ws9pN5j+S+29dNM69pD1poVYwmL//25xrtgDVhG6huq8VEWgw6IXb2kfx1QP2tdYZ2hlqST5Da4w3ZN3SNzhEtdVvgjGyEW7W8o9fJ8x1zPGImOMRKEPz9cmYHX7+4Owf"), this.addDataEntry("gmdl google media design library picker date picker landscape light",512,304,"Date picker (landscape, light)","7ZhNb6MwEIZ/DceubAwEjlnS9rDbdqVU2rMVnGCtg5Fxm2R//Y7BSSCQJrRB2gNEkZjxjD/exwYNDonX20dF8/RJJkw45N4hsZJSV3frbcyEcFzEE4fMHNdF8HfchzOtuGxFOVUs09ckuFXCOxVvrPJUjkLvhHUUKc3NrWIL6PL7kgsRSyFV2UqW5QX+Qiv5h9VaWHmZlpQmcgNODIYdjynNtmfnXLrshB+ZXDOtdhCy4YlOqwgf24mmjK9Sm0aQVzlpUTlWh9yjBHBjVehWhLQUeU3fHBfyAlgURrCGaa4gApOeUiEUBWFo/DLTlyXMZGbUo4KvMjAFW5o+i5wueLYyaga2qzn/awYlBGwjLF9QMbVZWubHpFdjzLB3LQb3IgYchANh8FoYQPFJS3GYvu5Y9poniQk5lfqhvE4VCT7UFftgm3FeTIjegWtidoFiBQT8tmJcvbfJ50T1qnOMFBNU83fW6P8rQvtdQnu9hd5v0wUslKm28t7M/DqU/aSMZ/amTUDfiBvarJqyxPM6tmswkLJBl7L+qOx5Ze2ovySHybho1+xmnyGXy4LpFonDXK+CM+mCE4xw+sKZuAPACW/z8L8Ep/FCtnDc6H+As/d9EQ5G4QB0oi464Xh0etPxhzg7GHXhiUY8vfGEQxwejDvw2CJtxNMDz6FEuC2edkEcT5/j+5/nANXlJR+8YhoFhykfNinXbA5ek7pRtFan2Yh+7Od2ajciahN2DauGdoLaZP2+NcoJWTv0HQ5QY/S7fce3Rd2u9F9+jJibmKMBMUcDUAbz+PGsCq9/W/sH"), this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7ZhLb+IwEMc/TY5d+ZGEcKTp47CPrkSlPVvEEGtNHDlugf30O04MTUigpCVSDzFCiscz9vj/s0ETj8br7aNmefpTJVx69N6jsVbKVE/rbcyl9AgSiUfvPEIQfD3ycGIUl6MoZ5pn5pIAUgW8MvnCK0tlKMxOOkORstw+ar6AKW+XQspYSaXLUeoT+wF7YbT6y2sjvGx2JGWJ2oARQ8etx7Xh25M5lyaX8CNXa270Dlw2IjFp5RFgl2jKxSp1YRT5lZEVlWF1iH2TAB6cCt2K0JYiz+mLRyAuhE1hBHuY5Ro8MO0pVVA2a1eZqdmXZWtJmKnMqsekWGXQlXxp5yxythDZyqoZuqnm4p9dlFLoW2HFgsmZizIqfwt6tp077F+KgbyLAYfRQBj8FgZQfNJSHNI3HdteiySxLsdSP5TtWJHwrK7YIrPrPFkXswPTxJ4CzQtw+OPEuPhs04+J6lf3GGkumRGvvDH/Z4QOuoT2ewu9P6YL2CjXZw75sbIflPHE2XQB6BslkYuqKUt9v+O4hgMpG3YpG4zKnlbWrfpbCUiGoF1zmn2EWi4LblokDrleBGfSBScc4fSFMyEDwImu8+P/HpwIxbex34RDpl8Bzt72STgYRQPQmXbRicar05tOMMTdwagLz3TE0xtPNMTlwbgDjyvSRjw98BxKhOviaRfE8exXfP/jFKC6vPTMX0yj4LDlwyYVhs/BakM3mtXqNOfRj/3cpXYloi5g1+jV0E5Qm2zQt0Y5IuuWvsEhaqx+s5/4uqjblf7T9xFzE/N0QMzTAShD9+3lWeVef7f2Hw==")]; -this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex= -!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}), -this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}), -this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}), -this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light", -function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls", -a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")), +this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");a.vertex= +!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, dark))")}), +this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, light))")}), +this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, dark))")}), +this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light", +function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls", +a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")), this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;", 200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")), this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;", @@ -6861,19 +6890,19 @@ StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.sav StorageFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable()){var e=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=c&&c()}))}catch(g){null!=d&&d(g)}});this.isRenamable()&&"."==a.charAt(0)&&null!=d?d({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(b){this.isRenamable()&&this.getTitle()!=a&&null!=b?this.ui.confirm(mxResources.get("replaceIt", [a]),e,d):e()}))}else null!=c&&c()};StorageFile.prototype.rename=function(a,b,c){var d=this.getTitle();d!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(e){var g=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(d,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(d,b)}),c)});null!=e?this.ui.confirm(mxResources.get("replaceIt",[a]),g,c):g()})):b()}; StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,b,c){StorageFile.call(this,a,b,c)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,b,c){this.saveFile(a,!1,b,c)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title}; -StorageLibrary.prototype.isRenamable=function(a,b,c){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,c){StorageFile.call(this,a,b,c);a=c;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,c){return!1};UrlLibrary.prototype.saveAs=function(a,b,c){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,c){function d(d,e,g,p,A,u){function t(){mxEvent.addListener(v,"click",null!=u?u:function(){g!=App.MODE_GOOGLE||a.isDriveDomain()?g==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(g,f.checked);b()})):(a.setMode(g,f.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var v=document.createElement("a");v.style.overflow="hidden";v.style.display= -mxClient.IS_QUIRKS?"inline":"inline-block";v.className="geBaseButton";v.style.boxSizing="border-box";v.style.fontSize="11px";v.style.position="relative";v.style.margin="4px";v.style.padding="8px 10px 12px 10px";v.style.width="88px";v.style.height="100px";v.style.whiteSpace="nowrap";v.setAttribute("title",e);mxClient.IS_QUIRKS&&(v.style.cssFloat="left",v.style.zoom="1");var w=document.createElement("div");w.style.textOverflow="ellipsis";w.style.overflow="hidden";if(null!=d){var q=document.createElement("img"); -q.setAttribute("src",d);q.setAttribute("border","0");q.setAttribute("align","absmiddle");q.style.width="60px";q.style.height="60px";q.style.paddingBottom="6px";v.appendChild(q)}else w.style.paddingTop="5px",w.style.whiteSpace="normal",mxClient.IS_IOS?(v.style.padding="0px 10px 20px 10px",v.style.top="6px"):mxClient.IS_FF&&(w.style.paddingTop="0px",w.style.marginTop="-2px");v.appendChild(w);mxUtils.write(w,e);if(null!=A)for(d=0;d<A.length;d++)mxUtils.br(w),mxUtils.write(w,A[d]);if(null!=p&&null==a[p]){q.style.visibility= -"hidden";mxUtils.setOpacity(w,10);var h=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});h.spin(v);var l=window.setTimeout(function(){null==a[p]&&(h.stop(),v.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(l),mxUtils.setOpacity(w,100),q.style.visibility="",h.stop(),t(),"drive"==p&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else t(); -m.appendChild(v);++k>=c&&(mxUtils.br(m),k=0)}c=null!=c?c:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title",mxResources.get("help"));g.setAttribute("target","_blank");g.style.position= -"absolute";g.style.textDecoration="none";g.style.cursor="pointer";g.style.fontSize="12px";g.style.bottom="28px";g.style.left="26px";g.style.color="gray";var h=document.createElement("img");h.setAttribute("border","0");h.setAttribute("valign","bottom");h.setAttribute("src",Editor.helpImage);h.style.marginRight="2px";g.appendChild(h);mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var l=document.createElement("div");l.style.position="absolute";l.style.cursor="pointer";l.style.fontSize="12px"; -l.style.bottom="28px";l.style.color="gray";mxUtils.write(l,mxResources.get("decideLater"));a.isOfflineApp()?l.style.right="20px":(mxUtils.setPrefixedStyle(l.style,"transform","translate(-50%,0)"),l.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)l.style.marginLeft=-Math.round(l.clientWidth/2)+"px"};e.appendChild(l);mxEvent.addListener(l,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null, -!0);Editor.useLocalStorage=b});var m=document.createElement("div");mxClient.IS_QUIRKS&&(m.style.whiteSpace="nowrap",m.style.cssFloat="left");m.style.border="1px solid #d3d3d3";m.style.borderWidth="1px 0px 1px 0px";m.style.padding="12px 0px 12px 0px";var f=document.createElement("input");f.setAttribute("type","checkbox");f.setAttribute("checked","checked");f.defaultChecked=!0;var k=0,n=document.createElement("p"),g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.paddingTop= +StorageLibrary.prototype.isRenamable=function(a,b,c){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,b,c){StorageFile.call(this,a,b,c);a=c;b=a.lastIndexOf("/");0<=b&&(a=a.substring(b+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,b,c){return!1};UrlLibrary.prototype.saveAs=function(a,b,c){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,b,c){function d(d,e,g,p,A,t){function w(){mxEvent.addListener(v,"click",null!=t?t:function(){g!=App.MODE_GOOGLE||a.isDriveDomain()?g==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(g,f.checked);b()})):(a.setMode(g,f.checked),b()):window.location.hostname=DriveClient.prototype.newAppHostname})}var v=document.createElement("a");v.style.overflow="hidden";v.style.display= +mxClient.IS_QUIRKS?"inline":"inline-block";v.className="geBaseButton";v.style.boxSizing="border-box";v.style.fontSize="11px";v.style.position="relative";v.style.margin="4px";v.style.padding="8px 10px 12px 10px";v.style.width="88px";v.style.height="100px";v.style.whiteSpace="nowrap";v.setAttribute("title",e);mxClient.IS_QUIRKS&&(v.style.cssFloat="left",v.style.zoom="1");var u=document.createElement("div");u.style.textOverflow="ellipsis";u.style.overflow="hidden";if(null!=d){var q=document.createElement("img"); +q.setAttribute("src",d);q.setAttribute("border","0");q.setAttribute("align","absmiddle");q.style.width="60px";q.style.height="60px";q.style.paddingBottom="6px";v.appendChild(q)}else u.style.paddingTop="5px",u.style.whiteSpace="normal",mxClient.IS_IOS?(v.style.padding="0px 10px 20px 10px",v.style.top="6px"):mxClient.IS_FF&&(u.style.paddingTop="0px",u.style.marginTop="-2px");v.appendChild(u);mxUtils.write(u,e);if(null!=A)for(d=0;d<A.length;d++)mxUtils.br(u),mxUtils.write(u,A[d]);if(null!=p&&null==a[p]){q.style.visibility= +"hidden";mxUtils.setOpacity(u,10);var h=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});h.spin(v);var C=window.setTimeout(function(){null==a[p]&&(h.stop(),v.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[p]&&(window.clearTimeout(C),mxUtils.setOpacity(u,100),q.style.visibility="",h.stop(),w(),"drive"==p&&null!=n.parentNode&&n.parentNode.removeChild(n))}))}else w(); +l.appendChild(v);++k>=c&&(mxUtils.br(l),k=0)}c=null!=c?c:2;var e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";e.style.paddingTop="0px";e.style.paddingBottom="20px";var g=a.addLanguageMenu(e,!0);null!=g&&(g.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){g=document.createElement("a");g.setAttribute("href","https://about.draw.io/support/");g.setAttribute("title",mxResources.get("help"));g.setAttribute("target","_blank");g.style.position= +"absolute";g.style.textDecoration="none";g.style.cursor="pointer";g.style.fontSize="12px";g.style.bottom="28px";g.style.left="26px";g.style.color="gray";var h=document.createElement("img");h.setAttribute("border","0");h.setAttribute("valign","bottom");h.setAttribute("src",Editor.helpImage);h.style.marginRight="2px";g.appendChild(h);mxUtils.write(g,mxResources.get("help"));e.appendChild(g)}var m=document.createElement("div");m.style.position="absolute";m.style.cursor="pointer";m.style.fontSize="12px"; +m.style.bottom="28px";m.style.color="gray";mxUtils.write(m,mxResources.get("decideLater"));a.isOfflineApp()?m.style.right="20px":(mxUtils.setPrefixedStyle(m.style,"transform","translate(-50%,0)"),m.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)m.style.marginLeft=-Math.round(m.clientWidth/2)+"px"};e.appendChild(m);mxEvent.addListener(m,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null, +!0);Editor.useLocalStorage=b});var l=document.createElement("div");mxClient.IS_QUIRKS&&(l.style.whiteSpace="nowrap",l.style.cssFloat="left");l.style.border="1px solid #d3d3d3";l.style.borderWidth="1px 0px 1px 0px";l.style.padding="12px 0px 12px 0px";var f=document.createElement("input");f.setAttribute("type","checkbox");f.setAttribute("checked","checked");f.defaultChecked=!0;var k=0,n=document.createElement("p"),g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.paddingTop= "4px";g.style.paddingBottom="16px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g,mxResources.get("saveDiagramsTo")+":");e.appendChild(g);"function"===typeof window.DriveClient&&d(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&d(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||d(IMAGE_PATH+"/osa_drive-harddisk.png", -mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||d(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);e.appendChild(m);g=document.createElement("p");g.style.marginTop="12px";g.style.marginBottom="6px";g.appendChild(f);h=document.createElement("span");h.style.color="gray";h.style.fontSize="12px";mxUtils.write(h," "+mxResources.get("rememberThisSetting"));g.appendChild(h);mxUtils.br(g);var t=a.getRecent();if(null!=t&& +mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||d(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);e.appendChild(l);g=document.createElement("p");g.style.marginTop="12px";g.style.marginBottom="6px";g.appendChild(f);h=document.createElement("span");h.style.color="gray";h.style.fontSize="12px";mxUtils.write(h," "+mxResources.get("rememberThisSetting"));g.appendChild(h);mxUtils.br(g);var t=a.getRecent();if(null!=t&& 0<t.length){var u=document.createElement("select");u.style.marginTop="8px";u.style.width="140px";var q=document.createElement("option");q.setAttribute("value","");q.setAttribute("selected","selected");q.style.textAlign="center";mxUtils.write(q,mxResources.get("openRecent")+"...");u.appendChild(q);for(q=0;q<t.length;q++)(function(a){var b=a.mode;b==App.MODE_GOOGLE?b="googleDrive":b==App.MODE_ONEDRIVE&&(b="oneDrive");var c=document.createElement("option");c.setAttribute("value",a.id);mxUtils.write(c, -a.title+" ("+mxResources.get(b)+")");u.appendChild(c)})(t[q]);g.appendChild(u);mxEvent.addListener(u,"change",function(b){""!=u.value&&a.loadFile(u.value)})}else g.style.marginTop="20px",m.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(t=document.createElement("div"),t.style.cursor="pointer",t.style.padding="18px 0px 6px 0px",t.style.fontSize="12px",t.style.color="gray",mxUtils.write(t,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+ -", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(t,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),g.appendChild(t),m.style.paddingBottom="4px");m.appendChild(g);mxEvent.addListener(h,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null== +a.title+" ("+mxResources.get(b)+")");u.appendChild(c)})(t[q]);g.appendChild(u);mxEvent.addListener(u,"change",function(b){""!=u.value&&a.loadFile(u.value)})}else g.style.marginTop="20px",l.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(t=document.createElement("div"),t.style.cursor="pointer",t.style.padding="18px 0px 6px 0px",t.style.fontSize="12px",t.style.color="gray",mxUtils.write(t,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+ +", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(t,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),g.appendChild(t),l.style.paddingBottom="4px");l.appendChild(g);mxEvent.addListener(h,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null== document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==a.drive&&(n.style.padding="8px",n.style.fontSize="9pt",n.style.marginTop="-14px",n.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",e.appendChild(n))},5E3);this.container= e},SplashDialog=function(a){var b=document.createElement("div");b.style.textAlign="center";a.addLanguageMenu(b,!0);var c=null,c=a.getServiceCount();if(!a.isOffline()&&1<c){c=document.createElement("a");c.setAttribute("href","https://about.draw.io/support/");c.setAttribute("title",mxResources.get("help"));c.setAttribute("target","_blank");c.style.position="absolute";c.style.fontSize="12px";c.style.textDecoration="none";c.style.cursor="pointer";c.style.bottom="22px";c.style.left="26px";c.style.color= "gray";var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);d.style.marginRight="2px";c.appendChild(d);mxUtils.write(c,mxResources.get("help"));b.appendChild(c)}c=document.createElement("p");c.style.fontSize="16pt";c.style.padding="0px";c.style.paddingTop="2px";c.style.margin="0px";c.style.color="gray";d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("align","absmiddle");d.style.width="40px"; @@ -6885,231 +6914,230 @@ a.mode==App.MODE_TRELLO?c=mxResources.get("trello"):a.mode==App.MODE_DEVICE?c=mx function(){a.confirm(mxResources.get("areYouSure"),function(){b()})});g.appendChild(c)},d=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=d?(h.style.marginBottom="24px",e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="6px",mxUtils.write(e,mxResources.get("changeUser")+" ("+d.displayName+")"),h.style.marginBottom="16px",g.style.paddingBottom="18px",mxEvent.addListener(e,"click",function(){a.hideDialog();a.drive.clearUserId(); a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(b){a.handleError(b,null,function(){a.hideDialog();a.showSplash()})}))}),g.appendChild(e)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?e(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?e(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}): a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&e(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&e(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),e=document.createElement("a"),e.setAttribute("href","javascript:void(0)"),e.style.display="block",e.style.marginTop="8px",mxUtils.write(e,mxResources.get("notUsingService",[c])),mxEvent.addListener(e,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}), -g.appendChild(e));b.appendChild(g);this.container=b},ConfirmDialog=function(a,b,c,d,e,g,h,l,m){var f=document.createElement("div");f.style.textAlign="center";var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight="44px";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);f.appendChild(k);k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var n=document.createElement("input");n.setAttribute("type","checkbox"); -g=mxUtils.button(g||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(n.checked)});g.className="geBtn";null!=l&&(g.innerHTML=l+"<br>"+g.innerHTML,g.style.paddingBottom="8px",g.style.paddingTop="8px",g.style.height="auto",g.style.width="40%");a.editor.cancelFirst&&k.appendChild(g);e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c(n.checked)});k.appendChild(e);null!=h?(e.innerHTML=h+"<br>"+e.innerHTML+"<br>",e.style.paddingBottom="8px",e.style.paddingTop="8px", -e.style.height="auto",e.className="geBtn",e.style.width="40%"):e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||k.appendChild(g);f.appendChild(k);m?(k.style.marginTop="10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(n),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberThisSetting")),k.appendChild(h),f.appendChild(k),mxEvent.addListener(h,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)})):k.style.marginTop="16px";this.container= -f},ErrorDialog=function(a,b,c,d,e,g,h,l,m,f,k){m=null!=m?m:!0;var n=document.createElement("div");n.style.textAlign="center";if(null!=b){var t=document.createElement("div");t.style.padding="0px";t.style.margin="0px";t.style.fontSize="18px";t.style.paddingBottom="16px";t.style.marginBottom="16px";t.style.borderBottom="1px solid #c0c0c0";t.style.color="gray";mxUtils.write(t,b);n.appendChild(t)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=c;n.appendChild(b);c=document.createElement("div"); -c.style.marginTop="16px";c.style.textAlign="center";null!=g&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();g()}),b.className="geBtn",c.appendChild(b),c.style.textAlign="center");null!=f&&(f=mxUtils.button(f,function(){null!=k&&k()}),f.className="geBtn",c.appendChild(f));var u=mxUtils.button(d,function(){m&&a.hideDialog();null!=e&&e()});u.className="geBtn";c.appendChild(u);null!=h&&(d=mxUtils.button(h,function(){m&&a.hideDialog();null!=l&&l()}),d.className="geBtn gePrimaryBtn", -c.appendChild(d));this.init=function(){u.focus()};n.appendChild(c);this.container=n},EmbedDialog=function(a,b,c,d,e){d=document.createElement("div");var g=/^https?:\/\//.test(b)||/^mailto:\/\//.test(b);mxUtils.write(d,mxResources.get(5E5>b.length?g?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(d);var h=document.createElement("div");h.style.position="absolute";h.style.top="30px";h.style.right="30px";h.style.color="gray";mxUtils.write(h,a.formatFileSize(b.length));d.appendChild(h);var l=document.createElement("textarea"); -l.setAttribute("autocomplete","off");l.setAttribute("autocorrect","off");l.setAttribute("autocapitalize","off");l.setAttribute("spellcheck","false");l.style.marginTop="10px";l.style.resize="none";l.style.height="150px";l.style.width="440px";l.style.border="1px solid gray";l.value=mxResources.get("updatingDocument");d.appendChild(l);mxUtils.br(d);this.init=function(){window.setTimeout(function(){5E5>b.length?(l.value=b,l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? -l.select():document.execCommand("selectAll",!1,null)):(l.setAttribute("readonly","true"),l.value=b.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};h=document.createElement("div");h.style.position="absolute";h.style.bottom="36px";h.style.right="32px";var m=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!g||navigator.standalone||!(g||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(m=mxUtils.button(mxResources.get(5E5>b.length?"preview":"openInNewWindow"), -function(){var d=5E5>b.length?l.value:b;if(null!=e)e(d);else if(g)try{var f=a.openLink(d);null!=f&&(null==c||0<c)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=d.substring(0,8)&&(f.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),c||500)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}else{var k=window.open().document;k.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+ -'</title><meta charset="utf-8"></head><body>'+b+"</body></html>");k.close()}}),m.className="geBtn",h.appendChild(m));if(!g||7500<b.length){var f=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",b,"text/plain")});f.className="geBtn";h.appendChild(f)}if(g&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>b.length){var k=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(l.value);a.openLink(b)}catch(t){a.handleError({message:t.message|| +g.appendChild(e));b.appendChild(g);this.container=b},ConfirmDialog=function(a,b,c,d,e,g,h,m,l){var f=document.createElement("div");f.style.textAlign="center";var k=document.createElement("div");k.style.padding="6px";k.style.overflow="auto";k.style.maxHeight="44px";mxClient.IS_QUIRKS&&(k.style.height="60px");mxUtils.write(k,b);f.appendChild(k);k=document.createElement("div");k.style.textAlign="center";k.style.whiteSpace="nowrap";var n=document.createElement("input");n.setAttribute("type","checkbox"); +g=mxUtils.button(g||mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d(n.checked)});g.className="geBtn";null!=m&&(g.innerHTML=m+"<br>"+g.innerHTML,g.style.paddingBottom="8px",g.style.paddingTop="8px",g.style.height="auto",g.style.width="40%");a.editor.cancelFirst&&k.appendChild(g);e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c(n.checked)});k.appendChild(e);null!=h?(e.innerHTML=h+"<br>"+e.innerHTML+"<br>",e.style.paddingBottom="8px",e.style.paddingTop="8px", +e.style.height="auto",e.className="geBtn",e.style.width="40%"):e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||k.appendChild(g);f.appendChild(k);l?(k.style.marginTop="10px",k=document.createElement("p"),k.style.marginTop="20px",k.appendChild(n),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberThisSetting")),k.appendChild(h),f.appendChild(k),mxEvent.addListener(h,"click",function(a){n.checked=!n.checked;mxEvent.consume(a)})):k.style.marginTop="16px";this.container= +f},ErrorDialog=function(a,b,c,d,e,g,h,m,l,f,k){l=null!=l?l:!0;var n=document.createElement("div");n.style.textAlign="center";if(null!=b){var t=document.createElement("div");t.style.padding="0px";t.style.margin="0px";t.style.fontSize="18px";t.style.paddingBottom="16px";t.style.marginBottom="16px";t.style.borderBottom="1px solid #c0c0c0";t.style.color="gray";mxUtils.write(t,b);n.appendChild(t)}b=document.createElement("div");b.style.padding="6px";b.innerHTML=c;n.appendChild(b);c=document.createElement("div"); +c.style.marginTop="16px";c.style.textAlign="center";null!=g&&(b=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();g()}),b.className="geBtn",c.appendChild(b),c.style.textAlign="center");null!=f&&(f=mxUtils.button(f,function(){null!=k&&k()}),f.className="geBtn",c.appendChild(f));var u=mxUtils.button(d,function(){l&&a.hideDialog();null!=e&&e()});u.className="geBtn";c.appendChild(u);null!=h&&(d=mxUtils.button(h,function(){l&&a.hideDialog();null!=m&&m()}),d.className="geBtn gePrimaryBtn", +c.appendChild(d));this.init=function(){u.focus()};n.appendChild(c);this.container=n},EmbedDialog=function(a,b,c,d,e){d=document.createElement("div");var g=/^https?:\/\//.test(b)||/^mailto:\/\//.test(b);mxUtils.write(d,mxResources.get(5E5>b.length?g?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(d);var h=document.createElement("div");h.style.position="absolute";h.style.top="30px";h.style.right="30px";h.style.color="gray";mxUtils.write(h,a.formatFileSize(b.length));d.appendChild(h);var m=document.createElement("textarea"); +m.setAttribute("autocomplete","off");m.setAttribute("autocorrect","off");m.setAttribute("autocapitalize","off");m.setAttribute("spellcheck","false");m.style.marginTop="10px";m.style.resize="none";m.style.height="150px";m.style.width="440px";m.style.border="1px solid gray";m.value=mxResources.get("updatingDocument");d.appendChild(m);mxUtils.br(d);this.init=function(){window.setTimeout(function(){5E5>b.length?(m.value=b,m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? +m.select():document.execCommand("selectAll",!1,null)):(m.setAttribute("readonly","true"),m.value=b.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};h=document.createElement("div");h.style.position="absolute";h.style.bottom="36px";h.style.right="32px";var l=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!g||navigator.standalone||!(g||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(l=mxUtils.button(mxResources.get(5E5>b.length?"preview":"openInNewWindow"), +function(){var d=5E5>b.length?m.value:b;if(null!=e)e(d);else if(g)try{var f=a.openLink(d);null!=f&&(null==c||0<c)&&window.setTimeout(mxUtils.bind(this,function(){null!=f&&null!=f.location.href&&f.location.href.substring(0,8)!=d.substring(0,8)&&(f.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),c||500)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}else{var k=window.open().document;k.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+ +'</title><meta charset="utf-8"></head><body>'+b+"</body></html>");k.close()}}),l.className="geBtn",h.appendChild(l));if(!g||7500<b.length){var f=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",b,"text/plain")});f.className="geBtn";h.appendChild(f)}if(g&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>b.length){var k=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(m.value);a.openLink(b)}catch(t){a.handleError({message:t.message|| mxResources.get("drawingTooLarge")})}}),f=document.createElement("img");f.setAttribute("src",Editor.facebookImage);f.setAttribute("width","18");f.setAttribute("height","18");f.setAttribute("border","0");k.appendChild(f);k.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");k.style.verticalAlign="bottom";k.style.paddingTop="4px";k.style.minWidth="46px";k.className="geBtn";h.appendChild(k)}7168>b.length&&(k=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+ -encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(l.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),f=document.createElement("img"),f.setAttribute("src",Editor.tweetImage),f.setAttribute("width","18"),f.setAttribute("height","18"),f.setAttribute("border","0"),f.style.marginBottom="5px",k.appendChild(f),k.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),k.style.verticalAlign= -"bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(f);k=mxUtils.button(mxResources.get("copy"),function(){l.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode? -f.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",f.className="geBtn"):(h.appendChild(m),f.className="geBtn",m.className="geBtn gePrimaryBtn");d.appendChild(h);this.container=d};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,b){function c(){var a=null!=x.getTitle()?x.getTitle():this.defaultFilename;if(E.checked&&""!=t.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(t.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<B.length&&(b+="&s="+B);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=n.value&&(b+="&height="+n.value);b+="&pan="+(q.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(A.checked?"1":"0");b+="&resize="+ -(p.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+m;e.mathEnabled&&(b+="&math=1");C.checked?b+="&edit=_blank":w.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));f.value=b}else x.constructor==DriveFile||x.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=t.value?b+=encodeURIComponent(mxUtils.htmlEntities(t.value))+"&type=3":(b+=x.getHash().substring(1),b=x.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+ -encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(k.value),b+="&height="+a),f.value=b):f.value=""}var d=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),h=e.view.scale,l=Math.floor(g.x/h-e.view.translate.x),m=Math.floor(g.y/h-e.view.translate.y);mxUtils.write(d,mxResources.get("googleGadget")+":");mxUtils.br(d);var f=document.createElement("input");f.setAttribute("type","text");f.style.marginBottom="8px";f.style.marginTop="2px";f.style.width="410px";d.appendChild(f); -mxUtils.br(d);this.init=function(){f.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)};mxUtils.write(d,mxResources.get("top")+":");var k=document.createElement("input");k.setAttribute("type","text");k.setAttribute("size","4");k.style.marginRight="16px";k.style.marginLeft="4px";k.value=l;d.appendChild(k);mxUtils.write(d,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type", +encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(m.value);a.openLink(b)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}}),f=document.createElement("img"),f.setAttribute("src",Editor.tweetImage),f.setAttribute("width","18"),f.setAttribute("height","18"),f.setAttribute("border","0"),f.style.marginBottom="5px",k.appendChild(f),k.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),k.style.verticalAlign= +"bottom",k.style.paddingTop="4px",k.style.minWidth="46px",k.className="geBtn",h.appendChild(k))}f=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.appendChild(f);k=mxUtils.button(mxResources.get("copy"),function(){m.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>b.length?mxClient.IS_SF||null!=document.documentMode? +f.className="geBtn gePrimaryBtn":(h.appendChild(k),k.className="geBtn gePrimaryBtn",f.className="geBtn"):(h.appendChild(l),f.className="geBtn",l.className="geBtn gePrimaryBtn");d.appendChild(h);this.container=d};EmbedDialog.showPreviewOption=!0; +var GoogleSitesDialog=function(a,b){function c(){var a=null!=x.getTitle()?x.getTitle():this.defaultFilename;if(F.checked&&""!=t.value){var b="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(t.value));null!=a&&(b+="&title="+encodeURIComponent(a));0<B.length&&(b+="&s="+B);""!=u.value&&"0"!=u.value&&(b+="&border="+u.value);""!=n.value&&(b+="&height="+n.value);b+="&pan="+(q.checked?"1":"0");b+="&zoom="+(v.checked?"1":"0");b+="&fit="+(A.checked?"1":"0");b+="&resize="+ +(p.checked?"1":"0");b+="&x0="+Number(k.value);b+="&y0="+l;e.mathEnabled&&(b+="&math=1");C.checked?b+="&edit=_blank":w.checked&&(b+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));f.value=b}else x.constructor==DriveFile||x.constructor==DropboxFile?(b="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=t.value?b+=encodeURIComponent(mxUtils.htmlEntities(t.value))+"&type=3":(b+=x.getHash().substring(1),b=x.constructor==DropboxFile?b+"&type=2":b+"&type=1"),null!=a&&(b+="&title="+ +encodeURIComponent(a)),""!=n.value&&(a=parseInt(n.value)+parseInt(k.value),b+="&height="+a),f.value=b):f.value=""}var d=document.createElement("div"),e=a.editor.graph,g=e.getGraphBounds(),h=e.view.scale,m=Math.floor(g.x/h-e.view.translate.x),l=Math.floor(g.y/h-e.view.translate.y);mxUtils.write(d,mxResources.get("googleGadget")+":");mxUtils.br(d);var f=document.createElement("input");f.setAttribute("type","text");f.style.marginBottom="8px";f.style.marginTop="2px";f.style.width="410px";d.appendChild(f); +mxUtils.br(d);this.init=function(){f.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)};mxUtils.write(d,mxResources.get("top")+":");var k=document.createElement("input");k.setAttribute("type","text");k.setAttribute("size","4");k.style.marginRight="16px";k.style.marginLeft="4px";k.value=m;d.appendChild(k);mxUtils.write(d,mxResources.get("height")+":");var n=document.createElement("input");n.setAttribute("type", "text");n.setAttribute("size","4");n.style.marginLeft="4px";n.value=Math.ceil(g.height/h);d.appendChild(n);mxUtils.br(d);g=document.createElement("hr");g.setAttribute("size","1");g.style.marginBottom="16px";g.style.marginTop="16px";d.appendChild(g);mxUtils.write(d,mxResources.get("publicDiagramUrl")+":");mxUtils.br(d);var t=document.createElement("input");t.setAttribute("type","text");t.setAttribute("size","28");t.style.marginBottom="8px";t.style.marginTop="2px";t.style.width="410px";t.value=b||""; d.appendChild(t);mxUtils.br(d);mxUtils.write(d,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";d.appendChild(u);mxUtils.br(d);var q=document.createElement("input");q.setAttribute("type","checkbox");q.setAttribute("checked","checked");q.defaultChecked=!0;q.style.marginLeft="16px";d.appendChild(q);mxUtils.write(d,mxResources.get("pan")+" ");var v=document.createElement("input"); v.setAttribute("type","checkbox");v.setAttribute("checked","checked");v.defaultChecked=!0;v.style.marginLeft="8px";d.appendChild(v);mxUtils.write(d,mxResources.get("zoom")+" ");var w=document.createElement("input");w.setAttribute("type","checkbox");w.style.marginLeft="8px";w.setAttribute("title",window.location.href);d.appendChild(w);mxUtils.write(d,mxResources.get("edit")+" ");var C=document.createElement("input");C.setAttribute("type","checkbox");C.style.marginLeft="8px";d.appendChild(C);mxUtils.write(d, -mxResources.get("asNew")+" ");mxUtils.br(d);var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="16px";d.appendChild(p);mxUtils.write(d,mxResources.get("resize")+" ");var A=document.createElement("input");A.setAttribute("type","checkbox");A.style.marginLeft="8px";d.appendChild(A);mxUtils.write(d,mxResources.get("fit")+" ");var E=document.createElement("input");E.setAttribute("type","checkbox");E.style.marginLeft= -"8px";d.appendChild(E);mxUtils.write(d,mxResources.get("embed")+" ");var B=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(q,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(A,"change",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(C,"change",c);mxEvent.addListener(E,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(k,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(t,"change",c);c(); +mxResources.get("asNew")+" ");mxUtils.br(d);var p=document.createElement("input");p.setAttribute("type","checkbox");p.setAttribute("checked","checked");p.defaultChecked=!0;p.style.marginLeft="16px";d.appendChild(p);mxUtils.write(d,mxResources.get("resize")+" ");var A=document.createElement("input");A.setAttribute("type","checkbox");A.style.marginLeft="8px";d.appendChild(A);mxUtils.write(d,mxResources.get("fit")+" ");var F=document.createElement("input");F.setAttribute("type","checkbox");F.style.marginLeft= +"8px";d.appendChild(F);mxUtils.write(d,mxResources.get("embed")+" ");var B=a.getBasenames().join(";"),x=a.getCurrentFile();mxEvent.addListener(q,"change",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(p,"change",c);mxEvent.addListener(A,"change",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(C,"change",c);mxEvent.addListener(F,"change",c);mxEvent.addListener(n,"change",c);mxEvent.addListener(k,"change",c);mxEvent.addListener(u,"change",c);mxEvent.addListener(t,"change",c);c(); mxEvent.addListener(f,"click",function(){f.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?f.select():document.execCommand("selectAll",!1,null)});g=document.createElement("div");g.style.paddingTop="12px";g.style.textAlign="right";h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn gePrimaryBtn";g.appendChild(h);d.appendChild(g);this.container=d},CreateGraphDialog=function(a,b,c){var d=document.createElement("div");d.style.textAlign= "right";this.init=function(){var b=document.createElement("div");b.style.position="relative";b.style.border="1px solid gray";b.style.width="100%";b.style.height="360px";b.style.overflow="hidden";b.style.marginBottom="16px";mxEvent.disableContextMenu(b);d.appendChild(b);var g=new Graph(b);g.setCellsCloneable(!0);g.setPanning(!0);g.setAllowDanglingEdges(!1);g.connectionHandler.select=!1;g.view.setTranslate(20,20);g.border=20;g.panningHandler.useLeftButtonForPanning=!0;var h="curved=1;";g.cellRenderer.installCellOverlayListeners= function(a,b,c){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(c.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(c.node,"touchstart",function(c){b.fireEvent(new mxEventObject("pointerdown","event",c,"state",a))})};g.getAllConnectionConstraints=function(){return null};g.connectionHandler.marker.highlight.keepOnTop= -!1;g.connectionHandler.createEdgeState=function(a){a=g.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var l=g.getDefaultParent(),m=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){g.connectionHandler.reset();g.clearSelection();var d=g.getCellGeometry(a),f;n(function(){f=g.insertVertex(l,null,"Entry",d.x,d.y,80,30,"rounded=1;");m(f);g.view.refresh(f); -g.insertEdge(l,null,"",a,f,h)},function(){g.scrollCellToVisible(f)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),d=b.getProperty("state");g.popupMenuHandler.hideMenu();g.stopEditing(!1);var f=mxUtils.convertPoint(g.container,mxEvent.getClientX(c),mxEvent.getClientY(c));g.connectionHandler.start(d,f.x,f.y);g.isMouseDown=!0;g.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});g.addCellOverlay(a,b)});g.getModel().beginUpdate();var f;try{f=g.insertVertex(l,null,"Start", -0,0,80,30,"ellipse"),m(f)}finally{g.getModel().endUpdate()}var k;"horizontalTree"==c?(k=new mxCompactTreeLayout(g),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==c?(k=new mxCompactTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==c?(k=new mxRadialTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=80):"verticalFlow"==c?k=new mxHierarchicalLayout(g,mxConstants.DIRECTION_NORTH):"horizontalFlow"== +!1;g.connectionHandler.createEdgeState=function(a){a=g.createEdge(null,null,null,null,null,h);return new mxCellState(this.graph.view,a,this.graph.getCellStyle(a))};var m=g.getDefaultParent(),l=mxUtils.bind(this,function(a){var b=new mxCellOverlay(this.connectImage,"Add outgoing");b.cursor="hand";b.addListener(mxEvent.CLICK,function(b,c){g.connectionHandler.reset();g.clearSelection();var d=g.getCellGeometry(a),f;n(function(){f=g.insertVertex(m,null,"Entry",d.x,d.y,80,30,"rounded=1;");l(f);g.view.refresh(f); +g.insertEdge(m,null,"",a,f,h)},function(){g.scrollCellToVisible(f)})});b.addListener("pointerdown",function(a,b){var c=b.getProperty("event"),d=b.getProperty("state");g.popupMenuHandler.hideMenu();g.stopEditing(!1);var f=mxUtils.convertPoint(g.container,mxEvent.getClientX(c),mxEvent.getClientY(c));g.connectionHandler.start(d,f.x,f.y);g.isMouseDown=!0;g.isMouseTrigger=mxEvent.isMouseEvent(c);mxEvent.consume(c)});g.addCellOverlay(a,b)});g.getModel().beginUpdate();var f;try{f=g.insertVertex(m,null,"Start", +0,0,80,30,"ellipse"),l(f)}finally{g.getModel().endUpdate()}var k;"horizontalTree"==c?(k=new mxCompactTreeLayout(g),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==c?(k=new mxCompactTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=30,h="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==c?(k=new mxRadialTreeLayout(g,!1),k.edgeRouting=!1,k.levelDistance=80):"verticalFlow"==c?k=new mxHierarchicalLayout(g,mxConstants.DIRECTION_NORTH):"horizontalFlow"== c?k=new mxHierarchicalLayout(g,mxConstants.DIRECTION_WEST):"organic"==c?(k=new mxFastOrganicLayout(g,!1),k.forceConstant=80):"circle"==c&&(k=new mxCircleLayout(g));if(null!=k){var n=function(a,b){g.getModel().beginUpdate();try{null!=a&&a(),k.execute(g.getDefaultParent(),f)}catch(p){throw p;}finally{var c=new mxMorphing(g);c.addListener(mxEvent.DONE,mxUtils.bind(this,function(){g.getModel().endUpdate();null!=b&&b()}));c.startAnimation()}},t=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect= function(a,b,c,d,f){t.apply(this,arguments);n()};g.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);n()};g.connectionHandler.addListener(mxEvent.CONNECT,function(){n()})}var u=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=b.parentNode&&(g.destroy(),b.parentNode.removeChild(b));a.hideDialog()})});u.className="geBtn";a.editor.cancelFirst&&d.appendChild(u);var q=mxUtils.button(mxResources.get("insert"),function(){g.clearCellOverlays(); var c=a.editor.graph.getFreeInsertPoint(),c=a.editor.graph.importCells(g.getModel().getChildren(g.getDefaultParent()),c.x,c.y),d=a.editor.graph.view,f=d.getBounds(c);f.x-=d.translate.x;f.y-=d.translate.y;a.editor.graph.scrollRectToVisible(f);a.editor.graph.setSelectionCells(c);null!=b.parentNode&&(g.destroy(),b.parentNode.removeChild(b));a.hideDialog()});d.appendChild(q);q.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(u)};this.container=d}; CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==": IMAGE_PATH+"/handle-connect.png",26,26); var BackgroundImageDialog=function(a,b){var c=document.createElement("div");c.style.whiteSpace="nowrap";var d=document.createElement("h2");mxUtils.write(d,mxResources.get("backgroundImage"));d.style.marginTop="0px";c.appendChild(d);mxUtils.write(c,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(c);var d=a.editor.graph.backgroundImage,e=document.createElement("input");e.setAttribute("type","text");e.style.marginTop="4px";e.style.marginBottom="4px";e.style.width="350px";e.value= -null!=d?d.src:"";var g=!1,h=function(){g||""==e.value||a.isOffline()?(l.value="",m.value=""):a.loadImage(mxUtils.trim(e.value),function(a){l.value=a.width;m.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));e.value="";l.value="";m.value=""})};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=c.parentNode,d=null;mxEvent.addListener(b,"dragleave",function(a){null!= +null!=d?d.src:"";var g=!1,h=function(){g||""==e.value||a.isOffline()?(m.value="",l.value=""):a.loadImage(mxUtils.trim(e.value),function(a){m.value=a.width;l.value=a.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));e.value="";m.value="";l.value=""})};this.init=function(){e.focus();if(Graph.fileSupport){e.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=c.parentNode,d=null;mxEvent.addListener(b,"dragleave",function(a){null!= d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(a,b,c,d,f,k){e.value=a;h()},function(){}, -function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(e.value=decodeURIComponent(c),h())}b.stopPropagation();b.preventDefault()}),!1)}};c.appendChild(e);mxUtils.br(c);mxUtils.br(c);mxUtils.write(c,mxResources.get("width")+":");var l=document.createElement("input"); -l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=d?d.width:"";c.appendChild(l);mxUtils.write(c,mxResources.get("height")+":");var m=document.createElement("input");m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="16px";m.value=null!=d?d.height:"";c.appendChild(m);d=mxUtils.button(mxResources.get("reset"),function(){e.value="";l.value="";m.value="";g=!1});mxEvent.addListener(d,"mousedown", +function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(e.value=decodeURIComponent(c),h())}b.stopPropagation();b.preventDefault()}),!1)}};c.appendChild(e);mxUtils.br(c);mxUtils.br(c);mxUtils.write(c,mxResources.get("width")+":");var m=document.createElement("input"); +m.setAttribute("type","text");m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight="16px";m.value=null!=d?d.width:"";c.appendChild(m);mxUtils.write(c,mxResources.get("height")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight="16px";l.value=null!=d?d.height:"";c.appendChild(l);d=mxUtils.button(mxResources.get("reset"),function(){e.value="";m.value="";l.value="";g=!1});mxEvent.addListener(d,"mousedown", function(){g=!0});mxEvent.addListener(d,"touchstart",function(){g=!0});d.className="geBtn";d.width="100";c.appendChild(d);mxUtils.br(c);mxEvent.addListener(e,"change",h);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(e.value=a.url,h()));e.focus()};d=document.createElement("div");d.style.marginTop="40px";d.style.textAlign="right";var f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}); f.className="geBtn";a.editor.cancelFirst&&d.appendChild(f);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var k=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)}); k.className="geBtn";d.appendChild(k);null!=a.drive&&"1"==urlParams.photos&&(k=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",d.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),l.value,m.value):null)});k.className="geBtn gePrimaryBtn";d.appendChild(k);a.editor.cancelFirst||d.appendChild(f);c.appendChild(d);this.container=c},ParseDialog=function(a,b,c){function d(b,c){var d=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"== +a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),k.className="geBtn",d.appendChild(k))}k=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b(""!=e.value?new mxImage(mxUtils.trim(e.value),m.value,l.value):null)});k.className="geBtn gePrimaryBtn";d.appendChild(k);a.editor.cancelFirst||d.appendChild(f);c.appendChild(d);this.container=c},ParseDialog=function(a,b,c){function d(b,c){var d=b.split("\n");if("plantUmlPng"==c||"plantUmlSvg"== c||"plantUmlTxt"==c){var d="plantUmlTxt"==c?PLANT_URL+"/txt/":"plantUmlPng"==c?PLANT_URL+"/png/":PLANT_URL+"/svg/",f=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var k=function(a){if(10>a)return String.fromCharCode(48+a);a-=10;if(26>a)return String.fromCharCode(65+a);a-=26;if(26>a)return String.fromCharCode(97+a);a-=26;return 0==a?"-":1==a?"_":"?"},e=function(a,b,c){c1=a>>2;c2=(a&3)<<4|b>>4;c3=(b&15)<<2|c>>6;c4=c&63;r="";r+=k(c1&63);r+=k(c2&63);r+=k(c3&63);return r+= k(c4&63)},p=new XMLHttpRequest;p.open("GET",d+function(a){r="";for(h=0;h<a.length;h+=3)r=h+2==a.length?r+e(a.charCodeAt(h),a.charCodeAt(h+1),0):h+1==a.length?r+e(a.charCodeAt(h),0,0):r+e(a.charCodeAt(h),a.charCodeAt(h+1),a.charCodeAt(h+2));return r}(f.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=c&&(p.responseType="blob");p.onload=function(d){if(200<=this.status&&300>this.status)if("plantUmlTxt"==c){a.spinner.stop();f.getModel().beginUpdate();try{cell=f.insertVertex(null, null,"<pre>"+this.response+"</pre>",g.x,g.y,1,1,"text;html=1;overflow=fill;"),f.updateCellSize(cell,!0)}finally{f.getModel().endUpdate()}f.setSelectionCell(cell);f.scrollCellToVisible(f.getSelectionCell())}else d=new FileReader,d.readAsDataURL(this.response),d.onload=function(c){var d=new Image;d.onload=function(){a.spinner.stop();var k=d.width,p=d.height;if(0==k&&0==p){var e=c.target.result,n=e.indexOf(","),e=decodeURIComponent(escape(atob(e.substring(n+1)))),e=mxUtils.parseXml(e).getElementsByTagName("svg"); 0<e.length&&(k=parseFloat(e[0].getAttribute("width")),p=parseFloat(e[0].getAttribute("height")))}f.getModel().beginUpdate();try{cell=f.insertVertex(null,null,b,g.x,g.y,k,p,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(c.target.result)+";")}finally{f.getModel().endUpdate()}f.setSelectionCell(cell);f.scrollCellToVisible(f.getSelectionCell())};d.src=c.target.result},d.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(d)};p.onerror= -function(b){a.handleError(b)};p.send()}}else if("table"==c){for(var n=null,u=[],t=0,h=0;h<d.length;h++)if(p=mxUtils.trim(d[h]),"create table"==p.substring(0,12).toLowerCase())p=mxUtils.trim(p.substring(12)),"("==p.charAt(p.length-1)&&(p=p.substring(0,p.lastIndexOf(" "))),n=new mxCell(p,new mxGeometry(t,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), -n.vertex=!0,u.push(n),p=a.editor.graph.getPreferredSizeForCell(m),null!=p&&(n.geometry.width=p.width+10);else if(null!=n&&")"==p.charAt(0))t+=n.geometry.width+40,n=null;else if("("!=p&&null!=n&&(p=p.substring(0,","==p.charAt(p.length-1)?p.length-1:p.length),"primary key"!=p.substring(0,11).toLowerCase())){var l=p.toLowerCase().indexOf("primary key"),p=p.replace(/primary key/i,""),m=new mxCell(p,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;"); -m.vertex=!0;p=sb.cloneCell(m,0<l?"PK":"");p.connectable=!1;p.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";p.geometry.width=30;p.geometry.height=26;m.insert(p);p=a.editor.graph.getPreferredSizeForCell(m);null!=p&&n.geometry.width<p.width+10&&(n.geometry.width=Math.min(220,p.width+10));n.insert(m);n.geometry.height+=26}0<u.length&&(f=a.editor.graph, -d=f.view,p=f.getGraphBounds(),f.setSelectionCells(f.importCells(u,Math.ceil(Math.max(0,p.x/d.scale-d.translate.x)+4*f.gridSize),Math.ceil(Math.max(0,(p.y+p.height)/d.scale-d.translate.y)+4*f.gridSize))),f.scrollCellToVisible(f.getSelectionCell()))}else if("list"==c){if(0<d.length){f=a.editor.graph;n=new mxCell(d[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;"); -n.vertex=!0;p=f.getPreferredSizeForCell(n);null!=p&&n.geometry.width<p.width+10&&(n.geometry.width=p.width+10);m=[n];if(1<d.length)for(h=1;h<d.length;h++)"--"==d[h]?(p=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),p.vertex=!0,n.geometry.height+=p.geometry.height,n.insert(p),m.push(p)):0<d[h].length&&";"!=d[h].charAt(0)&&(t=new mxCell(d[h], -new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),t.vertex=!0,p=f.getPreferredSizeForCell(t),null!=p&&t.geometry.width<p.width&&(t.geometry.width=p.width),n.geometry.width=Math.max(n.geometry.width,t.geometry.width),n.geometry.height+=t.geometry.height,n.insert(t),m.push(t));f.getModel().beginUpdate();try{n=f.importCells([n],g.x,g.y)[0],f.fireEvent(new mxEventObject("cellsInserted", -"cells",[n].concat(n.children)))}finally{f.getModel().endUpdate()}f.setSelectionCell(n);f.scrollCellToVisible(f.getSelectionCell())}}else{for(var m=function(a){var b=D[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,D[a]=b,u.push(b));return b},D={},u=[],h=0;h<d.length;h++)if(";"!=d[h].charAt(0)){var I=d[h].split("->");2<=I.length&&(t=m(I[0]),l=m(I[I.length-1]),I=new mxCell(2<I.length?I[1]:"",new mxGeometry),I.edge=!0,t.insertEdge(I,!0),l.insertEdge(I,!1), -u.push(I))}if(0<u.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);f=new Graph(d);f.getModel().beginUpdate();try{u=f.importCells(u);for(h=0;h<u.length;h++)f.getModel().isVertex(u[h])&&(p=f.getPreferredSizeForCell(u[h]),u[h].geometry.width=Math.max(u[h].geometry.width,p.width),u[h].geometry.height=Math.max(u[h].geometry.height,p.height));n=new mxFastOrganicLayout(f);n.disableEdgeStyle=!1;n.forceConstant=120;n.execute(f.getDefaultParent())}finally{f.getModel().endUpdate()}f.clearCellOverlays(); -m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),g.x,g.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());f.destroy();d.parentNode.removeChild(d)}}}function e(){return"list"==l.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean": -"table"==l.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==l.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml": -"plantUmlSvg"==l.value||"plantUmlTxt"==l.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var g=a.editor.graph.getFreeInsertPoint();b=document.createElement("div");b.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height= -"354px";h.style.marginBottom="16px";var l=document.createElement("select");"formatSql"==c&&(l.style.display="none");var m=document.createElement("option");m.setAttribute("value","list");mxUtils.write(m,mxResources.get("list"));"plantUml"!=c&&l.appendChild(m);null!=c&&"fromText"!=c||m.setAttribute("selected","selected");m=document.createElement("option");m.setAttribute("value","table");mxUtils.write(m,mxResources.get("formatSql"));"formatSql"==c&&(l.appendChild(m),m.setAttribute("selected","selected")); -m=document.createElement("option");m.setAttribute("value","diagram");mxUtils.write(m,mxResources.get("diagram"));"plantUml"!=c&&l.appendChild(m);m=document.createElement("option");m.setAttribute("value","plantUmlSvg");mxUtils.write(m,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==c&&m.setAttribute("selected","selected");var f=document.createElement("option");f.setAttribute("value","plantUmlPng");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ -")");var k=document.createElement("option");k.setAttribute("value","plantUmlTxt");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==c&&(l.appendChild(m),l.appendChild(f),l.appendChild(k));var n=e();h.value=n;b.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.addEventListener("drop",function(a){a.stopPropagation(); -a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){h.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(l);mxEvent.addListener(l,"change",function(){var a=e();if(0==h.value.length||h.value==n)n=a,h.value=n});c=mxUtils.button(mxResources.get("close"),function(){h.value==n?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});c.className="geBtn";a.editor.cancelFirst&&b.appendChild(c);m=mxUtils.button(mxResources.get("insert"), -function(){a.hideDialog();d(h.value,l.value)});b.appendChild(m);m.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(c);this.container=b},NewDialog=function(a,b,c,d,e,g,h,l,m,f,k,n,t,u,q){function v(){for(var a=!0;y<Q.length&&(a||0!=mxUtils.mod(y,30));)a=Q[y++],p(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function w(){if(S)c||a.hideDialog(),u(S,O,L.value);else if(d)c||a.hideDialog(),d(Z,L.value);else{var b=L.value;null!=b&&0<b.length&& -a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function C(a,b,c,d,f){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");D.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=f;N.style.backgroundColor=l;N.style.border=m}function p(a,b,c,d,f,k,p,e){var n=document.createElement("div"); +function(b){a.handleError(b)};p.send()}}else if("table"==c){for(var n=null,t=[],u=0,h=0;h<d.length;h++)if(p=mxUtils.trim(d[h]),"create table"==p.substring(0,12).toLowerCase())p=mxUtils.trim(p.substring(12)),"("==p.charAt(p.length-1)&&(p=p.substring(0,p.lastIndexOf(" "))),n=new mxCell(p,new mxGeometry(u,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), +n.vertex=!0,t.push(n),p=a.editor.graph.getPreferredSizeForCell(l),null!=p&&(n.geometry.width=p.width+10);else if(null!=n&&")"==p.charAt(0))u+=n.geometry.width+40,n=null;else if("("!=p&&null!=n&&(p=p.substring(0,","==p.charAt(p.length-1)?p.length-1:p.length),"primary key"!=p.substring(0,11).toLowerCase())){var m=p.toLowerCase().indexOf("primary key"),p=p.replace(/primary key/i,""),l=new mxCell(p,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;"); +l.vertex=!0;p=sb.cloneCell(l,0<m?"PK":"");p.connectable=!1;p.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";p.geometry.width=30;p.geometry.height=26;l.insert(p);p=a.editor.graph.getPreferredSizeForCell(l);null!=p&&n.geometry.width<p.width+10&&(n.geometry.width=Math.min(220,p.width+10));n.insert(l);n.geometry.height+=26}0<t.length&&(f=a.editor.graph, +d=f.view,p=f.getGraphBounds(),f.setSelectionCells(f.importCells(t,Math.ceil(Math.max(0,p.x/d.scale-d.translate.x)+4*f.gridSize),Math.ceil(Math.max(0,(p.y+p.height)/d.scale-d.translate.y)+4*f.gridSize))),f.scrollCellToVisible(f.getSelectionCell()))}else if("list"==c){if(0<d.length){f=a.editor.graph;n=new mxCell(d[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;"); +n.vertex=!0;p=f.getPreferredSizeForCell(n);null!=p&&n.geometry.width<p.width+10&&(n.geometry.width=p.width+10);l=[n];if(1<d.length)for(h=1;h<d.length;h++)"--"==d[h]?(p=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),p.vertex=!0,n.geometry.height+=p.geometry.height,n.insert(p),l.push(p)):0<d[h].length&&";"!=d[h].charAt(0)&&(u=new mxCell(d[h], +new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),u.vertex=!0,p=f.getPreferredSizeForCell(u),null!=p&&u.geometry.width<p.width&&(u.geometry.width=p.width),n.geometry.width=Math.max(n.geometry.width,u.geometry.width),n.geometry.height+=u.geometry.height,n.insert(u),l.push(u));f.getModel().beginUpdate();try{n=f.importCells([n],g.x,g.y)[0],f.fireEvent(new mxEventObject("cellsInserted", +"cells",[n].concat(n.children)))}finally{f.getModel().endUpdate()}f.setSelectionCell(n);f.scrollCellToVisible(f.getSelectionCell())}}else{for(var l=function(a){var b=D[a];null==b&&(b=new mxCell(a,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),b.vertex=!0,D[a]=b,t.push(b));return b},D={},t=[],h=0;h<d.length;h++)if(";"!=d[h].charAt(0)){var I=d[h].split("->");2<=I.length&&(u=l(I[0]),m=l(I[I.length-1]),I=new mxCell(2<I.length?I[1]:"",new mxGeometry),I.edge=!0,u.insertEdge(I,!0),m.insertEdge(I,!1), +t.push(I))}if(0<t.length){d=document.createElement("div");d.style.visibility="hidden";document.body.appendChild(d);f=new Graph(d);f.getModel().beginUpdate();try{t=f.importCells(t);for(h=0;h<t.length;h++)f.getModel().isVertex(t[h])&&(p=f.getPreferredSizeForCell(t[h]),t[h].geometry.width=Math.max(t[h].geometry.width,p.width),t[h].geometry.height=Math.max(t[h].geometry.height,p.height));n=new mxFastOrganicLayout(f);n.disableEdgeStyle=!1;n.forceConstant=120;n.execute(f.getDefaultParent())}finally{f.getModel().endUpdate()}f.clearCellOverlays(); +l=[];a.editor.graph.getModel().beginUpdate();try{l=a.editor.graph.importCells(f.getModel().getChildren(f.getDefaultParent()),g.x,g.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",l))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(l);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());f.destroy();d.parentNode.removeChild(d)}}}function e(){return"list"==m.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean": +"table"==m.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==m.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml": +"plantUmlSvg"==m.value||"plantUmlTxt"==m.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var g=a.editor.graph.getFreeInsertPoint();b=document.createElement("div");b.style.textAlign="right";var h=document.createElement("textarea");h.style.resize="none";h.style.width="100%";h.style.height= +"354px";h.style.marginBottom="16px";var m=document.createElement("select");"formatSql"==c&&(m.style.display="none");var l=document.createElement("option");l.setAttribute("value","list");mxUtils.write(l,mxResources.get("list"));"plantUml"!=c&&m.appendChild(l);null!=c&&"fromText"!=c||l.setAttribute("selected","selected");l=document.createElement("option");l.setAttribute("value","table");mxUtils.write(l,mxResources.get("formatSql"));"formatSql"==c&&(m.appendChild(l),l.setAttribute("selected","selected")); +l=document.createElement("option");l.setAttribute("value","diagram");mxUtils.write(l,mxResources.get("diagram"));"plantUml"!=c&&m.appendChild(l);l=document.createElement("option");l.setAttribute("value","plantUmlSvg");mxUtils.write(l,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==c&&l.setAttribute("selected","selected");var f=document.createElement("option");f.setAttribute("value","plantUmlPng");mxUtils.write(f,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ +")");var k=document.createElement("option");k.setAttribute("value","plantUmlTxt");mxUtils.write(k,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==c&&(m.appendChild(l),m.appendChild(f),m.appendChild(k));var n=e();h.value=n;b.appendChild(h);this.init=function(){h.focus()};Graph.fileSupport&&(h.addEventListener("dragover",function(a){a.stopPropagation();a.preventDefault()},!1),h.addEventListener("drop",function(a){a.stopPropagation(); +a.preventDefault();if(0<a.dataTransfer.files.length){a=a.dataTransfer.files[0];var b=new FileReader;b.onload=function(a){h.value=a.target.result};b.readAsText(a)}},!1));b.appendChild(m);mxEvent.addListener(m,"change",function(){var a=e();if(0==h.value.length||h.value==n)n=a,h.value=n});c=mxUtils.button(mxResources.get("close"),function(){h.value==n?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});c.className="geBtn";a.editor.cancelFirst&&b.appendChild(c);l=mxUtils.button(mxResources.get("insert"), +function(){a.hideDialog();d(h.value,m.value)});b.appendChild(l);l.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(c);this.container=b},NewDialog=function(a,b,c,d,e,g,h,m,l,f,k,n,t,u,q){function v(){for(var a=!0;y<Q.length&&(a||0!=mxUtils.mod(y,30));)a=Q[y++],p(a.url,a.libs,a.title,a.tooltip?a.tooltip:a.title,a.select,a.imgUrl,a.info,a.onClick),a=!1}function w(){if(S)c||a.hideDialog(),u(S,O,E.value);else if(d)c||a.hideDialog(),d(Z,E.value);else{var b=E.value;null!=b&&0<b.length&& +a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(c){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,c)})}}function C(a,b,c,d,f){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");D.removeAttribute("disabled");Z=b;X=c;N=a;S=d;O=f;N.style.backgroundColor=m;N.style.border=l}function p(a,b,c,d,f,k,p,e){var n=document.createElement("div"); n.className="geTemplate";n.style.height=R+"px";n.style.width=T+"px";null!=d&&0<d.length&&n.setAttribute("title",d);if(null!=k)n.style.backgroundImage="url("+k+")",n.style.backgroundSize="contain",n.style.backgroundPosition="center center",n.style.backgroundRepeat="no-repeat",mxEvent.addListener(n,"click",function(b){C(n,null,null,a,p)}),mxEvent.addListener(n,"dblclick",function(a){w()});else if(null!=a&&0<a.length){a.substring(0,a.length-4);n.style.backgroundImage="url("+TEMPLATE_PATH+"/"+a.substring(0, a.length-4)+".png)";n.style.backgroundPosition="center center";n.style.backgroundRepeat="no-repeat";var g=!1;mxEvent.addListener(n,"click",function(c){D.setAttribute("disabled","disabled");n.style.backgroundColor="transparent";n.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+a,mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&(C(n,a.getText(),b),g&&w())}))});mxEvent.addListener(n,"dblclick",function(a){g=!0})}else n.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+ -mxResources.get(c)+"</td></tr></table>",f&&C(n),null!=e?mxEvent.addListener(n,"click",e):(mxEvent.addListener(n,"click",function(a){C(n)}),mxEvent.addListener(n,"dblclick",function(a){w()}));G.appendChild(n)}function A(){mxEvent.addListener(G,"scroll",function(a){G.scrollTop+G.clientHeight>=G.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0, -18)+"…");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=f&&(c.style.padding=f);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,G.scrollTop=0,G.innerHTML="",y=0,Q=V[b],z=null,v())})})(b, -c)}v()}c=null!=c?c:!0;e=null!=e?e:!1;h=null!=h?h:"#ebf2f9";l=null!=l?l:"#e6eff8";m=null!=m?m:"1px solid #ccd9ea";k=null!=k?k:TEMPLATE_PATH+"/index.xml";var E=document.createElement("div");E.style.height="100%";var B=document.createElement("div");B.style.whiteSpace="nowrap";B.style.height="46px";c&&E.appendChild(B);var x=document.createElement("img");x.setAttribute("border","0");x.setAttribute("align","absmiddle");x.style.width="40px";x.style.height="40px";x.style.marginRight="10px";x.style.paddingBottom= +mxResources.get(c)+"</td></tr></table>",f&&C(n),null!=e?mxEvent.addListener(n,"click",e):(mxEvent.addListener(n,"click",function(a){C(n)}),mxEvent.addListener(n,"dblclick",function(a){w()}));H.appendChild(n)}function A(){mxEvent.addListener(H,"scroll",function(a){H.scrollTop+H.clientHeight>=H.scrollHeight&&(v(),mxEvent.consume(a))});var a=null,b;for(b in V){var c=document.createElement("div"),d=mxResources.get(b),k=V[b];null==d&&(d=b.substring(0,1).toUpperCase()+b.substring(1));18<d.length&&(d=d.substring(0, +18)+"…");c.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";c.setAttribute("title",d+" ("+k.length+")");mxUtils.write(c,c.getAttribute("title"));null!=f&&(c.style.padding=f);W.appendChild(c);null==a&&(a=c,a.style.backgroundColor=h);(function(b,d){mxEvent.addListener(c,"click",function(){a!=d&&(a.style.backgroundColor="",a=d,a.style.backgroundColor=h,H.scrollTop=0,H.innerHTML="",y=0,Q=V[b],z=null,v())})})(b, +c)}v()}c=null!=c?c:!0;e=null!=e?e:!1;h=null!=h?h:"#ebf2f9";m=null!=m?m:"#e6eff8";l=null!=l?l:"1px solid #ccd9ea";k=null!=k?k:TEMPLATE_PATH+"/index.xml";var F=document.createElement("div");F.style.height="100%";var B=document.createElement("div");B.style.whiteSpace="nowrap";B.style.height="46px";c&&F.appendChild(B);var x=document.createElement("img");x.setAttribute("border","0");x.setAttribute("align","absmiddle");x.style.width="40px";x.style.height="40px";x.style.marginRight="10px";x.style.paddingBottom= "4px";x.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!b&&c&&B.appendChild(x);c&&mxUtils.write(B,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"): -mxResources.get("filename"))+":");x=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?x=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?x=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?x=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?x=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(x=a.trello.extension);var L=document.createElement("input");L.setAttribute("value",a.defaultFilename+x);L.style.marginRight="20px";L.style.marginLeft="10px";L.style.width= -b?"220px":"430px";this.init=function(){c&&(L.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?L.select():document.execCommand("selectAll",!1,null))};c&&B.appendChild(L);var B=!1,y=0,D=mxUtils.button(mxResources.get("create"),function(){D.setAttribute("disabled","disabled");w();D.removeAttribute("disabled")});D.className="geBtn gePrimaryBtn";if(n||t){var I=[],z=null,H=function(a){D.setAttribute("disabled","disabled");for(var b=0;b<I.length;b++)I[b].className=b== -a?"geBtn gePrimaryBtn":"geBtn"},B=!0,x=document.createElement("div");x.style.whiteSpace="nowrap";x.style.height="30px";E.appendChild(x);var F=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";G.style.left="160px";H(0);G.scrollTop=0;G.innerHTML="";y=0;z!=Q&&(Q=z,v(),z=null)});I.push(F);x.appendChild(F);var K=function(a){W.style.display="none";G.style.left="30px";H(a?-1:1);null==z&&(z=Q);G.scrollTop=0;G.innerHTML="";var b=new Spinner({lines:12,length:10,width:5, -radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});b.spin(G);y=0;var c=function(a,c){b.stop();Q=a;c?G.innerHTML=c:0==a.length?G.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(G.innerHTML="",v())};a?t(M.value,c):n(c)};n&&(F=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){K()}),x.appendChild(F),I.push(F));if(t){F=document.createElement("span");F.style.marginLeft="10px";F.innerHTML=mxResources.get("search")+":";x.appendChild(F); -var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&K(!0)});x.appendChild(M);F=mxUtils.button(mxResources.get("search"),function(){K(!0)});F.className="geBtn";x.appendChild(F)}H(0)}var X=null,Z=null,N=null,S=null,O=null,G=document.createElement("div");G.style.border="1px solid #d3d3d3";G.style.position="absolute";G.style.left="160px";G.style.right="34px";B=(c?72:40)+(B?30:0);G.style.top= -B+"px";G.style.bottom="68px";G.style.margin="6px 0 0 -1px";G.style.padding="6px";G.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+B+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},J=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!b){E.appendChild(W);E.appendChild(G);var P=!1;mxUtils.get(k,function(a){if(!P){P=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!== -typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=V[b];null==c&&(J++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}A()}})}mxEvent.addListener(L,"keypress",function(a){13==a.keyCode&&w()});k=document.createElement("div");k.style.marginTop=b?"4px":"16px";k.style.textAlign="right";k.style.position="absolute";k.style.left="40px";k.style.bottom= +mxResources.get("filename"))+":");x=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?x=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?x=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?x=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?x=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(x=a.trello.extension);var E=document.createElement("input");E.setAttribute("value",a.defaultFilename+x);E.style.marginRight="20px";E.style.marginLeft="10px";E.style.width= +b?"220px":"430px";this.init=function(){c&&(E.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?E.select():document.execCommand("selectAll",!1,null))};c&&B.appendChild(E);var B=!1,y=0,D=mxUtils.button(mxResources.get("create"),function(){D.setAttribute("disabled","disabled");w();D.removeAttribute("disabled")});D.className="geBtn gePrimaryBtn";if(n||t){var I=[],z=null,J=function(a){D.setAttribute("disabled","disabled");for(var b=0;b<I.length;b++)I[b].className=b== +a?"geBtn gePrimaryBtn":"geBtn"},B=!0,x=document.createElement("div");x.style.whiteSpace="nowrap";x.style.height="30px";F.appendChild(x);var G=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";H.style.left="160px";J(0);H.scrollTop=0;H.innerHTML="";y=0;z!=Q&&(Q=z,v(),z=null)});I.push(G);x.appendChild(G);var L=function(a){W.style.display="none";H.style.left="30px";J(a?-1:1);null==z&&(z=Q);H.scrollTop=0;H.innerHTML="";var b=new Spinner({lines:12,length:10,width:5, +radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});b.spin(H);y=0;var c=function(a,c){b.stop();Q=a;c?H.innerHTML=c:0==a.length?H.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(H.innerHTML="",v())};a?t(M.value,c):n(c)};n&&(G=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){L()}),x.appendChild(G),I.push(G));if(t){G=document.createElement("span");G.style.marginLeft="10px";G.innerHTML=mxResources.get("search")+":";x.appendChild(G); +var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(a){13==a.keyCode&&L(!0)});x.appendChild(M);G=mxUtils.button(mxResources.get("search"),function(){L(!0)});G.className="geBtn";x.appendChild(G)}J(0)}var X=null,Z=null,N=null,S=null,O=null,H=document.createElement("div");H.style.border="1px solid #d3d3d3";H.style.position="absolute";H.style.left="160px";H.style.right="34px";B=(c?72:40)+(B?30:0);H.style.top= +B+"px";H.style.bottom="68px";H.style.margin="6px 0 0 -1px";H.style.padding="6px";H.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+B+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},K=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!b){F.appendChild(W);F.appendChild(H);var P=!1;mxUtils.get(k,function(a){if(!P){P=!0;for(a=a.getXml().documentElement.firstChild;null!=a;){if("undefined"!== +typeof a.getAttribute){var b=a.getAttribute("url");if(null!=b){var c=b.indexOf("/"),b=b.substring(0,c),c=V[b];null==c&&(K++,c=[],V[b]=c);c.push({url:a.getAttribute("url"),libs:a.getAttribute("libs"),title:a.getAttribute("title"),tooltip:a.getAttribute("url")})}}a=a.nextSibling}A()}})}mxEvent.addListener(E,"keypress",function(a){13==a.keyCode&&w()});k=document.createElement("div");k.style.marginTop=b?"4px":"16px";k.style.textAlign="right";k.style.position="absolute";k.style.left="40px";k.style.bottom= "24px";k.style.right="40px";B=mxUtils.button(mxResources.get("cancel"),function(){null!=g&&g();a.hideDialog(!0)});B.className="geBtn";!a.editor.cancelFirst||e&&null==g||k.appendChild(B);b||a.isOffline()||!c||null!=d||e||(x=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),x.className="geBtn",k.appendChild(x));b||"1"==urlParams.embed||e||(b=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a, -"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(L.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),b.className="geBtn",k.appendChild(b));Graph.fileSupport&&q&&(q=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple", -"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0)});b.click()}),q.className="geBtn",k.appendChild(q));k.appendChild(D);a.editor.cancelFirst||null!=d||e&&null==g||k.appendChild(B);E.appendChild(k);this.container=E},CreateDialog=function(a,b,c,d,e,g,h,l,m,f,k,n,t,u,q){function v(c,d,f,k){function p(){mxEvent.addListener(e,"click",function(){var c=f;if(h){var d=A.value,k=d.lastIndexOf(".");if(0>b.lastIndexOf(".")&&0>k){var c=null!=c?c:x.value, +"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(E.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),b.className="geBtn",k.appendChild(b));Graph.fileSupport&&q&&(q=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple", +"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(c){a.openFiles(b.files,!0)});b.click()}),q.className="geBtn",k.appendChild(q));k.appendChild(D);a.editor.cancelFirst||null!=d||e&&null==g||k.appendChild(B);F.appendChild(k);this.container=F},CreateDialog=function(a,b,c,d,e,g,h,m,l,f,k,n,t,u,q){function v(c,d,f,k){function p(){mxEvent.addListener(e,"click",function(){var c=f;if(h){var d=A.value,k=d.lastIndexOf(".");if(0>b.lastIndexOf(".")&&0>k){var c=null!=c?c:x.value, p="";c==App.MODE_GOOGLE?p=a.drive.extension:c==App.MODE_GITHUB?p=a.gitHub.extension:c==App.MODE_TRELLO?p=a.trello.extension:c==App.MODE_DROPBOX?p=a.dropbox.extension:c==App.MODE_ONEDRIVE?p=a.oneDrive.extension:c==App.MODE_DEVICE&&(p=".xml");0<=k&&(d=d.substring(0,k));A.value=d+p}}w(f)})}var e=document.createElement("a");e.style.overflow="hidden";var g=document.createElement("img");g.src=c;g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom= -"6px";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(g);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var u=document.createElement("div");e.appendChild(u);mxUtils.write(u,d);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(u,10);var t=new Spinner({lines:12, -length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(e);var q=window.setTimeout(function(){null==a[k]&&(t.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(q),mxUtils.setOpacity(u,100),g.style.visibility="",t.stop(),p())}))}else p();E.appendChild(e);++B==n&&(mxUtils.br(E),B=0)}function w(b){var d=A.value;if(null==b||null!=d&&0<d.length)a.hideDialog(),c(d, -b)}h=null!=h?h:!0;l=null!=l?l:!0;n=null!=n?n:4;var C=document.createElement("div");null==d&&a.addLanguageMenu(C);var p=document.createElement("h2");mxUtils.write(p,e||mxResources.get("create"));p.style.marginTop="0px";p.style.marginBottom="24px";C.appendChild(p);mxUtils.write(C,mxResources.get("filename")+":");var A=document.createElement("input");A.setAttribute("value",b);A.style.width="280px";A.style.marginLeft="10px";A.style.marginBottom="20px";this.init=function(){A.focus();mxClient.IS_GC||mxClient.IS_FF|| +"6px";e.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";e.className="geBaseButton";e.style.position="relative";e.style.margin="4px";e.style.padding="8px 8px 10px 8px";e.style.whiteSpace="nowrap";e.appendChild(g);mxClient.IS_QUIRKS&&(e.style.cssFloat="left",e.style.zoom="1");e.style.color="gray";e.style.fontSize="11px";var t=document.createElement("div");e.appendChild(t);mxUtils.write(t,d);if(null!=k&&null==a[k]){g.style.visibility="hidden";mxUtils.setOpacity(t,10);var u=new Spinner({lines:12, +length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});u.spin(e);var q=window.setTimeout(function(){null==a[k]&&(u.stop(),e.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(q),mxUtils.setOpacity(t,100),g.style.visibility="",u.stop(),p())}))}else p();F.appendChild(e);++B==n&&(mxUtils.br(F),B=0)}function w(b){var d=A.value;if(null==b||null!=d&&0<d.length)a.hideDialog(),c(d, +b)}h=null!=h?h:!0;m=null!=m?m:!0;n=null!=n?n:4;var C=document.createElement("div");null==d&&a.addLanguageMenu(C);var p=document.createElement("h2");mxUtils.write(p,e||mxResources.get("create"));p.style.marginTop="0px";p.style.marginBottom="24px";C.appendChild(p);mxUtils.write(C,mxResources.get("filename")+":");var A=document.createElement("input");A.setAttribute("value",b);A.style.width="280px";A.style.marginLeft="10px";A.style.marginBottom="20px";this.init=function(){A.focus();mxClient.IS_GC||mxClient.IS_FF|| 5<=document.documentMode||mxClient.IS_QUIRKS?A.select():document.execCommand("selectAll",!1,null)};C.appendChild(A);null!=t&&null!=u&&"image/"==u.substring(0,6)&&(A.style.width="160px",e=null,"image/svg+xml"==u&&mxClient.IS_SVG?(e=document.createElement("div"),e.innerHTML=mxUtils.trim(t),t=e.getElementsByTagName("svg")[0],u=parseInt(t.getAttribute("width")),q=parseInt(t.getAttribute("height")),t.setAttribute("viewBox","0 0 "+u+" "+q),t.setAttribute("width","120px"),t.setAttribute("height","80px")): -(e=document.createElement("img"),e.setAttribute("src","data:"+u+(q?";base64,":";utf8,")+t)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),C.appendChild(e),m&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){w("_blank")})));mxUtils.br(C);var E=document.createElement("div");E.style.textAlign="center";var B=0;E.style.marginTop= -"6px";C.appendChild(E);var x=document.createElement("select");x.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(e,mxResources.get("googleDrive")),x.appendChild(e),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_ONEDRIVE), +(e=document.createElement("img"),e.setAttribute("src","data:"+u+(q?";base64,":";utf8,")+t)),e.style.position="absolute",e.style.top="70px",e.style.right="100px",e.style.maxWidth="120px",e.style.maxHeight="80px",mxUtils.setPrefixedStyle(e.style,"transform","translate(50%,-50%)"),C.appendChild(e),l&&Editor.popupsAllowed&&(e.style.cursor="pointer",mxEvent.addListener(e,"click",function(){w("_blank")})));mxUtils.br(C);var F=document.createElement("div");F.style.textAlign="center";var B=0;F.style.marginTop= +"6px";C.appendChild(F);var x=document.createElement("select");x.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(e,mxResources.get("googleDrive")),x.appendChild(e),v(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_ONEDRIVE), mxUtils.write(e,mxResources.get("oneDrive")),x.appendChild(e),a.mode==App.MODE_ONEDRIVE&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(e,mxResources.get("dropbox")),x.appendChild(e),a.mode==App.MODE_DROPBOX&&e.setAttribute("selected","selected"),v(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"), App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_GITHUB),mxUtils.write(e,mxResources.get("github")),x.appendChild(e),v(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(e=document.createElement("option"),e.setAttribute("value",App.MODE_TRELLO),mxUtils.write(e,mxResources.get("trello")),x.appendChild(e),v(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello"))); -if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)e=document.createElement("option"),e.setAttribute("value",App.MODE_DEVICE),mxUtils.write(e,mxResources.get("device")),x.appendChild(e),a.mode!=App.MODE_DEVICE&&l||e.setAttribute("selected","selected"),k&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);l&&isLocalStorage&&"0"!=urlParams.browser&&(l=document.createElement("option"),l.setAttribute("value",App.MODE_BROWSER), -mxUtils.write(l,mxResources.get("browser")),x.appendChild(l),a.mode==App.MODE_BROWSER&&l.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));l=document.createElement("div");l.style.marginTop="26px";l.style.textAlign="center";null!=f&&(e=mxUtils.button(mxResources.get("help"),function(){a.openLink(f)}),e.className="geBtn",l.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){null!=d?d():(a.fileLoaded(null),a.hideDialog(), -window.close(),window.location.href=a.getUrl())});e.className="geBtn";a.editor.cancelFirst&&l.appendChild(e);null==d&&(t=mxUtils.button(mxResources.get("decideLater"),function(){w(null)}),t.className="geBtn",l.appendChild(t));m&&Editor.popupsAllowed&&(m=mxUtils.button(mxResources.get("openInNewWindow"),function(){w("_blank")}),m.className="geBtn",l.appendChild(m));mxClient.IS_IOS||(g=mxUtils.button(g||mxResources.get("create"),function(){w(k?"download":App.MODE_DEVICE)}),g.className="geBtn gePrimaryBtn", -l.appendChild(g));a.editor.cancelFirst||l.appendChild(e);mxEvent.addListener(A,"keypress",function(b){13==b.keyCode?w(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});C.appendChild(l);this.container=C},PopupDialog=function(a,b,c,d,e){e=null!=e?e:!0;var g=document.createElement("div");g.style.textAlign="left";mxUtils.write(g,mxResources.get("fileOpenLocation"));mxUtils.br(g);mxUtils.br(g);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog(); -null!=d&&d()});h.className="geBtn";h.style.marginBottom="8px";h.style.width="280px";g.appendChild(h);mxUtils.br(g);var l=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=c&&c();a.openLink(b)});l.className="geBtn gePrimaryBtn";l.style.width=h.style.width;g.appendChild(l);mxUtils.br(g);mxUtils.br(g);mxUtils.write(g,mxResources.get("allowPopups"));this.container=g},ImageDialog=function(a,b,c,d,e,g){g=null!=g?g:!0;var h=a.editor.graph,l=document.createElement("div"); -mxUtils.write(l,b);b=document.createElement("div");b.className="geTitle";b.style.backgroundColor="transparent";b.style.borderColor="transparent";b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.cursor="default";mxClient.IS_VML||(b.style.paddingRight="20px");var m=document.createElement("input");m.setAttribute("value",c);m.setAttribute("type","text");m.setAttribute("spellcheck","false");m.setAttribute("autocorrect","off");m.setAttribute("autocomplete","off");m.setAttribute("autocapitalize", -"off");m.style.marginTop="6px";m.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML? -"inline":"inline-block";c.style.top=(mxClient.IS_VML?0:3)+"px";c.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(c,"click",function(){m.value="";m.focus()});b.appendChild(m);b.appendChild(c);l.appendChild(b);var f=function(b,c,f,k){var e="data:"==b.substring(0,5);!a.isOffline()||e&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(p){a.spinner.stop();a.hideDialog();var e=!1===k?1:null!=c&&null!=f?Math.max(c/ +if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)e=document.createElement("option"),e.setAttribute("value",App.MODE_DEVICE),mxUtils.write(e,mxResources.get("device")),x.appendChild(e),a.mode!=App.MODE_DEVICE&&m||e.setAttribute("selected","selected"),k&&v(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);m&&isLocalStorage&&"0"!=urlParams.browser&&(m=document.createElement("option"),m.setAttribute("value",App.MODE_BROWSER), +mxUtils.write(m,mxResources.get("browser")),x.appendChild(m),a.mode==App.MODE_BROWSER&&m.setAttribute("selected","selected"),v(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));m=document.createElement("div");m.style.marginTop="26px";m.style.textAlign="center";null!=f&&(e=mxUtils.button(mxResources.get("help"),function(){a.openLink(f)}),e.className="geBtn",m.appendChild(e));e=mxUtils.button(mxResources.get("cancel"),function(){null!=d?d():(a.fileLoaded(null),a.hideDialog(), +window.close(),window.location.href=a.getUrl())});e.className="geBtn";a.editor.cancelFirst&&m.appendChild(e);null==d&&(t=mxUtils.button(mxResources.get("decideLater"),function(){w(null)}),t.className="geBtn",m.appendChild(t));l&&Editor.popupsAllowed&&(l=mxUtils.button(mxResources.get("openInNewWindow"),function(){w("_blank")}),l.className="geBtn",m.appendChild(l));mxClient.IS_IOS||(g=mxUtils.button(g||mxResources.get("create"),function(){w(k?"download":App.MODE_DEVICE)}),g.className="geBtn gePrimaryBtn", +m.appendChild(g));a.editor.cancelFirst||m.appendChild(e);mxEvent.addListener(A,"keypress",function(b){13==b.keyCode?w(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});C.appendChild(m);this.container=C},PopupDialog=function(a,b,c,d,e){e=null!=e?e:!0;var g=document.createElement("div");g.style.textAlign="left";mxUtils.write(g,mxResources.get("fileOpenLocation"));mxUtils.br(g);mxUtils.br(g);var h=mxUtils.button(mxResources.get("openInThisWindow"),function(){e&&a.hideDialog(); +null!=d&&d()});h.className="geBtn";h.style.marginBottom="8px";h.style.width="280px";g.appendChild(h);mxUtils.br(g);var m=mxUtils.button(mxResources.get("openInNewWindow"),function(){e&&a.hideDialog();null!=c&&c();a.openLink(b)});m.className="geBtn gePrimaryBtn";m.style.width=h.style.width;g.appendChild(m);mxUtils.br(g);mxUtils.br(g);mxUtils.write(g,mxResources.get("allowPopups"));this.container=g},ImageDialog=function(a,b,c,d,e,g){g=null!=g?g:!0;var h=a.editor.graph,m=document.createElement("div"); +mxUtils.write(m,b);b=document.createElement("div");b.className="geTitle";b.style.backgroundColor="transparent";b.style.borderColor="transparent";b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.cursor="default";mxClient.IS_VML||(b.style.paddingRight="20px");var l=document.createElement("input");l.setAttribute("value",c);l.setAttribute("type","text");l.setAttribute("spellcheck","false");l.setAttribute("autocorrect","off");l.setAttribute("autocomplete","off");l.setAttribute("autocapitalize", +"off");l.style.marginTop="6px";l.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";l.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";l.style.backgroundRepeat="no-repeat";l.style.backgroundPosition="100% 50%";l.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML? +"inline":"inline-block";c.style.top=(mxClient.IS_VML?0:3)+"px";c.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(c,"click",function(){l.value="";l.focus()});b.appendChild(l);b.appendChild(c);m.appendChild(b);var f=function(b,c,f,k){var e="data:"==b.substring(0,5);!a.isOffline()||e&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(p){a.spinner.stop();a.hideDialog();var e=!1===k?1:null!=c&&null!=f?Math.max(c/ p.width,f/p.height):Math.min(1,Math.min(520/p.width,520/p.height));g&&(b=a.convertDataUri(b));d(b,Math.round(Number(p.width)*e),Math.round(Number(p.height)*e))},function(){a.spinner.stop();d(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),d(b)):(b=a.convertDataUri(b),c=null==c?120:c,f=null==f?100:f,a.hideDialog(),d(b,c,f))},k=function(b,c){if(null!=b){var k=e?null:h.getModel().getGeometry(h.getSelectionCell());null!=k?f(b,k.width, -k.height,c):f(b,null,null,c)}else a.hideDialog(),d(null)};this.init=function(){m.focus();if(Graph.fileSupport){m.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=l.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()})); +k.height,c):f(b,null,null,c)}else a.hideDialog(),d(null)};this.init=function(){l.focus();if(Graph.fileSupport){l.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=m.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()})); mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(a,b,c,d,f,e,n,g){k(a,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var d=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(d)&& -k(decodeURIComponent(d))}b.stopPropagation();b.preventDefault()}),!1)}};c=document.createElement("div");c.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";c.style.textAlign="right";b=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(m.value= -a.url));m.focus()};if(Graph.fileSupport){var n=document.createElement("input");n.setAttribute("multiple","multiple");n.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(n,"change",function(b){a.importFiles(n.files,0,0,a.maxImageSize,function(a,b,c,d,f,e){k(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var t=mxUtils.button(mxResources.get("open"),function(){n.click()});t.className="geBtn";c.appendChild(t)}}document.createElement("canvas").getContext&& -"data:image/"==m.value.substring(0,11)&&"data:image/svg"!=m.value.substring(0,14)&&(t=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,m.value,function(a){m.value=a});a.showDialog(b.container,200,180,!0,!0);b.init()}),t.className="geBtn",c.appendChild(t));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(t=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN); +k(decodeURIComponent(d))}b.stopPropagation();b.preventDefault()}),!1)}};c=document.createElement("div");c.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";c.style.textAlign="right";b=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);ImageDialog.filePicked=function(a){a.action==google.picker.Action.PICKED&&null!=a.docs[0].thumbnails&&(a=a.docs[0].thumbnails[a.docs[0].thumbnails.length-1],null!=a&&(l.value= +a.url));l.focus()};if(Graph.fileSupport){var n=document.createElement("input");n.setAttribute("multiple","multiple");n.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(n,"change",function(b){a.importFiles(n.files,0,0,a.maxImageSize,function(a,b,c,d,f,e){k(a)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},!0)});var t=mxUtils.button(mxResources.get("open"),function(){n.click()});t.className="geBtn";c.appendChild(t)}}document.createElement("canvas").getContext&& +"data:image/"==l.value.substring(0,11)&&"data:image/svg"!=l.value.substring(0,14)&&(t=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,l.value,function(a){l.value=a});a.showDialog(b.container,200,180,!0,!0);b.init()}),t.className="geBtn",c.appendChild(t));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(t=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN); a.imageSearchPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.imageSearchPicker.setVisible(!0)}),t.className="geBtn",c.appendChild(t),null!=a.drive&&"1"==urlParams.photos&&(t=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),t.className="geBtn",c.appendChild(t)));mxEvent.addListener(m,"keypress",function(a){13==a.keyCode&&k(m.value)});t=mxUtils.button(mxResources.get("apply"),function(){k(m.value)});t.className="geBtn gePrimaryBtn";c.appendChild(t);a.editor.cancelFirst||c.appendChild(b);Graph.fileSupport&&(c.style.marginTop="120px",l.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",l.style.backgroundPosition= -"center 65%",l.style.backgroundRepeat="no-repeat",b=document.createElement("div"),b.style.position="absolute",b.style.width="420px",b.style.top="58%",b.style.textAlign="center",b.style.fontSize="18px",b.style.color="#a0c3ff",mxUtils.write(b,mxResources.get("dragImagesHere")),l.appendChild(b));l.appendChild(c);this.container=l},LinkDialog=function(a,b,c,d,e){function g(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px"; -b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);w.appendChild(c)}var h=document.createElement("div");mxUtils.write(h,mxResources.get("editLink")+":");var l=document.createElement("div");l.className="geTitle";l.style.backgroundColor="transparent";l.style.borderColor="transparent";l.style.whiteSpace="nowrap";l.style.textOverflow="clip";l.style.cursor="default";mxClient.IS_VML||(l.style.paddingRight="20px");var m=document.createElement("input"); -m.setAttribute("placeholder",mxResources.get("dragUrlsHere"));m.setAttribute("type","text");m.style.marginTop="6px";m.style.width="400px";m.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";m.style.backgroundRepeat="no-repeat";m.style.backgroundPosition="100% 50%";m.style.paddingRight="14px";var f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer"; -f.style.display=mxClient.IS_VML?"inline":"inline-block";f.style.top=(mxClient.IS_VML?0:3)+"px";f.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){m.value="";m.focus()});var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name","current-linkdialog");var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-bottom:8px;"; -n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","current-linkdialog");var t=document.createElement("select");t.style.width="380px";if(e&&null!=a.pages){null!=b&&"data:page/id,"==b.substring(0,13)?(n.setAttribute("checked","checked"),n.defaultChecked=!0):(m.setAttribute("value",b),k.setAttribute("checked","checked"),k.defaultChecked=!0);m.style.width="380px";l.appendChild(k);l.appendChild(m);l.appendChild(f);mxUtils.br(l);l.appendChild(n);e=!1;for(f=0;f<a.pages.length;f++){var u= +a.photoPicker=b.setCallback(function(a){ImageDialog.filePicked(a)}).build()}a.photoPicker.setVisible(!0)}))}),t.className="geBtn",c.appendChild(t)));mxEvent.addListener(l,"keypress",function(a){13==a.keyCode&&k(l.value)});t=mxUtils.button(mxResources.get("apply"),function(){k(l.value)});t.className="geBtn gePrimaryBtn";c.appendChild(t);a.editor.cancelFirst||c.appendChild(b);Graph.fileSupport&&(c.style.marginTop="120px",m.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",m.style.backgroundPosition= +"center 65%",m.style.backgroundRepeat="no-repeat",b=document.createElement("div"),b.style.position="absolute",b.style.width="420px",b.style.top="58%",b.style.textAlign="center",b.style.fontSize="18px",b.style.color="#a0c3ff",mxUtils.write(b,mxResources.get("dragImagesHere")),m.appendChild(b));m.appendChild(c);this.container=m},LinkDialog=function(a,b,c,d,e){function g(a,b,c){c=mxUtils.button("",c);c.className="geBtn";c.setAttribute("title",b);b=document.createElement("img");b.style.height="26px"; +b.style.width="26px";b.setAttribute("src",a);c.style.minWidth="42px";c.style.verticalAlign="middle";c.appendChild(b);w.appendChild(c)}var h=document.createElement("div");mxUtils.write(h,mxResources.get("editLink")+":");var m=document.createElement("div");m.className="geTitle";m.style.backgroundColor="transparent";m.style.borderColor="transparent";m.style.whiteSpace="nowrap";m.style.textOverflow="clip";m.style.cursor="default";mxClient.IS_VML||(m.style.paddingRight="20px");var l=document.createElement("input"); +l.setAttribute("placeholder",mxResources.get("dragUrlsHere"));l.setAttribute("type","text");l.style.marginTop="6px";l.style.width="440px";l.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";l.style.backgroundRepeat="no-repeat";l.style.backgroundPosition="100% 50%";l.style.paddingRight="14px";var f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer"; +f.style.display=mxClient.IS_VML?"inline":"inline-block";f.style.top=(mxClient.IS_VML?0:3)+"px";f.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){l.value="";l.focus()});var k=document.createElement("input");k.style.cssText="margin-right:8px;margin-bottom:8px;";k.setAttribute("value","url");k.setAttribute("type","radio");k.setAttribute("name","current-linkdialog");var n=document.createElement("input");n.style.cssText="margin-right:8px;margin-bottom:8px;"; +n.setAttribute("value","url");n.setAttribute("type","radio");n.setAttribute("name","current-linkdialog");var t=document.createElement("select");t.style.width="420px";if(e&&null!=a.pages){null!=b&&"data:page/id,"==b.substring(0,13)?(n.setAttribute("checked","checked"),n.defaultChecked=!0):(l.setAttribute("value",b),k.setAttribute("checked","checked"),k.defaultChecked=!0);l.style.width="420px";m.appendChild(k);m.appendChild(l);m.appendChild(f);mxUtils.br(m);m.appendChild(n);e=!1;for(f=0;f<a.pages.length;f++){var u= document.createElement("option");mxUtils.write(u,a.pages[f].getName()||mxResources.get("pageWithNumber",[f+1]));u.setAttribute("value","data:page/id,"+a.pages[f].getId());b==u.getAttribute("value")&&(u.setAttribute("selected","selected"),e=!0);t.appendChild(u)}if(!e&&n.checked){var q=document.createElement("option");mxUtils.write(q,mxResources.get("pageNotFound"));q.setAttribute("disabled","disabled");q.setAttribute("selected","selected");q.setAttribute("value","pageNotFound");t.appendChild(q);mxEvent.addListener(t, -"change",function(){null==q.parentNode||q.selected||q.parentNode.removeChild(q)})}l.appendChild(t)}else m.setAttribute("value",b),l.appendChild(m),l.appendChild(f);h.appendChild(l);var v=mxUtils.button(c,function(){a.hideDialog();d(n.checked?"pageNotFound"!==t.value?t.value:b:m.value,LinkDialog.selectedDocs)});v.style.verticalAlign="middle";v.className="geBtn gePrimaryBtn";this.init=function(){n.checked?t.focus():(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? -m.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(t,"focus",function(){k.removeAttribute("checked");n.setAttribute("checked","checked");n.checked=!0});mxEvent.addListener(m,"focus",function(){n.removeAttribute("checked");k.setAttribute("checked","checked");k.checked=!0});if(Graph.fileSupport){var b=h.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover", -mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(m.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),k.setAttribute("checked","checked"),k.checked=!0,v.click());a.stopPropagation();a.preventDefault()}),!1)}};var w=document.createElement("div"); -w.style.marginTop="20px";w.style.textAlign="right";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.style.verticalAlign="middle";c.className="geBtn";a.editor.cancelFirst&&w.appendChild(c);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b= -"https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&&(b="https://drive.google.com/#folders/"+a.docs[0].id);m.value=b;m.focus()}else LinkDialog.selectedDocs=null;m.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&g(IMAGE_PATH+"/google-drive-logo.svg", -mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),f=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0), -b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(f).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&g(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){m.value=a[0].link;m.focus()}})});null!=a.oneDrive&&g(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,b){m.value=b.value[0].webUrl; -m.focus()})});null!=a.gitHub&&g(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],d=a[2];a=a.slice(3,a.length).join("/");m.value="https://github.com/"+b+"/"+c+"/blob/"+d+"/"+a;m.focus()}})});mxEvent.addListener(m,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),d(n.checked?t.value:m.value,LinkDialog.selectedDocs))});w.appendChild(v);a.editor.cancelFirst||w.appendChild(c);h.appendChild(w);this.container= -h},AboutDialog=function(a){var b=document.createElement("div");b.style.marginTop="6px";b.setAttribute("align","center");var c=document.createElement("img");c.style.border="0px";mxClient.IS_SVG?(c.setAttribute("width","164"),c.setAttribute("height","221"),c.style.width="164px",c.style.height="221px",c.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(c.setAttribute("width","176"),c.setAttribute("height","219"),c.style.width="170px",c.style.height="219px",c.setAttribute("src",IMAGE_PATH+ -"/logo-flat.png"));b.appendChild(c);mxUtils.br(b);c=document.createElement("small");c.innerHTML="v "+EditorUi.VERSION;c.style.color="#505050";b.appendChild(c);mxUtils.br(b);mxUtils.br(b);c=document.createElement("small");c.style.color="#505050";c.innerHTML='© 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';b.appendChild(c);mxEvent.addListener(b,"click",function(b){"A"!=mxEvent.getSource(b).nodeName&&a.hideDialog()});this.container= -b},FeedbackDialog=function(a){var b=document.createElement("div"),c=document.createElement("div");mxUtils.write(c,mxResources.get("sendYourFeedbackToDrawIo"));c.style.fontSize="18px";c.style.marginBottom="18px";b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");b.appendChild(c);var d=document.createElement("input");d.setAttribute("type","text");d.style.marginTop="6px";d.style.width="600px";var e=mxUtils.button(mxResources.get("sendMessage"), -function(){var b=(h.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(d.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+m.value+b), -function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});e.className="geBtn gePrimaryBtn";e.setAttribute("disabled","disabled");var g=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(d,"change", -function(){0<d.value.length&&0<g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});mxEvent.addListener(d,"keyup",function(){0<d.value.length&&g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});b.appendChild(d);this.init=function(){d.focus()};var h=document.createElement("input");h.setAttribute("type","checkbox");h.setAttribute("checked","checked");h.defaultChecked=!0;c=document.createElement("p");c.style.marginTop="14px";c.appendChild(h); -var l=document.createElement("span");mxUtils.write(l," "+mxResources.get("includeCopyOfMyDiagram"));c.appendChild(l);mxEvent.addListener(l,"click",function(a){h.checked=!h.checked;mxEvent.consume(a)});b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("feedback"));b.appendChild(c);var m=document.createElement("textarea");m.style.resize="none";m.style.width="600px";m.style.height="140px";m.style.marginTop="6px";m.setAttribute("placeholder",mxResources.get("commentsNotes")); -b.appendChild(m);c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right";l=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});l.className="geBtn";a.editor.cancelFirst?(c.appendChild(l),c.appendChild(e)):(c.appendChild(e),c.appendChild(l));b.appendChild(c);this.container=b};FeedbackDialog.maxAttachmentSize=1E6; +"change",function(){null==q.parentNode||q.selected||q.parentNode.removeChild(q)})}m.appendChild(t)}else l.setAttribute("value",b),m.appendChild(l),m.appendChild(f);h.appendChild(m);var v=mxUtils.button(c,function(){a.hideDialog();d(n.checked?"pageNotFound"!==t.value?t.value:b:l.value,LinkDialog.selectedDocs)});v.style.verticalAlign="middle";v.className="geBtn gePrimaryBtn";this.init=function(){n.checked?t.focus():(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? +l.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(t,"focus",function(){k.removeAttribute("checked");n.setAttribute("checked","checked");n.checked=!0});mxEvent.addListener(l,"focus",function(){n.removeAttribute("checked");k.setAttribute("checked","checked");k.checked=!0});if(Graph.fileSupport){var b=h.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(b,"dragover", +mxUtils.bind(this,function(d){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));d.stopPropagation();d.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(l.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),k.setAttribute("checked","checked"),k.checked=!0,v.click());a.stopPropagation();a.preventDefault()}),!1)}};var w=document.createElement("div"); +w.style.marginTop="20px";w.style.textAlign="right";c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.style.verticalAlign="middle";c.className="geBtn";a.editor.cancelFirst&&w.appendChild(c);m=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/solution/articles/16000080137")});m.style.verticalAlign="middle";m.className="geBtn";w.appendChild(m);a.isOffline()&&!mxClient.IS_CHROMEAPP&&(m.style.display="none");LinkDialog.selectedDocs=null;LinkDialog.filePicked= +function(a){if(a.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=a.docs;var b=a.docs[0].url;"application/mxe"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile"==a.docs[0].mimeType?(b=DriveClient.prototype.oldAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/mxr"==a.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==a.docs[0].mimeType?(b=DriveClient.prototype.newAppHostname,b="https://"+b+"/#G"+a.docs[0].id):"application/vnd.google-apps.folder"==a.docs[0].mimeType&& +(b="https://drive.google.com/#folders/"+a.docs[0].id);l.value=b;l.focus()}else LinkDialog.selectedDocs=null;l.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&g(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,c=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0), +d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),f=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(f).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS); +"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);a.linkPicker=b.setCallback(function(a){LinkDialog.filePicked(a)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&g(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(a){l.value=a[0].link;l.focus()}})});null!= +a.oneDrive&&g(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(a,b){l.value=b.value[0].webUrl;l.focus()})});null!=a.gitHub&&g(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(a){if(null!=a){a=a.split("/");var b=a[0],c=a[1],d=a[2];a=a.slice(3,a.length).join("/");l.value="https://github.com/"+b+"/"+c+"/blob/"+d+"/"+a;l.focus()}})});mxEvent.addListener(l,"keypress",function(b){13==b.keyCode&&(a.hideDialog(), +d(n.checked?t.value:l.value,LinkDialog.selectedDocs))});w.appendChild(v);a.editor.cancelFirst||w.appendChild(c);h.appendChild(w);this.container=h},AboutDialog=function(a){var b=document.createElement("div");b.style.marginTop="6px";b.setAttribute("align","center");var c=document.createElement("img");c.style.border="0px";mxClient.IS_SVG?(c.setAttribute("width","164"),c.setAttribute("height","221"),c.style.width="164px",c.style.height="221px",c.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")): +(c.setAttribute("width","176"),c.setAttribute("height","219"),c.style.width="170px",c.style.height="219px",c.setAttribute("src",IMAGE_PATH+"/logo-flat.png"));b.appendChild(c);mxUtils.br(b);c=document.createElement("small");c.innerHTML="v "+EditorUi.VERSION;c.style.color="#505050";b.appendChild(c);mxUtils.br(b);mxUtils.br(b);c=document.createElement("small");c.style.color="#505050";c.innerHTML='© 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.'; +b.appendChild(c);mxEvent.addListener(b,"click",function(b){"A"!=mxEvent.getSource(b).nodeName&&a.hideDialog()});this.container=b},FeedbackDialog=function(a){var b=document.createElement("div"),c=document.createElement("div");mxUtils.write(c,mxResources.get("sendYourFeedbackToDrawIo"));c.style.fontSize="18px";c.style.marginBottom="18px";b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");b.appendChild(c);var d=document.createElement("input"); +d.setAttribute("type","text");d.style.marginTop="6px";d.style.width="600px";var e=mxUtils.button(mxResources.get("sendMessage"),function(){var b=(h.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(d.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+ +"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+l.value+b),function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});e.className="geBtn gePrimaryBtn";e.setAttribute("disabled","disabled");var g=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; +mxEvent.addListener(d,"change",function(){0<d.value.length&&0<g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});mxEvent.addListener(d,"keyup",function(){0<d.value.length&&g.test(d.value)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});b.appendChild(d);this.init=function(){d.focus()};var h=document.createElement("input");h.setAttribute("type","checkbox");h.setAttribute("checked","checked");h.defaultChecked=!0;c=document.createElement("p");c.style.marginTop= +"14px";c.appendChild(h);var m=document.createElement("span");mxUtils.write(m," "+mxResources.get("includeCopyOfMyDiagram"));c.appendChild(m);mxEvent.addListener(m,"click",function(a){h.checked=!h.checked;mxEvent.consume(a)});b.appendChild(c);c=document.createElement("div");mxUtils.write(c,mxResources.get("feedback"));b.appendChild(c);var l=document.createElement("textarea");l.style.resize="none";l.style.width="600px";l.style.height="140px";l.style.marginTop="6px";l.setAttribute("placeholder",mxResources.get("commentsNotes")); +b.appendChild(l);c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right";m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";a.editor.cancelFirst?(c.appendChild(m),c.appendChild(e)):(c.appendChild(e),c.appendChild(m));b.appendChild(c);this.container=b};FeedbackDialog.maxAttachmentSize=1E6; var RevisionDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("h3");e.style.marginTop="0px";mxUtils.write(e,mxResources.get("revisionHistory"));d.appendChild(e);var g=document.createElement("div");g.style.position="absolute";g.style.overflow="auto";g.style.width="170px";g.style.height="378px";d.appendChild(g);var h=document.createElement("div");h.style.position="absolute";h.style.border="1px solid lightGray";h.style.left="199px";h.style.width="470px";h.style.height= -"376px";h.style.overflow="hidden";mxEvent.disableContextMenu(h);d.appendChild(h);var l=new Graph(h);l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;var m=0,f=null,k=0,n=l.getGlobalVariable;l.getGlobalVariable=function(a){return"page"==a&&null!=f&&null!=f[k]?f[k].getAttribute("name"):"pagenumber"==a?k+1:n.apply(this,arguments)};l.getLinkForCell=function(){return null};Editor.MathJaxRender&& -l.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(l.container)}));var t=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),q=null,v=null,w=null,C=null,p=mxUtils.button("",function(){null!=w&&l.zoomIn()});p.className="geSprite geSprite-zoomin";p.setAttribute("title",mxResources.get("zoomIn")); -p.style.outline="none";p.style.border="none";p.style.margin="2px";p.setAttribute("disabled","disabled");mxUtils.setOpacity(p,20);var A=mxUtils.button("",function(){null!=w&&l.zoomOut()});A.className="geSprite geSprite-zoomout";A.setAttribute("title",mxResources.get("zoomOut"));A.style.outline="none";A.style.border="none";A.style.margin="2px";A.setAttribute("disabled","disabled");mxUtils.setOpacity(A,20);var E=mxUtils.button("",function(){null!=w&&(l.maxFitScale=8,l.fit(8),l.center())});E.className= -"geSprite geSprite-fit";E.setAttribute("title",mxResources.get("fit"));E.style.outline="none";E.style.border="none";E.style.margin="2px";E.setAttribute("disabled","disabled");mxUtils.setOpacity(E,20);var B=mxUtils.button("",function(){null!=w&&(l.zoomActual(),l.center())});B.className="geSprite geSprite-actualsize";B.setAttribute("title",mxResources.get("actualSize"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled","disabled");mxUtils.setOpacity(B,20);var x= -document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var L=mxUtils.button(mxResources.get("download"),function(){if(null!=w){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(w.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"): -(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});L.className="geBtn";L.setAttribute("disabled","disabled");var y=mxUtils.button(mxResources.get("restore"),function(){null!=w&&null!=C&&a.confirm(mxResources.get("areYouSure"),function(){null!=c?c(C):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop(); +"376px";h.style.overflow="hidden";mxEvent.disableContextMenu(h);d.appendChild(h);var m=new Graph(h);m.setEnabled(!1);m.setPanning(!0);m.panningHandler.ignoreCell=!0;m.panningHandler.useLeftButtonForPanning=!0;m.minFitScale=null;m.maxFitScale=null;m.centerZoom=!0;var l=0,f=null,k=0,n=m.getGlobalVariable;m.getGlobalVariable=function(a){return"page"==a&&null!=f&&null!=f[k]?f[k].getAttribute("name"):"pagenumber"==a?k+1:n.apply(this,arguments)};m.getLinkForCell=function(){return null};Editor.MathJaxRender&& +m.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,c){a.editor.graph.mathEnabled&&Editor.MathJaxRender(m.container)}));var t=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),q=null,v=null,w=null,C=null,p=mxUtils.button("",function(){null!=w&&m.zoomIn()});p.className="geSprite geSprite-zoomin";p.setAttribute("title",mxResources.get("zoomIn")); +p.style.outline="none";p.style.border="none";p.style.margin="2px";p.setAttribute("disabled","disabled");mxUtils.setOpacity(p,20);var A=mxUtils.button("",function(){null!=w&&m.zoomOut()});A.className="geSprite geSprite-zoomout";A.setAttribute("title",mxResources.get("zoomOut"));A.style.outline="none";A.style.border="none";A.style.margin="2px";A.setAttribute("disabled","disabled");mxUtils.setOpacity(A,20);var F=mxUtils.button("",function(){null!=w&&(m.maxFitScale=8,m.fit(8),m.center())});F.className= +"geSprite geSprite-fit";F.setAttribute("title",mxResources.get("fit"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var B=mxUtils.button("",function(){null!=w&&(m.zoomActual(),m.center())});B.className="geSprite geSprite-actualsize";B.setAttribute("title",mxResources.get("actualSize"));B.style.outline="none";B.style.border="none";B.style.margin="2px";B.setAttribute("disabled","disabled");mxUtils.setOpacity(B,20);var x= +document.createElement("div");x.style.position="absolute";x.style.textAlign="right";x.style.color="gray";x.style.marginTop="10px";x.style.backgroundColor="transparent";x.style.top="440px";x.style.right="32px";x.style.maxWidth="380px";x.style.cursor="default";var E=mxUtils.button(mxResources.get("download"),function(){if(null!=w){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,c=mxUtils.getXml(w.documentElement);a.isLocalFileSave()?a.saveLocalFile(c,b,"text/xml"): +(c="undefined"===typeof pako?"&xml="+encodeURIComponent(c):"&data="+encodeURIComponent(a.editor.graph.compress(c)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+c)).simulate(document,"_blank"))}});E.className="geBtn";E.setAttribute("disabled","disabled");var y=mxUtils.button(mxResources.get("restore"),function(){null!=w&&null!=C&&a.confirm(mxResources.get("areYouSure"),function(){null!=c?c(C):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop(); a.replaceFileData(C);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});y.className="geBtn";y.setAttribute("disabled","disabled");var D=document.createElement("select");D.setAttribute("disabled","disabled");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";D.style.display="none";var I=null;mxEvent.addListener(D,"change",function(a){null!= -I&&(I(a),mxEvent.consume(a))});var z=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=w&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(w.documentElement)),window.openWindow(a.getUrl()))});z.className="geBtn";z.setAttribute("disabled","disabled");null!=c&&(z.style.display="none");var H=mxUtils.button(mxResources.get("show"),function(){null!=v&&a.openLink(v.getUrl())});H.className="geBtn gePrimaryBtn";H.setAttribute("disabled", -"disabled");null!=c&&(H.style.display="none",y.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var F=document.createElement("div");F.className="geToolbarContainer";F.style.backgroundColor="transparent";F.style.padding="2px";F.style.border="none";F.style.left="199px";F.style.top="442px";var K=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border= -"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(m=mxUtils.indexOf(a.pages,a.currentPage));for(var N=b.length-1;0<=N;N--){var S=function(c){var d=new Date(c.modifiedDate),e=null;if(0<=d.getTime()){var n=function(b){t.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){var g=function(b){null!=b&&(b= -q(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},q=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,l.getModel());l.maxFitScale=1;l.fit(8);l.center();return a};D.style.display="none";D.innerHTML="";w=c;C=b;f=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");f=[];for(b=0;b<c.length;b++)f.push(c[b]); -k=Math.min(m,f.length-1);0<f.length&&g(f[k]);if(1<f.length)for(D.removeAttribute("disabled"),D.style.display="",b=0;b<f.length;b++)c=document.createElement("option"),mxUtils.write(c,f[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==k&&c.setAttribute("selected","selected"),D.appendChild(c);I=function(){k=m=parseInt(D.value);g(f[m])}}else q(n);x.innerHTML="";mxUtils.write(x,d.toLocaleDateString()+" "+d.toLocaleTimeString());x.setAttribute("title",e.getAttribute("title")); -p.removeAttribute("disabled");A.removeAttribute("disabled");E.removeAttribute("disabled");B.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&y.removeAttribute("disabled"),L.removeAttribute("disabled"),H.removeAttribute("disabled"),z.removeAttribute("disabled"));mxUtils.setOpacity(p,60);mxUtils.setOpacity(A,60);mxUtils.setOpacity(E,60);mxUtils.setOpacity(B,60)}else D.style.display="none",D.innerHTML="",x.innerHTML="",mxUtils.write(x,mxResources.get("errorLoadingFile"))}, +I&&(I(a),mxEvent.consume(a))});var z=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=w&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(w.documentElement)),window.openWindow(a.getUrl()))});z.className="geBtn";z.setAttribute("disabled","disabled");null!=c&&(z.style.display="none");var J=mxUtils.button(mxResources.get("show"),function(){null!=v&&a.openLink(v.getUrl())});J.className="geBtn gePrimaryBtn";J.setAttribute("disabled", +"disabled");null!=c&&(J.style.display="none",y.className="geBtn gePrimaryBtn");e=document.createElement("div");e.style.position="absolute";e.style.top="482px";e.style.width="640px";e.style.textAlign="right";var G=document.createElement("div");G.className="geToolbarContainer";G.style.backgroundColor="transparent";G.style.padding="2px";G.style.border="none";G.style.left="199px";G.style.top="442px";var L=null;if(null!=b&&0<b.length){h.style.cursor="move";var M=document.createElement("table");M.style.border= +"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(l=mxUtils.indexOf(a.pages,a.currentPage));for(var N=b.length-1;0<=N;N--){var S=function(c){var d=new Date(c.modifiedDate),e=null;if(0<=d.getTime()){var n=function(b){t.stop();var c=mxUtils.parseXml(b),n=a.editor.extractGraphModel(c.documentElement,!0);if(null!=n){var g=function(b){null!=b&&(b= +v(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},v=function(a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";h.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,m.getModel());m.maxFitScale=1;m.fit(8);m.center();return a};D.style.display="none";D.innerHTML="";w=c;C=b;f=parseSelectFunction=null;k=0;if("mxfile"==n.nodeName){c=n.getElementsByTagName("diagram");f=[];for(b=0;b<c.length;b++)f.push(c[b]); +k=Math.min(l,f.length-1);0<f.length&&g(f[k]);if(1<f.length)for(D.removeAttribute("disabled"),D.style.display="",b=0;b<f.length;b++)c=document.createElement("option"),mxUtils.write(c,f[b].getAttribute("name")||mxResources.get("pageWithNumber",[b+1])),c.setAttribute("value",b),b==k&&c.setAttribute("selected","selected"),D.appendChild(c);I=function(){k=l=parseInt(D.value);g(f[l])}}else v(n);x.innerHTML="";mxUtils.write(x,d.toLocaleDateString()+" "+d.toLocaleTimeString());x.setAttribute("title",e.getAttribute("title")); +p.removeAttribute("disabled");A.removeAttribute("disabled");F.removeAttribute("disabled");B.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&y.removeAttribute("disabled"),E.removeAttribute("disabled"),J.removeAttribute("disabled"),z.removeAttribute("disabled"));mxUtils.setOpacity(p,60);mxUtils.setOpacity(A,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(B,60)}else D.style.display="none",D.innerHTML="",x.innerHTML="",mxUtils.write(x,mxResources.get("errorLoadingFile"))}, e=document.createElement("tr");e.style.borderBottom="1px solid lightGray";e.style.fontSize="12px";e.style.cursor="pointer";var g=document.createElement("td");g.style.padding="6px";g.style.whiteSpace="nowrap";c==b[b.length-1]?mxUtils.write(g,mxResources.get("current")):d.toDateString()===Z?mxUtils.write(g,d.toLocaleTimeString()):mxUtils.write(g,d.toLocaleDateString()+" "+d.toLocaleTimeString());e.appendChild(g);e.setAttribute("title",d.toLocaleDateString()+" "+d.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+ -(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(t.stop(),null!=q&&(q.style.backgroundColor=""),v=c,q=e,q.style.backgroundColor="#ebf2f9",C=w=null,x.removeAttribute("title"),x.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",l.getModel().clear(),y.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),p.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),B.setAttribute("disabled", -"disabled"),E.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(p,20),mxUtils.setOpacity(A,20),mxUtils.setOpacity(E,20),mxUtils.setOpacity(B,20),t.spin(h),c.getXml(function(a){v==c&&n(a)},function(a){t.stop();D.style.display="none";D.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(e,"dblclick",function(a){H.click(); -window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(e)}return e}(b[N]);null!=S&&N==b.length-1&&(K=S)}M.appendChild(X);g.appendChild(M)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(h.style.display="none",F.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(h.style.display="none",F.style.display="none",mxUtils.write(g, -mxResources.get("noRevisions")));this.init=function(){null!=K&&K.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";F.appendChild(D);F.appendChild(p);F.appendChild(A);F.appendChild(B);F.appendChild(E);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(L),e.appendChild(z),e.appendChild(y),e.appendChild(H)):(e.appendChild(L),e.appendChild(z),e.appendChild(y),e.appendChild(H),e.appendChild(g));d.appendChild(e);d.appendChild(F);d.appendChild(x);this.container= -d},DraftDialog=function(a,b,c,d,e,g,h,l){var m=document.createElement("div"),f=document.createElement("div");f.style.marginTop="0px";f.style.whiteSpace="nowrap";f.style.overflow="auto";mxUtils.write(f,b);m.appendChild(f);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.marginTop="10px";k.style.width="640px";k.style.top="46px";k.style.bottom="74px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);m.appendChild(k);var n=new Graph(k); +(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(e,"click",function(a){v!=c&&(t.stop(),null!=q&&(q.style.backgroundColor=""),v=c,q=e,q.style.backgroundColor="#ebf2f9",C=w=null,x.removeAttribute("title"),x.innerHTML=mxResources.get("loading")+"...",h.style.backgroundColor="#ffffff",m.getModel().clear(),y.setAttribute("disabled","disabled"),E.setAttribute("disabled","disabled"),p.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),B.setAttribute("disabled", +"disabled"),F.setAttribute("disabled","disabled"),z.setAttribute("disabled","disabled"),J.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(p,20),mxUtils.setOpacity(A,20),mxUtils.setOpacity(F,20),mxUtils.setOpacity(B,20),t.spin(h),c.getXml(function(a){v==c&&n(a)},function(a){t.stop();D.style.display="none";D.innerHTML="";x.innerHTML="";mxUtils.write(x,mxResources.get("errorLoadingFile"))}),mxEvent.consume(a))});mxEvent.addListener(e,"dblclick",function(a){J.click(); +window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(a)},!1);X.appendChild(e)}return e}(b[N]);null!=S&&N==b.length-1&&(L=S)}M.appendChild(X);g.appendChild(M)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(h.style.display="none",G.style.display="none",mxUtils.write(g,mxResources.get("notAvailable"))):(h.style.display="none",G.style.display="none",mxUtils.write(g, +mxResources.get("noRevisions")));this.init=function(){null!=L&&L.click()};g=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});g.className="geBtn";G.appendChild(D);G.appendChild(p);G.appendChild(A);G.appendChild(B);G.appendChild(F);a.editor.cancelFirst?(e.appendChild(g),e.appendChild(E),e.appendChild(z),e.appendChild(y),e.appendChild(J)):(e.appendChild(E),e.appendChild(z),e.appendChild(y),e.appendChild(J),e.appendChild(g));d.appendChild(e);d.appendChild(G);d.appendChild(x);this.container= +d},DraftDialog=function(a,b,c,d,e,g,h,m){var l=document.createElement("div"),f=document.createElement("div");f.style.marginTop="0px";f.style.whiteSpace="nowrap";f.style.overflow="auto";mxUtils.write(f,b);l.appendChild(f);var k=document.createElement("div");k.style.position="absolute";k.style.border="1px solid lightGray";k.style.marginTop="10px";k.style.width="640px";k.style.top="46px";k.style.bottom="74px";k.style.overflow="hidden";mxEvent.disableContextMenu(k);l.appendChild(k);var n=new Graph(k); n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;b=mxUtils.parseXml(c);var t=a.editor.extractGraphModel(b.documentElement,!0),u=0,q=null,v=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=q&&null!=q[u]?q[u].getAttribute("name"):"pagenumber"==a?u+1:v.apply(this,arguments)};n.getLinkForCell=function(){return null};b=mxUtils.button("",function(){n.zoomIn()});b.className= "geSprite geSprite-zoomin";b.setAttribute("title",mxResources.get("zoomIn"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);c=mxUtils.button("",function(){n.zoomOut()});c.className="geSprite geSprite-zoomout";c.setAttribute("title",mxResources.get("zoomOut"));c.style.outline="none";c.style.border="none";c.style.margin="2px";mxUtils.setOpacity(c,60);f=mxUtils.button("",function(){n.maxFitScale=8;n.fit(8);n.center()});f.className="geSprite geSprite-fit";f.setAttribute("title", mxResources.get("fit"));f.style.outline="none";f.style.border="none";f.style.margin="2px";mxUtils.setOpacity(f,60);var w=mxUtils.button("",function(){n.zoomActual();n.center()});w.className="geSprite geSprite-actualsize";w.setAttribute("title",mxResources.get("actualSize"));w.style.outline="none";w.style.border="none";w.style.margin="2px";mxUtils.setOpacity(w,60);e=mxUtils.button(h||mxResources.get("discard"),e);e.className="geBtn";var C=document.createElement("select");C.style.maxWidth="80px";C.style.position= "relative";C.style.top="-2px";C.style.verticalAlign="bottom";C.style.marginRight="6px";C.style.display="none";d=mxUtils.button(g||mxResources.get("edit"),d);d.className="geBtn gePrimaryBtn";g=document.createElement("div");g.style.position="absolute";g.style.bottom="30px";g.style.width="640px";g.style.textAlign="right";h=document.createElement("div");h.className="geToolbarContainer";h.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;"; this.init=function(){function b(a){if(null!=a){var b=a.getAttribute("background");if(null==b||""==b||b==mxConstants.NONE)b="#ffffff";k.style.backgroundColor=b;(new mxCodec(a.ownerDocument)).decode(a,n.getModel());n.maxFitScale=1;n.fit(8);n.center()}}function c(c){null!=c&&(c=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(c))).documentElement));return c}mxEvent.addListener(C,"change",function(a){u=parseInt(C.value);c(q[u]);mxEvent.consume(a)});if("mxfile"==t.nodeName){var d=t.getElementsByTagName("diagram"); q=[];for(var f=0;f<d.length;f++)q.push(d[f]);0<q.length&&c(q[u]);if(1<q.length)for(C.style.display="",f=0;f<q.length;f++)d=document.createElement("option"),mxUtils.write(d,q[f].getAttribute("name")||mxResources.get("pageWithNumber",[f+1])),d.setAttribute("value",f),f==u&&d.setAttribute("selected","selected"),C.appendChild(d)}else b(t)};h.appendChild(C);h.appendChild(b);h.appendChild(c);h.appendChild(w);h.appendChild(f);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.className= -"geBtn";l=null!=l?mxUtils.button(mxResources.get("ignore"),l):null;null!=l&&(l.className="geBtn");a.editor.cancelFirst?(g.appendChild(b),null!=l&&g.appendChild(l),g.appendChild(e),g.appendChild(d)):(g.appendChild(d),g.appendChild(e),null!=l&&g.appendChild(l),g.appendChild(b));m.appendChild(g);m.appendChild(h);this.container=m},FindWindow=function(a,b,c,d,e){function g(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var d=0;d<b.length;d++)if("label"!=b[d].nodeName){var f= -mxUtils.trim(b[d].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&f.substring(0,c.length)===c||null!=a&&a.test(f))return!0}}return!1}function h(){var a=m.model.getDescendants(m.model.getRoot()),b=t.value.toLowerCase(),c=u.checked?new RegExp(b):null,d=null;f!=b&&(f=b,k=null);var e=null==k;if(0<b.length)for(var n=0;n<a.length;n++){var h=m.view.getState(a[n]);if(null!=h&&null!=h.cell.value&&(e||null==d)&&(m.model.isVertex(h.cell)||m.model.isEdge(h.cell))&&(m.isHtmlLabel(h.cell)? -(q.innerHTML=m.getLabel(h.cell),label=mxUtils.extractTextWithWhitespace([q])):label=m.getLabel(h.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)===b||g(c,h.cell,b))||null!=c&&(c.test(label)||g(c,h.cell,b))))if(e){d=h;break}else null==d&&(d=h);e=e||h==k}null!=d?(k=d,m.scrollCellToVisible(k.cell),m.isEnabled()?m.setSelectionCell(k.cell):m.highlightCell(k.cell)):m.isEnabled()&&m.clearSelection();return 0==b.length||null!=d} -var l=a.actions.get("find"),m=a.editor.graph,f=null,k=null,n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var t=document.createElement("input");t.setAttribute("placeholder",mxResources.get("find"));t.setAttribute("type","text");t.style.marginTop="4px";t.style.marginBottom="6px";t.style.width="200px";t.style.fontSize="12px";t.style.borderRadius="4px";t.style.padding="6px";n.appendChild(t);mxUtils.br(n);var u=document.createElement("input"); +"geBtn";m=null!=m?mxUtils.button(mxResources.get("ignore"),m):null;null!=m&&(m.className="geBtn");a.editor.cancelFirst?(g.appendChild(b),null!=m&&g.appendChild(m),g.appendChild(e),g.appendChild(d)):(g.appendChild(d),g.appendChild(e),null!=m&&g.appendChild(m),g.appendChild(b));l.appendChild(g);l.appendChild(h);this.container=l},FindWindow=function(a,b,c,d,e){function g(a,b,c){if("object"===typeof b.value&&null!=b.value.attributes){b=b.value.attributes;for(var d=0;d<b.length;d++)if("label"!=b[d].nodeName){var f= +mxUtils.trim(b[d].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==a&&f.substring(0,c.length)===c||null!=a&&a.test(f))return!0}}return!1}function h(){var a=l.model.getDescendants(l.model.getRoot()),b=t.value.toLowerCase(),c=u.checked?new RegExp(b):null,d=null;f!=b&&(f=b,k=null);var e=null==k;if(0<b.length)for(var n=0;n<a.length;n++){var h=l.view.getState(a[n]);if(null!=h&&null!=h.cell.value&&(e||null==d)&&(l.model.isVertex(h.cell)||l.model.isEdge(h.cell))&&(l.isHtmlLabel(h.cell)? +(q.innerHTML=l.getLabel(h.cell),label=mxUtils.extractTextWithWhitespace([q])):label=l.getLabel(h.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==c&&(label.substring(0,b.length)===b||g(c,h.cell,b))||null!=c&&(c.test(label)||g(c,h.cell,b))))if(e){d=h;break}else null==d&&(d=h);e=e||h==k}null!=d?(k=d,l.scrollCellToVisible(k.cell),l.isEnabled()?l.setSelectionCell(k.cell):l.highlightCell(k.cell)):l.isEnabled()&&l.clearSelection();return 0==b.length||null!=d} +var m=a.actions.get("find"),l=a.editor.graph,f=null,k=null,n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var t=document.createElement("input");t.setAttribute("placeholder",mxResources.get("find"));t.setAttribute("type","text");t.style.marginTop="4px";t.style.marginBottom="6px";t.style.width="200px";t.style.fontSize="12px";t.style.borderRadius="4px";t.style.padding="6px";n.appendChild(t);mxUtils.br(n);var u=document.createElement("input"); u.setAttribute("type","checkbox");u.style.marginRight="4px";n.appendChild(u);mxUtils.write(n,mxResources.get("regularExpression"));var q=document.createElement("div");mxUtils.br(n);var v=mxUtils.button(mxResources.get("reset"),function(){t.value="";t.style.backgroundColor="";f=k=null;t.focus()});v.setAttribute("title",mxResources.get("reset"));v.style.marginTop="6px";v.style.marginRight="4px";v.className="geBtn";n.appendChild(v);v=mxUtils.button(mxResources.get("find"),function(){try{t.style.backgroundColor= -h()?"":"#ffcfcf"}catch(w){a.handleError(w)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(t,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)l.funct();else if(f!=t.value.toLowerCase()||13==a.keyCode)try{t.style.backgroundColor=h()?"":"#ffcfcf"}catch(C){t.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&& -a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(l.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),n,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)):m.container.focus()}))}, -TagsWindow=function(a,b,c,d,e){function g(a){a=null!=a?a:l.model.getDescendants(l.model.getRoot());for(var b=k.value.split(" "),c=[],d=0;d<a.length;d++)if(l.model.isVertex(a[d])||l.model.isEdge(a[d])){var f=null!=a[d].value&&"object"==typeof a[d].value?mxUtils.trim(a[d].value.getAttribute(m)||""):"",p=!0;if(0<f.length)for(var f=f.toLowerCase().split(" "),e=0;e<b.length&&p;e++)var n=mxUtils.trim(b[e]).toLowerCase(),p=p&&(0==n.length||0<=mxUtils.indexOf(f,n));else p=0==mxUtils.trim(k.value).length; -p&&c.push(a[d])}return c}function h(a,b){l.model.beginUpdate();try{for(var c=0;c<a.length;c++)l.model.setVisible(a[c],b)}finally{l.model.endUpdate()}}var l=a.editor.graph,m="tags",f=document.createElement("div");f.style.userSelect="none";f.style.overflow="hidden";f.style.padding="10px";f.style.height="100%";var k=document.createElement("input");k.setAttribute("placeholder",mxResources.get("allTags"));k.setAttribute("type","text");k.style.marginTop="4px";k.style.width="260px";k.style.fontSize="12px"; -k.style.borderRadius="4px";k.style.padding="6px";f.appendChild(k);if(!a.isOffline()||mxClient.IS_CHROMEAPP){k.style.width="240px";var n=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");n.firstChild.style.marginBottom="6px";n.style.marginLeft="6px";f.appendChild(n)}mxEvent.addListener(k,"dblclick",function(){var b=new FilenameDialog(a,m,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(m=a)}),mxResources.get("enterPropertyName"));a.showDialog(b.container, -300,80,!0,!0);b.init()});k.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(f);n=mxUtils.button(mxResources.get("hide"),function(){h(g(),!1)});n.setAttribute("title",mxResources.get("hide"));n.style.marginTop="8px";n.style.marginRight="4px";n.className="geBtn";f.appendChild(n);n=mxUtils.button(mxResources.get("show"),function(){var a=g();h(a,!0);l.isEnabled()&&l.setSelectionCells(a)});n.setAttribute("title",mxResources.get("show"));n.style.marginTop="8px";n.style.marginRight= -"4px";n.className="geBtn";f.appendChild(n);var t=a.actions.get("tags"),n=mxUtils.button(mxResources.get("close"),function(){t.funct()});n.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");n.style.marginTop="8px";n.className="geBtn gePrimaryBtn";f.appendChild(n);mxEvent.addListener(k,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||t.funct()});this.window=new mxWindow(mxResources.get("tags"),f,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1); -this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(k.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)):l.container.focus()}))},AuthDialog=function(a,b,c,d){var e=document.createElement("div");e.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color="gray";mxUtils.write(g, -mxResources.get("authorizationRequired"));var h="Unknown",l=document.createElement("img");l.setAttribute("border","0");l.setAttribute("align","absmiddle");l.style.marginRight="10px";b==a.drive?(h=mxResources.get("googleDrive"),l.src=IMAGE_PATH+"/google-drive-logo-white.svg"):b==a.dropbox?(h=mxResources.get("dropbox"),l.src=IMAGE_PATH+"/dropbox-logo-white.svg"):b==a.oneDrive?(h=mxResources.get("oneDrive"),l.src=IMAGE_PATH+"/onedrive-logo-white.svg"):b==a.gitHub?(h=mxResources.get("github"),l.src=IMAGE_PATH+ -"/github-logo-white.svg"):b==a.trello&&(h=mxResources.get("trello"),l.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[h]));var m=document.createElement("input");m.setAttribute("type","checkbox");h=mxUtils.button(mxResources.get("authorize"),function(){d(m.checked)});h.insertBefore(l,h.firstChild);h.style.marginTop="6px";h.className="geBigButton";e.appendChild(g);e.appendChild(a);e.appendChild(h);c&&(c=document.createElement("p"), -c.style.marginTop="20px",c.appendChild(m),g=document.createElement("span"),mxUtils.write(g," "+mxResources.get("rememberMe")),c.appendChild(g),e.appendChild(c),m.checked=!0,m.defaultChecked=!0,mxEvent.addListener(g,"click",function(a){m.checked=!m.checked;mxEvent.consume(a)}));this.container=e},MoreShapesDialog=function(a,b,c){c=null!=c?c:a.sidebar.entries;var d=document.createElement("div");if(b){b=document.createElement("div");b.className="geDialogTitle";mxUtils.write(b,mxResources.get("shapes")); +h()?"":"#ffcfcf"}catch(w){a.handleError(w)}});v.setAttribute("title",mxResources.get("find")+" (Enter)");v.style.marginTop="6px";v.className="geBtn gePrimaryBtn";n.appendChild(v);mxEvent.addListener(t,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)m.funct();else if(f!=t.value.toLowerCase()||13==a.keyCode)try{t.style.backgroundColor=h()?"":"#ffcfcf"}catch(C){t.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(n,"keydown",function(b){70==b.keyCode&& +a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(m.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),n,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)):l.container.focus()}))}, +TagsWindow=function(a,b,c,d,e){var g=a.editor.graph,h="tags",m=document.createElement("div");m.style.userSelect="none";m.style.overflow="hidden";m.style.padding="10px";m.style.height="100%";var l=document.createElement("input");l.setAttribute("placeholder",mxResources.get("allTags"));l.setAttribute("type","text");l.style.marginTop="4px";l.style.width="260px";l.style.fontSize="12px";l.style.borderRadius="4px";l.style.padding="6px";m.appendChild(l);if(!a.isOffline()||mxClient.IS_CHROMEAPP){l.style.width= +"240px";var f=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");f.firstChild.style.marginBottom="6px";f.style.marginLeft="6px";m.appendChild(f)}mxEvent.addListener(l,"dblclick",function(){var b=new FilenameDialog(a,h,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&(h=a)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,300,80,!0,!0);b.init()});l.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(m); +f=mxUtils.button(mxResources.get("hide"),function(){var a=g.getCellsForTags(l.value.split(" "),void 0,h);g.setCellsVisible(a,!1)});f.setAttribute("title",mxResources.get("hide"));f.style.marginTop="8px";f.style.marginRight="4px";f.className="geBtn";m.appendChild(f);f=mxUtils.button(mxResources.get("show"),function(){var a=g.getCellsForTags(l.value.split(" "),void 0,h);g.setCellsVisible(a,!0);g.isEnabled()&&g.setSelectionCells(a)});f.setAttribute("title",mxResources.get("show"));f.style.marginTop= +"8px";f.style.marginRight="4px";f.className="geBtn";m.appendChild(f);var k=a.actions.get("tags"),f=mxUtils.button(mxResources.get("close"),function(){k.funct()});f.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");f.style.marginTop="8px";f.className="geBtn gePrimaryBtn";m.appendChild(f);mxEvent.addListener(l,"keyup",function(a){13!=a.keyCode&&27!=a.keyCode||k.funct()});this.window=new mxWindow(mxResources.get("tags"),m,b,c,d,e,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1); +this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select():document.execCommand("selectAll",!1,null)):g.container.focus()}))},AuthDialog=function(a,b,c,d){var e=document.createElement("div");e.style.textAlign="center";var g=document.createElement("p");g.style.fontSize="16pt";g.style.padding="0px";g.style.margin="0px";g.style.color= +"gray";mxUtils.write(g,mxResources.get("authorizationRequired"));var h="Unknown",m=document.createElement("img");m.setAttribute("border","0");m.setAttribute("align","absmiddle");m.style.marginRight="10px";b==a.drive?(h=mxResources.get("googleDrive"),m.src=IMAGE_PATH+"/google-drive-logo-white.svg"):b==a.dropbox?(h=mxResources.get("dropbox"),m.src=IMAGE_PATH+"/dropbox-logo-white.svg"):b==a.oneDrive?(h=mxResources.get("oneDrive"),m.src=IMAGE_PATH+"/onedrive-logo-white.svg"):b==a.gitHub?(h=mxResources.get("github"), +m.src=IMAGE_PATH+"/github-logo-white.svg"):b==a.trello&&(h=mxResources.get("trello"),m.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[h]));var l=document.createElement("input");l.setAttribute("type","checkbox");h=mxUtils.button(mxResources.get("authorize"),function(){d(l.checked)});h.insertBefore(m,h.firstChild);h.style.marginTop="6px";h.className="geBigButton";e.appendChild(g);e.appendChild(a);e.appendChild(h);c&&(c=document.createElement("p"), +c.style.marginTop="20px",c.appendChild(l),g=document.createElement("span"),mxUtils.write(g," "+mxResources.get("rememberMe")),c.appendChild(g),e.appendChild(c),l.checked=!0,l.defaultChecked=!0,mxEvent.addListener(g,"click",function(a){l.checked=!l.checked;mxEvent.consume(a)}));this.container=e},MoreShapesDialog=function(a,b,c){c=null!=c?c:a.sidebar.entries;var d=document.createElement("div");if(b){b=document.createElement("div");b.className="geDialogTitle";mxUtils.write(b,mxResources.get("shapes")); b.style.position="absolute";b.style.top="0px";b.style.left="0px";b.style.lineHeight="40px";b.style.height="40px";b.style.right="0px";mxClient.IS_QUIRKS&&(b.style.width="718px");var e=document.createElement("div"),g=document.createElement("div");e.style.position="absolute";e.style.top="40px";e.style.left="0px";e.style.width="202px";e.style.bottom="60px";e.style.overflow="auto";mxClient.IS_QUIRKS&&(e.style.height="437px",e.style.marginTop="1px");g.style.position="absolute";g.style.left="202px";g.style.right= -"0px";g.style.top="40px";g.style.bottom="60px";g.style.overflow="auto";g.style.borderLeft="1px solid rgb(211, 211, 211)";g.style.textAlign="center";mxClient.IS_QUIRKS&&(g.style.width=parseInt(b.style.width)-202+"px",g.style.height=e.style.height,g.style.marginTop=e.style.marginTop);var h=null,l=[],m=document.createElement("div");m.style.position="relative";m.style.left="0px";m.style.right="0px";for(var f=0;f<c.length;f++)(function(b){var c=m.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor= -"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,b.title);e.appendChild(c);for(var d=0;d<b.entries.length;d++)(function(b){var c=m.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.checked=a.sidebar.isEntryVisible(b.id);k.defaultChecked=k.checked;c.appendChild(k);mxUtils.write(c," "+b.title);e.appendChild(c);var p=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!= -b.imageCallback?b.imageCallback(g):null!=b.image?g.innerHTML='<img border="0" src="'+b.image+'"/>':(g.innerHTML="<br>",mxUtils.write(g,mxResources.get("noPreview"))),null!=h&&(h.style.backgroundColor=""),h=c,h.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",p);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});l.push(function(){return k.checked?b.id:null});0==f&&0==d&&p()})(b.entries[d])})(c[f]); +"0px";g.style.top="40px";g.style.bottom="60px";g.style.overflow="auto";g.style.borderLeft="1px solid rgb(211, 211, 211)";g.style.textAlign="center";mxClient.IS_QUIRKS&&(g.style.width=parseInt(b.style.width)-202+"px",g.style.height=e.style.height,g.style.marginTop=e.style.marginTop);var h=null,m=[],l=document.createElement("div");l.style.position="relative";l.style.left="0px";l.style.right="0px";for(var f=0;f<c.length;f++)(function(b){var c=l.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor= +"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,b.title);e.appendChild(c);for(var d=0;d<b.entries.length;d++)(function(b){var c=l.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.checked=a.sidebar.isEntryVisible(b.id);k.defaultChecked=k.checked;c.appendChild(k);mxUtils.write(c," "+b.title);e.appendChild(c);var p=function(a){if(null==a||"INPUT"!=mxEvent.getSource(a).nodeName)null!= +b.imageCallback?b.imageCallback(g):null!=b.image?g.innerHTML='<img border="0" src="'+b.image+'"/>':(g.innerHTML="<br>",mxUtils.write(g,mxResources.get("noPreview"))),null!=h&&(h.style.backgroundColor=""),h=c,h.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=a&&mxEvent.consume(a)};mxEvent.addListener(c,"click",p);mxEvent.addListener(c,"dblclick",function(a){k.checked=!k.checked;mxEvent.consume(a)});m.push(function(){return k.checked?b.id:null});0==f&&0==d&&p()})(b.entries[d])})(c[f]); d.style.padding="30px";d.appendChild(b);d.appendChild(e);d.appendChild(g);c=document.createElement("div");c.className="geDialogFooter";c.style.position="absolute";c.style.paddingRight="16px";c.style.color="gray";c.style.left="0px";c.style.right="0px";c.style.bottom="0px";c.style.height="60px";c.style.lineHeight="52px";mxClient.IS_QUIRKS&&(c.style.width=b.style.width,c.style.paddingTop="12px");var k=document.createElement("input");k.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)b= document.createElement("span"),b.style.paddingRight="20px",b.appendChild(k),mxUtils.write(b," "+mxResources.get("rememberThisSetting")),k.checked=!0,k.defaultChecked=!0,mxEvent.addListener(b,"click",function(a){mxEvent.getSource(a)!=k&&(k.checked=!k.checked,mxEvent.consume(a))}),mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.top="-6px"),c.appendChild(b);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";var n=mxUtils.button(mxResources.get("apply"), -function(){a.hideDialog();for(var b=[],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),k.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var t=document.createElement("table"),u=document.createElement("tbody");d.style.height="100%";d.style.overflow="auto";var q=document.createElement("tr");t.style.width="100%";b=document.createElement("td");var n=document.createElement("td"),v=document.createElement("td"),w=mxUtils.bind(this,function(b, -c,d){var f=document.createElement("input");f.type="checkbox";t.appendChild(f);f.checked=a.sidebar.isEntryVisible(d);var k=document.createElement("span");mxUtils.write(k,c);c=document.createElement("div");c.style.display="block";c.appendChild(f);c.appendChild(k);mxEvent.addListener(k,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return f.checked?d:null}});q.appendChild(b);q.appendChild(n);q.appendChild(v);u.appendChild(q);t.appendChild(u);for(var l= -[],C=0,f=0;f<c.length;f++)for(u=0;u<c[f].entries.length;u++)C++;for(var p=[b,n,v],A=0,f=0;f<c.length;f++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];l.push(w(p[Math.floor(A/(C/3))],c.title,c.id));A++}})(c[f]);d.appendChild(t);c=document.createElement("div");c.style.marginTop="18px";c.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,c.appendChild(k),b=document.createElement("span"), -mxUtils.write(b," "+mxResources.get("rememberThisSetting")),c.appendChild(b),mxEvent.addListener(b,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)}));d.appendChild(c);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<l.length;c++){var d=l[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(0<b.length?b.join(";"):"",k.checked);a.hideDialog()});n.className= +function(){a.hideDialog();for(var b=[],c=0;c<m.length;c++){var d=m[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(b.join(";"),k.checked,!0)});n.className="geBtn gePrimaryBtn"}else{var t=document.createElement("table"),u=document.createElement("tbody");d.style.height="100%";d.style.overflow="auto";var q=document.createElement("tr");t.style.width="100%";b=document.createElement("td");var n=document.createElement("td"),v=document.createElement("td"),w=mxUtils.bind(this,function(b, +c,d){var f=document.createElement("input");f.type="checkbox";t.appendChild(f);f.checked=a.sidebar.isEntryVisible(d);var k=document.createElement("span");mxUtils.write(k,c);c=document.createElement("div");c.style.display="block";c.appendChild(f);c.appendChild(k);mxEvent.addListener(k,"click",function(a){f.checked=!f.checked;mxEvent.consume(a)});b.appendChild(c);return function(){return f.checked?d:null}});q.appendChild(b);q.appendChild(n);q.appendChild(v);u.appendChild(q);t.appendChild(u);for(var m= +[],C=0,f=0;f<c.length;f++)for(u=0;u<c[f].entries.length;u++)C++;for(var p=[b,n,v],A=0,f=0;f<c.length;f++)(function(a){for(var b=0;b<a.entries.length;b++){var c=a.entries[b];m.push(w(p[Math.floor(A/(C/3))],c.title,c.id));A++}})(c[f]);d.appendChild(t);c=document.createElement("div");c.style.marginTop="18px";c.style.textAlign="center";k=document.createElement("input");isLocalStorage&&(k.setAttribute("type","checkbox"),k.checked=!0,k.defaultChecked=!0,c.appendChild(k),b=document.createElement("span"), +mxUtils.write(b," "+mxResources.get("rememberThisSetting")),c.appendChild(b),mxEvent.addListener(b,"click",function(a){k.checked=!k.checked;mxEvent.consume(a)}));d.appendChild(c);b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";n=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<m.length;c++){var d=m[c].apply(this,arguments);null!=d&&b.push(d)}a.sidebar.showEntries(0<b.length?b.join(";"):"",k.checked);a.hideDialog()});n.className= "geBtn gePrimaryBtn";c=document.createElement("div");c.style.marginTop="26px";c.style.textAlign="right"}a.editor.cancelFirst?(c.appendChild(b),c.appendChild(n)):(c.appendChild(n),c.appendChild(b));d.appendChild(c);this.container=d},PluginsDialog=function(a){function b(){if(0==e.length)d.innerHTML=mxResources.get("noPlugins");else{d.innerHTML="";for(var c=0;c<e.length;c++){var f=document.createElement("span");f.style.whiteSpace="nowrap";var g=document.createElement("span");g.className="geSprite geSprite-delete"; g.style.position="relative";g.style.cursor="pointer";g.style.top="5px";g.style.marginRight="4px";g.style.display="inline-block";f.appendChild(g);mxUtils.write(f,e[c]);d.appendChild(f);mxUtils.br(d);mxEvent.addListener(g,"click",function(c){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+e[c]+'"?',function(){e.splice(c,1);b()})}}(c))}}}var c=document.createElement("div"),d=document.createElement("div");d.style.height="120px";d.style.overflow="auto";var e=mxSettings.getPlugins().slice(); c.appendChild(d);b();var g=mxUtils.button(mxResources.get("add"),function(){var c="",d=urlParams.p;if(null!=d&&0<d.length){for(var f=d.split(";"),d=0;d<f.length;d++){var g=App.pluginRegistry[f[d]];null!=g&&(c+=g+";")}";"==c.charAt(c.length-1)&&(c=c.substring(0,c.length-1))}c=new FilenameDialog(a,c,mxResources.get("add"),function(a){if(null!=a&&0<a.length){f=a.split(";");for(a=0;a<f.length;a++){var c=f[a],d=App.pluginRegistry[c];null!=d&&(c=d);0<c.length&&0>mxUtils.indexOf(e,c)&&e.push(c)}b()}},mxResources.get("enterValue")+ -" ("+mxResources.get("url")+")");a.showDialog(c.container,300,80,!0,!0);c.init()});g.className="geBtn";var h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";var l=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(e);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});l.className="geBtn gePrimaryBtn";var m=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")}); -m.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(m.style.display="none");var f=document.createElement("div");f.style.marginTop="14px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(h),f.appendChild(m),f.appendChild(g),f.appendChild(l)):(f.appendChild(m),f.appendChild(g),f.appendChild(l),f.appendChild(h));c.appendChild(f);this.container=c},CropImageDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("table"),g=document.createElement("tbody"), -h=document.createElement("tr"),l=document.createElement("td");l.style.whiteSpace="nowrap";l.setAttribute("colspan","2");mxUtils.write(l,mxResources.get("loading")+"...");h.appendChild(l);g.appendChild(h);var h=document.createElement("tr"),m=document.createElement("td"),f=document.createElement("td");e.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value="0";this.init=function(){k.focus(); -k.select()};f.appendChild(k);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("top")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value="0";f.appendChild(n);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("right")+ -":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value="0";f.appendChild(t);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";f.appendChild(u);h.appendChild(m);h.appendChild(f);g.appendChild(h);h=document.createElement("tr"); -m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("circle")+":");h.appendChild(m);var q=document.createElement("input");q.setAttribute("type","checkbox");f.appendChild(q);h.appendChild(f);g.appendChild(h);e.appendChild(g);d.appendChild(e);var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=new Image,w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),d=b.getContext("2d"),f=v.width, -e=v.height,g=parseInt(k.value),h=parseInt(n.value),f=Math.max(1,f-g-parseInt(t.value)),e=Math.max(1,e-h-parseInt(u.value));b.width=f;b.height=e;q.checked&&(d.fillStyle="#000000",d.arc(f/2,e/2,Math.min(f/2,e/2),0,2*Math.PI),d.fill(),d.globalCompositeOperation="source-in");d.drawImage(v,g,h,f,e,0,0,f,e);c(b.toDataURL())});w.setAttribute("disabled","disabled");v.onload=function(){w.removeAttribute("disabled");l.innerHTML="";mxUtils.write(l,mxResources.get("width")+": "+v.width+" "+mxResources.get("height")+ +" ("+mxResources.get("url")+")");a.showDialog(c.container,300,80,!0,!0);c.init()});g.className="geBtn";var h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";var m=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(e);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});m.className="geBtn gePrimaryBtn";var l=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")}); +l.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(l.style.display="none");var f=document.createElement("div");f.style.marginTop="14px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(h),f.appendChild(l),f.appendChild(g),f.appendChild(m)):(f.appendChild(l),f.appendChild(g),f.appendChild(m),f.appendChild(h));c.appendChild(f);this.container=c},CropImageDialog=function(a,b,c){var d=document.createElement("div"),e=document.createElement("table"),g=document.createElement("tbody"), +h=document.createElement("tr"),m=document.createElement("td");m.style.whiteSpace="nowrap";m.setAttribute("colspan","2");mxUtils.write(m,mxResources.get("loading")+"...");h.appendChild(m);g.appendChild(h);var h=document.createElement("tr"),l=document.createElement("td"),f=document.createElement("td");e.style.paddingLeft="6px";mxUtils.write(l,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value="0";this.init=function(){k.focus(); +k.select()};f.appendChild(k);h.appendChild(l);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("top")+":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value="0";f.appendChild(n);h.appendChild(l);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("right")+ +":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value="0";f.appendChild(t);h.appendChild(l);h.appendChild(f);g.appendChild(h);h=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";f.appendChild(u);h.appendChild(l);h.appendChild(f);g.appendChild(h);h=document.createElement("tr"); +l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("circle")+":");h.appendChild(l);var q=document.createElement("input");q.setAttribute("type","checkbox");f.appendChild(q);h.appendChild(f);g.appendChild(h);e.appendChild(g);d.appendChild(e);var e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=new Image,w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),d=b.getContext("2d"),f=v.width, +e=v.height,g=parseInt(k.value),h=parseInt(n.value),f=Math.max(1,f-g-parseInt(t.value)),e=Math.max(1,e-h-parseInt(u.value));b.width=f;b.height=e;q.checked&&(d.fillStyle="#000000",d.arc(f/2,e/2,Math.min(f/2,e/2),0,2*Math.PI),d.fill(),d.globalCompositeOperation="source-in");d.drawImage(v,g,h,f,e,0,0,f,e);c(b.toDataURL())});w.setAttribute("disabled","disabled");v.onload=function(){w.removeAttribute("disabled");m.innerHTML="";mxUtils.write(m,mxResources.get("width")+": "+v.width+" "+mxResources.get("height")+ ": "+v.height)};v.src=b;mxEvent.addListener(d,"keypress",function(a){13==a.keyCode&&w.click()});b=document.createElement("div");b.style.marginTop="20px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(e),b.appendChild(w)):(b.appendChild(w),b.appendChild(e));d.appendChild(b);this.container=d},EditGeometryDialog=function(a,b){var c=a.editor.graph,d=1==b.length?c.getCellGeometry(b[0]):null,e=document.createElement("div"),g=document.createElement("table"),h=document.createElement("tbody"), -l=document.createElement("tr"),m=document.createElement("td"),f=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(m,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value=null!=d?d.x:"";this.init=function(){k.focus();k.select()};f.appendChild(k);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("top")+ -":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.y:"";f.appendChild(n);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("width")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=d?d.width:"";f.appendChild(t);l.appendChild(m);l.appendChild(f);h.appendChild(l); -l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("height")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=d?d.height:"";f.appendChild(u);l.appendChild(m);l.appendChild(f);h.appendChild(l);l=document.createElement("tr");m=document.createElement("td");f=document.createElement("td");mxUtils.write(m,mxResources.get("rotation")+":");var q=document.createElement("input"); -q.setAttribute("type","text");q.style.width="100px";q.value=1==b.length?mxUtils.getValue(c.getCellStyle(b[0]),mxConstants.STYLE_ROTATION,0):"";f.appendChild(q);l.appendChild(m);l.appendChild(f);h.appendChild(l);g.appendChild(h);e.appendChild(g);var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.getModel().beginUpdate();try{for(var d=0;d<b.length;d++){var f=c.getCellGeometry(b[d]);null!=f&&(f=f.clone(),c.isCellMovable(b[d])&& +m=document.createElement("tr"),l=document.createElement("td"),f=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(l,mxResources.get("left")+":");var k=document.createElement("input");k.setAttribute("type","text");k.style.width="100px";k.value=null!=d?d.x:"";this.init=function(){k.focus();k.select()};f.appendChild(k);m.appendChild(l);m.appendChild(f);h.appendChild(m);m=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("top")+ +":");var n=document.createElement("input");n.setAttribute("type","text");n.style.width="100px";n.value=null!=d?d.y:"";f.appendChild(n);m.appendChild(l);m.appendChild(f);h.appendChild(m);m=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("width")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.width="100px";t.value=null!=d?d.width:"";f.appendChild(t);m.appendChild(l);m.appendChild(f);h.appendChild(m); +m=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("height")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=d?d.height:"";f.appendChild(u);m.appendChild(l);m.appendChild(f);h.appendChild(m);m=document.createElement("tr");l=document.createElement("td");f=document.createElement("td");mxUtils.write(l,mxResources.get("rotation")+":");var q=document.createElement("input"); +q.setAttribute("type","text");q.style.width="100px";q.value=1==b.length?mxUtils.getValue(c.getCellStyle(b[0]),mxConstants.STYLE_ROTATION,0):"";f.appendChild(q);m.appendChild(l);m.appendChild(f);h.appendChild(m);g.appendChild(h);e.appendChild(g);var d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),v=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.getModel().beginUpdate();try{for(var d=0;d<b.length;d++){var f=c.getCellGeometry(b[d]);null!=f&&(f=f.clone(),c.isCellMovable(b[d])&& (0<mxUtils.trim(k.value).length&&(f.x=Number(k.value)),0<mxUtils.trim(n.value).length&&(f.y=Number(n.value))),c.isCellResizable(b[d])&&(0<mxUtils.trim(t.value).length&&(f.width=Number(t.value)),0<mxUtils.trim(u.value).length&&(f.height=Number(u.value))),c.getModel().setGeometry(b[d],f));0<mxUtils.trim(q.value).length&&c.setCellStyles(mxConstants.STYLE_ROTATION,Number(q.value),[b[d]])}}finally{c.getModel().endUpdate()}});mxEvent.addListener(e,"keypress",function(a){13==a.keyCode&&v.click()});g=document.createElement("div"); -g.style.marginTop="20px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(d),g.appendChild(v)):(g.appendChild(v),g.appendChild(d));e.appendChild(g);this.container=e},LibraryDialog=function(a,b,c,d,e,g){function h(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function l(b,c,d,f,e,n,g,t,m){try{if(null==c||"image/"==c.substring(0,6))if(null==b&& -null!=g||null==v[b]){var C=function(){H.innerHTML="";H.style.cursor="pointer";H.style.whiteSpace="nowrap";H.style.textOverflow="ellipsis";mxUtils.write(H,null!=K.title&&0<K.title.length?K.title:mxResources.get("untitled"));H.style.color=null==K.title||0==K.title.length?"#d0d0d0":""};u.style.backgroundImage="";q.style.display="none";var B=e,z=n;if(e>a.maxImageSize||n>a.maxImageSize){var L=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=L;n*=L}B>z?(z=Math.round(100* -z/B),B=100):(B=Math.round(100*B/z),z=100);var x=document.createElement("div");x.setAttribute("draggable","true");x.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";x.style.position="relative";x.style.cursor="move";mxUtils.setPrefixedStyle(x.style,"transition","transform .1s ease-in-out");if(null!=b){var y=document.createElement("img");y.setAttribute("src",A.convert(b));y.style.width=B+"px";y.style.height=z+"px";y.style.margin="10px";y.style.paddingBottom=Math.floor((100-z)/2)+"px";y.style.paddingLeft= -Math.floor((100-B)/2)+"px";x.appendChild(y)}else if(null!=g){var F=a.stringToCells(a.editor.graph.decompress(g.xml));0<F.length&&(a.sidebar.createThumb(F,100,100,x,null,!0,!1),x.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",x.firstChild.style.cursor="")}var D=document.createElement("img");D.setAttribute("src",Editor.closeImage);D.setAttribute("border","0");D.setAttribute("title",mxResources.get("delete"));D.setAttribute("align","top");D.style.paddingTop="4px";D.style.position= -"absolute";D.style.marginLeft="-12px";D.style.zIndex="1";D.style.cursor="pointer";mxEvent.addListener(D,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(D,"click",function(d){v[b]=null;for(var f=0;f<k.length;f++)if(null!=k[f].data&&k[f].data==b||null!=k[f].xml&&null!=c&&k[f].xml==c.xml){k.splice(f,1);break}x.parentNode.removeChild(a);0==k.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(D, -"dblclick",function(a){mxEvent.consume(a)})})(x,b,g);x.appendChild(D);x.style.marginBottom="30px";var H=document.createElement("div");H.style.position="absolute";H.style.boxSizing="border-box";H.style.bottom="-18px";H.style.left="10px";H.style.right="10px";H.style.backgroundColor="#ffffff";H.style.overflow="hidden";H.style.textAlign="center";var K=null;null!=b?(K={data:b,w:e,h:n,title:m},null!=t&&(K.aspect=t),v[b]=y,k.push(K)):null!=g&&(g.aspect="fixed",k.push(g),K=g);mxEvent.addListener(H,"keydown", -function(a){13==a.keyCode&&null!=p&&(p(),p=null,mxEvent.consume(a))});C();x.appendChild(H);mxEvent.addListener(H,"mousedown",function(a){"true"!=H.getAttribute("contentEditable")&&mxEvent.consume(a)});F=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,K.title||"",mxResources.get("ok"),function(a){null!=a&&(K.title=a,C())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init(); -mxEvent.consume(b)}else if("true"!=H.getAttribute("contentEditable")){null!=p&&(p(),p=null);if(null==K.title||0==K.title.length)H.innerHTML="";H.style.textOverflow="";H.style.whiteSpace="";H.style.cursor="text";H.style.color="";H.setAttribute("contentEditable","true");H.focus();document.execCommand("selectAll",!1,null);p=function(){H.removeAttribute("contentEditable");H.style.cursor="pointer";K.title=H.innerHTML;C()};mxEvent.consume(b)}};mxEvent.addListener(H,"click",F);mxEvent.addListener(x,"dblclick", -F);u.appendChild(x);mxEvent.addListener(x,"dragstart",function(a){null==b&&null!=g&&(D.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);w=h(a);mxClient.IS_GC&&(x.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(x.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(x,30);D.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(x,"dragend",function(a){"hidden"==D.style.visibility&&(D.style.visibility= -"",H.style.visibility="");w=null;mxUtils.setOpacity(x,100);mxUtils.setPrefixedStyle(x.style,"transform",null)})}else E||(E=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),B=mxUtils.parseXml(b),"mxlibrary"==B.documentElement.nodeName){z=JSON.parse(mxUtils.getTextContent(B.documentElement));if(null!=z&&0<z.length)for(var M=0;M<z.length;M++)null!=z[M].xml?l(null,null,0,0,0,0,z[M]):l(z[M].data,null,0,0,z[M].w,z[M].h,null,"fixed",z[M].title);e=!0}else if("mxfile"== -B.documentElement.nodeName){for(var I=B.documentElement.getElementsByTagName("diagram"),M=0;M<I.length;M++){var z=mxUtils.getTextContent(I[M]),F=a.stringToCells(a.editor.graph.decompress(z)),P=a.editor.graph.getBoundingBoxFromGeometry(F);l(null,null,0,0,0,0,{xml:z,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function m(a){a.dataTransfer.dropEffect=null!=w?"move":"copy";a.stopPropagation();a.preventDefault()} -function f(b){b.stopPropagation();b.preventDefault();E=!1;C=h(b);if(null!=w)null!=C&&C<u.children.length?(k.splice(C>w?C-1:C,0,k.splice(w,1)[0]),u.insertBefore(u.children[w],u.children[C])):(k.push(k.splice(w,1)[0]),u.appendChild(u.children[w]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,B(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| -/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){l(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var k=[];c=document.createElement("div");c.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="40px";c.appendChild(n);mxUtils.write(n,mxResources.get("filename")+":");null==b&&(b=a.defaultLibraryName+".xml");var t=document.createElement("input");t.setAttribute("value", +g.style.marginTop="20px";g.style.textAlign="right";a.editor.cancelFirst?(g.appendChild(d),g.appendChild(v)):(g.appendChild(v),g.appendChild(d));e.appendChild(g);this.container=e},LibraryDialog=function(a,b,c,d,e,g){function h(a){for(a=document.elementFromPoint(a.clientX,a.clientY);null!=a&&a.parentNode!=u;)a=a.parentNode;var b=null;if(null!=a)for(var c=u.firstChild,b=0;null!=c&&c!=a;)c=c.nextSibling,b++;return b}function m(b,c,d,f,e,n,g,t,C){try{if(null==c||"image/"==c.substring(0,6))if(null==b&& +null!=g||null==v[b]){var l=function(){J.innerHTML="";J.style.cursor="pointer";J.style.whiteSpace="nowrap";J.style.textOverflow="ellipsis";mxUtils.write(J,null!=L.title&&0<L.title.length?L.title:mxResources.get("untitled"));J.style.color=null==L.title||0==L.title.length?"#d0d0d0":""};u.style.backgroundImage="";q.style.display="none";var B=e,z=n;if(e>a.maxImageSize||n>a.maxImageSize){var x=Math.min(1,Math.min(a.maxImageSize/Math.max(1,e)),a.maxImageSize/Math.max(1,n));e*=x;n*=x}B>z?(z=Math.round(100* +z/B),B=100):(B=Math.round(100*B/z),z=100);var E=document.createElement("div");E.setAttribute("draggable","true");E.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";E.style.position="relative";E.style.cursor="move";mxUtils.setPrefixedStyle(E.style,"transition","transform .1s ease-in-out");if(null!=b){var y=document.createElement("img");y.setAttribute("src",A.convert(b));y.style.width=B+"px";y.style.height=z+"px";y.style.margin="10px";y.style.paddingBottom=Math.floor((100-z)/2)+"px";y.style.paddingLeft= +Math.floor((100-B)/2)+"px";E.appendChild(y)}else if(null!=g){var G=a.stringToCells(a.editor.graph.decompress(g.xml));0<G.length&&(a.sidebar.createThumb(G,100,100,E,null,!0,!1),E.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",E.firstChild.style.cursor="")}var D=document.createElement("img");D.setAttribute("src",Editor.closeImage);D.setAttribute("border","0");D.setAttribute("title",mxResources.get("delete"));D.setAttribute("align","top");D.style.paddingTop="4px";D.style.position= +"absolute";D.style.marginLeft="-12px";D.style.zIndex="1";D.style.cursor="pointer";mxEvent.addListener(D,"dragstart",function(a){mxEvent.consume(a)});(function(a,b,c){mxEvent.addListener(D,"click",function(d){v[b]=null;for(var f=0;f<k.length;f++)if(null!=k[f].data&&k[f].data==b||null!=k[f].xml&&null!=c&&k[f].xml==c.xml){k.splice(f,1);break}E.parentNode.removeChild(a);0==k.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",q.style.display="");mxEvent.consume(d)});mxEvent.addListener(D, +"dblclick",function(a){mxEvent.consume(a)})})(E,b,g);E.appendChild(D);E.style.marginBottom="30px";var J=document.createElement("div");J.style.position="absolute";J.style.boxSizing="border-box";J.style.bottom="-18px";J.style.left="10px";J.style.right="10px";J.style.backgroundColor="#ffffff";J.style.overflow="hidden";J.style.textAlign="center";var L=null;null!=b?(L={data:b,w:e,h:n,title:C},null!=t&&(L.aspect=t),v[b]=y,k.push(L)):null!=g&&(g.aspect="fixed",k.push(g),L=g);mxEvent.addListener(J,"keydown", +function(a){13==a.keyCode&&null!=p&&(p(),p=null,mxEvent.consume(a))});l();E.appendChild(J);mxEvent.addListener(J,"mousedown",function(a){"true"!=J.getAttribute("contentEditable")&&mxEvent.consume(a)});G=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var c=new FilenameDialog(a,L.title||"",mxResources.get("ok"),function(a){null!=a&&(L.title=a,l())},mxResources.get("enterValue"));a.showDialog(c.container,300,80,!0,!0);c.init(); +mxEvent.consume(b)}else if("true"!=J.getAttribute("contentEditable")){null!=p&&(p(),p=null);if(null==L.title||0==L.title.length)J.innerHTML="";J.style.textOverflow="";J.style.whiteSpace="";J.style.cursor="text";J.style.color="";J.setAttribute("contentEditable","true");J.focus();document.execCommand("selectAll",!1,null);p=function(){J.removeAttribute("contentEditable");J.style.cursor="pointer";L.title=J.innerHTML;l()};mxEvent.consume(b)}};mxEvent.addListener(J,"click",G);mxEvent.addListener(E,"dblclick", +G);u.appendChild(E);mxEvent.addListener(E,"dragstart",function(a){null==b&&null!=g&&(D.style.visibility="hidden",J.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);w=h(a);mxClient.IS_GC&&(E.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(E.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(E,30);D.style.visibility="";J.style.visibility=""},0)});mxEvent.addListener(E,"dragend",function(a){"hidden"==D.style.visibility&&(D.style.visibility= +"",J.style.visibility="");w=null;mxUtils.setOpacity(E,100);mxUtils.setPrefixedStyle(E.style,"transform",null)})}else F||(F=!0,a.handleError({message:mxResources.get("fileExists")}));else{e=!1;try{if(a.spinner.stop(),B=mxUtils.parseXml(b),"mxlibrary"==B.documentElement.nodeName){z=JSON.parse(mxUtils.getTextContent(B.documentElement));if(null!=z&&0<z.length)for(var M=0;M<z.length;M++)null!=z[M].xml?m(null,null,0,0,0,0,z[M]):m(z[M].data,null,0,0,z[M].w,z[M].h,null,"fixed",z[M].title);e=!0}else if("mxfile"== +B.documentElement.nodeName){for(var I=B.documentElement.getElementsByTagName("diagram"),M=0;M<I.length;M++){var z=mxUtils.getTextContent(I[M]),G=a.stringToCells(a.editor.graph.decompress(z)),P=a.editor.graph.getBoundingBoxFromGeometry(G);m(null,null,0,0,0,0,{xml:z,w:P.width,h:P.height})}e=!0}}catch(ba){}e||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function l(a){a.dataTransfer.dropEffect=null!=w?"move":"copy";a.stopPropagation();a.preventDefault()} +function f(b){b.stopPropagation();b.preventDefault();F=!1;C=h(b);if(null!=w)null!=C&&C<u.children.length?(k.splice(C>w?C-1:C,0,k.splice(w,1)[0]),u.insertBefore(u.children[w],u.children[C])):(k.push(k.splice(w,1)[0]),u.appendChild(u.children[w]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,B(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| +/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(a){m(c,null,0,0,a.width,a.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var k=[];c=document.createElement("div");c.style.height="100%";var n=document.createElement("div");n.style.whiteSpace="nowrap";n.style.height="40px";c.appendChild(n);mxUtils.write(n,mxResources.get("filename")+":");null==b&&(b=a.defaultLibraryName+".xml");var t=document.createElement("input");t.setAttribute("value", b);t.style.marginRight="20px";t.style.marginLeft="10px";t.style.width="500px";null==e||e.isRenamable()||t.setAttribute("disabled","true");this.init=function(){if(null==e||e.isRenamable())t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};n.appendChild(t);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px"; u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==k.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var q=document.createElement("div");q.style.position="absolute";q.style.width="640px";q.style.top="260px";q.style.textAlign="center";q.style.fontSize="22px";q.style.color="#a0c3ff";mxUtils.write(q,mxResources.get("dragImagesHere"));c.appendChild(q);var v={},w=null,C=null,p=null; -b=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=p&&(p(),p=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",b);mxEvent.addListener(u,"pointerdown",b);mxEvent.addListener(u,"touchstart",b);var A=new mxUrlConverter,E=!1;if(null!=d)for(b=0;b<d.length;b++)n=d[b],l(n.data,null,0,0,n.w,n.h,n,n.aspect,n.title);mxEvent.addListener(u,"dragleave",function(a){q.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==q){a.stopPropagation();a.preventDefault(); -break}b=b.parentNode}});var B=function(b){return function(c,d,f,k,e,p,n,g,h){null!=h&&(/(\.vsdx)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name))?a.importVisio(h,mxUtils.bind(this,function(c){a.spinner.stop();l(c,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," "))})):null!=h&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,h.name)?a.parseFile(h,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>= -c.status&&(l(c.responseText,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(l(c,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",m);mxEvent.addListener(u,"drop",f);mxEvent.addListener(q,"dragover",m);mxEvent.addListener(q,"drop",f);c.appendChild(u);d=document.createElement("div");d.style.textAlign="right"; +b=function(a){"true"!=mxEvent.getSource(a).getAttribute("contentEditable")&&null!=p&&(p(),p=null,mxEvent.consume(a))};mxEvent.addListener(u,"mousedown",b);mxEvent.addListener(u,"pointerdown",b);mxEvent.addListener(u,"touchstart",b);var A=new mxUrlConverter,F=!1;if(null!=d)for(b=0;b<d.length;b++)n=d[b],m(n.data,null,0,0,n.w,n.h,n,n.aspect,n.title);mxEvent.addListener(u,"dragleave",function(a){q.style.cursor="";for(var b=mxEvent.getSource(a);null!=b;){if(b==u||b==q){a.stopPropagation();a.preventDefault(); +break}b=b.parentNode}});var B=function(b){return function(c,d,f,k,e,p,n,g,h){null!=h&&(/(\.vsdx)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name))?a.importVisio(h,mxUtils.bind(this,function(c){a.spinner.stop();m(c,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," "))})):null!=h&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(c,h.name)?a.parseFile(h,mxUtils.bind(this,function(c){4==c.readyState&&(a.spinner.stop(),200<=c.status&&299>= +c.status&&(m(c.responseText,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(m(c,d,f,k,e,p,n,"fixed",mxEvent.isAltDown(b)?null:n.substring(0,n.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",l);mxEvent.addListener(u,"drop",f);mxEvent.addListener(q,"dragover",l);mxEvent.addListener(q,"drop",f);c.appendChild(u);d=document.createElement("div");d.style.textAlign="right"; d.style.marginTop="20px";b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});b.setAttribute("id","btnCancel");b.className="geBtn";a.editor.cancelFirst&&d.appendChild(b);n=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(k),c=t.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document, -"_blank")});n.setAttribute("id","btnDownload");n.className="geBtn";d.appendChild(n);var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(x,"change",function(b){E=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,d,f,k,e,p,n,g){B(b)(a,c,d,f,k,e,p,n,g);x.value=""});u.scrollTop=u.scrollHeight}),n=mxUtils.button(mxResources.get("import"),function(){null!=p&&(p(),p=null);x.click()}),n.setAttribute("id", -"btnAddImage"),n.className="geBtn",d.appendChild(n));n=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=p&&(p(),p=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){E=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}l(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})});n.setAttribute("id","btnAddImageUrl");n.className="geBtn";d.appendChild(n);this.saveBtnClickHandler=function(b,c,d,f){a.saveLibrary(b, -c,d,f)};n=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=p&&(p(),p=null);this.saveBtnClickHandler(t.value,k,e,g)}));n.setAttribute("id","btnSave");n.className="geBtn gePrimaryBtn";d.appendChild(n);a.editor.cancelFirst||d.appendChild(b);c.appendChild(d);this.container=c},EditShapeDialog=function(a,b,c,d,e){d=null!=d?d:300;e=null!=e?e:120;var g,h,l=document.createElement("table"),m=document.createElement("tbody");l.style.cellPadding="4px";g=document.createElement("tr");h= -document.createElement("td");h.setAttribute("colspan","2");h.style.fontSize="10pt";mxUtils.write(h,c);g.appendChild(h);m.appendChild(g);g=document.createElement("tr");h=document.createElement("td");var f=document.createElement("textarea");f.style.outline="none";f.style.resize="none";f.style.width=d-200+"px";f.style.height=e+"px";this.textarea=f;this.init=function(){f.focus();f.scrollTop=0};h.appendChild(f);g.appendChild(h);h=document.createElement("td");c=document.createElement("div");c.style.position= +"_blank")});n.setAttribute("id","btnDownload");n.className="geBtn";d.appendChild(n);var x=document.createElement("input");x.setAttribute("multiple","multiple");x.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(x,"change",function(b){F=!1;a.importFiles(x.files,0,0,a.maxImageSize,function(a,c,d,f,k,e,p,n,g){B(b)(a,c,d,f,k,e,p,n,g);x.value=""});u.scrollTop=u.scrollHeight}),n=mxUtils.button(mxResources.get("import"),function(){null!=p&&(p(),p=null);x.click()}),n.setAttribute("id", +"btnAddImage"),n.className="geBtn",d.appendChild(n));n=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=p&&(p(),p=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(a,b,c){F=!1;if(null!=a){if("data:image/"==a.substring(0,11)){var d=a.indexOf(",");0<d&&(a=a.substring(0,d)+";base64,"+a.substring(d+1))}m(a,null,0,0,b,c);u.scrollTop=u.scrollHeight}})});n.setAttribute("id","btnAddImageUrl");n.className="geBtn";d.appendChild(n);this.saveBtnClickHandler=function(b,c,d,f){a.saveLibrary(b, +c,d,f)};n=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=p&&(p(),p=null);this.saveBtnClickHandler(t.value,k,e,g)}));n.setAttribute("id","btnSave");n.className="geBtn gePrimaryBtn";d.appendChild(n);a.editor.cancelFirst||d.appendChild(b);c.appendChild(d);this.container=c},EditShapeDialog=function(a,b,c,d,e){d=null!=d?d:300;e=null!=e?e:120;var g,h,m=document.createElement("table"),l=document.createElement("tbody");m.style.cellPadding="4px";g=document.createElement("tr");h= +document.createElement("td");h.setAttribute("colspan","2");h.style.fontSize="10pt";mxUtils.write(h,c);g.appendChild(h);l.appendChild(g);g=document.createElement("tr");h=document.createElement("td");var f=document.createElement("textarea");f.style.outline="none";f.style.resize="none";f.style.width=d-200+"px";f.style.height=e+"px";this.textarea=f;this.init=function(){f.focus();f.scrollTop=0};h.appendChild(f);g.appendChild(h);h=document.createElement("td");c=document.createElement("div");c.style.position= "relative";c.style.border="1px solid gray";c.style.top="6px";c.style.width="200px";c.style.height=e+4+"px";c.style.overflow="hidden";c.style.marginBottom="16px";mxEvent.disableContextMenu(c);h.appendChild(c);var k=new Graph(c);k.setEnabled(!1);var n=a.editor.graph.cloneCells([b])[0];k.addCells([n]);c=k.view.getState(n);var t="";null!=c.shape&&null!=c.shape.stencil&&(t=mxUtils.getPrettyXml(c.shape.stencil.desc));mxUtils.write(f,t||"");c=k.getGraphBounds();e=Math.min(160/c.width,(e-40)/c.height);k.view.scaleAndTranslate(e, -20/e-c.x,20/e-c.y);g.appendChild(h);m.appendChild(g);g=document.createElement("tr");h=document.createElement("td");h.setAttribute("colspan","2");h.style.paddingTop="2px";h.style.whiteSpace="nowrap";h.setAttribute("align","right");e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&h.appendChild(e);a.isOffline()||(c=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}), +20/e-c.x,20/e-c.y);g.appendChild(h);l.appendChild(g);g=document.createElement("tr");h=document.createElement("td");h.setAttribute("colspan","2");h.style.paddingTop="2px";h.style.whiteSpace="nowrap";h.setAttribute("align","right");e=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});e.className="geBtn";a.editor.cancelFirst&&h.appendChild(e);a.isOffline()||(c=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}), c.className="geBtn",h.appendChild(c));var u=function(b,c,d){var k=f.value,e=mxUtils.parseXml(k),k=mxUtils.getPrettyXml(e.documentElement),e=e.documentElement.getElementsByTagName("parsererror");if(null!=e&&0<e.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(d&&a.hideDialog(),e=!b.model.contains(c),!d||e||k!=t){k=a.editor.graph.compress(k);b.getModel().beginUpdate();try{if(e){var n=a.editor.graph.getInsertPoint();c.geometry.x=n.x; -c.geometry.y=n.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+k+")",[c])}catch(E){throw E;}finally{b.getModel().endUpdate()}e&&b.setSelectionCell(c)}};c=mxUtils.button(mxResources.get("preview"),function(){u(k,n,!1)});c.className="geBtn";h.appendChild(c);c=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,b,!0)});c.className="geBtn gePrimaryBtn";h.appendChild(c);a.editor.cancelFirst||h.appendChild(e);g.appendChild(h);m.appendChild(g);l.appendChild(m);this.container= -l},CustomDialog=function(a,b,c,d,e,g,h,l){var m=document.createElement("div");m.appendChild(b);b=document.createElement("div");b.style.marginTop="16px";b.style.textAlign="center";null!=h&&b.appendChild(h);h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});h.className="geBtn";l&&(h.style.display="none");a.editor.cancelFirst&&b.appendChild(h);a.isOffline()||null==g||(l=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),l.className="geBtn",b.appendChild(l)); -e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c()});b.appendChild(e);e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(h);m.appendChild(b);this.cancelBtn=h;this.okButton=e;this.container=m};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": +c.geometry.y=n.y;b.addCell(c)}b.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+k+")",[c])}catch(F){throw F;}finally{b.getModel().endUpdate()}e&&b.setSelectionCell(c)}};c=mxUtils.button(mxResources.get("preview"),function(){u(k,n,!1)});c.className="geBtn";h.appendChild(c);c=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,b,!0)});c.className="geBtn gePrimaryBtn";h.appendChild(c);a.editor.cancelFirst||h.appendChild(e);g.appendChild(h);l.appendChild(g);m.appendChild(l);this.container= +m},CustomDialog=function(a,b,c,d,e,g,h,m){var l=document.createElement("div");l.appendChild(b);b=document.createElement("div");b.style.marginTop="16px";b.style.textAlign="center";null!=h&&b.appendChild(h);h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=d&&d()});h.className="geBtn";m&&(h.style.display="none");a.editor.cancelFirst&&b.appendChild(h);a.isOffline()||null==g||(m=mxUtils.button(mxResources.get("help"),function(){a.openLink(g)}),m.className="geBtn",b.appendChild(m)); +e=mxUtils.button(e||mxResources.get("ok"),function(){a.hideDialog();null!=c&&c()});b.appendChild(e);e.className="geBtn gePrimaryBtn";a.editor.cancelFirst||b.appendChild(h);l.appendChild(b);this.cancelBtn=h;this.okButton=e;this.container=l};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=": IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==": IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=": @@ -7119,21 +7147,22 @@ Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.defaultC Editor.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=a){Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength= a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var b=document.createElement("style");b.setAttribute("type","text/css");b.appendChild(document.createTextNode(a.css));var c=document.getElementsByTagName("script")[0];c.parentNode.insertBefore(b,c)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries); null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&& -(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b= -null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"==b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(), -null!=d&&(f=new mxCodec(d.ownerDocument),f.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var f=new mxCodec(d.ownerDocument);f.decode(d,this.graph.getStylesheet())}this.graph.currentStyle=c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src, -c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&& -c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return c};Editor.prototype.isDataSvg=function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))), -null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(A){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"),d=[];if(null!=c&&0<c.length)for(var f=0;f<c.length;f++)if("mxgraph"==c[f].getAttribute("class")){d.push(c[f]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!= -c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement; -else throw{message:mxResources.get("notADiagramFile")};null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(c=this.graph.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};var c=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= -"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;c.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML"; -Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js", -"noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init= -function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var f=document.createElement("script");f.type="text/javascript";f.src=a;d[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null; -var b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,d,f){void 0!==c?b.push(c.replace(/\\'/g,"'")):void 0!==d?b.push(d.replace(/\\"/g,'"')):void 0!==f&&b.push(f);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}; -var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var h=Format.prototype.init;Format.prototype.init=function(){h.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var l=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? -l.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var m=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=m.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,c=b.editor.graph,d=this.createOption(mxResources.get("shadow"), +(b=document.createElement("style"),b.setAttribute("type","text/css"),b.appendChild(document.createTextNode(a.fontCss)),c=document.getElementsByTagName("script")[0],c.parentNode.insertBefore(b,c),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),b=0;b<a.plugins.length;b++)mxscript(a.plugins[b])}};Editor.s4=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};Editor.guid=function(){return Editor.s4()+Editor.s4()+"-"+Editor.s4()+"-"+Editor.s4()+ +"-"+Editor.s4()+"-"+Editor.s4()+Editor.s4()+Editor.s4()};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var c=b.getElementsByTagName("parsererror");if(null!=c&&0<c.length){var c=c[0],d=c.getElementsByTagName("div");null!=d&&0<d.length&&(c=d[0]);throw{message:mxUtils.getTextContent(c)};}if("mxGraphModel"== +b.nodeName){c=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=c&&""!=c)c!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[c]:mxUtils.load(STYLE_PATH+"/"+c+".xml").getDocumentElement(),null!=d&&(f=new mxCodec(d.ownerDocument),f.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var f=new mxCodec(d.ownerDocument);f.decode(d,this.graph.getStylesheet())}this.graph.currentStyle= +c;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");c=b.getAttribute("backgroundImage");null!=c?(c=JSON.parse(c),this.graph.setBackgroundImage(new mxImage(c.src,c.width,c.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}}; +};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return c};Editor.prototype.isDataSvg= +function(a){try{var b=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=b&&(null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)){var c=mxUtils.parseXml(b).documentElement;return"mxfile"==c.nodeName||"mxGraphModel"==c.nodeName}}catch(A){}return!1};Editor.prototype.extractGraphModel=function(a,b){if(null!=a&&"undefined"!==typeof pako){var c=a.ownerDocument.getElementsByTagName("div"), +d=[];if(null!=c&&0<c.length)for(var f=0;f<c.length;f++)if("mxgraph"==c[f].getAttribute("class")){d.push(c[f]);break}0<d.length&&(c=d[0].getAttribute("data-mxgraph"),null!=c?(d=JSON.parse(c),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(c=mxUtils.getTextContent(d[0]),c=this.graph.decompress(c),0<c.length&&(d=mxUtils.parseXml(c),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(c=a.getAttribute("content"),null!=c&&"<"!= +c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)a=mxUtils.parseXml(c).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||b||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(c=a.getElementsByTagName("diagram"),0<c.length&&(d=c[Math.max(0,Math.min(c.length-1,urlParams.page||0))])),null!=d&&(c=this.graph.decompress(mxUtils.getTextContent(d)),null!=c&&0< +c.length&&(a=mxUtils.parseXml(c).documentElement)));null==a||"mxGraphModel"==a.nodeName||b&&"mxfile"==a.nodeName||(a=null);return a};var c=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;c.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents= +function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,b){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(b|| +{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!== +typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var c=Editor.prototype.init;Editor.prototype.init=function(){c.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,b){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var f=document.createElement("script"); +f.type="text/javascript";f.src=a;d[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var b=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,c,d,f){void 0!== +c?b.push(c.replace(/\\'/g,"'")):void 0!==d?b.push(d.replace(/\\"/g,'"')):void 0!==f&&b.push(f);return""});/,\s*$/.test(a)&&b.push("");return b};if(window.ColorDialog){var e=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,b){e.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var g=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&& +(EditDataDialog.getDisplayIdForCell=function(a,b){var c=null;null!=a.editor.graph.getModel().getParent(b)?c=b.getId():null!=a.currentPage&&(c=a.currentPage.getId());return c});if(null!=window.StyleFormatPanel){var h=Format.prototype.init;Format.prototype.init=function(){h.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var m=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? +m.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var l=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=l.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var b=this.editorUi,c=b.editor.graph,d=this.createOption(mxResources.get("shadow"), function(){return c.shadowVisible},function(a){var d=new ChangePageSetup(b);d.ignoreColor=!0;d.ignoreImage=!0;d.shadowVisible=a;c.model.execute(d)},{install:function(a){this.listener=function(){a(c.shadowVisible)};b.addListener("shadowVisibleChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});Editor.shadowOptionEnabled||(d.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(d,60));a.appendChild(d)}return a};var f=DiagramFormatPanel.prototype.addOptions; DiagramFormatPanel.prototype.addOptions=function(a){a=f.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var d=b.getCurrentFile();null!=d&&d.isAutosaveOptional()&&(d=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(d))}if(this.isMathOptionVisible()&& c.isEnabled()&&"undefined"!==typeof MathJax){d=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});d.style.paddingTop="0px";a.appendChild(d);var k=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); @@ -7152,41 +7181,45 @@ function(a){this.editorUi.actions.get("editShape").funct()})),b.setAttribute("ti (c.style.width="100px",b.style.width="100px",b.style.marginLeft="2px"),a.appendChild(b));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= "3";Graph.prototype.edgeMode="move"!=urlParams.edge;var t=Graph.prototype.init;Graph.prototype.init=function(){function a(a){b=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)b=mxUtils.clone(a)}t.apply(this,arguments);var b=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){b=null});this.isMouseInsertPoint=function(){return null!=b};var c=this.getInsertPoint; this.getInsertPoint=function(){return null!=b?this.getPointForEvent(b):c.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a),b=null!=b?b.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==b.childLayout){var c=new mxStackLayout(this.graph,!1);c.setChildGeometry=function(a,b){b.height=Math.max(b.height,20);if(1<b.height/20){var c=b.height%20;b.height+=10<c?20-c:-c}this.graph.getModel().setGeometry(a, -b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)){this.model.beginUpdate();try{var b=JSON.parse(a.substring(17)); -if(null!=b.actions)for(var c=0;c<b.actions.length;c++)this.handleCustomLinkAction(b.actions[c])}catch(A){null!=window.console&&console.log("Error in "+a+": "+A)}finally{this.model.endUpdate()}}};Graph.prototype.handleCustomLinkAction=function(a){if(null!=a.toggle&&null!=a.toggle.cells)for(var b=0;b<a.toggle.cells.length;b++){var c=this.model.getCell(a.toggle.cells[b]);null!=c&&this.model.setVisible(c,!this.model.isVisible(c))}};Graph.prototype.highlightCell=function(a,b,c){b=null!=b?b:mxConstants.DEFAULT_VALID_COLOR; -c=null!=c?c:1E3;a=this.view.getState(a);if(null!=a){var d=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,b,d,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.destroy()},1200)},c)}};Graph.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;var d=a.ownerDocument,f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, -"filter"):d.createElement("filter");f.setAttribute("id",this.shadowId);var k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):d.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy", -this.svgShadowSize);k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feFlood"):d.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):d.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2", -"offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feBlend"):d.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");f.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d= -k[0];d.appendChild(f);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"), -b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),b,c=0;do b=this.model.getChildAt(this.model.root,c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!=b&&this.setDefaultParent(b)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian= -[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5= -[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js", -STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js", -STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+ -"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= -[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var q=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,f,k,e,n,g,h){if(null!=c&&null==mxMarker.markers[c]){var p=this.getPackageForType(c);null!=p&&mxStencilRegistry.getStencil(p)}return q.apply(this,arguments)}; -PrintDialog.prototype.create=function(a,b){function c(){q.value=Math.max(1,Math.min(n,Math.max(parseInt(q.value),parseInt(l.value))));l.value=Math.max(1,Math.min(n,Math.min(parseInt(q.value),parseInt(l.value))))}function d(b){function c(b,c,f){var k=b.getGraphBounds(),e=0,n=0,p=ba.get(),g=1/b.pageScale,h=C.checked;if(h)var g=parseInt(Q.value),t=parseInt(P.value),g=Math.min(p.height*t/(k.height/b.view.scale),p.width*g/(k.width/b.view.scale));else g=parseInt(w.value)/(100*b.pageScale),isNaN(g)&&(d= -1/b.pageScale,w.value="100 %");p=mxRectangle.fromRectangle(p);p.width=Math.ceil(p.width*d);p.height=Math.ceil(p.height*d);g*=d;!h&&b.pageVisible?(k=b.getPageLayout(),e-=k.x*p.width,n-=k.y*p.height):h=!0;if(null==c){c=PrintDialog.createPrintPreview(b,g,p,0,e,n,h);c.pageSelector=!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var u=c.writeHead;c.writeHead=function(b){u.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss), -b.writeln("</style>"))};if("undefined"!==typeof MathJax){var v=c.renderPage;c.renderPage=function(a,b,c,d,f,k){var e=v.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,f,!0)}else{p=b.background;if(null==p||""==p||p==mxConstants.NONE)p="#ffffff";c.backgroundColor=p;c.autoOrigin=h;c.appendGraph(b,g,e,n,f,!0)}return c}var d=parseInt(U.value)/100;isNaN(d)&&(d=1,U.value="100 %");var d=.75*d,k=l.value,e=q.value,n=!t.checked,p=null; -n&&(n=k==g&&e==g);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;t.checked||(h=parseInt(k)-1,n=parseInt(e)-1);for(var u=h;u<=n;u++){var v=a.pages[u],k=v==a.currentPage?f:null;if(null==k){var k=a.createTemporaryGraph(f.getStylesheet()),e=!0,h=!1,A=null,m=null;null==v.viewState&&null==v.mapping&&null==v.root&&a.updatePageRoot(v);null!=v.viewState?(e=v.viewState.pageVisible,h=v.viewState.mathEnabled,A=v.viewState.background,m=v.viewState.backgroundImage):null!=v.mapping&&null!=v.mapping.diagramMap&& -(h="0"!=v.mapping.diagramMap.get("mathEnabled"),A=v.mapping.diagramMap.get("background"),m=v.mapping.diagramMap.get("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null);k.background=A;k.backgroundImage=null!=m?new mxImage(m.src,m.width,m.height):null;k.pageVisible=e;k.mathEnabled=h;var z=k.getGlobalVariable;k.getGlobalVariable=function(a){return"page"==a?v.getName():"pagenumber"==a?u+1:z.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(v);k.model.setRoot(v.root)}p= -c(k,p,u!=n);k!=f&&k.container.parentNode.removeChild(k.container)}}else p=c(f);p.mathEnabled&&(n=p.wnd.document,n.writeln('<script type="text/x-mathjax-config">'),n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln('"HTML-CSS": {'),n.writeln("imageFont: null"),n.writeln("},"),n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), -n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"),n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));p.closeDocument();!p.mathEnabled&&b&&PrintDialog.printPreview(p)} -var f=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%";e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,g=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio"); -t.setAttribute("name","pages-printdialog");h.appendChild(t);e=document.createElement("span");mxUtils.write(e,mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var u=t.cloneNode(!0);t.setAttribute("checked","checked");u.setAttribute("value","range");h.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var l=document.createElement("input");l.style.cssText="margin:0 8px 0 8px;";l.setAttribute("value","1");l.setAttribute("type", -"number");l.setAttribute("min","1");l.style.width="50px";h.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var q=l.cloneNode(!0);h.appendChild(q);mxEvent.addListener(l,"focus",function(){u.checked=!0});mxEvent.addListener(q,"focus",function(){u.checked=!0});mxEvent.addListener(l,"change",c);mxEvent.addListener(q,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==a.pages[e]){g=e+ -1;l.value=g;q.value=g;break}l.setAttribute("max",n);q.setAttribute("max",n);1<n&&k.appendChild(h);var v=document.createElement("div");v.style.marginBottom="10px";var m=document.createElement("input");m.style.marginRight="8px";m.setAttribute("value","adjust");m.setAttribute("type","radio");m.setAttribute("name","printZoom");v.appendChild(m);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));v.appendChild(e);var w=document.createElement("input");w.style.cssText="margin:0 8px 0 8px;"; -w.setAttribute("value","100 %");w.style.width="50px";v.appendChild(w);mxEvent.addListener(w,"focus",function(){m.checked=!0});k.appendChild(v);var h=h.cloneNode(!1),C=m.cloneNode(!0);C.setAttribute("value","fit");m.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(C);h.appendChild(e);v=document.createElement("table");v.style.display="inline-block";var N=document.createElement("tbody"), -S=document.createElement("tr"),O=S.cloneNode(!0),G=document.createElement("td"),W=G.cloneNode(!0),R=G.cloneNode(!0),T=G.cloneNode(!0),V=G.cloneNode(!0),J=G.cloneNode(!0);G.style.textAlign="right";T.style.textAlign="right";mxUtils.write(G,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);e=document.createElement("span");mxUtils.write(e, -mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){C.checked=!0});mxEvent.addListener(P,"focus",function(){C.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));J.appendChild(e);S.appendChild(G);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(J);N.appendChild(S);N.appendChild(O);v.appendChild(N); -h.appendChild(v);k.appendChild(h);h=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom="12px";mxUtils.write(e,mxResources.get("paperSize"));h.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);h.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));h.appendChild(e); -var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";h.appendChild(U);k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&e.appendChild(h);a.isOffline()||(v=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}), -v.className="geBtn",e.appendChild(v));PrintDialog.previewEnabled&&(v=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();d(!1)}),v.className="geBtn",e.appendChild(v));v=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});v.className="geBtn gePrimaryBtn";e.appendChild(v);a.editor.cancelFirst||e.appendChild(h);k.appendChild(e);this.container=k};var v=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== -this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(v.apply(this,arguments),null!=this.mathEnabled&& -this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.8.1";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +b)};c.fill=!0;c.unitSize=mxRackContainer.unitSize|20;c.marginLeft=b.marginLeft||0;c.marginRight=b.marginRight||0;c.marginTop=b.marginTop||0;c.marginBottom=b.marginBottom||0;c.resizeParent=!1;return c}return d.apply(this,arguments)}};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var b= +0;b<a.actions.length;b++)null!=a.actions[b].open&&(this.isCustomLink(a.actions[b].open)?this.customLinkClicked(a.actions[b].open):this.openLink(a.actions[b].open));this.model.beginUpdate();try{for(b=0;b<a.actions.length;b++)this.handleLinkAction(a.actions[b])}finally{this.model.endUpdate()}}};Graph.prototype.handleLinkAction=function(a){var b=[];null!=a.select&&this.isEnabled()&&(b=this.getCellsForAction(a.select),this.setSelectionCells(b));null!=a.scroll&&(b=this.getCellsForAction(a.scroll));null!= +a.toggle&&this.toggleCells(this.getCellsForAction(a.toggle));null!=a.show&&this.setCellsVisible(this.getCellsForAction(a.show),!0);null!=a.hide&&this.setCellsVisible(this.getCellsForAction(a.hide),!1);null!=a.highlight&&(b=this.getCellsForAction(a.highlight),this.highlightCells(b,a.highlight.color,a.highlight.duration,a.highlight.opacity));0<b.length&&this.scrollCellToVisible(b[0])};Graph.prototype.getCellsForAction=function(a){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags))}; +Graph.prototype.getCellsById=function(a){var b=[];if(null!=a)for(var c=0;c<a.length;c++)if("*"==a[c])var d=this.getDefaultParent(),b=b.concat(this.model.filterDescendants(function(a){return a!=d},d));else{var f=this.model.getCell(a[c]);null!=f&&b.push(f)}return b};Graph.prototype.getCellsForTags=function(a,b,c){var d=[];if(null!=a){b=null!=b?b:this.model.getDescendants(this.model.getRoot());c=null!=c?c:"tags";for(var f=0;f<b.length;f++)if(this.model.isVertex(b[f])||this.model.isEdge(b[f])){var k= +null!=b[f].value&&"object"==typeof b[f].value?mxUtils.trim(b[f].value.getAttribute(c)||""):"",e=!0;if(0<k.length)for(var k=k.toLowerCase().split(" "),n=0;n<a.length&&e;n++)var p=mxUtils.trim(a[n]).toLowerCase(),e=e&&(0==p.length||0<=mxUtils.indexOf(k,p));else e=0==a.length;e&&d.push(b[f])}}return d};Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],!this.model.isVisible(a[b]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible= +function(a,b){this.model.beginUpdate();try{for(var c=0;c<a.length;c++)this.model.setVisible(a[c],b)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,b,c,d){for(var f=0;f<a.length;f++)this.highlightCell(a[f],b,c,d)};Graph.prototype.highlightCell=function(a,b,c,d){b=null!=b?b:mxConstants.DEFAULT_VALID_COLOR;c=null!=c?c:1E3;a=this.view.getState(a);if(null!=a){var f=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),k=new mxCellHighlight(this,b,f,!1);null!= +d&&(k.opacity=d);k.highlight(a);window.setTimeout(function(){null!=k.shape&&(mxUtils.setPrefixedStyle(k.shape.node.style,"transition","all 1200ms ease-in-out"),k.shape.node.style.opacity=0);window.setTimeout(function(){k.destroy()},1200)},c)}};Graph.prototype.addSvgShadow=function(a,b,c){c=null!=c?c:!1;var d=a.ownerDocument,f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");f.setAttribute("id",this.shadowId);var k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feGaussianBlur"):d.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy",this.svgShadowSize);k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feFlood"):d.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):d.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2","offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");f.appendChild(k);k=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feBlend"):d.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");f.appendChild(k);k=a.getElementsByTagName("defs");0==k.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=k[0];d.appendChild(f);c||((b||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width", +parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,b){mxClient.IS_SVG&&(b=null!=b?b:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),b&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root), +b,c=0;do b=this.model.getChildAt(this.model.root,c);while(c++<a&&"1"==mxUtils.getValue(this.getCellStyle(b),"locked","0"));null!=b&&this.setDefaultParent(b)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er= +[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic= +[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+ +"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]= +[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl= +[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js", +STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var b= +null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?b="mxgraph.er":"sysML"==a.substring(0,5)&&(b="mxgraph.sysml"));return b};var q=mxMarker.createMarker;mxMarker.createMarker=function(a,b,c,d,f,k,e,n,g,h){if(null!=c&&null==mxMarker.markers[c]){var p=this.getPackageForType(c);null!=p&&mxStencilRegistry.getStencil(p)}return q.apply(this,arguments)};PrintDialog.prototype.create=function(a,b){function c(){v.value=Math.max(1,Math.min(n,Math.max(parseInt(v.value),parseInt(m.value))));m.value=Math.max(1,Math.min(n, +Math.min(parseInt(v.value),parseInt(m.value))))}function d(b){function c(b,c,f){var k=b.getGraphBounds(),e=0,n=0,p=ba.get(),g=1/b.pageScale,h=C.checked;if(h)var g=parseInt(Q.value),t=parseInt(P.value),g=Math.min(p.height*t/(k.height/b.view.scale),p.width*g/(k.width/b.view.scale));else g=parseInt(w.value)/(100*b.pageScale),isNaN(g)&&(d=1/b.pageScale,w.value="100 %");p=mxRectangle.fromRectangle(p);p.width=Math.ceil(p.width*d);p.height=Math.ceil(p.height*d);g*=d;!h&&b.pageVisible?(k=b.getPageLayout(), +e-=k.x*p.width,n-=k.y*p.height):h=!0;if(null==c){c=PrintDialog.createPrintPreview(b,g,p,0,e,n,h);c.pageSelector=!1;c.mathEnabled=!1;b=a.getCurrentFile();null!=b&&(c.title=b.getTitle());var u=c.writeHead;c.writeHead=function(b){u.apply(this,arguments);null!=a.editor.fontCss&&(b.writeln('<style type="text/css">'),b.writeln(a.editor.fontCss),b.writeln("</style>"))};if("undefined"!==typeof MathJax){var m=c.renderPage;c.renderPage=function(a,b,c,d,f,k){var e=m.apply(this,arguments);this.graph.mathEnabled? +this.mathEnabled=!0:e.className="geDisableMathJax";return e}}c.open(null,null,f,!0)}else{p=b.background;if(null==p||""==p||p==mxConstants.NONE)p="#ffffff";c.backgroundColor=p;c.autoOrigin=h;c.appendGraph(b,g,e,n,f,!0)}return c}var d=parseInt(U.value)/100;isNaN(d)&&(d=1,U.value="100 %");var d=.75*d,k=m.value,e=v.value,n=!t.checked,p=null;n&&(n=k==g&&e==g);if(!n&&null!=a.pages&&a.pages.length){var h=0,n=a.pages.length-1;t.checked||(h=parseInt(k)-1,n=parseInt(e)-1);for(var u=h;u<=n;u++){var q=a.pages[u], +k=q==a.currentPage?f:null;if(null==k){var k=a.createTemporaryGraph(f.getStylesheet()),e=!0,h=!1,A=null,l=null;null==q.viewState&&null==q.mapping&&null==q.root&&a.updatePageRoot(q);null!=q.viewState?(e=q.viewState.pageVisible,h=q.viewState.mathEnabled,A=q.viewState.background,l=q.viewState.backgroundImage):null!=q.mapping&&null!=q.mapping.diagramMap&&(h="0"!=q.mapping.diagramMap.get("mathEnabled"),A=q.mapping.diagramMap.get("background"),l=q.mapping.diagramMap.get("backgroundImage"),l=null!=l&&0<l.length? +JSON.parse(l):null);k.background=A;k.backgroundImage=null!=l?new mxImage(l.src,l.width,l.height):null;k.pageVisible=e;k.mathEnabled=h;var z=k.getGlobalVariable;k.getGlobalVariable=function(a){return"page"==a?q.getName():"pagenumber"==a?u+1:z.apply(this,arguments)};document.body.appendChild(k.container);a.updatePageRoot(q);k.model.setRoot(q.root)}p=c(k,p,u!=n);k!=f&&k.container.parentNode.removeChild(k.container)}}else p=c(f);p.mathEnabled&&(n=p.wnd.document,n.writeln('<script type="text/x-mathjax-config">'), +n.writeln("MathJax.Hub.Config({"),n.writeln('messageStyle: "none",'),n.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),n.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),n.writeln('"HTML-CSS": {'),n.writeln("imageFont: null"),n.writeln("},"),n.writeln("TeX: {"),n.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),n.writeln("},"),n.writeln("tex2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("},"), +n.writeln("asciimath2jax: {"),n.writeln('\tignoreClass: "geDisableMathJax"'),n.writeln("}"),n.writeln("});"),b&&(n.writeln("MathJax.Hub.Queue(function () {"),n.writeln("window.print();"),n.writeln("});")),n.writeln("\x3c/script>"),n.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));p.closeDocument();!p.mathEnabled&&b&&PrintDialog.printPreview(p)}var f=a.editor.graph,k=document.createElement("div"),e=document.createElement("h3");e.style.width="100%"; +e.style.textAlign="center";e.style.marginTop="0px";mxUtils.write(e,b||mxResources.get("print"));k.appendChild(e);var n=1,g=1,h=document.createElement("div");h.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");h.appendChild(t);e=document.createElement("span");mxUtils.write(e, +mxResources.get("printAllPages"));h.appendChild(e);mxUtils.br(h);var u=t.cloneNode(!0);t.setAttribute("checked","checked");u.setAttribute("value","range");h.appendChild(u);e=document.createElement("span");mxUtils.write(e,mxResources.get("pages")+":");h.appendChild(e);var m=document.createElement("input");m.style.cssText="margin:0 8px 0 8px;";m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.style.width="50px";h.appendChild(m);e=document.createElement("span"); +mxUtils.write(e,mxResources.get("to"));h.appendChild(e);var v=m.cloneNode(!0);h.appendChild(v);mxEvent.addListener(m,"focus",function(){u.checked=!0});mxEvent.addListener(v,"focus",function(){u.checked=!0});mxEvent.addListener(m,"change",c);mxEvent.addListener(v,"change",c);if(null!=a.pages&&(n=a.pages.length,null!=a.currentPage))for(e=0;e<a.pages.length;e++)if(a.currentPage==a.pages[e]){g=e+1;m.value=g;v.value=g;break}m.setAttribute("max",n);v.setAttribute("max",n);1<n&&k.appendChild(h);var q=document.createElement("div"); +q.style.marginBottom="10px";var l=document.createElement("input");l.style.marginRight="8px";l.setAttribute("value","adjust");l.setAttribute("type","radio");l.setAttribute("name","printZoom");q.appendChild(l);e=document.createElement("span");mxUtils.write(e,mxResources.get("adjustTo"));q.appendChild(e);var w=document.createElement("input");w.style.cssText="margin:0 8px 0 8px;";w.setAttribute("value","100 %");w.style.width="50px";q.appendChild(w);mxEvent.addListener(w,"focus",function(){l.checked=!0}); +k.appendChild(q);var h=h.cloneNode(!1),C=l.cloneNode(!0);C.setAttribute("value","fit");l.setAttribute("checked","checked");e=document.createElement("div");e.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";e.appendChild(C);h.appendChild(e);q=document.createElement("table");q.style.display="inline-block";var N=document.createElement("tbody"),S=document.createElement("tr"),O=S.cloneNode(!0),H=document.createElement("td"),W=H.cloneNode(!0),R=H.cloneNode(!0),T=H.cloneNode(!0), +V=H.cloneNode(!0),K=H.cloneNode(!0);H.style.textAlign="right";T.style.textAlign="right";mxUtils.write(H,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsAcross"));R.appendChild(e);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P); +mxEvent.addListener(Q,"focus",function(){C.checked=!0});mxEvent.addListener(P,"focus",function(){C.checked=!0});e=document.createElement("span");mxUtils.write(e,mxResources.get("fitToSheetsDown"));K.appendChild(e);S.appendChild(H);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(K);N.appendChild(S);N.appendChild(O);q.appendChild(N);h.appendChild(q);k.appendChild(h);h=document.createElement("div");e=document.createElement("div");e.style.fontWeight="bold";e.style.marginBottom= +"12px";mxUtils.write(e,mxResources.get("paperSize"));h.appendChild(e);e=document.createElement("div");e.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(e,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);h.appendChild(e);e=document.createElement("span");mxUtils.write(e,mxResources.get("pageScale"));h.appendChild(e);var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";h.appendChild(U); +k.appendChild(h);e=document.createElement("div");e.style.cssText="text-align:right;margin:62px 0 0 0;";h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&e.appendChild(h);a.isOffline()||(q=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),q.className="geBtn",e.appendChild(q));PrintDialog.previewEnabled&&(q=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog(); +d(!1)}),q.className="geBtn",e.appendChild(q));q=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});q.className="geBtn gePrimaryBtn";e.appendChild(q);a.editor.cancelFirst||e.appendChild(h);k.appendChild(e);this.container=k};var v=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background= +this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(v.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!= +this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.8.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= !1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(u){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= @@ -7200,12 +7233,12 @@ b+70-e.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=fun var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var c=a.apply(this,arguments);if(null==c)try{var d=b.indexOf("<mxfile ");if(0<=d){var f=b.lastIndexOf("</mxfile>");f>d&&(c=b.substring(d,f+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var e=mxUtils.parseXml(b),g=this.editor.extractGraphModel(e.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),c=null!= g?mxUtils.getXml(g):""}catch(v){}return c};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var b=a.indexOf('<meta charset="utf-8">');0<=b&&(a=a.slice(0,b)+'<meta charset="utf-8"/>'+a.slice(b+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a){b=this.editor.graph;b.model.beginUpdate(); try{var c=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var f=d.length-1;0<=f;f--){var e=this.updatePageRoot(new DiagramPage(d[f]));null==e.getName()&&e.setName(mxResources.get("pageWithNumber",[f+1]));b.model.execute(new ChangePage(this,e,0==f?e:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"), -this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(f=0;f<c.length;f++)b.model.execute(new ChangePage(this,c[f],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,g,h,l,m,p){b=null!= -b?b:this.editor.graph;e=null!=e?e:!1;m=null!=m?m:!0;var f,k=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":k=f=d;if(null==a)return"";var n=a;if("mxfile"!=n.nodeName.toLowerCase()){var t=b.zapGremlins(mxUtils.getXml(a)),n=b.compress(t);if(b.decompress(n)!=t)return t;t=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(t,n);n=a.ownerDocument.createElement("mxfile");n.appendChild(t)}p?(n=n.cloneNode(!0),n.removeAttribute("userAgent"),n.removeAttribute("version"), +this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),b.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=c)for(f=0;f<c.length;f++)b.model.execute(new ChangePage(this,c[f],null))}finally{b.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,d,e,g,h,m,l,p){b=null!= +b?b:this.editor.graph;e=null!=e?e:!1;l=null!=l?l:!0;var f,k=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?f="_blank":k=f=d;if(null==a)return"";var n=a;if("mxfile"!=n.nodeName.toLowerCase()){var t=b.zapGremlins(mxUtils.getXml(a)),n=b.compress(t);if(b.decompress(n)!=t)return t;t=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(t,n);n=a.ownerDocument.createElement("mxfile");n.appendChild(t)}p?(n=n.cloneNode(!0),n.removeAttribute("userAgent"),n.removeAttribute("version"), n.removeAttribute("editor"),n.removeAttribute("type")):(n.setAttribute("userAgent",navigator.userAgent),n.setAttribute("version",EditorUi.VERSION),n.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&n.setAttribute("type",a));a=mxUtils.getXml(n);if(!g&&!e&&(h||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(n),b,null!=c?c.getTitle():null,f,k);else if(g||!e&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!= -App.MODE_BROWSER||(d=null),a=this.getEmbeddedSvg(a,b,d,null,l,m,k);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var k=this.pages[f].mapping; -this.currentPage!=this.pages[f]&&null!=k&&k.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(k.graphModel),k.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[f].node,d),k.needsUpdate=!1);c.appendChild(this.pages[f].node)}}return c};EditorUi.prototype.getFileData=function(a,b,c,d,e,g,h,l,m){e=null!=e?e:!0;h=null!=h?h:this.getXmlFileData(e,null!=g?g:!1);m=null!=m?m:this.getCurrentFile();g=this.editor.graph; -if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=m&&/(\.svg)$/i.test(m.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var f=g.getGlobalVariable,k=this.pages[0];g.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(k.root)}a=this.createFileData(h,g,m,window.location.href,a,b,c,d,e,l);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);return a}; +App.MODE_BROWSER||(d=null),a=this.getEmbeddedSvg(a,b,d,null,m,l,k);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var k=this.pages[f].mapping; +this.currentPage!=this.pages[f]&&null!=k&&k.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(k.graphModel),k.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[f].node,d),k.needsUpdate=!1);c.appendChild(this.pages[f].node)}}return c};EditorUi.prototype.getFileData=function(a,b,c,d,e,g,h,m,l){e=null!=e?e:!0;h=null!=h?h:this.getXmlFileData(e,null!=g?g:!1);l=null!=l?l:this.getCurrentFile();g=this.editor.graph; +if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=l&&/(\.svg)$/i.test(l.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var f=g.getGlobalVariable,k=this.pages[0];g.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(k.root)}a=this.createFileData(h,g,l,window.location.href,a,b,c,d,e,m);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);return a}; EditorUi.prototype.getHtml=function(a,b,c,d,e,g){g=null!=g?g:!0;var f=null,k="https://www.draw.io/js/embed-static.min.js";if(null!=b){var f=g?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),n=b.view.scale;g=Math.floor(f.x/n-b.view.translate.x);n=Math.floor(f.y/n-b.view.translate.y);f=b.background;null==e&&(b=this.getBasenames().join(";"),0<b.length&&(k="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",g);a.setAttribute("y0",n)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom", "1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=d&&a.setAttribute("edit",d));null!=e&&(e=e.replace(/&/g,"&"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";d=this.editor.graph.compress(a);this.editor.graph.decompress(d)!=a&&(d=encodeURIComponent(a));return(null==e?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=e?' xmlns="http://www.w3.org/1999/xhtml">': ">")+"\n<head>\n"+(null==e?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=e?'<meta http-equiv="refresh" content="0;URL=\''+e+"'\"/>\n":"")+"</head>\n<body"+(null==e&&null!=f&&f!=mxConstants.NONE?' style="background-color:'+f+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==e?'<script type="text/javascript" src="'+k+'">\x3c/script>': @@ -7216,16 +7249,16 @@ mxUtils.parseXml(a).documentElement:null;a=null!=b?this.editor.extractGraphModel 0))];b=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=b&&(this.fileNode=b.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(b.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(b);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var b=this.getCurrentFile(),b=null!=b&&null!= b.getTitle()?b.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(b)||/(\.html)$/i.test(b)||/(\.svg)$/i.test(b)||/(\.png)$/i.test(b))b=b.substring(0,b.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(b=b+"-"+this.currentPage.getName());return b};EditorUi.prototype.downloadFile=function(a,b,c,d,e,g,h){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var f=this.getBaseFilename(!e), k=f+"."+a;if("xml"==a){var n='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,e));this.saveData(k,a,n,"text/xml")}else if("html"==a)n=this.getHtml2(this.getFileData(!0),this.editor.graph,f),this.saveData(k,a,n,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?k=f+".png":"jpeg"==a&&(k=f+".jpg"),this.saveRequest(k,a,mxUtils.bind(this,function(b,c){try{var f= -this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=f;return e}catch(z){this.handleError(z)}}));else{var t=null,l=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(t)}))});if("svg"==a){var v=this.editor.graph.background;if(h||v== -mxConstants.NONE)v=null;var u=this.editor.graph.getSvg(v,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(u);this.convertImages(u,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();l('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else k=f+".svg",t=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();l(a)}),d)}}catch(L){this.handleError(L)}}; +this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var e=this.createDownloadRequest(b,a,d,c,h);this.editor.graph.pageVisible=f;return e}catch(z){this.handleError(z)}}));else{var t=null,m=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(k,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(t)}))});if("svg"==a){var u=this.editor.graph.background;if(h||u== +mxConstants.NONE)u=null;var v=this.editor.graph.getSvg(u,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(v);this.convertImages(v,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();m('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else k=f+".svg",t=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();m(a)}),d)}}catch(E){this.handleError(E)}}; EditorUi.prototype.createDownloadRequest=function(a,b,c,d,e){var f=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var k="";if(f.width*f.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};f="0";if("xmlpng"==b&&(f="1",b="png",null!=this.pages&&null!=this.currentPage))for(var n=0;n<this.pages.length;n++)if(this.pages[n]==this.currentPage){k="&from="+n;break}n=this.editor.graph.background;"png"==b&&e&&(n=mxConstants.NONE); return new mxXmlRequest(EXPORT_URL,"format="+b+k+"&bg="+(null!=n?n:mxConstants.NONE)+"&base64="+d+"&embedXml="+f+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml, null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,k=null,n=mxUtils.bind(this,function(){var b=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), mxUtils.bind(this,function(a){b===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),g()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(n,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();n()}));g();n()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&& (e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function b(a){var b=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);b.addListener(mxEvent.CLICK,function(b,c){editorUi.alert(a.tooltip)});return b}var c=null;if(null!=a&&0<a.length&&(c=mxUtils.parseXml(a),a=null!=c?c.documentElement:null,null!=a&&"updates"==a.nodeName)){var d= -this.editor.graph,f=d.getModel();f.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var g=f.getCell(a.getAttribute("id"));if(null!=g){try{var h=a.getAttribute("value");if(null!=h){var l=mxUtils.parseXml(h).documentElement;if(null!=l)if("1"==l.getAttribute("replace-value"))f.setValue(g,l);else for(var p=l.attributes,A=0;A<p.length;A++)d.setAttributeForCell(g,p[A].nodeName,0<p[A].nodeValue.length?p[A].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+ -g.id+": "+z)}try{var m=a.getAttribute("style");null!=m&&d.model.setStyle(g,m)}catch(z){null!=window.console&&console.log("Error in style for "+g.id+": "+z)}try{var B=a.getAttribute("icon");if(null!=B){var x=0<B.length?JSON.parse(B):null;null!=x&&x.append||d.removeCellOverlays(g);null!=x&&d.addCellOverlay(g,b(x))}}catch(z){null!=window.console&&console.log("Error in icon for "+g.id+": "+z)}try{var L=a.getAttribute("geometry");if(null!=L){var L=JSON.parse(L),y=d.getCellGeometry(g);if(null!=y){y=y.clone(); -for(key in L){var D=parseFloat(L[key]);"dx"==key?y.x+=D:"dy"==key?y.y+=D:"dw"==key?y.width+=D:"dh"==key?y.height+=D:y[key]=parseFloat(L[key])}d.model.setGeometry(g,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+g.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))), +this.editor.graph,f=d.getModel();f.beginUpdate();var e=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var g=f.getCell(a.getAttribute("id"));if(null!=g){try{var h=a.getAttribute("value");if(null!=h){var m=mxUtils.parseXml(h).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))f.setValue(g,m);else for(var p=m.attributes,A=0;A<p.length;A++)d.setAttributeForCell(g,p[A].nodeName,0<p[A].nodeValue.length?p[A].nodeValue:null)}}catch(z){null!=window.console&&console.log("Error in value for "+ +g.id+": "+z)}try{var l=a.getAttribute("style");null!=l&&d.model.setStyle(g,l)}catch(z){null!=window.console&&console.log("Error in style for "+g.id+": "+z)}try{var B=a.getAttribute("icon");if(null!=B){var x=0<B.length?JSON.parse(B):null;null!=x&&x.append||d.removeCellOverlays(g);null!=x&&d.addCellOverlay(g,b(x))}}catch(z){null!=window.console&&console.log("Error in icon for "+g.id+": "+z)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),y=d.getCellGeometry(g);if(null!=y){y=y.clone(); +for(key in E){var D=parseFloat(E[key]);"dx"==key?y.x+=D:"dy"==key?y.y+=D:"dw"==key?y.width+=D:"dh"==key?y.height+=D:y[key]=parseFloat(E[key])}d.model.setGeometry(g,y)}}}catch(z){null!=window.console&&console.log("Error in icon for "+g.id+": "+z)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,f)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))), a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(e=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{f.endUpdate()}null!=e&&this.chromelessResize&&this.chromelessResize(!0,e)}return c};EditorUi.prototype.fileLoaded=function(a){var b=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener), c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+ @@ -7241,20 +7274,20 @@ EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototyp !1,!0))}else null!=e.xml&&(k=this.stringToCells(this.editor.graph.decompress(e.xml)),0<k.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(k,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var k=0;k<b.length;k++)mxUtils.bind(this,function(a){var b=a.data;null!=b&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){b=this.convertDataUri(b);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(c+= "aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+b,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var b=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(b,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[k]);c=null!=c&&0<c.length?c:a.getTitle();var n=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var g= n.parentNode.previousSibling;c=g.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&g.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var p=document.createElement("div");p.style.position="absolute";p.style.right="0px";p.style.top="0px";p.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(p.style.backgroundColor="inherit");g.style.position="relative";var h=document.createElement("img");h.setAttribute("src",Dialog.prototype.closeImage);h.setAttribute("title", -mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var l=null;if(".scratchpad"!=a.title||this.closableScratchpad)p.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=l?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var m= -this.editor.graph,x=null,L=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),y=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=x&&null!=x.parentNode&&x.parentNode.removeChild(x),x=h.cloneNode(!1),x.setAttribute("src",Editor.spinImage),x.setAttribute("title",mxResources.get("saving")),x.style.cursor="default",x.style.marginRight="2px",x.style.marginTop="-2px",p.insertBefore(x,p.firstChild),g.style.paddingRight=18*p.childNodes.length+ -"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=x&&null!=x.parentNode&&(x.parentNode.removeChild(x),g.style.paddingRight=18*p.childNodes.length+"px")})):null==l&&(l=h.cloneNode(!1),l.setAttribute("src",IMAGE_PATH+"/download.png"),l.setAttribute("title",mxResources.get("save")),p.insertBefore(l,p.firstChild),mxEvent.addListener(l,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==l||a.isModified()|| -(g.style.paddingRight=18*p.childNodes.length+"px",l.parentNode.removeChild(l),l=null)});mxEvent.consume(c)})),g.style.paddingRight=18*p.childNodes.length+"px")}),D=mxUtils.bind(this,function(a,c,d,e){a=m.cloneCells(mxUtils.sortCells(m.model.getTopmostCells(a)));for(var k=0;k<a.length;k++){var g=m.getCellGeometry(a[k]);null!=g&&g.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), -w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);y(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(m.isSelectionEmpty())m.getRubberband().isActive()?(m.getRubberband().execute(a),m.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=m.getSelectionCells(),c=m.view.getBounds(b),d=m.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=m.view.translate.x; -c.y-=m.view.translate.y;D(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",n.style.cursor="copy",m.panningManager.stop(),m.autoScroll=!1,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!1), -null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){m.isMouseDown&&null!=m.panningManager&&null!=m.graphHandler&&(n.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),n.style.cursor="default",this.sidebar.showTooltips=!0,m.panningManager.stop(),m.graphHandler.reset(),m.isMouseDown=!1,m.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){m.isMouseDown&& -null!=m.graphHandler.shape&&(m.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",m.autoScroll=!0,null!=m.graphHandler.guide&&m.graphHandler.guide.setVisible(!0),null!=m.graphHandler.hint&&(m.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)"; -a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,g,p,h,l,t,m){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ -this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,p,h),c)],c[0].vertex=!0,D(c,new mxRectangle(0,0,p,h),a,mxEvent.isAltDown(a)?null:l.substring(0,l.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var v=!1,A=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(k.documentElement));e(g,n);b=b.concat(g);y(a); -this.spinner.stop();v=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var p=k.documentElement.getElementsByTagName("diagram"),k=0;k<p.length;k++){var g=mxUtils.getTextContent(p[k]),h=this.stringToCells(this.editor.graph.decompress(g)),l=this.editor.graph.getBoundingBoxFromGeometry(h);D(h,new mxRectangle(0,0,l.width,l.height),a)}v=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}v||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); -null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=m&&null!=l&&(/(\.vsdx?)($|\?)/i.test(l)||/(\.vssx)($|\?)/i.test(l))?this.importVisio(m,function(a){A(a,"text/xml")},null,l):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,l)&&null!=m?this.parseFile(m,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?A(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": -"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):A(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",n.style.cursor="");a.stopPropagation();a.preventDefault()}));h=h.cloneNode(!1);h.setAttribute("src",Editor.editImage);h.setAttribute("title",mxResources.get("edit"));p.insertBefore(h,p.firstChild);mxEvent.addListener(h,"click",L);mxEvent.addListener(n, -"dblclick",function(a){mxEvent.getSource(a)==n&&L(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));p.insertBefore(c,p.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, +mxResources.get("close"));h.setAttribute("valign","absmiddle");h.setAttribute("border","0");h.style.margin="0 3px";var m=null;if(".scratchpad"!=a.title||this.closableScratchpad)p.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(b){if(!mxEvent.isConsumed(b)){var c=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=m?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(b)}}));if(a.isEditable()){var l= +this.editor.graph,x=null,E=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),n,b,a,a.getMode());mxEvent.consume(c)}),y=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=x&&null!=x.parentNode&&x.parentNode.removeChild(x),x=h.cloneNode(!1),x.setAttribute("src",Editor.spinImage),x.setAttribute("title",mxResources.get("saving")),x.style.cursor="default",x.style.marginRight="2px",x.style.marginTop="-2px",p.insertBefore(x,p.firstChild),g.style.paddingRight=18*p.childNodes.length+ +"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=x&&null!=x.parentNode&&(x.parentNode.removeChild(x),g.style.paddingRight=18*p.childNodes.length+"px")})):null==m&&(m=h.cloneNode(!1),m.setAttribute("src",IMAGE_PATH+"/download.png"),m.setAttribute("title",mxResources.get("save")),p.insertBefore(m,p.firstChild),mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==m||a.isModified()|| +(g.style.paddingRight=18*p.childNodes.length+"px",m.parentNode.removeChild(m),m=null)});mxEvent.consume(c)})),g.style.paddingRight=18*p.childNodes.length+"px")}),D=mxUtils.bind(this,function(a,c,d,e){a=l.cloneCells(mxUtils.sortCells(l.model.getTopmostCells(a)));for(var k=0;k<a.length;k++){var g=l.getCellGeometry(a[k]);null!=g&&g.translate(-c.x,-c.y)}n.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), +w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);y(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(l.isSelectionEmpty())l.getRubberband().isActive()?(l.getRubberband().execute(a),l.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var b=l.getSelectionCells(),c=l.view.getBounds(b),d=l.view.scale;c.x/=d;c.y/=d;c.width/=d;c.height/=d;c.x-=l.view.translate.x; +c.y-=l.view.translate.y;D(b,c)}mxEvent.consume(a)});n.style.border="3px solid transparent";mxEvent.addGestureListeners(n,function(){},mxUtils.bind(this,function(a){l.isMouseDown&&null!=l.panningManager&&null!=l.graphHandler.shape&&(l.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)",n.style.cursor="copy",l.panningManager.stop(),l.autoScroll=!1,null!=l.graphHandler.guide&&l.graphHandler.guide.setVisible(!1), +null!=l.graphHandler.hint&&(l.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){l.isMouseDown&&null!=l.panningManager&&null!=l.graphHandler&&(n.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),n.style.cursor="default",this.sidebar.showTooltips=!0,l.panningManager.stop(),l.graphHandler.reset(),l.isMouseDown=!1,l.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(n,"mouseleave",mxUtils.bind(this,function(a){l.isMouseDown&& +null!=l.graphHandler.shape&&(l.graphHandler.shape.node.style.visibility="visible",n.style.border="3px solid transparent",n.style.cursor="",l.autoScroll=!0,null!=l.graphHandler.guide&&l.graphHandler.guide.setVisible(!0),null!=l.graphHandler.hint&&(l.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(n,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":n.style.border="3px dotted rgb(254, 137, 12)"; +a.dataTransfer.dropEffect="copy";n.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"drop",mxUtils.bind(this,function(a){n.style.border="3px solid transparent";n.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,k,g,p,h,m,t,l){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ +this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,p,h),c)],c[0].vertex=!0,D(c,new mxRectangle(0,0,p,h),a,mxEvent.isAltDown(a)?null:m.substring(0,m.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var q=!1,v=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var g=JSON.parse(mxUtils.getTextContent(k.documentElement));e(g,n);b=b.concat(g);y(a); +this.spinner.stop();q=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var p=k.documentElement.getElementsByTagName("diagram"),k=0;k<p.length;k++){var g=mxUtils.getTextContent(p[k]),h=this.stringToCells(this.editor.graph.decompress(g)),m=this.editor.graph.getBoundingBoxFromGeometry(h);D(h,new mxRectangle(0,0,m.width,m.height),a)}q=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}q||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); +null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=l&&null!=m&&(/(\.vsdx?)($|\?)/i.test(m)||/(\.vssx)($|\?)/i.test(m))?this.importVisio(l,function(a){v(a,"text/xml")},null,m):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,m)&&null!=l?this.parseFile(l,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?v(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": +"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):v(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(n,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(n.style.border="3px solid transparent",n.style.cursor="");a.stopPropagation();a.preventDefault()}));h=h.cloneNode(!1);h.setAttribute("src",Editor.editImage);h.setAttribute("title",mxResources.get("edit"));p.insertBefore(h,p.firstChild);mxEvent.addListener(h,"click",E);mxEvent.addListener(n, +"dblclick",function(a){mxEvent.getSource(a)==n&&E(a)});c=h.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));p.insertBefore(c,p.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),p.insertBefore(c,p.firstChild))}g.appendChild(p);g.style.paddingRight=18*p.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter"); if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme? (mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding= @@ -7265,84 +7298,84 @@ Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAM !0;this.editor.graph.model.execute(a)});var b=new BackgroundImageDialog(this,mxUtils.bind(this,function(b){a(b)}));this.showDialog(b.container,360,200,!0,!0);b.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,d,e){a=new LibraryDialog(this,a,b,c,d,e);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer"); a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!= this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),k=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),k=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden")); -else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var n=window.location.hash;null!=n&&"#G"==n.substring(0,2)&&(n=n.substring(2),a+=' <a href="https://drive.google.com/open?id='+n+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= -mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,k)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,d,e,g,h,l,m,p,A,E){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,g,h,E,l,m);this.showDialog(a.container,p||340,A||150,!0,!1);a.init()};EditorUi.prototype.alert= +else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var g=window.location.hash;null!=g&&"#G"==g.substring(0,2)&&(g=g.substring(2),a+=' <a href="https://drive.google.com/open?id='+g+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= +mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,k)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,d,e,g,h,m,l,p,A,F){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),d,e,g,h,F,m,l);this.showDialog(a.container,p||340,A||150,!0,!1);a.init()};EditorUi.prototype.alert= function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,c,d,e){var f=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){f();null!=b&&b()},function(){f();null!=c&&c()},d,e)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile}; EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b)))); return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; EditorUi.prototype.doSaveLocalFile=function(a,b,c,d,e){if(window.Blob&&navigator.msSaveOrOpenBlob)a=d?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height= "380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var f=document.createElement("a"),k=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof f.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),k=65==(g?parseInt(g[2],10):!1)?!1:k;if(k||this.isOffline()){f.href=URL.createObjectURL(d?this.base64ToBlob(a,c):new Blob([a],{type:c}));k?f.download=b:f.setAttribute("target","_blank");document.body.appendChild(f); try{window.setTimeout(function(){URL.revokeObjectURL(f.href)},0),f.click(),f.parentNode.removeChild(f)}catch(C){}}else this.createEchoRequest(a,b,c,d,e).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,d,e,g){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=e?"&format="+e:"")+(null!=g?"&base64="+g:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b= -b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),k=0;k<f;++k){for(var g=1024*k,h=Math.min(g+1024,d),p=Array(h-g),l=0;g<h;++l,++g)p[l]=c[g].charCodeAt(0);e[k]=new Uint8Array(p)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,g,h){g=null!=g?g:!1;h=null!=h?h:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)|| -"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var e=window.open("about:blank");null==e?mxUtils.popup(a,!0):(e.document.write(mxUtils.htmlEntities(a,!1)),e.document.close())}else this.openInNewWindow(a,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(f,mxUtils.bind(this,function(e){try{this.exportFile(a,b,c,d,f,e)}catch(E){this.handleError(E)}}))}catch(A){this.handleError(A)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), +b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),k=0;k<f;++k){for(var g=1024*k,h=Math.min(g+1024,d),p=Array(h-g),m=0;g<h;++m,++g)p[m]=c[g].charCodeAt(0);e[k]=new Uint8Array(p)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,d,e,g,h){g=null!=g?g:!1;h=null!=h?h:"vsdx"!=e&&(!mxClient.IS_IOS||!navigator.standalone);e=this.getServiceCount(g);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,f){try{if("_blank"==f)if(null==c||"image/"!=c.substring(0,6)|| +"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var e=window.open("about:blank");null==e?mxUtils.popup(a,!0):(e.document.write(mxUtils.htmlEntities(a,!1)),e.document.close())}else this.openInNewWindow(a,c,d);else f==App.MODE_DEVICE||"download"==f?this.doSaveLocalFile(a,b,c,d):null!=b&&0<b.length&&this.pickFolder(f,mxUtils.bind(this,function(e){try{this.exportFile(a,b,c,d,f,e)}catch(F){this.handleError(F)}}))}catch(A){this.handleError(A)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), mxResources.get("download"),!1,g,h,null,1<e,4<e&&(!g||6>e)?3:4,a,c,d);this.showDialog(b.container,420,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+ '"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= -"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var e=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});e.spin(this.exportDialog); -this.exportToCanvas(mxUtils.bind(this,function(a){e.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, +"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog); +this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, function(){this.openInNewWindow(c.substring(c.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,d,e){this.isLocalFileSave()?this.saveLocalFile(c, -a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,g,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){if("_blank"==e||null!=a&&0<a.length){var f=c("_blank"==e?null:a,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=f&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?f.simulate(document, -"_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,g,!0,e,c)}catch(B){this.handleError(B)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,g,!0,e,c)}catch(B){this.handleError(B)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); -this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,h,null,1<f,4<f?3:4,d,g,e);this.showDialog(a.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,d,e,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,g,h,l,m){if(this.spinner.spin(document.body, -mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var k=this.editor.graph.getSvg(f,a,h,l,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",t=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,m));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS? +a,d,e,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,f){return this.createEchoRequest(c,a,d,e,b,f)}),c,e,d)};EditorUi.prototype.saveRequest=function(a,b,c,d,e,g,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var f=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,f){if("_blank"==f||null!=a&&0<a.length){var e=c("_blank"==f?null:a,f==App.MODE_DEVICE||"download"==f||null==f||"_blank"==f?"0":"1");null!=e&&(f==App.MODE_DEVICE||"download"==f||"_blank"==f?e.simulate(document, +"_blank"):this.pickFolder(f,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==b?"application/pdf":"image/"+b;if(null!=d)try{this.exportFile(d,a,g,!0,f,c)}catch(B){this.handleError(B)}else this.spinner.spin(document.body,mxResources.get("saving"))&&e.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=e.getStatus()&&299>=e.getStatus())try{this.exportFile(e.getText(),a,g,!0,f,c)}catch(B){this.handleError(B)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); +this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,h,null,1<f,4<f?3:4,d,g,e);this.showDialog(a.container,380,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,d,e,g){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,d,e,g,h,m,l){if(this.spinner.spin(document.body, +mxResources.get("export"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;f=b?null:this.editor.graph.background;f==mxConstants.NONE&&(f=null);null==f&&0==b&&(f="#ffffff");var k=this.editor.graph.getSvg(f,a,h,m,null,c);d&&this.editor.graph.addSvgShadow(k);var n=this.getBaseFilename()+".svg",t=mxUtils.bind(this,function(a){this.spinner.stop();e&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,l));if(null!=this.editor.fontCss){var b=a.ownerDocument,b=null!=b.createElementNS? b.createElementNS(mxConstants.NS_SVG,"style"):b.createElement("style");b.setAttribute("type","text/css");mxUtils.setTextContent(b,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(b)}var d='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||d.length<=MAX_REQUEST_SIZE?this.saveData(n,"svg",d,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"), mxUtils.bind(this,function(){mxUtils.popup(d)}))});this.convertMath(this.editor.graph,k,!1,mxUtils.bind(this,function(){g?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(k,t,this.thumbImageCache)):t(k)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,d,e,g){g=null!=g?g:!0;var f=document.createElement("input");f.style.marginRight="8px";f.style.marginTop="16px";f.setAttribute("type","checkbox");c&&(f.setAttribute("checked","checked"),f.defaultChecked=!0);d&&f.setAttribute("disabled", -"disabled");g&&(a.appendChild(f),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(a))})));return f};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),e="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&& -(e=window.location.href);var f=document.createElement("select");f.style.width="120px";f.style.marginLeft="8px";f.style.marginRight="10px";f.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));f.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");f.appendChild(d);a.appendChild(f);mxEvent.addListener(f,"change",mxUtils.bind(this,function(){if("custom"== -f.value){var a=new FilenameDialog(this,e,mxResources.get("ok"),function(a){null!=a?e=a:f.value="blank"},mxResources.get("url"),null,null,null,null,function(){f.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===f.value?"_blank":e:null},getEditInput:function(){return c}, -getEditSelect:function(){return f}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=f&&f!=mxConstants.NONE?"border:1px solid black;background-color:"+f:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft= +"disabled");g&&(a.appendChild(f),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),e||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=f.getAttribute("disabled")&&(f.checked=!f.checked,mxEvent.consume(a))})));return f};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),f="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&& +(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");e.appendChild(d);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"== +e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return c}, +getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){k.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=f&&f!=mxConstants.NONE?"border:1px solid black;background-color:"+f:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft= "8px";d.style.marginRight="10px";d.className="geBtn";var e=document.createElement("option");e.setAttribute("value","auto");mxUtils.write(e,mxResources.get("automatic"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","blank");mxUtils.write(e,mxResources.get("openInNewWindow"));d.appendChild(e);e=document.createElement("option");e.setAttribute("value","self");mxUtils.write(e,mxResources.get("openInThisWindow"));d.appendChild(e);b&&(e=document.createElement("option"),e.setAttribute("value", "frame"),mxUtils.write(e,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(e));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var f="#0000ff",k=null,k=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(f||"none",function(a){f=a;c()});mxEvent.consume(a)}));c();k.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";k.style.marginLeft="4px";k.style.height="22px";k.style.width="22px";k.style.position="relative";k.style.top=mxClient.IS_IE|| -mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,h,l){var f=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),g&& -k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(f=this.getCurrentFile(),l||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),a=!1)); -a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,g,h,l,m,p,A){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);m||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled; -c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];h&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),f.resize=!0);l&&c.push("layers");0<c.length&&(m&&c.push("lightbox"),f.toolbar=c.join(" "));null!=p&&0<p.length&&(f.edit=p);null!=a?f.url=a:f.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+ +mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";k.className="geColorBtn";a.appendChild(k);mxUtils.br(a);return{getColor:function(){return f},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,c,d,e,g,h,m){var f=this.getCurrentFile(),k=[];d&&(k.push("lightbox=1"),"auto"!=a&&k.push("target="+a),null!=b&&b!=mxConstants.NONE&&k.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=e&&0<e.length&&k.push("edit="+encodeURIComponent(e)),g&& +k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&k.push("page="+a);break}a=!0;null!=h?c="#U"+encodeURIComponent(h):(f=this.getCurrentFile(),m||null==f||f.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+f.getHash(),a=!1)); +a&&null!=f&&null!=f.getTitle()&&f.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(f.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,d,e,g,h,m,l,p,A){this.getBasenames();var f={};""!=e&&e!=mxConstants.NONE&&(f.highlight=e);"auto"!==d&&(f.target=d);l||(f.lightbox=!1);f.nav=this.editor.graph.foldingEnabled; +c=parseInt(c);isNaN(c)||100==c||(f.zoom=c/100);c=[];h&&(c.push("pages"),f.resize=!0,null!=this.pages&&null!=this.currentPage&&(f.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),f.resize=!0);m&&c.push("layers");0<c.length&&(l&&c.push("lightbox"),f.toolbar=c.join(" "));null!=p&&0<p.length&&(f.edit=p);null!=a?f.url=a:f.xml=this.getFileData(!0,null,null,null,null,!h);b='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+ mxUtils.htmlEntities(JSON.stringify(f))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";A(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3"); mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(f);var k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");f=g.cloneNode(!0);f.setAttribute("value", "copy");k.appendChild(f);var n=document.createElement("span");mxUtils.write(n,mxResources.get("includeCopyOfMyDiagram"));k.appendChild(n);mxUtils.br(k);k.appendChild(g);n=document.createElement("span");mxUtils.write(n,mxResources.get("publicDiagramUrl"));k.appendChild(n);var p=this.getCurrentFile();null==c&&null!=p&&p.constructor==window.DriveFile&&(n=document.createElement("a"),n.style.paddingLeft="12px",n.style.color="gray",n.setAttribute("href","javascript:void(0);"),mxUtils.write(n,mxResources.get("share")), -k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));f.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),l=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight= -"12px";m.value="100%";e.appendChild(m);var t=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,L=L=this.addCheckbox(e,mxResources.get("allPages"),k,!k),y=this.addCheckbox(e,mxResources.get("layers"),!0),D=this.addCheckbox(e,mxResources.get("lightbox"),!0),I=this.addEditButton(e,D),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(D,"change",function(){D.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&D.checked? -I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,l.checked,m.value,h.getTarget(),h.getColor(),t.checked,L.checked,y.checked,D.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=document.createElement("h3"); +k.appendChild(n),mxEvent.addListener(n,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(p.getId())})));f.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(k);var h=this.addLinkSection(e),m=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.style.marginRight= +"12px";l.value="100%";e.appendChild(l);var t=this.addCheckbox(e,mxResources.get("fit"),!0),k=null!=this.pages&&1<this.pages.length,E=E=this.addCheckbox(e,mxResources.get("allPages"),k,!k),y=this.addCheckbox(e,mxResources.get("layers"),!0),D=this.addCheckbox(e,mxResources.get("lightbox"),!0),I=this.addEditButton(e,D),z=I.getEditInput();z.style.marginBottom="16px";mxEvent.addListener(D,"change",function(){D.checked?z.removeAttribute("disabled"):z.setAttribute("disabled","disabled");z.checked&&D.checked? +I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,m.checked,l.value,h.getTarget(),h.getColor(),t.checked,E.checked,y.checked,D.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,d,e,g){var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=document.createElement("h3"); mxUtils.write(k,a||mxResources.get("link"));k.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";f.appendChild(k);var n=this.getCurrentFile(),k="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=n&&n.constructor==window.DriveFile&&!b){a=80;var k="https://desk.draw.io/support/solutions/articles/16000039384",p=document.createElement("div");p.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; var h=document.createElement("div");h.style.whiteSpace="normal";mxUtils.write(h,mxResources.get("linkAccountRequired"));p.appendChild(h);h=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(n.getId())}));h.style.marginTop="12px";h.className="geBtn";p.appendChild(h);f.appendChild(p);h=document.createElement("a");h.style.paddingLeft="12px";h.style.color="gray";h.style.fontSize="11px";h.setAttribute("href","javascript:void(0);");mxUtils.write(h,mxResources.get("check")); -p.appendChild(h);mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,m=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),l=document.createElement("input"), -l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",f.appendChild(l),mxUtils.write(f,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",f.appendChild(m),mxUtils.br(f);var t=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var q=null; +p.appendChild(h);mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var m=null,l=null;if(null!=c||null!=d)a+=30,mxUtils.write(f,mxResources.get("width")+":"),m=document.createElement("input"), +m.setAttribute("type","text"),m.style.marginRight="16px",m.style.width="50px",m.style.marginLeft="6px",m.style.marginRight="16px",m.style.marginBottom="10px",m.value="100%",f.appendChild(m),mxUtils.write(f,mxResources.get("height")+":"),l=document.createElement("input"),l.setAttribute("type","text"),l.style.width="50px",l.style.marginLeft="6px",l.style.marginBottom="10px",l.value=d+"px",f.appendChild(l),mxUtils.br(f);var t=this.addLinkSection(f,g);c=null!=this.pages&&1<this.pages.length;var q=null; if(null==n||n.constructor!=window.DriveFile||b)q=this.addCheckbox(f,mxResources.get("allPages"),c,!c);var u=this.addCheckbox(f,mxResources.get("lightbox"),!0),D=this.addEditButton(f,u),I=D.getEditInput(),z=this.addCheckbox(f,mxResources.get("layers"),!0);z.style.marginLeft=I.style.marginLeft;z.style.marginBottom="16px";z.style.marginTop="8px";mxEvent.addListener(u,"change",function(){u.checked?(z.removeAttribute("disabled"),I.removeAttribute("disabled")):(z.setAttribute("disabled","disabled"),I.setAttribute("disabled", -"disabled"));I.checked&&u.checked?D.getEditSelect().removeAttribute("disabled"):D.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(t.getTarget(),t.getColor(),null==q?!0:q.checked,u.checked,D.getLink(),z.checked,null!=l?l.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select(): +"disabled"));I.checked&&u.checked?D.getEditSelect().removeAttribute("disabled"):D.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){e(t.getTarget(),t.getColor(),null==q?!0:q.checked,u.checked,D.getLink(),z.checked,null!=m?m.value:null,null!=l?l.value:null)}),null,mxResources.get("create"),k);this.showDialog(b.container,340,254+a,!0,!0);null!=m?(m.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?m.select(): document.execCommand("selectAll",!1,null)):t.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(f);var k=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"), -!0),f=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=g?g.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,g,h,l){h=null!=h?h:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var k= -this.editor.graph,n="jpeg"==l?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(m);mxUtils.write(f,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";f.appendChild(t);mxUtils.write(f,mxResources.get("borderWidth")+":"); -var v=document.createElement("input");v.setAttribute("type","text");v.style.marginRight="16px";v.style.width="60px";v.style.marginLeft="4px";v.value=this.lastExportBorder||"0";f.appendChild(v);mxUtils.br(f);var q=this.addCheckbox(f,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=l),u=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),w=document.createElement("input");w.style.marginTop="16px";w.style.marginRight= +!0),f=this.editor.graph,n=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=n&&(n.style.marginBottom="16px");a=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!k.checked,null!=g?g.checked:!1,null!=n?n.checked:!1)}),null,a,b);this.showDialog(a.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,d,e,g,h,m){h=null!=h?h:!0;var f=document.createElement("div");f.style.whiteSpace="nowrap";var k= +this.editor.graph,n="jpeg"==m?196:300,l=document.createElement("h3");mxUtils.write(l,a);l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";f.appendChild(l);mxUtils.write(f,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";f.appendChild(t);mxUtils.write(f,mxResources.get("borderWidth")+":"); +var q=document.createElement("input");q.setAttribute("type","text");q.style.marginRight="16px";q.style.width="60px";q.style.marginLeft="4px";q.value=this.lastExportBorder||"0";f.appendChild(q);mxUtils.br(f);var v=this.addCheckbox(f,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=m),u=this.addCheckbox(f,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),w=document.createElement("input");w.style.marginTop="16px";w.style.marginRight= "8px";w.style.marginLeft="24px";w.setAttribute("disabled","disabled");w.setAttribute("type","checkbox");g&&(f.appendChild(w),mxUtils.write(f,mxResources.get("crop")),mxUtils.br(f),n+=26,mxEvent.addListener(u,"change",function(){u.checked?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(w.setAttribute("checked","checked"),w.defaultChecked=!0);var I=this.addCheckbox(f,mxResources.get("shadow"),k.shadowVisible),z=document.createElement("input");z.style.marginTop= -"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(f.appendChild(z),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),n+=26);var H=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=l),F=null!=this.pages&&1<this.pages.length,K=this.addCheckbox(f,F?mxResources.get("allPages"):"",F,!F,null,"jpeg"!=l);K.style.marginLeft="24px";K.style.marginBottom="16px";F||(K.style.visibility= -"hidden");mxEvent.addListener(H,"change",function(){H.checked&&F?K.removeAttribute("disabled"):K.setAttribute("disabled","disabled")});h&&F||K.setAttribute("disabled","disabled");a=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=v.value;this.lastExportZoom=t.value;e(t.value,q.checked,!u.checked,I.checked,H.checked,z.checked,v.value,w.checked,!K.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| +"16px";z.style.marginRight="8px";z.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||z.setAttribute("disabled","disabled");b&&(f.appendChild(z),mxUtils.write(f,mxResources.get("embedImages")),mxUtils.br(f),n+=26);var J=this.addCheckbox(f,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=m),G=null!=this.pages&&1<this.pages.length,L=this.addCheckbox(f,G?mxResources.get("allPages"):"",G,!G,null,"jpeg"!=m);L.style.marginLeft="24px";L.style.marginBottom="16px";G||(L.style.visibility= +"hidden");mxEvent.addListener(J,"change",function(){J.checked&&G?L.removeAttribute("disabled"):L.setAttribute("disabled","disabled")});h&&G||L.setAttribute("disabled","disabled");a=new CustomDialog(this,f,mxUtils.bind(this,function(){this.lastExportBorder=q.value;this.lastExportZoom=t.value;e(t.value,v.checked,!u.checked,I.checked,J.checked,z.checked,q.value,w.checked,!L.checked)}),null,c,d);this.showDialog(a.container,340,n,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,d,e){var f=document.createElement("div");f.style.whiteSpace="nowrap";var k=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";f.appendChild(g)}var n=this.addCheckbox(f,mxResources.get("fit"),!0),p=this.addCheckbox(f,mxResources.get("shadow"),k.shadowVisible&&d, -!d),h=this.addCheckbox(f,c),l=this.addCheckbox(f,mxResources.get("lightbox"),!0),m=this.addEditButton(f,l),t=m.getEditInput(),u=1<k.model.getChildCount(k.model.getRoot()),y=this.addCheckbox(f,mxResources.get("layers"),u,!u);y.style.marginLeft=t.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(l,"change",function(){l.checked?(u&&y.removeAttribute("disabled"),t.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled")); -t.checked&&l.checked?m.getEditSelect().removeAttribute("disabled"):m.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(n.checked,p.checked,h.checked,l.checked,m.getLink(),y.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,g,h,l){function f(b){var f=" ",n="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",n+="cursor:pointer;");a&&(n+="max-width:100%;");var p="";c&&(p=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+p+(""!=n?' style="'+n+'"':"")+f+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");f(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}), -null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?f("data:image/png;base64,"+m.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})}; -EditorUi.prototype.createEmbedSvg=function(a,b,c,d,e,g,h){var f=this.editor.graph.getSvg(),k=f.getElementsByTagName("a");if(null!=k)for(var n=0;n<k.length;n++){var l=k[n].getAttribute("href");null!=l&&"#"==l.charAt(0)&&"_blank"==k[n].getAttribute("target")&&k[n].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(f);if(c){var m=" ",t="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",t+="cursor:pointer;");a&&(t+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(a){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=t?' style="'+t+'"':"")+m+"/>")}))}else t="",d&&(f.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),t+="cursor:pointer;"),a&&(a=parseInt(f.getAttribute("width")),b=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+a+" "+b),t+="max-width:100%;max-height:"+b+"px;",f.removeAttribute("height")),""!=t&&f.setAttribute("style",t),h(mxUtils.getXml(f))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+ +!d),h=this.addCheckbox(f,c),m=this.addCheckbox(f,mxResources.get("lightbox"),!0),l=this.addEditButton(f,m),t=l.getEditInput(),u=1<k.model.getChildCount(k.model.getRoot()),y=this.addCheckbox(f,mxResources.get("layers"),u,!u);y.style.marginLeft=t.style.marginLeft;y.style.marginBottom="12px";y.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?(u&&y.removeAttribute("disabled"),t.removeAttribute("disabled")):(y.setAttribute("disabled","disabled"),t.setAttribute("disabled","disabled")); +t.checked&&m.checked?l.getEditSelect().removeAttribute("disabled"):l.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,f,mxUtils.bind(this,function(){a(n.checked,p.checked,h.checked,m.checked,l.getLink(),y.checked)}),null,mxResources.get("embed"),e);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,d,e,g,h,m){function f(b){var f=" ",p="";d&&(f=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",p+="cursor:pointer;");a&&(p+="max-width:100%;");var n="";c&&(n=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+b+'"'+n+(""!=p?' style="'+p+'"':"")+f+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=d?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");f(a)}),null,null,null,mxUtils.bind(this,function(a){m({message:mxResources.get("unknownError")})}), +null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),k.width*k.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var n="";c&&(n="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var l=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+n+"&xml="+encodeURIComponent(b));l.send(mxUtils.bind(this,function(){200<=l.getStatus()&&299>=l.getStatus()?f("data:image/png;base64,"+l.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})}; +EditorUi.prototype.createEmbedSvg=function(a,b,c,d,e,g,h){var f=this.editor.graph.getSvg(),k=f.getElementsByTagName("a");if(null!=k)for(var p=0;p<k.length;p++){var n=k[p].getAttribute("href");null!=n&&"#"==n.charAt(0)&&"_blank"==k[p].getAttribute("target")&&k[p].removeAttribute("target")}d&&f.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(f);if(c){var m=" ",l="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(f,mxUtils.bind(this,function(a){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+m+"/>")}))}else l="",d&&(f.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(e?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(f.getAttribute("width")),b=parseInt(f.getAttribute("height")),f.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",f.removeAttribute("height")),""!=l&&f.setAttribute("style",l),h(mxUtils.getXml(f))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var b=Math.floor(a/31536E3);if(1<b)return b+" "+mxResources.get("years");b=Math.floor(a/2592E3);if(1<b)return b+ " "+mxResources.get("months");b=Math.floor(a/86400);if(1<b)return b+" "+mxResources.get("days");b=Math.floor(a/3600);if(1<b)return b+" "+mxResources.get("hours");b=Math.floor(a/60);return 1<b?b+" "+mxResources.get("minutes"):1==b?b+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,d){d()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"==a.nodeName){var d=a.getElementsByTagName("diagram");if(0< d.length){var c=d[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=c&&(d=b.decompress(mxUtils.getTextContent(c)),null!=d&&0<d.length&&(a=mxUtils.parseXml(d).documentElement))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(q){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph, e=null;if(null!=c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,k=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?k.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container); d.model.setRoot(k.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(p){null!=b&&b(p)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg= function(a,b,c,d,e,g,h){h=b.background;h==mxConstants.NONE&&(h=null);b=b.getSvg(h,null,null,null,null,g);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=e)this.convertImages(b,mxUtils.bind(this,function(a){e((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ -mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,h,l,m){m=null!=m?m:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,l):null,m)}catch(E){"Invalid image"==E.message?this.downloadFile(m):this.handleError(E)}}),null, +mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,d,e,g,h,m,l){l=null!=l?l:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var f=this.editor.graph.isSelectionEmpty();c=null!=c?c:f;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,e?this.getFileData(!0,null,null,null,c,m):null,l)}catch(F){"Invalid image"==F.message?this.downloadFile(l):this.handleError(F)}}),null, this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,d,null,null,g,h)}catch(A){this.spinner.stop(),this.handleError(A)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var b=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,e={},f=mxUtils.bind(this,function(){if(0==d){for(var f=[c[0]],k=1;k<c.length;k++){var g= -c[k].indexOf(")");f.push('url("');f.push(e[b(c[k].substring(0,g))]);f.push('"'+c[k].substring(g))}this.editor.resolvedFontCss=f.join("");a()}});if(0<c.length)for(var g=1;g<c.length;g++){var h=c[g].indexOf(")"),l=null,p=c[g].indexOf("format(",h);0<p&&(l=b(c[g].substring(p+7,c[g].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var b="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))b= -"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c=a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){e[a]=b;d--;f()}),mxUtils.bind(this, -function(a){d--;f()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[g].substring(0,h)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,h,l,m,p,A,E,B,x){g=null!=g?g:!0;E=null!=E?E:this.editor.graph;B=null!=B?B:0;var f=m?null:E.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==m&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(E.getSvg(f,null,null,x,null,null!=h?h:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this, -function(){try{var k=document.createElement("canvas"),p=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=g?Math.min(1,Math.min(3*b/(4*h),b/p)):b/p);p=Math.ceil(l*p)+2*B;h=Math.ceil(l*h)+2*B;k.setAttribute("width",p);k.setAttribute("height",h);var n=k.getContext("2d");null!=f&&(n.beginPath(),n.rect(0,0,p,h),n.fillStyle=f,n.fill());n.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(d,B/l,B/l);a(k)},0):(n.drawImage(d,B/l,B/l),a(k))}catch(M){null!= -e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{p&&this.editor.graph.addSvgShadow(c);var k=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(E,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(k)}catch(z){null!=e&&e(z)}}),c,A)};EditorUi.prototype.createImageUrlConverter= +c[k].indexOf(")");f.push('url("');f.push(e[b(c[k].substring(0,g))]);f.push('"'+c[k].substring(g))}this.editor.resolvedFontCss=f.join("");a()}});if(0<c.length)for(var g=1;g<c.length;g++){var h=c[g].indexOf(")"),m=null,p=c[g].indexOf("format(",h);0<p&&(m=b(c[g].substring(p+7,c[g].indexOf(")",p))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var b="application/x-font-ttf";if("svg"==m||/(\.svg)($|\?)/i.test(a))b="image/svg+xml";else if("otf"==m||"embedded-opentype"==m||/(\.otf)($|\?)/i.test(a))b= +"application/x-font-opentype";else if("woff"==m||/(\.woff)($|\?)/i.test(a))b="application/font-woff";else if("woff2"==m||/(\.woff2)($|\?)/i.test(a))b="application/font-woff2";else if("eot"==m||/(\.eot)($|\?)/i.test(a))b="application/vnd.ms-fontobject";else if("sfnt"==m||/(\.sfnt)($|\?)/i.test(a))b="application/font-sfnt";var c=a;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(c,mxUtils.bind(this,function(b){e[a]=b;d--;f()}),mxUtils.bind(this, +function(a){d--;f()}),!0,null,"data:"+b+";charset=utf-8;base64,")}})(b(c[g].substring(0,h)),m)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,d,e,g,h,m,l,p,A,F,B,x){g=null!=g?g:!0;F=null!=F?F:this.editor.graph;B=null!=B?B:0;var f=l?null:F.background;f==mxConstants.NONE&&(f=null);null==f&&(f=d);null==f&&0==l&&(f=this.editor.graph.defaultPageBackgroundColor);this.convertImages(F.getSvg(f,null,null,x,null,null!=h?h:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this, +function(){try{var k=document.createElement("canvas"),p=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=b&&(m=g?Math.min(1,Math.min(3*b/(4*h),b/p)):b/p);p=Math.ceil(m*p)+2*B;h=Math.ceil(m*h)+2*B;k.setAttribute("width",p);k.setAttribute("height",h);var n=k.getContext("2d");null!=f&&(n.beginPath(),n.rect(0,0,p,h),n.fillStyle=f,n.fill());n.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){n.drawImage(d,B/m,B/m);a(k)},0):(n.drawImage(d,B/m,B/m),a(k))}catch(M){null!= +e&&e(M)}});d.onerror=function(a){null!=e&&e(a)};try{p&&this.editor.graph.addSvgShadow(c);var k=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(F,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(k)}catch(z){null!=e&&e(z)}}),c,A)};EditorUi.prototype.createImageUrlConverter= function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var e="http://"==d.substring(0,7)||"https://"==d.substring(0,8);e&&!navigator.onLine?d=c.svgBrokenImage.src:!e||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,d){null== d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,k){for(var g=a.getElementsByTagName(c),p=0;p<g.length;p++)mxUtils.bind(this,function(c){var g=d.convert(c.getAttribute(k));if(null!=g&&"data:"!=g.substring(0,5)){var p=f[g];null==p?(e++,this.convertImageToDataUri(g,function(d){null!=d&&(f[g]=d,c.setAttribute(k,d));e--;0==e&&b(a)})):c.setAttribute(k,p)}else null!=g&&c.setAttribute(k,g)})(g[p])});c("image","xlink:href");c("img","src");0==e&&b(a)};EditorUi.prototype.loadUrl= function(a,b,c,d,e,g){try{var f=d||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);e=null!=e?e:!0;var k=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var d=a.getText();if(f){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var d=Array(a.length),e=0;e<a.length;e++)d[e]= String.fromCharCode(a[e]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}b(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},f,this.timeout,function(){e&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:k})})});k()}catch(C){null!=c&&c(C)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)|| "https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image, d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(v){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,c,d,e){b=null!=b?b:0;c=null!=c?c:0;var f=[];try{var k=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),h=this.editor.extractGraphModel(g.documentElement, -null!=this.pages);if(null!=h&&"mxfile"==h.nodeName&&null!=this.pages){var p=h.getElementsByTagName("diagram");if(1==p.length)h=mxUtils.parseXml(k.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){k.model.beginUpdate();try{for(a=0;a<p.length;a++){var n=this.updatePageRoot(new DiagramPage(p[a])),l=this.pages.length;null==n.getName()&&n.setName(mxResources.get("pageWithNumber",[l+1]));k.model.execute(new ChangePage(this,n,n,l))}}finally{k.model.endUpdate()}}}null!=h&&"mxGraphModel"=== +null!=this.pages);if(null!=h&&"mxfile"==h.nodeName&&null!=this.pages){var p=h.getElementsByTagName("diagram");if(1==p.length)h=mxUtils.parseXml(k.decompress(mxUtils.getTextContent(p[0]))).documentElement;else if(1<p.length){k.model.beginUpdate();try{for(a=0;a<p.length;a++){var n=this.updatePageRoot(new DiagramPage(p[a])),m=this.pages.length;null==n.getName()&&n.setName(mxResources.get("pageWithNumber",[m+1]));k.model.execute(new ChangePage(this,n,n,m))}}finally{k.model.endUpdate()}}}null!=h&&"mxGraphModel"=== h.nodeName&&(f=k.importGraphModel(h,b,c,d))}}catch(B){throw e||this.handleError(B,mxResources.get("invalidOrMissingFile")),B;}return f};EditorUi.prototype.importVisio=function(a,b,c,d){d=null!=d?d:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var e=new FormData;e.append("file1",a,d);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= "blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(w){c(w)}else c({})});f.send(e)}else try{this.doImportVisio(a,b,c)}catch(w){c(w)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(k){this.handleError(k)}}); "undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,d,e){var f=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,d,e)}catch(v){this.handleError(v)}finally{null!=e&&e()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(f,0):(this.loadingExtensions=!0,"1"==urlParams.dev? @@ -7355,50 +7388,50 @@ d.height)),k=Math.round(d.width*e);d=Math.round(d.height*e);f.setSelectionCell(f a,f.updateCellSize(e),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(e.value)&&f.setLinkForCell(e,e.value),e.geometry.width+=f.gridSize,e.geometry.height+=f.gridSize}finally{f.getModel().endUpdate()}return[e]}}return[]};EditorUi.prototype.formatFileSize=function(a){var b=-1;do a/=1024,b++;while(1024<a);return Math.max(a,.1).toFixed(1)+ " kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[b]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var b=a.indexOf(";");0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input"); c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.importFiles(c.files,null,null,this.maxImageSize)}));c.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){if(null!=b&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(b)){var c=new Blob([a],{type:"application/octet-stream"}); -this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,d,e,g,h,l,m,p, -A){p=null!=p?p:!0;var f=!1,k=null,n=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,h)):b=this.importXml(a,c,d,p);null!=l&&l(b)});"image"==b.substring(0,5)?(m=!1,"image/png"==b.substring(0,9)&&(b=A?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(k=this.importXml(b,c,d,p),m=!0)),m||(k=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),p&&k.isGridEnabled()&&(c=k.snap(c),d= -k.snap(d)),k=[k.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,d,p);null!=l&&l(a)})):null!=m&&null!=h&&(/(\.vsdx?)($|\?)/i.test(h)||/(\.vssx)($|\?)/i.test(h))?(f=!0,this.importVisio(m,n)):!this.isOffline()&&(new XMLHttpRequest).upload&& -this.isRemoteFileFormat(a,h)?(f=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?n(a.responseText):null!=l&&l(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,p));f||null==l||l(k);return k};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +this.importVisio(c,mxUtils.bind(this,function(a){this.importXml(a)}),null,b)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,d,e,g,h,m,l,p, +A){p=null!=p?p:!0;var f=!1,k=null,n=mxUtils.bind(this,function(a){var b=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,h)):b=this.importXml(a,c,d,p);null!=m&&m(b)});"image"==b.substring(0,5)?(l=!1,"image/png"==b.substring(0,9)&&(b=A?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(k=this.importXml(b,c,d,p),l=!0)),l||(k=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),p&&k.isGridEnabled()&&(c=k.snap(c),d= +k.snap(d)),k=[k.insertVertex(null,null,"",c,d,e,g,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,d,p);null!=m&&m(a)})):null!=l&&null!=h&&(/(\.vsdx?)($|\?)/i.test(h)||/(\.vssx)($|\?)/i.test(h))?(f=!0,this.importVisio(l,n)):!this.isOffline()&&(new XMLHttpRequest).upload&& +this.isRemoteFileFormat(a,h)?(f=!0,this.parseFile(null!=l?l:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?n(a.responseText):null!=m&&m(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(k=this.insertTextAt(this.validateFileData(a),c,d,!0,null,p));f||null==m||m(k);return k};EditorUi.prototype.base64Encode=function(a){for(var b="",c=0,d=a.length,e,f,g;c<d;){e=a.charCodeAt(c++)&255;if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> 2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);b+="==";break}f=a.charCodeAt(c++);if(c==d){b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2);b+="=";break}g=a.charCodeAt(c++);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> -2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,h,l,m,p,A,E){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;p=null!=p?p:this.maxImageBytes;var f=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&& -null!=a)for(var t=A||this.resampleThreshold,v=0;v<a.length;v++)if("image/"==a[v].type.substring(0,6)&&a[v].size>t){n=!0;break}var q=mxUtils.bind(this,function(){var n=this.editor.graph,m=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,k,h,p){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,g,k,h,p,f,E)});g=null!=g?g:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body, -mxResources.get("loading")))for(var t=a.length,v=t,q=[],u=mxUtils.bind(this,function(a,b){q[a]=b;if(0==--v){this.spinner.stop();if(null!=l)l(q);else{var c=[];n.getModel().beginUpdate();try{for(var d=0;d<q.length;d++){var e=q[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}g(c)}}),w=0;w<t;w++)mxUtils.bind(this,function(f){var g=a[f],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==h||h(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var l= -a.target.result,t=l.indexOf(","),v=decodeURIComponent(escape(atob(l.substring(t+1)))),q=mxUtils.parseXml(v),v=q.getElementsByTagName("svg");if(0<v.length){var v=v[0],z=E?null:v.getAttribute("content");null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?u(f,mxUtils.bind(this,function(){try{if(l.substring(0,t+1),null!=q){var a= -q.getElementsByTagName("svg");if(0<a.length){var h=a[0],p=parseFloat(h.getAttribute("width")),A=parseFloat(h.getAttribute("height")),v=h.getAttribute("viewBox");if(null==v||0==v.length)h.setAttribute("viewBox","0 0 "+p+" "+A);else if(isNaN(p)||isNaN(A)){var u=v.split(" ");3<u.length&&(p=parseFloat(u[2]),A=parseFloat(u[3]))}l=this.createSvgDataUri(mxUtils.getXml(h));var z=Math.min(1,Math.min(d/Math.max(1,p)),d/Math.max(1,A)),w=e(l,g.type,b+f*m,c+f*m,Math.max(1,Math.round(p*z)),Math.max(1,Math.round(A* -z)),g.name,k);if(isNaN(p)||isNaN(A)){var E=new Image;E.onload=mxUtils.bind(this,function(){p=Math.max(1,E.width);A=Math.max(1,E.height);w[0].geometry.width=p;w[0].geometry.height=A;h.setAttribute("viewBox","0 0 "+p+" "+A);l=this.createSvgDataUri(mxUtils.getXml(h));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));n.setCellStyles("image",l,[w[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(h))}return w}}}catch(da){}return null})):u(f,mxUtils.bind(this,function(){return e(z, -"text/xml",b+f*m,c+f*m,0,0,g.name)}))}}else{v=!1;if("image/png"==g.type){var w=E?null:this.extractGraphModelFromPng(a.target.result);if(null!=w&&0<w.length){var F=new Image;F.src=a.target.result;u(f,mxUtils.bind(this,function(){return e(w,"text/xml",b+f*m,c+f*m,F.width,F.height,g.name)}));v=!0}}v||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), -mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,n,l){u(f,mxUtils.bind(this,function(){if(null!=h&&h.length<p){var t=k&&this.isResampleImage(a.target.result,A)?Math.min(1,Math.min(d/n,d/l)):1;return e(h,g.type,b+f*m,c+f*m,Math.round(n*t),Math.round(l*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),k,d,A)}),mxUtils.bind(this, -function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*m,c+f*m,240,160,g.name,function(a){u(f,function(){return a})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,b+f*m,c+f*m,240,160,g.name,function(a){u(f,function(){return a})},g):"image"==g.type.substring(0,5)?l.readAsDataURL(g):l.readAsText(g)})(w)});n?this.confirmImageResize(function(a){k=a;q()},m):q()};EditorUi.prototype.confirmImageResize=function(a, +2);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(f&240)>>4);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&15)<<2|(g&192)>>6);b+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(g&63)}return b};EditorUi.prototype.importFiles=function(a,b,c,d,e,g,h,m,l,p,A,F){b=null!=b?b:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;p=null!=p?p:this.maxImageBytes;var f=null!=b&&null!=c,k=!0,n=!1;if(!mxClient.IS_CHROMEAPP&& +null!=a)for(var t=A||this.resampleThreshold,q=0;q<a.length;q++)if("image/"==a[q].type.substring(0,6)&&a[q].size>t){n=!0;break}var v=mxUtils.bind(this,function(){var n=this.editor.graph,l=n.gridSize;e=null!=e?e:mxUtils.bind(this,function(a,b,c,d,e,g,k,h,p){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,k)),null):this.importFile(a,b,c,d,e,g,k,h,p,f,F)});g=null!=g?g:mxUtils.bind(this,function(a){n.setSelectionCells(a)});if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var t=a.length,q=t,v=[],u=mxUtils.bind(this,function(a,b){v[a]=b;if(0==--q){this.spinner.stop();if(null!=m)m(v);else{var c=[];n.getModel().beginUpdate();try{for(var d=0;d<v.length;d++){var e=v[d]();null!=e&&(c=c.concat(e))}}finally{n.getModel().endUpdate()}}g(c)}}),E=0;E<t;E++)mxUtils.bind(this,function(f){var g=a[f],m=new FileReader;m.onload=mxUtils.bind(this,function(a){if(null==h||h(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var m= +a.target.result,t=m.indexOf(","),q=decodeURIComponent(escape(atob(m.substring(t+1)))),v=mxUtils.parseXml(q),q=v.getElementsByTagName("svg");if(0<q.length){var q=q[0],z=F?null:q.getAttribute("content");null!=z&&"<"!=z.charAt(0)&&"%"!=z.charAt(0)&&(z=unescape(window.atob?atob(z):Base64.decode(z,!0)));null!=z&&"%"==z.charAt(0)&&(z=decodeURIComponent(z));null==z||"<mxfile "!==z.substring(0,8)&&"<mxGraphModel "!==z.substring(0,14)?u(f,mxUtils.bind(this,function(){try{if(m.substring(0,t+1),null!=v){var a= +v.getElementsByTagName("svg");if(0<a.length){var h=a[0],p=parseFloat(h.getAttribute("width")),A=parseFloat(h.getAttribute("height")),q=h.getAttribute("viewBox");if(null==q||0==q.length)h.setAttribute("viewBox","0 0 "+p+" "+A);else if(isNaN(p)||isNaN(A)){var u=q.split(" ");3<u.length&&(p=parseFloat(u[2]),A=parseFloat(u[3]))}m=this.createSvgDataUri(mxUtils.getXml(h));var z=Math.min(1,Math.min(d/Math.max(1,p)),d/Math.max(1,A)),E=e(m,g.type,b+f*l,c+f*l,Math.max(1,Math.round(p*z)),Math.max(1,Math.round(A* +z)),g.name,k);if(isNaN(p)||isNaN(A)){var w=new Image;w.onload=mxUtils.bind(this,function(){p=Math.max(1,w.width);A=Math.max(1,w.height);E[0].geometry.width=p;E[0].geometry.height=A;h.setAttribute("viewBox","0 0 "+p+" "+A);m=this.createSvgDataUri(mxUtils.getXml(h));var a=m.indexOf(";");0<a&&(m=m.substring(0,a)+m.substring(m.indexOf(",",a+1)));n.setCellStyles("image",m,[E[0]])});w.src=this.createSvgDataUri(mxUtils.getXml(h))}return E}}}catch(da){}return null})):u(f,mxUtils.bind(this,function(){return e(z, +"text/xml",b+f*l,c+f*l,0,0,g.name)}))}}else{q=!1;if("image/png"==g.type){var E=F?null:this.extractGraphModelFromPng(a.target.result);if(null!=E&&0<E.length){var w=new Image;w.src=a.target.result;u(f,mxUtils.bind(this,function(){return e(E,"text/xml",b+f*l,c+f*l,w.width,w.height,g.name)}));q=!0}}q||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), +mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,a.target.result,mxUtils.bind(this,function(h,m,n){u(f,mxUtils.bind(this,function(){if(null!=h&&h.length<p){var t=k&&this.isResampleImage(a.target.result,A)?Math.min(1,Math.min(d/m,d/n)):1;return e(h,g.type,b+f*l,c+f*l,Math.round(m*t),Math.round(n*t),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),k,d,A)}),mxUtils.bind(this, +function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else e(a.target.result,g.type,b+f*l,c+f*l,240,160,g.name,function(a){u(f,function(){return a})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?e(null,g.type,b+f*l,c+f*l,240,160,g.name,function(a){u(f,function(){return a})},g):"image"==g.type.substring(0,5)?m.readAsDataURL(g):m.readAsText(g)})(E)});n?this.confirmImageResize(function(a){k=a;v()},l):v()};EditorUi.prototype.confirmImageResize=function(a, b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(d,e){if(d||b)mxSettings.setResizeImages(d?e:null),mxSettings.save();c();a(e)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ '"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,d)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length> -b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var h=Math.max(f/e,k/e);if(1<h){var p=Math.round(f/h),n=Math.round(k/h),l=document.createElement("canvas");l.width=p;l.height=n;l.getContext("2d").drawImage(a,0,0,p,n);var m=l.toDataURL();if(m.length<b.length){var t=document.createElement("canvas");t.width=p;t.height=n;var q=t.toDataURL();m!==q&&(b=m,f=p,k=n)}}}catch(y){}c(b,f,k)}; +b};EditorUi.prototype.resizeImage=function(a,b,c,d,e,g){e=null!=e?e:this.maxImageSize;var f=Math.max(1,a.width),k=Math.max(1,a.height);if(d&&this.isResampleImage(b,g))try{var h=Math.max(f/e,k/e);if(1<h){var p=Math.round(f/h),m=Math.round(k/h),n=document.createElement("canvas");n.width=p;n.height=m;n.getContext("2d").drawImage(a,0,0,p,m);var l=n.toDataURL();if(l.length<b.length){var t=document.createElement("canvas");t.width=p;t.height=m;var q=t.toDataURL();l!==q&&(b=l,f=p,k=m)}}}catch(y){}c(b,f,k)}; EditorUi.prototype.crcTable=[];for(var c=0;256>c;c++)for(var d=c,e=0;8>e;e++)d=1==(d&1)?3988292384^d>>>1:d>>>1,EditorUi.prototype.crcTable[c]=d;EditorUi.prototype.updateCRC=function(a,b,c,d){for(var e=0;e<d;e++)a=EditorUi.prototype.crcTable[(a^b[c+e])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var b=-1,c=0;c<a.length;c++)b=b>>>8^this.crcTable[(b^a.charCodeAt(c))&255];return(b^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a, b,c,d,e){function f(a,b){var c=h;h+=b;return a.substring(c,h)}function g(a){a=f(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function k(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var h=0;if(f(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=e&&e();else if(f(a,4),"IHDR"!=f(a,4))null!=e&&e();else{f(a,17);e=a.substring(0,h);do{var p= g(a);if("IDAT"==f(a,4)){e=a.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,b,0,4);d=this.updateCRC(d,c,0,c.length);e+=k(c.length)+b+c+k(d^4294967295);e+=a.substring(h-8,a.length);break}e+=a.substring(h-8,h-4+p);f(a,p);f(a,4)}while(p);return"data:image/png;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var b=null;try{var c=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF? atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,c,e){a=d.substring(a+8,a+8+e);"zTXt"==c?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(b=a))):"tEXt"==c&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(b=a[1]));if(null!=b||"IDAT"==c)return!0}))}catch(u){}null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b));null!=b&& -"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var g=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.addListener("customLinkClicked",function(b,c){a.handleCustomLink(c.getProperty("href"))}); -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var d=b.addClickHandler; -b.addClickHandler=function(c,e,f){var g=e;e=function(c,d){if(null==d){var e=mxEvent.getSource(c);"a"==e.nodeName.toLowerCase()&&(d=e.getAttribute("href"))}null==d||!b.isCustomLink(d)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c)||(a.handleCustomLink(d),mxEvent.consume(c));null!=g&&g(c,d)};d.call(this,c,e,f)};g.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var e=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:e.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(c,d){null!=c&&b.isCustomLink(c)&&(d=b.getLinkTitle(c));var e=h.call(this,c,d);null!=c&&b.isCustomLink(c)&& -mxEvent.addListener(e,"click",function(b){a.handleCustomLink(c);mxEvent.consume(b)});return e};var l=b.labelLinkClicked;b.labelLinkClicked=function(c,d,e){var f=d.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))l.apply(this,arguments);else{if(!b.isEnabled()||null!=c&&b.isCellLocked(c.cell))a.handleCustomLink(f),b.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile(); -null!=c&&(b=null!=c.getTitle()?c.getTitle():b);return b};var m=this.actions.get("print");m.setEnabled(!mxClient.IS_IOS||!navigator.standalone);m.visible=m.isEnabled();if(!this.editor.chromeless||this.editor.editable){var C=function(){window.setTimeout(function(){p.innerHTML=" ";p.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77, -!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index]; -if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Z){}}),!1);var p=document.createElement("div");p.style.position="absolute";p.style.whiteSpace="nowrap";p.style.overflow= -"hidden";p.style.display="block";p.contentEditable=!0;mxUtils.setOpacity(p,0);p.style.width="1px";p.style.height="1px";p.innerHTML=" ";var A=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224== -a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||A||(p.style.left=b.container.scrollLeft+10+"px",p.style.top=b.container.scrollTop+10+"px",b.container.appendChild(p),A=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){p.focus();document.execCommand("selectAll",!1,null)},0):(p.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!A||224!=c&& -17!=c&&91!=c||(A=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),p.parentNode.removeChild(p),mxUtils.clearSelection())}),0)}));mxEvent.addListener(p,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(p),C())}));mxEvent.addListener(p,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(p,!0),C())}));mxEvent.addListener(p,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(p.innerHTML= -" ",p.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,p);p.innerHTML=" "}),0))}),!0);var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==p?!0:E.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= -this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!=d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, -0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, -Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c),d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!== -typeof mxRuler){m=document.createElement("div");m.style.position="absolute";m.style.top="95px";m.style.left="250px";m.style.width="2000px";m.style.height="30px";m.style.background="whiteSmoke";document.body.appendChild(m);var B=document.createElement("div");B.style.position="absolute";B.style.top="125px";B.style.left="220px";B.style.width="30px";B.style.height="1000px";B.style.background="whiteSmoke";document.body.appendChild(B);var x=document.createElement("div");x.style.position="absolute";x.style.top= -"95px";x.style.left="220px";x.style.width="30px";x.style.height="30px";x.style.background="whiteSmoke";document.body.appendChild(x);this.vRuler=new mxRuler(this.editor.graph,B,!0);this.hRuler=new mxRuler(this.editor.graph,m,!1)}if("1"==urlParams.test){m=document.getElementById("geFooter");null!=m&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width= -"98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),m.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c); -this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var L=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:L.apply(this,arguments)}}m=document.getElementById("geInfo");null!=m&&m.parentNode.removeChild(m);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var y=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=y&&(y.parentNode.removeChild(y), -y=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==y&&(!mxClient.IS_IE||10<document.documentMode)&&(y=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=y&&(y.parentNode.removeChild(y),y=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), -d=b.view.translate,e=b.view.scale,f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, -"text/html")){var h=a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=h;var p=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(p=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(h=c[0].getAttribute("href")));var l=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(h,f,g,!0,p,null,l))});p&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){l= -a;n()},mxEvent.isControlDown(a)):n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k, +"%"==b.charAt(0)&&(b=decodeURIComponent(b));return b};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var g=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){try{a.handleCustomLink(b)}catch(I){a.handleError(I)}};this.isOffline()|| +"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var d=b.addClickHandler;b.addClickHandler= +function(a,c,e){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null==c||!b.isCustomLink(c)||!mxEvent.isTouchEvent(a)&&mxEvent.isPopupTrigger(a)||(b.customLinkClicked(c),mxEvent.consume(a));null!=f&&f(a,c)};d.call(this,a,c,e)};g.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!= +a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var e=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:e.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(a,c){null!=a&&b.isCustomLink(a)&&(c=b.getLinkTitle(a));var d=h.call(this,a,c);null!=a&&b.isCustomLink(a)&&mxEvent.addListener(d, +"click",function(c){b.customLinkClicked(a);mxEvent.consume(c)});return d};var m=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var e=c.getAttribute("href");if(null==e||!b.isCustomLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))m.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(e),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!= +c.getTitle()?c.getTitle():b);return b};var l=this.actions.get("print");l.setEnabled(!mxClient.IS_IOS||!navigator.standalone);l.visible=l.isEnabled();if(!this.editor.chromeless||this.editor.editable){var C=function(){window.setTimeout(function(){p.innerHTML=" ";p.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry", +!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var k=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],k.x,k.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(Z){}}),!1);var p=document.createElement("div");p.style.position="absolute";p.style.whiteSpace="nowrap";p.style.overflow="hidden";p.style.display="block";p.contentEditable=!0;mxUtils.setOpacity(p, +0);p.style.width="1px";p.style.height="1px";p.innerHTML=" ";var A=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)|| +A||(p.style.left=b.container.scrollLeft+10+"px",p.style.top=b.container.scrollTop+10+"px",b.container.appendChild(p),A=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){p.focus();document.execCommand("selectAll",!1,null)},0):(p.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!A||224!=c&&17!=c&&91!=c||(A=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(), +p.parentNode.removeChild(p),mxUtils.clearSelection())}),0)}));mxEvent.addListener(p,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(p),C())}));mxEvent.addListener(p,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(p,!0),C())}));mxEvent.addListener(p,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(p.innerHTML=" ",p.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,p);p.innerHTML= +" "}),0))}),!0);var F=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==p?!0:F.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!= +d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a, +f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c), +d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){l=document.createElement("div");l.style.position="absolute"; +l.style.top="95px";l.style.left="250px";l.style.width="2000px";l.style.height="30px";l.style.background="whiteSmoke";document.body.appendChild(l);var B=document.createElement("div");B.style.position="absolute";B.style.top="125px";B.style.left="220px";B.style.width="30px";B.style.height="1000px";B.style.background="whiteSmoke";document.body.appendChild(B);var x=document.createElement("div");x.style.position="absolute";x.style.top="95px";x.style.left="220px";x.style.width="30px";x.style.height="30px"; +x.style.background="whiteSmoke";document.body.appendChild(x);this.vRuler=new mxRuler(this.editor.graph,B,!0);this.hRuler=new mxRuler(this.editor.graph,l,!1)}if("1"==urlParams.test){l=document.getElementById("geFooter");null!=l&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden", +this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),l.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility= +"visible"}else this.styleInput.style.visibility="hidden"})));var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:E.apply(this,arguments)}}l=document.getElementById("geInfo");null!=l&&l.parentNode.removeChild(l);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var y=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=y&&(y.parentNode.removeChild(y),y=null),a.stopPropagation(),a.preventDefault())}); +mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==y&&(!mxClient.IS_IE||10<document.documentMode)&&(y=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=y&&(y.parentNode.removeChild(y),y=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,e=b.view.scale, +f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var k=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var h= +a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=h;var p=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(h=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)||(p=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(h=c[0].getAttribute("href")));var m=!0,n=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(h,f,g,!0,p,null,m))});p&&h.length>this.resampleThreshold?this.confirmImageResize(function(a){m=a;n()},mxEvent.isControlDown(a)): +n()}else null!=k&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)?this.loadImage(decodeURIComponent(k),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+k+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(k, f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");0<c&&(b=this.getPageById(a.substring(c+1)),b=null!=b? b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");(a=this.getPageById(a.substring(b+1)))&&this.selectPage(a)}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget()); @@ -7427,38 +7460,38 @@ null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};Edito this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,f=mxUtils.bind(this,function(a, b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,f);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function h(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&& -(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(K){}return a}if(f.source==(window.opener||window.parent)){var k=f.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(F){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&& -(this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):h(k.xml); -this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog(); -g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(F){g.postMessage(JSON.stringify({event:"draft",error:F.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,n=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=k.callback? -g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;g.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;g.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){g.postMessage(JSON.stringify({event:"template", -docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==k.action)this.searchReadyCallback(k.list,k.errorMsg);else if("recentDocsList"==k.action)this.recentReadyCallback(k.list,k.errorMsg);else{if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message)); -null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var m=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var v=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var t=this.editor.graph, -q=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=k.format;b.message=k;b.data=a;b.xml=encodeURIComponent(v);g.postMessage(JSON.stringify(b),"*")}),u=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==k.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(v))));t!=this.editor.graph&&t.container.parentNode.removeChild(t.container);q(a)});if(this.isExportToCanvas()){if(null!= -this.pages&&this.currentPage!=this.pages[0]){var t=this.createTemporaryGraph(t.getStylesheet()),w=t.getGlobalVariable,z=this.pages[0];t.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:w.apply(this,arguments)};document.body.appendChild(t.container);t.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){u(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){u(null)}),null,null,null,null,null,null,t)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ -("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(v)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?q("data:image/png;base64,"+a.getText()):u(null)}),mxUtils.bind(this,function(){u(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);m=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data= -this.getFileData(null,null,!0,null,null,null,l),m.format=k.format;else if("html"==k.format)v=this.editor.getGraphXml(),m.data=this.getHtml(v,this.editor.graph),m.xml=mxUtils.getXml(v),m.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1), -"xmlsvg"==k.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0), -this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}g.postMessage(JSON.stringify(m),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= -"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", -data:JSON.stringify(k)}),"*");return}}}k=h(k);c=!0;try{a(k,f)}catch(F){this.handleError(F)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var H=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=H();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=H();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(L){}return a}if(f.source==(window.opener||window.parent)){var p=f.data;if("json"==urlParams.proto){try{p=JSON.parse(p)}catch(G){p=null}if(null==p)return;if("dialog"==p.action){this.showError(null!=p.titleKey?mxResources.get(p.titleKey):p.title,null!=p.messageKey?mxResources.get(p.messageKey):p.message,null!=p.buttonKey?mxResources.get(p.buttonKey):p.button);null!=p.modified&& +(this.editor.modified=p.modified);return}if("prompt"==p.action){this.spinner.stop();var k=new FilenameDialog(this,p.defaultValue||"",null!=p.okKey?mxResources.get(p.okKey):null,function(a){null!=a&&g.postMessage(JSON.stringify({event:"prompt",value:a,message:p}),"*")},null!=p.titleKey?mxResources.get(p.titleKey):p.title);this.showDialog(k.container,300,80,!0,!1);k.init();return}if("draft"==p.action){k=null;k="data:image/png;base64,"==p.xml.substring(0,22)?this.extractGraphModelFromPng(p.xml):h(p.xml); +this.spinner.stop();k=new DraftDialog(this,mxResources.get("draftFound",[p.name||this.defaultFilename]),k,mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"edit",message:p}),"*")}),mxUtils.bind(this,function(){this.hideDialog();g.postMessage(JSON.stringify({event:"draft",result:"discard",message:p}),"*")}),p.editKey?mxResources.get(p.editKey):null,p.discardKey?mxResources.get(p.discardKey):null,p.ignore?mxUtils.bind(this,function(){this.hideDialog(); +g.postMessage(JSON.stringify({event:"draft",result:"ignore",message:p}),"*")}):null);this.showDialog(k.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{k.init()}catch(G){g.postMessage(JSON.stringify({event:"draft",error:G.toString(),message:p}),"*")}return}if("template"==p.action){this.spinner.stop();var k=1==p.enableRecent,m=1==p.enableSearch,k=new NewDialog(this,!1,null!=p.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=p.callback? +g.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,k?mxUtils.bind(this,function(a){this.recentReadyCallback=a;g.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,m?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;g.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){g.postMessage(JSON.stringify({event:"template", +docUrl:a,info:b,name:c}),"*")});this.showDialog(k.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));k.init();return}if("searchDocsList"==p.action)this.searchReadyCallback(p.list,p.errorMsg);else if("recentDocsList"==p.action)this.recentReadyCallback(p.list,p.errorMsg);else{if("status"==p.action){null!=p.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(p.messageKey))):null!=p.message&&this.editor.setStatus(mxUtils.htmlEntities(p.message)); +null!=p.modified&&(this.editor.modified=p.modified);return}if("spinner"==p.action){var l=null!=p.messageKey?mxResources.get(p.messageKey):p.message;null==p.show||p.show?this.spinner.spin(document.body,l):this.spinner.stop();return}if("export"==p.action){if("png"==p.format||"xmlpng"==p.format){if(null==p.spin&&null==p.spinKey||this.spinner.spin(document.body,null!=p.spinKey?mxResources.get(p.spinKey):p.spin)){var n=null!=p.xml?p.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph, +t=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=p.format;b.message=p;b.data=a;b.xml=encodeURIComponent(n);g.postMessage(JSON.stringify(b),"*")}),v=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==p.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(n))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);t(a)});if(this.isExportToCanvas()){if(null!= +this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),u=q.getGlobalVariable,z=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?z.getName():"pagenumber"==a?1:u.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(z.root)}this.exportToCanvas(mxUtils.bind(this,function(a){v(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){v(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ +("xmlpng"==p.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(n)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?t("data:image/png;base64,"+a.getText()):v(null)}),mxUtils.bind(this,function(){v(null)}))}}else{null!=p.xml&&0<p.xml.length&&this.setFileData(p.xml);l=this.createLoadMessage("export");if("html2"==p.format||"html"==p.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))k=this.getXmlFileData(),l.xml=mxUtils.getXml(k),l.data= +this.getFileData(null,null,!0,null,null,null,k),l.format=p.format;else if("html"==p.format)n=this.editor.getGraphXml(),l.data=this.getHtml(n,this.editor.graph),l.xml=mxUtils.getXml(n),l.format=p.format;else{mxSvgCanvas2D.prototype.foAltText=null;k=this.editor.graph.background;k==mxConstants.NONE&&(k=null);l.xml=this.getFileData(!0);l.format="svg";if(p.embedImages||null==p.embedImages){if(null==p.spin&&null==p.spinKey||this.spinner.spin(document.body,null!=p.spinKey?mxResources.get(p.spinKey):p.spin))this.editor.graph.setEnabled(!1), +"xmlsvg"==p.format?this.getEmbeddedSvg(l.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();l.data=this.createSvgDataUri(a);g.postMessage(JSON.stringify(l),"*")})):this.convertImages(this.editor.graph.getSvg(k),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();l.data=this.createSvgDataUri(mxUtils.getXml(a));g.postMessage(JSON.stringify(l),"*")}));return}k="xmlsvg"==p.format?this.getEmbeddedSvg(this.getFileData(!0), +this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(k));l.data=this.createSvgDataUri(k)}g.postMessage(JSON.stringify(l),"*")}return}if("load"==p.action)d=1==p.autosave,this.hideDialog(),null!=p.modified&&null==urlParams.modified&&(urlParams.modified=p.modified),null!=p.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=p.saveAndExit),null!=p.title&&null!=this.buttonContainer&&(k=document.createElement("span"),mxUtils.write(k,p.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= +"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(k),this.embedFilenameSpan=k),p=null!=p.xmlpng?this.extractGraphModelFromPng(p.xmlpng):null!=p.xml&&"data:image/png;base64,"==p.xml.substring(0,22)?this.extractGraphModelFromPng(p.xml):p.xml;else{g.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(p)}),"*");return}}}p=h(p);c=!0;try{a(p,f)}catch(G){this.handleError(G)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var w=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=w();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=w();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, "*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||g.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var g=window.opener||window.parent,f="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";g.postMessage(f,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? "2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"), mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight= "20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}), -null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},f=null,g=null,k="",h="auto",l="auto",m=null,E=null,B=40,x=40,L=0,y=this.editor.graph;y.getGraphBounds();for(var D=function(){null!=b?b(aa):(y.setSelectionCells(aa),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,H=I.y,I=H,F=null, -K="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),G=mxUtils.trim(a.substring(S+1));"label"==O?F=y.sanitizeHtml(G):"style"==O?f=G:"identity"==O&&0<G.length&&"-"!=G?g=G:"namespace"==O&&0<G.length&&"-"!=G?k=G:"width"==O?h=G:"height"==O?l=G:"left"==O&&0<G.length? -m=G:"top"==O&&0<G.length?E=G:"ignore"==O?Z=G.split(","):"connect"==O?M.push(JSON.parse(G)):"link"==O?X=G:"padding"==O?L=parseFloat(G):"edgespacing"==O?B=parseFloat(G):"nodespacing"==O?x=parseFloat(G):"layout"==O&&(K=G)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==F&&(F="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});y.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]); -if(V.length==W.length){var J=null,Q=null!=S?k+V[S]:null;null!=Q&&(J=y.model.getCell(Q));null==J&&(J=new mxCell(F,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),J.vertex=!0,J.id=Q);for(var P=0;P<V.length;P++)y.setAttributeForCell(J,W[P],V[P]);y.setAttributeForCell(J,"placeholders","1");J.style=y.replacePlaceholders(J,J.style);for(T=0;T<M.length;T++)e[M[T].to][J.getAttribute(M[T].to)]=J;null!=X&&"link"!=X&&(y.setLinkForCell(J,J.getAttribute(X)),y.setAttributeForCell(J,X,null));y.fireEvent(new mxEventObject("cellsInserted", -"cells",[J]));var ba=this.editor.graph.getPreferredSizeForCell(J);J.vertex&&(null!=m&&null!=J.getAttribute(m)&&(J.geometry.x=z+parseFloat(J.getAttribute(m))),null!=E&&null!=J.getAttribute(E)&&(J.geometry.y=H+parseFloat(J.getAttribute(E))),"@"==h.charAt(0)&&null!=J.getAttribute(h.substring(1))?J.geometry.width=parseFloat(J.getAttribute(h.substring(1))):J.geometry.width="auto"==h?ba.width+L:parseFloat(h),"@"==l.charAt(0)&&null!=J.getAttribute(l.substring(1))?J.geometry.height=parseFloat(J.getAttribute(l.substring(1))): -J.geometry.height="auto"==l?ba.height+L:parseFloat(l),I+=J.geometry.height+x);d.push(y.addCell(J))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var J=d[R],ia=J.getAttribute(Y.from);if(null!=ia){y.setAttributeForCell(J,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(F=Y.label,null!=Y.fromlabel&&(F=(J.getAttribute(Y.fromlabel)||"")+(F||"")),null!=Y.tolabel&&(F=(F||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(y.insertEdge(null, -null,F||"",Y.invert?ca:J,Y.invert?J:ca,Y.style||y.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?J:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(J=d[R],P=0;P<Z.length;P++)y.setAttributeForCell(J,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(y);fa.spacing=B;var ka=function(){fa.execute(y.getDefaultParent());for(var a=0;a<d.length;a++){var b=y.getCellGeometry(d[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==h&&(b.width=Math.round(y.snap(b.width)));"auto"==l&&(b.height= -Math.round(y.snap(b.height)))}};if("circle"==K){var da=new mxCircleLayout(y);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(y.getDefaultParent());ka()},!0,D);D=null}else if("horizontaltree"==K||"verticaltree"==K||"auto"==K&&aa.length==2*d.length-1&&1==U.length){y.view.validate();var ga=new mxCompactTreeLayout(y,"horizontaltree"==K);ga.levelDistance=x;ga.edgeRouting=!1;ga.resetEdges= -!1;this.executeLayout(function(){ga.execute(y.getDefaultParent(),0<U.length?U[0]:null)},!0,D);D=null}else if("horizontalflow"==K||"verticalflow"==K||"auto"==K&&1==U.length){y.view.validate();var ha=new mxHierarchicalLayout(y,"horizontalflow"==K?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=x;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(y.getDefaultParent(),aa);y.moveCells(aa,z,H)},!0,D);D=null}else if("organic"==K||"auto"==K&&aa.length>d.length){y.view.validate(); +null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},f=null,g=null,h="",k="auto",p="auto",m=null,l=null,B=40,x=40,E=0,y=this.editor.graph;y.getGraphBounds();for(var D=function(){null!=b?b(aa):(y.setSelectionCells(aa),y.scrollCellToVisible(y.getSelectionCell()))},I=y.getFreeInsertPoint(),z=I.x,J=I.y,I=J,G=null, +L="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){a=c[N];for(N++;N<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[N].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var O=mxUtils.trim(a.substring(1,S)),H=mxUtils.trim(a.substring(S+1));"label"==O?G=y.sanitizeHtml(H):"style"==O?f=H:"identity"==O&&0<H.length&&"-"!=H?g=H:"namespace"==O&&0<H.length&&"-"!=H?h=H:"width"==O?k=H:"height"==O?p=H:"left"==O&&0<H.length? +m=H:"top"==O&&0<H.length?l=H:"ignore"==O?Z=H.split(","):"connect"==O?M.push(JSON.parse(H)):"link"==O?X=H:"padding"==O?E=parseFloat(H):"edgespacing"==O?B=parseFloat(H):"nodespacing"==O?x=parseFloat(H):"layout"==O&&(L=H)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==G&&(G="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==e[M[T].to]&&(e[M[T].to]={});y.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]); +if(V.length==W.length){var K=null,Q=null!=S?h+V[S]:null;null!=Q&&(K=y.model.getCell(Q));null==K&&(K=new mxCell(G,new mxGeometry(z,I,0,0),f||"whiteSpace=wrap;html=1;"),K.vertex=!0,K.id=Q);for(var P=0;P<V.length;P++)y.setAttributeForCell(K,W[P],V[P]);y.setAttributeForCell(K,"placeholders","1");K.style=y.replacePlaceholders(K,K.style);for(T=0;T<M.length;T++)e[M[T].to][K.getAttribute(M[T].to)]=K;null!=X&&"link"!=X&&(y.setLinkForCell(K,K.getAttribute(X)),y.setAttributeForCell(K,X,null));y.fireEvent(new mxEventObject("cellsInserted", +"cells",[K]));var ba=this.editor.graph.getPreferredSizeForCell(K);K.vertex&&(null!=m&&null!=K.getAttribute(m)&&(K.geometry.x=z+parseFloat(K.getAttribute(m))),null!=l&&null!=K.getAttribute(l)&&(K.geometry.y=J+parseFloat(K.getAttribute(l))),"@"==k.charAt(0)&&null!=K.getAttribute(k.substring(1))?K.geometry.width=parseFloat(K.getAttribute(k.substring(1))):K.geometry.width="auto"==k?ba.width+E:parseFloat(k),"@"==p.charAt(0)&&null!=K.getAttribute(p.substring(1))?K.geometry.height=parseFloat(K.getAttribute(p.substring(1))): +K.geometry.height="auto"==p?ba.height+E:parseFloat(p),I+=K.geometry.height+x);d.push(y.addCell(K))}}for(var U=d.slice(),aa=d.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<d.length;R++){var K=d[R],ia=K.getAttribute(Y.from);if(null!=ia){y.setAttributeForCell(K,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=e[Y.to][ja[P]];null!=ca&&(G=Y.label,null!=Y.fromlabel&&(G=(K.getAttribute(Y.fromlabel)||"")+(G||"")),null!=Y.tolabel&&(G=(G||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(y.insertEdge(null, +null,G||"",Y.invert?ca:K,Y.invert?K:ca,Y.style||y.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?K:ca,U))}}}if(null!=Z)for(R=0;R<d.length;R++)for(K=d[R],P=0;P<Z.length;P++)y.setAttributeForCell(K,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(y);fa.spacing=B;var ka=function(){fa.execute(y.getDefaultParent());for(var a=0;a<d.length;a++){var b=y.getCellGeometry(d[a]);b.x=Math.round(y.snap(b.x));b.y=Math.round(y.snap(b.y));"auto"==k&&(b.width=Math.round(y.snap(b.width)));"auto"==p&&(b.height= +Math.round(y.snap(b.height)))}};if("circle"==L){var da=new mxCircleLayout(y);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(a){return la.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){da.execute(y.getDefaultParent());ka()},!0,D);D=null}else if("horizontaltree"==L||"verticaltree"==L||"auto"==L&&aa.length==2*d.length-1&&1==U.length){y.view.validate();var ga=new mxCompactTreeLayout(y,"horizontaltree"==L);ga.levelDistance=x;ga.edgeRouting=!1;ga.resetEdges= +!1;this.executeLayout(function(){ga.execute(y.getDefaultParent(),0<U.length?U[0]:null)},!0,D);D=null}else if("horizontalflow"==L||"verticalflow"==L||"auto"==L&&1==U.length){y.view.validate();var ha=new mxHierarchicalLayout(y,"horizontalflow"==L?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=x;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(y.getDefaultParent(),aa);y.moveCells(aa,z,J)},!0,D);D=null}else if("organic"==L||"auto"==L&&aa.length>d.length){y.view.validate(); var ea=new mxFastOrganicLayout(y);ea.forceConstant=3*x;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return na.apply(this,arguments)||0>mxUtils.indexOf(d,a)};fa=new mxParallelEdgeLayout(y);fa.spacing=B;this.executeLayout(function(){ea.execute(y.getDefaultParent());ka()},!0,D);D=null}this.hideDialog()}finally{y.model.endUpdate()}null!=D&&D()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&& null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&& -(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var h=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=h.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a= +(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,480,130,!0,!0);a.init()};var h=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=h.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a= this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a, 8/a)};var f=b.init;b.init=function(){f.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= @@ -7470,12 +7503,12 @@ this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this. "4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var d=window.applicationCache,e=null,b=mxUtils.bind(this,function(){var a=d.status,b;a==d.CHECKING&&(a=d.DOWNLOADING);switch(a){case d.UNCACHED:b= "";break;case d.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case d.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case d.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case d.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b= '<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=e&&(this.offlineStatus.innerHTML=b,e=a)});mxEvent.addListener(d,"checking",b);mxEvent.addListener(d,"noupdate",b);mxEvent.addListener(d,"downloading",b);mxEvent.addListener(d,"progress",b);mxEvent.addListener(d,"cached",b);mxEvent.addListener(d,"updateready",b);mxEvent.addListener(d,"obsolete",b);mxEvent.addListener(d,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement= -function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var l=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){l.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),d=null!=c||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&& +function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var m=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){m.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),d=null!=c||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&& c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b); this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(d);this.actions.get("layers").setEnabled(d);this.actions.get("outline").setEnabled(d); -this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var m=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= -null);m.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),l=Math.floor(k.width*e/f.view.scale),m=Math.floor(k.height* -e/f.view.scale);h.length<=MAX_REQUEST_SIZE&&l*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+l+"&h="+m+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor}, +this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var l=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= +null);l.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,d,e,g){var f=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(f.getSvg(d,e,g)),"image/svg+xml");else{var h=a.getFileData(!0,null,null,null,null,!0),k=f.getGraphBounds(),p=Math.floor(k.width*e/f.view.scale),m=Math.floor(k.height* +e/f.view.scale);h.length<=MAX_REQUEST_SIZE&&p*m<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=d?d:"none")+"&w="+p+"&h="+m+"&border="+g+"&xml="+encodeURIComponent(h))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();var mxSettings={currentVersion:16,defaultFormatWidth:600>screen.width?"0":"240",key:".drawio-config",getLanguage:function(){return mxSettings.settings.language},setLanguage:function(a){mxSettings.settings.language=a},getUi:function(){return mxSettings.settings.ui},setUi:function(a){mxSettings.settings.ui=a},getShowStartScreen:function(){return mxSettings.settings.showStartScreen},setShowStartScreen:function(a){mxSettings.settings.showStartScreen=a},getGridColor:function(){return mxSettings.settings.gridColor}, setGridColor:function(a){mxSettings.settings.gridColor=a},getAutosave:function(){return mxSettings.settings.autosave},setAutosave:function(a){mxSettings.settings.autosave=a},getResizeImages:function(){return mxSettings.settings.resizeImages},setResizeImages:function(a){mxSettings.settings.resizeImages=a},getOpenCounter:function(){return mxSettings.settings.openCounter},setOpenCounter:function(a){mxSettings.settings.openCounter=a},getLibraries:function(){return mxSettings.settings.libraries},setLibraries:function(a){mxSettings.settings.libraries= a},addCustomLibrary:function(a){mxSettings.load();0>mxUtils.indexOf(mxSettings.settings.customLibraries,a)&&("L.scratchpad"===a?mxSettings.settings.customLibraries.splice(0,0,a):mxSettings.settings.customLibraries.push(a));mxSettings.save()},removeCustomLibrary:function(a){mxSettings.load();mxUtils.remove(a,mxSettings.settings.customLibraries);mxSettings.save()},getCustomLibraries:function(){return mxSettings.settings.customLibraries},getPlugins:function(){return mxSettings.settings.plugins},setPlugins:function(a){mxSettings.settings.plugins= a},getRecentColors:function(){return mxSettings.settings.recentColors},setRecentColors:function(a){mxSettings.settings.recentColors=a},getFormatWidth:function(){return parseInt(mxSettings.settings.formatWidth)},setFormatWidth:function(a){mxSettings.settings.formatWidth=a},getCurrentEdgeStyle:function(){return mxSettings.settings.currentEdgeStyle},setCurrentEdgeStyle:function(a){mxSettings.settings.currentEdgeStyle=a},getCurrentVertexStyle:function(){return mxSettings.settings.currentVertexStyle}, @@ -7490,13 +7523,13 @@ Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as= mxAsyncCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxAsyncCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily};mxAsyncCanvas.prototype.rotate=function(a,b,c,d,e){}; mxAsyncCanvas.prototype.setAlpha=function(a){this.state.alpha=a};mxAsyncCanvas.prototype.setFontColor=function(a){this.state.fontColor=a};mxAsyncCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxAsyncCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxAsyncCanvas.prototype.setFontSize=function(a){this.state.fontSize=a}; mxAsyncCanvas.prototype.setFontFamily=function(a){this.state.fontFamily=a};mxAsyncCanvas.prototype.setFontStyle=function(a){this.state.fontStyle=a};mxAsyncCanvas.prototype.rect=function(a,b,c,d){};mxAsyncCanvas.prototype.roundrect=function(a,b,c,d,e,g){};mxAsyncCanvas.prototype.ellipse=function(a,b,c,d){};mxAsyncCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url="+encodeURIComponent(a);return a}; -mxAsyncCanvas.prototype.image=function(a,b,c,d,e,g,h,l){e=this.rewriteImageSource(e);a=this.htmlCanvas.images[e];null==a&&(a=new Image,a.onload=mxUtils.bind(this,function(){this.decWaitCounter()}),a.onerror=mxUtils.bind(this,function(){this.decWaitCounter()}),this.incWaitCounter(),this.htmlCanvas.images[e]=a,a.src=e)};mxAsyncCanvas.prototype.fill=function(){};mxAsyncCanvas.prototype.stroke=function(){};mxAsyncCanvas.prototype.fillAndStroke=function(){}; -mxAsyncCanvas.prototype.text=function(a,b,c,d,e,g,h,l,m,f,k,n){if(null!=e&&0!=e.length&&(a=this.state.scale,"html"==m&&"function"===typeof html2canvas)){this.incWaitCounter();var t=this.canvasIndex++;html2canvas(e,{onrendered:mxUtils.bind(this,function(a){this.htmlCanvas.subCanvas[t]=a;this.decWaitCounter()}),scale:a,logging:!0})}};mxAsyncCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};function mxJsCanvas(a){mxAbstractCanvas2D.call(this);this.ctx=a.getContext("2d");this.ctx.textBaseline="top";this.ctx.fillStyle="rgba(255,255,255,0)";this.ctx.strokeStyle="rgba(0, 0, 0, 0)";this.M_RAD_PER_DEG=Math.PI/180;this.images=null==this.images?[]:this.images;this.subCanvas=null==this.subCanvas?[]:this.subCanvas}mxUtils.extend(mxJsCanvas,mxAbstractCanvas2D);mxJsCanvas.prototype.ctx=null;mxJsCanvas.prototype.waitCounter=0;mxJsCanvas.prototype.onComplete=null;mxJsCanvas.prototype.images=null; +mxAsyncCanvas.prototype.image=function(a,b,c,d,e,g,h,m){e=this.rewriteImageSource(e);a=this.htmlCanvas.images[e];null==a&&(a=new Image,a.onload=mxUtils.bind(this,function(){this.decWaitCounter()}),a.onerror=mxUtils.bind(this,function(){this.decWaitCounter()}),this.incWaitCounter(),this.htmlCanvas.images[e]=a,a.src=e)};mxAsyncCanvas.prototype.fill=function(){};mxAsyncCanvas.prototype.stroke=function(){};mxAsyncCanvas.prototype.fillAndStroke=function(){}; +mxAsyncCanvas.prototype.text=function(a,b,c,d,e,g,h,m,l,f,k,n){if(null!=e&&0!=e.length&&(a=this.state.scale,"html"==l&&"function"===typeof html2canvas)){this.incWaitCounter();var t=this.canvasIndex++;html2canvas(e,{onrendered:mxUtils.bind(this,function(a){this.htmlCanvas.subCanvas[t]=a;this.decWaitCounter()}),scale:a,logging:!0})}};mxAsyncCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};function mxJsCanvas(a){mxAbstractCanvas2D.call(this);this.ctx=a.getContext("2d");this.ctx.textBaseline="top";this.ctx.fillStyle="rgba(255,255,255,0)";this.ctx.strokeStyle="rgba(0, 0, 0, 0)";this.M_RAD_PER_DEG=Math.PI/180;this.images=null==this.images?[]:this.images;this.subCanvas=null==this.subCanvas?[]:this.subCanvas}mxUtils.extend(mxJsCanvas,mxAbstractCanvas2D);mxJsCanvas.prototype.ctx=null;mxJsCanvas.prototype.waitCounter=0;mxJsCanvas.prototype.onComplete=null;mxJsCanvas.prototype.images=null; mxJsCanvas.prototype.subCanvas=null;mxJsCanvas.prototype.canvasIndex=0;mxJsCanvas.prototype.hexToRgb=function(a){a=a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(a,c,d,e){return c+c+d+d+e+e});return(a=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a))?{r:parseInt(a[1],16),g:parseInt(a[2],16),b:parseInt(a[3],16)}:null};mxJsCanvas.prototype.incWaitCounter=function(){this.waitCounter++}; mxJsCanvas.prototype.decWaitCounter=function(){this.waitCounter--;0==this.waitCounter&&null!=this.onComplete&&(this.onComplete(),this.onComplete=null)};mxJsCanvas.prototype.updateFont=function(){var a="";(this.state.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&(a+="bold ");(this.state.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&(a+="italic ");this.ctx.font=a+this.state.fontSize+"px "+this.state.fontFamily}; mxJsCanvas.prototype.save=function(){this.states.push(this.state);this.state=mxUtils.clone(this.state);this.ctx.save()};mxJsCanvas.prototype.restore=function(){this.state=this.states.pop();this.ctx.restore()};mxJsCanvas.prototype.scale=function(a){this.state.scale*=a;this.state.strokeWidth*=a;this.ctx.scale(a,a)};mxJsCanvas.prototype.translate=function(a,b){this.state.dx+=a;this.state.dy+=b;this.ctx.translate(a,b)}; mxJsCanvas.prototype.rotate=function(a,b,c,d,e){d-=this.state.dx;e-=this.state.dy;this.ctx.translate(d,e);(b||c)&&this.ctx.scale(b?-1:1,c?-1:1);this.ctx.rotate(a*this.M_RAD_PER_DEG);this.ctx.translate(-d,-e)};mxJsCanvas.prototype.setAlpha=function(a){this.state.alpha=a;this.ctx.globalAlpha=a};mxJsCanvas.prototype.setFillColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fillColor=a;this.state.gradientColor=null;this.ctx.fillStyle=a}; -mxJsCanvas.prototype.setGradient=function(a,b,c,d,e,g,h,l,m){c=this.ctx.createLinearGradient(0,d,0,d+g);d=this.state;d.fillColor=a;d.fillAlpha=null!=l?l:1;d.gradientColor=b;d.gradientAlpha=null!=m?m:1;d.gradientDirection=h;a=this.hexToRgb(a);b=this.hexToRgb(b);null!=a&&c.addColorStop(0,"rgba("+a.r+","+a.g+","+a.b+","+d.fillAlpha+")");null!=b&&c.addColorStop(1,"rgba("+b.r+","+b.g+","+b.b+","+d.gradientAlpha+")");this.ctx.fillStyle=c}; +mxJsCanvas.prototype.setGradient=function(a,b,c,d,e,g,h,m,l){c=this.ctx.createLinearGradient(0,d,0,d+g);d=this.state;d.fillColor=a;d.fillAlpha=null!=m?m:1;d.gradientColor=b;d.gradientAlpha=null!=l?l:1;d.gradientDirection=h;a=this.hexToRgb(a);b=this.hexToRgb(b);null!=a&&c.addColorStop(0,"rgba("+a.r+","+a.g+","+a.b+","+d.fillAlpha+")");null!=b&&c.addColorStop(1,"rgba("+b.r+","+b.g+","+b.b+","+d.gradientAlpha+")");this.ctx.fillStyle=c}; mxJsCanvas.prototype.setStrokeColor=function(a){null!=a&&(a==mxConstants.NONE?(this.state.strokeColor=null,this.ctx.strokeStyle="rgba(0, 0, 0, 0)"):(this.ctx.strokeStyle=a,this.state.strokeColor=a))};mxJsCanvas.prototype.setStrokeWidth=function(a){this.ctx.lineWidth=a};mxJsCanvas.prototype.setDashed=function(a){if(this.state.dashed=a){a=this.state.dashPattern.split(" ");for(var b=0;b<a.length;b++)a[b]=parseInt(a[b],10);this.setLineDash(a)}else this.setLineDash([0])}; mxJsCanvas.prototype.setLineDash=function(a){try{"function"===typeof this.ctx.setLineDash&&this.ctx.setLineDash(a)}catch(b){}};mxJsCanvas.prototype.setDashPattern=function(a){this.state.dashPattern=a;if(this.state.dashed){a=a.split(" ");for(var b=0;b<a.length;b++)a[b]=parseInt(a[b],10);this.ctx.setLineDash(a)}};mxJsCanvas.prototype.setLineCap=function(a){this.ctx.lineCap=a};mxJsCanvas.prototype.setLineJoin=function(a){this.ctx.lineJoin=a}; mxJsCanvas.prototype.setMiterLimit=function(a){this.ctx.lineJoin=a};mxJsCanvas.prototype.setFontColor=function(a){this.ctx.fillStyle=a};mxJsCanvas.prototype.setFontBackgroundColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBackgroundColor=a};mxJsCanvas.prototype.setFontBorderColor=function(a){a==mxConstants.NONE&&(a=null);this.state.fontBorderColor=a};mxJsCanvas.prototype.setFontSize=function(a){this.state.fontSize=a}; @@ -7506,13 +7539,13 @@ mxJsCanvas.prototype.setShadowOffset=function(a,b){this.state.shadowDx=a;this.st mxJsCanvas.prototype.arcTo=function(a,b,c,d,e,g,h){a=mxUtils.arcToCurves(this.lastMoveX,this.lastMoveY,a,b,c,d,e,g,h);if(null!=a)for(b=0;b<a.length;b+=6)this.curveTo(a[b],a[b+1],a[b+2],a[b+3],a[b+4],a[b+5])};mxJsCanvas.prototype.curveTo=function(a,b,c,d,e,g){this.ctx.bezierCurveTo(a,b,c,d,e,g);this.lastMoveX=e;this.lastMoveY=g};mxJsCanvas.prototype.rect=function(a,b,c,d){this.begin();this.moveTo(a,b);this.lineTo(a+c,b);this.lineTo(a+c,b+d);this.lineTo(a,b+d);this.close()}; mxJsCanvas.prototype.roundrect=function(a,b,c,d,e,g){this.begin();this.moveTo(a+e,b);this.lineTo(a+c-e,b);this.quadTo(a+c,b,a+c,b+g);this.lineTo(a+c,b+d-g);this.quadTo(a+c,b+d,a+c-e,b+d);this.lineTo(a+e,b+d);this.quadTo(a,b+d,a,b+d-g);this.lineTo(a,b+g);this.quadTo(a,b,a+e,b)};mxJsCanvas.prototype.ellipse=function(a,b,c,d){this.ctx.save();this.ctx.translate(a+c/2,b+d/2);this.ctx.scale(c/2,d/2);this.ctx.beginPath();this.ctx.arc(0,0,1,0,2*Math.PI,!1);this.ctx.restore()}; mxJsCanvas.prototype.rewriteImageSource=function(a){if("http://"==a.substring(0,7)||"https://"==a.substring(0,8))a="/proxy?url="+encodeURIComponent(a);return a}; -mxJsCanvas.prototype.image=function(a,b,c,d,e,g,h,l){e=this.rewriteImageSource(e);e=this.images[e];if(null!=e&&0<e.height&&0<e.width){var m=this.ctx;m.save();if(g){g=e.width;var f=e.height,k=Math.min(c/g,d/f);a+=(c-g*k)/2;b+=(d-f*k)/2;c=g*k;d=f*k}h&&(m.translate(2*a+c,0),m.scale(-1,1));l&&(m.translate(0,2*b+d),m.scale(1,-1));m.drawImage(e,a,b,c,d);m.restore()}};mxJsCanvas.prototype.begin=function(){this.ctx.beginPath()};mxJsCanvas.prototype.close=function(){this.ctx.closePath()}; +mxJsCanvas.prototype.image=function(a,b,c,d,e,g,h,m){e=this.rewriteImageSource(e);e=this.images[e];if(null!=e&&0<e.height&&0<e.width){var l=this.ctx;l.save();if(g){g=e.width;var f=e.height,k=Math.min(c/g,d/f);a+=(c-g*k)/2;b+=(d-f*k)/2;c=g*k;d=f*k}h&&(l.translate(2*a+c,0),l.scale(-1,1));m&&(l.translate(0,2*b+d),l.scale(1,-1));l.drawImage(e,a,b,c,d);l.restore()}};mxJsCanvas.prototype.begin=function(){this.ctx.beginPath()};mxJsCanvas.prototype.close=function(){this.ctx.closePath()}; mxJsCanvas.prototype.fill=function(){this.ctx.fill()};mxJsCanvas.prototype.stroke=function(){this.ctx.stroke()};mxJsCanvas.prototype.fillAndStroke=function(){if(this.state.shadow){this.ctx.stroke();this.ctx.fill();var a=this.ctx.shadowColor,b=this.ctx.shadowOffsetX,c=this.ctx.shadowOffsetY;this.ctx.shadowColor="transparent";this.ctx.shadowOffsetX=0;this.ctx.shadowOffsetY=0;this.ctx.stroke();this.ctx.shadowColor=a;this.ctx.shadowOffsetX=b;this.ctx.shadowOffsetY=c}else this.ctx.fill(),this.ctx.stroke()}; -mxJsCanvas.prototype.text=function(a,b,c,d,e,g,h,l,m,f,k,n){if(null!=e&&0!=e.length){c=this.state.scale;0!=n&&(this.ctx.translate(Math.round(a),Math.round(b)),this.ctx.rotate(n*Math.PI/180),this.ctx.translate(Math.round(-a),Math.round(-b)));if("html"==m){e=this.subCanvas[this.canvasIndex++];m=e.height;n=e.width;switch(h){case mxConstants.ALIGN_MIDDLE:b-=m/2/c;break;case mxConstants.ALIGN_BOTTOM:b-=m/c}switch(g){case mxConstants.ALIGN_CENTER:a-=n/2/c;break;case mxConstants.ALIGN_RIGHT:a-=n/c}this.ctx.save(); +mxJsCanvas.prototype.text=function(a,b,c,d,e,g,h,m,l,f,k,n){if(null!=e&&0!=e.length){c=this.state.scale;0!=n&&(this.ctx.translate(Math.round(a),Math.round(b)),this.ctx.rotate(n*Math.PI/180),this.ctx.translate(Math.round(-a),Math.round(-b)));if("html"==l){e=this.subCanvas[this.canvasIndex++];l=e.height;n=e.width;switch(h){case mxConstants.ALIGN_MIDDLE:b-=l/2/c;break;case mxConstants.ALIGN_BOTTOM:b-=l/c}switch(g){case mxConstants.ALIGN_CENTER:a-=n/2/c;break;case mxConstants.ALIGN_RIGHT:a-=n/c}this.ctx.save(); if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor)null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(Math.round(a)-.5,Math.round(b)-.5,Math.round(e.width/c),Math.round(e.height/c))),null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(Math.round(a)-.5,Math.round(b)-.5,Math.round(e.width/c),Math.round(e.height/c)));this.ctx.scale(1/c,1/c);this.ctx.drawImage(e, -Math.round(a*c),Math.round(b*c))}else{this.ctx.save();this.updateFont();n=document.createElement("div");n.innerHTML=e;n.style.position="absolute";n.style.top="-9999px";n.style.left="-9999px";n.style.fontFamily=this.state.fontFamily;n.style.fontWeight="bold";n.style.fontSize=this.state.fontSize+"pt";document.body.appendChild(n);m=[n.offsetWidth,n.offsetHeight];document.body.removeChild(n);e=e.split("\n");n=m[1];this.ctx.textBaseline="top";m=b;switch(h){case mxConstants.ALIGN_MIDDLE:this.ctx.textBaseline= -"middle";b-=(e.length-1)*n/2;m=b-this.state.fontSize/2;break;case mxConstants.ALIGN_BOTTOM:this.ctx.textBaseline="alphabetic",b-=n*(e.length-1),m=b-this.state.fontSize}h=[];n=[];for(c=0;c<e.length;c++)n[c]=a,h[c]=this.ctx.measureText(e[c]).width,null!=g&&g!=mxConstants.ALIGN_LEFT&&(n[c]-=h[c],g==mxConstants.ALIGN_CENTER&&(n[c]+=h[c]/2));if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor){a=n[0];g=h[0];for(c=1;c<e.length;c++)a=Math.min(a,n[c]),g=Math.max(g,h[c]);this.ctx.save(); -a=Math.round(a)-.5;m=Math.round(m)-.5;null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(a,m,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(a,m,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));this.ctx.restore()}for(c=0;c<e.length;c++)this.ctx.fillText(e[c],n[c],b),b+=this.state.fontSize*mxConstants.LINE_HEIGHT}this.ctx.restore()}}; +Math.round(a*c),Math.round(b*c))}else{this.ctx.save();this.updateFont();n=document.createElement("div");n.innerHTML=e;n.style.position="absolute";n.style.top="-9999px";n.style.left="-9999px";n.style.fontFamily=this.state.fontFamily;n.style.fontWeight="bold";n.style.fontSize=this.state.fontSize+"pt";document.body.appendChild(n);l=[n.offsetWidth,n.offsetHeight];document.body.removeChild(n);e=e.split("\n");n=l[1];this.ctx.textBaseline="top";l=b;switch(h){case mxConstants.ALIGN_MIDDLE:this.ctx.textBaseline= +"middle";b-=(e.length-1)*n/2;l=b-this.state.fontSize/2;break;case mxConstants.ALIGN_BOTTOM:this.ctx.textBaseline="alphabetic",b-=n*(e.length-1),l=b-this.state.fontSize}h=[];n=[];for(c=0;c<e.length;c++)n[c]=a,h[c]=this.ctx.measureText(e[c]).width,null!=g&&g!=mxConstants.ALIGN_LEFT&&(n[c]-=h[c],g==mxConstants.ALIGN_CENTER&&(n[c]+=h[c]/2));if(null!=this.state.fontBackgroundColor||null!=this.state.fontBorderColor){a=n[0];g=h[0];for(c=1;c<e.length;c++)a=Math.min(a,n[c]),g=Math.max(g,h[c]);this.ctx.save(); +a=Math.round(a)-.5;l=Math.round(l)-.5;null!=this.state.fontBackgroundColor&&(this.ctx.fillStyle=this.state.fontBackgroundColor,this.ctx.fillRect(a,l,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));null!=this.state.fontBorderColor&&(this.ctx.strokeStyle=this.state.fontBorderColor,this.ctx.lineWidth=1,this.ctx.strokeRect(a,l,g,this.state.fontSize*mxConstants.LINE_HEIGHT*e.length));this.ctx.restore()}for(c=0;c<e.length;c++)this.ctx.fillText(e[c],n[c],b),b+=this.state.fontSize*mxConstants.LINE_HEIGHT}this.ctx.restore()}}; mxJsCanvas.prototype.getCanvas=function(){return canvas};mxJsCanvas.prototype.finish=function(a){0==this.waitCounter?a():this.onComplete=a};DrawioClient=function(a,b){mxEventSource.call(this);this.ui=a;this.cookieName=b;this.token=this.getPersistentToken()};mxUtils.extend(DrawioClient,mxEventSource);DrawioClient.prototype.token=null;DrawioClient.prototype.user=null;DrawioClient.prototype.setUser=function(a){this.user=a;this.fireEvent(new mxEventObject("userChanged"))};DrawioClient.prototype.getUser=function(){return this.user}; DrawioClient.prototype.clearPersistentToken=function(){if(isLocalStorage)localStorage.removeItem("."+this.cookieName);else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie=this.cookieName+"=; expires="+a.toUTCString()}}; DrawioClient.prototype.getPersistentToken=function(){var a=null;isLocalStorage&&(a=localStorage.getItem("."+this.cookieName));if(null==a&&"undefined"!=typeof Storage){var b=document.cookie,c=this.cookieName+"=",d=b.indexOf(c);0<=d&&(d+=c.length,a=b.indexOf(";",d),0>a?a=b.length:postCookie=b.substring(a),a=b.substring(d,a),a=0<a.length?a:null,null!=a&&isLocalStorage&&(b=new Date,b.setYear(b.getFullYear()-1),document.cookie=c+"; expires="+b.toUTCString(),localStorage.setItem("."+this.cookieName,a)))}return a}; @@ -7642,8 +7675,8 @@ DriveClient.prototype.setUserId=function(a,b){if(b)if(isLocalStorage)localStorag DriveClient.prototype.getUserId=function(){var a=null;null!=this.user&&(a=this.user.id);null==a&&isLocalStorage&&(a=localStorage.getItem(".guid"));if(null==a&&"undefined"!=typeof Storage){for(var b=document.cookie.split(";"),c=0;c<b.length;c++){var d=mxUtils.trim(b[c]);if("GUID="==d.substring(0,5)){a=d.substring(5);break}}null!=a&&isLocalStorage&&(b=new Date,b.setYear(b.getFullYear()-1),document.cookie="GUID=; expires="+b.toUTCString(),localStorage.setItem(".guid",a))}return a}; DriveClient.prototype.execute=function(a){var b=mxUtils.bind(this,function(b){this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(b,c){this.authorize(!1,mxUtils.bind(this,function(){null!=c&&c();a()}),mxUtils.bind(this,function(a){var b=mxResources.get("cannotLogin");null!=a&&null!=a.error&&403==a.error.code&&null!=a.error.data&&0<a.error.data.length&&"domainPolicy"==a.error.data[0].reason&&(b=a.error.message);this.ui.drive.clearUserId();this.ui.drive.setUser(null);gapi.auth.signOut();this.ui.showError(mxResources.get("error"), b,mxResources.get("help"),mxUtils.bind(this,function(){this.ui.openLink("https://desk.draw.io/support/solutions/articles/16000074659")}),null,mxResources.get("ok"))}),b)}))});this.authorize(!0,a,b)}; -DriveClient.prototype.executeRequest=function(a,b,c){var d=!0,e=null,g=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var h=mxUtils.bind(this,function(){this.requestThread=null;this.currentRequest=a;null!=e&&window.clearTimeout(e);e=window.setTimeout(mxUtils.bind(this,function(){d=!1;null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})}),this.ui.timeout);a.execute(mxUtils.bind(this,function(l){window.clearTimeout(e);d&&(null!=l&&null==l.error?null!=b&&b(l):null!=c&&null!=l&&null!=l.error&& -403==l.error.code&&("The requested mime type change is forbidden."==l.error.message||null!=l.error.data&&"domainPolicy"==l.error.data[0].reason)?c(l):null==l||null==l.error||401!=l.error.code&&403!=l.error.code?null!=l&&null!=l.error&&404!=l.error.code&&this.currentRequest==a&&g<this.maxRetries?(g++,this.requestThread=window.setTimeout(h,Math.round(Math.pow(2,g)*(1+.1*(Math.random()-.5))*1E3))):null!=c&&c(l):403==l.error.code&&null!=this.user?null!=c&&c(l):this.execute(h))}))});null==gapi.auth.getToken()? +DriveClient.prototype.executeRequest=function(a,b,c){var d=!0,e=null,g=0;null!=this.requestThread&&window.clearTimeout(this.requestThread);var h=mxUtils.bind(this,function(){this.requestThread=null;this.currentRequest=a;null!=e&&window.clearTimeout(e);e=window.setTimeout(mxUtils.bind(this,function(){d=!1;null!=c&&c({code:App.ERROR_TIMEOUT,retry:h})}),this.ui.timeout);a.execute(mxUtils.bind(this,function(m){window.clearTimeout(e);d&&(null!=m&&null==m.error?null!=b&&b(m):null!=c&&null!=m&&null!=m.error&& +403==m.error.code&&("The requested mime type change is forbidden."==m.error.message||null!=m.error.data&&"domainPolicy"==m.error.data[0].reason)?c(m):null==m||null==m.error||401!=m.error.code&&403!=m.error.code?null!=m&&null!=m.error&&404!=m.error.code&&this.currentRequest==a&&g<this.maxRetries?(g++,this.requestThread=window.setTimeout(h,Math.round(Math.pow(2,g)*(1+.1*(Math.random()-.5))*1E3))):null!=c&&c(m):403==m.error.code&&null!=this.user?null!=c&&c(m):this.execute(h))}))});null==gapi.auth.getToken()? this.execute(h):h()};DriveClient.prototype.authorize=function(a,b,c,d){var e=this.getUserId();null!=this.ui.stateArg&&null!=this.ui.stateArg.userId&&(e=this.ui.stateArg.userId);if(a&&null==e)null!=c&&c();else{var g={scope:this.scopes,client_id:this.clientId};a&&null!=e?(g.immediate=!0,g.user_id=e):(g.immediate=!1,g.authuser=-1);gapi.auth.authorize(g,mxUtils.bind(this,function(g){null!=g&&null==g.error?null!=this.user&&a&&this.user.id==e?null!=b&&b():this.updateUser(b,c,d):null!=c&&c(g);this.resetTokenRefresh(g)}))}}; DriveClient.prototype.resetTokenRefresh=function(a){null!=this.tokenRefreshThread&&(window.clearTimeout(this.tokenRefreshThread),this.tokenRefreshThread=null);null!=a&&null==a.error&&0<a.expires_in&&(this.tokenRefreshInterval=1E3*parseInt(a.expires_in),this.lastTokenRefresh=(new Date).getTime(),this.tokenRefreshThread=window.setTimeout(mxUtils.bind(this,function(){this.authorize(!0,mxUtils.bind(this,function(){}),mxUtils.bind(this,function(){}))}),900*a.expires_in))}; DriveClient.prototype.checkToken=function(a){var b=0<this.lastTokenRefresh;(new Date).getTime()-this.lastTokenRefresh>this.tokenRefreshInterval||null==this.tokenRefreshThread?this.execute(mxUtils.bind(this,function(){a();b&&this.fireEvent(new mxEventObject("disconnected"))})):a()}; @@ -7652,25 +7685,25 @@ DriveClient.prototype.copyFile=function(a,b,c,d){null!=a&&null!=b&&this.executeR DriveClient.prototype.createDriveRequest=function(a,b){return gapi.client.request({path:"/drive/v2/files/"+a,method:"PUT",params:{uploadType:"multipart",supportsTeamDrives:!0},headers:{"Content-Type":"application/json; charset=UTF-8"},body:JSON.stringify(b)})};DriveClient.prototype.getLibrary=function(a,b,c){return this.getFile(a,b,c,!0,!0)}; DriveClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;e=null!=e?e:!1;null!=urlParams.rev?this.executeRequest(gapi.client.drive.revisions.get({fileId:a,revisionId:urlParams.rev}),mxUtils.bind(this,function(a){this.getXmlFile(a,null,b,c)}),c):this.executeRequest(gapi.client.drive.files.get({fileId:a,supportsTeamDrives:!0}),mxUtils.bind(this,function(a){if(null!=this.user){var g=/\.png$/i.test(a.title);/\.vsdx?$/i.test(a.title)||/\.gliffy$/i.test(a.title)||!this.ui.useCanvasForExport&&g?(g= a.downloadUrl+"&access_token="+gapi.auth.getToken().access_token,this.ui.convertFile(g,a.title,a.mimeType,this.extension,b,c)):d||e||a.mimeType==this.libraryMimeType?this.getXmlFile(a,null,b,c,!0,e):this.loadRealtime(a,mxUtils.bind(this,function(d){try{null==d||null==d.getModel()||null==d.getModel().getRoot()||d.getModel().getRoot().isEmpty()||d.getModel().getRoot().has("cells")&&!d.getModel().getRoot().has(DriveRealtime.prototype.diagramsKey)?this.getXmlFile(a,d,b,c):b(new DriveFile(this.ui,null, -a,d))}catch(m){c(m)}}),c)}else c({message:mxResources.get("loggedOut")})}),c)}; +a,d))}catch(l){c(l)}}),c)}else c({message:mxResources.get("loggedOut")})}),c)}; DriveClient.prototype.loadRealtime=function(a,b,c){if("1"==urlParams.ignoremime||"420247213240"!=this.appId||"application/vnd.jgraph.mxfile.realtime"!=a.mimeType&&"application/mxr"!=a.mimeType)if("850530949725"!=this.appId&&(a.editable||"application/mxe"!=a.mimeType&&"application/vnd.jgraph.mxfile"!=a.mimeType)){var d=mxUtils.bind(this,function(){var e=!0,g=window.setTimeout(mxUtils.bind(this,function(){e=!1;c({code:App.ERROR_TIMEOUT,retry:d})}),this.ui.timeout);gapi.drive.realtime.load(a.id,mxUtils.bind(this, function(a){window.clearTimeout(g);e&&b(a)}))});d()}else b();else this.redirectToNewApp(c,a.id)}; -DriveClient.prototype.getXmlFile=function(a,b,c,d,e,g){var h=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"&access_token="+h,mxUtils.bind(this,function(h){if(null==h)d({message:mxResources.get("invalidOrMissingFile")});else if(a.mimeType==this.libraryMimeType||g)a.mimeType!=this.libraryMimeType||g?c(new DriveLibrary(this.ui,h,a)):d({message:mxResources.get("notADiagramFile")});else{if(/\.png$/i.test(a.title)){var l=h.lastIndexOf(",");0<l&&(l=this.ui.extractGraphModelFromPng(h.substring(l+ -1)),null!=l&&0<l.length&&(h=l))}var f=new DriveFile(this.ui,h,a,b);!e&&"850530949725"!=this.appId&&f.isEditable()&&a.mimeType!=this.mimeType?this.saveFile(f,!0,mxUtils.bind(this,function(a){f.desc=a;c(f)}),d,!0):c(f)}}),d,"image/"==a.mimeType.substring(0,6)&&"image/svg"!=a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))}; -DriveClient.prototype.saveFile=function(a,b,c,d,e,g){if(a.isEditable()){var h=(new Date).getTime();e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;g=null!=g?g:!1;var l=mxUtils.bind(this,function(e,k,l){var f={mimeType:a.constructor==DriveLibrary?this.libraryMimeType:this.mimeType,title:a.getTitle()};l||(null!=e||g||(e=this.placeholderThumbnail,k=this.placeholderMimeType),null!=e&&null!=k&&(f.thumbnail={image:e,mimeType:k}));var m=function(){a.saveDelay=(new Date).getTime()-h; -c.apply(this,arguments)},n=mxUtils.bind(this,function(c,e){this.executeRequest(this.createUploadRequest(a.getId(),f,c,b||a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,e),m,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){n(a,!0)}),d,this.ui.getCurrentFile()!=a?a.getData():null):n(a.getData(),!1)}),m=mxUtils.bind(this,function(){!g&&a.constructor!=DriveLibrary&&this.enableThumbnails&&"0"!=urlParams.thumb&&(null== -a.realtime||a.realtime.connected)&&this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){var b=null;if(null!=a)try{b=a.toDataURL("image/png")}catch(n){}b=null==b||b.length>this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");l(b,"image/png")}))||l(null,null,a.constructor!=DriveLibrary&&(null==a.realtime||a.realtime.connected))});e||!b?m():this.verifyMimeType(a.getId(),m,!0)}else this.ui.editor.graph.reset(),null!=d&&d({message:mxResources.get("readOnly")})}; +DriveClient.prototype.getXmlFile=function(a,b,c,d,e,g){var h=gapi.auth.getToken().access_token;this.ui.loadUrl(a.downloadUrl+"&access_token="+h,mxUtils.bind(this,function(h){if(null==h)d({message:mxResources.get("invalidOrMissingFile")});else if(a.mimeType==this.libraryMimeType||g)a.mimeType!=this.libraryMimeType||g?c(new DriveLibrary(this.ui,h,a)):d({message:mxResources.get("notADiagramFile")});else{if(/\.png$/i.test(a.title)){var m=h.lastIndexOf(",");0<m&&(m=this.ui.extractGraphModelFromPng(h.substring(m+ +1)),null!=m&&0<m.length&&(h=m))}var f=new DriveFile(this.ui,h,a,b);!e&&"850530949725"!=this.appId&&f.isEditable()&&a.mimeType!=this.mimeType?this.saveFile(f,!0,mxUtils.bind(this,function(a){f.desc=a;c(f)}),d,!0):c(f)}}),d,"image/"==a.mimeType.substring(0,6)&&"image/svg"!=a.mimeType.substring(0,9)||/\.png$/i.test(a.title)||/\.jpe?g$/i.test(a.title))}; +DriveClient.prototype.saveFile=function(a,b,c,d,e,g){if(a.isEditable()){var h=(new Date).getTime();e=null!=e?e:!this.ui.isLegacyDriveDomain()||"1"==urlParams.ignoremime;g=null!=g?g:!1;var m=mxUtils.bind(this,function(e,k,m){var f={mimeType:a.constructor==DriveLibrary?this.libraryMimeType:this.mimeType,title:a.getTitle()};m||(null!=e||g||(e=this.placeholderThumbnail,k=this.placeholderMimeType),null!=e&&null!=k&&(f.thumbnail={image:e,mimeType:k}));var l=function(){a.saveDelay=(new Date).getTime()-h; +c.apply(this,arguments)},n=mxUtils.bind(this,function(c,e){this.executeRequest(this.createUploadRequest(a.getId(),f,c,b||a.desc.mimeType!=this.mimeType&&a.desc.mimeType!=this.libraryMimeType,e),l,d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){n(a,!0)}),d,this.ui.getCurrentFile()!=a?a.getData():null):n(a.getData(),!1)}),l=mxUtils.bind(this,function(){!g&&a.constructor!=DriveLibrary&&this.enableThumbnails&&"0"!=urlParams.thumb&&(null== +a.realtime||a.realtime.connected)&&this.ui.getThumbnail(this.thumbnailWidth,mxUtils.bind(this,function(a){var b=null;if(null!=a)try{b=a.toDataURL("image/png")}catch(n){}b=null==b||b.length>this.maxThumbnailSize?null:b.substring(b.indexOf(",")+1).replace(/\+/g,"-").replace(/\//g,"_");m(b,"image/png")}))||m(null,null,a.constructor!=DriveLibrary&&(null==a.realtime||a.realtime.connected))});e||!b?l():this.verifyMimeType(a.getId(),l,!0)}else this.ui.editor.graph.reset(),null!=d&&d({message:mxResources.get("readOnly")})}; DriveClient.prototype.verifyMimeType=function(a,b,c,d){null==this.lastMimeCheck&&(this.lastMimeCheck=0);var e=(new Date).getTime();if(c||e-this.lastMimeCheck>this.mimeTypeCheckCoolOff)this.lastMimeCheck=e,this.checkingMimeType||(this.checkingMimeType=!0,this.executeRequest(gapi.client.drive.files.get({fileId:a,fields:"mimeType",supportsTeamDrives:!0}),mxUtils.bind(this,function(c){this.checkingMimeType=!1;null!=c&&"application/vnd.jgraph.mxfile.realtime"==c.mimeType?this.redirectToNewApp(d,a):null!= b&&b()})))}; DriveClient.prototype.redirectToNewApp=function(a,b){this.ui.spinner.stop();if(!this.redirectDialogShowing){this.redirectDialogShowing=!0;var c=window.location.protocol+"//"+this.newAppHostname+"/"+this.ui.getSearch("create title mode url drive splash".split(" "))+"#G"+b;null!=a?this.ui.confirm(mxResources.get("redirectToNewApp"),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=c}),mxUtils.bind(this,function(){this.redirectDialogShowing=!1;null!=a&&a()})):this.ui.alert(mxResources.get("redirectToNewApp"), mxUtils.bind(this,function(){this.redirectDialogShowing=!1;window.location.href=c}))}}; -DriveClient.prototype.insertFile=function(a,b,c,d,e,g,h,l){g=null!=g?g:this.mimeType;l=null!=l?l:!0;a={mimeType:g,title:a};null!=c&&(a.parents=[{kind:"drive#fileLink",id:c}]);this.executeRequest(this.createUploadRequest(null,a,b,!1,h),mxUtils.bind(this,function(a){g==this.libraryMimeType?d(new DriveLibrary(this.ui,b,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):l?this.loadRealtime(a,mxUtils.bind(this,function(c){null!=this.user?(c=new DriveFile(this.ui,b,a,c),c.lastAutosaveRevision= +DriveClient.prototype.insertFile=function(a,b,c,d,e,g,h,m){g=null!=g?g:this.mimeType;m=null!=m?m:!0;a={mimeType:g,title:a};null!=c&&(a.parents=[{kind:"drive#fileLink",id:c}]);this.executeRequest(this.createUploadRequest(null,a,b,!1,h),mxUtils.bind(this,function(a){g==this.libraryMimeType?d(new DriveLibrary(this.ui,b,a)):0==a?null!=e&&e({message:mxResources.get("errorSavingFile")}):m?this.loadRealtime(a,mxUtils.bind(this,function(c){null!=this.user?(c=new DriveFile(this.ui,b,a,c),c.lastAutosaveRevision= (new Date).getTime(),d(c)):null!=e&&e({message:mxResources.get("loggedOut")})}),e):d(a)}),e)}; DriveClient.prototype.createUploadRequest=function(a,b,c,d,e){e=null!=e?e:!1;a={path:"/upload/drive/v2/files"+(null!=a?"/"+a:""),method:null!=a?"PUT":"POST",params:{uploadType:"multipart"},headers:{"Content-Type":'multipart/mixed; boundary="-------314159265358979323846"'},body:"\r\n---------314159265358979323846\r\nContent-Type: application/json\r\n\r\n"+JSON.stringify(b)+"\r\n---------314159265358979323846\r\nContent-Type: application/octect-stream\r\nContent-Transfer-Encoding: base64\r\n\r\n"+(null!= c?e?c:Base64.encode(c):"")+"\r\n---------314159265358979323846--"};d||(a.params.newRevision=!1);a.params.supportsTeamDrives=!0;return gapi.client.request(a)}; DriveClient.prototype.pickFile=function(a,b){this.filePickerCallback=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("G"+a)});this.filePicked=mxUtils.bind(this,function(a){a.action==google.picker.Action.PICKED&&this.filePickerCallback(a.docs[0].id)});this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,d=b?"genericPicker":"filePicker",e=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"== -mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",e),this[d].setVisible(!1))});if(null==this[d]||this[d+"Token"]!=a){this[d+"Token"]=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0),g=(new google.picker.DocsView).setIncludeFolders(!0),h=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0),l=(new google.picker.DocsUploadView).setIncludeFolders(!0);b?(a.setMimeTypes("*/*"),g.setMimeTypes("*/*"),h.setMimeTypes("*/*")): -(a.setMimeTypes(this.mimeTypes),g.setMimeTypes(this.mimeTypes),h.setMimeTypes(this.mimeTypes));this[d]=(new google.picker.PickerBuilder).setOAuthToken(this[d+"Token"]).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(a).addView(g).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(l).setCallback(mxUtils.bind(this,function(a){a.action!=google.picker.Action.PICKED&&a.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document, +mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",e),this[d].setVisible(!1))});if(null==this[d]||this[d+"Token"]!=a){this[d+"Token"]=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0),g=(new google.picker.DocsView).setIncludeFolders(!0),h=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0),m=(new google.picker.DocsUploadView).setIncludeFolders(!0);b?(a.setMimeTypes("*/*"),g.setMimeTypes("*/*"),h.setMimeTypes("*/*")): +(a.setMimeTypes(this.mimeTypes),g.setMimeTypes(this.mimeTypes),h.setMimeTypes(this.mimeTypes));this[d]=(new google.picker.PickerBuilder).setOAuthToken(this[d+"Token"]).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(a).addView(g).addView(h).addView(google.picker.ViewId.RECENTLY_PICKED).addView(m).setCallback(mxUtils.bind(this,function(a){a.action!=google.picker.Action.PICKED&&a.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document, "click",e);a.action==google.picker.Action.PICKED&&this.filePicked(a)})).build()}mxEvent.addListener(document,"click",e);this[d].setVisible(!0)}))}; DriveClient.prototype.pickFolder=function(a){this.folderPickerCallback=a;this.ui.spinner.spin(document.body,mxResources.get("authorizing"))&&mxUtils.bind(this,function(){this.execute(mxUtils.bind(this,function(){this.ui.spinner.stop();var a=gapi.auth.getToken().access_token,c=mxUtils.bind(this,function(a){"picker modal-dialog-bg picker-dialog-bg"==mxEvent.getSource(a).className&&(mxEvent.removeListener(document,"click",c),this.folderPicker.setVisible(!1))});if(null==this.folderPicker||this.folderPickerToken!= a){this.folderPickerToken=a;var a=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder"),d=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder"),e=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0).setMimeTypes("application/vnd.google-apps.folder");this.folderPicker= @@ -7681,32 +7714,32 @@ DriveClient.prototype.pickLibrary=function(a){this.filePickerCallback=a;this.fil e=(new google.picker.DocsView).setEnableTeamDrives(!0).setIncludeFolders(!0).setMimeTypes(this.libraryMimeType+",application/xml,text/plain,application/octet-stream"),g=(new google.picker.DocsUploadView).setIncludeFolders(!0);this.libraryPicker=(new google.picker.PickerBuilder).setOAuthToken(this.libraryPickerToken).setLocale(mxLanguage).setAppId(this.appId).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(c).addView(d).addView(e).addView(google.picker.ViewId.RECENTLY_PICKED).addView(g).setCallback(mxUtils.bind(this, function(b){b.action!=google.picker.Action.PICKED&&b.action!=google.picker.Action.CANCEL||mxEvent.removeListener(document,"click",a);b.action==google.picker.Action.PICKED&&this.filePicked(b)})).build()}mxEvent.addListener(document,"click",a);this.libraryPicker.setVisible(!0)}))};DriveClient.prototype.showPermissions=function(a){this.checkToken(mxUtils.bind(this,function(){var b=new gapi.drive.share.ShareClient(this.appId);b.setOAuthToken(gapi.auth.getToken().access_token);b.setItemIds([a]);b.showSettingsDialog()}))};DropboxFile=function(a,b,c){DrawioFile.call(this,a,b);this.stat=c};mxUtils.extend(DropboxFile,DrawioFile);DropboxFile.prototype.getHash=function(){return"D"+encodeURIComponent(this.stat.path_display.substring(1))};DropboxFile.prototype.getMode=function(){return App.MODE_DROPBOX};DropboxFile.prototype.isAutosaveOptional=function(){return!0};DropboxFile.prototype.getTitle=function(){return this.stat.name};DropboxFile.prototype.isRenamable=function(){return!0}; DropboxFile.prototype.save=function(a,b,c){this.doSave(this.getTitle(),b,c)};DropboxFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};DropboxFile.prototype.doSave=function(a,b,c){var d=this.stat.name;this.stat.name=a;DrawioFile.prototype.save.apply(this,arguments);this.stat.name=d;this.saveFile(a,!1,b,c)}; -DropboxFile.prototype.saveFile=function(a,b,c,d){this.isEditable()?this.savingFile?null!=d&&d({code:App.ERROR_BUSY}):(b=mxUtils.bind(this,function(b){if(b){this.savingFile=!0;var e=this.isModified,h=this.isModified(),l=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return h}});l();var m=mxUtils.bind(this,function(b){var f=this.stat.path_display.lastIndexOf("/"),f=1<f?this.stat.path_display.substring(1,f+1):null;this.ui.dropbox.saveFile(a,b,mxUtils.bind(this,function(a){this.savingFile= -!1;this.isModified=e;this.stat=a;this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(h||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){l();b()}}d(a)}}),f)});this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(this.ui.base64ToBlob(a,"image/png"))}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(this.getData())}else null!= +DropboxFile.prototype.saveFile=function(a,b,c,d){this.isEditable()?this.savingFile?null!=d&&d({code:App.ERROR_BUSY}):(b=mxUtils.bind(this,function(b){if(b){this.savingFile=!0;var e=this.isModified,h=this.isModified(),m=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return h}});m();var l=mxUtils.bind(this,function(b){var f=this.stat.path_display.lastIndexOf("/"),f=1<f?this.stat.path_display.substring(1,f+1):null;this.ui.dropbox.saveFile(a,b,mxUtils.bind(this,function(a){this.savingFile= +!1;this.isModified=e;this.stat=a;this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(h||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){m();b()}}d(a)}}),f)});this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle())?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){l(this.ui.base64ToBlob(a,"image/png"))}),d,this.ui.getCurrentFile()!=this?this.getData():null):l(this.getData())}else null!= d&&d()}),this.getTitle()==a?b(!0):this.ui.dropbox.checkExists(a,b)):null!=c&&c()};DropboxFile.prototype.rename=function(a,b,c){this.ui.dropbox.renameFile(this,a,mxUtils.bind(this,function(d){this.hasSameExtension(a,this.getTitle())?(this.stat=d,this.descriptorChanged(),null!=b&&b()):(this.stat=d,this.descriptorChanged(),this.save(!0,b,c))}),c)};DropboxLibrary=function(a,b,c){DropboxFile.call(this,a,b,c)};mxUtils.extend(DropboxLibrary,DropboxFile);DropboxLibrary.prototype.isAutosave=function(){return!0};DropboxLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};DropboxLibrary.prototype.open=function(){};DropboxClient=function(a){DrawioClient.call(this,a,"dbauth");this.client=new Dropbox({clientId:App.DROPBOX_APPKEY});this.client.setAccessToken(this.token)};mxUtils.extend(DropboxClient,DrawioClient);DropboxClient.prototype.appPath="/drawio/";DropboxClient.prototype.extension=".html";DropboxClient.prototype.writingFile=!1;DropboxClient.prototype.maxRetries=4; DropboxClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null;this.client.authTokenRevoke().then(mxUtils.bind(this,function(){this.client.setAccessToken(null)}))}; DropboxClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout),g=this.client.usersGetCurrentAccount();g.then(mxUtils.bind(this,function(b){window.clearTimeout(e);d&&(this.setUser(new DrawioUser(b.account_id,b.email,b.name.display_name)),a())}));g["catch"](mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(null==g||401!==g.status||c?b({message:mxResources.get("accessDenied")}):(this.setUser(null), this.client.setAccessToken(null),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)))}))}; -DropboxClient.prototype.authenticate=function(a,b){if(null==window.onDropboxCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open(this.client.getAuthenticationUrl("https://"+window.location.host+"/dropbox.html"),"dbauth")?window.onDropboxCallback=mxUtils.bind(this,function(h,l){if(d){window.onDropboxCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.client.setAccessToken(h), -this.setUser(null),e&&this.setPersistentToken(h),a())}catch(m){b(m)}finally{null!=l&&l.close()}}else null!=l&&l.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onDropboxCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})}; -DropboxClient.prototype.executePromise=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);a.then(mxUtils.bind(this,function(a){window.clearTimeout(l);h&&null!=b&&b(a)}));a["catch"](mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.setUser(null),this.client.setAccessToken(null), +DropboxClient.prototype.authenticate=function(a,b){if(null==window.onDropboxCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open(this.client.getAuthenticationUrl("https://"+window.location.host+"/dropbox.html"),"dbauth")?window.onDropboxCallback=mxUtils.bind(this,function(h,m){if(d){window.onDropboxCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.client.setAccessToken(h), +this.setUser(null),e&&this.setPersistentToken(h),a())}catch(l){b(l)}finally{null!=m&&m.close()}}else null!=m&&m.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onDropboxCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})}; +DropboxClient.prototype.executePromise=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,m=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);a.then(mxUtils.bind(this,function(a){window.clearTimeout(m);h&&null!=b&&b(a)}));a["catch"](mxUtils.bind(this,function(a){window.clearTimeout(m);h&&(null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.setUser(null),this.client.setAccessToken(null), g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c)))}))}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null===this.client.getAccessToken()?this.authenticate(function(){e(!0)},c):e(!1)};DropboxClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!0)}; DropboxClient.prototype.getFile=function(a,b,c,d){d=null!=d?d:!1;var e=/\.png$/i.test(a);if(/^https:\/\//i.test(a)||/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&e){var g=mxUtils.bind(this,function(){var d=a.split("/");this.ui.convertFile(a,0<d.length?d[d.length-1]:a,null,this.extension,b,c)});null!=this.token?g():this.authenticate(g,c)}else g={path:"/"+a},null!=urlParams.rev&&(g.rev=urlParams.rev),this.readFile(g,mxUtils.bind(this,function(c,g){var h=e?c.lastIndexOf(","): -1,f=null;0<h&&(h=this.ui.extractGraphModelFromPng(c.substring(h+1)),null!=h&&0<h.length?c=h:f=new LocalFile(this,c,a,!0));b(null!=f?f:d?new DropboxLibrary(this.ui,c,g):new DropboxFile(this.ui,c,g))}),c,e)}; -DropboxClient.prototype.readFile=function(a,b,c,d){var e=mxUtils.bind(this,function(h){var l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),f=this.client.filesGetMetadata({path:"/"+a.path.substring(1),include_deleted:!1});f.then(mxUtils.bind(this,function(a){}));f["catch"](function(a){window.clearTimeout(m);l&&null!=a&&409==a.status&&(l=!1,c({message:mxResources.get("fileNotFound")}))});f=this.client.filesDownload(a);f.then(mxUtils.bind(this, -function(a){window.clearTimeout(m);if(l){l=!1;try{var e=new FileReader;e.onload=mxUtils.bind(this,function(c){b(e.result,a)});d?e.readAsDataURL(a.fileBlob):e.readAsText(a.fileBlob)}catch(t){c(t)}}}));f["catch"](mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(l=!1,null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.client.setAccessToken(null),this.setUser(null),h?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){g(!0)}, +DropboxClient.prototype.readFile=function(a,b,c,d){var e=mxUtils.bind(this,function(h){var m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),f=this.client.filesGetMetadata({path:"/"+a.path.substring(1),include_deleted:!1});f.then(mxUtils.bind(this,function(a){}));f["catch"](function(a){window.clearTimeout(l);m&&null!=a&&409==a.status&&(m=!1,c({message:mxResources.get("fileNotFound")}))});f=this.client.filesDownload(a);f.then(mxUtils.bind(this, +function(a){window.clearTimeout(l);if(m){m=!1;try{var e=new FileReader;e.onload=mxUtils.bind(this,function(c){b(e.result,a)});d?e.readAsDataURL(a.fileBlob):e.readAsText(a.fileBlob)}catch(t){c(t)}}}));f["catch"](mxUtils.bind(this,function(a){window.clearTimeout(l);m&&(m=!1,null==a||500!=a.status&&400!=a.status&&401!=a.status?c({message:mxResources.get("error")+" "+a.status}):(this.client.setAccessToken(null),this.setUser(null),h?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){g(!0)}, c)})}):this.authenticate(function(){e(!0)},c)))}))}),g=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){g(!0)},c,a):e(a)});null===this.client.getAccessToken()?this.authenticate(function(){g(!0)},c):g(!1)}; DropboxClient.prototype.checkExists=function(a,b,c){var d=this.client.filesGetMetadata({path:"/"+a.toLowerCase(),include_deleted:!1});this.executePromise(d,mxUtils.bind(this,function(d){c?b(!1,!0,d):this.ui.confirm(mxResources.get("replaceIt",[a]),function(){b(!0,!0,d)},function(){b(!1,!0,d)})}),function(a){b(!0,!1)})}; -DropboxClient.prototype.renameFile=function(a,b,c,d){if(/[\\\/:\?\*"\|]/.test(b))d({message:mxResources.get("dropboxCharsNotAllowed")});else{if(null!=a&&null!=b){var e=a.stat.path_display.substring(1),g=e.lastIndexOf("/");0<g&&(b=e.substring(0,g+1)+b)}null!=a&&null!=b&&a.stat.path_lower.substring(1)!==b.toLowerCase()?this.checkExists(b,mxUtils.bind(this,function(e,g,m){e?(e=mxUtils.bind(this,function(e){e=this.client.filesMove({from_path:a.stat.path_display,to_path:"/"+b,autorename:!1});this.executePromise(e, -c,d)}),g&&m.path_lower.substring(1)!==b.toLowerCase()?(g=this.client.filesDelete({path:"/"+b.toLowerCase()}),this.executePromise(g,e,d)):e()):d()})):d({message:mxResources.get("invalidName")})}};DropboxClient.prototype.insertLibrary=function(a,b,c,d){this.insertFile(a,b,c,d,!0)}; +DropboxClient.prototype.renameFile=function(a,b,c,d){if(/[\\\/:\?\*"\|]/.test(b))d({message:mxResources.get("dropboxCharsNotAllowed")});else{if(null!=a&&null!=b){var e=a.stat.path_display.substring(1),g=e.lastIndexOf("/");0<g&&(b=e.substring(0,g+1)+b)}null!=a&&null!=b&&a.stat.path_lower.substring(1)!==b.toLowerCase()?this.checkExists(b,mxUtils.bind(this,function(e,g,l){e?(e=mxUtils.bind(this,function(e){e=this.client.filesMove({from_path:a.stat.path_display,to_path:"/"+b,autorename:!1});this.executePromise(e, +c,d)}),g&&l.path_lower.substring(1)!==b.toLowerCase()?(g=this.client.filesDelete({path:"/"+b.toLowerCase()}),this.executePromise(g,e,d)):e()):d()})):d({message:mxResources.get("invalidName")})}};DropboxClient.prototype.insertLibrary=function(a,b,c,d){this.insertFile(a,b,c,d,!0)}; DropboxClient.prototype.insertFile=function(a,b,c,d,e){e=null!=e?e:!1;this.checkExists(a,mxUtils.bind(this,function(g){g?this.saveFile(a,b,mxUtils.bind(this,function(a){e?c(new DropboxLibrary(this.ui,b,a)):c(new DropboxFile(this.ui,b,a))}),d):d()}))}; DropboxClient.prototype.saveFile=function(a,b,c,d,e){/[\\\/:\?\*"\|]/.test(a)?d({message:mxResources.get("dropboxCharsNotAllowed")}):15E7<=b.length?d({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 150 MB)"}):(a=this.client.filesUpload({path:"/"+(null!=e?e:"")+a,mode:{".tag":"overwrite"},mute:!0,contents:new Blob([b],{type:"text/plain"})}),this.executePromise(a,c,d))}; DropboxClient.prototype.pickLibrary=function(a){Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(b){if(this.ui.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),d=b[0].link.indexOf(this.appPath);if(0<d){var e=decodeURIComponent(b[0].link.substring(d+this.appPath.length-1));this.readFile({path:e},mxUtils.bind(this,function(d,h){if(null!=h&&h.id==b[0].id)try{this.ui.spinner.stop(), -a(e.substring(1),new DropboxLibrary(this.ui,d,h))}catch(l){this.ui.handleError(l)}else this.createLibrary(b[0],a,c)}),c)}else this.createLibrary(b[0],a,c)}})})}; +a(e.substring(1),new DropboxLibrary(this.ui,d,h))}catch(m){this.ui.handleError(m)}else this.createLibrary(b[0],a,c)}),c)}else this.createLibrary(b[0],a,c)}})})}; DropboxClient.prototype.createLibrary=function(a,b,c){this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){this.ui.loadUrl(a.link,mxUtils.bind(this,function(d){this.insertFile(a.name,d,mxUtils.bind(this,function(a){try{this.ui.spinner.stop(),b(a.getHash().substring(1),a)}catch(g){c(g)}}),c,!0)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()}))}; DropboxClient.prototype.pickFile=function(a,b){null!=Dropbox.choose?(a=null!=a?a:mxUtils.bind(this,function(a,b){this.ui.loadFile(null!=a?"D"+encodeURIComponent(a):b.getHash(),null,b)}),Dropbox.choose({linkType:"direct",cancel:mxUtils.bind(this,function(){}),success:mxUtils.bind(this,function(c){if(this.ui.spinner.spin(document.body,mxResources.get("loading")))if(b)this.ui.spinner.stop(),a(c[0].link);else{var d=mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError(a)}),e=mxUtils.bind(this, -function(b,c){this.ui.spinner.stop();a(b,c)}),g=/\.png$/i.test(c[0].name);if(/\.vsdx$/i.test(c[0].name)||/\.gliffy$/i.test(c[0].name)||!this.ui.useCanvasForExport&&g)e(c[0].link);else{var h=c[0].link.indexOf(this.appPath);if(0<h){var l=decodeURIComponent(c[0].link.substring(h+this.appPath.length-1));this.readFile({path:l},mxUtils.bind(this,function(b,f){if(null!=f&&f.id==c[0].id){var h=g?b.lastIndexOf(","):-1;this.ui.spinner.stop();var m=null;0<h&&(h=this.ui.extractGraphModelFromPng(b.substring(h+ -1)),null!=h&&0<h.length?b=h:m=new LocalFile(this,b,l,!0));a(l.substring(1),null!=m?m:new DropboxFile(this.ui,b,f))}else this.createFile(c[0],e,d)}),d,g)}else this.createFile(c[0],e,d)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}; +function(b,c){this.ui.spinner.stop();a(b,c)}),g=/\.png$/i.test(c[0].name);if(/\.vsdx$/i.test(c[0].name)||/\.gliffy$/i.test(c[0].name)||!this.ui.useCanvasForExport&&g)e(c[0].link);else{var h=c[0].link.indexOf(this.appPath);if(0<h){var m=decodeURIComponent(c[0].link.substring(h+this.appPath.length-1));this.readFile({path:m},mxUtils.bind(this,function(b,f){if(null!=f&&f.id==c[0].id){var h=g?b.lastIndexOf(","):-1;this.ui.spinner.stop();var l=null;0<h&&(h=this.ui.extractGraphModelFromPng(b.substring(h+ +1)),null!=h&&0<h.length?b=h:l=new LocalFile(this,b,m,!0));a(m.substring(1),null!=l?l:new DropboxFile(this.ui,b,f))}else this.createFile(c[0],e,d)}),d,g)}else this.createFile(c[0],e,d)}}})})):this.ui.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}; DropboxClient.prototype.createFile=function(a,b,c){var d=/(\.png)$/i.test(a.name);this.ui.loadUrl(a.link,mxUtils.bind(this,function(e){null!=e&&0<e.length?this.ui.confirm(mxResources.get("note")+": "+mxResources.get("fileWillBeSavedInAppFolder",[a.name]),mxUtils.bind(this,function(){var g=d?e.lastIndexOf(","):-1;0<g&&(g=this.ui.extractGraphModelFromPng(e.substring(g+1)),null!=g&&0<g.length&&(e=g));this.insertFile(a.name,e,mxUtils.bind(this,function(c){b(a.name,c)}),c)}),mxUtils.bind(this,function(){this.ui.spinner.stop()})): (this.ui.spinner.stop(),c({message:mxResources.get("errorLoadingFile")}))}),c,d)};OneDriveFile=function(a,b,c){DrawioFile.call(this,a,b);this.meta=c};mxUtils.extend(OneDriveFile,DrawioFile);OneDriveFile.prototype.getHash=function(){return"W"+encodeURIComponent(this.meta.id)};OneDriveFile.prototype.getMode=function(){return App.MODE_ONEDRIVE};OneDriveFile.prototype.isAutosaveOptional=function(){return!0};OneDriveFile.prototype.getTitle=function(){return this.meta.name};OneDriveFile.prototype.isRenamable=function(){return!0}; OneDriveFile.prototype.save=function(a,b,c){this.doSave(this.getTitle(),b,c)};OneDriveFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};OneDriveFile.prototype.doSave=function(a,b,c){var d=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=d;this.saveFile(a,!1,b,c)}; @@ -7717,20 +7750,20 @@ OneDriveClient.prototype.get=function(a,b,c){a=new mxXmlRequest(a,null,"GET");a. OneDriveClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.get(this.baseUrl+"/me",mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(200>g.getStatus()||300<=g.getStatus()?c?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):(g=JSON.parse(g.getText()),this.setUser(new DrawioUser(g.id,null,g.displayName)), a()))}),b)}; OneDriveClient.prototype.authenticate=function(a,b){if(null==window.onOneDriveCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){var h="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id="+this.clientId+"&response_type=token&redirect_uri="+encodeURIComponent(this.redirectUri)+"&scope="+encodeURIComponent(this.scopes)+"&response_mode=fragment",h=window.open(h,"odauth",["width=525,height=525","top="+(window.screenY+ -Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join());null!=h&&(window.onOneDriveCallback=mxUtils.bind(this,function(h,m){if(d){window.onOneDriveCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.setUser(null),this.token=h,e&&this.setPersistentToken(h),a())}catch(f){b(f)}finally{null!=m&&m.close()}}else null!=m&&m.close()}),h.focus())}), +Math.max(window.outerHeight-525,0)/2),"left="+(window.screenX+Math.max(window.outerWidth-525,0)/2),"status=no,resizable=yes,toolbar=no,menubar=no,scrollbars=yes"].join());null!=h&&(window.onOneDriveCallback=mxUtils.bind(this,function(h,l){if(d){window.onOneDriveCallback=null;d=!1;try{null==h?b({message:mxResources.get("accessDenied"),retry:c}):(null!=g&&g(),this.setUser(null),this.token=h,e&&this.setPersistentToken(h),a())}catch(f){b(f)}finally{null!=l&&l.close()}}else null!=l&&l.close()}),h.focus())}), mxUtils.bind(this,function(){d&&(window.onOneDriveCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})}; -OneDriveClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);this.get(a,mxUtils.bind(this,function(a){window.clearTimeout(l);h&&(200<=a.getStatus()&&299>=a.getStatus()||404==a.getStatus()?b(a):401===a.getStatus()||400===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this, +OneDriveClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,m=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout);this.get(a,mxUtils.bind(this,function(a){window.clearTimeout(m);h&&(200<=a.getStatus()&&299>=a.getStatus()||404==a.getStatus()?b(a):401===a.getStatus()||400===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this, function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c)):c(this.parseRequestText(a)))}),c)}),e=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null==this.token?this.authenticate(function(){e(!0)},c):e(!1)};OneDriveClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!1,!0)}; -OneDriveClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;this.executeRequest(this.baseUrl+"/me/drive/items/"+a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var d=JSON.parse(a.getText()),g=/\.png$/i.test(d.name);if(/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(d["@microsoft.graph.downloadUrl"],d.name,null!=d.file?d.file.mimeType:null,this.extension,b,c);else{var m=!0,f=window.setTimeout(mxUtils.bind(this, -function(){m=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(d["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(f);if(m){var c=g?a.lastIndexOf(","):-1,h=null;0<c&&(c=this.ui.extractGraphModelFromPng(a.substring(c+1)),null!=c&&0<c.length?a=c:h=new LocalFile(this.ui,a,d.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}),mxUtils.bind(this,function(a){window.clearTimeout(f);m&&c(this.parseRequestText(a))}), +OneDriveClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;this.executeRequest(this.baseUrl+"/me/drive/items/"+a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){var d=JSON.parse(a.getText()),g=/\.png$/i.test(d.name);if(/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&g)this.ui.convertFile(d["@microsoft.graph.downloadUrl"],d.name,null!=d.file?d.file.mimeType:null,this.extension,b,c);else{var l=!0,f=window.setTimeout(mxUtils.bind(this, +function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout);this.ui.loadUrl(d["@microsoft.graph.downloadUrl"],mxUtils.bind(this,function(a){window.clearTimeout(f);if(l){var c=g?a.lastIndexOf(","):-1,h=null;0<c&&(c=this.ui.extractGraphModelFromPng(a.substring(c+1)),null!=c&&0<c.length?a=c:h=new LocalFile(this.ui,a,d.name,!0));null!=h?b(h):e?b(new OneDriveLibrary(this.ui,a,d)):b(new OneDriveFile(this.ui,a,d))}}),mxUtils.bind(this,function(a){window.clearTimeout(f);l&&c(this.parseRequestText(a))}), g||null!=d.file&&null!=d.file.mimeType&&"image/"==d.file.mimeType.substring(0,6))}}else c(this.parseRequestText(a))}),c)};OneDriveClient.prototype.renameFile=function(a,b,c,d){null!=a&&null!=b&&this.checkExists(a.meta.parentReference.id,b,!1,mxUtils.bind(this,function(e){e?this.writeFile(this.baseUrl+"/me/drive/items/"+a.meta.id,JSON.stringify({name:b}),"PATCH","application/json",c,d):d()}))}; OneDriveClient.prototype.moveFile=function(a,b,c,d){this.writeFile(this.baseUrl+"/me/drive/items/"+a,JSON.stringify({parentReference:{id:b}}),"PATCH","application/json",c,d)};OneDriveClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)}; OneDriveClient.prototype.insertFile=function(a,b,c,d,e,g){e=null!=e?e:!1;this.checkExists(g,a,!0,mxUtils.bind(this,function(h){h?this.writeFile(this.baseUrl+(null!=g?"/me/drive/items/"+g:"/me/drive/root")+"/children/"+a+"/content",b,"PUT",null,mxUtils.bind(this,function(a){e?c(new OneDriveLibrary(this.ui,b,a)):c(new OneDriveFile(this.ui,b,a))}),d):d()}))}; OneDriveClient.prototype.checkExists=function(a,b,c,d){this.executeRequest(this.baseUrl+(null!=a?"/me/drive/items/"+a:"/me/drive/root")+"/children/"+b,mxUtils.bind(this,function(a){404==a.getStatus()?d(!0):c?(this.ui.spinner.stop(),this.ui.confirm(mxResources.get("replaceIt",[b]),function(){d(!0)},function(){d(!1)})):(this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){d(!1)}))}),function(a){d(!1)},!0)}; OneDriveClient.prototype.saveFile=function(a,b,c){var d=mxUtils.bind(this,function(d){this.writeFile(this.baseUrl+"/me/drive/items/"+a.meta.id+"/content/",d,"PUT",null,b,c)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){d(this.ui.base64ToBlob(a,"image/png"))}),c,this.ui.getCurrentFile()!=a?a.getData():null):d(a.getData())}; -OneDriveClient.prototype.writeFile=function(a,b,c,d,e,g){if(null!=a&&null!=b){var h=mxUtils.bind(this,function(m){var f=!0,k=window.setTimeout(mxUtils.bind(this,function(){f=!1;g({code:App.ERROR_TIMEOUT,retry:l})}),this.ui.timeout),n=new mxXmlRequest(a,b,c);n.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Content-Type",d||" ");a.setRequestHeader("Authorization","Bearer "+this.token)});n.send(mxUtils.bind(this,function(a){window.clearTimeout(k);f&&(200<=a.getStatus()&&299>=a.getStatus()? -e(JSON.parse(a.getText())):401===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,m?g({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){l(!0)},g)})}):this.authenticate(function(){h(!0)},g)):g(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(k);f&&g(this.parseRequestText(a))}))}),l=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){l(!0)},g,a):h(a)});null==this.token? -this.authenticate(function(){l(!0)},g):l(!1)}else g({message:mxResources.get("unknownError")})};OneDriveClient.prototype.parseRequestText=function(a){var b={message:mxResources.get("unknownError")};try{b=JSON.parse(a.getText())}catch(c){}return b};OneDriveClient.prototype.pickLibrary=function(a){this.pickFile(function(b){a(b)})}; +OneDriveClient.prototype.writeFile=function(a,b,c,d,e,g){if(null!=a&&null!=b){var h=mxUtils.bind(this,function(l){var f=!0,k=window.setTimeout(mxUtils.bind(this,function(){f=!1;g({code:App.ERROR_TIMEOUT,retry:m})}),this.ui.timeout),n=new mxXmlRequest(a,b,c);n.setRequestHeaders=mxUtils.bind(this,function(a,b){a.setRequestHeader("Content-Type",d||" ");a.setRequestHeader("Authorization","Bearer "+this.token)});n.send(mxUtils.bind(this,function(a){window.clearTimeout(k);f&&(200<=a.getStatus()&&299>=a.getStatus()? +e(JSON.parse(a.getText())):401===a.getStatus()?(this.clearPersistentToken(),this.setUser(null),this.token=null,l?g({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this,function(){this.authenticate(function(){m(!0)},g)})}):this.authenticate(function(){h(!0)},g)):g(this.parseRequestText(a)))}),mxUtils.bind(this,function(a){window.clearTimeout(k);f&&g(this.parseRequestText(a))}))}),m=mxUtils.bind(this,function(a){null==this.user?this.updateUser(function(){m(!0)},g,a):h(a)});null==this.token? +this.authenticate(function(){m(!0)},g):m(!1)}else g({message:mxResources.get("unknownError")})};OneDriveClient.prototype.parseRequestText=function(a){var b={message:mxResources.get("unknownError")};try{b=JSON.parse(a.getText())}catch(c){}return b};OneDriveClient.prototype.pickLibrary=function(a){this.pickFile(function(b){a(b)})}; OneDriveClient.prototype.pickFolder=function(a){OneDrive.save({clientId:this.clientId,action:"query",openInNewWindow:!0,advanced:{redirectUri:this.redirectUri},success:mxUtils.bind(this,function(b){this.token=b.accessToken;a(b)}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)})})}; OneDriveClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("W"+encodeURIComponent(a))});OneDrive.open({clientId:this.clientId,action:"query",multiSelect:!1,advanced:{redirectUri:this.redirectUri},success:mxUtils.bind(this,function(b){null!=b&&null!=b.value&&0<b.value.length&&(this.token=b.accessToken,a(b.value[0].id,b))}),cancel:function(){},error:mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)})})}; OneDriveClient.prototype.logout=function(){if(isLocalStorage){var a=localStorage.getItem("odpickerv7cache");null!=a&&'{"odsdkLoginHint":{'==a.substring(0,19)&&localStorage.removeItem("odpickerv7cache")}this.clearPersistentToken();this.setUser(null);this.token=null};GitHubFile=function(a,b,c){DrawioFile.call(this,a,b);this.meta=c};mxUtils.extend(GitHubFile,DrawioFile);GitHubFile.prototype.getHash=function(){return encodeURIComponent("H"+encodeURIComponent(this.meta.org)+"/"+(null!=this.meta.repo?encodeURIComponent(this.meta.repo)+"/"+(null!=this.meta.ref?this.meta.ref+(null!=this.meta.path?"/"+this.meta.path:""):""):""))}; @@ -7741,59 +7774,59 @@ this.contentChanged();null!=c&&c()}),mxUtils.bind(this,function(a){this.savingFi !1;null!=d&&d()}),!1,b)}));else null!=c&&c()};GitHubLibrary=function(a,b,c){GitHubFile.call(this,a,b,c)};mxUtils.extend(GitHubLibrary,GitHubFile);GitHubLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};GitHubLibrary.prototype.open=function(){};GitHubClient=function(a){DrawioClient.call(this,a,"ghauth")};mxUtils.extend(GitHubClient,DrawioClient);GitHubClient.prototype.clientId="test.draw.io"==window.location.hostname?"23bc97120b9035515661":"89c9e4624ca416554489";GitHubClient.prototype.scope="repo";GitHubClient.prototype.extension=".xml";GitHubClient.prototype.baseUrl="https://api.github.com";GitHubClient.prototype.maxFileSize=1E6; GitHubClient.prototype.updateUser=function(a,b,c){var d=!0,e=window.setTimeout(mxUtils.bind(this,function(){d=!1;b({code:App.ERROR_TIMEOUT})}),this.ui.timeout);mxUtils.get(this.baseUrl+"/user?access_token="+this.token,mxUtils.bind(this,function(g){window.clearTimeout(e);d&&(401===g.getStatus()?c?b({message:mxResources.get("accessDenied")}):(this.logout(),this.authenticate(mxUtils.bind(this,function(){this.updateUser(a,b,!0)}),b)):200>g.getStatus()||300<=g.getStatus()?b({message:mxResources.get("accessDenied")}): (g=JSON.parse(g.getText()),this.setUser(new DrawioUser(g.id,g.email,g.name)),a()))}))}; -GitHubClient.prototype.authenticate=function(a,b){if(null==window.onGitHubCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open("https://github.com/login/oauth/authorize?client_id="+this.clientId+"&scope="+this.scope,"ghauth")?window.onGitHubCallback=mxUtils.bind(this,function(h,l){if(d)if(window.onGitHubCallback=null,d=!1,null==h)b({message:mxResources.get("accessDenied"),retry:c});else{var m=mxUtils.bind(this,function(){var c= -!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT,retry:m})}),this.ui.timeout);mxUtils.get("/github?client_id="+this.clientId+"&code="+h,mxUtils.bind(this,function(f){window.clearTimeout(d);if(c)try{if(200>f.getStatus()||300<=f.getStatus())b({message:mxResources.get("cannotLogin")});else{null!=g&&g();var h=f.getText();this.token=h.substring(h.indexOf("=")+1,h.indexOf("&"));this.setUser(null);e&&this.setPersistentToken(this.token);a()}}catch(u){b(u)}finally{null!=l&& -l.close()}}))});m()}else null!=l&&l.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onGitHubCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})}; -GitHubClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),m=this.token;a.setRequestHeaders=function(a,b){a.setRequestHeader("Authorization","token "+m)};a.send(mxUtils.bind(this,function(){window.clearTimeout(l);if(h)if(200<=a.getStatus()&&299>=a.getStatus())b(a);else if(401===a.getStatus())g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this, +GitHubClient.prototype.authenticate=function(a,b){if(null==window.onGitHubCallback){var c=mxUtils.bind(this,function(){var d=!0;this.ui.showAuthDialog(this,!0,mxUtils.bind(this,function(e,g){null!=window.open("https://github.com/login/oauth/authorize?client_id="+this.clientId+"&scope="+this.scope,"ghauth")?window.onGitHubCallback=mxUtils.bind(this,function(h,m){if(d)if(window.onGitHubCallback=null,d=!1,null==h)b({message:mxResources.get("accessDenied"),retry:c});else{var l=mxUtils.bind(this,function(){var c= +!0,d=window.setTimeout(mxUtils.bind(this,function(){c=!1;b({code:App.ERROR_TIMEOUT,retry:l})}),this.ui.timeout);mxUtils.get("/github?client_id="+this.clientId+"&code="+h,mxUtils.bind(this,function(f){window.clearTimeout(d);if(c)try{if(200>f.getStatus()||300<=f.getStatus())b({message:mxResources.get("cannotLogin")});else{null!=g&&g();var h=f.getText();this.token=h.substring(h.indexOf("=")+1,h.indexOf("&"));this.setUser(null);e&&this.setPersistentToken(this.token);a()}}catch(u){b(u)}finally{null!=m&& +m.close()}}))});l()}else null!=m&&m.close()}):b({message:mxResources.get("serviceUnavailableOrBlocked"),retry:c})}),mxUtils.bind(this,function(){d&&(window.onGitHubCallback=null,d=!1,b({message:mxResources.get("accessDenied"),retry:c}))}))});c()}else b({code:App.ERROR_BUSY})}; +GitHubClient.prototype.executeRequest=function(a,b,c){var d=mxUtils.bind(this,function(g){var h=!0,m=window.setTimeout(mxUtils.bind(this,function(){h=!1;c({code:App.ERROR_TIMEOUT,retry:e})}),this.ui.timeout),l=this.token;a.setRequestHeaders=function(a,b){a.setRequestHeader("Authorization","token "+l)};a.send(mxUtils.bind(this,function(){window.clearTimeout(m);if(h)if(200<=a.getStatus()&&299>=a.getStatus())b(a);else if(401===a.getStatus())g?c({message:mxResources.get("accessDenied"),retry:mxUtils.bind(this, function(){this.authenticate(function(){e(!0)},c)})}):this.authenticate(function(){d(!0)},c);else if(403===a.getStatus()){var f=!1;try{var k=JSON.parse(a.getText());null!=k&&null!=k.errors&&0<k.errors.length&&(f="too_large"==k.errors[0].code)}catch(n){}c({message:mxResources.get(f?"drawingTooLarge":"forbidden")})}else 404===a.getStatus()?c({message:mxResources.get("fileNotFound")}):409===a.getStatus()?c({status:409}):c({message:mxResources.get("error")+" "+a.getStatus()})}),c)}),e=mxUtils.bind(this, function(a){null==this.user?this.updateUser(function(){e(!0)},c,a):d(a)});null==this.token?this.authenticate(function(){e(!0)},c):e(!1)};GitHubClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!0)}; -GitHubClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;var g=a.split("/"),h=g[0],l=g[1],m=g[2];a=g.slice(3,g.length).join("/");g=/\.png$/i.test(a);!e&&(/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&g)?null!=this.token?(e=this.baseUrl+"/repos/"+h+"/"+l+"/contents/"+a+"?ref="+m+"&token="+this.token,g=a.split("/"),this.ui.convertFile(e,0<g.length?g[g.length-1]:a,null,this.extension,b,c)):c({message:mxResources.get("accessDenied")}):(a=new mxXmlRequest(this.baseUrl+ -"/repos/"+h+"/"+l+"/contents/"+a+"?ref="+m,null,"GET"),this.executeRequest(a,mxUtils.bind(this,function(a){try{b(this.createGitHubFile(h,l,m,JSON.parse(a.getText()),d))}catch(k){c(k)}}),c))}; +GitHubClient.prototype.getFile=function(a,b,c,d,e){d=null!=d?d:!1;var g=a.split("/"),h=g[0],m=g[1],l=g[2];a=g.slice(3,g.length).join("/");g=/\.png$/i.test(a);!e&&(/\.vsdx?$/i.test(a)||/\.gliffy$/i.test(a)||!this.ui.useCanvasForExport&&g)?null!=this.token?(e=this.baseUrl+"/repos/"+h+"/"+m+"/contents/"+a+"?ref="+l+"&token="+this.token,g=a.split("/"),this.ui.convertFile(e,0<g.length?g[g.length-1]:a,null,this.extension,b,c)):c({message:mxResources.get("accessDenied")}):(a=new mxXmlRequest(this.baseUrl+ +"/repos/"+h+"/"+m+"/contents/"+a+"?ref="+l,null,"GET"),this.executeRequest(a,mxUtils.bind(this,function(a){try{b(this.createGitHubFile(h,m,l,JSON.parse(a.getText()),d))}catch(k){c(k)}}),c))}; GitHubClient.prototype.createGitHubFile=function(a,b,c,d,e){a={org:a,repo:b,ref:c,name:d.name,path:d.path,sha:d.sha,html_url:d.html_url,download_url:d.download_url};b=d.content;"base64"===d.encoding&&(/\.jpe?g$/i.test(d.name)?b="data:image/jpeg;base64,"+b:/\.gif$/i.test(d.name)?b="data:image/gif;base64,"+b:/\.png$/i.test(d.name)?(d=this.ui.extractGraphModelFromPng(b),b=null!=d&&0<d.length?d:"data:image/png;base64,"+b):b=Base64.decode(b));return e?new GitHubLibrary(this.ui,b,a):new GitHubFile(this.ui, b,a)};GitHubClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e,!1)}; -GitHubClient.prototype.insertFile=function(a,b,c,d,e,g,h){e=null!=e?e:!1;g=g.split("/");var l=g[0],m=g[1],f=g[2],k=g.slice(3,g.length).join("/");0<k.length&&(k+="/");k+=a;this.checkExists(l+"/"+m+"/"+f+"/"+k,!0,mxUtils.bind(this,function(g,t){g?e?(h||(b=Base64.encode(b)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(l,m,f,k,a,b,t,mxUtils.bind(this,function(a){try{var b=JSON.parse(a.getText());c(this.createGitHubFile(l,m,f,b.content,e))}catch(w){d(w)}}),d)}),d)):c(new GitHubFile(this.ui, -b,{org:l,repo:m,ref:f,name:a,path:k,sha:t,isNew:!0})):d()}))};GitHubClient.prototype.showCommitDialog=function(a,b,c,d){var e=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(b?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){e();c(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){d()}));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}; -GitHubClient.prototype.writeFile=function(a,b,c,d,e,g,h,l,m){g.length>=this.maxFileSize?m({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(g.length)+" / 1 MB)"}):(c={path:d,branch:decodeURIComponent(c),message:e,content:g},null!=h&&(c.sha=h),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+b+"/contents/"+d,JSON.stringify(c),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){l(a)}),m))}; +GitHubClient.prototype.insertFile=function(a,b,c,d,e,g,h){e=null!=e?e:!1;g=g.split("/");var m=g[0],l=g[1],f=g[2],k=g.slice(3,g.length).join("/");0<k.length&&(k+="/");k+=a;this.checkExists(m+"/"+l+"/"+f+"/"+k,!0,mxUtils.bind(this,function(g,t){g?e?(h||(b=Base64.encode(b)),this.showCommitDialog(a,!0,mxUtils.bind(this,function(a){this.writeFile(m,l,f,k,a,b,t,mxUtils.bind(this,function(a){try{var b=JSON.parse(a.getText());c(this.createGitHubFile(m,l,f,b.content,e))}catch(w){d(w)}}),d)}),d)):c(new GitHubFile(this.ui, +b,{org:m,repo:l,ref:f,name:a,path:k,sha:t,isNew:!0})):d()}))};GitHubClient.prototype.showCommitDialog=function(a,b,c,d){var e=this.ui.spinner.pause();a=new FilenameDialog(this.ui,mxResources.get(b?"addedFile":"updateFile",[a]),mxResources.get("ok"),mxUtils.bind(this,function(a){e();c(a)}),mxResources.get("commitMessage"),null,null,null,null,mxUtils.bind(this,function(){d()}));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}; +GitHubClient.prototype.writeFile=function(a,b,c,d,e,g,h,m,l){g.length>=this.maxFileSize?l({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(g.length)+" / 1 MB)"}):(c={path:d,branch:decodeURIComponent(c),message:e,content:g},null!=h&&(c.sha=h),a=new mxXmlRequest(this.baseUrl+"/repos/"+a+"/"+b+"/contents/"+d,JSON.stringify(c),"PUT"),this.executeRequest(a,mxUtils.bind(this,function(a){m(a)}),l))}; GitHubClient.prototype.checkExists=function(a,b,c){this.getFile(a,mxUtils.bind(this,function(d){if(b&&null!=d.meta){var e=this.ui.spinner.pause();this.ui.confirm(mxResources.get("replaceIt",[a]),function(){e();c(!0,d.meta.sha)},function(){e();c(!1)})}else this.ui.spinner.stop(),this.ui.showError(mxResources.get("error"),mxResources.get("fileExists"),mxResources.get("ok"),function(){c(!1)})}),mxUtils.bind(this,function(a){c(!0)}),null,!0)}; -GitHubClient.prototype.saveFile=function(a,b,c){var d=a.meta.org,e=a.meta.repo,g=a.meta.ref,h=a.meta.path;this.showCommitDialog(a.meta.name,null==a.meta.sha||a.meta.isNew,mxUtils.bind(this,function(l){var m=mxUtils.bind(this,function(f,k){this.writeFile(d,e,g,h,l,k,f,mxUtils.bind(this,function(c){delete a.meta.isNew;b(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){null!=a&&409==a.status?(resume=this.ui.spinner.pause(),a=new ErrorDialog(this.ui,mxResources.get("errorSavingFile"),mxResources.get("fileChangedOverwrite"), -mxResources.get("cancel"),mxUtils.bind(this,function(){c()}),null,mxResources.get("overwrite"),mxUtils.bind(this,function(){resume();this.getFile(d+"/"+e+"/"+g+"/"+h,mxUtils.bind(this,function(a){m(a.meta.sha,k)}),mxUtils.bind(this,function(){m(null,k)}))})),this.ui.showDialog(a.container,340,150,!0,!1),a.init()):c(a)}))});this.ui.useCanvasForExport&&/(\.png)$/i.test(h)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){m(a.meta.sha,b)}),c,this.ui.getCurrentFile()!=a?a.getData():null):m(a.meta.sha, +GitHubClient.prototype.saveFile=function(a,b,c){var d=a.meta.org,e=a.meta.repo,g=a.meta.ref,h=a.meta.path;this.showCommitDialog(a.meta.name,null==a.meta.sha||a.meta.isNew,mxUtils.bind(this,function(m){var l=mxUtils.bind(this,function(f,k){this.writeFile(d,e,g,h,m,k,f,mxUtils.bind(this,function(c){delete a.meta.isNew;b(JSON.parse(c.getText()))}),mxUtils.bind(this,function(a){null!=a&&409==a.status?(resume=this.ui.spinner.pause(),a=new ErrorDialog(this.ui,mxResources.get("errorSavingFile"),mxResources.get("fileChangedOverwrite"), +mxResources.get("cancel"),mxUtils.bind(this,function(){c()}),null,mxResources.get("overwrite"),mxUtils.bind(this,function(){resume();this.getFile(d+"/"+e+"/"+g+"/"+h,mxUtils.bind(this,function(a){l(a.meta.sha,k)}),mxUtils.bind(this,function(){l(null,k)}))})),this.ui.showDialog(a.container,340,150,!0,!1),a.init()):c(a)}))});this.ui.useCanvasForExport&&/(\.png)$/i.test(h)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(b){l(a.meta.sha,b)}),c,this.ui.getCurrentFile()!=a?a.getData():null):l(a.meta.sha, Base64.encode(a.getData()))}),mxUtils.bind(this,function(){c()}))};GitHubClient.prototype.pickLibrary=function(a){this.pickFile(a)};GitHubClient.prototype.pickFolder=function(a){this.showGitHubDialog(!1,a)};GitHubClient.prototype.pickFile=function(a){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("H"+encodeURIComponent(a))});this.showGitHubDialog(!0,a)}; -GitHubClient.prototype.showGitHubDialog=function(a,b){var c=null,d=null,e=null,g=null,h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.height="224px";var l=document.createElement("h3");mxUtils.write(l,mxResources.get(a?"selectFile":"selectFolder"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";h.appendChild(l);var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="auto";m.style.height="194px"; -h.appendChild(m);var f=new CustomDialog(this.ui,h,mxUtils.bind(this,function(){b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+g)}));this.ui.showDialog(f.container,340,270,!0,!0);a&&f.okButton.parentNode.removeChild(f.okButton);var k=mxUtils.bind(this,function(a,b){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");mxUtils.write(c,a);mxEvent.addListener(c,"click",b);return c}),n=mxUtils.bind(this,function(a){var b=document.createElement("div");b.style.marginBottom="8px";b.appendChild(k(c+ -"/"+d,mxUtils.bind(this,function(){g=null;C()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){g=null;w()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");u()})))})(a)}m.appendChild(b)}),t=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()? -(g=e=d=c=null,C()):this.ui.hideDialog()}))}),u=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/contents/"+g+"?ref="+encodeURIComponent(e),null,"GET");f.okButton.removeAttribute("disabled");m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(f){n();this.ui.spinner.stop();var h=JSON.parse(f.getText());m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,C();else{var a=g.split("/"); -g=a.slice(0,a.length-1).join("/");u()}})));mxUtils.br(m);null==h||0==h.length?mxUtils.write(m,mxResources.get("noFiles")):(f=mxUtils.bind(this,function(f){for(var l=0;l<h.length;l++)mxUtils.bind(this,function(h){f==("dir"==h.type)&&(m.appendChild(k(h.name+("dir"==h.type?"/":""),mxUtils.bind(this,function(){"dir"==h.type?(g=h.path,u()):a&&"file"==h.type&&(this.ui.hideDialog(),b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+h.path))}))),mxUtils.br(m))})(h[l])}),f(!0),a&&f(!1))}),t)}),q=null,v=null,w=mxUtils.bind(this, -function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.setAttribute("href","javascript:void(0);");mxUtils.write(q,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m, -"scroll",v);w(a+1)});mxEvent.addListener(q,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),m.appendChild(k("../ [Up]",mxUtils.bind(this,function(){g=null;C()}))),mxUtils.br(m));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){m.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;g="";u()})));mxUtils.br(m)})(b[c]);100==b.length&&(m.appendChild(q), -v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",v))}}),t)}),C=mxUtils.bind(this,function(a){null==a&&(m.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(m,mxResources.get("loading"));null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.setAttribute("href","javascript:void(0);"); -mxUtils.write(q,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",v);C(a+1)});mxEvent.addListener(q,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==a&&(m.appendChild(k(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this, -function(a){if(null!=a){var b=a.split("/");if(1<b.length){a=b[0];var f=b[1];3>b.length?(c=a,d=f,g=e=null,w()):this.ui.spinner.spin(m,mxResources.get("loading"))&&(b=encodeURIComponent(b.slice(2,b.length).join("/")),this.getFile(a+"/"+f+"/"+b,mxUtils.bind(this,function(a){this.ui.spinner.stop();c=a.meta.org;d=a.meta.repo;e=decodeURIComponent(a.meta.ref);g="";u()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(), -this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m),mxUtils.br(m));for(var f=0;f<b.length;f++)mxUtils.bind(this,function(a){m.appendChild(k(a.full_name,mxUtils.bind(this,function(){c=a.owner.login;d=a.name;e=a.default_branch;g="";u()})));mxUtils.br(m)})(b[f])}100==b.length&&(m.appendChild(q),v=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll", +GitHubClient.prototype.showGitHubDialog=function(a,b){var c=null,d=null,e=null,g=null,h=document.createElement("div");h.style.whiteSpace="nowrap";h.style.overflow="hidden";h.style.height="224px";var m=document.createElement("h3");mxUtils.write(m,mxResources.get(a?"selectFile":"selectFolder"));m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";h.appendChild(m);var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.height="194px"; +h.appendChild(l);var f=new CustomDialog(this.ui,h,mxUtils.bind(this,function(){b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+g)}));this.ui.showDialog(f.container,340,270,!0,!0);a&&f.okButton.parentNode.removeChild(f.okButton);var k=mxUtils.bind(this,function(a,b){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");mxUtils.write(c,a);mxEvent.addListener(c,"click",b);return c}),n=mxUtils.bind(this,function(a){var b=document.createElement("div");b.style.marginBottom="8px";b.appendChild(k(c+ +"/"+d,mxUtils.bind(this,function(){g=null;C()})));a||(mxUtils.write(b," / "),b.appendChild(k(decodeURIComponent(e),mxUtils.bind(this,function(){g=null;w()}))));if(null!=g&&0<g.length){var f=g.split("/");for(a=0;a<f.length;a++)(function(a){mxUtils.write(b," / ");b.appendChild(k(f[a],mxUtils.bind(this,function(){g=f.slice(0,a+1).join("/");u()})))})(a)}l.appendChild(b)}),t=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();null!=this.getUser()? +(g=e=d=c=null,C()):this.ui.hideDialog()}))}),u=mxUtils.bind(this,function(){var h=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/contents/"+g+"?ref="+encodeURIComponent(e),null,"GET");f.okButton.removeAttribute("disabled");l.innerHTML="";this.ui.spinner.spin(l,mxResources.get("loading"));this.executeRequest(h,mxUtils.bind(this,function(f){n();this.ui.spinner.stop();var h=JSON.parse(f.getText());l.appendChild(k("../ [Up]",mxUtils.bind(this,function(){if(""==g)g=null,C();else{var a=g.split("/"); +g=a.slice(0,a.length-1).join("/");u()}})));mxUtils.br(l);null==h||0==h.length?mxUtils.write(l,mxResources.get("noFiles")):(f=mxUtils.bind(this,function(f){for(var p=0;p<h.length;p++)mxUtils.bind(this,function(h){f==("dir"==h.type)&&(l.appendChild(k(h.name+("dir"==h.type?"/":""),mxUtils.bind(this,function(){"dir"==h.type?(g=h.path,u()):a&&"file"==h.type&&(this.ui.hideDialog(),b(c+"/"+d+"/"+encodeURIComponent(e)+"/"+h.path))}))),mxUtils.br(l))})(h[p])}),f(!0),a&&f(!1))}),t)}),q=null,v=null,w=mxUtils.bind(this, +function(a){null==a&&(l.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/repos/"+c+"/"+d+"/branches?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(l,mxResources.get("loading"));null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.setAttribute("href","javascript:void(0);");mxUtils.write(q,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(l, +"scroll",v);w(a+1)});mxEvent.addListener(q,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();1==a&&(n(!0),l.appendChild(k("../ [Up]",mxUtils.bind(this,function(){g=null;C()}))),mxUtils.br(l));b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(l,mxResources.get("noFiles"));else{for(var c=0;c<b.length;c++)mxUtils.bind(this,function(a){l.appendChild(k(a.name,mxUtils.bind(this,function(){e=a.name;g="";u()})));mxUtils.br(l)})(b[c]);100==b.length&&(l.appendChild(q), +v=function(){l.scrollTop>=l.scrollHeight-l.offsetHeight&&h()},mxEvent.addListener(l,"scroll",v))}}),t)}),C=mxUtils.bind(this,function(a){null==a&&(l.innerHTML="",a=1);var b=new mxXmlRequest(this.baseUrl+"/user/repos?per_page=100&page="+a,null,"GET");f.okButton.setAttribute("disabled","disabled");this.ui.spinner.spin(l,mxResources.get("loading"));null!=q&&null!=q.parentNode&&q.parentNode.removeChild(q);q=document.createElement("a");q.style.display="block";q.setAttribute("href","javascript:void(0);"); +mxUtils.write(q,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(l,"scroll",v);C(a+1)});mxEvent.addListener(q,"click",h);this.executeRequest(b,mxUtils.bind(this,function(b){this.ui.spinner.stop();b=JSON.parse(b.getText());if(null==b||0==b.length)mxUtils.write(l,mxResources.get("noFiles"));else{1==a&&(l.appendChild(k(mxResources.get("enterValue")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,"org/repo/ref",mxResources.get("ok"),mxUtils.bind(this, +function(a){if(null!=a){var b=a.split("/");if(1<b.length){a=b[0];var f=b[1];3>b.length?(c=a,d=f,g=e=null,w()):this.ui.spinner.spin(l,mxResources.get("loading"))&&(b=encodeURIComponent(b.slice(2,b.length).join("/")),this.getFile(a+"/"+f+"/"+b,mxUtils.bind(this,function(a){this.ui.spinner.stop();c=a.meta.org;d=a.meta.repo;e=decodeURIComponent(a.meta.ref);g="";u()}),mxUtils.bind(this,function(a){this.ui.spinner.stop();this.ui.handleError({message:mxResources.get("fileNotFound")})})))}else this.ui.spinner.stop(), +this.ui.handleError({message:mxResources.get("invalidName")})}}),mxResources.get("enterValue"));this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(l),mxUtils.br(l));for(var f=0;f<b.length;f++)mxUtils.bind(this,function(a){l.appendChild(k(a.full_name,mxUtils.bind(this,function(){c=a.owner.login;d=a.name;e=a.default_branch;g="";u()})));mxUtils.br(l)})(b[f])}100==b.length&&(l.appendChild(q),v=function(){l.scrollTop>=l.scrollHeight-l.offsetHeight&&h()},mxEvent.addListener(l,"scroll", v))}),t)});C()};GitHubClient.prototype.logout=function(){this.clearPersistentToken();this.setUser(null);this.token=null};TrelloFile=function(a,b,c){DrawioFile.call(this,a,b);this.meta=c;this.saveNeededCounter=0};mxUtils.extend(TrelloFile,DrawioFile);TrelloFile.prototype.getHash=function(){return"T"+encodeURIComponent(this.meta.compoundId)};TrelloFile.prototype.getMode=function(){return App.MODE_TRELLO};TrelloFile.prototype.isAutosave=function(){return!0};TrelloFile.prototype.getTitle=function(){return this.meta.name};TrelloFile.prototype.isRenamable=function(){return!1}; TrelloFile.prototype.save=function(a,b,c){this.doSave(this.getTitle(),b,c)};TrelloFile.prototype.saveAs=function(a,b,c){this.doSave(a,b,c)};TrelloFile.prototype.doSave=function(a,b,c){var d=this.meta.name;this.meta.name=a;DrawioFile.prototype.save.apply(this,arguments);this.meta.name=d;this.saveFile(a,!1,b,c)}; TrelloFile.prototype.saveFile=function(a,b,c,d){if(this.isEditable())if(this.savingFile)null!=d&&(this.saveNeededCounter++,d({code:App.ERROR_BUSY}));else if(this.savingFile=!0,this.getTitle()==a){var e=this.isModified,g=this.isModified(),h=mxUtils.bind(this,function(){this.setModified(!1);this.isModified=function(){return g}});h();this.ui.trello.saveFile(this,mxUtils.bind(this,function(g){this.savingFile=!1;this.isModified=e;this.meta=g;this.contentChanged();null!=c&&c();0<this.saveNeededCounter&& (this.saveNeededCounter--,this.saveFile(a,b,c,d))}),mxUtils.bind(this,function(a){this.savingFile=!1;this.isModified=e;this.setModified(g||this.isModified());if(null!=d){if(null!=a&&null!=a.retry){var b=a.retry;a.retry=function(){h();b()}}d(a)}}))}else this.ui.pickFolder(App.MODE_TRELLO,mxUtils.bind(this,function(e){this.ui.trello.insertFile(a,this.getData(),mxUtils.bind(this,function(e){this.savingFile=!1;null!=c&&c();this.ui.fileLoaded(e);0<this.saveNeededCounter&&(this.saveNeededCounter--,this.saveFile(a, b,c,d))}),mxUtils.bind(this,function(){this.savingFile=!1;null!=d&&d()}),!1,e)}));else null!=c&&c()};TrelloLibrary=function(a,b,c){TrelloFile.call(this,a,b,c)};mxUtils.extend(TrelloLibrary,TrelloFile);TrelloLibrary.prototype.doSave=function(a,b,c){this.saveFile(a,!1,b,c)};TrelloLibrary.prototype.open=function(){};TrelloClient=function(a){DrawioClient.call(this,a,"tauth");Trello.setKey(this.key)};mxUtils.extend(TrelloClient,DrawioClient);TrelloClient.prototype.key="e73615c79cf7e381aef91c85936e9553";TrelloClient.prototype.baseUrl="https://api.trello.com/1/";TrelloClient.prototype.SEPARATOR="|$|";TrelloClient.prototype.maxFileSize=1E7;TrelloClient.prototype.extension=".xml"; TrelloClient.prototype.authenticate=function(a,b,c){c&&this.logout();c=mxUtils.bind(this,function(c,e){Trello.authorize({type:"popup",name:"draw.io",scope:{read:"true",write:"true"},expiration:c?"never":"1hour",success:function(){null!=e&&e();a()},error:function(){null!=e&&e();null!=b&&b(mxResources.get("loggedOut"))}})});this.isAuthorized()?c(!0):this.ui.showAuthDialog(this,!0,c)};TrelloClient.prototype.getLibrary=function(a,b,c){this.getFile(a,b,c,!1,!0)}; -TrelloClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;var g=mxUtils.bind(this,function(){var d=a.split(this.SEPARATOR),l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);Trello.cards.get(d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(d){window.clearTimeout(m);if(l){var f=/\.png$/i.test(d.name);/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&f?this.ui.convertFile(PROXY_URL+"?url="+encodeURIComponent(d.url), -d.name,d.mimeType,this.extension,b,c):(l=!0,m=window.setTimeout(mxUtils.bind(this,function(){l=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),this.ui.loadUrl(PROXY_URL+"?url="+encodeURIComponent(d.url),mxUtils.bind(this,function(c){window.clearTimeout(m);if(l){d.compoundId=a;var g=f?c.lastIndexOf(","):-1;0<g&&(g=this.ui.extractGraphModelFromPng(c.substring(g+1)),null!=g&&0<g.length&&(c=g));e?b(new TrelloLibrary(this.ui,c,d)):b(new TrelloFile(this.ui,c,d))}}),mxUtils.bind(this,function(a,b){window.clearTimeout(m); -l&&(401==b.status?this.authenticate(g,c,!0):c())}),f||null!=d.mimeType&&"image/"==d.mimeType.substring(0,6)))}}),mxUtils.bind(this,function(a){window.clearTimeout(m);l&&(401==a.status?this.authenticate(g,c,!0):c())}))});this.authenticate(g,c)};TrelloClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)}; +TrelloClient.prototype.getFile=function(a,b,c,d,e){e=null!=e?e:!1;var g=mxUtils.bind(this,function(){var d=a.split(this.SEPARATOR),m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;c({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout);Trello.cards.get(d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(d){window.clearTimeout(l);if(m){var f=/\.png$/i.test(d.name);/\.vsdx?$/i.test(d.name)||/\.gliffy$/i.test(d.name)||!this.ui.useCanvasForExport&&f?this.ui.convertFile(PROXY_URL+"?url="+encodeURIComponent(d.url), +d.name,d.mimeType,this.extension,b,c):(m=!0,l=window.setTimeout(mxUtils.bind(this,function(){m=!1;c({code:App.ERROR_TIMEOUT})}),this.ui.timeout),this.ui.loadUrl(PROXY_URL+"?url="+encodeURIComponent(d.url),mxUtils.bind(this,function(c){window.clearTimeout(l);if(m){d.compoundId=a;var g=f?c.lastIndexOf(","):-1;0<g&&(g=this.ui.extractGraphModelFromPng(c.substring(g+1)),null!=g&&0<g.length&&(c=g));e?b(new TrelloLibrary(this.ui,c,d)):b(new TrelloFile(this.ui,c,d))}}),mxUtils.bind(this,function(a,b){window.clearTimeout(l); +m&&(401==b.status?this.authenticate(g,c,!0):c())}),f||null!=d.mimeType&&"image/"==d.mimeType.substring(0,6)))}}),mxUtils.bind(this,function(a){window.clearTimeout(l);m&&(401==a.status?this.authenticate(g,c,!0):c())}))});this.authenticate(g,c)};TrelloClient.prototype.insertLibrary=function(a,b,c,d,e){this.insertFile(a,b,c,d,!0,e)}; TrelloClient.prototype.insertFile=function(a,b,c,d,e,g){e=null!=e?e:!1;var h=mxUtils.bind(this,function(){var h=mxUtils.bind(this,function(h){this.writeFile(a,h,g,mxUtils.bind(this,function(a){e?c(new TrelloLibrary(this.ui,b,a)):c(new TrelloFile(this.ui,b,a))}),d)});this.ui.useCanvasForExport&&/(\.png)$/i.test(a)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){h(this.ui.base64ToBlob(a,"image/png"))}),d,b):h(b)});this.authenticate(h,d)}; TrelloClient.prototype.saveFile=function(a,b,c){var d=a.meta.compoundId.split(this.SEPARATOR),e=mxUtils.bind(this,function(e){Trello.del("cards/"+d[0]+"/attachments/"+d[1],mxUtils.bind(this,function(){this.writeFile(a.meta.name,e,d[0],b,c)}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(g,c,!0):c()}))}),g=mxUtils.bind(this,function(){this.ui.useCanvasForExport&&/(\.png)$/i.test(a.meta.name)?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){e(this.ui.base64ToBlob(a,"image/png"))}), c,this.ui.getCurrentFile()!=a?a.getData():null):e(a.getData())});this.authenticate(g,c)}; -TrelloClient.prototype.writeFile=function(a,b,c,d,e){if(null!=a&&null!=b)if(b.length>=this.maxFileSize)e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 10 MB)"});else{var g=mxUtils.bind(this,function(){var h=!0,l=window.setTimeout(mxUtils.bind(this,function(){h=!1;e({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout),m=new FormData;m.append("key",Trello.key());m.append("token",Trello.token());m.append("file","string"===typeof b?new Blob([b]):b,a);m.append("name", -a);var f=new XMLHttpRequest;f.responseType="json";f.onreadystatechange=mxUtils.bind(this,function(){if(4===f.readyState&&(window.clearTimeout(l),h))if(200==f.status){var a=f.response;a.compoundId=c+this.SEPARATOR+a.id;d(a)}else 401==f.status?this.authenticate(g,e,!0):e()});f.open("POST",this.baseUrl+"cards/"+c+"/attachments");f.send(m)});this.authenticate(g,e)}else e({message:mxResources.get("unknownError")})};TrelloClient.prototype.pickLibrary=function(a){this.pickFile(a)}; +TrelloClient.prototype.writeFile=function(a,b,c,d,e){if(null!=a&&null!=b)if(b.length>=this.maxFileSize)e({message:mxResources.get("drawingTooLarge")+" ("+this.ui.formatFileSize(b.length)+" / 10 MB)"});else{var g=mxUtils.bind(this,function(){var h=!0,m=window.setTimeout(mxUtils.bind(this,function(){h=!1;e({code:App.ERROR_TIMEOUT,retry:g})}),this.ui.timeout),l=new FormData;l.append("key",Trello.key());l.append("token",Trello.token());l.append("file","string"===typeof b?new Blob([b]):b,a);l.append("name", +a);var f=new XMLHttpRequest;f.responseType="json";f.onreadystatechange=mxUtils.bind(this,function(){if(4===f.readyState&&(window.clearTimeout(m),h))if(200==f.status){var a=f.response;a.compoundId=c+this.SEPARATOR+a.id;d(a)}else 401==f.status?this.authenticate(g,e,!0):e()});f.open("POST",this.baseUrl+"cards/"+c+"/attachments");f.send(l)});this.authenticate(g,e)}else e({message:mxResources.get("unknownError")})};TrelloClient.prototype.pickLibrary=function(a){this.pickFile(a)}; TrelloClient.prototype.pickFolder=function(a){this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!1,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a)}))};TrelloClient.prototype.pickFile=function(a,b){a=null!=a?a:mxUtils.bind(this,function(a){this.ui.loadFile("T"+encodeURIComponent(a))});this.authenticate(mxUtils.bind(this,function(){this.showTrelloDialog(!0,a)}),mxUtils.bind(this,function(a){this.ui.showError(mxResources.get("error"),a,mxResources.get("ok"))}))}; -TrelloClient.prototype.showTrelloDialog=function(a,b){var c=null,d="@me",e=0,g=document.createElement("div");g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.height="224px";var h=document.createElement("h3");mxUtils.write(h,a?mxResources.get("selectFile"):mxResources.get("selectCard"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(h);var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.overflow="auto";l.style.height= -"194px";g.appendChild(l);g=new CustomDialog(this.ui,g);this.ui.showDialog(g.container,340,270,!0,!0);g.okButton.parentNode.removeChild(g.okButton);var m=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("div");d.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;background:"+(0==e%2?"#eee":"#fff");var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");if(null!=c){var g=document.createElement("img");g.src=c.url;g.width=c.width;g.height= -c.height;g.style="border: 1px solid black;margin:5px;vertical-align:middle";f.appendChild(g)}mxUtils.write(f,a);mxEvent.addListener(f,"click",b);d.appendChild(f);return d}),f=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),k=mxUtils.bind(this,function(){e=0;l.innerHTML="";this.ui.spinner.spin(l,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(c+"/attachments",{fields:"id,name,previews"}, -mxUtils.bind(this,function(a){this.ui.spinner.stop();l.appendChild(m("../ [Up]",mxUtils.bind(this,function(){u()})));mxUtils.br(l);null==a||0==a.length?mxUtils.write(l,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){l.appendChild(m(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();b(c+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[d])})()}),mxUtils.bind(this,function(b){401==b.status?this.authenticate(a,f,!0): -null!=f&&f(b)}))});a()}),n=null,t=null,u=mxUtils.bind(this,function(g){null==g&&(e=0,l.innerHTML="",g=1);this.ui.spinner.spin(l,mxResources.get("loading"));null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n);n=document.createElement("a");n.style.display="block";n.setAttribute("href","javascript:void(0);");mxUtils.write(n,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(l,"scroll",t);u(g+1)});mxEvent.addListener(n,"click",h);var q=mxUtils.bind(this,function(){Trello.get("search", -{query:""==mxUtils.trim(d)?"is:open":d,cards_limit:100,cards_page:g-1},mxUtils.bind(this,function(e){this.ui.spinner.stop();e=null!=e?e.cards:null;if(null==e||0==e.length)mxUtils.write(l,mxResources.get("noFiles"));else{1==g&&(l.appendChild(m(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,d,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(d=a,u())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards"); -this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(l));for(var f=0;f<e.length;f++)mxUtils.bind(this,function(d){l.appendChild(m(d.name,mxUtils.bind(this,function(){a?(c=d.id,k()):(this.ui.hideDialog(),b(d.id))})))})(e[f]);100==e.length&&(l.appendChild(n),t=function(){l.scrollTop>=l.scrollHeight-l.offsetHeight&&h()},mxEvent.addListener(l,"scroll",t))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(q,f,!0):null!=f&&f({message:a.responseText})}))});q()});u()}; -TrelloClient.prototype.isAuthorized=function(){try{return null!=localStorage.trello_token}catch(a){}return!1};TrelloClient.prototype.logout=function(){localStorage.removeItem("trello_token");Trello.deauthorize()};function ChatWindow(a,b,c,d,e,g,h,l){this.editorUi=a;this.doc=l.doc;this.rtModel=l.rt;this.chatHistory=l.chatHistory;this.chatMap=l.chatMap;this.configCollabInfo();c=document.createElement("div");c.id="mainDiv";l=document.createElement("div");l.style.padding="3px";c.appendChild(l);var m=document.createElement("div");m.style.paddingLeft="3px";m.style.paddingRight="15px";a.editor.graph.isEnabled()&&c.appendChild(m);this.chatArea=document.createElement("div");this.chatArea.style.backgroundColor="white"; -this.chatArea.style.overflowX="hidden";this.chatArea.style.overflowY="auto";this.chatArea.style.width="98%";this.chatArea.style.resize="none";l.appendChild(this.chatArea);this.chatLineArea=document.createElement("textarea");this.chatLineArea.style.resize="none";this.chatLineArea.rows=1;this.chatLineArea.onkeydown=mxUtils.bind(this,function(a){13==(a.keyCode||window.event.keyCode)&&""!=this.chatLineArea.value&&this.sendMessage()});this.sendBtn=document.createElement("button");this.sendBtn.style.cssFloat= -"right";this.sendBtn.style.styleFloat="right";mxUtils.write(this.sendBtn,mxResources.get("sendMessage"));mxEvent.addListener(this.sendBtn,"click",mxUtils.bind(this,function(a){""!=this.chatLineArea.value&&this.sendMessage()}));m.appendChild(this.chatLineArea);m.appendChild(this.sendBtn);this.window=new mxWindow(b,c,d,e,g,h,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!0);this.window.setScrollable(!0);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); +TrelloClient.prototype.showTrelloDialog=function(a,b){var c=null,d="@me",e=0,g=document.createElement("div");g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.height="224px";var h=document.createElement("h3");mxUtils.write(h,a?mxResources.get("selectFile"):mxResources.get("selectCard"));h.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";g.appendChild(h);var m=document.createElement("div");m.style.whiteSpace="nowrap";m.style.overflow="auto";m.style.height= +"194px";g.appendChild(m);g=new CustomDialog(this.ui,g);this.ui.showDialog(g.container,340,270,!0,!0);g.okButton.parentNode.removeChild(g.okButton);var l=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("div");d.style="width:100%;text-overflow:ellipsis;overflow:hidden;vertical-align:middle;background:"+(0==e%2?"#eee":"#fff");var f=document.createElement("a");f.setAttribute("href","javascript:void(0);");if(null!=c){var g=document.createElement("img");g.src=c.url;g.width=c.width;g.height= +c.height;g.style="border: 1px solid black;margin:5px;vertical-align:middle";f.appendChild(g)}mxUtils.write(f,a);mxEvent.addListener(f,"click",b);d.appendChild(f);return d}),f=mxUtils.bind(this,function(a){this.ui.handleError(a,null,mxUtils.bind(this,function(){this.ui.spinner.stop();this.ui.hideDialog()}))}),k=mxUtils.bind(this,function(){e=0;m.innerHTML="";this.ui.spinner.spin(m,mxResources.get("loading"));var a=mxUtils.bind(this,function(){Trello.cards.get(c+"/attachments",{fields:"id,name,previews"}, +mxUtils.bind(this,function(a){this.ui.spinner.stop();m.appendChild(l("../ [Up]",mxUtils.bind(this,function(){u()})));mxUtils.br(m);null==a||0==a.length?mxUtils.write(m,mxResources.get("noFiles")):mxUtils.bind(this,function(){for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){m.appendChild(l(a.name,mxUtils.bind(this,function(){this.ui.hideDialog();b(c+this.SEPARATOR+a.id)}),null!=a.previews?a.previews[0]:null))})(a[d])})()}),mxUtils.bind(this,function(b){401==b.status?this.authenticate(a,f,!0): +null!=f&&f(b)}))});a()}),n=null,t=null,u=mxUtils.bind(this,function(g){null==g&&(e=0,m.innerHTML="",g=1);this.ui.spinner.spin(m,mxResources.get("loading"));null!=n&&null!=n.parentNode&&n.parentNode.removeChild(n);n=document.createElement("a");n.style.display="block";n.setAttribute("href","javascript:void(0);");mxUtils.write(n,mxResources.get("more")+"...");var h=mxUtils.bind(this,function(){mxEvent.removeListener(m,"scroll",t);u(g+1)});mxEvent.addListener(n,"click",h);var q=mxUtils.bind(this,function(){Trello.get("search", +{query:""==mxUtils.trim(d)?"is:open":d,cards_limit:100,cards_page:g-1},mxUtils.bind(this,function(e){this.ui.spinner.stop();e=null!=e?e.cards:null;if(null==e||0==e.length)mxUtils.write(m,mxResources.get("noFiles"));else{1==g&&(m.appendChild(l(mxResources.get("filterCards")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.ui,d,mxResources.get("ok"),mxUtils.bind(this,function(a){null!=a&&(d=a,u())}),mxResources.get("filterCards"),null,null,"http://help.trello.com/article/808-searching-for-cards-all-boards"); +this.ui.showDialog(a.container,300,80,!0,!1);a.init()}))),mxUtils.br(m));for(var f=0;f<e.length;f++)mxUtils.bind(this,function(d){m.appendChild(l(d.name,mxUtils.bind(this,function(){a?(c=d.id,k()):(this.ui.hideDialog(),b(d.id))})))})(e[f]);100==e.length&&(m.appendChild(n),t=function(){m.scrollTop>=m.scrollHeight-m.offsetHeight&&h()},mxEvent.addListener(m,"scroll",t))}}),mxUtils.bind(this,function(a){401==a.status?this.authenticate(q,f,!0):null!=f&&f({message:a.responseText})}))});q()});u()}; +TrelloClient.prototype.isAuthorized=function(){try{return null!=localStorage.trello_token}catch(a){}return!1};TrelloClient.prototype.logout=function(){localStorage.removeItem("trello_token");Trello.deauthorize()};function ChatWindow(a,b,c,d,e,g,h,m){this.editorUi=a;this.doc=m.doc;this.rtModel=m.rt;this.chatHistory=m.chatHistory;this.chatMap=m.chatMap;this.configCollabInfo();c=document.createElement("div");c.id="mainDiv";m=document.createElement("div");m.style.padding="3px";c.appendChild(m);var l=document.createElement("div");l.style.paddingLeft="3px";l.style.paddingRight="15px";a.editor.graph.isEnabled()&&c.appendChild(l);this.chatArea=document.createElement("div");this.chatArea.style.backgroundColor="white"; +this.chatArea.style.overflowX="hidden";this.chatArea.style.overflowY="auto";this.chatArea.style.width="98%";this.chatArea.style.resize="none";m.appendChild(this.chatArea);this.chatLineArea=document.createElement("textarea");this.chatLineArea.style.resize="none";this.chatLineArea.rows=1;this.chatLineArea.onkeydown=mxUtils.bind(this,function(a){13==(a.keyCode||window.event.keyCode)&&""!=this.chatLineArea.value&&this.sendMessage()});this.sendBtn=document.createElement("button");this.sendBtn.style.cssFloat= +"right";this.sendBtn.style.styleFloat="right";mxUtils.write(this.sendBtn,mxResources.get("sendMessage"));mxEvent.addListener(this.sendBtn,"click",mxUtils.bind(this,function(a){""!=this.chatLineArea.value&&this.sendMessage()}));l.appendChild(this.chatLineArea);l.appendChild(this.sendBtn);this.window=new mxWindow(b,c,d,e,g,h,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!0);this.window.setScrollable(!0);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); this.handleResize();this.window.addListener(mxEvent.RESIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.MAXIMIZE,mxUtils.bind(this,this.handleResize));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,this.handleResize));if(null!=this.chatHistory){for(a=Math.max(0,this.chatHistory.length-this.chatHistoryShow);a<this.chatHistory.length;a++)this.updateChatArea(this.chatHistory.get(a));this.chatHistory.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED,mxUtils.bind(this, function(a){this.updateChatArea(a.target.get(a.index))}))}this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_JOINED,mxUtils.bind(this,this.collaboratorListener));this.doc.addEventListener(gapi.drive.realtime.EventType.COLLABORATOR_LEFT,mxUtils.bind(this,this.collaboratorListener));null!=this.chatMap&&this.chatMap.addEventListener(gapi.drive.realtime.EventType.VALUE_CHANGED,mxUtils.bind(this,function(a){this.updateChatArea(a.target.get(a.property))}))} ChatWindow.prototype.window=null;ChatWindow.prototype.doc=null;ChatWindow.prototype.chatHistory=null;ChatWindow.prototype.chatMap=null;ChatWindow.prototype.chatHistoryShow=10;ChatWindow.prototype.chatHistorySize=0;ChatWindow.prototype.setChatMap=function(a){this.chatMap=a}; @@ -7802,7 +7835,7 @@ ChatWindow.prototype.updateChatArea=function(a){a='<span style="color : '+a.coll ChatWindow.prototype.handleResize=function(){var a=this.window.getElement(),b=this.editorUi.editor.graph.isEnabled()?70:40;this.chatArea.style.height=Math.max(0,a.offsetHeight-b)+"px";this.chatLineArea.style.width=a.offsetWidth-this.sendBtn.offsetWidth-40+"px"}; ChatWindow.prototype.collaboratorListener=function(a){if(!a.collaborator.isMe){if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_JOINED)a='<span style="color : '+a.collaborator.color+';">▲</span><i>'+mxResources.get("chatJoined",[a.collaborator.displayName])+"</i>";else if(a.type==gapi.drive.realtime.EventType.COLLABORATOR_LEFT)a='<span style="color : '+a.collaborator.color+';">▼</span><i>'+mxResources.get("chatLeft",[a.collaborator.displayName])+"</i>";else return;this.chatArea.innerHTML= this.chatArea.innerHTML+a+"<br>";this.chatArea.scrollTop=this.chatArea.scrollHeight}};ChatWindow.prototype.configCollabInfo=function(){for(var a=this.doc.getCollaborators(),b=0;b<a.length;b++){var c=a[b];c.isMe&&(this.collabColor=c.color,this.displayName=c.displayName)}};ChatWindow.prototype.destroy=function(){this.window.destroy()};ChatWindow.prototype.htmlEscape=function(a){return a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")};App=function(a,b,c){EditorUi.call(this,a,b,null!=c?c:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=": -(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,b,c){var d=null;try{d=window.open(a)}catch(l){}null==d||void 0===d?this.showDialog((new PopupDialog(this,a,b,c)).container,320,140,!0,!0):null!=b&&b()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!= +(new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,b,c){var d=null;try{d=window.open(a)}catch(m){}null==d||void 0===d?this.showDialog((new PopupDialog(this,a,b,c)).container,320,140,!0,!0):null!=b&&b()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!= App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(d){null!=window.console&&console.log("Plugin Error:",d,App.DrawPlugins[a])}window.Draw.loadPlugin=mxUtils.bind(this,function(a){a(this)})}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_GITHUB="github";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.MODE_TRELLO="trello"; App.DROPBOX_APPKEY="libwls2fa9szdji";App.DROPBOX_URL="js/dropbox/Dropbox-sdk.min.js";App.DROPINS_URL="https://www.dropbox.com/static/api/2/dropins.js";App.ONEDRIVE_URL="https://js.live.net/v7.2/OneDrive.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.FOOTER_PLUGIN_URL="https://www.jgraph.com/drawio-footer.js"; App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",ac148:"/plugins/cConf-1-4-8.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",number:"/plugins/number.js",sql:"/plugins/sql.js",props:"/plugins/props.js",text:"/plugins/text.js",anim:"/plugins/animation.js",update:"/plugins/update.js",trees:"/plugins/trees/trees.js", @@ -7819,8 +7852,8 @@ urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode "1"==urlParams.test?"active":"inactive"))},function(a){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";c(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var d=null;EditorUi.enableLogging&&(window.onerror=function(a,b,c,e,g){try{if(a!=d&&(null==a||null==b||-1== a.indexOf("Script error")&&-1==a.indexOf("extension"))&&null!=a&&0>a.indexOf("DocumentClosedError")){d=a;var f=new Image,h=0<=a.indexOf("NetworkError")||0<=a.indexOf("SecurityError")||0<=a.indexOf("NS_ERROR_FAILURE")||0<=a.indexOf("out of memory")?"CONFIG":"SEVERE";f.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(a)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(c)+ (null!=e?":colno:"+encodeURIComponent(e):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(w){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var e=document.createElement("iframe");e.setAttribute("width","0");e.setAttribute("height","0");e.setAttribute("src","offline.html");document.body.appendChild(e)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var e= -mxSettings.getPlugins(),g=urlParams.p;App.initPluginCallback();if(null!=g){var h="";"1"==urlParams.drawdev&&(h=document.location.protocol+"//drawhost.jgraph.com/");for(var l=g.split(";"),g=0;g<l.length;g++){var m=App.pluginRegistry[l[g]];null!=m?mxscript(h+m):null!=window.console&&console.log("Unknown plugin:",l[g])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=e&&0<e.length&&"0"!=urlParams.plugins){h=window.location.protocol+ -"//"+window.location.host;l=!0;for(g=0;g<e.length&&l;g++)"/"!=e[g].charAt(0)&&e[g].substring(0,h.length)!=h&&(l=!1);if(l||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[e.join("\n")]).replace(/\\n/g,"\n")))for(g=0;g<e.length;g++)try{mxscript(e[g])}catch(f){}}}"function"===typeof window.DriveClient&& +mxSettings.getPlugins(),g=urlParams.p;App.initPluginCallback();if(null!=g){var h="";"1"==urlParams.drawdev&&(h=document.location.protocol+"//drawhost.jgraph.com/");for(var m=g.split(";"),g=0;g<m.length;g++){var l=App.pluginRegistry[m[g]];null!=l?mxscript(h+l):null!=window.console&&console.log("Unknown plugin:",m[g])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=e&&0<e.length&&"0"!=urlParams.plugins){h=window.location.protocol+ +"//"+window.location.host;m=!0;for(g=0;g<e.length&&m;g++)"/"!=e[g].charAt(0)&&e[g].substring(0,h.length)!=h&&(m=!1);if(m||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[e.join("\n")]).replace(/\\n/g,"\n")))for(g=0;g<e.length;g++)try{mxscript(e[g])}catch(f){}}}"function"===typeof window.DriveClient&& "undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;c(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg=="; App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=": @@ -7842,7 +7875,7 @@ null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.but IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.paddingTop="11px",this.icon.style.marginLeft="4px",this.icon.style.marginRight="6px",mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild))}; App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname}; App.prototype.checkLicense=function(){var a=this.drive.getUser(),b=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=b){var c=b.lastIndexOf("@"),d=b;0<=c&&(d=b.substring(c+1),b=this.crc32(b.substring(0,c))+"@"+d);mxUtils.post("/license","domain="+encodeURIComponent(d)+"&email="+encodeURIComponent(b)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<= -a.getStatus()&&299>=a.getStatus()){var b=a.getText();if(0<b.length){var c=JSON.parse(b);null!=c&&this.handleLicense(c,d)}}}catch(l){}}))}}; +a.getStatus()&&299>=a.getStatus()){var b=a.getText();if(0<b.length){var c=JSON.parse(b);null!=c&&this.handleLicense(c,d)}}}catch(m){}}))}}; App.prototype.handleLicense=function(a,b){var c=document.getElementById("geFooter"),d=null;if(null!=c&&null!=a)if(d=a.expiry,null!=a.footer)c.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=d&&"never"!=d){var e=new Date(Date.parse(d)),g=Math.round((e-Date.now())/864E5);if(90>g){var h="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(b);c.style.height="100%";c.style.margin="0px";c.style.display= "";0>g?(this.footerHeight=80,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+h+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[b,e.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,c.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+ h+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[b,e.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return d};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)}; @@ -7852,8 +7885,8 @@ App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{ App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((a.constructor!=DriveFile||null==a.realtime||a.realtime.saving)&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")}; App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,b=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=b&&(a=(null!=b.getTitle()?b.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],b,c=0;256>c;c++){b=c;for(var d=0;8>d;d++)b=b&1?3988292384^b>>>1:b>>>1;a[c]=b}return a}; App.prototype.getThumbnail=function(a,b){var c=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var d=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),e=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:e.apply(this,arguments)};document.body.appendChild(d.container);d.model.setRoot(g.root)}if(mxClient.IS_CHROMEAPP||!d.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this, -function(a){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(a)}),a,this.thumbImageCache,"#ffffff",function(){b()},null,null,null,null,null,null,d),c=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var h=document.createElement("canvas"),l=d.getGraphBounds(),m=a/l.width,m=Math.min(1,Math.min(3*a/(4*l.height),m)),f=Math.floor(l.x),k=Math.floor(l.y);h.setAttribute("width",Math.ceil(m*(l.width+4)));h.setAttribute("height",Math.ceil(m*(l.height+4)));var n=h.getContext("2d"); -n.scale(m,m);n.translate(-f,-k);var t=d.background;if(null==t||""==t||t==mxConstants.NONE)t="#ffffff";n.save();n.fillStyle=t;n.fillRect(f,k,Math.ceil(l.width+4),Math.ceil(l.height+4));n.restore();var u=new mxJsCanvas(h),q=new mxAsyncCanvas(this.thumbImageCache);u.images=this.thumbImageCache.images;var v=new mxImageExport;v.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};v.drawText=function(a, +function(a){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(a)}),a,this.thumbImageCache,"#ffffff",function(){b()},null,null,null,null,null,null,d),c=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var h=document.createElement("canvas"),m=d.getGraphBounds(),l=a/m.width,l=Math.min(1,Math.min(3*a/(4*m.height),l)),f=Math.floor(m.x),k=Math.floor(m.y);h.setAttribute("width",Math.ceil(l*(m.width+4)));h.setAttribute("height",Math.ceil(l*(m.height+4)));var n=h.getContext("2d"); +n.scale(l,l);n.translate(-f,-k);var t=d.background;if(null==t||""==t||t==mxConstants.NONE)t="#ffffff";n.save();n.fillStyle=t;n.fillRect(f,k,Math.ceil(m.width+4),Math.ceil(m.height+4));n.restore();var u=new mxJsCanvas(h),q=new mxAsyncCanvas(this.thumbImageCache);u.images=this.thumbImageCache.images;var v=new mxImageExport;v.drawShape=function(a,b){a.shape instanceof mxShape&&a.shape.checkBounds()&&(b.save(),b.translate(.5,.5),a.shape.paint(b),b.translate(-.5,-.5),b.restore())};v.drawText=function(a, b){};v.drawState(d.getView().getState(d.model.root),q);q.finish(mxUtils.bind(this,function(){v.drawState(d.getView().getState(d.model.root),u);d!=this.editor.graph&&d.container.parentNode.removeChild(d.container);b(h)}));c=!0}}catch(w){d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}return c}; App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a}; (function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(b,c){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(c)if(isLocalStorage)localStorage.setItem(".mode",b);else if("undefined"!=typeof Storage){var d=new Date;d.setYear(d.getFullYear()+1);document.cookie="MODE="+b+"; expires="+d.toUTCString()}null!=this.appIcon&&(d=this.getCurrentFile(),b=null!=d?d.getMode():null,b==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt", @@ -7867,11 +7900,11 @@ App.prototype.load=function(){if("1"!=urlParams.embed){if(this.spinner.spin(docu "G"+urlParams.fileId,window.location.search=this.getSearch(["fileId"])):null==this.drive?(this.mode==App.MODE_GOOGLE&&(this.mode=null),this.start()):this.loadGapi(mxUtils.bind(this,function(){this.start()}))}}else this.restoreLibraries(),"1"==urlParams.gapi&&this.loadGapi(function(){})}; App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var b=document.createElement("div");b.className="geAlert";b.style.zIndex=2E9;b.style.left="50%";b.style.top="-100%";mxUtils.setPrefixedStyle(b.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(b.style,"transition","all 1s ease");b.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title", mxResources.get("close"));a.innerHTML=mxResources.get("close");b.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=b.parentNode&&(b.parentNode.removeChild(b),mxEvent.consume(a))});document.body.appendChild(b);window.setTimeout(function(){b.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(b.style,"transition","all 2s ease");b.style.opacity="0";window.setTimeout(function(){null!=b.parentNode&&b.parentNode.removeChild(b)},2E3)},15E3)}}; -App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{var b=this.getDiagramId(),c=this.getCurrentFile();null!=c&&c.getHash()==b||this.loadFile(b,!0)}catch(l){null!=document.body&&this.handleError(l,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!= +App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{var b=this.getDiagramId(),c=this.getCurrentFile();null!=c&&c.getHash()==b||this.loadFile(b,!0)}catch(m){null!=document.body&&this.handleError(m,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!= a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var a=mxUtils.bind(this,function(a){"data:image/png;base64,"==a.substring(0,22)&&(a=this.extractGraphModelFromPng(a));var b=urlParams.title,b=null!=b?decodeURIComponent(b): this.defaultFilename;a=new LocalFile(this,a,b,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(a.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(a);this.getCurrentFile().setModified(!this.editor.chromeless)}),b=window.opener||window.parent;if(b!=window){var c=urlParams.create;null!=c?a(b[decodeURIComponent(c)]):(c=urlParams.data,null!=c?a(decodeURIComponent(c)):this.installMessageHandler(mxUtils.bind(this,function(c,d){d.source==b&&a(c)})))}}else if(null== -this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(f){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(this.getDiagramId());else{var d=this.getDraft(),m=null!=d?d.data:this.getFileData(),c=Editor.useLocalStorage;this.createFile(this.defaultFilename, -m,null,null,null,null,null,!0);Editor.useLocalStorage=c;null!=d&&(c=this.getCurrentFile(),null!=c&&c.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var b=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=b&&0<b.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create", +this.dialog)if("1"==urlParams.demo)c=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=c;else{c=!1;try{c=null!=window.opener&&null!=window.opener.openFile}catch(f){}if(c)this.spinner.spin(document.body,mxResources.get("loading"));else if(c=this.getDiagramId(),"0"!=urlParams.splash||null!=c&&0!=c.length)this.loadFile(this.getDiagramId());else{var d=this.getDraft(),l=null!=d?d.data:this.getFileData(),c=Editor.useLocalStorage;this.createFile(this.defaultFilename, +l,null,null,null,null,null,!0);Editor.useLocalStorage=c;null!=d&&(c=this.getCurrentFile(),null!=c&&c.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var b=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=b&&0<b.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var c=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create", "title"]))}),d=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var b=urlParams.title,b=null!=b?decodeURIComponent(b):this.defaultFilename;a=this.getServiceCount(!0);var c=4>=a?4:3,b=new CreateDialog(this,b,mxUtils.bind(this,function(a,b){if(null==b){this.hideDialog();var c=Editor.useLocalStorage;this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null, null,null,null,null,!0);Editor.useLocalStorage=c}else this.createFile(a,this.getFileData(!0),null,b)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,c);this.showDialog(b.container,380,a>c?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));b.init()}}),b=decodeURIComponent(b);if("http://"!=b.substring(0,7)&&"https://"!=b.substring(0,8))try{null!=window.opener&&null!=window.opener[b]?d(window.opener[b]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(e){this.handleError(e, mxResources.get("errorLoadingFile"))}else this.loadTemplate(b,function(a){d(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),c)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action? @@ -7888,43 +7921,43 @@ App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)n "change",mxUtils.bind(this,function(){null!=c.files&&this.openFiles(c.files)}));c.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(b,c){this.useCanvasForExport||".png"!=c.substring(c.length-4)||(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER? new StorageFile(this,b,c):new LocalFile(this,b,c))}));var e=this.dialog,g=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;g.apply(e,arguments);null==this.getCurrentFile()&&this.showSplash()})}}}; App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var b=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=b&&b.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(h){this.handleError(h,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body, -mxResources.get("loading"))&&b.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile= +mxResources.get("loading"))&&b.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile= new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(b,c){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,b,c):new LocalLibrary(this,b,c))}catch(h){this.handleError(h,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=c;window.openFile=null})}else{var d=document.createElement("input"); -d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){if(null!=d.files)for(var a=0;a<d.files.length;a++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}});b.readAsText(a)})(d.files[a])}));d.click()}}; -App.prototype.saveLibrary=function(a,b,c,d,e,g,h){d=null!=d?d:this.mode;e=null!=e?e:!1;g=null!=g?g:!1;var l=this.createLibraryDataFromImages(b),m=mxUtils.bind(this,function(a){this.spinner.stop();null!=h&&h();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==c&&d==App.MODE_DEVICE&&(c=new LocalLibrary(this,l,a));if(null==c)this.pickFolder(d,mxUtils.bind(this,function(c){d==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a, -l,c,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,this.drive.libraryMimeType):d==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,l,mxUtils.bind(this, -function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,l,mxUtils.bind(this,function(a){this.spinner.stop(); -this.hideDialog(!0);this.libraryLoaded(a,b)}),m,c):d==App.MODE_BROWSER?(c=mxUtils.bind(this,function(){var c=new StorageLibrary(this,l,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(c,b)}),m)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(e||this.spinner.spin(document.body,mxResources.get("saving"))){c.setData(l);var f=mxUtils.bind(this, -function(){c.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);g||this.libraryLoaded(c,b);null!=h&&h()}),m)});if(a!=c.getTitle()){var k=c.getHash();c.rename(a,mxUtils.bind(this,function(a){c.constructor!=LocalLibrary&&k!=c.getHash()&&(mxSettings.removeCustomLibrary(k),mxSettings.addCustomLibrary(c.getHash()));this.removeLibrarySidebar(k);f()}),m)}else f()}}; +d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){if(null!=d.files)for(var a=0;a<d.files.length;a++)mxUtils.bind(this,function(a){var b=new FileReader;b.onload=mxUtils.bind(this,function(b){try{this.loadLibrary(new LocalLibrary(this,b.target.result,a.name))}catch(l){this.handleError(l,mxResources.get("errorLoadingFile"))}});b.readAsText(a)})(d.files[a])}));d.click()}}; +App.prototype.saveLibrary=function(a,b,c,d,e,g,h){d=null!=d?d:this.mode;e=null!=e?e:!1;g=null!=g?g:!1;var m=this.createLibraryDataFromImages(b),l=mxUtils.bind(this,function(a){this.spinner.stop();null!=h&&h();this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});null==c&&d==App.MODE_DEVICE&&(c=new LocalLibrary(this,m,a));if(null==c)this.pickFolder(d,mxUtils.bind(this,function(c){d==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a, +m,c,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),l,this.drive.libraryMimeType):d==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,m,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),l,c):d==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,m,mxUtils.bind(this, +function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),l,c):d==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,m,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(a,b)}),l,c):d==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,m,mxUtils.bind(this,function(a){this.spinner.stop(); +this.hideDialog(!0);this.libraryLoaded(a,b)}),l,c):d==App.MODE_BROWSER?(c=mxUtils.bind(this,function(){var c=new StorageLibrary(this,m,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(c,b)}),l)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(e||this.spinner.spin(document.body,mxResources.get("saving"))){c.setData(m);var f=mxUtils.bind(this, +function(){c.save(!0,mxUtils.bind(this,function(a){this.spinner.stop();this.hideDialog(!0);g||this.libraryLoaded(c,b);null!=h&&h()}),l)});if(a!=c.getTitle()){var k=c.getHash();c.rename(a,mxUtils.bind(this,function(a){c.constructor!=LocalLibrary&&k!=c.getHash()&&(mxSettings.removeCustomLibrary(k),mxSettings.addCustomLibrary(c.getHash()));this.removeLibrarySidebar(k);f()}),l)}else f()}}; App.prototype.saveFile=function(a){var b=this.getCurrentFile();if(null!=b){var c=mxUtils.bind(this,function(){this.removeDraft();b.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==b.getTitle()||null==this.mode){var d=null!=b.getTitle()?b.getTitle():this.defaultFilename,e=!mxClient.IS_IOS||!navigator.standalone,g=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var h=4>=a?2:6<a?4:3,d=new CreateDialog(this, d,mxUtils.bind(this,function(a,b){null!=a&&0<a.length&&(null==g&&b==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,c)):"download"==b?(new LocalFile(this,null,a)).save():"_blank"==b?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):g!=b?this.pickFolder(b,mxUtils.bind(this,function(d){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a), /(\.html)$/i.test(a)),null,b,c,null==this.mode,d)}),b!==App.MODE_GITHUB):null!=b&&this.save(a,c))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,e,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,h);this.showDialog(d.container,460,a>h?390:270,!0,!0);d.init()}else this.save(b.getTitle(),c)}}; EditorUi.prototype.loadTemplate=function(a,b,c){var d=a;this.isCorsEnabledForUrl(d)||(d="t="+(new Date).getTime(),d=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+d);this.loadUrl(d,mxUtils.bind(this,function(d){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(d.substring(d.indexOf(",")+1)),function(a){b(a)},c,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,a)?this.parseFile(new Blob([d],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&& 200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&b(a.responseText)}),a):'{"state":"{\\"Properties\\":'==d.substring(0,26)?this.importLucidChart(d,0,0,!1,mxUtils.bind(this,function(){b(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(d=this.extractGraphModelFromPng(d)),b(d))}),c,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))}; App.prototype.getPeerForMode=function(a){return a==App.MODE_GOOGLE?this.drive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_DROPBOX?this.dropbox:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_TRELLO?this.trello:null}; -App.prototype.createFile=function(a,b,c,d,e,g,h,l){d=l?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){b=null!=b?b:this.emptyDiagramXml;var m=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(a){m();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});d==App.MODE_GOOGLE&&null!=this.drive?(h=null!=this.stateArg?this.stateArg.folderId:h,this.drive.insertFile(a,b,h,mxUtils.bind(this, -function(a){m();this.fileCreated(a,c,g,e)}),f)):d==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(d,mxUtils.bind(this,function(d){this.gitHub.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,d)})):d==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f): -d==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,b,mxUtils.bind(this,function(a){m();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_BROWSER?(m(),d=mxUtils.bind(this,function(){var d=new StorageFile(this,b,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,c,g,e)}),f)}),null==localStorage.getItem(a)?d():this.confirm(mxResources.get("replaceIt",[a]),d,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(m(),this.fileCreated(new LocalFile(this, +App.prototype.createFile=function(a,b,c,d,e,g,h,m){d=m?null:null!=d?d:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){b=null!=b?b:this.emptyDiagramXml;var l=mxUtils.bind(this,function(){this.spinner.stop()}),f=mxUtils.bind(this,function(a){l();null==a&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=a&&this.handleError(a)});d==App.MODE_GOOGLE&&null!=this.drive?(h=null!=this.stateArg?this.stateArg.folderId:h,this.drive.insertFile(a,b,h,mxUtils.bind(this, +function(a){l();this.fileCreated(a,c,g,e)}),f)):d==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(d,mxUtils.bind(this,function(d){this.gitHub.insertFile(a,b,mxUtils.bind(this,function(a){l();this.fileCreated(a,c,g,e)}),f,!1,d)})):d==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,b,mxUtils.bind(this,function(a){l();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,b,mxUtils.bind(this,function(a){l();this.fileCreated(a,c,g,e)}),f): +d==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,b,mxUtils.bind(this,function(a){l();this.fileCreated(a,c,g,e)}),f,!1,h):d==App.MODE_BROWSER?(l(),d=mxUtils.bind(this,function(){var d=new StorageFile(this,b,a);d.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(d,c,g,e)}),f)}),null==localStorage.getItem(a)?d():this.confirm(mxResources.get("replaceIt",[a]),d,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(l(),this.fileCreated(new LocalFile(this, b,a,null==d),c,g,e))}}; -App.prototype.fileCreated=function(a,b,c,d){var e=window.location.pathname;null!=b&&0<b.length&&(e+="?libs="+b);e=this.getUrl(e);a.getMode()!=App.MODE_DEVICE&&(e+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var g=a.getData(),g=0<g.length?this.editor.extractGraphModel(mxUtils.parseXml(g).documentElement,!0):null,h=window.location.protocol+"//"+window.location.hostname+e,l=g,m=null;null!=g&&/\.svg$/i.test(a.getTitle())&&(m=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(m.container), -l=this.decodeNodeIntoGraph(l,m));a.setData(this.createFileData(g,m,a,h));null!=m&&m.container.parentNode.removeChild(m.container);var f=mxUtils.bind(this,function(){this.spinner.stop()}),k=mxUtils.bind(this,function(){f();var g=this.getCurrentFile();null==c&&null!=g&&(c=!g.isModified()&&null==g.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);c&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=b&&this.sidebar.showEntries(b)}), +App.prototype.fileCreated=function(a,b,c,d){var e=window.location.pathname;null!=b&&0<b.length&&(e+="?libs="+b);e=this.getUrl(e);a.getMode()!=App.MODE_DEVICE&&(e+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var g=a.getData(),g=0<g.length?this.editor.extractGraphModel(mxUtils.parseXml(g).documentElement,!0):null,h=window.location.protocol+"//"+window.location.hostname+e,m=g,l=null;null!=g&&/\.svg$/i.test(a.getTitle())&&(l=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(l.container), +m=this.decodeNodeIntoGraph(m,l));a.setData(this.createFileData(g,l,a,h));null!=l&&l.container.parentNode.removeChild(l.container);var f=mxUtils.bind(this,function(){this.spinner.stop()}),k=mxUtils.bind(this,function(){f();var g=this.getCurrentFile();null==c&&null!=g&&(c=!g.isModified()&&null==g.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);c&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=b&&this.sidebar.showEntries(b)}), k=mxUtils.bind(this,function(){c||null==g||!g.isModified()?h():this.confirm(mxResources.get("allChangesLost"),null,h,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=d&&d();null==c||c?k():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=d&&d(),window.openWindow(e,null,k))});a.constructor==LocalFile||a.constructor==DriveFile?k():a.saveFile(a.getTitle(),!1,mxUtils.bind(this, function(){k()}),mxUtils.bind(this,function(a){f();this.handleError(a)}))}}; App.prototype.loadFile=function(a,b,c,d){this.hideDialog();var e=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var e=localStorage.getItem(a);if(null!=e)this.fileLoaded(new StorageFile(this,e,a)),null!=d&&d();else throw{message:mxResources.get("fileNotFound")};}catch(f){this.handleError(f, mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""}));else if(null!=c)this.spinner.stop(),this.fileLoaded(c),null!=d&&d();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))), d,mxUtils.bind(this,function(a){this.handleError(a,mxResources.get("errorLoadingFile"))}))}catch(f){this.handleError(f,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),e=decodeURIComponent(a.substring(1)),"<"!=e.charAt(0)&&(e=this.editor.graph.decompress(e)),e=new LocalFile(this,e,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),e.getHash=function(){return a},this.fileLoaded(e),null!=d&&d();else if("U"==a.charAt(0)){var g=decodeURIComponent(a.substring(1)); -this.loadTemplate(g,mxUtils.bind(this,function(c){this.spinner.stop();if(null!=c&&0<c.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var f=g,h=g.lastIndexOf("."),l=f.lastIndexOf("/");h>l&&0<l&&(f=f.substring(l+1,h),h=g.substring(h),this.useCanvasForExport||".png"!=h||(h=".xml"),".svg"===h||".xml"===h||".html"===h||".png"===h)&&(e=f+h)}c=new LocalFile(this,c,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);c.getHash=function(){return a};this.fileLoaded(c)|| +this.loadTemplate(g,mxUtils.bind(this,function(c){this.spinner.stop();if(null!=c&&0<c.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var f=g,h=g.lastIndexOf("."),m=f.lastIndexOf("/");h>m&&0<m&&(f=f.substring(m+1,h),h=g.substring(h),this.useCanvasForExport||".png"!=h||(h=".xml"),".svg"===h||".xml"===h||".html"===h||".png"===h)&&(e=f+h)}c=new LocalFile(this,c,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);c.getHash=function(){return a};this.fileLoaded(c)|| "https://drive.google.com/uc?id="!=g.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),c=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+g.substring(31,g.lastIndexOf("&")),b,d),!0):!1}),!c()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",c))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else e= null,"G"==a.charAt(0)?e=this.drive:"D"==a.charAt(0)?e=this.dropbox:"W"==a.charAt(0)?e=this.oneDrive:"H"==a.charAt(0)?e=this.gitHub:"T"==a.charAt(0)&&(e=this.trello),null==e?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!=a?a.getHash():""})):(a=decodeURIComponent(a.substring(1)),e.getFile(a,mxUtils.bind(this,function(a){this.spinner.stop();this.fileLoaded(a); null!=d&&d()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var a=this.getCurrentFile();null==a?(window.location.hash="",this.showSplash()):window.location.hash=a.getHash()}))})))}),g=this.getCurrentFile(),h=mxUtils.bind(this,function(){null!=g&&g.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=g&&(window.location.hash= g.getHash())}),e,mxResources.get("cancel"),mxResources.get("discardChanges")):e()});null==a||0==a.length?h():null!=g&&g.isModified()&&!b?window.openWindow(this.getUrl()+"#"+a,null,h):h()}; App.prototype.getLibraryStorageHint=function(a){var b=a.getTitle();a.constructor!=LocalLibrary&&(b+="\n"+a.getHash());a.constructor==DriveLibrary?b+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?b+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?b+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?b+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?b+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?b+=" ("+ mxResources.get("browser")+")":a.constructor==LocalLibrary&&(b+=" ("+mxResources.get("device")+")");return b}; -App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=mxUtils.bind(this,function(b,d){var c=0,g=[],h=mxUtils.bind(this,function(){if(0==c){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=g[a]&&this.loadLibrary(g[a]);null!=d&&d()}});if(null!=b)for(var l=0;l<b.length;l++){var m=encodeURIComponent(decodeURIComponent(b[l]));mxUtils.bind(this, +App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),b=mxUtils.bind(this,function(b,d){var c=0,g=[],h=mxUtils.bind(this,function(){if(0==c){if(null!=b)for(var a=b.length-1;0<=a;a--)null!=g[a]&&this.loadLibrary(g[a]);null!=d&&d()}});if(null!=b)for(var m=0;m<b.length;m++){var l=encodeURIComponent(decodeURIComponent(b[m]));mxUtils.bind(this, function(b,d){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){c++;var e=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];g[d]=a;c--;h()}),f=mxUtils.bind(this,function(){a(b);c--;h()});this.pendingLibraries[b]=!0;var k=b.substring(0,1);if("L"==k)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null== -b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):f()}))}catch(C){f()}}),0);else if("U"==k){var l=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=l;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(l)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),l))}catch(C){f()}else f()}),function(){f()})}catch(w){f()}}}else{var m=null;"G"==k?null!= -this.drive&&null!=this.drive.user&&(m=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(m=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(m=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(m=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(m=this.oneDrive);null!=m?m.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(C){f()}}),function(a){f()}):(delete this.pendingLibraries[b], -f())}}})(m,l)}h()});b(mxSettings.getCustomLibraries(),function(){b((urlParams.clibs||"").split(";"))})}}; +b&&(b=this.emptyLibraryXml);null!=b?e(new StorageLibrary(this,b,a)):f()}))}catch(C){f()}}),0);else if("U"==k){var m=decodeURIComponent(b.substring(1));if(!this.isOffline()){k=m;this.isCorsEnabledForUrl(k)||(k="t="+(new Date).getTime(),k=PROXY_URL+"?url="+encodeURIComponent(m)+"&"+k);try{mxUtils.get(k,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus())try{e(new UrlLibrary(this,a.getText(),m))}catch(C){f()}else f()}),function(){f()})}catch(w){f()}}}else{var l=null;"G"==k?null!= +this.drive&&null!=this.drive.user&&(l=this.drive):"H"==k?null!=this.gitHub&&null!=this.gitHub.getUser()&&(l=this.gitHub):"T"==k?null!=this.trello&&this.trello.isAuthorized()&&(l=this.trello):"D"==k?null!=this.dropbox&&null!=this.dropbox.getUser()&&(l=this.dropbox):"W"==k&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(l=this.oneDrive);null!=l?l.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(a){try{e(a)}catch(C){f()}}),function(a){f()}):(delete this.pendingLibraries[b], +f())}}})(l,m)}h()});b(mxSettings.getCustomLibraries(),function(){b((urlParams.clibs||"").split(";"))})}}; App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth= "0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton), this.shareButton=null)}}; @@ -7939,9 +7972,9 @@ c():this.confirm(mxResources.get("replaceIt",[b]),c))}; App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var b=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,b);this.fname.setAttribute("title",b+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash= ""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var b=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),b,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}}; App.prototype.showAuthDialog=function(a,b,c,d){var e=this.spinner.pause();this.showDialog((new AuthDialog(this,a,b,mxUtils.bind(this,function(a){try{null!=c&&c(a,mxUtils.bind(this,function(){this.hideDialog();e()}))}catch(h){this.editor.setStatus(mxUtils.htmlEntities(h.message))}}))).container,300,b?180:140,!0,!0,mxUtils.bind(this,function(a){null!=d&&d();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))}; -App.prototype.convertFile=function(a,b,c,d,e,g){var h=b;/\.svg$/i.test(h)||(h=h.substring(0,b.lastIndexOf("."))+d);var l=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(l=!0);if(/\.vsdx?$/i.test(b)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var m=new XMLHttpRequest;m.open("GET",a,!0);l||(m.responseType="blob");m.onload=mxUtils.bind(this,function(){var a=null;l?(a=JSON.parse(m.responseText),a=this.base64ToBlob(a.content, -"application/octet-stream")):a=new Blob([m.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){e(new LocalFile(this,a,h,!0))}),g,b)});m.send()}else{var f=mxUtils.bind(this,function(c){try{/\.png$/i.test(b)?(temp=this.extractGraphModelFromPng(c),null!=temp?e(new LocalFile(this,temp,h,!0)):e(new LocalFile(this,c,b,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}), -mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?e(new LocalFile(this,a.responseText,h,!0)):null!=g&&g({message:mxResources.get("errorLoadingFile")}))}),b):e(new LocalFile(this,c,h,!0))}catch(n){null!=g&&g(n)}});c=/\.png$/i.test(b)||/\.jpe?g$/i.test(b)||null!=c&&"image/"==c.substring(0,6);l?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(b)? +App.prototype.convertFile=function(a,b,c,d,e,g){var h=b;/\.svg$/i.test(h)||(h=h.substring(0,b.lastIndexOf("."))+d);var m=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(m=!0);if(/\.vsdx?$/i.test(b)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var l=new XMLHttpRequest;l.open("GET",a,!0);m||(l.responseType="blob");l.onload=mxUtils.bind(this,function(){var a=null;m?(a=JSON.parse(l.responseText),a=this.base64ToBlob(a.content, +"application/octet-stream")):a=new Blob([l.response],{type:"application/octet-stream"});this.importVisio(a,mxUtils.bind(this,function(a){e(new LocalFile(this,a,h,!0))}),g,b)});l.send()}else{var f=mxUtils.bind(this,function(c){try{/\.png$/i.test(b)?(temp=this.extractGraphModelFromPng(c),null!=temp?e(new LocalFile(this,temp,h,!0)):e(new LocalFile(this,c,b,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}), +mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?e(new LocalFile(this,a.responseText,h,!0)):null!=g&&g({message:mxResources.get("errorLoadingFile")}))}),b):e(new LocalFile(this,c,h,!0))}catch(n){null!=g&&g(n)}});c=/\.png$/i.test(b)||/\.jpe?g$/i.test(b)||null!=c&&"image/"==c.substring(0,6);m?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=e){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(b)? "data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));f(c)}}else null!=g&&g({code:App.ERROR_UNKNOWN})}),function(){null!=g&&g({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=g&&g({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,f,g,c)}}; App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=mxClient.IS_SVG?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)": "url('"+IMAGE_PATH+"/logo-white.png')";this.appIcon.style.backgroundImage=a;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&(a=a.getMode(),a==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":a==App.MODE_DROPBOX? @@ -7967,8 +8000,8 @@ Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("close"));b. (null!=b.pictureUrl?'<img width="80" height="80" style="margin-right:10px;border-radius:50%;" src="'+b.pictureUrl+'"/>':'<img width="80" height="80" style="margin-right:4px;margin-top:2px;" src="'+this.defaultUserPicture+'"/>')+'</td><td valign="top" style="white-space:nowrap;'+(null!=b.pictureUrl?"padding-top:14px;":"")+'"><b>'+mxUtils.htmlEntities(b.displayName)+"</b><br><small>"+mxUtils.htmlEntities(b.email)+"</small><br><br><small>"+mxResources.get("googleDrive")+"</small></tr></table>",b=document.createElement("div"), b.style.textAlign="center",b.style.padding="12px",b.style.background="whiteSmoke",b.style.borderTop="1px solid #e0e0e0",b.style.whiteSpace="nowrap",b.appendChild(mxUtils.button(mxResources.get("signOut"),mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?this.confirm(mxResources.get("areYouSure"),mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("signOut"));this.diagramContainer.style.display="none";this.formatContainer.style.display= "none";this.hsplit.style.display="none";this.sidebarContainer.style.display="none";this.sidebarFooterContainer.style.display="none";null!=this.tabContainer&&(this.tabContainer.style.display="none");a.close();window.setTimeout(mxUtils.bind(this,function(){this.showDialog=function(){};window.location.hash="";this.drive.clearUserId();gapi.auth.signOut();window.location.reload()}),null!=a&&a.constructor==DriveFile?2E3:0)})):(this.drive.clearUserId(),this.drive.setUser(null),gapi.auth.signOut())}))),this.userPanel.appendChild(b))); -b=mxUtils.bind(this,function(a,b,c,l){null!=a&&(d&&this.userPanel.appendChild(document.createElement("hr")),d=!0,this.userPanel.innerHTML+='<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">'+(null!=b?'<img style="margin-right:10px;" src="'+b+'" width="40" height="40"/></td>':"")+'<td valign="middle" style="white-space:nowrap;"><b>'+mxUtils.htmlEntities(a.displayName)+"</b>"+(null!=a.email?'<br><font color="gray">'+mxUtils.htmlEntities(a.email)+"</font>":"")+(null!=l? -"<br><br><small>"+mxUtils.htmlEntities(l)+"</small>":"")+"</td></tr></table>",a=document.createElement("div"),a.style.textAlign="center",a.style.padding="12px",a.style.background="whiteSmoke",a.style.borderTop="1px solid #e0e0e0",a.style.whiteSpace="nowrap",null!=c&&a.appendChild(mxUtils.button(mxResources.get("signOut"),c)),this.userPanel.appendChild(a))});null!=this.dropbox&&b(this.dropbox.getUser(),IMAGE_PATH+"/dropbox-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!= +b=mxUtils.bind(this,function(a,b,c,m){null!=a&&(d&&this.userPanel.appendChild(document.createElement("hr")),d=!0,this.userPanel.innerHTML+='<table style="font-size:10pt;padding:20px 20px 10px 10px;"><tr><td valign="top">'+(null!=b?'<img style="margin-right:10px;" src="'+b+'" width="40" height="40"/></td>':"")+'<td valign="middle" style="white-space:nowrap;"><b>'+mxUtils.htmlEntities(a.displayName)+"</b>"+(null!=a.email?'<br><font color="gray">'+mxUtils.htmlEntities(a.email)+"</font>":"")+(null!=m? +"<br><br><small>"+mxUtils.htmlEntities(m)+"</small>":"")+"</td></tr></table>",a=document.createElement("div"),a.style.textAlign="center",a.style.padding="12px",a.style.background="whiteSmoke",a.style.borderTop="1px solid #e0e0e0",a.style.whiteSpace="nowrap",null!=c&&a.appendChild(mxUtils.button(mxResources.get("signOut"),c)),this.userPanel.appendChild(a))});null!=this.dropbox&&b(this.dropbox.getUser(),IMAGE_PATH+"/dropbox-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!= a&&a.constructor==DropboxFile){var b=mxUtils.bind(this,function(){this.dropbox.logout();window.location.hash=""});a.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.dropbox.logout()}),mxResources.get("dropbox"));null!=this.oneDrive&&b(this.oneDrive.getUser(),IMAGE_PATH+"/onedrive-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.constructor==OneDriveFile){var b=mxUtils.bind(this, function(){this.oneDrive.logout();window.location.hash=""});a.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.oneDrive.logout()}),mxResources.get("oneDrive"));null!=this.gitHub&&b(this.gitHub.getUser(),IMAGE_PATH+"/github-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.constructor==GitHubFile){var b=mxUtils.bind(this,function(){this.gitHub.logout();window.location.hash=""}); a.isModified()?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else this.gitHub.logout()}),mxResources.get("github"));null!=this.trello&&b(this.trello.getUser(),IMAGE_PATH+"/trello-logo.svg",mxUtils.bind(this,function(){var a=this.getCurrentFile();if(null!=a&&a.constructor==TrelloFile){var b=mxUtils.bind(this,function(){this.trello.logout();window.location.hash=""});a.isModified()?this.confirm(mxResources.get("allChangesLost"), @@ -7976,12 +8009,12 @@ null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}else thi this.userPanel.parentNode.removeChild(this.userPanel)})));var a=null;null!=this.drive&&null!=this.drive.getUser()?a=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?a=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?a=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(a=this.gitHub.getUser());null!=a?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,a.displayName),this.userElement.style.display="block")): this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};var editorResetGraph=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);this.graph.pageFormat=mxSettings.getPageFormat()};(function(){var a=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){a.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(a){var b=document.createElement("span");b.setAttribute("title",mxResources.get("help"));b.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;"; var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);b.appendChild(c);mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(b)}));return b};Menus.prototype.addLinkToItem=function(a,b){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(b))};var b=Menus.prototype.init;Menus.prototype.init=function(){b.apply(this, -arguments);var a=this.editorUi,c=a.editor.graph,g=mxUtils.bind(c,c.isEnabled),h=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),l=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),m=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname|| +arguments);var a=this.editorUi,c=a.editor.graph,g=mxUtils.bind(c,c.isEnabled),h=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),m=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),l=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname|| "drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),f=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||a.isOffline()||((new Image).src=IMAGE_PATH+ -"/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&& -a.exportSvg(b/100,c,d,e,f,g,h,!k,l)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var d=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,c.isSelectionEmpty()),g=a.addCheckbox(b, +"/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&& +a.exportSvg(b/100,c,d,e,f,g,h,!k,m)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var d=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,c.isSelectionEmpty()),g=a.addCheckbox(b, mxResources.get(d?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",d?!g.checked:null,null,!f.checked,d?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"), -!0,null,null,function(b,c,d,e,f,g){b=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,c,d,e,f,g,h,k,l,p){a.createHtml(b,c,d,e,f,g,h,k,l,p,mxUtils.bind(this,function(b,c){var d= +!0,null,null,function(b,c,d,e,f,g){b=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,c,d,e,f,g,h,p,k,m){a.createHtml(b,c,d,e,f,g,h,p,k,m,mxUtils.bind(this,function(b,c){var d= a.getBaseFilename(h),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+b+"\n"+c+"\n</body>\n</html>";a.saveData(d+".html","html",e,"text/html")}))})})}));a.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(a.isOffline()||a.printPdfExport)a.showDialog((new PrintDialog(a,mxResources.get("formatPdf"))).container, 360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatPdf"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(d);var e=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,c.isSelectionEmpty()),f=a.addCheckbox(b,mxResources.get("crop"),!c.pageVisible||!a.pdfPageExport,!a.pdfPageExport);f.style.marginBottom="16px";a.pdfPageExport|| mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"), @@ -7994,8 +8027,8 @@ if("undefined"!==typeof MathJax){var k=a.actions.addAction("mathematicalTypesett var n=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});n.setToggleAction(!0);n.setSelectedCallback(function(){return n.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=c.getSelectionCells(),d=[],e=0;e<b.length;e++)c.getModel().isVertex(b[e])&&d.push(b[e]);0<d.length&&(b=new EditGeometryDialog(a,d),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var t="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" "); a.actions.addAction("copyStyle",function(){var b=c.view.getState(c.getSelectionCell());if(c.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=c.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],d=0;d<b.length;d++){var e=b[d],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==a.copiedStyle[g]&&"none"==e&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(c.isEnabled()&&!c.isSelectionEmpty()&& null!=a.copiedStyle){c.getModel().beginUpdate();try{for(var b=c.getSelectionCells(),d=0;d<b.length;d++)for(var e=c.view.getState(b[d]),f=0;f<t.length;f++){var g=t[f],h=a.copiedStyle[g];e.style[g]!=h&&c.setCellStyles(g,h,[b[d]])}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container, -320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!k,l)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this, -function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,l){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone|| +320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!k,m)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this, +function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,k,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!k,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone|| a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));k=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){c.setShadowVisible(!c.shadowVisible)}));k.setToggleAction(!0);k.setSelectedCallback(function(){return c.shadowVisible});var u=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){u||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){u=!1}), u=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp? a.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?a.openLink("shortcuts.svg"):a.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showDialog(b.container,610,360,!0,!0);b.init()});a.actions.addAction("quickStart...",function(){a.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});k=a.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow= @@ -8010,29 +8043,29 @@ encodeURIComponent(b)),f.value="",this.editorUi.logEvent({category:"Help",action this.editorUi.hRuler.setUnit(mxRuler.prototype.INCHES);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerCM=Ruler unit: CMs"),this.editorUi.actions.addAction("rulerCM",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.hRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerPixel=Ruler unit: Pixels"),this.editorUi.actions.addAction("rulerPixel", mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(b,["-","rulerInch","rulerCM","rulerPixel"],d));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=c.getGraphBounds(),b=c.view.translate,e=c.view.scale;c.insertVertex(d, null,"",a.x/e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){c.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+c.compress(mxUtils.getXml(c.encodeCells(c.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(b,["-","createSidebarEntry","showBoundingBox"],d),mxResources.parse("testXmlImageExport=XML Image Export"), -this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=c.getGraphBounds(),d=c.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/d),Math.floor((1-b.y)/d));e.scale(1/d);var g=0,h=e.save;e.save=function(){g++;h.apply(this,arguments)};var k=e.restore;e.restore=function(){g--;k.apply(this,arguments)};var l=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape", -a,g);l.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(c.getView().getState(c.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,["testXmlImageExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&& +this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=c.getGraphBounds(),d=c.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/d),Math.floor((1-b.y)/d));e.scale(1/d);var g=0,h=e.save;e.save=function(){g++;h.apply(this,arguments)};var k=e.restore;e.restore=function(){g--;k.apply(this,arguments)};var p=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape", +a,g);p.apply(this,arguments);mxLog.debug("leaving shape",a,g)};a.drawState(c.getView().getState(c.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",g)})),this.addMenuItems(b,["testXmlImageExport"],d),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&& null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();null!=b&&null!=b.realtime&& a.spinner.spin(document.body,mxResources.get("export"))&&(b=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b.getHash().substring(1)+"/realtime",null,"GET"),b.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+b)},b.send(function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()&&a.saveLocalFile(b.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&& null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(b,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],d),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(b,["-","testShowConsole"]))})));a.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!a.isOffline()?a.showDialog((new MoreShapesDialog(a, !0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(c.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle);b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+ -"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,g,h,k,l,m){a.createHtml(b,c,d,e,f,g,h,k,l,m,mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var a=window.open(),d=a.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>"); +"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,g,h,k,p,m){a.createHtml(b,c,d,e,f,g,h,k,p,m,mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var a=window.open(),d=a.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>"); d.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');d.writeln("<body>");d.writeln(b);var e=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;e&&d.writeln(c);d.writeln("</body>");d.writeln("</html>");d.close();if(!e){var f=a.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));e=a.document.createElement("img");e.setAttribute("src",window.location.protocol+"//"+ window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");e.style.marginLeft="6px";f.appendChild(e);a.document.body.insertBefore(f,a.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(c)[1];d.body.appendChild(a);f.parentNode.removeChild(f)},20)}});a.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));a.actions.put("liveImage",new Action("Live image...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&& a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();null!=b?(b=encodeURIComponent(b),b=new EmbedDialog(a,EXPORT_URL+"?format=png&url="+b,0),a.showDialog(b.container,440,240,!0,!0),b.init()):a.handleError({message:mxResources.get("invalidPublicUrl")})})}));a.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedImage(b,c,d,e,f,g,function(b){a.spinner.stop(); b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0);b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("image"),mxResources.get("retina"),a.isExportToCanvas())}));a.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedSvg(b,c,d,e,f,g,function(b){a.spinner.stop();b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0); b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var b=c.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((b.y+b.height-c.view.translate.y)/c.view.scale)+2,function(b,c,d,e,f,g,h,k){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(), -function(l){a.spinner.stop();l=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+h+";height:"+k+';" src="'+a.createLink(b,c,d,e,f,g,l)+'"></iframe>');a.showDialog(l.container,440,240,!0,!0);l.init()})},!0)}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){a.showPublishLinkDialog(null,null,null,null,function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(h){a.spinner.stop();h=new EmbedDialog(a, +function(p){a.spinner.stop();p=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+h+";height:"+k+';" src="'+a.createLink(b,c,d,e,f,g,p)+'"></iframe>');a.showDialog(p.container,440,240,!0,!0);p.init()})},!0)}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){a.showPublishLinkDialog(null,null,null,null,function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(h){a.spinner.stop();h=new EmbedDialog(a, a.createLink(b,c,d,e,f,g,h));a.showDialog(h.container,440,240,!0,!0);h.init()})})}));a.actions.addAction("googleDocs...",function(){a.openLink("http://docsaddon.draw.io")});a.actions.addAction("googleSites...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();b=new GoogleSitesDialog(a,b);a.showDialog(b.container,420,256,!0,!0);b.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)k=a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}), k.setToggleAction(!0),k.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,170,!0,!1)});k=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});k.setToggleAction(!0);k.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(a.actions.get("save").funct= function(b){c.isEditing()&&c.stopEditing();var d="0"!=urlParams.pages||null!=a.pages&&1<a.pages.length?a.getFileData(!0):mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var e=a.createLoadMessage("save");e.xml=d;b&&(e.exit=!0);d=JSON.stringify(e)}(window.opener||window.parent).postMessage(d,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""));null!=a.getCurrentFile()&&a.saveFile()},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}), a.actions.addAction("exit",function(){var b=function(){a.editor.modified=!1;var b="json"==urlParams.proto?JSON.stringify({event:"exit",modified:a.editor.modified}):"";(window.opener||window.parent).postMessage(b,"*")};a.editor.modified?a.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(b,c){a.isExportToCanvas()?(this.addMenuItems(b,["exportPng"],c),a.jpgSupported&&this.addMenuItems(b, ["exportJpg"],c)):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPng","exportJpg"],c);this.addMenuItems(b,["exportSvg","-"],c);a.isOffline()||a.printPdfExport?this.addMenuItems(b,["exportPdf"],c):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPdf"],c);mxClient.IS_IE11||mxClient.IS_IE||"undefined"===typeof VsdxExport&&a.isOffline()||this.addMenuItems(b,["exportVsdx"],c);this.addMenuItems(b,["-","exportHtml","exportXml","exportUrl"], c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(b,d){function e(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=k(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())), -c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,d,e){var f=c.view,g=c.getGraphBounds(),h=c.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*c.gridSize)),k=c.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*c.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,l=mxUtils.bind(this,function(){a.resizeImage(f, -b,mxUtils.bind(this,function(f,l,m){f=g?Math.min(1,Math.min(a.maxImageSize/l,a.maxImageSize/m)):1;a.importFile(b,d,h,k,Math.round(l*f),Math.round(m*f),e,function(b){a.spinner.stop();c.setSelectionCells(b);c.scrollCellToVisible(c.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;l()}):l()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,d,h,k,0,0,e,function(b){a.spinner.stop();c.setSelectionCells(b); +c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,d,e){var f=c.view,g=c.getGraphBounds(),h=c.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*c.gridSize)),k=c.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*c.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,m=mxUtils.bind(this,function(){a.resizeImage(f, +b,mxUtils.bind(this,function(f,m,l){f=g?Math.min(1,Math.min(a.maxImageSize/m,a.maxImageSize/l)):1;a.importFile(b,d,h,k,Math.round(m*f),Math.round(l*f),e,function(b){a.spinner.stop();c.setSelectionCells(b);c.scrollCellToVisible(c.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;m()}):m()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,d,h,k,0,0,e,function(b){a.spinner.stop();c.setSelectionCells(b); c.scrollCellToVisible(c.getSelectionCell())})}),k=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){e(a.drive)},d):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+ -"...",null,function(){e(a.gitHub)},d);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){e(a.dropbox)},d):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){e(a.oneDrive)},d):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null, +"...",null,function(){e(a.gitHub)},d);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){e(a.dropbox)},d):m&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){e(a.oneDrive)},d):l&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null, function(){e(a.trello)},d):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);b.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},d);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},d);a.isOffline()||(b.addSeparator(d),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"), function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){g(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})).isEnabled=g;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"), null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save(); @@ -8049,14 +8082,14 @@ null,null,Editor.ctrlKey+"+Shift+X").isEnabled=g;a.actions.addAction("insertRect w("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=g;var C=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):v(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);b.addSeparator(c);this.addSubmenu("insertLayout",b,c,mxResources.get("layout"));b.addSeparator(c);C(b,c,["fromText","plantUml", "-","formatSql"]);b.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},c)})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){C(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+ mxResources.get(e)+")",null,function(){a.loadFile(d.id)},c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(b,c){null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)}, -c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null, +c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},c):m&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},c):l&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null, function(){a.pickFile(App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b= new FilenameDialog(a,"",mxResources.get("open"),function(b){null!=b&&0<b.length&&(null==a.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},c))}));Editor.enableCustomLibraries&&(this.put("newLibrary",new Menu(function(b,c){"undefined"!=typeof google&&"undefined"!=typeof google.picker&& (null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.showLibraryDialog(null,null,null,null, -App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)}, +App.MODE_DROPBOX)},c):m&&b.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_ONEDRIVE)},c):l&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_TRELLO)}, c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.showLibraryDialog(null,null,null,null,App.MODE_DEVICE)},c)})),this.put("openLibraryFrom",new Menu(function(b,c){"undefined"!=typeof google&& -"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):l&&b.addItem(mxResources.get("dropbox")+ -" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):m&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null, +"undefined"!=typeof google.picker&&(null!=a.drive?b.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickLibrary(App.MODE_GOOGLE)},c):h&&b.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1));null!=a.gitHub&&b.addItem(mxResources.get("github")+"...",null,function(){a.pickLibrary(App.MODE_GITHUB)},c);null!=a.dropbox?b.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickLibrary(App.MODE_DROPBOX)},c):m&&b.addItem(mxResources.get("dropbox")+ +" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.oneDrive?b.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},c):l&&b.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null,!1);null!=a.trello?b.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},c):f&&b.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},c,null, !1);b.addSeparator(c);isLocalStorage&&"0"!=urlParams.browser&&b.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},c);mxClient.IS_IOS||b.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},c);a.isOffline()||(b.addSeparator(c),b.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c= b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(y){a.handleError(y,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0, !0);b.init()},c))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage|| @@ -8097,9 +8130,9 @@ EditorUi.prototype.createTabContainer=function(){var a=document.createElement("d EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var c=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- c)/this.pages.length)+1),e=null,g=0;g<this.pages.length;g++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",d.style.fontWeight="bold",d.style.borderTopStyle="none"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),e=c):mxEvent.consume(b)}));mxEvent.addListener(d, "dragend",mxUtils.bind(this,function(a){e=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=e&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=e&&c!=e&&this.movePage(e,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(g,this.createTabForPage(this.pages[g],d,this.pages[g]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b); -d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-c){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var h=this.createControlTab(4," ❮ ");h.style.position="absolute";h.style.right=this.editor.chromeless?"29px":"55px";h.style.fontSize="13pt";this.tabContainer.appendChild(h);var l=this.createControlTab(4, -" ❯");l.style.position="absolute";l.style.right=this.editor.chromeless?"0px":"29px";l.style.fontSize="13pt";this.tabContainer.appendChild(l);var m=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=m+"px";mxEvent.addListener(h,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,m-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(h, -0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(l,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,m-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(l,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; +d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-c){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var h=this.createControlTab(4," ❮ ");h.style.position="absolute";h.style.right=this.editor.chromeless?"29px":"55px";h.style.fontSize="13pt";this.tabContainer.appendChild(h);var m=this.createControlTab(4, +" ❯");m.style.position="absolute";m.style.right=this.editor.chromeless?"0px":"29px";m.style.fontSize="13pt";this.tabContainer.appendChild(m);var l=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=l+"px";mxEvent.addListener(h,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,l-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(m,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(h, +0<b.scrollLeft?100:50);mxUtils.setOpacity(m,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(m,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,l-20);mxUtils.setOpacity(h,0<b.scrollLeft?100:50);mxUtils.setOpacity(m,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; EditorUi.prototype.createTab=function(a){var b=document.createElement("div");b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.whiteSpace="nowrap";b.style.boxSizing="border-box";b.style.position="relative";b.style.overflow="hidden";b.style.marginLeft="-1px";b.style.height=this.tabContainer.clientHeight+"px";b.style.padding="8px 4px 8px 4px";b.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";b.style.borderBottomStyle="solid";b.style.backgroundColor=this.tabContainer.style.backgroundColor; b.style.cursor="move";b.style.color="gray";a&&(mxEvent.addListener(b,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(b.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(b,"mouseleave",mxUtils.bind(this,function(a){b.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return b}; EditorUi.prototype.createControlTab=function(a,b){var c=this.createTab(!0);c.style.paddingTop=a+"px";c.style.cursor="pointer";c.style.width="30px";c.style.lineHeight="30px";c.innerHTML=b;null!=c.firstChild&&null!=c.firstChild.style&&mxUtils.setOpacity(c.firstChild,40);return c}; @@ -8109,37 +8142,37 @@ null,mxUtils.bind(this,function(){this.renamePage(d,d.getName())}),b),a.addSepar mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; EditorUi.prototype.createTabForPage=function(a,b,c){c=this.createTab(c);var d=a.getName();c.setAttribute("title",d);mxUtils.write(c,d);c.style.maxWidth=b+"px";c.style.width=b+"px";this.addTabListeners(a,c);42<b&&(c.style.textOverflow="ellipsis");return c}; EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var c=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,e=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;e=a==this.currentPage;c.isMouseDown||e||this.selectPage(a)}),null,mxUtils.bind(this,function(g){if(c.isEnabled()&&!c.isMouseDown&&(mxEvent.isTouchEvent(g)&&e||mxEvent.isPopupTrigger(g))){c.popupMenuHandler.hideMenu(); -this.hideCurrentMenu();if(!mxEvent.isTouchEvent(g)||!d){var h=new mxPopupMenu(this.createPageMenu(a));h.div.className+=" geMenubarMenu";h.smartSeparators=!0;h.showDisabled=!0;h.autoExpand=!0;h.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(h,arguments);this.resetCurrentMenu();h.destroy()});var l=mxEvent.getClientX(g),m=mxEvent.getClientY(g);h.popup(l,m,null,g);this.setCurrentMenu(h,b)}mxEvent.consume(g)}}))}; +this.hideCurrentMenu();if(!mxEvent.isTouchEvent(g)||!d){var h=new mxPopupMenu(this.createPageMenu(a));h.div.className+=" geMenubarMenu";h.smartSeparators=!0;h.showDisabled=!0;h.autoExpand=!0;h.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(h,arguments);this.resetCurrentMenu();h.destroy()});var m=mxEvent.getClientX(g),l=mxEvent.getClientY(g);h.popup(m,l,null,g);this.setCurrentMenu(h,b)}mxEvent.consume(g)}}))}; EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(c,d){c.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);c.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);c.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);c.addSeparator(d);c.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, mxResources.get("copyOf",[a.getName()]))}),d)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};mxCodecRegistry.register(a)})(); (function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,c,d){d.setAttribute("page",c.page.getId());return d};a.beforeDecode=function(a,c,d){d.ui=a.ui;return c};a.afterDecode=function(a,c,d){d.page=a.ui.getPageById(c.getAttribute("page"));d.previous=d.name;return d};mxCodecRegistry.register(a)})(); (function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,c,d){d.setAttribute("relatedPage",c.relatedPage.getId());null==c.index&&(d.setAttribute("name",c.relatedPage.getName()),null!=c.relatedPage.root&&a.encodeCell(c.relatedPage.root,d));return d};a.beforeDecode=function(a,c,d){d.ui=a.ui;d.relatedPage=d.ui.getPageById(c.getAttribute("relatedPage"));if(null==d.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",c.getAttribute("relatedPage")); b.setAttribute("name",c.getAttribute("name"));d.relatedPage=new DiagramPage(b);c=c.cloneNode(!0);b=c.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var g=b.getAttribute("id");null==a.lookup(g)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return c};a.afterDecode=function(a,c,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells; -Graph.prototype.foldCells=function(a,c,d,l,m){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var e=d.slice(),g=[],h=0;h<d.length;h++){var t=this.view.getState(d[h]),u=null!=t?t.style:this.getCellStyle(d[h]);"1"==mxUtils.getValue(u,"treeFolding","0")&&(this.traverse(d[h],!0,mxUtils.bind(this,function(a,b){null!=b&&g.push(b);a!=d[h]&&g.push(a);return a==d[h]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[h], +Graph.prototype.foldCells=function(a,c,d,m,l){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var e=d.slice(),g=[],h=0;h<d.length;h++){var t=this.view.getState(d[h]),u=null!=t?t.style:this.getCellStyle(d[h]);"1"==mxUtils.getValue(u,"treeFolding","0")&&(this.traverse(d[h],!0,mxUtils.bind(this,function(a,b){null!=b&&g.push(b);a!=d[h]&&g.push(a);return a==d[h]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[h], a))}for(h=0;h<g.length;h++)this.model.setVisible(g[h],!a);d=e;d=b.apply(this,arguments)}finally{this.model.endUpdate()}return d};var c=EditorUi.prototype.init;EditorUi.prototype.init=function(){c.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return v.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=v.getParent(a),b=q.view.getState(a),q.view.getState(a),b="tree"==(null!=b?b.style:q.getCellStyle(a)).containerType); -return b}function d(a){var b=!1;null!=a&&(a=v.getParent(a),b=q.view.getState(a),q.view.getState(a),b=null!=(null!=b?b.style:q.getCellStyle(a)).childLayout);return b}function l(a){a=q.view.getState(a);if(null!=a){var b=q.getIncomingEdges(a.cell);if(0<b.length&&(b=q.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())< -a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function m(a,b){b=null!=b?b:!0;q.model.beginUpdate();try{var c=q.model.getParent(a),d=q.getIncomingEdges(a),e=q.cloneCells([d[0],a]);q.model.setTerminal(e[0],q.model.getTerminal(d[0],!0),!0);var f=l(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ -10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);q.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=q.view.getState(a),k=q.view.scale;if(null!=h){var m=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?m.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:m.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var n=q.getOutgoingEdges(q.model.getTerminal(d[0], -!0));if(null!=n){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,v=g=d=0;v<n.length;v++){var t=q.model.getTerminal(n[v],!1);if(f==l(t)){var u=q.view.getState(t);t!=a&&null!=u&&(p&&b!=u.getCenterX()<h.getCenterX()||!p&&b!=u.getCenterY()<h.getCenterY())&&mxUtils.intersects(m,u)&&(d=10+Math.max(d,(Math.min(m.x+m.width,u.x+u.width)-Math.max(m.x,u.x))/k),g=10+Math.max(g,(Math.min(m.y+m.height,u.y+u.height)-Math.max(m.y,u.y))/k))}}p?g=0:d=0;for(v=0;v<n.length;v++)if(t=q.model.getTerminal(n[v], -!1),f==l(t)&&(u=q.view.getState(t),t!=a&&null!=u&&(p&&b!=u.getCenterX()<h.getCenterX()||!p&&b!=u.getCenterY()<h.getCenterY()))){var z=[];q.traverse(u.cell,!0,function(a,b){null!=b&&z.push(b);z.push(a);return!0});q.moveCells(z,(b?1:-1)*d,(b?1:-1)*g)}}}return q.addCells(e,c)}finally{q.model.endUpdate()}}function f(a){q.model.beginUpdate();try{var b=l(a),c=q.getIncomingEdges(a),d=q.cloneCells([c[0],a]);q.model.setTerminal(c[0],d[1],!1);q.model.setTerminal(d[0],d[1],!0);q.model.setTerminal(d[0],a,!1); +return b}function d(a){var b=!1;null!=a&&(a=v.getParent(a),b=q.view.getState(a),q.view.getState(a),b=null!=(null!=b?b.style:q.getCellStyle(a)).childLayout);return b}function m(a){a=q.view.getState(a);if(null!=a){var b=q.getIncomingEdges(a.cell);if(0<b.length&&(b=q.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())< +a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function l(a,b){b=null!=b?b:!0;q.model.beginUpdate();try{var c=q.model.getParent(a),d=q.getIncomingEdges(a),e=q.cloneCells([d[0],a]);q.model.setTerminal(e[0],q.model.getTerminal(d[0],!0),!0);var f=m(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ +10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);q.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var h=q.view.getState(a),k=q.view.scale;if(null!=h){var l=mxRectangle.fromRectangle(h);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var n=q.getOutgoingEdges(q.model.getTerminal(d[0], +!0));if(null!=n){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,v=g=d=0;v<n.length;v++){var t=q.model.getTerminal(n[v],!1);if(f==m(t)){var u=q.view.getState(t);t!=a&&null!=u&&(p&&b!=u.getCenterX()<h.getCenterX()||!p&&b!=u.getCenterY()<h.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/k),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/k))}}p?g=0:d=0;for(v=0;v<n.length;v++)if(t=q.model.getTerminal(n[v], +!1),f==m(t)&&(u=q.view.getState(t),t!=a&&null!=u&&(p&&b!=u.getCenterX()<h.getCenterX()||!p&&b!=u.getCenterY()<h.getCenterY()))){var z=[];q.traverse(u.cell,!0,function(a,b){null!=b&&z.push(b);z.push(a);return!0});q.moveCells(z,(b?1:-1)*d,(b?1:-1)*g)}}}return q.addCells(e,c)}finally{q.model.endUpdate()}}function f(a){q.model.beginUpdate();try{var b=m(a),c=q.getIncomingEdges(a),d=q.cloneCells([c[0],a]);q.model.setTerminal(c[0],d[1],!1);q.model.setTerminal(d[0],d[1],!0);q.model.setTerminal(d[0],a,!1); var e=q.model.getParent(a),f=e.geometry,g=[];q.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);q.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var h=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?h=0:b==mxConstants.DIRECTION_NORTH?(h=0,k=-40):b==mxConstants.DIRECTION_WEST?(h=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);q.moveCells(g,h,k);return q.addCells(d,e)}finally{q.model.endUpdate()}}function k(a){q.model.beginUpdate();try{var b= -q.model.getParent(a),c=q.getIncomingEdges(a),d=q.cloneCells([c[0],a]);q.model.setTerminal(d[0],a,!0);var c=q.getOutgoingEdges(a),e=b.geometry,f=[];q.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=q.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=q.view.getBounds(f),m=l(a),n=q.view.translate,p=q.view.scale;m==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-n.x-e.x+10,d[1].geometry.y+=a.geometry.height- -e.y+40):m==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-n.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=m==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-n.y+-e.y+10);return q.addCells(d,b)}finally{q.model.endUpdate()}}function n(a, -b,c){a=q.getOutgoingEdges(a);c=q.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=q.view.getState(q.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function t(a,b){var c=l(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| +q.model.getParent(a),c=q.getIncomingEdges(a),d=q.cloneCells([c[0],a]);q.model.setTerminal(d[0],a,!0);var c=q.getOutgoingEdges(a),e=b.geometry,f=[];q.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var h=q.model.getTerminal(c[g],!1);null!=h&&f.push(h)}var k=q.view.getBounds(f),l=m(a),n=q.view.translate,p=q.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-n.x-e.x+10,d[1].geometry.y+=a.geometry.height- +e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-n.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-n.y+-e.y+10);return q.addCells(d,b)}finally{q.model.endUpdate()}}function n(a, +b,c){a=q.getOutgoingEdges(a);c=q.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=q.view.getState(q.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function t(a,b){var c=m(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| c==mxConstants.DIRECTION_WEST)==d&&c!=b?u.actions.get("selectParent").funct():c==b?(d=q.getOutgoingEdges(a),null!=d&&0<d.length&&q.setSelectionCell(q.model.getTerminal(d[0],!1))):(c=q.getIncomingEdges(a),null!=c&&0<c.length&&(d=n(q.model.getTerminal(c[0],!0),d,a),c=q.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&q.setSelectionCell(d[c].cell)))))}var u=this,q=u.editor.graph,v=q.getModel();mxResources.parse("selectChildren=Select Children"); mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var w=u.menus.createPopupMenu;u.menus.createPopupMenu=function(a,c,d){w.apply(this,arguments);if(1==q.getSelectionCount()){c=q.getSelectionCell();var e=q.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(q.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(q.getSelectionCell())&& (a.addSeparator(),0<q.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};u.actions.addAction("selectChildren",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),a=q.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(q.model.getTerminal(a[c],!1));q.setSelectionCells(b)}}},null,null,"Alt+Shift+X");u.actions.addAction("selectSiblings",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(), a=q.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=q.getOutgoingEdges(q.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(q.model.getTerminal(a[c],!1));q.setSelectionCells(b)}}},null,null,"Alt+Shift+S");u.actions.addAction("selectParent",function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),a=q.getIncomingEdges(a);null!=a&&0<a.length&&q.setSelectionCell(q.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");u.actions.addAction("selectDescendants", function(){if(q.isEnabled()&&1==q.getSelectionCount()){var a=q.getSelectionCell(),b=[];q.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});q.setSelectionCells(b)}},null,null,"Alt+Shift+T");var C=q.removeCells;q.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];v.isEdge(g)&&c(g)&&(e.push(g),g=v.getTerminal(g,!1));b(g)?(q.traverse(g,!0, function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=q.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return C.apply(this,arguments)};u.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var p=q.duplicateCells;q.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=q.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=q.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], -a)}this.model.beginUpdate();try{var h=p.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=q.getIncomingEdges(h[e]),g=q.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,q.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var A=q.moveCells;q.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f); -if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||q.model.isEdge(a[p])&&null==q.model.getTerminal(a[p],!0)){f=q.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var v=q.getIncomingEdges(a[0]);if(0<v.length){var t=q.view.getState(q.model.getTerminal(v[0],!0));if(null!=t){var u=q.view.getState(l);null!=u&&(c=(u.getCenterX()-t.getCenterX())/q.view.scale,d=(u.getCenterY()-t.getCenterY())/q.view.scale)}}}}k=A.apply(this,arguments); -if(null!=k&&null!=a&&k.length==a.length)for(p=0;p<k.length;p++)if(this.model.isEdge(k[p]))b(l)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[p],!0))&&this.model.setTerminal(k[p],l,!0);else if(b(a[p])&&(v=q.getIncomingEdges(a[p]),0<v.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(v[0],!0))&&this.model.setTerminal(v[0],l,!0);else if(0==q.getIncomingEdges(k[p]).length){m=l;if(null==m||m==q.model.getParent(a[p]))m=q.model.getTerminal(v[0],!0);e=this.cloneCells([v[0]])[0];this.addEdge(e, -q.getDefaultParent(),m,k[p])}}finally{this.model.endUpdate()}return k};if(null!=u.sidebar){var E=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(a,c,d,e){var f=q.model,g=null;f.beginUpdate();try{if(g=E.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=q.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var B={88:u.actions.get("selectChildren"), -84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},x=u.onKeyDown;u.onKeyDown=function(a){try{if(q.isEnabled()&&!q.isEditing()&&b(q.getSelectionCell())&&1==q.getSelectionCount()){var c=null;0<q.getIncomingEdges(q.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?f(q.getSelectionCell()):k(q.getSelectionCell()):13==a.which&&(c=m(q.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&q.model.isEdge(c[0])?q.setSelectionCell(q.model.getTerminal(c[0], +a)}this.model.beginUpdate();try{var h=p.call(this,a,c);if(h.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=q.getIncomingEdges(h[e]),g=q.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var m=this.cloneCells([g[0]])[0];this.addEdge(m,q.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var A=q.moveCells;q.moveCells=function(a,c,d,e,f,g,h){var k=null;this.model.beginUpdate();try{var m=f,l=this.view.getState(f),n=null!=l?l.style:this.getCellStyle(f); +if(null!=a&&b(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(b(a[p])||q.model.isEdge(a[p])&&null==q.model.getTerminal(a[p],!0)){f=q.model.getParent(a[p]);break}if(null!=m&&f!=m&&null!=this.view.getState(a[0])){var v=q.getIncomingEdges(a[0]);if(0<v.length){var t=q.view.getState(q.model.getTerminal(v[0],!0));if(null!=t){var u=q.view.getState(m);null!=u&&(c=(u.getCenterX()-t.getCenterX())/q.view.scale,d=(u.getCenterY()-t.getCenterY())/q.view.scale)}}}}k=A.apply(this,arguments); +if(null!=k&&null!=a&&k.length==a.length)for(p=0;p<k.length;p++)if(this.model.isEdge(k[p]))b(m)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[p],!0))&&this.model.setTerminal(k[p],m,!0);else if(b(a[p])&&(v=q.getIncomingEdges(a[p]),0<v.length))if(!e)b(m)&&0>mxUtils.indexOf(a,this.model.getTerminal(v[0],!0))&&this.model.setTerminal(v[0],m,!0);else if(0==q.getIncomingEdges(k[p]).length){l=m;if(null==l||l==q.model.getParent(a[p]))l=q.model.getTerminal(v[0],!0);e=this.cloneCells([v[0]])[0];this.addEdge(e, +q.getDefaultParent(),l,k[p])}}finally{this.model.endUpdate()}return k};if(null!=u.sidebar){var F=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(a,c,d,e){var f=q.model,g=null;f.beginUpdate();try{if(g=F.apply(this,arguments),b(a))for(var h=0;h<g.length;h++)if(f.isEdge(g[h])&&null==f.getTerminal(g[h],!0)){f.setTerminal(g[h],a,!0);var k=q.getCellGeometry(g[h]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var B={88:u.actions.get("selectChildren"), +84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},x=u.onKeyDown;u.onKeyDown=function(a){try{if(q.isEnabled()&&!q.isEditing()&&b(q.getSelectionCell())&&1==q.getSelectionCount()){var c=null;0<q.getIncomingEdges(q.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?f(q.getSelectionCell()):k(q.getSelectionCell()):13==a.which&&(c=l(q.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&q.model.isEdge(c[0])?q.setSelectionCell(q.model.getTerminal(c[0], !1)):q.setSelectionCell(c[c.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(q.view.getState(q.getSelectionCell())),q.startEditingAtCell(q.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var d=B[a.keyCode];null!=d&&(d.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(t(q.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(t(q.getSelectionCell(), -mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(t(q.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(K){console.log("error",K)}mxEvent.isConsumed(a)||x.apply(this,arguments)};var L=q.connectVertex;q.connectVertex=function(a,c,d,e,g,h){var n=q.getIncomingEdges(a);return b(a)&&0<n.length?(d=l(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?k(a):e==g?f(a):m(a,c!=mxConstants.DIRECTION_NORTH&& -c!=mxConstants.DIRECTION_WEST)):L.call(this,a,c,d,e,g,h)};q.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&q.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), +mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(t(q.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(L){console.log("error",L)}mxEvent.isConsumed(a)||x.apply(this,arguments)};var E=q.connectVertex;q.connectVertex=function(a,c,d,e,g,h){var p=q.getIncomingEdges(a);return b(a)&&0<p.length?(d=m(a),e=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,g=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,d==c?k(a):e==g?f(a):l(a,c!=mxConstants.DIRECTION_NORTH&& +c!=mxConstants.DIRECTION_WEST)):E.call(this,a,c,d,e,g,h)};q.getSubtree=function(a){var c=[a];b(a)&&!d(a)&&q.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var y=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){y.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells); this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var D=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){D.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", @@ -8172,7 +8205,7 @@ HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 1 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH= 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity= 25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var g=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){g.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var h=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= -function(){h.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var l=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>c&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):l.apply(this,arguments)};var m=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){m.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; +function(){h.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var m=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>c&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):m.apply(this,arguments)};var l=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){l.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px"; a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var f=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){f.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save")); diff --git a/src/main/webapp/js/atlas-viewer.min.js b/src/main/webapp/js/atlas-viewer.min.js index 20eecf924157afecc945fb93fc1f61a94b2dadd2..3595caab7e5142f8cf0abf4fa8a2ce8b20e0d205 100644 --- a/src/main/webapp/js/atlas-viewer.min.js +++ b/src/main/webapp/js/atlas-viewer.min.js @@ -1949,8 +1949,8 @@ b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rg 0,c]:(a=a===f?3+(e-b)/g:b===f?5+(a-e)/g:1+(b-a)/g,a=[6===a?0:a,g/c,c]);null!==a[0]&&(this.hsv[0]=a[0]);0!==a[2]&&(this.hsv[1]=a[1]);this.hsv[2]=a[2];this.exportColor(d)};this.fromString=function(a,b){var c=a.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4,2),16)/255,b):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/ 255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,b),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var r=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,u=jscolor.fetchElement(this.valueElement),x=jscolor.fetchElement(this.styleElement),y=!1,A=!1,z=1,v=2,B=4,C=8;u&&(q=function(){r.fromString(u.value,z);p()},jscolor.addEvent(u,"keyup", q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}jscolor.requireImage("cross.gif");jscolor.requireImage("arrow.gif");this.importColor()}};jscolor.install(); -Editor=function(a,b,e,c,k){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=c||this.createGraph(b,e);this.editable=null!=k?k:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= -function(){return this.status};this.graphChangeListener=function(a,c){var b=null!=c?c.getProperty("edit"):null;null!=b&&b.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; +Editor=function(a,b,e,d,k){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=d||this.createGraph(b,e);this.editable=null!=k?k:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= +function(){return this.status};this.graphChangeListener=function(a,d){var b=null!=d?d.getProperty("edit"):null;null!=b&&b.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; (function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(b){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS; Editor.helpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAXVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5BxTwAAAAH3RSTlMAlUF8boNQIE0LBgOgkGlHNSwqFIx/dGVUOjApmV9ezNACSAAAAIVJREFUGNNtjNsOgzAMQ5NeoVcKDAZs+//PXLKI8YKlWvaRU7jXuFpb9qsbdK05XILUiE8JHQox1Pv3OgFUzf1AGqWqUg+QBwLF0YAeegBlCNgRWOpB5vUfTCmeoHQ/wNdy0jLH/cM+b+wLTw4n/7ACEmHVVy8h6qy8V7MNcGowWpsNbvUFcGUEdSi1s/oAAAAASUVORK5CYII=":IMAGE_PATH+ "/help.png"; @@ -1970,7 +1970,7 @@ Editor.previousLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";Editor.popupsAllowed=!0;mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0; Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/";Editor.prototype.init=function(){};Editor.prototype.isChromelessView=function(){return this.chromeless};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))}; Editor.prototype.getEditBlankUrl=function(a){return this.editBlankUrl+a}; -Editor.prototype.editAsNew=function(a,b){var e=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(e+=(0<e.length?"&":"?")+"ui="+urlParams.ui);null==this.editorWindow||this.editorWindow.closed?"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?(null==this.editorWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(c){"ready"==c.data&&c.source==this.editorWindow&&this.editorWindow.postMessage(a,"*")})),this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e+ +Editor.prototype.editAsNew=function(a,b){var e=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(e+=(0<e.length?"&":"?")+"ui="+urlParams.ui);null==this.editorWindow||this.editorWindow.closed?"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?(null==this.editorWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(d){"ready"==d.data&&d.source==this.editorWindow&&this.editorWindow.postMessage(a,"*")})),this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e+ (0<e.length?"&":"?")+"client=1"))):this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e)+"#R"+encodeURIComponent(a)):this.editorWindow.focus()};Editor.prototype.createGraph=function(a,b){var e=new Graph(null,b,null,null,a);e.transparentBackground=!1;this.chromeless||(e.isBlankLink=function(a){return!this.isExternalProtocol(a)});return e}; Editor.prototype.resetGraph=function(){this.graph.gridEnabled=!this.isChromelessView()||"1"==urlParams.grid;this.graph.graphHandler.guidesEnabled=!0;this.graph.setTooltips(!0);this.graph.setConnectable(!0);this.graph.foldingEnabled=!0;this.graph.scrollbars=this.graph.defaultScrollbars;this.graph.pageVisible=this.graph.defaultPageVisible;this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;this.graph.background=this.graph.defaultGraphBackground; this.graph.pageScale=mxGraph.prototype.pageScale;this.graph.pageFormat=mxGraph.prototype.pageFormat;this.updateGraphComponents();this.graph.view.setScale(1)}; @@ -1982,14 +1982,14 @@ this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView")) Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(mxUtils.sortCells(this.graph.model.getTopmostCells(this.graph.getSelectionCells())));if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)a.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),a.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);a.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");a.setAttribute("gridSize", this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width); a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":"hidden",this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFilename=function(a){this.filename=a}; -Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(c,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),r=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&& +Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(d,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),r=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&& r.push(e[v]);a.setSelectionCells(r)};b.addListener(mxEvent.UNDO,e);b.addListener(mxEvent.REDO,e);return b};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)}; -function Dialog(a,b,e,c,k,l,p,r){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),t=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);c=Math.min(c,g-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& -(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";m+=h.x;t+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(m,t, -e,c);m=k.x;t=k.y;n.style.width=e+"px";n.style.height=c+"px";n.style.left=m+"px";n.style.top=t+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=t+14+"px",l.style.left=m+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click", -mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));t=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c= -Math.min(f,g-64);var q=this.getPosition(m,t,e,c);m=q.x;t=q.y;n.style.left=m+"px";n.style.top=t+"px";n.style.width=e+"px";n.style.height=c+"px";!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=t+14+"px",this.dialogImg.style.left=m+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=n;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +function Dialog(a,b,e,d,k,m,p,r){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;d+=v;var c=e,f=d,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),u=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),t=Math.max(1,Math.round((g-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);d=Math.min(d,g-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& +(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";u+=h.x;t+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(u,t, +e,d);u=k.x;t=k.y;n.style.width=e+"px";n.style.height=d+"px";n.style.left=u+"px";n.style.top=t+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=t+14+"px",m.style.left=u+e+38-v+"px",m.style.zIndex=this.zIndex,mxEvent.addListener(m,"click", +mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(m),this.dialogImg=m,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(c){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";u=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));t=Math.max(1,Math.round((g-d-a.footerHeight)/3));e=Math.min(c,document.body.scrollWidth-64);d= +Math.min(f,g-64);var l=this.getPosition(u,t,e,d);u=l.x;t=l.y;n.style.left=u+"px";n.style.top=t+"px";n.style.width=e+"px";n.style.height=d+"px";!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=t+14+"px",this.dialogImg.style.left=u+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=n;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -2000,115 +2000,115 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; var PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(a){var c=r.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,m=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,t=1/e.pageScale;if(c){var u=r.checked?1:parseInt(f.value);isNaN(u)||(t=mxUtils.getScaleForPageCount(u,e,m))}e.getGraphBounds();var k=u=0,m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*b);m.height=Math.ceil(m.height*b);t*=b;!c&&e.pageVisible?(b=e.getPageLayout(),u-=b.x*m.width,k-=b.y*m.height): -c=!0;c=PrintDialog.createPrintPreview(e,t,m,0,u,k,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var p=document.createElement("tbody");c=document.createElement("tr");var r=document.createElement("input");r.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(r);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage")); -k.appendChild(v);mxEvent.addListener(v,"click",function(a){r.checked=!r.checked;d.checked=!r.checked;mxEvent.consume(a)});mxEvent.addListener(r,"change",function(){d.checked=!r.checked});c.appendChild(k);p.appendChild(c);c=c.cloneNode(!1);var d=document.createElement("input");d.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(d);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v, -"click",function(a){d.checked=!d.checked;r.checked=!d.checked;mxEvent.consume(a)});c.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");c.appendChild(k);p.appendChild(c);mxEvent.addListener(d,"change", -function(){d.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");r.checked=!d.checked});c=c.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");c.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);c.appendChild(k);p.appendChild(c);c=document.createElement("tr");k=document.createElement("td");k.colSpan=2; -k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});m.className="geBtn";k.appendChild(m)}m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";k.appendChild(m);a.editor.cancelFirst|| -k.appendChild(v);c.appendChild(k);p.appendChild(c);l.appendChild(p);this.container=l};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}; -PrintDialog.createPrintPreview=function(a,b,e,c,k,l,p){b=new mxPrintPreview(a,b,e,c,k,l);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var r=b.writeHead;b.writeHead=function(a){r.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; +PrintDialog.prototype.create=function(a){function b(a){var d=r.checked||c.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,l=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,u=1/e.pageScale;if(d){var q=r.checked?1:parseInt(f.value);isNaN(q)||(u=mxUtils.getScaleForPageCount(q,e,l))}e.getGraphBounds();var t=q=0,l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*b);l.height=Math.ceil(l.height*b);u*=b;!d&&e.pageVisible?(b=e.getPageLayout(),q-=b.x*l.width,t-=b.y*l.height): +d=!0;d=PrintDialog.createPrintPreview(e,u,l,0,q,t,d);d.open();a&&PrintDialog.printPreview(d)}var e=a.editor.graph,d,k,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var p=document.createElement("tbody");d=document.createElement("tr");var r=document.createElement("input");r.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(r);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage")); +k.appendChild(v);mxEvent.addListener(v,"click",function(a){r.checked=!r.checked;c.checked=!r.checked;mxEvent.consume(a)});mxEvent.addListener(r,"change",function(){c.checked=!r.checked});d.appendChild(k);p.appendChild(d);d=d.cloneNode(!1);var c=document.createElement("input");c.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(c);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v, +"click",function(a){c.checked=!c.checked;r.checked=!c.checked;mxEvent.consume(a)});d.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");d.appendChild(k);p.appendChild(d);mxEvent.addListener(c,"change", +function(){c.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");r.checked=!c.checked});d=d.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");d.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);d.appendChild(k);p.appendChild(d);d=document.createElement("tr");k=document.createElement("td");k.colSpan=2; +k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var u=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});u.className="geBtn";k.appendChild(u)}u=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});u.className="geBtn gePrimaryBtn";k.appendChild(u);a.editor.cancelFirst|| +k.appendChild(v);d.appendChild(k);p.appendChild(d);m.appendChild(p);this.container=m};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}; +PrintDialog.createPrintPreview=function(a,b,e,d,k,m,p){b=new mxPrintPreview(a,b,e,d,k,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var r=b.writeHead;b.writeHead=function(a){r.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==t?(m.removeAttribute("title"),m.style.fontSize="",m.innerHTML=mxResources.get("change")+"..."):(m.setAttribute("title",t.src),m.style.fontSize="11px",m.innerHTML=t.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,p=document.createElement("table");p.style.width= -"100%";p.style.height="100%";var r=document.createElement("tbody");k=document.createElement("tr");l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("paperSize")+":");k.appendChild(l);l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(l,"pagesetupdialog",c.pageFormat);k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td"); -mxUtils.write(l,mxResources.get("background")+":");k.appendChild(l);l=document.createElement("td");l.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var d=document.createElement("button");d.style.width="18px";d.style.height="18px";d.style.marginRight="20px";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";var f=c.background;b();mxEvent.addListener(d,"click",function(d){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(d)}); -l.appendChild(d);mxUtils.write(l,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=c.getGridSize();l.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?c.getGridSize():a)});k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td");mxUtils.write(l,mxResources.get("image")+ -":");k.appendChild(l);l=document.createElement("td");var m=document.createElement("a");m.style.textDecoration="underline";m.style.cursor="pointer";m.style.color="#a0a0a0";var t=c.backgroundImage;mxEvent.addListener(m,"click",function(d){a.showBackgroundImageDialog(function(a){t=a;e()});mxEvent.consume(d)});e();l.appendChild(m);k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,t,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=t?t.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&& -d.ignoreColor&&d.ignoreImage||c.model.execute(d)});n.className="geBtn gePrimaryBtn";l.appendChild(n);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);r.appendChild(k);p.appendChild(r);this.container=p}; -PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&m!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],u?"custom"==c.key&&(r.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==c.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==c.format.width&& -e.height==c.format.height?(r.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(r.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,m.value=e.height/100,l.setAttribute("checked","checked"), -r.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var l=document.createElement("input");l.setAttribute("name",b);l.setAttribute("type","radio");l.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var r=document.createElement("select");r.style.marginBottom="8px";r.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px"; -v.style.height="24px";l.style.marginRight="6px";v.appendChild(l);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";v.appendChild(p);var d=document.createElement("span");d.style.width="100px";mxUtils.write(d,mxResources.get("landscape"));v.appendChild(d);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input"); -g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var m=document.createElement("input");m.setAttribute("size","7");m.style.textAlign="right";f.appendChild(m);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var t={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var q=h[n];t[q.key]=q;var w=document.createElement("option");w.setAttribute("value",q.key);mxUtils.write(w,q.title);r.appendChild(w)}var u=!1;k();a.appendChild(r);mxUtils.br(a); -a.appendChild(v);a.appendChild(f);var y=e,E=function(a,d){var b=t[r.value];null!=b.format?(g.value=b.format.width/100,m.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(m.value))&&(m.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(m.value)));"custom"!=r.value&&p.checked&&(b=new mxRectangle(0,0,b.height,b.width)); -d&&u||b.width==y.width&&b.height==y.height||(y=b,null!=c&&c(y))};mxEvent.addListener(b,"click",function(a){l.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){p.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",E);mxEvent.addListener(g,"click",E);mxEvent.addListener(m,"blur",E);mxEvent.addListener(m,"click",E);mxEvent.addListener(p,"change",E);mxEvent.addListener(l,"change",E);mxEvent.addListener(r,"change",function(a){u="custom"==r.value;E(a,!0)});E(); -return{set:function(a){e=a;k(null,null,!0)},get:function(){return y},widthInput:g,heightInput:m}}; +var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(c.style.backgroundColor="",c.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(c.style.backgroundColor=f,c.style.backgroundImage="")}function e(){null==t?(u.removeAttribute("title"),u.style.fontSize="",u.innerHTML=mxResources.get("change")+"..."):(u.setAttribute("title",t.src),u.style.fontSize="11px",u.innerHTML=t.src.substring(0,42)+"...")}var d=a.editor.graph,k,m,p=document.createElement("table");p.style.width= +"100%";p.style.height="100%";var r=document.createElement("tbody");k=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");k.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",d.pageFormat);k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td"); +mxUtils.write(m,mxResources.get("background")+":");k.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var c=document.createElement("button");c.style.width="18px";c.style.height="18px";c.style.marginRight="20px";c.style.backgroundPosition="center center";c.style.backgroundRepeat="no-repeat";var f=d.background;b();mxEvent.addListener(c,"click",function(c){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(c)}); +m.appendChild(c);mxUtils.write(m,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=d.getGridSize();m.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?d.getGridSize():a)});k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+ +":");k.appendChild(m);m=document.createElement("td");var u=document.createElement("a");u.style.textDecoration="underline";u.style.cursor="pointer";u.style.color="#a0a0a0";var t=d.backgroundImage;mxEvent.addListener(u,"click",function(c){a.showBackgroundImageDialog(function(a){t=a;e()});mxEvent.consume(c)});e();m.appendChild(u);k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var h= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&m.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.gridSize!==g.value&&d.setGridSize(parseInt(g.value));var c=new ChangePageSetup(a,f,t,v.get());c.ignoreColor=d.background==f;c.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=t?t.src:null);d.pageFormat.width==c.previousFormat.width&&d.pageFormat.height==c.previousFormat.height&& +c.ignoreColor&&c.ignoreImage||d.model.execute(c)});n.className="geBtn gePrimaryBtn";m.appendChild(n);a.editor.cancelFirst||m.appendChild(h);k.appendChild(m);r.appendChild(k);p.appendChild(r);this.container=p}; +PageSetupDialog.addPageFormatPanel=function(a,b,e,d){function k(a,c,d){if(d||g!=document.activeElement&&u!=document.activeElement){a=!1;for(c=0;c<h.length;c++)d=h[c],q?"custom"==d.key&&(r.value=d.key,q=!1):null!=d.format&&("a4"==d.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==d.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==d.format.width&& +e.height==d.format.height?(r.value=d.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==d.format.height&&e.height==d.format.width&&(r.value=d.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,u.value=e.height/100,m.setAttribute("checked","checked"), +r.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var r=document.createElement("select");r.style.marginBottom="8px";r.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px"; +v.style.height="24px";m.style.marginRight="6px";v.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";v.appendChild(p);var c=document.createElement("span");c.style.width="100px";mxUtils.write(c,mxResources.get("landscape"));v.appendChild(c);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input"); +g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var u=document.createElement("input");u.setAttribute("size","7");u.style.textAlign="right";f.appendChild(u);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var t={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var l=h[n];t[l.key]=l;var w=document.createElement("option");w.setAttribute("value",l.key);mxUtils.write(w,l.title);r.appendChild(w)}var q=!1;k();a.appendChild(r);mxUtils.br(a); +a.appendChild(v);a.appendChild(f);var y=e,D=function(a,c){var b=t[r.value];null!=b.format?(g.value=b.format.width/100,u.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(u.value))&&(u.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(u.value)));"custom"!=r.value&&p.checked&&(b=new mxRectangle(0,0,b.height,b.width)); +c&&q||b.width==y.width&&b.height==y.height||(y=b,null!=d&&d(y))};mxEvent.addListener(b,"click",function(a){m.checked=!0;D(a);mxEvent.consume(a)});mxEvent.addListener(c,"click",function(a){p.checked=!0;D(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",D);mxEvent.addListener(g,"click",D);mxEvent.addListener(u,"blur",D);mxEvent.addListener(u,"click",D);mxEvent.addListener(p,"change",D);mxEvent.addListener(m,"change",D);mxEvent.addListener(r,"change",function(a){q="custom"==r.value;D(a,!0)});D(); +return{set:function(a){e=a;k(null,null,!0)},get:function(){return y},widthInput:g,heightInput:u}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:"US-Tabloid (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)", format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var c=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=a.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(c),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= -mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),d.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(d){a.dblClick(d)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d))}), -mxUtils.bind(this,function(d){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(d)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=c,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= -null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,c=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,d=null!=c&&this.gridColor!=c.toLowerCase()?this.gridColor:"#ffffff",b="none",g="";if(a.isGridEnabled()){g=10;mxClient.IS_SVG?(b=unescape(encodeURIComponent(this.createSvgGrid(d))),b=window.btoa?btoa(b):Base64.encode(b,!0),b="url(data:image/svg+xml;base64,"+b+")",g=a.gridSize*this.scale*this.gridSteps): -b="url("+this.gridImage+")";var e=d=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),d=1+e.x,e=1+e.y);g=-Math.round(g-mxUtils.mod(this.translate.x*this.scale-d,g))+"px "+-Math.round(g-mxUtils.mod(this.translate.y*this.scale-e,g))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=g,a.view.backgroundPageShape.node.style.backgroundImage=b,a.view.backgroundPageShape.node.style.backgroundColor= -c,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=g,d.style.backgroundColor=c,d.style.backgroundImage=b)};mxGraphView.prototype.createSvgGrid=function(a){for(var c=this.graph.gridSize*this.scale;c<this.minGridSize;)c*=2;for(var d=this.gridSteps*c,b=[],g=1;g<this.gridSteps;g++){var e=g*c;b.push("M 0 "+e+" L "+d+" "+e+" M "+e+" 0 L "+e+" "+d)}return'<svg width="'+ -d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+b.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+d+" 0 L 0 0 0 "+d+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(c,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= -this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,t=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var n= -new mxRectangle(b*g.x,b*g.y,e.width*t,e.height*t),q=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(d/n.height)-1:0,w=a?Math.ceil(c/n.width)-1:0,u=h.x+c,k=h.y+d;null==this.horizontalPageBreaks&&0<q&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?q:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*n.height)), -new mxPoint(Math.round(u),Math.round(h.y+(c+1)*n.height))]:[new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(k))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; -var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,d){for(var f=0;f<c.length;f++)if(this.graph.getModel().isVertex(c[f])){var g=this.graph.getCellGeometry(c[f]);if(null!=g&&g.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(c,d){return this.isConnecting()? -!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),c=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,c)/e),t=Math.floor(Math.min(0, -d)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+t*b),this.scale*(Math.ceil(Math.max(1,c+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/b)-t)*b)};var c=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){c.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= -a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var k=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,c,d,b,g,e){var f=k.apply(this,arguments);null==e||e||mxEvent.addListener(f,"mousedown",function(a){mxEvent.consume(a)});return f};var l=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var c=this.graph.getModel(),d=c.getParent(this.graph.getSelectionCell()),b=l.apply(this,arguments),g=c.getParent(b); -if(null==d||d!=b&&d!=g)for(;!this.graph.isCellSelected(b)&&!this.graph.isCellSelected(g)&&c.isVertex(g)&&!this.graph.isContainer(g);)b=g,g=this.graph.getModel().getParent(b);return b};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,c){var d=p.apply(this,arguments);if(!d)for(var b=this.graph.getModel(),g=b.getParent(a);null!=g;){if(this.graph.isCellSelected(g)&&b.isVertex(g)){d=!0;break}g=b.getParent(g)}return d};mxGraphHandler.prototype.selectDelayed= -function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var c=a.getCell();null==c&&(c=this.cell);var d=this.graph.view.getState(c);if(null==d||!a.isSource(d.control))for(var d=this.graph.getModel(),b=d.getParent(c);!this.graph.isCellSelected(b)&&d.isVertex(b);)c=b,b=d.getParent(c);this.graph.selectCellForEvent(c,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var c=this.graph.getModel(),d=c.getParent(a);c.isVertex(d)&&!this.graph.isContainer(d);)this.graph.isCellSelected(d)&& -(a=d),d=c.getParent(d);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var c=this.editor.graph;c.lightbox=e;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); -this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,c.isEnabled=function(){return!1},c.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||c.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= -k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k));!this.editor.chromeless||this.editor.editable?(b=function(a){var d=mxEvent.getSource(a); -if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNode}return k(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):c.panningHandler.usePopupTrigger=!1;c.init(this.diagramContainer);mxClient.IS_SVG&&null!=c.view.getDrawPane()&&(b=c.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); -mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var d=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-d.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-d.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var l=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,d){return l||p.apply(this,arguments)};this.keydownHandler= -mxUtils.bind(this,function(a){32==a.which?(l=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";l=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var r=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent= -function(a){return r.apply(this,arguments)||l||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return v.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; -var d=!1,f=null,g=null,m=null,t=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==m)this.toolbar.createTextToolbar();else{for(var h=0;h<m.length;h++)this.toolbar.container.appendChild(m[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu= -g}d=c.cellEditor.isContentEditing();f=a;g=e;m=b}}),h=this,n=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){n.apply(this,arguments);t();if(c.cellEditor.isContentEditing()){var a=!1,d=function(){a||(a=!0,window.setTimeout(function(){for(var d=c.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;if(null!=d&&(d=mxUtils.getCurrentStyle(d),null!=d&&null!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b= -b.substring(0,b.length-1));h.toolbar.setFontName(b);h.toolbar.setFontSize(parseInt(d.fontSize))}a=!1},0))};mxEvent.addListener(c.cellEditor.textarea,"input",d);mxEvent.addListener(c.cellEditor.textarea,"touchend",d);mxEvent.addListener(c.cellEditor.textarea,"mouseup",d);mxEvent.addListener(c.cellEditor.textarea,"keyup",d);d()}};var q=c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a,d){q.apply(this,arguments);t()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default"; -if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(x){}var w=c.fireMouseEvent;c.fireMouseEvent=function(a,d,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,d,c){this.menus.createPopupMenu(a,d,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); -this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],f=[],g;for(g in d.style)a[g]!=d.style[g]&&(b.push(d.style[g]),f.push(g));g=c.getModel().getStyle(d.cell);for(var e=null!=g?g.split(";"):[],m=0;m<e.length;m++){var h=e[m], -q=h.indexOf("=");0<=q&&(g=h.substring(0,q),h=h.substring(q+1),null!=a[g]&&"none"==h&&(b.push(h),f.push(g)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var E= -["fontFamily","fontSize","fontColor"],z="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],E,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)u.push(G[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(u,y[a])&&u.push(y[a]);var C=function(a,d){var b=c.getModel(); -b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var m=g[f[e]];null!=m&&c.setCellStyles(f[e],m,a)}else for(m=0;m<a.length;m++){for(var h=a[m],q=b.getStyle(h),n=null!=q?q.split(";"):[],t=u.slice(),e=0;e<n.length;e++){var w=n[e],k=w.indexOf("=");if(0<=k){var z=w.substring(0,k),r=mxUtils.indexOf(t,z);0<=r&&t.splice(r,1);for(var p=0;p<G.length;p++){var x=G[p];if(0<=mxUtils.indexOf(x,z))for(var E=0;E< -x.length;E++){var l=mxUtils.indexOf(t,x[E]);0<=l&&t.splice(l,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<t.length;e++){var z=t[e],H=g[z];null==H||"shape"==z&&!f||f&&!(0>mxUtils.indexOf(y,z))||(v=mxUtils.setStyle(v,z,H))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){C(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){C(d.getProperty("cells"),!0)});c.connectionHandler.addListener(mxEvent.CONNECT, -function(a,d){var b=[d.getProperty("cell")];d.getProperty("terminalInserted")&&b.push(d.getProperty("terminal"));C(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),m=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(E,b[e]);if("strokeColor"!=b[e]||null!=m[e]&&"none"!= -m[e])if(0<=mxUtils.indexOf(y,b[e]))g||0<=mxUtils.indexOf(z,b[e])?null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]:f&&0<=mxUtils.indexOf(u,b[e])&&(null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e]);else if(0<=mxUtils.indexOf(u,b[e])){if(f||h)null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e];if(g||h||0<=mxUtils.indexOf(z,b[e]))null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily|| -Menus.prototype.defaultFont),this.toolbar.setFontSize(c.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==c.currentEdgeStyle.edgeStyle&&"1"==c.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==c.currentEdgeStyle.edgeStyle||"none"==c.currentEdgeStyle.edgeStyle||null==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== -c.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==c.currentEdgeStyle.shape? -"geSprite geSprite-linkedge":"flexArrow"==c.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==c.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(c.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= -this.getCssClassForMarker("end",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(c.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=c.currentVertexStyle.fontFamily||"Helvetica",d=String(c.currentVertexStyle.fontSize||"12"),b=c.getView().getState(c.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,d=b.style[mxConstants.STYLE_FONTSIZE]||d,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a); -this.toolbar.setFontSize(d)}),c.getSelectionModel().addListener(mxEvent.CHANGE,a),c.getModel().addListener(mxEvent.CHANGE,a));c.addListener(mxEvent.CELLS_ADDED,function(a,d){var b=d.getProperty("cells"),f=d.getProperty("parent");c.getModel().isLayer(f)&&!c.isCellVisible(f)&&null!=b&&0<b.length&&c.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document, +(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var d=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var c=a.container.firstChild;null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.nextSibling;null!=c&&(this.backgroundPageShape=this.createBackgroundPageShape(d),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= +mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),c.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,c),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(c){a.dblClick(c)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c))}), +mxUtils.bind(this,function(c){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(c)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(c))}),mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(c))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=d,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= +null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,d=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,c=null!=d&&this.gridColor!=d.toLowerCase()?this.gridColor:"#ffffff",f="none",b="";if(a.isGridEnabled()){b=10;mxClient.IS_SVG?(f=unescape(encodeURIComponent(this.createSvgGrid(c))),f=window.btoa?btoa(f):Base64.encode(f,!0),f="url(data:image/svg+xml;base64,"+f+")",b=a.gridSize*this.scale*this.gridSteps): +f="url("+this.gridImage+")";var e=c=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),c=1+e.x,e=1+e.y);b=-Math.round(b-mxUtils.mod(this.translate.x*this.scale-c,b))+"px "+-Math.round(b-mxUtils.mod(this.translate.y*this.scale-e,b))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=b,a.view.backgroundPageShape.node.style.backgroundImage=f,a.view.backgroundPageShape.node.style.backgroundColor= +d,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=b,c.style.backgroundColor=d,c.style.backgroundImage=f)};mxGraphView.prototype.createSvgGrid=function(a){for(var d=this.graph.gridSize*this.scale;d<this.minGridSize;)d*=2;for(var c=this.gridSteps*d,b=[],g=1;g<this.gridSteps;g++){var e=g*d;b.push("M 0 "+e+" L "+c+" "+e+" M "+e+" 0 L "+e+" "+c)}return'<svg width="'+ +c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+b.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(d,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var c= +this.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+d,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";c.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,d,c){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,t=b*this.pageScale,h=this.view.getBackgroundPageBounds();d=h.width;c=h.height;var n= +new mxRectangle(b*g.x,b*g.y,e.width*t,e.height*t),l=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(c/n.height)-1:0,w=a?Math.ceil(d/n.width)-1:0,q=h.x+d,r=h.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var c=a==this.horizontalPageBreaks?l:w,d=0;d<=c;d++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(d+1)*n.height)), +new mxPoint(Math.round(q),Math.round(h.y+(d+1)*n.height))]:[new mxPoint(Math.round(h.x+(d+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(d+1)*n.width),Math.round(r))];null!=a[d]?(a[d].points=b,a[d].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[d]=b)}for(d=c;d<a.length;d++)a[d].destroy();a.splice(c,a.length-c)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; +var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,d,c){for(var f=0;f<d.length;f++)if(this.graph.getModel().isVertex(d[f])){var g=this.graph.getCellGeometry(d[f]);if(null!=g&&g.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(d,c){return this.isConnecting()? +!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),d=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,d)/e),t=Math.floor(Math.min(0, +c)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+t*b),this.scale*(Math.ceil(Math.max(1,d+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/b)-t)*b)};var d=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){d.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= +a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var k=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,d,c,b,g,e){var f=k.apply(this,arguments);null==e||e||mxEvent.addListener(f,"mousedown",function(a){mxEvent.consume(a)});return f};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var d=this.graph.getModel(),c=d.getParent(this.graph.getSelectionCell()),b=m.apply(this,arguments),g=d.getParent(b); +if(null==c||c!=b&&c!=g)for(;!this.graph.isCellSelected(b)&&!this.graph.isCellSelected(g)&&d.isVertex(g)&&!this.graph.isContainer(g);)b=g,g=this.graph.getModel().getParent(b);return b};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,d){var c=p.apply(this,arguments);if(!c)for(var b=this.graph.getModel(),g=b.getParent(a);null!=g;){if(this.graph.isCellSelected(g)&&b.isVertex(g)){c=!0;break}g=b.getParent(g)}return c};mxGraphHandler.prototype.selectDelayed= +function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var d=a.getCell();null==d&&(d=this.cell);var c=this.graph.view.getState(d);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),b=c.getParent(d);!this.graph.isCellSelected(b)&&c.isVertex(b);)d=b,b=c.getParent(d);this.graph.selectCellForEvent(d,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var d=this.graph.getModel(),c=d.getParent(a);d.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&& +(a=c),c=d.getParent(c);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var d=this.editor.graph;d.lightbox=e;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); +this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,d.isEnabled=function(){return!1},d.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||d.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= +k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k));!this.editor.chromeless||this.editor.editable?(b=function(a){var c=mxEvent.getSource(a); +if("A"==c.nodeName)for(;null!=c;){if("geHint"==c.className)return!0;c=c.parentNode}return k(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):d.panningHandler.usePopupTrigger=!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(b=d.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); +mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var c=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-c.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-c.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,c){return m||p.apply(this,arguments)};this.keydownHandler= +mxUtils.bind(this,function(a){32==a.which?(m=!0,this.hoverIcons.reset(),d.container.style.cursor="move",d.isEditing()||mxEvent.getSource(a)!=d.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){d.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var r=d.panningHandler.isForcePanningEvent;d.panningHandler.isForcePanningEvent= +function(a){return r.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=d.cellEditor.isStopEditingEvent;d.cellEditor.isStopEditingEvent=function(a){return v.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; +var c=!1,f=null,g=null,u=null,t=mxUtils.bind(this,function(){if(null!=this.toolbar&&c!=d.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==u)this.toolbar.createTextToolbar();else{for(var l=0;l<u.length;l++)this.toolbar.container.appendChild(u[l]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu= +g}c=d.cellEditor.isContentEditing();f=a;g=e;u=b}}),h=this,n=d.cellEditor.startEditing;d.cellEditor.startEditing=function(){n.apply(this,arguments);t();if(d.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=h.toolbar)){var b=c.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b= +b.substring(0,b.length-1));h.toolbar.setFontName(b);h.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",c);mxEvent.addListener(d.cellEditor.textarea,"touchend",c);mxEvent.addListener(d.cellEditor.textarea,"mouseup",c);mxEvent.addListener(d.cellEditor.textarea,"keyup",c);c()}};var l=d.cellEditor.stopEditing;d.cellEditor.stopEditing=function(a,c){l.apply(this,arguments);t()};d.container.setAttribute("tabindex","0");d.container.style.cursor="default"; +if(window.self===window.top&&null!=d.container.parentNode)try{d.container.focus()}catch(x){}var w=d.fireMouseEvent;d.fireMouseEvent=function(a,c,d){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,c,d){this.menus.createPopupMenu(a,c,d)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); +this.getKeyHandler=function(){return keyHandler};var q="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=d.view.getState(a);if(null!=c){a=a.clone();a.style="";a=d.getCellStyle(a);var b=[],f=[],g;for(g in c.style)a[g]!=c.style[g]&&(b.push(c.style[g]),f.push(g));g=d.getModel().getStyle(c.cell);for(var e=null!=g?g.split(";"):[],l=0;l<e.length;l++){var u=e[l], +h=u.indexOf("=");0<=h&&(g=u.substring(0,h),u=u.substring(h+1),null!=a[g]&&"none"==u&&(b.push(u),f.push(g)))}d.getModel().isEdge(c.cell)?d.currentEdgeStyle={}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[c.cell]))}};this.clearDefaultStyle=function(){d.currentEdgeStyle=mxUtils.clone(d.defaultEdgeStyle);d.currentVertexStyle=mxUtils.clone(d.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var D= +["fontFamily","fontSize","fontColor"],z="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],D,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)q.push(G[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(q,y[a])&&q.push(y[a]);var E=function(a,c){var b=d.getModel(); +b.beginUpdate();try{if(c)for(var f=b.isEdge(u),g=f?d.currentEdgeStyle:d.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var l=g[f[e]];null!=l&&d.setCellStyles(f[e],l,a)}else for(l=0;l<a.length;l++){for(var u=a[l],h=b.getStyle(u),n=null!=h?h.split(";"):[],t=q.slice(),e=0;e<n.length;e++){var w=n[e],z=w.indexOf("=");if(0<=z){var k=w.substring(0,z),r=mxUtils.indexOf(t,k);0<=r&&t.splice(r,1);for(var D=0;D<G.length;D++){var p=G[D];if(0<=mxUtils.indexOf(p,k))for(var x=0;x< +p.length;x++){var m=mxUtils.indexOf(t,p[x]);0<=m&&t.splice(m,1)}}}}for(var g=(f=b.isEdge(u))?d.currentEdgeStyle:d.currentVertexStyle,v=b.getStyle(u),e=0;e<t.length;e++){var k=t[e],J=g[k];null==J||"shape"==k&&!f||f&&!(0>mxUtils.indexOf(y,k))||(v=mxUtils.setStyle(v,k,J))}b.setStyle(u,v)}}finally{b.endUpdate()}};d.addListener("cellsInserted",function(a,c){E(c.getProperty("cells"))});d.addListener("textInserted",function(a,c){E(c.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT, +function(a,c){var d=[c.getProperty("cell")];c.getProperty("terminalInserted")&&d.push(c.getProperty("terminal"));E(d)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var b=c.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=d.getModel().isVertex(b[e])||f,!(g=d.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=c.getProperty("keys"),l=c.getProperty("values"),e=0;e<b.length;e++){var u=0<=mxUtils.indexOf(D,b[e]);if("strokeColor"!=b[e]||null!=l[e]&&"none"!= +l[e])if(0<=mxUtils.indexOf(y,b[e]))g||0<=mxUtils.indexOf(z,b[e])?null==l[e]?delete d.currentEdgeStyle[b[e]]:d.currentEdgeStyle[b[e]]=l[e]:f&&0<=mxUtils.indexOf(q,b[e])&&(null==l[e]?delete d.currentVertexStyle[b[e]]:d.currentVertexStyle[b[e]]=l[e]);else if(0<=mxUtils.indexOf(q,b[e])){if(f||u)null==l[e]?delete d.currentVertexStyle[b[e]]:d.currentVertexStyle[b[e]]=l[e];if(g||u||0<=mxUtils.indexOf(z,b[e]))null==l[e]?delete d.currentEdgeStyle[b[e]]:d.currentEdgeStyle[b[e]]=l[e]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily|| +Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==d.currentEdgeStyle.edgeStyle||"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== +d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==d.currentEdgeStyle.shape? +"geSprite geSprite-linkedge":"flexArrow"==d.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==d.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(d.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= +this.getCssClassForMarker("end",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(d.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=d.currentVertexStyle.fontFamily||"Helvetica",c=String(d.currentVertexStyle.fontSize||"12"),b=d.getView().getState(d.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,c=b.style[mxConstants.STYLE_FONTSIZE]||c,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a); +this.toolbar.setFontSize(c)}),d.getSelectionModel().addListener(mxEvent.CHANGE,a),d.getModel().addListener(mxEvent.CHANGE,a));d.addListener(mxEvent.CELLS_ADDED,function(a,c){var b=c.getProperty("cells"),f=c.getProperty("parent");d.getModel().isLayer(f)&&!d.isCellVisible(f)&&null!=b&&0<b.length&&d.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document, this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){null!=this.editor.graph&&this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()});mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window, -"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));c.addListener("gridSizeChanged",mxUtils.bind(this,function(){c.isGridEnabled()&&c.view.validateBackground()}));this.editor.resetGraph();this.init();this.open()}; +"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));d.addListener("gridSizeChanged",mxUtils.bind(this,function(){d.isGridEnabled()&&d.view.validateBackground()}));this.editor.resetGraph();this.init();this.open()}; mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=34;EditorUi.prototype.footerHeight=28;EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.editButtonLink=null;EditorUi.prototype.hsplitPosition=640>=screen.width?118:208;EditorUi.prototype.allowAnimation=!0; EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4; EditorUi.prototype.init=function(){var a=this.editor.graph;mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()})); var b=a.setDefaultParent,e=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);e.updateActionStates()};a.editLink=e.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; EditorUi.prototype.onKeyPress=function(a){var b=this.editor.graph;!this.isImmediateEditingEvent(a)||b.isEditing()||b.isSelectionEmpty()||0===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(b.escape(),b.startEditing(),mxClient.IS_FF&&(b=b.cellEditor,b.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(b.textarea),a.collapse(!1),b=window.getSelection(),b.removeAllRanges(),b.addRange(a)))}; EditorUi.prototype.isImmediateEditingEvent=function(a){return!0}; -EditorUi.prototype.getCssClassForMarker=function(a,b,e,c){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==c?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==c?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ -a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==c?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==c?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==c?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==c?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==c?"geSprite geSprite-"+a+"thindiamond": -"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==c?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==c||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ +EditorUi.prototype.getCssClassForMarker=function(a,b,e,d){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ +a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond": +"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==d||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ a+"ermany":"ERoneToMany"==e?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==e?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==e?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null}; EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),e=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));e.setEnabled(b.isEnabled())}; -EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(c){c.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var c=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste", -!1,null):e=c.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);a.updatePasteActionStates()};var l=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){l.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; -EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),d=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*d.width),this.scale*(this.translate.y+a.y*d.height),this.scale*a.width*d.width, -this.scale*a.height*d.height)};a.getPreferredPageSize=function(a,d,b){a=this.getPageLayout();d=this.getPageSize();return new mxRectangle(0,0,a.width*d.width,a.height*d.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(d,b,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),m=a.view.translate,h=a.view.scale,q=mxRectangle.fromRectangle(g); -q.x=q.x/h-m.x;q.y=q.y/h-m.y;q.width/=h;q.height/=h;var m=a.container.scrollTop,n=a.container.scrollLeft,u=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)u+=3;var t=a.container.offsetWidth-u,u=a.container.offsetHeight-u;d=d?Math.max(.3,Math.min(b||1,t/q.width)):h;b=(t-d*q.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(u-d*q.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<u)a.view.scaleAndTranslate(d, -Math.floor(b-q.x),Math.floor(w-q.y)),a.container.scrollTop=m*d/h,a.container.scrollLeft=n*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var c=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",c);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",c)});this.editor.addListener("resetGraphView", -mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(d){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(d){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= -"nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var d=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=d?parseInt(d["margin-bottom"]|| -0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",k);k();var l=0,k=mxUtils.bind(this,function(a,d,b){l++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,"click",a);null!=b&&c.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c); -return c}),p=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),r=document.createElement("div");r.style.display="inline-block";r.style.verticalAlign="top";r.style.fontFamily="Helvetica,Arial";r.style.marginTop="8px";r.style.color="#ffffff";this.chromelessToolbar.appendChild(r);var v=k(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), -d=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(r.innerHTML="",mxUtils.write(r,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});p.style.paddingLeft="0px";p.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",p.style.display="",r.style.display="inline-block"):(v.style.display="none",p.style.display= -"none",r.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(d){a.isLightboxView()?(1==a.view.scale? -this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,m=null,t=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;m=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";m= -null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(mxUtils.bind(this,function(d){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, +EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(d){d.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var d=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste", +!1,null):e=d.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);a.updatePasteActionStates()};var m=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,d){m.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; +EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),c=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*c.width),this.scale*(this.translate.y+a.y*c.height),this.scale*a.width*c.width, +this.scale*a.height*c.height)};a.getPreferredPageSize=function(a,c,b){a=this.getPageLayout();c=this.getPageSize();return new mxRectangle(0,0,a.width*c.width,a.height*c.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(c,b,d,f){if(null!=a.container){d=null!=d?d:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),l=a.view.translate,u=a.view.scale,h=mxRectangle.fromRectangle(g); +h.x=h.x/u-l.x;h.y=h.y/u-l.y;h.width/=u;h.height/=u;var l=a.container.scrollTop,n=a.container.scrollLeft,q=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)q+=3;var t=a.container.offsetWidth-q,q=a.container.offsetHeight-q;c=c?Math.max(.3,Math.min(b||1,t/h.width)):u;b=(t-c*h.width)/2/c;var w=0==this.lightboxVerticalDivider?0:(q-c*h.height)/this.lightboxVerticalDivider/c;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<q)a.view.scaleAndTranslate(c, +Math.floor(b-h.x),Math.floor(w-h.y)),a.container.scrollTop=l*c/u,a.container.scrollLeft=n*c/u;else if(0!=d||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+d/u),Math.floor(g.y+f/u))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var d=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",d);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",d)});this.editor.addListener("resetGraphView", +mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(c){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(c){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= +"nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var c=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=c?parseInt(c["margin-bottom"]|| +0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",k);k();var m=0,k=mxUtils.bind(this,function(a,c,b){m++;var d=document.createElement("span");d.style.paddingLeft="8px";d.style.paddingRight="8px";d.style.cursor="pointer";mxEvent.addListener(d,"click",a);null!=b&&d.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",c);d.appendChild(a);this.chromelessToolbar.appendChild(d); +return d}),p=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),r=document.createElement("div");r.style.display="inline-block";r.style.verticalAlign="top";r.style.fontFamily="Helvetica,Arial";r.style.marginTop="8px";r.style.color="#ffffff";this.chromelessToolbar.appendChild(r);var v=k(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), +c=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(r.innerHTML="",mxUtils.write(r,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});p.style.paddingLeft="0px";p.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",p.style.display="",r.style.display="inline-block"):(v.style.display="none",p.style.display= +"none",r.style.display="none");c()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",c);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(c){a.isLightboxView()?(1==a.view.scale? +this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(c)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,u=null,t=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=u&&(window.clearTimeout(u),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;u=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";u= +null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=u&&(window.clearTimeout(u),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(mxUtils.bind(this,function(c){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, "mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var b=n.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; -mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(d)}),Editor.layersLargeImage,mxResources.get("layers")),q=a.getModel();q.addListener(mxEvent.CHANGE,function(){n.style.display=1<q.getChildCount(q.root)? -"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(d){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, +mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(c)}),Editor.layersLargeImage,mxResources.get("layers")),l=a.getModel();l.addListener(mxEvent.CHANGE,function(){n.style.display=1<l.getChildCount(l.root)? +"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(c){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(c)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||h(30),t())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); -mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX= -b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,d){},mouseUp:function(d,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-b.getGraphX())<w&&Math.abs(this.startY-b.getGraphY())<w&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?t():h(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= -a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),d=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*d.width;this.translate.y=a.y-(this.y0||0)*d.height}u.apply(this,arguments)};var y=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var d=this.getPageLayout(),b=this.getPagePadding(),c=this.getPageSize(),f=Math.ceil(2*b.x+d.width* -c.width),g=Math.ceil(2*b.y+d.height*c.height),e=a.minimumGraphSize;if(null==e||e.width!=f||e.height!=g)a.minimumGraphSize=new mxRectangle(0,0,f,g);f=b.x-d.x*c.width;b=b.y-d.y*c.height;this.autoTranslate||this.view.translate.x==f&&this.view.translate.y==b?y.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=d.x,this.view.y0=d.y,d=a.view.translate.x,c=a.view.translate.y,a.view.setTranslate(f,b),a.container.scrollLeft+=Math.round((f-d)*a.view.scale),a.container.scrollTop+=Math.round((b-c)*a.view.scale), -this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var E=null;a.lazyZoom=function(d){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);d?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= -(this.view.scale-.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){var d=mxUtils.getOffset(a.container),c=0,f=0;null!=E&&(c=a.container.offsetWidth/2-E.x+d.x,f=a.container.offsetHeight/2-E.y+d.y);d=this.view.scale; -this.zoom(this.cumulativeZoomFactor);this.view.scale!=d&&(null!=b&&e.chromelessResize(!1,null,c*(this.cumulativeZoomFactor-1),f*(this.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==c&&0==f||(a.container.scrollLeft-=c*(this.cumulativeZoomFactor-1),a.container.scrollTop-=f*(this.cumulativeZoomFactor-1)));this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),this.lazyZoomDelay)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(d,b){if((null==this.dialogs||0==this.dialogs.length)&& -a.isZoomWheelEvent(d))for(var c=mxEvent.getSource(d);null!=c;){if(c==a.container){E=new mxPoint(mxEvent.getClientX(d),mxEvent.getClientY(d));a.lazyZoom(b);mxEvent.consume(d);break}c=c.parentNode}}))};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; +mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(c,b){this.startX= +b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,c){},mouseUp:function(c,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-b.getGraphX())<w&&Math.abs(this.startY-b.getGraphY())<w&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?t():h(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var q= +a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),c=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*c.width;this.translate.y=a.y-(this.y0||0)*c.height}q.apply(this,arguments)};var y=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var c=this.getPageLayout(),b=this.getPagePadding(),d=this.getPageSize(),f=Math.ceil(2*b.x+c.width* +d.width),g=Math.ceil(2*b.y+c.height*d.height),e=a.minimumGraphSize;if(null==e||e.width!=f||e.height!=g)a.minimumGraphSize=new mxRectangle(0,0,f,g);f=b.x-c.x*d.width;b=b.y-c.y*d.height;this.autoTranslate||this.view.translate.x==f&&this.view.translate.y==b?y.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=c.x,this.view.y0=c.y,c=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(f,b),a.container.scrollLeft+=Math.round((f-c)*a.view.scale),a.container.scrollTop+=Math.round((b-d)*a.view.scale), +this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var D=null;a.lazyZoom=function(c){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);c?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= +(this.view.scale-.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){var c=mxUtils.getOffset(a.container),d=0,f=0;null!=D&&(d=a.container.offsetWidth/2-D.x+c.x,f=a.container.offsetHeight/2-D.y+c.y);c=this.view.scale; +this.zoom(this.cumulativeZoomFactor);this.view.scale!=c&&(null!=b&&e.chromelessResize(!1,null,d*(this.cumulativeZoomFactor-1),f*(this.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==d&&0==f||(a.container.scrollLeft-=d*(this.cumulativeZoomFactor-1),a.container.scrollTop-=f*(this.cumulativeZoomFactor-1)));this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),this.lazyZoomDelay)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(c,b){if((null==this.dialogs||0==this.dialogs.length)&& +a.isZoomWheelEvent(c))for(var d=mxEvent.getSource(c);null!=d;){if(d==a.container){D=new mxPoint(mxEvent.getClientX(c),mxEvent.getClientY(c));a.lazyZoom(b);mxEvent.consume(c);break}d=d.parentNode}}))};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return a}; EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0<a.length&&(a="#"+a);this.editor.graph.addClickHandler(a)};EditorUi.prototype.toggleFormatPanel=function(a){this.formatWidth=a||0<this.formatWidth?0:240;this.formatContainer.style.display=a||0<this.formatWidth?"":"none";this.refresh();this.format.refresh();this.fireEvent(new mxEventObject("formatWidthChanged"))}; EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var b=urlParams.border,e=60;null!=b&&(e=parseInt(b));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(e,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))}; EditorUi.prototype.isSelectionAllowed=function(a){return"SELECT"==mxEvent.getSource(a).nodeName||"INPUT"==mxEvent.getSource(a).nodeName&&mxUtils.isAncestorNode(this.formatContainer,mxEvent.getSource(a))};EditorUi.prototype.addBeforeUnloadListener=function(){window.onbeforeunload=mxUtils.bind(this,function(){if(!this.editor.isChromelessView())return this.onBeforeUnload()})};EditorUi.prototype.onBeforeUnload=function(){if(this.editor.modified)return mxResources.get("allChangesLost")}; -EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+c.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); +EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+d.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.setCurrentMenu=function(a,b){this.currentMenuElt=b;this.currentMenu=a};EditorUi.prototype.resetCurrentMenu=function(){this.currentMenu=this.currentMenuElt=null};EditorUi.prototype.hideCurrentMenu=function(){null!=this.currentMenu&&(this.currentMenu.hideMenu(),this.resetCurrentMenu())}; EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}}; EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var b=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);b==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(e){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()}; @@ -2119,26 +2119,26 @@ EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(!this.e 1;b=a.getGraphBounds();0<b.width&&0<b.height&&(b.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),e=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height, a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-e)/2)))}else a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight- b.height)/4))-b.y)))}; -EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,k=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-c,b.container.scrollTop=b.view.translate.y* -b.view.scale-k);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,c){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=c;this.ignoreImage=this.ignoreColor=!1} +EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),d=0,k=0;e&&(d=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-d,b.container.scrollTop=b.view.translate.y* +b.view.scale-k);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,d){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=d;this.ignoreImage=this.ignoreColor=!1} ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var b=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=b}this.ignoreImage||(this.image=this.previousImage,b=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=b);null!=this.previousFormat&&(this.format=this.previousFormat,b=a.pageFormat,this.previousFormat.width!=b.width||this.previousFormat.height!=b.height)&&(this.ui.setPageFormat(this.previousFormat), -this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);return c};mxCodecRegistry.register(a)})(); +this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);return d};mxCodecRegistry.register(a)})(); EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))}; EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))}; EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; -EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,c=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,c);e.addListener(mxEvent.UNDO,c);e.addListener(mxEvent.REDO,c);e.addListener(mxEvent.CLEAR,c);var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);c()};var l=this.editor.graph.cellEditor.stopEditing; -this.editor.graph.cellEditor.stopEditing=function(a,b){l.apply(this,arguments);c()};c()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,c=!1,k=a.getSelectionCells();if(null!=k)for(var l=0;l<k.length;l++){var p=k[l];a.getModel().isEdge(p)&&(c=!0);a.getModel().isVertex(p)&&(e=!0);if(c&&e)break}k="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(l= -0;l<k.length;l++)this.actions.get(k[l]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(c);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);c=e&&1==a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()|| -c&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||c&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(c&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot);this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())|| -0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b);this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1== -a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&&e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount()); -this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()}; -EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,c=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,c=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var k=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& -(k=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var l=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var r=0;if(null!=this.sidebarFooterContainer){var v= -this.footerHeight+k,r=Math.max(0,Math.min(c-p-v,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=l+"px";this.sidebarFooterContainer.style.height=r+"px";this.sidebarFooterContainer.style.bottom=v+"px"}v=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=l+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=v+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= -null!=this.hsplit.parentNode?l+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+k+"px";this.hsplit.style.left=l+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);b?(this.menubarContainer.style.width=e+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, -b=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-r+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-l-this.splitSize-v)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,r=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= +EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,d);e.addListener(mxEvent.UNDO,d);e.addListener(mxEvent.REDO,d);e.addListener(mxEvent.CLEAR,d);var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);d()};var m=this.editor.graph.cellEditor.stopEditing; +this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);d()};d()}; +EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,d=!1,k=a.getSelectionCells();if(null!=k)for(var m=0;m<k.length;m++){var p=k[m];a.getModel().isEdge(p)&&(d=!0);a.getModel().isVertex(p)&&(e=!0);if(d&&e)break}k="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m= +0;m<k.length;m++)this.actions.get(k[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(d);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);d=e&&1== +a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||d&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||d&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(d&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot); +this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b); +this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&& +e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()}; +EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,d=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,d=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var k=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& +(k=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var r=0;if(null!=this.sidebarFooterContainer){var v= +this.footerHeight+k,r=Math.max(0,Math.min(d-p-v,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=r+"px";this.sidebarFooterContainer.style.bottom=v+"px"}v=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=v+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= +null!=this.hsplit.parentNode?m+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+k+"px";this.hsplit.style.left=m+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);b?(this.menubarContainer.style.width=e+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, +b=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-r+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-m-this.splitSize-v)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,r=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= this.footerHeight+k+"px",r-=this.tabContainer.clientHeight),this.diagramContainer.style.height=r+"px",this.hsplit.style.height=r+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=k+"px"),this.diagramContainer.style.right=v+"px",e=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+k+"px",this.tabContainer.style.right=this.diagramContainer.style.right,e=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+r+k+"px",this.formatContainer.style.bottom= this.footerHeight+k+"px",this.diagramContainer.style.bottom=this.footerHeight+k+e+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand")); @@ -2149,109 +2149,110 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit, !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var b=document.createElement("div");b.className=a;return b}; -EditorUi.prototype.addSplitHandler=function(a,b,e,c){function k(a){if(null!=p){var g=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));c(Math.max(0,r+(b?g.x-p.x:p.y-g.y)-e));mxEvent.consume(a);r!=f()&&(v=!0,d=null)}}function l(a){k(a);p=r=null}var p=null,r=null,v=!0,d=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var f=mxUtils.bind(this,function(){var d=parseInt(b?a.style.left:a.style.bottom);b||(d=d+e-this.footerHeight);return d});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));r=f();v=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!v){var b=null!=d?d-e:0;d=f();c(b);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,k,l);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,k,l)})};EditorUi.prototype.showDialog=function(a,b,e,c,k,l,p){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,c,k,l,p);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,b,e,d){function k(a){if(null!=p){var g=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));d(Math.max(0,r+(b?g.x-p.x:p.y-g.y)-e));mxEvent.consume(a);r!=f()&&(v=!0,c=null)}}function m(a){k(a);p=r=null}var p=null,r=null,v=!0,c=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var f=mxUtils.bind(this,function(){var c=parseInt(b?a.style.left:a.style.bottom);b||(c=c+e-this.footerHeight);return c});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));r=f();v=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!v){var b=null!=c?c-e:0;c=f();d(b);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,k,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,k,m)})};EditorUi.prototype.showDialog=function(a,b,e,d,k,m,p){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,d,k,m,p);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0<this.dialogs.length&&(this.dialogs.pop().close(a),this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&this.editor.graph.container.focus(),mxUtils.clearSelection(),this.editor.fireEvent(new mxEventObject("hideDialog")))}; -EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,c=e.cellEditor.saveSelection(),k=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(c);b(a)},function(){e.cellEditor.restoreSelection(c)});this.showDialog(k.container,230,430,!0,!1);k.init()}; +EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,d=e.cellEditor.saveSelection(),k=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(d);b(a)},function(){e.cellEditor.restoreSelection(d)});this.showDialog(k.container,230,430,!0,!1);k.init()}; EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})}; -EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var c=a.lastIndexOf("</mxGraphModel>");c>e&&(b=a.substring(e,c+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(k){}return b}; +EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var d=a.lastIndexOf("</mxGraphModel>");d>e&&(b=a.substring(e,d+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(k){}return b}; EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,e=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?e=a.getData("Text"):(e=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==e||0==e.length)&&(e=a.getData("text/plain"))),null!=e&&(e=this.editor.graph.zapGremlins(mxUtils.trim(e)),a=this.extractGraphModelFromHtml(e),null!=a&&(e=a))));null!=e&&this.isCompatibleString(e)&& (b=e);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init()):this.save(this.editor.getOrCreateFilename())}; EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var b=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,b);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(b.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(b))).simulate(document, "_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(b);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(e){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}}; -EditorUi.prototype.executeLayout=function(a,b,e){var c=this.editor.graph;if(c.isEnabled()){c.getModel().beginUpdate();try{a()}catch(k){throw k;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(c),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){c.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(c.getModel().endUpdate(),null!=e&&e())}}}; -EditorUi.prototype.showImageDialog=function(a,b,e,c){c=this.editor.graph.cellEditor;var k=c.saveSelection(),l=mxUtils.prompt(a,b);c.restoreSelection(k);if(null!=l&&0<l.length){var p=new Image;p.onload=function(){e(l,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=l}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.executeLayout=function(a,b,e){var d=this.editor.graph;if(d.isEnabled()){d.getModel().beginUpdate();try{a()}catch(k){throw k;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(d.getModel().endUpdate(),null!=e&&e())}}}; +EditorUi.prototype.showImageDialog=function(a,b,e,d){d=this.editor.graph.cellEditor;var k=d.saveSelection(),m=mxUtils.prompt(a,b);d.restoreSelection(k);if(null!=m&&0<m.length){var p=new Image;p.onload=function(){e(m,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=m}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,340,340,!0,!1,null,!1),a.init())}; EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=b&&0<b.length){var e=new Image;e.onload=function(){a(new mxImage(b,e.width,e.height))};e.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};e.src=b}else a(null)}; EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,b,e){mxUtils.confirm(a)?null!=b&&b():null!=e&&e()}; EditorUi.prototype.createOutline=function(a){var b=new mxOutline(this.editor.graph);b.border=20;mxEvent.addListener(window,"resize",function(){b.update()});this.addListener("pageFormatChanged",function(){b.update()});return b}; -EditorUi.prototype.createKeyHandler=function(a){function b(a,d,b){p.push(function(){if(!c.isSelectionEmpty()&&c.isEnabled())if(d=null!=d?d:1,b){c.getModel().beginUpdate();try{for(var f=c.getSelectionCells(),g=0;g<f.length;g++)if(c.getModel().isVertex(f[g])&&c.isCellResizable(f[g])){var e=c.getCellGeometry(f[g]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-d):38==a?e.height=Math.max(0,e.height-d):39==a?e.width+=d:40==a&&(e.height+=d),c.getModel().setGeometry(f[g],e))}}finally{c.getModel().endUpdate()}}else f= -c.getSelectionCell(),g=c.model.getParent(f),e=null,1==c.getSelectionCount()&&c.model.isVertex(f)&&null!=c.layoutManager&&!c.isCellLocked(f)&&(e=c.layoutManager.getLayout(g)),null!=e&&e.constructor==mxStackLayout?(e=g.getIndex(f),37==a||38==a?c.model.add(g,f,Math.max(0,e-1)):39!=a&&40!=a||c.model.add(g,f,Math.min(c.model.getChildCount(g),e+1))):(g=f=0,37==a?f=-d:38==a?g=-d:39==a?f=d:40==a&&(g=d),c.moveCells(c.getMovableCells(c.getSelectionCells()),f,g))});null!=r&&window.clearTimeout(r);r=window.setTimeout(function(){if(0< -p.length){c.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{c.getModel().endUpdate()}c.scrollCellToVisible(c.getSelectionCell())}},200)}var e=this,c=this.editor.graph,k=new mxKeyHandler(c),l=k.isEventIgnored;k.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& -!mxClient.IS_SF)&&l.apply(this,arguments)};k.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};k.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],r=null,v={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},d=k.getFunction,f={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), -76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip")};mxKeyHandler.prototype.getFunction=function(a){if(c.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var g=f[a.keyCode];if(null!=g)return g.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){c.selectParentCell()}:function(){c.selectChildCell()};if(null!=v[a.keyCode]&&!c.isSelectionEmpty())if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(c.model.isVertex(c.getSelectionCell()))return function(){var d= -c.connectVertex(c.getSelectionCell(),v[a.keyCode],c.defaultEdgeLength,a,!0);null!=d&&0<d.length&&(1==d.length&&c.model.isEdge(d[0])?c.setSelectionCell(c.model.getTerminal(d[0],!1)):c.setSelectionCell(d[d.length-1]),c.scrollCellToVisible(c.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(c.view.getState(c.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null)}}return d.apply(this, -arguments)};k.bindAction=mxUtils.bind(this,function(a,d,b,c){var f=this.actions.get(b);null!=f&&(b=function(){f.isEnabled()&&f.funct()},d?c?k.bindControlShiftKey(a,b):k.bindControlKey(a,b):c?k.bindShiftKey(a,b):k.bindKey(a,b))});var g=k.escape;k.escape=function(a){g.apply(this,arguments)};k.enter=function(){};k.bindControlShiftKey(36,function(){c.exitGroup()});k.bindControlShiftKey(35,function(){c.enterGroup()});k.bindKey(36,function(){c.home()});k.bindKey(35,function(){c.refresh()});k.bindAction(107, -!0,"zoomIn");k.bindAction(109,!0,"zoomOut");k.bindAction(80,!0,"print");k.bindAction(79,!0,"outline",!0);k.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)k.bindControlKey(36,function(){c.isEnabled()&&c.foldCells(!0)}),k.bindControlKey(35,function(){c.isEnabled()&&c.foldCells(!1)}),k.bindControlKey(13,function(){c.isEnabled()&&c.setSelectionCells(c.duplicateCells(c.getSelectionCells(),!1))}),k.bindAction(8,!1,"delete"),k.bindAction(8,!0,"deleteAll"),k.bindAction(46,!1, -"delete"),k.bindAction(46,!0,"deleteAll"),k.bindAction(72,!0,"resetView"),k.bindAction(72,!0,"fitWindow",!0),k.bindAction(74,!0,"fitPage"),k.bindAction(74,!0,"fitTwoPages",!0),k.bindAction(48,!0,"customZoom"),k.bindAction(82,!0,"turn"),k.bindAction(82,!0,"clearDefaultStyle",!0),k.bindAction(83,!0,"save"),k.bindAction(83,!0,"saveAs",!0),k.bindAction(65,!0,"selectAll"),k.bindAction(65,!0,"selectNone",!0),k.bindAction(73,!0,"selectVertices",!0),k.bindAction(69,!0,"selectEdges",!0),k.bindAction(69,!0, -"editStyle"),k.bindAction(66,!0,"bold"),k.bindAction(66,!0,"toBack",!0),k.bindAction(70,!0,"toFront",!0),k.bindAction(68,!0,"duplicate"),k.bindAction(68,!0,"setAsDefaultStyle",!0),k.bindAction(90,!0,"undo"),k.bindAction(89,!0,"autosize",!0),k.bindAction(88,!0,"cut"),k.bindAction(67,!0,"copy"),k.bindAction(86,!0,"paste"),k.bindAction(71,!0,"group"),k.bindAction(77,!0,"editData"),k.bindAction(71,!0,"grid",!0),k.bindAction(73,!0,"italic"),k.bindAction(76,!0,"lockUnlock"),k.bindAction(76,!0,"layers", -!0),k.bindAction(80,!0,"formatPanel",!0),k.bindAction(85,!0,"underline"),k.bindAction(85,!0,"ungroup",!0),k.bindAction(190,!0,"superscript"),k.bindAction(188,!0,"subscript"),k.bindKey(13,function(){c.isEnabled()&&c.startEditingAtCell()}),k.bindKey(113,function(){c.isEnabled()&&c.startEditingAtCell()});mxClient.IS_WIN?k.bindAction(89,!0,"redo"):k.bindAction(90,!0,"redo",!0);return k}; +EditorUi.prototype.createKeyHandler=function(a){function b(a,c,b){p.push(function(){if(!d.isSelectionEmpty()&&d.isEnabled())if(c=null!=c?c:1,b){d.getModel().beginUpdate();try{for(var f=d.getSelectionCells(),g=0;g<f.length;g++)if(d.getModel().isVertex(f[g])&&d.isCellResizable(f[g])){var e=d.getCellGeometry(f[g]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-c):38==a?e.height=Math.max(0,e.height-c):39==a?e.width+=c:40==a&&(e.height+=c),d.getModel().setGeometry(f[g],e))}}finally{d.getModel().endUpdate()}}else f= +d.getSelectionCell(),g=d.model.getParent(f),e=null,1==d.getSelectionCount()&&d.model.isVertex(f)&&null!=d.layoutManager&&!d.isCellLocked(f)&&(e=d.layoutManager.getLayout(g)),null!=e&&e.constructor==mxStackLayout?(e=g.getIndex(f),37==a||38==a?d.model.add(g,f,Math.max(0,e-1)):39!=a&&40!=a||d.model.add(g,f,Math.min(d.model.getChildCount(g),e+1))):(g=f=0,37==a?f=-c:38==a?g=-c:39==a?f=c:40==a&&(g=c),d.moveCells(d.getMovableCells(d.getSelectionCells()),f,g))});null!=r&&window.clearTimeout(r);r=window.setTimeout(function(){if(0< +p.length){d.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{d.getModel().endUpdate()}d.scrollCellToVisible(d.getSelectionCell())}},200)}var e=this,d=this.editor.graph,k=new mxKeyHandler(d),m=k.isEventIgnored;k.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& +!mxClient.IS_SF)&&m.apply(this,arguments)};k.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};k.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],r=null,v={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},c=k.getFunction,f={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), +76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip"),86:this.actions.get("pasteSize"),88:this.actions.get("copySize")};mxKeyHandler.prototype.getFunction=function(a){if(d.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var g=f[a.keyCode];if(null!=g)return g.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){d.selectParentCell()}:function(){d.selectChildCell()};if(null!=v[a.keyCode]&&!d.isSelectionEmpty())if(mxEvent.isShiftDown(a)&& +mxEvent.isAltDown(a)){if(d.model.isVertex(d.getSelectionCell()))return function(){var c=d.connectVertex(d.getSelectionCell(),v[a.keyCode],d.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&d.model.isEdge(c[0])?d.setSelectionCell(d.model.getTerminal(c[0],!1)):d.setSelectionCell(c[c.length-1]),d.scrollCellToVisible(d.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(d.view.getState(d.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)? +d.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null)}}return c.apply(this,arguments)};k.bindAction=mxUtils.bind(this,function(a,c,b,d){var f=this.actions.get(b);null!=f&&(b=function(){f.isEnabled()&&f.funct()},c?d?k.bindControlShiftKey(a,b):k.bindControlKey(a,b):d?k.bindShiftKey(a,b):k.bindKey(a,b))});var g=k.escape;k.escape=function(a){g.apply(this,arguments)};k.enter=function(){};k.bindControlShiftKey(36,function(){d.exitGroup()});k.bindControlShiftKey(35,function(){d.enterGroup()}); +k.bindKey(36,function(){d.home()});k.bindKey(35,function(){d.refresh()});k.bindAction(107,!0,"zoomIn");k.bindAction(109,!0,"zoomOut");k.bindAction(80,!0,"print");k.bindAction(79,!0,"outline",!0);k.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)k.bindControlKey(36,function(){d.isEnabled()&&d.foldCells(!0)}),k.bindControlKey(35,function(){d.isEnabled()&&d.foldCells(!1)}),k.bindControlKey(13,function(){d.isEnabled()&&d.setSelectionCells(d.duplicateCells(d.getSelectionCells(), +!1))}),k.bindAction(8,!1,"delete"),k.bindAction(8,!0,"deleteAll"),k.bindAction(46,!1,"delete"),k.bindAction(46,!0,"deleteAll"),k.bindAction(72,!0,"resetView"),k.bindAction(72,!0,"fitWindow",!0),k.bindAction(74,!0,"fitPage"),k.bindAction(74,!0,"fitTwoPages",!0),k.bindAction(48,!0,"customZoom"),k.bindAction(82,!0,"turn"),k.bindAction(82,!0,"clearDefaultStyle",!0),k.bindAction(83,!0,"save"),k.bindAction(83,!0,"saveAs",!0),k.bindAction(65,!0,"selectAll"),k.bindAction(65,!0,"selectNone",!0),k.bindAction(73, +!0,"selectVertices",!0),k.bindAction(69,!0,"selectEdges",!0),k.bindAction(69,!0,"editStyle"),k.bindAction(66,!0,"bold"),k.bindAction(66,!0,"toBack",!0),k.bindAction(70,!0,"toFront",!0),k.bindAction(68,!0,"duplicate"),k.bindAction(68,!0,"setAsDefaultStyle",!0),k.bindAction(90,!0,"undo"),k.bindAction(89,!0,"autosize",!0),k.bindAction(88,!0,"cut"),k.bindAction(67,!0,"copy"),k.bindAction(86,!0,"paste"),k.bindAction(71,!0,"group"),k.bindAction(77,!0,"editData"),k.bindAction(71,!0,"grid",!0),k.bindAction(73, +!0,"italic"),k.bindAction(76,!0,"lockUnlock"),k.bindAction(76,!0,"layers",!0),k.bindAction(80,!0,"formatPanel",!0),k.bindAction(85,!0,"underline"),k.bindAction(85,!0,"ungroup",!0),k.bindAction(190,!0,"superscript"),k.bindAction(188,!0,"subscript"),k.bindKey(13,function(){d.isEnabled()&&d.startEditingAtCell()}),k.bindKey(113,function(){d.isEnabled()&&d.startEditingAtCell()});mxClient.IS_WIN?k.bindAction(89,!0,"redo"):k.bindAction(90,!0,"redo",!0);return k}; EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&& (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window, "scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1; (function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(b){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1; mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]"; -Graph=function(a,b,e,c,k){mxGraph.call(this,a,b,e,c);this.themes=k||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var d=this.view.getState(a);a=null!=d?d.style:this.getCellStyle(a); -return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var l=null,p=null,r=null,v=null,d=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var f=c.getState();null!=f&&this.model.isEdge(f.cell)&&(l=new mxPoint(c.getGraphX(),c.getGraphY()),d=this.isCellSelected(f.cell),r=f,p=c,null!= -f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,c.getGraphX(),c.getGraphY())?v=mxEvent.LABEL_HANDLE:(f=this.selectionCellsHandler.getHandler(f.cell),null!=f&&null!=f.bends&&0<f.bends.length&&(v=f.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,d){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,f;for(f in c)if(null!=c[f].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& -!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(f=this.tolerance,null!=l&&null!=r&&null!=p){if(c=r,Math.abs(l.x-b.getGraphX())>f||Math.abs(l.y-b.getGraphY())>f){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var g=this.selectionCellsHandler.getHandler(c.cell);if(null!=g&&null!=g.bends&&0<g.bends.length){var e=g.getHandleForEvent(p),h=this.view.getEdgeStyle(c);f=h==mxEdgeStyle.EntityRelation;d||v!=mxEvent.LABEL_HANDLE||(e=v);if(f&&0!=e&&e!=g.bends.length-1&&e!=mxEvent.LABEL_HANDLE)!f|| -null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(e==mxEvent.LABEL_HANDLE||0==e||null!=c.visibleSourceState||e==g.bends.length-1||null!=c.visibleTargetState)f||e==mxEvent.LABEL_HANDLE||(f=c.absolutePoints,null!=f&&(null==h&&null==e||h==mxEdgeStyle.OrthConnector)&&(e=v,null==e&&(e=new mxRectangle(l.x,l.y),e.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(e,f[0].x,f[0].y)?e=0:mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y)? -e=g.bends.length-1:null!=h&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1].x)&&0==Math.round(f[1].x-f[2].x)||0==Math.round(f[0].y-f[1].y)&&0==Math.round(f[1].y-f[2].y)))?e=2:(e=mxUtils.findNearestSegment(c,l.x,l.y),e=null==h?mxEvent.VIRTUAL_HANDLE-e:e+1))),null==e&&(e=mxEvent.VIRTUAL_HANDLE)),g.start(b.getGraphX(),b.getGraphX(),e),v=l=p=r=null,d=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){g=null;f=c.absolutePoints;if(null!=f)if(e=new mxRectangle(b.getGraphX(), -b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)h=this.view.getEdgeStyle(c),g="crosshair",h!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(h=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()), -h<f.length-1&&0<=h&&(g=0==Math.round(f[h].x-f[h+1].x)?"col-resize":"row-resize"));null!=g&&c.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,d){v=l=p=r=null})})}this.cellRenderer.getLabelValue=function(a){var d=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(d=1!=a.style.html?mxUtils.htmlEntities(d,!1):a.view.graph.sanitizeHtml(d));return d};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); -this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==c&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= -function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),m=0;m<h.width;m++)d.push(new mxRectangle(((h.x+m)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(m=0;m<h.height;m++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+m)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= -function(a,d){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]); -"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this); -this.getRubberband=function(){return g};var m=(new Date).getTime(),t=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(m=(new Date).getTime(),t=0):t=(new Date).getTime()-m};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, -"outlineConnect","1"))&&n.apply(this,arguments)};var q=this.isToggleEvent;this.isToggleEvent=function(a){return q.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& -(u=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=u)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return y.apply(this, -arguments);d=d?a.sourceState.cell:a.getCell();if(null!=d){var b=this.getLinkForCell(d);null!=b&&(this.isCustomLink(b)?this.customLinkClicked(d,b):this.openLink(b))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var E=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return E.apply(this,arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells=function(a,d,b,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,m=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var q=e.getChildCount(f),u=0;u<q;u++){var n=e.getChildAt(f,u), -t=this.view.getState(n);if(null!=t&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(n)||e.isVertex(n))&&t.x>=a&&t.y+t.height<=m&&t.y>=d&&t.x+t.width<=h&&g.push(n);this.getAllCells(a,d,b,c,n,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:z.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=d.getProperty("event"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var C=this.updateMouseEvent;this.updateMouseEvent=function(a){a=C.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +Graph=function(a,b,e,d,k){mxGraph.call(this,a,b,e,d);this.themes=k||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a); +return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var m=null,p=null,r=null,v=null,c=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var d=b.getProperty("event");if(!mxEvent.isControlDown(d.getEvent())&&!mxEvent.isShiftDown(d.getEvent())){var f=d.getState();null!=f&&this.model.isEdge(f.cell)&&(m=new mxPoint(d.getGraphX(),d.getGraphY()),c=this.isCellSelected(f.cell),r=f,p=d,null!= +f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,d.getGraphX(),d.getGraphY())?v=mxEvent.LABEL_HANDLE:(f=this.selectionCellsHandler.getHandler(f.cell),null!=f&&null!=f.bends&&0<f.bends.length&&(v=f.getHandleForEvent(d))))}}}));this.addMouseListener({mouseDown:function(a,c){},mouseMove:mxUtils.bind(this,function(a,b){var d=this.selectionCellsHandler.handlers.map,f;for(f in d)if(null!=d[f].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& +!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(f=this.tolerance,null!=m&&null!=r&&null!=p){if(d=r,Math.abs(m.x-b.getGraphX())>f||Math.abs(m.y-b.getGraphY())>f){this.isCellSelected(d.cell)||this.setSelectionCell(d.cell);var g=this.selectionCellsHandler.getHandler(d.cell);if(null!=g&&null!=g.bends&&0<g.bends.length){var e=g.getHandleForEvent(p),l=this.view.getEdgeStyle(d);f=l==mxEdgeStyle.EntityRelation;c||v!=mxEvent.LABEL_HANDLE||(e=v);if(f&&0!=e&&e!=g.bends.length-1&&e!=mxEvent.LABEL_HANDLE)!f|| +null==d.visibleSourceState&&null==d.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(e==mxEvent.LABEL_HANDLE||0==e||null!=d.visibleSourceState||e==g.bends.length-1||null!=d.visibleTargetState)f||e==mxEvent.LABEL_HANDLE||(f=d.absolutePoints,null!=f&&(null==l&&null==e||l==mxEdgeStyle.OrthConnector)&&(e=v,null==e&&(e=new mxRectangle(m.x,m.y),e.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(e,f[0].x,f[0].y)?e=0:mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y)? +e=g.bends.length-1:null!=l&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1].x)&&0==Math.round(f[1].x-f[2].x)||0==Math.round(f[0].y-f[1].y)&&0==Math.round(f[1].y-f[2].y)))?e=2:(e=mxUtils.findNearestSegment(d,m.x,m.y),e=null==l?mxEvent.VIRTUAL_HANDLE-e:e+1))),null==e&&(e=mxEvent.VIRTUAL_HANDLE)),g.start(b.getGraphX(),b.getGraphX(),e),v=m=p=r=null,c=!1,b.consume(),this.graphHandler.reset()}}}else if(d=b.getState(),null!=d&&this.model.isEdge(d.cell)){g=null;f=d.absolutePoints;if(null!=f)if(e=new mxRectangle(b.getGraphX(), +b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=d.visibleSourceState||null!=d.visibleTargetState)l=this.view.getEdgeStyle(d),g="crosshair",l!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(d)&&(l=mxUtils.findNearestSegment(d,b.getGraphX(),b.getGraphY()), +l<f.length-1&&0<=l&&(g=0==Math.round(f[l].x-f[l+1].x)?"col-resize":"row-resize"));null!=g&&d.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,c){v=m=p=r=null})})}this.cellRenderer.getLabelValue=function(a){var c=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(c=1!=a.style.html?mxUtils.htmlEntities(c,!1):a.view.graph.sanitizeHtml(c));return c};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); +this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,c){return!1};this.alternateEdgeStyle="vertical";null==d&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= +function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var c=[],b=this.graph.pageFormat,d=this.graph.pageScale,g=b.width*d,b=b.height*d,d=this.graph.view.translate,e=this.graph.view.scale,l=this.graph.getPageLayout(),h=0;h<l.width;h++)c.push(new mxRectangle(((l.x+h)*g+d.x)*e,(l.y*b+d.y)*e,g*e,b*e));for(h=0;h<l.height;h++)c.push(new mxRectangle((l.x*g+d.x)*e,((l.y+h)*b+d.y)*e,g*e,b*e));a=c.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= +function(a,c){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var c=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],d=0;d<c.length;d++){var f=this.graph.view.getState(c[d]),f=null!=f?f.style:this.graph.getCellStyle(c[d]); +"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(c[d]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(c,f)&&b.push(f)):b.push(c[d])}return b};this.connectionHandler.createTargetVertex=function(a,c){var b=this.graph.view.getState(c),b=null!=b?b.style:this.graph.getCellStyle(c);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(c),this.graph.model.isVertex(b)&&(c=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this); +this.getRubberband=function(){return g};var u=(new Date).getTime(),t=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(u=(new Date).getTime(),t=0):t=(new Date).getTime()-u};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, +"outlineConnect","1"))&&n.apply(this,arguments)};var l=this.isToggleEvent;this.isToggleEvent=function(a){return l.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var q=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& +(q=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=q)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!c||a.isConsumed())return y.apply(this, +arguments);c=c?a.sourceState.cell:a.getCell();null!=c&&(c=this.getLinkForCell(c),null!=c&&(this.isCustomLink(c)?this.customLinkClicked(c):this.openLink(c)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(c?a.sourceState.cell:a.getCell())};var D=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return D.apply(this,arguments)};this.selectRegion=function(a,c){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,c);return b};this.getAllCells=function(a,c,b,d,f,e){e=null!=e?e:[];if(0<b||0<d){var g=this.getModel(),l=a+b,h=c+d;null==f&&(f=this.getCurrentRoot(),null==f&&(f=g.getRoot()));if(null!=f)for(var u=g.getChildCount(f),q=0;q<u;q++){var n=g.getChildAt(f,q),t=this.view.getState(n);if(null!= +t&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(g.isEdge(n)||g.isVertex(n))&&t.x>=a&&t.y+t.height<=h&&t.y>=c&&t.x+t.width<=l&&e.push(n);this.getAllCells(a,c,b,d,n,e)}}}return e};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,c,b){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,c){if("mouseDown"==c.getProperty("eventName")){var b=c.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var b= +c.getProperty("event"),d=c.getProperty("cell");null==d?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);G=null;c.consume()}}));this.connectionHandler.selectCells=function(a,c){this.graph.setSelectionCell(c||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,c){return c&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,b,e){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,k=!0,l=null,p=mxUtils.bind(this,function(a){k=!0;l=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),r=mxUtils.bind(this,function(a){k=k&&null!=l&&Math.abs(l.x-mxEvent.getClientX(a))<b&&Math.abs(l.y-mxEvent.getClientY(a))<b}),v=mxUtils.bind(this,function(d){if(k)for(var b=mxEvent.getSource(d);null!= -b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,d);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,r,v);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; +Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,k=!0,m=null,p=mxUtils.bind(this,function(a){k=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),r=mxUtils.bind(this,function(a){k=k&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),v=mxUtils.bind(this,function(c){if(k)for(var b=mxEvent.getSource(c);null!= +b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,c);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,r,v);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,b,e){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(e)}}; -Graph.prototype.openLink=function(a,b){var e=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var c=a.split("#")[1];window.location.hash=="#"+c&&(window.location.hash="");window.location.hash=c}else e=window.open(a,b);return e};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,b){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.openLink=function(a,b){var e=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else e=window.open(a,b);return e};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a);a=null!=b?b.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(b=new mxStackLayout(this.graph,!0),b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),b.spacing=a.stackSpacing||b.spacing,b.border=a.stackBorder||b.border,b.marginLeft=a.marginLeft||0,b.marginRight=a.marginRight||0,b.marginTop=a.marginTop||0,b.marginBottom=a.marginBottom||0,b.fill=!0,b):"treeLayout"==a.childLayout?(b=new mxCompactTreeLayout(this.graph),b.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.groupPadding=mxUtils.getValue(a,"parentPadding",20),b.levelDistance=mxUtils.getValue(a,"treeLevelDistance", 30),b.maintainParentLocation=!0,b.edgeRouting=!1,b.resetEdges=!1,b):"flowLayout"==a.childLayout?(b=new mxHierarchicalLayout(this.graph,mxUtils.getValue(a,"flowOrientation",mxConstants.DIRECTION_EAST)),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.parentBorder=mxUtils.getValue(a,"parentPadding",20),b.maintainParentLocation=!0,b.intraCellSpacing=mxUtils.getValue(a,"intraCellSpacing",mxHierarchicalLayout.prototype.intraCellSpacing),b.interRankCellSpacing=mxUtils.getValue(a,"interRankCellSpacing", mxHierarchicalLayout.prototype.interRankCellSpacing),b.interHierarchySpacing=mxUtils.getValue(a,"interHierarchySpacing",mxHierarchicalLayout.prototype.interHierarchySpacing),b.parallelEdgeSpacing=mxUtils.getValue(a,"parallelEdgeSpacing",mxHierarchicalLayout.prototype.parallelEdgeSpacing),b):null}};Graph.prototype.getPageSize=function(){return this.pageVisible?new mxRectangle(0,0,this.pageFormat.width*this.pageScale,this.pageFormat.height*this.pageScale):this.scrollTileSize}; -Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),c=Math.ceil(b.y/this.view.scale-this.view.translate.y),k=Math.floor(e/a.width),l=Math.floor(c/a.height);return new mxRectangle(k,l,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-k,Math.ceil((c+Math.floor(b.height/this.view.scale))/a.height)-l)}; +Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),d=Math.ceil(b.y/this.view.scale-this.view.translate.y),k=Math.floor(e/a.width),m=Math.floor(d/a.height);return new mxRectangle(k,m,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-k,Math.ceil((d+Math.floor(b.height/this.view.scale))/a.height)-m)}; Graph.prototype.sanitizeHtml=function(a,b){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,b;for(b in this.model.cells){var e=this.model.cells[b];this.isReplacePlaceholders(e)&&(this.view.invalidate(e,!1,!1),a=!0)}a&&this.view.validate()};Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")}; Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEvent.isControlDown(a)&&!mxClient.IS_MAC};Graph.prototype.isTransparentClickEvent=function(a){return mxEvent.isAltDown(a)};Graph.prototype.isIgnoreTerminalEvent=function(a){return mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)};Graph.prototype.isSplitTarget=function(a,b,e){return!this.model.isEdge(b[0])&&!mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)}; Graph.prototype.getLabel=function(a){var b=mxGraph.prototype.getLabel.apply(this,arguments);null!=b&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(b=this.replacePlaceholders(a,b));return b};Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(b,"labelMovable","0")))}; Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};Graph.prototype.getGlobalVariable=function(a){var b=null;"date"==a?b=(new Date).toLocaleDateString():"time"==a?b=(new Date).toLocaleTimeString():"timestamp"==a?b=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),b=this.formatDate(new Date,a));return b}; Graph.prototype.formatDate=function(a,b,e){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy", -shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var c=this.dateFormatCache,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,l=/[^-+\dA-Z]/g,p=function(a,d){a=String(a);for(d=d||2;a.length<d;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| -/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(c.masks[b]||b||c.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var r=e?"getUTC":"get",v=a[r+"Date"](),d=a[r+"Day"](),f=a[r+"Month"](),g=a[r+"FullYear"](),m=a[r+"Hours"](),t=a[r+"Minutes"](),h=a[r+"Seconds"](),r=a[r+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),q={d:v,dd:p(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:p(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+ -12],yy:String(g).slice(2),yyyy:g,h:m%12||12,hh:p(m%12||12),H:m,HH:p(m),M:t,MM:p(t),s:h,ss:p(h),l:p(r,3),L:p(99<r?Math.round(r/10):r),t:12>m?"a":"p",tt:12>m?"am":"pm",T:12>m?"A":"P",TT:12>m?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<n?"-":"+")+p(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in q?q[a]:a.slice(1, +shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var d=this.dateFormatCache,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,p=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| +/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var r=e?"getUTC":"get",v=a[r+"Date"](),c=a[r+"Day"](),f=a[r+"Month"](),g=a[r+"FullYear"](),u=a[r+"Hours"](),t=a[r+"Minutes"](),h=a[r+"Seconds"](),r=a[r+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),l={d:v,dd:p(v),ddd:d.i18n.dayNames[c],dddd:d.i18n.dayNames[c+7],m:f+1,mm:p(f+1),mmm:d.i18n.monthNames[f],mmmm:d.i18n.monthNames[f+ +12],yy:String(g).slice(2),yyyy:g,h:u%12||12,hh:p(u%12||12),H:u,HH:p(u),M:t,MM:p(t),s:h,ss:p(h),l:p(r,3),L:p(99<r?Math.round(r/10):r),t:12>u?"a":"p",tt:12>u?"am":"pm",T:12>u?"A":"P",TT:12>u?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(m,""),o:(0<n?"-":"+")+p(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in l?l[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),c=0;c<e;c++)(function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(c)&&(k.setAttribute("checked","checked"),k.defaultChecked= -!0);e.appendChild(k);var r=c.value||mxResources.get("background")||"Background";e.setAttribute("title",r);mxUtils.write(e,r);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(c,k.checked)})})(b.getChildAt(b.root,c));return a}; -Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var c=0;match=this.placeholderPattern.exec(b);){var k=match[0];if(2<k.length&&"%label%"!=k&&"%tooltip%"!=k){var l=null;if(match.index>c&&"%"==b.charAt(match.index-1))l=k.substring(1);else{var p=k.substring(1,k.length-1);if(0>p.indexOf("{"))for(var r=a;null==l&&null!=r;)null!=r.value&&"object"==typeof r.value&&(l=r.hasAttribute(p)?null!=r.getAttribute(p)?r.getAttribute(p):"":null),r=this.model.getParent(r);null==l&&(l=this.getGlobalVariable(p))}e.push(b.substring(c, -match.index)+(null!=l?l:k));c=match.index+k.length}}e.push(b.substring(c))}return e.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,b,e,c,k,l){l=l?l:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a)); -var r=this.view.scale,v=this.view.translate,d=v.x*r,v=v.y*r;this.model.isVertex(e.cell)&&(d=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);l=l||mxEvent.isControlDown(c)&&!k?null:this.getCellAt(d+p.x*r,v+p.y*r);this.model.isAncestor(l,a)&&(l=null);for(e=l;null!=e;){if(this.isCellLocked(e)){l=null;break}e=this.model.getParent(e)}null!=l&&(e=this.view.getState(a),r=this.view.getState(l),null!=e&&null!=r&&mxUtils.intersects(e,r)&&(l= -null));if(k=!mxEvent.isShiftDown(c)||k)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==l||this.isCellConnectable(l)||(e=this.getModel().getParent(l),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(l=e));if(l==a||this.model.isEdge(l)||!this.isCellConnectable(l))l=null;e=[];this.model.beginUpdate();try{r=l;if(null==r&&k){for(var d=a,f=this.getCellGeometry(a);null!= -f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),m=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(m,"part",!1)){var t=this.model.getParent(d);this.model.isVertex(t)&&(d=t)}r=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(r);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout? -null:this.insertEdge(this.model.getParent(a),null,"",a,r,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(n=c.parent.getIndex(c),this.model.add(c.parent,h,n))}null==l&&null!=r&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent, -r,n));null!=h&&e.push(h);null==l&&null!=r&&e.push(r);null==r&&null!=h&&h.geometry.setTerminalPoint(p,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e}; -Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,c;for(c in this.model.cells)if(e=this.model.cells[c],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; -Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,c=null;null==c&&null!=e;)null!=e.value&&"object"==typeof e.value&&(c=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return c||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),d=0;d<e;d++)mxUtils.bind(this,function(d){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(d)&&(k.setAttribute("checked","checked"), +k.defaultChecked=!0);e.appendChild(k);var r=this.convertValueToString(d)||mxResources.get("background")||"Background";e.setAttribute("title",r);mxUtils.write(e,r);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(d,k.checked)})})(b.getChildAt(b.root,d));return a}; +Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var k=match[0];if(2<k.length&&"%label%"!=k&&"%tooltip%"!=k){var m=null;if(match.index>d&&"%"==b.charAt(match.index-1))m=k.substring(1);else{var p=k.substring(1,k.length-1);if(0>p.indexOf("{"))for(var r=a;null==m&&null!=r;)null!=r.value&&"object"==typeof r.value&&(m=r.hasAttribute(p)?null!=r.getAttribute(p)?r.getAttribute(p):"":null),r=this.model.getParent(r);null==m&&(m=this.getGlobalVariable(p))}e.push(b.substring(d, +match.index)+(null!=m?m:k));d=match.index+k.length}}e.push(b.substring(d))}return e.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; +Graph.prototype.connectVertex=function(a,b,e,d,k,m){m=m?m:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a)); +var r=this.view.scale,v=this.view.translate,c=v.x*r,v=v.y*r;this.model.isVertex(e.cell)&&(c=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(d)&&!k?null:this.getCellAt(c+p.x*r,v+p.y*r);this.model.isAncestor(m,a)&&(m=null);for(e=m;null!=e;){if(this.isCellLocked(e)){m=null;break}e=this.model.getParent(e)}null!=m&&(e=this.view.getState(a),r=this.view.getState(m),null!=e&&null!=r&&mxUtils.intersects(e,r)&&(m= +null));if(k=!mxEvent.isShiftDown(d)||k)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(e=this.getModel().getParent(m),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(m=e));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;e=[];this.model.beginUpdate();try{r=m;if(null==r&&k){for(var c=a,f=this.getCellGeometry(a);null!= +f&&f.relative;)c=this.getModel().getParent(c),f=this.getCellGeometry(c);var g=this.view.getState(c),u=null!=g?g.style:this.getCellStyle(c);if(mxUtils.getValue(u,"part",!1)){var t=this.model.getParent(c);this.model.isVertex(t)&&(c=t)}r=this.duplicateCells([c],!1)[0];f=this.getCellGeometry(r);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(d)&&k||null==m&&null!=f&&f.constructor==mxStackLayout? +null:this.insertEdge(this.model.getParent(a),null,"",a,r,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(d=a;null!=d.parent&&null!=d.geometry&&d.geometry.relative&&d.parent!=h.parent;)d=this.model.getParent(d);null!=d&&null!=d.parent&&d.parent==h.parent&&(n=d.parent.getIndex(d),this.model.add(d.parent,h,n))}null==m&&null!=r&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent, +r,n));null!=h&&e.push(h);null==m&&null!=r&&e.push(r);null==r&&null!=h&&h.geometry.setTerminalPoint(p,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e}; +Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,d;for(d in this.model.cells)if(e=this.model.cells[d],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; +Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,d=null;null==d&&null!=e;)null!=e.value&&"object"==typeof e.value&&(d=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return d||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null}; Graph.prototype.getCellStyle=function(a){var b=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var e=this.model.getParent(a);this.model.isVertex(e)&&this.isCellCollapsed(a)&&(e=this.layoutManager.getLayout(e),null!=e&&e.constructor==mxStackLayout&&(b[mxConstants.STYLE_HORIZONTAL]=!e.horizontal))}return b}; -Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var c=this.layoutManager.getLayout(this.model.getParent(a));null!=c&&c.constructor==mxStackLayout&&(c.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; -Graph.prototype.foldCells=function(a,b,e,c,k){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var l=0;l<e.length;l++){var p=this.view.getState(e[l]),r=this.getCellGeometry(e[l]);if(null!=p&&null!=r){var v=Math.round(r.width-p.width/this.view.scale),d=Math.round(r.height-p.height/this.view.scale);if(0!=d||0!=v){var f=this.model.getParent(e[l]),g=this.layoutManager.getLayout(f); -null==g?null!=k&&this.isMoveCellsEvent(k)&&this.moveSiblings(p,f,v,d):null!=k&&mxEvent.isAltDown(k)||g.constructor!=mxStackLayout||g.resizeLast||this.resizeParentStacks(f,g,v,d)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; -Graph.prototype.moveSiblings=function(a,b,e,c){this.model.beginUpdate();try{var k=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<k.length;b++)if(k[b]!=a.cell){var l=this.view.getState(k[b]),p=this.getCellGeometry(k[b]);null!=l&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(l.x-a.x)/a.width))),Math.round(c*Math.max(0,Math.min(1,(l.y-a.y)/a.height)))),this.model.setGeometry(k[b],p))}}finally{this.model.endUpdate()}}; -Graph.prototype.resizeParentStacks=function(a,b,e,c){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var k=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==k&&!b.resizeLast;){var l=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=l&&(l=l.clone(),b.horizontal?l.width+=e+Math.min(0,p.width/this.view.scale-l.width):l.height+=c+Math.min(0,p.height/this.view.scale-l.height),this.model.setGeometry(a, -l));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; +Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var d=this.layoutManager.getLayout(this.model.getParent(a));null!=d&&d.constructor==mxStackLayout&&(d.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; +Graph.prototype.foldCells=function(a,b,e,d,k){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<e.length;m++){var p=this.view.getState(e[m]),r=this.getCellGeometry(e[m]);if(null!=p&&null!=r){var v=Math.round(r.width-p.width/this.view.scale),c=Math.round(r.height-p.height/this.view.scale);if(0!=c||0!=v){var f=this.model.getParent(e[m]),g=this.layoutManager.getLayout(f); +null==g?null!=k&&this.isMoveCellsEvent(k)&&this.moveSiblings(p,f,v,c):null!=k&&mxEvent.isAltDown(k)||g.constructor!=mxStackLayout||g.resizeLast||this.resizeParentStacks(f,g,v,c)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; +Graph.prototype.moveSiblings=function(a,b,e,d){this.model.beginUpdate();try{var k=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<k.length;b++)if(k[b]!=a.cell){var m=this.view.getState(k[b]),p=this.getCellGeometry(k[b]);null!=m&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(d*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(k[b],p))}}finally{this.model.endUpdate()}}; +Graph.prototype.resizeParentStacks=function(a,b,e,d){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var k=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==k&&!b.resizeLast;){var m=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=m&&(m=m.clone(),b.horizontal?m.width+=e+Math.min(0,p.width/this.view.scale-m.width):m.height+=d+Math.min(0,p.height/this.view.scale-m.height),this.model.setGeometry(a, +m));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,b,e){e=e||this.getDefaultParent();this.isCellLocked(e)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,b,e){e=e||this.getDefaultParent();return this.isCellLocked(e)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)}; Graph.prototype.isCellFoldable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.foldingEnabled&&!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=b.collapsible||!this.isContainer(a)&&"1"==b.collapsible)};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()}; Graph.prototype.zoom=function(a,b){a=Math.max(.01,Math.min(this.view.scale*a,160))/this.view.scale;mxGraph.prototype.zoom.apply(this,arguments)};Graph.prototype.zoomIn=function(){.15>this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)}; -Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=["label","tooltip","placeholders","placeholder"];a=a.value.attributes;var c=[];this.isEnabled()&&e.push("link");for(var k=0;k<a.length;k++)0>mxUtils.indexOf(e,a[k].nodeName)&&0<a[k].nodeValue.length&&c.push({name:a[k].nodeName,value:a[k].nodeValue});c.sort(function(a, -b){return a.name<b.name?-1:a.name>b.name?1:0});for(k=0;k<c.length;k++)"link"==c[k].name&&this.isCustomLink(c[k].value)||(b+=("link"!=c[k].name?c[k].name+":":"")+mxUtils.htmlEntities(c[k].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1))}}return b};Graph.prototype.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.prototype.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")}; +Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=["label","tooltip","placeholders","placeholder"];a=a.value.attributes;var d=[];this.isEnabled()&&e.push("link");for(var k=0;k<a.length;k++)0>mxUtils.indexOf(e,a[k].nodeName)&&0<a[k].nodeValue.length&&d.push({name:a[k].nodeName,value:a[k].nodeValue});d.sort(function(a, +b){return a.name<b.name?-1:a.name>b.name?1:0});for(k=0;k<d.length;k++)"link"==d[k].name&&this.isCustomLink(d[k].value)||(b+=("link"!=d[k].name?d[k].name+":":"")+mxUtils.htmlEntities(d[k].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1))}}return b};Graph.prototype.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.prototype.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")}; Graph.prototype.compress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=this.bytesToString(pako.deflateRaw(encodeURIComponent(a)));return window.btoa?btoa(a):Base64.encode(a,!0)};Graph.prototype.decompress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=window.atob?atob(a):Base64.decode(a,!0);return this.zapGremlins(decodeURIComponent(this.bytesToString(pako.inflateRaw(a))))}; -Graph.prototype.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var c=a.charCodeAt(e);(32<=c||9==c||10==c||13==c)&&b.push(a.charAt(e))}return b.join("")};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=6;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy"; +Graph.prototype.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);(32<=d||9==d||10==d||13==d)&&b.push(a.charAt(e))}return b.join("")};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=6;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy"; HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(26,14,'<path d="m 1 14 L 13 1 L 26 14 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14);HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(14,26,'<path d="m 1 1 L 14 13 L 1 26 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26); HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(26,14,'<path d="m 1 1 L 13 14 L 26 1 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14);HoverIcons.prototype.triangleLeft=mxClient.IS_SVG?Graph.createSvgImage(14,26,'<path d="m 14 1 L 1 13 L 14 26 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-left.png",14,26); HoverIcons.prototype.roundDrop=mxClient.IS_SVG?Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/round-drop.png",26,26); @@ -2260,9 +2261,9 @@ HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;b HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.repaintHandler=mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE, this.repaintHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler);this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)|| -!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,c){b=!1;var e=c.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var l=this.getState(c.getState());null==l&&mxEvent.isTouchEvent(e)||this.update(l)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)|| -this.update(this.getState(c.getState()),c.getGraphX(),c.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.isActive()&&null!=this.mouseDownPoint&&Math.abs(c.getGraphX()-this.mouseDownPoint.x)<this.graph.tolerance&&Math.abs(c.getGraphY()-this.mouseDownPoint.y)<this.graph.tolerance?b||this.click(this.currentState,this.getDirection(),c):this.isActive()?1== -this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(c.getGraphX(),c.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,c.getGraphX(),c.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||this.reset();b=!1;this.resetActiveArrow()})})}; +!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){b=!1;var e=d.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var m=this.getState(d.getState());null==m&&mxEvent.isTouchEvent(e)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var e=d.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)|| +this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var e=d.getEvent();this.isResetEvent(e)?this.reset():this.isActive()&&null!=this.mouseDownPoint&&Math.abs(d.getGraphX()-this.mouseDownPoint.x)<this.graph.tolerance&&Math.abs(d.getGraphY()-this.mouseDownPoint.y)<this.graph.tolerance?b||this.click(this.currentState,this.getDirection(),d):this.isActive()?1== +this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),d.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||this.reset();b=!1;this.resetActiveArrow()})})}; HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; HoverIcons.prototype.createArrow=function(a,b){var e=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(e=document.createElement(mxClient.VML_PREFIX+":image"),e.setAttribute("src",a.src),e.style.borderStyle="none"):(e=document.createElement("div"),e.style.backgroundImage="url("+a.src+")",e.style.backgroundPosition="center",e.style.backgroundRepeat="no-repeat"),e.style.width=a.width+4+"px",e.style.height=a.height+4+"px",e.style.display=mxClient.IS_QUIRKS?"inline": "inline-block"):(e=mxUtils.createImage(a.src),e.style.width=a.width+"px",e.style.height=a.height+"px",e.style.padding=this.tolerance+"px");null!=b&&e.setAttribute("title",b);e.style.position="absolute";e.style.cursor=this.cssCursor;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y), @@ -2270,116 +2271,116 @@ this.activeArrow=e,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redire this.resetActiveArrow()}));return e};HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a}; HoverIcons.prototype.visitNodes=function(a){for(var b=0;b<this.elts.length;b++)null!=this.elts[b]&&a(this.elts[b])};HoverIcons.prototype.removeNodes=function(){this.visitNodes(function(a){null!=a.parentNode&&a.parentNode.removeChild(a)})};HoverIcons.prototype.setDisplay=function(a){this.visitNodes(function(b){b.style.display=a})};HoverIcons.prototype.isActive=function(){return null!=this.activeArrow&&null!=this.currentState}; HoverIcons.prototype.drag=function(a,b,e){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,b,e),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,a=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=a&&a.setHandlesVisible(!1))};HoverIcons.prototype.getStateAt=function(a,b,e){return this.graph.view.getState(this.graph.getCellAt(b,e))}; -HoverIcons.prototype.click=function(a,b,e){var c=e.getEvent(),k=e.getGraphX(),l=e.getGraphY(),k=this.getStateAt(a,k,l);null==k||!this.graph.model.isEdge(k.cell)||mxEvent.isControlDown(c)||k.getVisibleTerminalState(!0)!=a&&k.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,c),this.graph.selectCellsForConnectVertex(a,c,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(c)?this.update(this.getState(this.graph.view.getState(a[1]))): +HoverIcons.prototype.click=function(a,b,e){var d=e.getEvent(),k=e.getGraphX(),m=e.getGraphY(),k=this.getStateAt(a,k,m);null==k||!this.graph.model.isEdge(k.cell)||mxEvent.isControlDown(d)||k.getVisibleTerminalState(!0)!=a&&k.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,d),this.graph.selectCellsForConnectVertex(a,d,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(d)?this.update(this.getState(this.graph.view.getState(a[1]))): this.reset(),this.graph.scrollCellToVisible(a[1])):this.graph.setSelectionCells(a)):(this.graph.setSelectionCell(k.cell),this.reset());e.consume()};HoverIcons.prototype.reset=function(a){null!=a&&!a||null==this.updateThread||window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null}; HoverIcons.prototype.repaint=function(){this.bbox=null;if(null!=this.currentState){this.currentState=this.getState(this.currentState);if(null!=this.currentState&&this.graph.model.isVertex(this.currentState.cell)&&this.graph.isCellConnectable(this.currentState.cell)){var a=mxRectangle.fromRectangle(this.currentState);null!=this.currentState.shape&&null!=this.currentState.shape.boundingBox&&(a=mxRectangle.fromRectangle(this.currentState.shape.boundingBox));a.grow(this.graph.tolerance);a.grow(this.arrowSpacing); var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell);null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&a.add(b.rotationShape.boundingBox));this.arrowUp.style.left=Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance)+ "px";this.arrowUp.style.top=Math.round(a.y-this.triangleUp.height-this.tolerance)+"px";mxUtils.setOpacity(this.arrowUp,this.inactiveOpacity);this.arrowRight.style.left=Math.round(a.x+a.width-this.tolerance)+"px";this.arrowRight.style.top=Math.round(this.currentState.getCenterY()-this.triangleRight.height/2-this.tolerance)+"px";mxUtils.setOpacity(this.arrowRight,this.inactiveOpacity);this.arrowDown.style.left=this.arrowUp.style.left;this.arrowDown.style.top=Math.round(a.y+a.height-this.tolerance)+ -"px";mxUtils.setOpacity(this.arrowDown,this.inactiveOpacity);this.arrowLeft.style.left=Math.round(a.x-this.triangleLeft.width-this.tolerance)+"px";this.arrowLeft.style.top=this.arrowRight.style.top;mxUtils.setOpacity(this.arrowLeft,this.inactiveOpacity);if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),e=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),c=this.graph.getCellAt(this.currentState.getCenterX(), -a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==e&&e==c&&c==a&&(a=c=e=b=null);var k=this.graph.getCellGeometry(this.currentState.cell),l=mxUtils.bind(this,function(a,b){var c=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null!=a&&!this.graph.model.isAncestor(a,this.currentState.cell)&&(null==c||null==k||c.height<6*k.height&&c.width<6*k.width)?b.style.visibility="hidden":b.style.visibility="visible"}); -l(b,this.arrowRight);l(e,this.arrowLeft);l(c,this.arrowUp);l(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),this.arrowDown.setAttribute("title", +"px";mxUtils.setOpacity(this.arrowDown,this.inactiveOpacity);this.arrowLeft.style.left=Math.round(a.x-this.triangleLeft.width-this.tolerance)+"px";this.arrowLeft.style.top=this.arrowRight.style.top;mxUtils.setOpacity(this.arrowLeft,this.inactiveOpacity);if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),e=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),d=this.graph.getCellAt(this.currentState.getCenterX(), +a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==e&&e==d&&d==a&&(a=d=e=b=null);var k=this.graph.getCellGeometry(this.currentState.cell),m=mxUtils.bind(this,function(a,b){var d=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null!=a&&!this.graph.model.isAncestor(a,this.currentState.cell)&&(null==d||null==k||d.height<6*k.height&&d.width<6*k.width)?b.style.visibility="hidden":b.style.visibility="visible"}); +m(b,this.arrowRight);m(e,this.arrowLeft);m(d,this.arrowUp);m(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),this.arrowDown.setAttribute("title", mxResources.get("plusTooltip"))):(this.arrowLeft.removeAttribute("title"),this.arrowRight.removeAttribute("title"),this.arrowUp.removeAttribute("title"),this.arrowDown.removeAttribute("title"))}else this.reset();null!=this.currentState&&(this.bbox=this.computeBoundingBox(),null!=this.bbox&&this.bbox.grow(10))}}; HoverIcons.prototype.computeBoundingBox=function(){var a=this.graph.model.isEdge(this.currentState.cell)?null:mxRectangle.fromRectangle(this.currentState);this.visitNodes(function(b){null!=b.parentNode&&(b=new mxRectangle(b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight),null==a?a=b:a.add(b))});return a}; HoverIcons.prototype.getState=function(a){if(null!=a){a=a.cell;if(this.graph.getModel().isVertex(a)&&!this.graph.isCellConnectable(a)){var b=this.graph.getModel().getParent(a);this.graph.getModel().isVertex(b)&&this.graph.isCellConnectable(b)&&(a=b)}if(this.graph.isCellLocked(a)||this.graph.model.isEdge(a))a=null;a=this.graph.view.getState(a)}return a}; -HoverIcons.prototype.update=function(a,b,e){if(this.graph.connectionArrowsEnabled){var c=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,c=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(c=(new Date).getTime()-this.startTime); -this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||c>this.activationDelay)&&this.currentState!=a&&(c>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox,b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()): +HoverIcons.prototype.update=function(a,b,e){if(this.graph.connectionArrowsEnabled){var d=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,d=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(d=(new Date).getTime()-this.startTime); +this.setDisplay("");null!=this.currentState&&this.currentState!=a&&d<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||d>this.activationDelay)&&this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox,b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()): this.reset())}else this.reset()};HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; -(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,d){var c=this.getState(a);null!=c&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&!c.invalid&&this.updateLineJumps(c)&&this.graph.cellRenderer.redraw(c,!1,this.isRendering());c=b.apply(this,arguments);null!= -c&&this.graph.model.isEdge(c.cell)&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,d){return e.apply(this,arguments)||null!=a.routedPoints&&null!=d.routedPoints&&!mxUtils.equalPoints(d.routedPoints,a.routedPoints)};var c=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){c.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& -this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var e=new mxPoint(b,f);e.type=d;c.push(e);e=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==e||e.type!=d||e.x!=b||e.y!=f},t=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var n=d[h+1],q=d[h],w=[],u=d[h+2];h< -d.length-2&&mxUtils.ptSegDistSq(q.x,q.y,u.x,u.y,n.x,n.y)<1*this.scale*this.scale;)n=u,h++,u=d[h+2];for(var b=e(0,q.x,q.y)||b,k=0;k<this.validEdges.length;k++){var r=this.validEdges[k],z=r.absolutePoints;if(null!=z&&mxUtils.intersects(a,r)&&"1"!=r.style.noJump)for(r=0;r<z.length-1;r++){for(var l=z[r+1],p=z[r],u=z[r+2];r<z.length-2&&mxUtils.ptSegDistSq(p.x,p.y,u.x,u.y,l.x,l.y)<1*this.scale*this.scale;)l=u,r++,u=z[r+2];u=mxUtils.intersection(q.x,q.y,n.x,n.y,p.x,p.y,l.x,l.y);if(null!=u&&(Math.abs(u.x- -p.x)>t||Math.abs(u.y-p.y)>t)&&(Math.abs(u.x-l.x)>t||Math.abs(u.y-l.y)>t)){l=u.x-q.x;p=u.y-q.y;u={distSq:l*l+p*p,x:u.x,y:u.y};for(l=0;l<w.length;l++)if(w[l].distSq>u.distSq){w.splice(l,0,u);u=null;break}null==u||0!=w.length&&w[w.length-1].x===u.x&&w[w.length-1].y===u.y||w.push(u)}}}for(r=0;r<w.length;r++)b=e(1,w[r].x,w[r].y)||b}u=d[d.length-1];b=e(0,u.x,u.y)||b}a.routedPoints=c;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,d,b){this.routedPoints= -null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,q=null,w=null;h=[];var u=null;a.begin();for(var y=0;y<this.state.routedPoints.length;y++){var r= -this.state.routedPoints[y],z=new mxPoint(r.x/this.scale,r.y/this.scale);0==y?z=d[0]:y==this.state.routedPoints.length-1&&(z=d[d.length-1]);var l=!1;if(null!=q&&1==r.type){var p=this.state.routedPoints[y+1],r=p.x/this.scale-z.x,p=p.y/this.scale-z.y,r=r*r+p*p;null==u&&(u=new mxPoint(z.x-q.x,z.y-q.y),w=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*f/w,u.y=u.y*f/w);r>f*f&&0<w&&(r=q.x-z.x,p=q.y-z.y,r=r*r+p*p,r>f*f&&(l=new mxPoint(z.x-u.x,z.y-u.y),r=new mxPoint(z.x+u.x,z.y+u.y),h.push(l),this.addPoints(a,h,b,c,!1, -null,n),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(l.x-u.y*h,l.y+u.x*h),a.lineTo(r.x-u.y*h,r.y+u.x*h),a.lineTo(r.x,r.y)):"arc"==e?(h*=1.3,a.curveTo(l.x-u.y*h,l.y+u.x*h,r.x-u.y*h,r.y+u.x*h,r.x,r.y)):(a.moveTo(r.x,r.y),n=!0),h=[r],l=!0))}else u=null;l||(h.push(z),q=z)}this.addPoints(a,h,b,c,!1,null,n);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null== -a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),e=this.graph.isOrthogonal(a),g=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=g)var q=Math.cos(-g),w=Math.sin(-g),f=mxUtils.getRotatedPoint(f,q,w,n);q=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);q+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| -0);f=this.getPerimeterPoint(d,f,0==g&&e,q);0!=g&&(q=Math.cos(g),w=Math.sin(g),f=mxUtils.getRotatedPoint(f,q,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var m=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||m<c)b=g,c=m}}null!=b&&(e=b)}return e}; -var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,d,b){var c=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(c=b.state.view.graph.replacePlaceholders(b.state.cell,c));return c};var r=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var d=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=d&&"stencil("==d.substring(0,8))try{var b= -d.substring(8,d.length-1),c=mxUtils.parseXml(a.view.graph.decompress(b));return new mxShape(new mxStencil(c.documentElement))}catch(m){null!=window.console&&console.log("Error in shape: "+m)}}return r.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; -mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var c=0;c<b.length;c++){var k=b[c];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var l= -mxUtils.load(k);null!=l&&200<=l.getStatus()&&299>=l.getStatus()&&eval.call(window,l.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",k,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; +(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,c){var d=this.getState(a);null!=d&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=b.apply(this,arguments);null!= +d&&this.graph.model.isEdge(d.cell)&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,c){return e.apply(this,arguments)||null!=a.routedPoints&&null!=c.routedPoints&&!mxUtils.equalPoints(c.routedPoints,a.routedPoints)};var d=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){d.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& +this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var c=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,d=null;if(null!=c&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(c,b,f){var e=new mxPoint(b,f);e.type=c;d.push(e);e=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==e||e.type!=c||e.x!=b||e.y!=f},t=.5*this.scale,b=!1,d=[],h=0;h<c.length-1;h++){for(var n=c[h+1],l=c[h],w=[],q=c[h+2];h< +c.length-2&&mxUtils.ptSegDistSq(l.x,l.y,q.x,q.y,n.x,n.y)<1*this.scale*this.scale;)n=q,h++,q=c[h+2];for(var b=e(0,l.x,l.y)||b,k=0;k<this.validEdges.length;k++){var r=this.validEdges[k],z=r.absolutePoints;if(null!=z&&mxUtils.intersects(a,r)&&"1"!=r.style.noJump)for(r=0;r<z.length-1;r++){for(var p=z[r+1],m=z[r],q=z[r+2];r<z.length-2&&mxUtils.ptSegDistSq(m.x,m.y,q.x,q.y,p.x,p.y)<1*this.scale*this.scale;)p=q,r++,q=z[r+2];q=mxUtils.intersection(l.x,l.y,n.x,n.y,m.x,m.y,p.x,p.y);if(null!=q&&(Math.abs(q.x- +m.x)>t||Math.abs(q.y-m.y)>t)&&(Math.abs(q.x-p.x)>t||Math.abs(q.y-p.y)>t)){p=q.x-l.x;m=q.y-l.y;q={distSq:p*p+m*m,x:q.x,y:q.y};for(p=0;p<w.length;p++)if(w[p].distSq>q.distSq){w.splice(p,0,q);q=null;break}null==q||0!=w.length&&w[w.length-1].x===q.x&&w[w.length-1].y===q.y||w.push(q)}}}for(r=0;r<w.length;r++)b=e(1,w[r].x,w[r].y)||b}q=c[c.length-1];b=e(0,q.x,q.y)||b}a.routedPoints=d;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,c,b){this.routedPoints= +null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)k.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,l=null,w=null;h=[];var q=null;a.begin();for(var y=0;y<this.state.routedPoints.length;y++){var r= +this.state.routedPoints[y],z=new mxPoint(r.x/this.scale,r.y/this.scale);0==y?z=c[0]:y==this.state.routedPoints.length-1&&(z=c[c.length-1]);var p=!1;if(null!=l&&1==r.type){var m=this.state.routedPoints[y+1],r=m.x/this.scale-z.x,m=m.y/this.scale-z.y,r=r*r+m*m;null==q&&(q=new mxPoint(z.x-l.x,z.y-l.y),w=Math.sqrt(q.x*q.x+q.y*q.y),q.x=q.x*f/w,q.y=q.y*f/w);r>f*f&&0<w&&(r=l.x-z.x,m=l.y-z.y,r=r*r+m*m,r>f*f&&(p=new mxPoint(z.x-q.x,z.y-q.y),r=new mxPoint(z.x+q.x,z.y+q.y),h.push(p),this.addPoints(a,h,b,d,!1, +null,n),h=0>Math.round(q.x)||0==Math.round(q.x)&&0>=Math.round(q.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(p.x-q.y*h,p.y+q.x*h),a.lineTo(r.x-q.y*h,r.y+q.x*h),a.lineTo(r.x,r.y)):"arc"==e?(h*=1.3,a.curveTo(p.x-q.y*h,p.y+q.x*h,r.x-q.y*h,r.y+q.x*h,r.x,r.y)):(a.moveTo(r.x,r.y),n=!0),h=[r],p=!0))}else q=null;p||(h.push(z),l=z)}this.addPoints(a,h,b,d,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,c,b,d){if(null==c||null== +a||"1"!=c.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{c=this.getTerminalPort(a,c,d);var f=this.getNextPoint(a,b,d),e=this.graph.isOrthogonal(a),g=mxUtils.toRadians(Number(c.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(c.getCenterX(),c.getCenterY());if(0!=g)var l=Math.cos(-g),w=Math.sin(-g),f=mxUtils.getRotatedPoint(f,l,w,n);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| +0);f=this.getPerimeterPoint(c,f,0==g&&e,l);0!=g&&(l=Math.cos(g),w=Math.sin(g),f=mxUtils.getRotatedPoint(f,l,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,c,b,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,c,b,d,e){if(null!=c&&null!=a){a=this.graph.getAllConnectionConstraints(c);d=b=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(c,a[f]);if(null!=g){var n=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||n<d)b=g,d=n}}null!=b&&(e=b)}return e}; +var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,c,b){var d=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(d=b.state.view.graph.replacePlaceholders(b.state.cell,d));return d};var r=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var c=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=c&&"stencil("==c.substring(0,8))try{var b= +c.substring(8,c.length-1),d=mxUtils.parseXml(a.view.graph.decompress(b));return new mxShape(new mxStencil(d.documentElement))}catch(u){null!=window.console&&console.log("Error in shape: "+u)}}return r.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; +mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var d=0;d<b.length;d++){var k=b[d];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var m= +mxUtils.load(k);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",k,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var b=a[1],e=2;e<a.length-1;e++)b+="/"+a[e];return b}; -mxStencilRegistry.loadStencilSet=function(a,b,e,c){var k=mxStencilRegistry.packages[a];if(null!=e&&e||null==k){var l=!1;if(null==k)try{if(c){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(c){null!=c&&null!=c.documentElement&&(mxStencilRegistry.packages[a]=c,l=!0,mxStencilRegistry.parseStencilSet(c.documentElement,b,l))}));return}k=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=k;l=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=k&&null!= -k.documentElement&&mxStencilRegistry.parseStencilSet(k.documentElement,b,l)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; -mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var c=a.firstChild;null!=c;)"shapes"==c.nodeName&&mxStencilRegistry.parseStencilSet(c,b,e),c=c.nextSibling;else{e=null!=e?e:!0;var c=a.firstChild,k="";a=a.getAttribute("name");for(null!=a&&(k=a+".");null!=c;){if(c.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=c.getAttribute("name"),null!=a)){var k=k.toLowerCase(),l=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(k+l.toLowerCase(),new mxStencil(c));if(null!=b){var p=c.getAttribute("w"), -r=c.getAttribute("h"),p=null==p?80:parseInt(p,10),r=null==r?80:parseInt(r,10);b(k,l,a,p,r)}}c=c.nextSibling}}}; +mxStencilRegistry.loadStencilSet=function(a,b,e,d){var k=mxStencilRegistry.packages[a];if(null!=e&&e||null==k){var m=!1;if(null==k)try{if(d){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(d){null!=d&&null!=d.documentElement&&(mxStencilRegistry.packages[a]=d,m=!0,mxStencilRegistry.parseStencilSet(d.documentElement,b,m))}));return}k=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=k;m=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=k&&null!= +k.documentElement&&mxStencilRegistry.parseStencilSet(k.documentElement,b,m)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; +mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,b,e),d=d.nextSibling;else{e=null!=e?e:!0;var d=a.firstChild,k="";a=a.getAttribute("name");for(null!=a&&(k=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var k=k.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(k+m.toLowerCase(),new mxStencil(d));if(null!=b){var p=d.getAttribute("w"), +r=d.getAttribute("h"),p=null==p?80:parseInt(p,10),r=null==r?80:parseInt(r,10);b(k,m,a,p,r)}}d=d.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#99ccff";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= "#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=8;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var b=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| b.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); -for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[d];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var c=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=c.apply(this,arguments),d=a.getCell; -a.getCell=mxUtils.bind(this,function(a){var b=d.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& +for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments),c=a.getCell; +a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& (a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&& null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; -Graph.prototype.importGraphModel=function(a,d,b,c){d=null!=d?d:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var q=e.getChildAt(e.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))q=this.importCells([q],0,0,this.model.getRoot(),null,g)[0],m=this.model.getChildren(q),this.moveCells(m,d,b),f=f.concat(m);else var m= -e.getChildren(q),f=f.concat(this.importCells(m,d,b,this.getDefaultParent(),null,g))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(f,!0);null!=n&&this.moveCells(f,d-n.x,b-n.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];c.push(new mxConnectionConstraint(new mxPoint(e[0], -e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return c}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);null!=d&&(d=mxUtils.getValue(d,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, -this.setCellStyles(mxConstants.STYLE_ELBOW,d,[a]))}};Graph.prototype.isValidRoot=function(a){for(var d=this.model.getChildCount(a),b=0,c=0;c<d;c++){var f=this.model.getChildAt(a,c);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(d,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, -arguments)&&"0"!=mxUtils.getValue(d,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var d=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(d&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(d=!1))}return d};Graph.prototype.getPreferredSizeForCell= -function(a){var d=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=d&&(d.width+=10,d.height+=4,this.gridEnabled&&(d.width=this.snap(d.width),d.height=this.snap(d.height)));return d};Graph.prototype.turnShapes=function(a){var d=this.getModel(),b=[];d.beginUpdate();try{for(var c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var e=d.getTerminal(f,!0),g=d.getTerminal(f,!1);d.setTerminal(f,g,!0);d.setTerminal(f,e,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); -var q=h.getTerminalPoint(!0),m=h.getTerminalPoint(!1);h.setTerminalPoint(q,!1);h.setTerminalPoint(m,!0);d.setGeometry(f,h);var n=this.view.getState(f),u=this.view.getState(e),t=this.view.getState(g);if(null!=n){var w=null!=u?this.getConnectionConstraint(n,u,!0):null,Q=null!=t?this.getConnectionConstraint(n,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/ -2;h.y+=h.height/2-h.width/2;var k=h.width;h.width=h.height;h.height=k;d.setGeometry(f,h);var r=this.view.getState(f);if(null!=r){var y=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==y?y="south":"south"==y?y="west":"west"==y?y="north":"north"==y&&(y="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,y,[f])}b.push(f)}}}finally{d.endUpdate()}return b};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& -null!=a.cell.value&&"object"==typeof a.cell.value){var d=this.model.getDescendants(a.cell);if(0<d.length)for(var b=0;b<d.length;b++)this.isReplacePlaceholders(d[b])&&this.view.invalidate(d[b],!1,!1)}};Graph.prototype.replaceElement=function(a,d){for(var b=a.ownerDocument.createElement(null!=d?d:"span"),c=Array.prototype.slice.call(a.attributes);attr=c.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.updateLabelElements=function(a, -d,b){a=null!=a?a:this.getSelectionCells();for(var c=document.createElement("div"),f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){c.innerHTML=e;for(var g=c.getElementsByTagName(null!=b?b:"*"),h=0;h<g.length;h++)d(g[h]);c.innerHTML!=e&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.zapGremlins(d);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& -null!=a.getAttribute("placeholder"))for(var c=a.getAttribute("placeholder"),f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&f.hasAttribute(c)){this.setAttributeForCell(f,c,d);break}f=this.model.getParent(f)}var e=a.value.cloneNode(!0);e.setAttribute("label",d);d=e}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0); -for(var c=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f||d.get(f)||(d.put(f,!0),c.push(f))}for(b=0;b<c.length;b++)if(f=this.view.getState(c[b]),null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&& -e;g++)d.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var c=this.view.getState(a[b]);if(null!=c){var f=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&c==mxConstants.NONE&&d.push(a[b])}}a=d;mxGraph.prototype.removeCellsAfterUngroup.apply(this, -arguments)};Graph.prototype.setLinkForCell=function(a,d){this.setAttributeForCell(a,"link",d)};Graph.prototype.setTooltipForCell=function(a,d){this.setAttributeForCell(a,"tooltip",d)};Graph.prototype.setAttributeForCell=function(a,d,b){var c;null!=a.value&&"object"==typeof a.value?c=a.value.cloneNode(!0):(c=mxUtils.createXmlDocument().createElement("UserObject"),c.setAttribute("label",a.value||""));null!=b&&0<b.length?c.setAttribute(d,b):c.removeAttribute(d);this.model.setValue(a,c)};Graph.prototype.getDropTarget= -function(a,d,b,c){this.getModel();if(mxEvent.isAltDown(d))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,d){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a)); -if(null!=a&&!this.model.isVertex(d)){var c=this.model.isEdge(d)?this.view.getState(d):null,f=mxEvent.getSource(a);this.firstClickState!=c||this.firstClickSource!=f||null!=c&&null!=c.text&&null!=c.text.node&&(mxUtils.contains(c.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(c.text.node,mxEvent.getSource(a)))||(null!=c||this.isCellLocked(this.getDefaultParent()))&&(null==c||this.isCellLocked(c.cell))||!(null!=c||mxClient.IS_VML&&f==this.view.getCanvas()||mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)|| -(d=this.addText(b.x,b.y,c))}mxGraph.prototype.dblClick.call(this,a,d)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),d=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var c=this.getPageLayout(),f=this.getPageSize(),d=Math.max(d,c.x*f.width),b=Math.max(b,c.y*f.height);return new mxPoint(this.snap(d+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view, -d=this.getGraphBounds(),b=this.getInsertPoint(),c=this.snap(Math.round(Math.max(b.x,d.x/a.scale-a.translate.x+(0==d.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(d.y+d.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(c,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,d,b){var c=new mxCell;c.value="Text";c.style="text;html=1;resizable=0;points=[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+= -"align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";c.geometry.relative=!0;c.connectable=!1;var f=this.view.getRelativePoint(b,a,d);c.geometry.x=Math.round(1E4*f.x)/1E4;c.geometry.y=Math.round(f.y);c.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,c.geometry),e=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((d-f.y)/e))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",f=this.view.translate,c.geometry.width=40,c.geometry.height= -20,c.geometry.x=Math.round(a/this.view.scale)-f.x,c.geometry.y=Math.round(d/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([c],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[c])),this.autoSizeCell(c)}finally{this.getModel().endUpdate()}return c};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler= -function(a,d,b){var c=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=c&&(a[b].setAttribute("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,e=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g, -a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;if(null==d||null==g.getLinkForCell(d.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==g.getLinkForCell(a.cell)}),d=g.view.getState(a);d!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=d,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,d){this.startX=d.getGraphX();this.startY=d.getGraphY();this.scrollLeft= -g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(d)},mouseMove:function(a,d){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>e||c>e)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&& -null!=this.currentState&&g.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||d.getState()!=this.currentState&&null!=d.sourceState||!g.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==c.sourceState||!c.isSource(c.sourceState.control))&& -((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)< -e&&Math.abs(this.startX-c.getGraphX())<e&&Math.abs(this.startY-c.getGraphY())<e&&b(c.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}}; -g.click=function(a){};g.addMouseListener(h);mxEvent.addListener(document,"mouseleave",function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();d=null!=d?d:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),c=this.gridSize,f=[];b.beginUpdate();try{for(var e=this.cloneCells(a,!1),g=0;g<a.length;g++){var h=b.getParent(a[g]),q=this.moveCells([e[g]],c,c,!1)[0];f.push(q);if(d)b.add(h,e[g]);else{var m=h.getIndex(a[g]);b.add(h,e[g],m+1)}}}finally{b.endUpdate()}return f}; -Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<c.length;e++)f.push(c[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",d);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink", -!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var d=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return d||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,d){null==d&&(d=this.getSelectionCells());if(null!=d&&1<d.length){for(var b=[],c=null,f=null,e=0;e<d.length;e++)if(this.getModel().isVertex(d[e])){var g=this.view.getState(d[e]); -if(null!=g){var h=a?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;b.push(g)}}if(2<b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});g=this.view.translate;h=this.view.scale;f=f/h-(a?g.x:g.y);c=c/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var q=(c-f)/(b.length-1),c=f,e=1;e<b.length-1;e++){var m=this.view.getState(this.model.getParent(b[e].cell)),n=this.getCellGeometry(b[e].cell),c=c+q;null!=n&&null!=m&&(n=n.clone(),a?n.x=Math.round(c-n.width/2)-m.origin.x: -n.y=Math.round(c-n.height/2)-m.origin.y,this.getModel().setGeometry(b[e].cell,n))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var e=this.getCellGeometry(d[c]);null==e||!e.relative||this.model.isEdge(a[c])|| -b.get(this.model.getParent(a[c]))||(e.relative=!1,e.x=f.x/f.view.scale-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(e,d[c]);return b.encode(f)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,d){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,d,b,c,f,e,g,h){d=null!=d?d:1;b=null!=b?b:0; -f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;c=e||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var q=this.view.scale,m=mxUtils.createXmlDocument(),n=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==m.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink", -mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=d/q;n.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");n.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");n.setAttribute("version","1.1");var u=n;f&&(u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(u));m.appendChild(n);m=this.createSvgCanvas(u);m.foOffset= -f?-.5:0;m.textOffset=f?-.5:0;m.imageOffset=f?-.5:0;m.translate(Math.floor((b/d-c.x)/q),Math.floor((b/d-c.y)/q));var t=document.createElement("textarea"),w=m.createAlternateContent;m.createAlternateContent=function(a,d,b,c,f,e,g,h,m,q,n,u,k){var r=this.state;if(null!=this.foAltText&&(0==c||0!=r.fontSize&&e.length<5*c/r.fontSize)){var y=this.createElement("text");y.setAttribute("x",Math.round(c/2));y.setAttribute("y",Math.round((f+r.fontSize)/2));y.setAttribute("fill",r.fontColor||"black");y.setAttribute("text-anchor", -"middle");y.setAttribute("font-size",Math.round(r.fontSize)+"px");y.setAttribute("font-family",r.fontFamily);(r.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&y.setAttribute("font-weight","bold");(r.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&y.setAttribute("font-style","italic");(r.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&y.setAttribute("text-decoration","underline");try{return t.innerHTML=e,y.textContent=t.value,y}catch(Ba){return w.apply(this, -arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;null!=b&&(f=q/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&m.image(d.x,d.y,b.width,b.height,b.src,!0));m.scale(a);m.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var k=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(e||c)&&k.apply(this, -arguments)};h.drawState(this.getView().getState(this.model.root),m);return n};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var d=window.getSelection();d.getRangeAt&&d.rangeCount&&(a=d.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,d,b){for(;null!=a&&a.nodeName!=d;){if(a== -b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var d=null;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){var b=document.createRange();b.selectNode(a);d.removeAllRanges();d.addRange(b)}}else(d=document.selection)&&"Control"!=d.type&&(a=d.createRange(),a.collapse(!0),b=d.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,d){for(var b=a.tBodies[0],c=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(d), -f=0;f<c;f++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,d){a.tBodies[0].deleteRow(d)};Graph.prototype.insertColumn=function(a,d){var b=a.tHead;if(null!=b)for(var c=0;c<b.rows.length;c++){var f=document.createElement("th");b.rows[c].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(c=0;c<b.rows.length;c++)f=b.rows[c].insertCell(d),mxUtils.br(f);return b.rows[0].cells[0<=d?d:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,d){if(0<=d)for(var b= -a.tBodies[0].rows,c=0;c<b.length;c++)b[c].cells.length>d&&b[c].deleteCell(d)};Graph.prototype.pasteHtmlAtCaret=function(a){var d;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){d=d.getRangeAt(0);d.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var c;c=b.firstChild;)lastNode=a.appendChild(c);d.insertNode(a)}}else(d=document.selection)&&"Control"!=d.type&&d.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint= -function(a,d){d=null!=d?d:a;var b=document.createElement("a");b.setAttribute("href",this.getAbsoluteUrl(a));null==a||this.isCustomLink(a)||b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<d.length&&(d=d.substring(0,26)+"..."+d.substring(d.length-10));mxUtils.write(b,d);return b};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a, -d){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(d){d=a.apply(this,arguments);if(mxEvent.isTouchEvent(d.getEvent())&&null==d.getState()){var b=this.getCellAt(d.graphX,d.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,d.graphX,d.graphY)||(d.state=this.view.getState(b),null!=d.state&&null!=d.state.shape&&(this.container.style.cursor=d.state.shape.node.style.cursor))}null==d.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); -return d};var d=!1,b=!1,c=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),d=this.isCellSelected(e.getCell()),b=this.isSelectionEmpty(),c=this.popupMenuHandler.isMenuShowing());f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!c&&!mxEvent.isMouseEvent(f.getEvent())&& -(b&&null==f.getCell()&&this.isSelectionEmpty()||d&&this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var d=[],b=0,c=a.rangeCount;b<c;++b)d.push(a.getRangeAt(b));return d}}else if(document.selection&& -document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var d=0,b=a.length;d<b;++d)sel.addRange(a[d])}else document.selection&&a.select&&a.select()}catch(F){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", -"1"));k.apply(this,arguments)};var l=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?l.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var p=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){p.apply(this, -arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),c=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=c&&c.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| -mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var r=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function d(a,b){b.originalNode=a;a=a.firstChild;for(var c=b.firstChild;null!=a&&null!=c;)d(a,c),a=a.nextSibling,c=c.nextSibling;return b}function b(a,d){if(null!=a)if(d.originalNode!=a)c(a);else for(a=a.firstChild,d=d.firstChild;null!=a;){var f= -a.nextSibling;null==d?c(a):(b(a,d),d=d.nextSibling);a=f}}function c(a){for(var d=a.firstChild;null!=d;){var b=d.nextSibling;c(d);d=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), -a.removeAttribute("border"))):a.parentNode.removeChild(a)}r.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var c=d(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br", -"1"),b=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style, -mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT; -this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=e?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= -!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var c=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? -Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); -this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,d){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var c=null!=a.text?a.text.margin:null;null==c&&(c=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, -mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=c.x*this.bounds.width;this.bounds.y+=c.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/b)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/b)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/b)+(this.textarea.offsetHeight- +Graph.prototype.importGraphModel=function(a,c,b,d){c=null!=c?c:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},l=0;l<a;l++){var h=e.getChildAt(e.getRoot(),l);if(1!=a||this.isCellLocked(this.getDefaultParent()))h=this.importCells([h],0,0,this.model.getRoot(),null,g)[0],q=this.model.getChildren(h),this.moveCells(q,c,b),f=f.concat(q);else var q= +e.getChildren(h),f=f.concat(this.importCells(q,c,b,this.getDefaultParent(),null,g))}if(d){this.isGridEnabled()&&(c=this.snap(c),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(f,!0);null!=n&&this.moveCells(f,c-n.x,b-n.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var d=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];d.push(new mxConnectionConstraint(new mxPoint(e[0], +e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, +this.setCellStyles(mxConstants.STYLE_ELBOW,c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,d=0;d<c;d++){var f=this.model.getChildAt(a,d);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, +arguments)&&"0"!=mxUtils.getValue(c,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(c&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell= +function(a){var c=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate();try{for(var d=0;d<a.length;d++){var f=a[d];if(c.isEdge(f)){var e=c.getTerminal(f,!0),g=c.getTerminal(f,!1);c.setTerminal(f,g,!0);c.setTerminal(f,e,!1);var l=c.getGeometry(f);if(null!=l){l=l.clone();null!=l.points&&l.points.reverse(); +var h=l.getTerminalPoint(!0),q=l.getTerminalPoint(!1);l.setTerminalPoint(h,!1);l.setTerminalPoint(q,!0);c.setGeometry(f,l);var n=this.view.getState(f),u=this.view.getState(e),t=this.view.getState(g);if(null!=n){var w=null!=u?this.getConnectionConstraint(n,u,!0):null,Q=null!=t?this.getConnectionConstraint(n,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(c.isVertex(f)&&(l=this.getCellGeometry(f),null!=l)){l=l.clone();l.x+=l.width/2-l.height/ +2;l.y+=l.height/2-l.width/2;var r=l.width;l.width=l.height;l.height=r;c.setGeometry(f,l);var k=this.view.getState(f);if(null!=k){var y=k.style[mxConstants.STYLE_DIRECTION]||"east";"east"==y?y="south":"south"==y?y="west":"west"==y?y="north":"north"==y&&(y="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,y,[f])}b.push(f)}}}finally{c.endUpdate()}return b};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& +null!=a.cell.value&&"object"==typeof a.cell.value){var c=this.model.getDescendants(a.cell);if(0<c.length)for(var b=0;b<c.length;b++)this.isReplacePlaceholders(c[b])&&this.view.invalidate(c[b],!1,!1)}};Graph.prototype.replaceElement=function(a,c){for(var b=a.ownerDocument.createElement(null!=c?c:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.updateLabelElements=function(a, +c,b){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){d.innerHTML=e;for(var g=d.getElementsByTagName(null!=b?b:"*"),l=0;l<g.length;l++)c(g[l]);d.innerHTML!=e&&this.cellLabelChanged(a[f],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,c,b){c=this.zapGremlins(c);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& +null!=a.getAttribute("placeholder"))for(var d=a.getAttribute("placeholder"),f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&f.hasAttribute(d)){this.setAttributeForCell(f,d,c);break}f=this.model.getParent(f)}var e=a.value.cloneNode(!0);e.setAttribute("label",c);c=e}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var c=new mxDictionary,b=0;b<a.length;b++)c.put(a[b],!0); +for(var d=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f||c.get(f)||(c.put(f,!0),d.push(f))}for(b=0;b<d.length;b++)if(f=this.view.getState(d[b]),null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&& +e;g++)c.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var c=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var d=this.view.getState(a[b]);if(null!=d){var f=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&d==mxConstants.NONE&&c.push(a[b])}}a=c;mxGraph.prototype.removeCellsAfterUngroup.apply(this, +arguments)};Graph.prototype.setLinkForCell=function(a,c){this.setAttributeForCell(a,"link",c)};Graph.prototype.setTooltipForCell=function(a,c){this.setAttributeForCell(a,"tooltip",c)};Graph.prototype.setAttributeForCell=function(a,c,b){var d;null!=a.value&&"object"==typeof a.value?d=a.value.cloneNode(!0):(d=mxUtils.createXmlDocument().createElement("UserObject"),d.setAttribute("label",a.value||""));null!=b&&0<b.length?d.setAttribute(c,b):d.removeAttribute(c);this.model.setValue(a,d)};Graph.prototype.getDropTarget= +function(a,c,b,d){this.getModel();if(mxEvent.isAltDown(c))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,c){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a)); +if(null!=a&&!this.model.isVertex(c)){var d=this.model.isEdge(c)?this.view.getState(c):null,f=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=f||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&f==this.view.getCanvas()||mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)|| +(c=this.addText(b.x,b.y,d))}mxGraph.prototype.dblClick.call(this,a,c)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),c=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),f=this.getPageSize(),c=Math.max(c,d.x*f.width),b=Math.max(b,d.y*f.height);return new mxPoint(this.snap(c+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view, +c=this.getGraphBounds(),b=this.getInsertPoint(),d=this.snap(Math.round(Math.max(b.x,c.x/a.scale-a.translate.x+(0==c.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(c.y+c.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,c,b){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=b){d.style+= +"align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative=!0;d.connectable=!1;var f=this.view.getRelativePoint(b,a,c);d.geometry.x=Math.round(1E4*f.x)/1E4;d.geometry.y=Math.round(f.y);d.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,d.geometry),e=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((c-f.y)/e))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",f=this.view.translate,d.geometry.width=40,d.geometry.height= +20,d.geometry.x=Math.round(a/this.view.scale)-f.x,d.geometry.y=Math.round(c/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([d],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler= +function(a,c,b){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var d=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=d&&(a[b].setAttribute("href",d),null!=c&&mxEvent.addGestureListeners(a[b],null,null,c))}});this.model.addListener(mxEvent.CHANGE,d);d();var f=this.container.style.cursor,e=this.getTolerance(),g=this,l={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g, +a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var c=a.sourceState;if(null==c||null==g.getLinkForCell(c.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,c,b){return null==g.getLinkForCell(a.cell)}),c=g.view.getState(a);c!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=c,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft= +g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(c)},mouseMove:function(a,c){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-c.getGraphX()),d=Math.abs(this.startY-c.getGraphY());(b>e||d>e)&&this.clear()}}else{for(b=c.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&& +null!=this.currentState&&g.tooltipHandler.reset(c,!0,this.currentState),(null==this.currentState||c.getState()!=this.currentState&&null!=c.sourceState||!g.intersects(this.currentState,c.getGraphX(),c.getGraphY()))&&this.updateCurrentState(c))}},mouseUp:function(a,d){for(var f=d.getSource(),l=d.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==d.sourceState||!d.isSource(d.sourceState.control))&& +((mxEvent.isLeftMouseButton(l)||mxEvent.isMiddleMouseButton(l))&&!mxEvent.isPopupTrigger(l)||mxEvent.isTouchEvent(l))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==c||c(l,this.currentLink),mxEvent.isConsumed(l)||(l=mxEvent.isMiddleMouseButton(l)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,l),d.consume())):null!=b&&!d.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)< +e&&Math.abs(this.startX-d.getGraphX())<e&&Math.abs(this.startY-d.getGraphY())<e&&b(d.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}}; +g.click=function(a){};g.addMouseListener(l);mxEvent.addListener(document,"mouseleave",function(a){l.clear()})};Graph.prototype.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();c=null!=c?c:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),d=this.gridSize,f=[];b.beginUpdate();try{for(var e=this.cloneCells(a,!1),g=0;g<a.length;g++){var l=b.getParent(a[g]),h=this.moveCells([e[g]],d,d,!1)[0];f.push(h);if(c)b.add(l,e[g]);else{var q=l.getIndex(a[g]);b.add(l,e[g],q+1)}}}finally{b.endUpdate()}return f}; +Graph.prototype.insertImage=function(a,c,b){if(null!=a){for(var d=this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<d.length;e++)f.push(d[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",c);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink", +!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var c=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return c||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,c){null==c&&(c=this.getSelectionCells());if(null!=c&&1<c.length){for(var b=[],d=null,f=null,e=0;e<c.length;e++)if(this.getModel().isVertex(c[e])){var g=this.view.getState(c[e]); +if(null!=g){var l=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,l):l,f=null!=f?Math.min(f,l):l;b.push(g)}}if(2<b.length){b.sort(function(c,b){return a?c.x-b.x:c.y-b.y});g=this.view.translate;l=this.view.scale;f=f/l-(a?g.x:g.y);d=d/l-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var h=(d-f)/(b.length-1),d=f,e=1;e<b.length-1;e++){var q=this.view.getState(this.model.getParent(b[e].cell)),n=this.getCellGeometry(b[e].cell),d=d+h;null!=n&&null!=q&&(n=n.clone(),a?n.x=Math.round(d-n.width/2)-q.origin.x: +n.y=Math.round(d-n.height/2)-q.origin.y,this.getModel().setGeometry(b[e].cell,n))}}finally{this.getModel().endUpdate()}}}return c};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var c=this.cloneCells(a),b=new mxDictionary,d=0;d<a.length;d++)b.put(a[d],!0);for(d=0;d<c.length;d++){var f=this.view.getState(a[d]);if(null!=f){var e=this.getCellGeometry(c[d]);null==e||!e.relative||this.model.isEdge(a[d])|| +b.get(this.model.getParent(a[d]))||(e.relative=!1,e.x=f.x/f.view.scale-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(d=0;d<a.length;d++)f.add(e,c[d]);return b.encode(f)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,c){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,c,b,d,f,e,g,l){c=null!=c?c:1;b=null!=b?b:0; +f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;d=e||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.view.scale,q=mxUtils.createXmlDocument(),n=null!=q.createElementNS?q.createElementNS(mxConstants.NS_SVG,"svg"):q.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==q.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink", +mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=c/h;n.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*b)+"px");n.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*b)+"px");n.setAttribute("version","1.1");var u=n;f&&(u=null!=q.createElementNS?q.createElementNS(mxConstants.NS_SVG,"g"):q.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(u));q.appendChild(n);q=this.createSvgCanvas(u);q.foOffset= +f?-.5:0;q.textOffset=f?-.5:0;q.imageOffset=f?-.5:0;q.translate(Math.floor((b/c-d.x)/h),Math.floor((b/c-d.y)/h));var t=document.createElement("textarea"),w=q.createAlternateContent;q.createAlternateContent=function(a,c,b,d,f,e,g,l,h,q,n,u,r){var k=this.state;if(null!=this.foAltText&&(0==d||0!=k.fontSize&&e.length<5*d/k.fontSize)){var y=this.createElement("text");y.setAttribute("x",Math.round(d/2));y.setAttribute("y",Math.round((f+k.fontSize)/2));y.setAttribute("fill",k.fontColor||"black");y.setAttribute("text-anchor", +"middle");y.setAttribute("font-size",Math.round(k.fontSize)+"px");y.setAttribute("font-family",k.fontFamily);(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&y.setAttribute("font-weight","bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&y.setAttribute("font-style","italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&y.setAttribute("text-decoration","underline");try{return t.innerHTML=e,y.textContent=t.value,y}catch(Ba){return w.apply(this, +arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;null!=b&&(f=h/c,c=this.view.translate,f=new mxRectangle(c.x*f,c.y*f,b.width*f,b.height*f),mxUtils.intersects(d,f)&&q.image(c.x,c.y,b.width,b.height,b.src,!0));q.scale(a);q.textEnabled=g;l=null!=l?l:this.createSvgImageExport();var r=l.drawCellState;l.drawCellState=function(a,c){for(var b=a.view.graph,d=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!d&&null!=f;)d=b.isCellSelected(f),f=b.model.getParent(f);(e||d)&&r.apply(this, +arguments)};l.drawState(this.getView().getState(this.model.root),q);return n};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var c=window.getSelection();c.getRangeAt&&c.rangeCount&&(a=c.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,c,b){for(;null!=a&&a.nodeName!=c;){if(a== +b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var c=null;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){var b=document.createRange();b.selectNode(a);c.removeAllRanges();c.addRange(b)}}else(c=document.selection)&&"Control"!=c.type&&(a=c.createRange(),a.collapse(!0),b=c.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,c){for(var b=a.tBodies[0],d=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(c), +f=0;f<d;f++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,c){a.tBodies[0].deleteRow(c)};Graph.prototype.insertColumn=function(a,c){var b=a.tHead;if(null!=b)for(var d=0;d<b.rows.length;d++){var f=document.createElement("th");b.rows[d].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(d=0;d<b.rows.length;d++)f=b.rows[d].insertCell(c),mxUtils.br(f);return b.rows[0].cells[0<=c?c:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,c){if(0<=c)for(var b= +a.tBodies[0].rows,d=0;d<b.length;d++)b[d].cells.length>c&&b[d].deleteCell(c)};Graph.prototype.pasteHtmlAtCaret=function(a){var c;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){c=c.getRangeAt(0);c.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var d;d=b.firstChild;)lastNode=a.appendChild(d);c.insertNode(a)}}else(c=document.selection)&&"Control"!=c.type&&c.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint= +function(a,c){c=null!=c?c:a;var b=document.createElement("a");b.setAttribute("href",this.getAbsoluteUrl(a));null==a||this.isCustomLink(a)||b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<c.length&&(c=c.substring(0,26)+"..."+c.substring(c.length-10));mxUtils.write(b,c);return b};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a, +c){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(c){c=a.apply(this,arguments);if(mxEvent.isTouchEvent(c.getEvent())&&null==c.getState()){var b=this.getCellAt(c.graphX,c.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,c.graphX,c.graphY)||(c.state=this.view.getState(b),null!=c.state&&null!=c.state.shape&&(this.container.style.cursor=c.state.shape.node.style.cursor))}null==c.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); +return c};var c=!1,b=!1,d=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),c=this.isCellSelected(e.getCell()),b=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(f.getEvent())&& +(b&&null==f.getCell()&&this.isSelectionEmpty()||c&&this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var c=[],b=0,d=a.rangeCount;b<d;++b)c.push(a.getRangeAt(b));return c}}else if(document.selection&& +document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var c=0,b=a.length;c<b;++c)sel.addRange(a[c])}else document.selection&&a.select&&a.select()}catch(F){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", +"1"));k.apply(this,arguments)};var m=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,c){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?m.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var p=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,c){p.apply(this, +arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| +mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var r=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function c(a,b){b.originalNode=a;a=a.firstChild;for(var d=b.firstChild;null!=a&&null!=d;)c(a,d),a=a.nextSibling,d=d.nextSibling;return b}function b(a,c){if(null!=a)if(c.originalNode!=a)d(a);else for(a=a.firstChild,c=c.firstChild;null!=a;){var f= +a.nextSibling;null==c?d(a):(b(a,c),c=c.nextSibling);a=f}}function d(a){for(var c=a.firstChild;null!=c;){var b=c.nextSibling;d(c);c=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), +a.removeAttribute("border"))):a.parentNode.removeChild(a)}r.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var d=c(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){b(this.textarea,d)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),c=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br", +"1"),b=this.saveSelection();if(this.codeViewMode){l=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<l.length&&"\n"==l.charAt(l.length-1)&&(l=l.substring(0,l.length-1));l=this.graph.sanitizeHtml(c?l.replace(/\n/g,"<br/>"):l,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style, +mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT; +this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=e?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=c;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=l&&(this.textarea.innerHTML=l,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= +!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var l=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(l=mxUtils.replaceTrailingNewlines(l,"<div><br></div>"));l=this.graph.sanitizeHtml(c?l.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):l,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? +Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=l&&(this.textarea.innerHTML=l);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); +this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,c){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, +mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/b)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/b)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/b)+(this.textarea.offsetHeight- this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*b);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/b)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*b);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=b:mxUtils.setPrefixedStyle(this.textarea.style, -"transform","scale("+b+","+b+")")}else this.textarea.style.height="",this.textarea.style.overflow="",v.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,d){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,d);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; -mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var d=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return d="1"==mxUtils.getValue(a.style,"nl2Br","1")?d.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):d.replace(/\r\n/g,"").replace(/\n/g,"")};var d=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& -this.toggleViewMode();d.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,d){this.graph.getModel().beginUpdate();try{if(f.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(a.style, -mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==d&&b==mxConstants.NONE&&c==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),d==mxConstants.NONE&&(d=null);return d};mxCellEditor.prototype.getMinimumSize= -function(a){var d=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*d+20,30)};var g=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(d){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,c=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/ -c-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/c-b.y);this.hint.innerHTML=d+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,d){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&& -!mxEvent.isControlDown(d.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,d){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(d.getEvent())||mxEvent.isMetaDown(d.getEvent())}; -var m=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),d=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(d/=2,a.x=this.sizers[0].bounds.width+d,a.y=this.sizers[0].bounds.height+d):a=m.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(d){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)), -this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+"°":(d=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/d)+" x "+this.roundLength(this.bounds.height/d)),d=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),null==d&&(d=this.bounds),this.hint.style.left=d.x+Math.round((d.width-this.hint.clientWidth)/2)+"px",this.hint.style.top=d.y+d.height+12+"px",null!=this.linkHint&& -(this.linkHint.style.display="none"))};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=e+", "+c;this.hint.style.visibility= -"visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(d.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(d.getGraphY(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&& +"transform","scale("+b+","+b+")")}else this.textarea.style.height="",this.textarea.style.overflow="",v.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,c){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,c);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; +mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var c=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return c="1"==mxUtils.getValue(a.style,"nl2Br","1")?c.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):c.replace(/\r\n/g,"").replace(/\n/g,"")};var c=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& +this.toggleViewMode();c.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,c){this.graph.getModel().beginUpdate();try{if(f.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style, +mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==c&&b==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var c=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),c==mxConstants.NONE&&(c=null);return c};mxCellEditor.prototype.getMinimumSize= +function(a){var c=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*c+20,30)};var g=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,c,b,d,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(c){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,d=this.graph.view.scale;c=this.roundLength((this.bounds.x+this.currentDx)/ +d-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/d-b.y);this.hint.innerHTML=c+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,c){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&& +!mxEvent.isControlDown(c.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,c){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(c.getEvent())||mxEvent.isMetaDown(c.getEvent())}; +var u=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),c=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(c/=2,a.x=this.sizers[0].bounds.width+c,a.y=this.sizers[0].bounds.height+c):a=u.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(c){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)), +this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+"°":(c=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/c)+" x "+this.roundLength(this.bounds.height/c)),c=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),null==c&&(c=this.bounds),this.hint.style.left=c.x+Math.round((c.width-this.hint.clientWidth)/2)+"px",this.hint.style.top=c.y+c.height+12+"px",null!=this.linkHint&& +(this.linkHint.style.display="none"))};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(c,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-d.x),d=this.roundLength(b.y/f-d.y);this.hint.innerHTML=e+", "+d;this.hint.style.visibility= +"visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(c.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(c.getGraphY(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&& (this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>'):new mxImage(IMAGE_PATH+"/handle-secondary.png", 17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/><path d="m 7 7 L 11 11 M 7 11 L 11 7" stroke="#fff"/>'):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/><circle cx="9" cy="9" r="2" stroke="#fff" fill="transparent"/>'):new mxImage(IMAGE_PATH+ "/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAYAAACkCdXRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6ZJREFUeNqM001IY1cUB/D/fYmm2sbR2lC1zYlgoRG6MpEyBlpxM9iFIGKFIm3s0lCKjOByhCLZCFqLBF1YFVJdSRbdFHRhBbULtRuFVBTzYRpJgo2mY5OX5N9Fo2TG+eiFA/dd3vvd8+65ByTxshARTdf1JySp6/oTEdFe9T5eg5lIcnBwkCSZyWS+exX40oyur68/KxaLf5Okw+H4X+A9JBaLfUySZ2dnnJqaosPhIAACeC34DJRKpb7IZrMcHx+nwWCgUopGo/EOKwf9fn/1CzERUevr6+9ls1mOjIwQAH0+H4PBIKPR6D2ofAQCgToRUeVYJUkuLy8TANfW1kiS8/PzCy84Mw4MDBAAZ2dnmc/nub+/X0MSEBF1cHDwMJVKsaGhgV6vl+l0mqOjo1+KyKfl1dze3l4NBoM/PZ+diFSLiIKIGBOJxA9bW1sEwNXVVSaTyQMRaRaRxrOzs+9J8ujoaE5EPhQRq67rcZ/PRwD0+/3Udf03EdEgIqZisZibnJykwWDg4eEhd3Z2xkXELCJvPpdBrYjUiEhL+Xo4HH4sIhUaAKNSqiIcDsNkMqG+vh6RSOQQQM7tdhsAQCkFAHC73UUATxcWFqypVApmsxnDw8OwWq2TADQNgAYAFosF+XweyWQSdru9BUBxcXFRB/4rEgDcPouIIx6P4+bmBi0tLSCpAzBqAIqnp6c/dnZ2IpfLYXNzE62traMADACKNputpr+/v8lms9UAKAAwiMjXe3t7KBQKqKurQy6Xi6K0i2l6evpROp1mbW0t29vbGY/Hb8/IVIqq2zlJXl1dsaOjg2azmefn5wwEAl+JSBVExCgi75PkzMwMlVJsbGxkIpFgPp8PX15ePopEIs3JZPITXdf/iEajbGpqolKKExMT1HWdHo/nIxGpgIgoEXnQ3d39kCTHxsYIgC6Xi3NzcwyHw8xkMozFYlxaWmJbWxuVUuzt7WUul6PX6/1cRN4WEe2uA0SkaWVl5XGpRVhdXU0A1DSNlZWVdz3qdDrZ09PDWCzG4+Pjn0XEWvp9KJKw2WwKwBsA3gHQHAqFfr24uMDGxgZ2d3cRiUQAAHa7HU6nE319fTg5Ofmlq6vrGwB/AngaCoWK6rbsNptNA1AJoA7Aux6Pp3NoaMhjsVg+QNmIRqO/u1yubwFEASRKUAEA7rASqABUAKgC8KAUb5XWCOAfAFcA/gJwDSB7C93DylCtdM8qABhLc5TumV6KQigUeubjfwcAHkQJ94ndWeYAAAAASUVORK5CYII=": @@ -2388,233 +2389,234 @@ HoverIcons.prototype.fixedHandle;mxEdgeHandler.prototype.labelHandleImage=HoverI Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src=HoverIcons.prototype.triangleDown.src, (new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxVertexHandler.prototype.rotationHandleVSpacing= -20;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())}; -if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return null== -a.getState()&&!mxEvent.isMouseEvent(d)||mxEvent.isPopupTrigger(d)&&(null==a.getState()||mxEvent.isControlDown(d)||mxEvent.isShiftDown(d))};var t=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){t.apply(this,arguments);mxEvent.isTouchEvent(d.getEvent())&&this.graph.isCellSelected(d.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return mxEvent.isLeftMouseButton(d)&& -(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(d)&&!mxEvent.isShiftDown(d))||this.usePopupTrigger&&mxEvent.isPopupTrigger(d)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,d){var b=null!=this.div&&"none"!=this.div.style.display,c=null,f=null,e=null,g=null;null!=this.first&& -null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,e=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),h= -this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var m=this.graph.view.getState(h[b]),q=this.graph.getCellGeometry(h[b]);null!=m&&null!=q&&(q=q.clone(),q.translate(e,g),this.graph.model.setGeometry(h[b],q))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y, -this.width,this.height),this.graph.selectRegion(e,d.getEvent());d.consume()}};mxRubberband.prototype.mouseMove=function(a,d){if(!d.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),c=mxUtils.getOffset(this.graph.container);b.x-=c.x;b.y-=c.y;var c=d.getX()+b.x,b=d.getY()+b.y,f=this.first.x-c,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b), -this.isSpaceEvent(d)?(c=this.x+this.width,b=this.y+this.height,f=this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=c-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= +if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return null== +a.getState()&&!mxEvent.isMouseEvent(c)||mxEvent.isPopupTrigger(c)&&(null==a.getState()||mxEvent.isControlDown(c)||mxEvent.isShiftDown(c))};var t=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,c){t.apply(this,arguments);mxEvent.isTouchEvent(c.getEvent())&&this.graph.isCellSelected(c.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return mxEvent.isLeftMouseButton(c)&& +(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(c)&&!mxEvent.isShiftDown(c))||this.usePopupTrigger&&mxEvent.isPopupTrigger(c)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,c){var b=null!=this.div&&"none"!=this.div.style.display,d=null,f=null,e=null,g=null;null!=this.first&& +null!=this.currentX&&null!=this.currentY&&(d=this.first.x,f=this.first.y,e=(this.currentX-d)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(c.getEvent())&&this.graph.isToggleEvent(c.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),l= +this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(l)}else if(this.isSpaceEvent(c)){this.graph.model.beginUpdate();try{for(l=this.graph.getCellsBeyond(d,f,this.graph.getDefaultParent(),!0,!0),b=0;b<l.length;b++)if(this.graph.isCellMovable(l[b])){var h=this.graph.view.getState(l[b]),q=this.graph.getCellGeometry(l[b]);null!=h&&null!=q&&(q=q.clone(),q.translate(e,g),this.graph.model.setGeometry(l[b],q))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y, +this.width,this.height),this.graph.selectRegion(e,c.getEvent());c.consume()}};mxRubberband.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);b.x-=d.x;b.y-=d.y;var d=c.getX()+b.x,b=c.getY()+b.y,f=this.first.x-d,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,b), +this.isSpaceEvent(c)?(d=this.x+this.width,b=this.y+this.height,f=this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= this.x+"px",this.div.style.top=this.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height= -Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),d.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this, -arguments)};var n=(new Date).getTime(),q=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),q=0):q=(new Date).getTime()-n;this.currentTerminalState=b};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<q||(null==this.currentTerminalState|| -"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&u.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,d){var b=null!=a&&0==a,c=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,c,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), -f):null)?this.fixedHandleImage:null!=f&&null!=c?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var y=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,d,b){this.handleImage=d==mxEvent.ROTATION_HANDLE? -HoverIcons.prototype.rotationHandle:d==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return y.apply(this,arguments)};var E=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var d=this.graph.getModel(),b=d.getParent(a[0]),c=this.graph.getCellGeometry(a[0]);if(d.isEdge(b)&&null!=c&&c.relative&&(d=this.graph.view.getState(a[0]),null!=d&&2>d.width&&2>d.height&&null!=d.text&&null!=d.text.boundingBox))return mxRectangle.fromRectangle(d.text.boundingBox)}return E.apply(this, -arguments)};var z=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var d=this.graph.getModel(),b=d.getParent(a.cell),c=this.graph.getCellGeometry(a.cell);return d.isEdge(b)&&null!=c&&c.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(d=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(d.x),Math.round(d.y),Math.round(d.width),Math.round(d.height))):z.apply(this,arguments)};var G=mxVertexHandler.prototype.mouseDown; -mxVertexHandler.prototype.mouseDown=function(a,d){var b=this.graph.getModel(),c=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(d)==mxEvent.ROTATION_HANDLE||!b.isEdge(c)||null==f||!f.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&G.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| -this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var C=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,d){C.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var x=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(a,d){x.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var H=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){H.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var d=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= -1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); -d()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,d){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);this.updateLinkHint(b,c);if(null!=b||null!=c&&0<c.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(d,b){if(null==d&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!= -this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=d||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=d&&(this.linkHint.appendChild(this.graph.createLinkForHint(d)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var c= -document.createElement("img");c.setAttribute("src",Editor.editImage);c.setAttribute("title",mxResources.get("editLink"));c.setAttribute("width","11");c.setAttribute("height","11");c.style.marginLeft="10px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage); -c.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));c.setAttribute("width","13");c.setAttribute("height","10");c.style.marginLeft="4px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(c=0;c<b.length;c++){var f=document.createElement("div");f.style.marginTop=null!=d||0<c?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"), -mxUtils.getTextContent(b[c])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var I=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){I.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= -this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(d,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(d,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, -this.changeHandler);var d=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=d||null!=b&&0<b.length)this.updateLinkHint(d,b),this.redrawHandles()};var A=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){A.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var N=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){N.apply(this); -if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),d=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(d,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,d=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=d&&(b=Math.max(b, -d.y+d.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var D=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){D.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= -function(){J.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles; +Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),c.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this, +arguments)};var n=(new Date).getTime(),l=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,c,b,d){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),l=0):l=(new Date).getTime()-n;this.currentTerminalState=b};var q=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<l||(null==this.currentTerminalState|| +"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&q.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,c){var b=null!=a&&0==a,d=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), +f):null)?this.fixedHandleImage:null!=f&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var y=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,c,b){this.handleImage=c==mxEvent.ROTATION_HANDLE? +HoverIcons.prototype.rotationHandle:c==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return y.apply(this,arguments)};var D=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var c=this.graph.getModel(),b=c.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(c.isEdge(b)&&null!=d&&d.relative&&(c=this.graph.view.getState(a[0]),null!=c&&2>c.width&&2>c.height&&null!=c.text&&null!=c.text.boundingBox))return mxRectangle.fromRectangle(c.text.boundingBox)}return D.apply(this, +arguments)};var z=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var c=this.graph.getModel(),b=c.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return c.isEdge(b)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(c=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))):z.apply(this,arguments)};var G=mxVertexHandler.prototype.mouseDown; +mxVertexHandler.prototype.mouseDown=function(a,c){var b=this.graph.getModel(),d=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(c)==mxEvent.ROTATION_HANDLE||!b.isEdge(d)||null==f||!f.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&G.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| +this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var E=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,c){E.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var x=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +function(a,c){x.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var J=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){J.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var c=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= +1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){c()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); +c()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,c){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(b,d);if(null!=b||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(c,b){if(null==c&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!= +this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=c||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=c&&(this.linkHint.appendChild(this.graph.createLinkForHint(c)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d= +document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage); +d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(d=0;d<b.length;d++){var f=document.createElement("div");f.style.marginTop=null!=c||0<d?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[d].getAttribute("href"), +mxUtils.getTextContent(b[d])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var H=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){H.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= +this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(c,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(c,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, +this.changeHandler);var c=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=c||null!=b&&0<b.length)this.updateLinkHint(c,b),this.redrawHandles()};var B=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){B.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var N=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){N.apply(this); +if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),c=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(c,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,c=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=c&&(b=Math.max(b, +c.y+c.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var C=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){C.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= +function(){I.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles; mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(R.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var Y=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= function(){Y.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var aa=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), -this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function c(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function p(){mxCylinder.call(this)}function r(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function m(){mxActor.call(this)}function t(){mxActor.call(this)}function h(a,d){this.canvas= -a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=d;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; -this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function q(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function u(){mxActor.call(this)}function y(){mxActor.call(this)}function E(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function C(){mxShape.call(this)}function x(){mxShape.call(this)} -function H(){mxEllipse.call(this)}function I(){mxShape.call(this)}function A(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function D(){mxShape.call(this)}function J(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function F(){mxActor.call(this)}function V(){mxRectangleShape.call(this)} -function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function B(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function na(){mxEllipse.call(this)}function oa(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)} -function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,e,g,h,q,m){g+=q;var la=c.clone();c.x-=f*(2*g+q);c.y-=e*(2*g+q);f*=g+q;e*=g+q;return function(){a.ellipse(la.x-f-g,la.y-e-g,2*g,2*g);m?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c, -Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", -a);var xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*d);a.lineTo(0,.25*d);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.min(c,f/(.5+xa));e?(a.moveTo(0,.25*d),a.lineTo(.5* -d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*d),a.lineTo(0,.75*d),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(c,mxCylinder);c.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e|| -(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,-d);e||(a.moveTo(0,d),a.curveTo(0,-d/3,c,-d/3,c,d),a.lineTo(c,f-d),a.curveTo(c,f+d/3,0,f+d/3,0,f-d),a.close())};c.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", -c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c/2,.5*f,c,0);a.quadTo(.5* -c,f/2,c,f);a.quadTo(c/2,.5*f,0,f);a.quadTo(.5*c,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",l);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); -e?"left"==g?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==g?(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,b),a.lineTo(c,b)):(a.moveTo(0,b),a.lineTo(c-d,b),a.lineTo(c-d,0),a.lineTo(c,0)),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(r,mxActor);r.prototype.size=30;r.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style, -mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",r);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,d/2);a.quadTo(c/4,1.4*d,c/2,d/2);a.quadTo(3*c/4,d*(1-1.4),c,d/2);a.lineTo(c,f-d/2);a.quadTo(3* -c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=mxUtils.getValue(this.style,"size",this.size),b=a.width,c=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return d*=c,new mxRectangle(a.x,a.y+d,b,c-2*d);d*=b;return new mxRectangle(a.x+d,a.y,b-2*d,c)}return a};mxCellRenderer.registerShape("tape", -v);mxUtils.extend(d,mxActor);d.prototype.size=.3;d.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};d.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(c,0);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close(); -a.end()};mxCellRenderer.registerShape("document",d);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, -[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c-d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,f)],this.isRounded, -b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(m,mxActor);m.prototype.size=.5;m.prototype.redrawPath=function(a,d,b,c,f){a.setFillColor(null);d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d,f/2),new mxPoint(d,f),new mxPoint(c,f)],this.isRounded,b,!1);a.end()}; -mxCellRenderer.registerShape("curlyBracket",m);mxUtils.extend(t,mxActor);t.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",t);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.prototype.close=function(){null!=this.firstX&& -null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,d,b,c,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY= -g};h.prototype.lineTo=function(a,d){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},c=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),e=Math.sqrt(c*c+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),la=this.defaultVariation;5>g&&(g=5,la/=3);for(var h=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/g,c=c/e,f=f/e,e=0;e<g;e++){var q=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas, -h*e+this.lastX-q*f,b*e+this.lastY-q*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= +this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function m(){mxActor.call(this)}function p(){mxCylinder.call(this)}function r(){mxActor.call(this)}function v(){mxActor.call(this)}function c(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function u(){mxActor.call(this)}function t(){mxActor.call(this)}function h(a,c){this.canvas= +a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=c;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; +this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function l(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function q(){mxActor.call(this)}function y(){mxActor.call(this)}function D(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function E(){mxShape.call(this)}function x(){mxShape.call(this)} +function J(){mxEllipse.call(this)}function H(){mxShape.call(this)}function B(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function C(){mxShape.call(this)}function I(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function F(){mxActor.call(this)}function V(){mxRectangleShape.call(this)} +function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function A(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function ma(){mxEllipse.call(this)}function na(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)} +function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,c,b,d,f,e,g,l,h,q){g+=h;var pa=d.clone();d.x-=f*(2*g+h);d.y-=e*(2*g+h);f*=g+h;e*=g+h;return function(){a.ellipse(pa.x-f-g,pa.y-e-g,2*g,2*g);q?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d, +Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c,f),a.lineTo(c,c),a.lineTo(0,0),a.moveTo(c,c),a.lineTo(d,c)):(a.moveTo(0,0),a.lineTo(d-c,0),a.lineTo(d,c),a.lineTo(d,f),a.lineTo(c,f),a.lineTo(0,f-c),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", +a);var xa=Math.tan(mxUtils.toRadians(30)),oa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/xa);a.translate((d-c)/2,(f-c)/2+c/4);a.moveTo(0,.25*c);a.lineTo(.5*c,c*oa);a.lineTo(c,.25*c);a.lineTo(.5*c,(.5-oa)*c);a.lineTo(0,.25*c);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.min(d,f/(.5+xa));e?(a.moveTo(0,.25*c),a.lineTo(.5* +c,(.5-oa)*c),a.lineTo(c,.25*c),a.moveTo(.5*c,(.5-oa)*c),a.lineTo(.5*c,(1-oa)*c)):(a.translate((d-c)/2,(f-c)/2),a.moveTo(0,.25*c),a.lineTo(.5*c,c*oa),a.lineTo(c,.25*c),a.lineTo(c,.75*c),a.lineTo(.5*c,(1-oa)*c),a.lineTo(0,.75*c),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e|| +(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e||(a.stroke(),a.begin()),a.translate(0,-c);e||(a.moveTo(0,c),a.curveTo(0,-c/3,d,-c/3,d,c),a.lineTo(d,f-c),a.curveTo(d,f+c/3,0,f+c/3,0,f-c),a.close())};d.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", +d);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d-c,0),a.lineTo(d-c,c),a.lineTo(d,c)):(a.moveTo(0,0),a.lineTo(d-c,0),a.lineTo(d,c),a.lineTo(d,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d/2,.5*f,d,0);a.quadTo(.5* +d,f/2,d,f);a.quadTo(d/2,.5*f,0,f);a.quadTo(.5*d,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); +e?"left"==g?(a.moveTo(0,b),a.lineTo(c,b)):(a.moveTo(d-c,b),a.lineTo(d,b)):("left"==g?(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,b),a.lineTo(d,b)):(a.moveTo(0,b),a.lineTo(d-c,b),a.lineTo(d-c,0),a.lineTo(d,0)),a.lineTo(d,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(r,mxActor);r.prototype.size=30;r.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style, +mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f),new mxPoint(0,f),new mxPoint(0,c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",r);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,c/2);a.quadTo(d/4,1.4*c,d/2,c/2);a.quadTo(3*d/4,c*(1-1.4),d,c/2);a.lineTo(d,f-c/2);a.quadTo(3* +d/4,f-1.4*c,d/2,f-c/2);a.quadTo(d/4,f-c*(1-1.4),0,f-c/2);a.lineTo(0,c/2);a.close();a.end()};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=mxUtils.getValue(this.style,"size",this.size),b=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return c*=d,new mxRectangle(a.x,a.y+c,b,d-2*c);c*=b;return new mxRectangle(a.x+c,a.y,b-2*c,d)}return a};mxCellRenderer.registerShape("tape", +v);mxUtils.extend(c,mxActor);c.prototype.size=.3;c.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};c.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,f-c/2);a.quadTo(3*d/4,f-1.4*c,d/2,f-c/2);a.quadTo(d/4,f-c*(1-1.4),0,f-c/2);a.lineTo(0,c/2);a.close(); +a.end()};mxCellRenderer.registerShape("document",c);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, +[new mxPoint(0,f),new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d-c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,f)],this.isRounded, +b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(u,mxActor);u.prototype.size=.5;u.prototype.redrawPath=function(a,c,b,d,f){a.setFillColor(null);c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f/2),new mxPoint(0,f/2),new mxPoint(c,f/2),new mxPoint(c,f),new mxPoint(d,f)],this.isRounded,b,!1);a.end()}; +mxCellRenderer.registerShape("curlyBracket",u);mxUtils.extend(t,mxActor);t.prototype.redrawPath=function(a,c,b,d,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);c=d/5;a.rect(0,0,c,f);a.fillAndStroke();a.rect(2*c,0,c,f);a.fillAndStroke();a.rect(4*c,0,c,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",t);h.prototype.moveTo=function(a,c){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;this.firstX=a;this.firstY=c};h.prototype.close=function(){null!=this.firstX&& +null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};h.prototype.quadTo=function(a,c,b,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=d};h.prototype.curveTo=function(a,c,b,d,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,c,b,d,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY= +g};h.prototype.lineTo=function(a,c){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),f=Math.abs(c-this.lastY),e=Math.sqrt(d*d+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;return}var g=Math.round(e/10),l=this.defaultVariation;5>g&&(g=5,l/=3);for(var pa=b(a-this.lastX)*d/g,b=b(c-this.lastY)*f/g,d=d/e,f=f/e,e=0;e<g;e++){var h=(Math.random()-.5)*l;this.originalLineTo.call(this.canvas, +pa*e+this.lastX-h*f,b*e+this.lastY-h*d)}this.originalLineTo.call(this.canvas,a,c)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c};h.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new h(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ba.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Fa=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Fa.apply(this,arguments)}; -var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, -0)?e=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d, -b)),a.close(),a.end(),a.fillAndStroke()}};var Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d= -a.width,b=a.height;a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};n.prototype.paintForeground=function(a,d,b,c,f){var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= -mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(q,mxRectangleShape);q.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};q.prototype.paintForeground= -function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",q);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, -"size",this.size))));var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,e+h),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout", -w);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c- -d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",u);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)], -this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(E,mxRectangleShape);E.prototype.isHtmlAllowed=function(){return!1};E.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",E);var Ca=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= -function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ca.apply(this,[a,d, -b,c,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,b,c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| -0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var h=this.style["symbol"+e+"Align"],la=this.style["symbol"+e+"VerticalAlign"],q=this.style["symbol"+e+"Width"],m=this.style["symbol"+e+"Height"],n=this.style["symbol"+e+"Spacing"]||0,u=this.style["symbol"+e+"VSpacing"]||n,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth, -f+this.strokewidth),n+=t,u+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-q)/2:h==mxConstants.ALIGN_RIGHT?t+(c-q-n):t+n,w=la==mxConstants.ALIGN_MIDDLE?w+(f-m)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-m-u):w+u;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,t,w,q,m);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,e){e? -(a.moveTo(0,0),a.lineTo(c/2,f/2),a.lineTo(c,0),a.end()):(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(C,mxShape);C.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()}; -mxCellRenderer.registerShape("umlActor",C);mxUtils.extend(x,mxShape);x.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};x.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(c/6,f/2);a.end();a.stroke();a.ellipse(c/6,0,5*c/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",x);mxUtils.extend(H,mxEllipse);H.prototype.paintVertexShape=function(a,d, -b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/8,b+f);a.lineTo(d+7*c/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",H);mxUtils.extend(I,mxShape);I.prototype.paintVertexShape=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(c,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(A,mxShape);A.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ -a.height/8,a.width,7*a.height/8)};A.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,0);a.end();a.stroke();a.ellipse(0,f/8,c,7*f/8);a.fillAndStroke()};A.prototype.paintForeground=function(a,d,b,c,f){a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",A);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.prototype.getLabelBounds= -function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,d)};N.prototype.paintBackground=function(a,d,b,c,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g, -g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+e),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,d,b,c,Math.min(f,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(D,mxShape);D.prototype.width=60;D.prototype.height=30;D.prototype.corner= -10;D.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};D.prototype.paintBackground=function(a,d,b,c,f){var e=this.corner,g=Math.min(c,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),q=mxUtils.getValue(this.style, -mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);q!=mxConstants.NONE&&(a.setFillColor(q),a.rect(d,b,c,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,d,b,c,f),a.setGradient(this.fill,this.gradient,d,b,c,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(d,b);a.lineTo(d+g,b);a.lineTo(d+g,b+Math.max(0,h-1.5*e));a.lineTo(d+Math.max(0,g-e),b+h);a.lineTo(d,b+h);a.close();a.fillAndStroke();a.begin(); -a.moveTo(d+g,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",D);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.prototype.size;null!=d&&(c=mxUtils.getValue(d.style,"size",c)*d.view.scale);d=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;b.x<a.getCenterX()&&(d=-1*(d+1));return new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y+c,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); -mxPerimeter.OrthogonalPerimeter=function(a,d,b,c){c=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,d,b,c){c=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;null!=d.style.backboneSize&&(c+=parseFloat(d.style.backboneSize)*d.view.scale/2-1);if("south"==d.style[mxConstants.STYLE_DIRECTION]||"north"==d.style[mxConstants.STYLE_DIRECTION])return b.x< -a.getCenterX()&&(c=-1*(c+1)),new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(c=-1*(c+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),a.getCenterY()+c)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,d,b,c){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(d.style,"size",w.prototype.size))* -d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var e=f.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,q=a.width,m=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(e=m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+ -q,h+e),new mxPoint(g+q,h+m),new mxPoint(g,h+m-e),new mxPoint(g,h)]):(e=q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+e,h),new mxPoint(g+q,h),new mxPoint(g+q-e,h+m),new mxPoint(g,h+m),new mxPoint(g+e,h)]);m=a.getCenterX();a=a.getCenterY();a=new mxPoint(m,a);c&&(b.x<g||b.x>g+q?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f= -mxUtils.getValue(d.style,"size",f));var e=a.x,h=a.y,q=a.width,m=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=q*Math.max(0,Math.min(1,f)),h=[new mxPoint(e+f,h),new mxPoint(e+q-f,h),new mxPoint(e+q,h+m),new mxPoint(e,h+m),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_WEST?(f=q*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+q,h),new mxPoint(e+q-f,h+m),new mxPoint(e+f,h+m),new mxPoint(e, -h)]):d==mxConstants.DIRECTION_NORTH?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h+f),new mxPoint(e+q,h),new mxPoint(e+q,h+m),new mxPoint(e,h+m-f),new mxPoint(e,h+f)]):(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+q,h+f),new mxPoint(e+q,h+m-f),new mxPoint(e,h+m),new mxPoint(e,h)]);m=a.getCenterX();a=a.getCenterY();a=new mxPoint(m,a);c&&(b.x<e||b.x>e+q?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); -mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),e=f?u.prototype.fixedSize:u.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,q=a.width,m=a.height,n=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(q,e)):q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+q- -f,h),new mxPoint(g+q,a),new mxPoint(g+q-f,h+m),new mxPoint(g,h+m),new mxPoint(g+f,a),new mxPoint(g,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(q,e)):q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+f,h),new mxPoint(g+q,h),new mxPoint(g+q-f,a),new mxPoint(g+q,h+m),new mxPoint(g+f,h+m),new mxPoint(g,a),new mxPoint(g+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h+f),new mxPoint(n,h),new mxPoint(g+q,h+f),new mxPoint(g+q, -h+m),new mxPoint(n,h+m-f),new mxPoint(g,h+m),new mxPoint(g,h+f)]):(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(n,h+f),new mxPoint(g+q,h),new mxPoint(g+q,h+m-f),new mxPoint(n,h+m),new mxPoint(g,h+m-f),new mxPoint(g,h)]);n=new mxPoint(n,a);c&&(b.x<g||b.x>g+q?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(h,n,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=y.prototype.size;null!= -d&&(f=mxUtils.getValue(d.style,"size",f));var e=a.x,g=a.y,h=a.width,q=a.height,m=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(f=q*Math.max(0,Math.min(1,f)),g=[new mxPoint(m,g),new mxPoint(e+h,g+f),new mxPoint(e+h,g+q-f),new mxPoint(m,g+q),new mxPoint(e,g+q-f),new mxPoint(e,g+f),new mxPoint(m,g)]):(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+ -f,g),new mxPoint(e+h-f,g),new mxPoint(e+h,a),new mxPoint(e+h-f,g+q),new mxPoint(e+f,g+q),new mxPoint(e,a),new mxPoint(e+f,g)]);m=new mxPoint(m,a);c&&(b.x<e||b.x>e+h?m.y=b.y:m.x=b.x);return mxUtils.getPerimeterPoint(g,m,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-e)/2,0,e,e);a.fillAndStroke(); -a.begin();a.moveTo(c/2,e);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,e+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-e)/2-g,e/2);a.quadTo((c-e)/2-g,e+g,c/ -2,e+g);a.quadTo((c+e)/2+g,e+g,(c+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,e){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,h=.3*f-d/2,q=.7*f-d/2;e?(a.moveTo(b,h),a.lineTo(g,h),a.lineTo(g,h+d),a.lineTo(b,h+d),a.moveTo(b,q), -a.lineTo(g,q),a.lineTo(g,q+d),a.lineTo(b,q+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,q+d),a.lineTo(0,q+d),a.lineTo(0,q),a.lineTo(b,q),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var e=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+e,b+e,c-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1); -this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", +var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,c,b,d,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, +0)?e=Math.min(d/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(d*e,f*e)),a.moveTo(c+e,b),a.lineTo(c+d-e,b),a.quadTo(c+d,b,c+d,b+e),a.lineTo(c+d,b+f-e),a.quadTo(c+d,b+f,c+d-e,b+f),a.lineTo(c+e,b+f),a.quadTo(c,b+f,c,b+f-e),a.lineTo(c,b+e),a.quadTo(c,b,c+e,b)):(a.moveTo(c,b),a.lineTo(c+d,b),a.lineTo(c+d,b+f),a.lineTo(c,b+f),a.lineTo(c, +b)),a.close(),a.end(),a.fillAndStroke()}};var Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,c,b,d,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var c= +a.width,b=a.height;a=new mxRectangle(a.x,a.y,c,b);var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(c*f,b*f));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};n.prototype.paintForeground=function(a,c,b,d,f){var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= +mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(d*g,f*g));e=Math.round(e);a.begin();a.moveTo(c+e,b);a.lineTo(c+e,b+f);a.moveTo(c+d-e,b);a.lineTo(c+d-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(l,mxRectangleShape);l.prototype.paintBackground=function(a,c,b,d,f){a.setFillColor(mxConstants.NONE);a.rect(c,b,d,f);a.fill()};l.prototype.paintForeground= +function(a,c,b,d,f){};mxCellRenderer.registerShape("transparent",l);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,c,b,d,f){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, +"size",this.size))));var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),l=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,f-b),new mxPoint(Math.min(d,e+l),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,c,!0,[4])};mxCellRenderer.registerShape("callout", +w);mxUtils.extend(q,mxActor);q.prototype.size=.2;q.prototype.fixedSize=20;q.prototype.redrawPath=function(a,c,b,d,f){c="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d- +c,f),new mxPoint(0,f),new mxPoint(c,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",q);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,.5*f),new mxPoint(d-c,f),new mxPoint(c,f),new mxPoint(0,.5*f)], +this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.paintForeground=function(a,c,b,d,f){var e=Math.min(d/5,f/5)+1;a.begin();a.moveTo(c+d/2,b+e);a.lineTo(c+d/2,b+f-e);a.moveTo(c+e,b+f/2);a.lineTo(c+d-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",D);var Ca=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= +function(a){if(1==this.style["double"]){var c=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};mxRhombus.prototype.paintVertexShape=function(a,c,b,d,f){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=e;b+=e;d-=2*e;f-=2*e;0<d&&0<f&&(a.setShadow(!1),Ca.apply(this,[a,c, +b,d,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};z.prototype.paintForeground=function(a,c,b,d,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| +0);c+=e;b+=e;d-=2*e;f-=2*e;0<d&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var l=this.style["symbol"+e+"Align"],pa=this.style["symbol"+e+"VerticalAlign"],h=this.style["symbol"+e+"Width"],q=this.style["symbol"+e+"Height"],n=this.style["symbol"+e+"Spacing"]||0,u=this.style["symbol"+e+"VSpacing"]||n,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(d+this.strokewidth, +f+this.strokewidth),n+=t,u+=t);var t=c,w=b,t=l==mxConstants.ALIGN_CENTER?t+(d-h)/2:l==mxConstants.ALIGN_RIGHT?t+(d-h-n):t+n,w=pa==mxConstants.ALIGN_MIDDLE?w+(f-q)/2:pa==mxConstants.ALIGN_BOTTOM?w+(f-q-u):w+u;a.save();l=new g;l.style=this.style;g.prototype.paintVertexShape.call(l,a,t,w,h,q);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,c,b,d,f,e){e? +(a.moveTo(0,0),a.lineTo(d/2,f/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(E,mxShape);E.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.ellipse(d/4,0,d/2,f/4);a.fillAndStroke();a.begin();a.moveTo(d/2,f/4);a.lineTo(d/2,2*f/3);a.moveTo(d/2,f/3);a.lineTo(0,f/3);a.moveTo(d/2,f/3);a.lineTo(d,f/3);a.moveTo(d/2,2*f/3);a.lineTo(0,f);a.moveTo(d/2,2*f/3);a.lineTo(d,f);a.end();a.stroke()}; +mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(x,mxShape);x.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};x.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(d/6,f/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",x);mxUtils.extend(J,mxEllipse);J.prototype.paintVertexShape=function(a,c, +b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+d/8,b+f);a.lineTo(c+7*d/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",J);mxUtils.extend(H,mxShape);H.prototype.paintVertexShape=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(d,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(d,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",H);mxUtils.extend(B,mxShape);B.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ +a.height/8,a.width,7*a.height/8)};B.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(3*d/8,f/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,f/8,d,7*f/8);a.fillAndStroke()};B.prototype.paintForeground=function(a,c,b,d,f){a.begin();a.moveTo(3*d/8,f/8*1.1);a.lineTo(5*d/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",B);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.prototype.getLabelBounds= +function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,c)};N.prototype.paintBackground=function(a,c,b,d,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,c,b,d,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g, +g.apply(this.state),a.save(),g.paintVertexShape(a,c,b,d,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(c+d/2,b+e),a.lineTo(c+d/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,c,b,d,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,c,b,d,Math.min(f,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(C,mxShape);C.prototype.width=60;C.prototype.height=30;C.prototype.corner= +10;C.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};C.prototype.paintBackground=function(a,c,b,d,f){var e=this.corner,g=Math.min(d,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),l=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),h=mxUtils.getValue(this.style, +mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);h!=mxConstants.NONE&&(a.setFillColor(h),a.rect(c,b,d,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,c,b,d,f),a.setGradient(this.fill,this.gradient,c,b,d,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(c,b);a.lineTo(c+g,b);a.lineTo(c+g,b+Math.max(0,l-1.5*e));a.lineTo(c+Math.max(0,g-e),b+l);a.lineTo(c,b+l);a.close();a.fillAndStroke();a.begin(); +a.moveTo(c+g,b);a.lineTo(c+d,b);a.lineTo(c+d,b+f);a.lineTo(c,b+f);a.lineTo(c,b+l);a.stroke()};mxCellRenderer.registerShape("umlFrame",C);mxPerimeter.LifelinePerimeter=function(a,c,b,d){d=N.prototype.size;null!=c&&(d=mxUtils.getValue(c.style,"size",d)*c.view.scale);c=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;b.x<a.getCenterX()&&(c=-1*(c+1));return new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y+d,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); +mxPerimeter.OrthogonalPerimeter=function(a,c,b,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,c,b,d){d=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;null!=c.style.backboneSize&&(d+=parseFloat(c.style.backboneSize)*c.view.scale/2-1);if("south"==c.style[mxConstants.STYLE_DIRECTION]||"north"==c.style[mxConstants.STYLE_DIRECTION])return b.x< +a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,c,b,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(c.style,"size",w.prototype.size))* +c.view.scale))),c.style),c,b,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,c,b,d){var e=f.prototype.size;null!=c&&(e=mxUtils.getValue(c.style,"size",e));var g=a.x,l=a.y,h=a.width,q=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(e=q*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+ +h,l+e),new mxPoint(g+h,l+q),new mxPoint(g,l+q-e),new mxPoint(g,l)]):(e=h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+e,l),new mxPoint(g+h,l),new mxPoint(g+h-e,l+q),new mxPoint(g,l+q),new mxPoint(g+e,l)]);q=a.getCenterX();a=a.getCenterY();a=new mxPoint(q,a);d&&(b.x<g||b.x>g+h?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(l,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,c,b,d){var f=g.prototype.size;null!=c&&(f= +mxUtils.getValue(c.style,"size",f));var e=a.x,l=a.y,h=a.width,q=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(f=h*Math.max(0,Math.min(1,f)),l=[new mxPoint(e+f,l),new mxPoint(e+h-f,l),new mxPoint(e+h,l+q),new mxPoint(e,l+q),new mxPoint(e+f,l)]):c==mxConstants.DIRECTION_WEST?(f=h*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l),new mxPoint(e+h,l),new mxPoint(e+h-f,l+q),new mxPoint(e+f,l+q),new mxPoint(e, +l)]):c==mxConstants.DIRECTION_NORTH?(f=q*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l+f),new mxPoint(e+h,l),new mxPoint(e+h,l+q),new mxPoint(e,l+q-f),new mxPoint(e,l+f)]):(f=q*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l),new mxPoint(e+h,l+f),new mxPoint(e+h,l+q-f),new mxPoint(e,l+q),new mxPoint(e,l)]);q=a.getCenterX();a=a.getCenterY();a=new mxPoint(q,a);d&&(b.x<e||b.x>e+h?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(l,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); +mxPerimeter.StepPerimeter=function(a,c,b,d){var f="0"!=mxUtils.getValue(c.style,"fixedSize","0"),e=f?q.prototype.fixedSize:q.prototype.size;null!=c&&(e=mxUtils.getValue(c.style,"size",e));var g=a.x,l=a.y,h=a.width,n=a.height,u=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(h,e)):h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+h- +f,l),new mxPoint(g+h,a),new mxPoint(g+h-f,l+n),new mxPoint(g,l+n),new mxPoint(g+f,a),new mxPoint(g,l)]):c==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(h,e)):h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+f,l),new mxPoint(g+h,l),new mxPoint(g+h-f,a),new mxPoint(g+h,l+n),new mxPoint(g+f,l+n),new mxPoint(g,a),new mxPoint(g+f,l)]):c==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l+f),new mxPoint(u,l),new mxPoint(g+h,l+f),new mxPoint(g+h, +l+n),new mxPoint(u,l+n-f),new mxPoint(g,l+n),new mxPoint(g,l+f)]):(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(u,l+f),new mxPoint(g+h,l),new mxPoint(g+h,l+n-f),new mxPoint(u,l+n),new mxPoint(g,l+n-f),new mxPoint(g,l)]);u=new mxPoint(u,a);d&&(b.x<g||b.x>g+h?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(l,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,c,b,d){var f=y.prototype.size;null!= +c&&(f=mxUtils.getValue(c.style,"size",f));var e=a.x,g=a.y,l=a.width,h=a.height,q=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(q,g),new mxPoint(e+l,g+f),new mxPoint(e+l,g+h-f),new mxPoint(q,g+h),new mxPoint(e,g+h-f),new mxPoint(e,g+f),new mxPoint(q,g)]):(f=l*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+ +f,g),new mxPoint(e+l-f,g),new mxPoint(e+l,a),new mxPoint(e+l-f,g+h),new mxPoint(e+f,g+h),new mxPoint(e,a),new mxPoint(e+f,g)]);q=new mxPoint(q,a);d&&(b.x<e||b.x>e+l?q.y=b.y:q.x=b.x);return mxUtils.getPerimeterPoint(g,q,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(I,mxShape);I.prototype.size=10;I.prototype.paintBackground=function(a,c,b,d,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(c,b);a.ellipse((d-e)/2,0,e,e);a.fillAndStroke(); +a.begin();a.moveTo(d/2,e);a.lineTo(d/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",I);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,c,b,d,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.begin();a.moveTo(d/2,e+g);a.lineTo(d/2,f);a.end();a.stroke();a.begin();a.moveTo((d-e)/2-g,e/2);a.quadTo((d-e)/2-g,e+g,d/ +2,e+g);a.quadTo((d+e)/2+g,e+g,(d+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,c,b,d,f,e){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));c=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,l=.3*f-c/2,h=.7*f-c/2;e?(a.moveTo(b,l),a.lineTo(g,l),a.lineTo(g,l+c),a.lineTo(b,l+c),a.moveTo(b,h), +a.lineTo(g,h),a.lineTo(g,h+c),a.lineTo(b,h+c)):(a.moveTo(b,0),a.lineTo(d,0),a.lineTo(d,f),a.lineTo(b,f),a.lineTo(b,h+c),a.lineTo(0,h+c),a.lineTo(0,h),a.lineTo(b,h),a.lineTo(b,l+c),a.lineTo(0,l+c),a.lineTo(0,l),a.lineTo(b,l),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,c,b,d,f){var e=Math.min(4,Math.min(d/5,f/5));0<d&&0<f&&(a.ellipse(c+e,b+e,d-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1); +this.outerStroke&&(a.ellipse(c,b,d,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", S);mxUtils.extend(K,mxArrowConnector);K.prototype.defaultWidth=10;K.prototype.defaultArrowWidth=20;K.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};K.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};K.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", -K);mxUtils.extend(F,mxActor);F.prototype.size=30;F.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,d),new mxPoint(c,0),new mxPoint(c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",F);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed= -function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));g=Math.max(e,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+e);a.lineTo(d+c,b+e); -a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, -mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d,b),new mxPoint(d,f),new mxPoint(0,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(c,0);a.lineTo(c,f);a.end();a.moveTo(0,f/2);a.lineTo(c,f/2);a.end()};mxCellRenderer.registerShape("crossbar",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= -20;X.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint((c+d)/2,b),new mxPoint((c+d)/2,f),new mxPoint((c-d)/2,f),new mxPoint((c- -d)/2,b),new mxPoint(0,b)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(B,mxActor);B.prototype.arrowWidth=.3;B.prototype.arrowSize=.2;B.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",B);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",B.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",B.prototype.arrowSize)))); -b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, -"size",this.size))));a.moveTo(d,0);a.lineTo(c,0);a.quadTo(c-2*d,f/2,c,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(da,mxActor);da.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",da);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.quadTo(c/2,f/2,0,0);a.close(); -a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit", -Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",U);mxUtils.extend(na,mxEllipse);na.prototype.paintVertexShape= -function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",na);mxUtils.extend(oa,mxEllipse);oa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", -oa);mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ca);mxUtils.extend(ia,mxRhombus);ia.prototype.paintVertexShape=function(a,d,b,c,f){mxRhombus.prototype.paintVertexShape.apply(this, -arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ia);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape= -function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, -arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ra);mxUtils.extend(fa, -mxEllipse);fa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",fa);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0, -f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", -ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.prototype.paintEdgeShape=function(a,d,b){for(var c= -[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ga.prototype.origPaintEdgeShape.apply(this,[a,c,b]);3<=a.state.strokeWidth&&(c=mxUtils.getValue(this.style,"fillColor",null),null!=c&&(a.setStrokeColor(c),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; -StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,e,g,h,q,m){var n=f*(g+q+1),u=e*(g+q+1);return function(){a.begin();a.moveTo(c.x-n/2-u/2,c.y-u/2+n/2);a.lineTo(c.x+u/2-3*n/2,c.y-3*u/2-n/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,e,g,h,q, -m){var n=f*(g+q+1),u=e*(g+q+1);return function(){a.begin();a.moveTo(c.x-n/2-u/2,c.y-u/2+n/2);a.lineTo(c.x+u/2-3*n/2,c.y-3*u/2-n/2);a.moveTo(c.x-n/2+u/2,c.y-u/2-n/2);a.lineTo(c.x-u/2-3*n/2,c.y-3*u/2+n/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,h,q,m){var n=c.clone(),u=Aa.apply(this,arguments),t=f*(g+2*q),w=e*(g+2*q);return function(){u.apply(this,arguments);a.begin();a.moveTo(n.x-f*q,n.y-e*q);a.lineTo(n.x-2*t+f*q,n.y-2*w+e*q);a.moveTo(n.x- -t-w+e*q,n.y-w+t-f*q);a.lineTo(n.x+w-t-e*q,n.y-w-t+f*q);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,h,q,m){d=f*q*1.118;b=e*q*1.118;f*=g+q;e*=g+q;var n=c.clone();n.x-=d;n.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(n.x,n.y);h?a.lineTo(n.x-f-e/2,n.y-e+f/2):a.lineTo(n.x+e/2-f,n.y-e-f/2);a.lineTo(n.x-f,n.y-e);a.close();m?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,h,q,m,n){e*=h+m;g*=h+m;var u= -f.clone();return function(){d.begin();d.moveTo(u.x,u.y);q?d.lineTo(u.x-e-g/a,u.y-g+e/a):d.lineTo(u.x+g/a-e,u.y-g-e/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,h){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d, -function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,h=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-h.x,q=f.y-h.y,m=Math.sqrt(e*e+q*q),h=c.call(this,m,e/m,q/m,h,f);return new mxPoint(h.x/g-d.x,h.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,h=g.length-1;d=a.view.translate;var q=a.view.scale,m=b?g[0]:g[h],g=b?g[1]:g[h-1],h=g.x-m.x,n=g.y-m.y,u=Math.sqrt(h*h+n*n);c.x=(c.x+d.x)*q;c.y=(c.y+d.y)*q;f.call(this,u,h/u,n/u,m,g,c,e)})},ma=function(a){return function(d){return[M(d,["arrowWidth", -"arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",B.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",B.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1-b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},ya=function(a,d,b){return function(c){var f= -[M(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width,b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[M(e,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style, -"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(d){var b= -[M(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(d.x+b*d.width*.75,d.y+d.height/4)},function(d,b){this.state.style.size=Math.max(0,Math.min(a,(b.x-d.x)/(.75*d.width)))},null,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(d));return b}},ta=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d}},ha=function(a,d){return M(a, -[mxConstants.STYLE_ARCSIZE],function(b){var c=null!=d?d:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+c)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)* -f),b.y+c)},function(d,b,c){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(d.width,2*(d.x+d.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(d.width-b.x+d.x)/Math.min(d.width,d.height))))})},M=function(a,d,b,c,f,e){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])}; -g.getPosition=b;g.setPosition=c;g.ignoreGrid=null!=f?f:!0;if(e){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(a,!1,10)]},flexArrow:function(a){var d=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d, -b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale; -a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(q.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,e){d=(a.shape.getStartArrowWidth()- -a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0, -Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(q.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<d&&(a.style.startWidth= -a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f, -e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(q.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))< -d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,e,g,h,q){b= -Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(q.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- -parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<d&&(a.style.endWidth=a.style.startWidth))})));return b},swimlane:function(a){var d=[M(a,[mxConstants.STYLE_STARTSIZE],function(d){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(d.getCenterX(), -d.y+Math.max(0,Math.min(d.height,b))):new mxPoint(d.x+Math.max(0,Math.min(d.width,b)),d.getCenterY())},function(d,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(d.height,b.y-d.y))):Math.round(Math.max(0,Math.min(d.width,b.x-d.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));d.push(ha(a,b/2))}return d}, -label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var d=Math.max(D.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, -"width",D.prototype.width))),b=Math.max(1.5*D.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",D.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(D.prototype.corner,Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*D.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[M(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, -"size",n.prototype.size))));return new mxPoint(a.x+a.width*d,a.y+a.height/4)},function(a,d){this.state.style.size=Math.max(0,Math.min(.5,(d.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},cross:function(a){return[M(a,["size"],function(a){var d=Math.min(a.width,a.height),d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ba.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width, -a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-d.y)/b*2,Math.max(0,a.getCenterX()-d.x)/b*2)))})]},note:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-d,a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-d.x),Math.min(a.height,d.y-a.y))))})]},manualInput:function(a){var d= -[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*d/4)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(d.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},dataStorage:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.prototype.size))));return new mxPoint(a.x+ -(1-d)*a.width,a.getCenterY())},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-d.x)/a.width))})]},callout:function(a){var d=[M(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style, -"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-d.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+d*a.width,a.y+a.height)},function(a,d){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var d= -Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+c),a.y+a.height-d)},function(a,d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width, -d.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},internalStorage:function(a){var d=[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",V.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",V.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,d.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},corner:function(a){return[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",L.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",L.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+d)/2,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,d.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},singleArrow:ma(1),doubleArrow:ma(.5), -folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(d=a.width-d);return new mxPoint(a.x+d,a.y+b)},function(a,d){var b=Math.max(0,Math.min(a.width,d.x-a.x));mxUtils.getValue(this.state.style, -"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",d.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]}, -tape:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d*a.height/2)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(d.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-d)*a.height)}, -function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:ua(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:ua(y.prototype.size,!0,.5,!0),curlyBracket:ua(m.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,r.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1== +K);mxUtils.extend(F,mxActor);F.prototype.size=30;F.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,c),new mxPoint(d,0),new mxPoint(d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",F);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed= +function(){return!1};V.prototype.paintForeground=function(a,c,b,d,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(d*g,f*g));g=Math.max(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(c,b+e);a.lineTo(c+d,b+e); +a.end();a.stroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, +mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c,b),new mxPoint(c,f),new mxPoint(0,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(d,0);a.lineTo(d,f);a.end();a.moveTo(0,f/2);a.lineTo(d,f/2);a.end()};mxCellRenderer.registerShape("crossbar",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= +20;X.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,b),new mxPoint((d+c)/2,b),new mxPoint((d+c)/2,f),new mxPoint((d-c)/2,f),new mxPoint((d- +c)/2,b),new mxPoint(0,b)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,c,b,d,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(d-c,b),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d-c,f),new mxPoint(d-c,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,c,b,d,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize)))); +b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d-c,b),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d-c,f),new mxPoint(d-c,e),new mxPoint(c,e),new mxPoint(c,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, +"size",this.size))));a.moveTo(c,0);a.lineTo(d,0);a.quadTo(d-2*c,f/2,d,f);a.lineTo(c,f);a.quadTo(c-2*c,f/2,c,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(da,mxActor);da.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",da);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,0,f);a.quadTo(d/2,f/2,0,0);a.close(); +a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,.8*c),new mxPoint(d,f),new mxPoint(0,f),new mxPoint(0,.8*c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit", +Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,f-c),new mxPoint(d/2,f),new mxPoint(0,f-c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",U);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape= +function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+d/2,b+f);a.lineTo(c+d,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ma);mxUtils.extend(na,mxEllipse);na.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+f/2);a.lineTo(c+d,b+f/2);a.end();a.stroke();a.begin();a.moveTo(c+d/2,b);a.lineTo(c+d/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", +na);mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c+.145*d,b+.145*f);a.lineTo(c+.855*d,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(c+.855*d,b+.145*f);a.lineTo(c+.145*d,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ca);mxUtils.extend(ia,mxRhombus);ia.prototype.paintVertexShape=function(a,c,b,d,f){mxRhombus.prototype.paintVertexShape.apply(this, +arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+f/2);a.lineTo(c+d,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ia);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,c,b,d,f){a.begin();a.moveTo(c,b);a.lineTo(c+d,b);a.lineTo(c+d/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(c,b+f);a.lineTo(c+d,b+f);a.lineTo(c+d/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape= +function(a,c,b,d,f){var e=b+f-5;a.begin();a.moveTo(c,b);a.lineTo(c,b+f);a.moveTo(c,e);a.lineTo(c+10,e-5);a.moveTo(c,e);a.lineTo(c+10,e+5);a.moveTo(c,e);a.lineTo(c+d,e);a.moveTo(c+d,b);a.lineTo(c+d,b+f);a.moveTo(c+d,e);a.lineTo(c+d-10,e-5);a.moveTo(c+d,e);a.lineTo(c+d-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,c,b,d,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, +arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(c,b,d,f),a.fill(),a.begin(),a.moveTo(c,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(c+d,b):a.moveTo(c+d,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(c+d,b+f):a.moveTo(c+d,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(c,b+f):a.moveTo(c,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(c,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ra);mxUtils.extend(fa, +mxEllipse);fa.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(c+d/2,b),a.lineTo(c+d/2,b+f)):(a.moveTo(c,b+f/2),a.lineTo(c+d,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",fa);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/2);a.moveTo(0,0);a.lineTo(d-c,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,d-c,f);a.lineTo(0, +f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(f,d);var e=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=(f-e)/2;b=c+e;var g=(d-e)/2,e=g+e;a.moveTo(0,c);a.lineTo(g,c);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,c);a.lineTo(d,c);a.lineTo(d,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", +ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/2);b=Math.min(d-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(d-c,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,d-c,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.prototype.paintEdgeShape=function(a,c,b){for(var d= +[],f=0;f<c.length;f++)d.push(mxUtils.clone(c[f]));var f=a.state.dashed,e=a.state.fixDash;ga.prototype.origPaintEdgeShape.apply(this,[a,d,b]);3<=a.state.strokeWidth&&(d=mxUtils.getValue(this.style,"fillColor",null),null!=d&&(a.setStrokeColor(d),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ga.prototype.origPaintEdgeShape.apply(this,[a,c,b])))};mxCellRenderer.registerShape("filledEdge",ga);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; +StyleFormatPanel.prototype.getCustomColors=function(){var c=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==c.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,c,b,d,f,e,g,l,h,q){var n=f*(g+h+1),u=e*(g+h+1);return function(){a.begin();a.moveTo(d.x-n/2-u/2,d.y-u/2+n/2);a.lineTo(d.x+u/2-3*n/2,d.y-3*u/2-n/2);a.stroke()}});mxMarker.addMarker("cross",function(a,c,b,d,f,e,g,l,h, +q){var n=f*(g+h+1),u=e*(g+h+1);return function(){a.begin();a.moveTo(d.x-n/2-u/2,d.y-u/2+n/2);a.lineTo(d.x+u/2-3*n/2,d.y-3*u/2-n/2);a.moveTo(d.x-n/2+u/2,d.y-u/2-n/2);a.lineTo(d.x-u/2-3*n/2,d.y-3*u/2+n/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,c,d,b,f,e,g,l,h,q){var n=b.clone(),u=Aa.apply(this,arguments),t=f*(g+2*h),w=e*(g+2*h);return function(){u.apply(this,arguments);a.begin();a.moveTo(n.x-f*h,n.y-e*h);a.lineTo(n.x-2*t+f*h,n.y-2*w+e*h);a.moveTo(n.x- +t-w+e*h,n.y-w+t-f*h);a.lineTo(n.x+w-t-e*h,n.y-w-t+f*h);a.stroke()}});mxMarker.addMarker("async",function(a,c,b,d,f,e,g,l,h,q){c=f*h*1.118;b=e*h*1.118;f*=g+h;e*=g+h;var n=d.clone();n.x-=c;n.y-=b;d.x+=1*-f-c;d.y+=1*-e-b;return function(){a.begin();a.moveTo(n.x,n.y);l?a.lineTo(n.x-f-e/2,n.y-e+f/2):a.lineTo(n.x+e/2-f,n.y-e-f/2);a.lineTo(n.x-f,n.y-e);a.close();q?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(c,d,b,f,e,g,l,h,q,n){e*=l+q;g*=l+q;var u= +f.clone();return function(){c.begin();c.moveTo(u.x,u.y);h?c.lineTo(u.x-e-g/a,u.y-g+e/a):c.lineTo(u.x+g/a-e,u.y-g-e/a);c.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,c,d){return sa(a,["width"],c,function(c,b,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+d;return new mxPoint(e.x+b*c/4+f*g/2,e.y+f*c/4-b*g/2)},function(c,b,f,e,g,l){c=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));a.style.width=Math.round(2*c)/a.view.scale-d})},sa=function(a,c,d,b,f){return M(a,c, +function(c){var f=a.absolutePoints,e=f.length-1;c=a.view.translate;var g=a.view.scale,l=d?f[0]:f[e],f=d?f[1]:f[e-1],e=f.x-l.x,h=f.y-l.y,q=Math.sqrt(e*e+h*h),l=b.call(this,q,e/q,h/q,l,f);return new mxPoint(l.x/g-c.x,l.y/g-c.y)},function(c,b,e){var g=a.absolutePoints,l=g.length-1;c=a.view.translate;var h=a.view.scale,q=d?g[0]:g[l],g=d?g[1]:g[l-1],l=g.x-q.x,n=g.y-q.y,u=Math.sqrt(l*l+n*n);b.x=(b.x+c.x)*h;b.y=(b.y+c.y)*h;f.call(this,u,l/u,n/u,q,g,b,e)})},la=function(a){return function(c){return[M(c,["arrowWidth", +"arrowSize"],function(c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",A.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",A.prototype.arrowSize)));return new mxPoint(c.x+(1-d)*c.width,c.y+(1-b)*c.height/2)},function(c,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(c.y+c.height/2-b.y)/c.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(c.x+c.width-b.x)/c.width))})]}},ya=function(a,c,b){return function(d){var f= +[M(d,["size"],function(b){var d=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",c)))))*a;return new mxPoint(b.x+d,b.y+d)},function(c,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(c.width,b.x-c.x),Math.min(c.height,b.y-c.y)))/a)})];b&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ha(d));return f}},ua=function(a,c,b,d,f){b=null!=b?b:1;return function(e){var g=[M(e,["size"],function(c){var b=null!=f?"0"!=mxUtils.getValue(this.state.style, +"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(c.x+Math.max(0,Math.min(c.width,d*(b?1:c.width))),c.getCenterY())},function(a,c,d){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?c.x-a.x:Math.max(0,Math.min(b,(c.x-a.x)/a.width));g&&!mxEvent.isAltDown(d.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,d)];c&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(c){var b= +[M(c,["size"],function(c){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(c.x+b*c.width*.75,c.y+c.height/4)},function(c,b){this.state.style.size=Math.max(0,Math.min(a,(b.x-c.x)/(.75*c.width)))},null,!0)];mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(c));return b}},ta=function(){return function(a){var c=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c}},ha=function(a,c){return M(a, +[mxConstants.STYLE_ARCSIZE],function(b){var d=null!=c?c:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+d)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)* +f),b.y+d)},function(c,b,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(c.width,2*(c.x+c.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(c.width-b.x+c.x)/Math.min(c.width,c.height))))})},M=function(a,c,b,d,f,e){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<c.length;a++)this.copyStyle(c[a])}; +g.getPosition=b;g.setPosition=d;g.ignoreGrid=null!=f?f:!0;if(e){var l=g.positionChanged;g.positionChanged=function(){l.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(a,!1,10)]},flexArrow:function(a){var c=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c, +b,d,f,e){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,d,f,e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale; +a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(h.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,d,f,e){c=(a.shape.getStartArrowWidth()- +a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,d,f,e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0, +Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(h.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<c&&(a.style.startWidth= +a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,d,f,e){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,d,f, +e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(h.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))< +c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,d,f,e){c=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,d,f,e,g,l,h){b= +Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(h.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- +parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<c&&(a.style.endWidth=a.style.startWidth))})));return b},swimlane:function(a){var c=[M(a,[mxConstants.STYLE_STARTSIZE],function(c){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(c.getCenterX(), +c.y+Math.max(0,Math.min(c.height,b))):new mxPoint(c.x+Math.max(0,Math.min(c.width,b)),c.getCenterY())},function(c,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(c.height,b.y-c.y))):Math.round(Math.max(0,Math.min(c.width,b.x-c.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));c.push(ha(a,b/2))}return c}, +label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var c=Math.max(C.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, +"width",C.prototype.width))),b=Math.max(1.5*C.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",C.prototype.height)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.width=Math.round(Math.max(C.prototype.corner,Math.min(a.width,c.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*C.prototype.corner,Math.min(a.height,c.y-a.y)))},!1)]},process:function(a){var c=[M(a,["size"],function(a){var c=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, +"size",n.prototype.size))));return new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,c){this.state.style.size=Math.max(0,Math.min(.5,(c.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},cross:function(a){return[M(a,["size"],function(a){var c=Math.min(a.width,a.height),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ba.prototype.size)))*c/2;return new mxPoint(a.getCenterX()-c,a.getCenterY()-c)},function(a,c){var b=Math.min(a.width, +a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-c.y)/b*2,Math.max(0,a.getCenterX()-c.x)/b*2)))})]},note:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-c,a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-c.x),Math.min(a.height,c.y-a.y))))})]},manualInput:function(a){var c= +[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*c/4)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(c.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},dataStorage:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.prototype.size))));return new mxPoint(a.x+ +(1-c)*a.width,a.getCenterY())},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-c.x)/a.width))})]},callout:function(a){var c=[M(a,["size","position"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-c)},function(a,c){mxUtils.getValue(this.state.style, +"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-c.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+c*a.width,a.y+a.height)},function(a,c){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var c= +Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+d),a.y+a.height-c)},function(a,c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width, +c.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},internalStorage:function(a){var c=[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",V.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",V.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0, +Math.min(a.height,c.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},corner:function(a){return[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",L.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",L.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0, +Math.min(a.height,c.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+c)/2,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,c.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},singleArrow:la(1),doubleArrow:la(.5), +folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);return new mxPoint(a.x+c,a.y+b)},function(a,c){var b=Math.max(0,Math.min(a.width,c.x-a.x));mxUtils.getValue(this.state.style, +"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",c.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]}, +tape:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c*a.height/2)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(c.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-c)*a.height)}, +function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},step:ua(q.prototype.size,!0,null,!0,q.prototype.fixedSize),hexagon:ua(y.prototype.size,!0,.5,!0),curlyBracket:ua(u.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,r.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1== this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=za[a];if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR); -a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var e=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=c&&(c=e.transformControlPoint(a, -c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var q=va.x,m=va.y,n=wa.x,u=wa.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(u*a-n*c)/(q*u-m*n);a=(m*a-q*c)/(m*n-q*u);t?(b&&(w=new mxPoint(w.x+q*d,w.y+m*d),f.push(w)),w=new mxPoint(w.x+n*a,w.y+u*a)):(b&&(w=new mxPoint(w.x+n*a,w.y+u*a),f.push(w)),w=new mxPoint(w.x+q*d,w.y+m*d));f.push(w)}; -var w=h;null==c&&(c=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints= +a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),la=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(la),Math.sin(la)),la=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(la),Math.sin(la));mxEdgeStyle.IsometricConnector=function(a,c,b,d,f){var e=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,l=g[0],g=g[g.length-1];null!=d&&(d=e.transformControlPoint(a, +d));null==l&&null!=c&&(l=new mxPoint(c.getCenterX(),c.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var h=va.x,q=va.y,n=wa.x,u=wa.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=l){a=function(a,c,b){a-=w.x;var d=c-w.y;c=(u*a-n*d)/(h*u-q*n);a=(q*a-h*d)/(q*n-h*u);t?(b&&(w=new mxPoint(w.x+h*c,w.y+q*c),f.push(w)),w=new mxPoint(w.x+n*a,w.y+u*a)):(b&&(w=new mxPoint(w.x+n*a,w.y+u*a),f.push(w)),w=new mxPoint(w.x+h*c,w.y+q*c));f.push(w)}; +var w=l;null==d&&(d=new mxPoint(l.x+(g.x-l.x)/2,l.y+(g.y-l.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,c){if(c==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints= [new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5, 1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints= -mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;E.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;r.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints= -mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;na.prototype.constraints=mxEllipse.prototype.constraints;oa.prototype.constraints=mxEllipse.prototype.constraints;ca.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;ja.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints; +mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;D.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;r.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints= +mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;ma.prototype.constraints=mxEllipse.prototype.constraints;na.prototype.constraints=mxEllipse.prototype.constraints;ca.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;ja.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints; Z.prototype.constraints=mxRectangleShape.prototype.constraints;U.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, -.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, +.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];Y.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9, -.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];l.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];m.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];v.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, -0),!1)];u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, -.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= +0),!1)];q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, +.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375, 0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1), !0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875, -.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;d.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, +.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;c.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, .25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;X.prototype.constraints=null;L.prototype.constraints=null;O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];B.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), +1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];N.prototype.constraints=null;da.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, .5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()} -Actions.prototype.init=function(){function a(a){c.escape();var b=c.getDeletableCells(c.getSelectionCells());if(null!=b&&0<b.length){var d=c.model.getParents(b);c.removeCells(b,a);if(null!=d){a=[];for(b=0;b<d.length;b++)c.model.contains(d[b])&&(c.model.isVertex(d[b])||c.model.isEdge(d[b]))&&a.push(d[b]);c.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,c=e.graph,k=function(){return Action.prototype.isEnabled.apply(this,arguments)&&c.isEnabled()};this.addAction("new...",function(){c.openLink(b.getUrl())}); -this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var d=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(d.documentElement))}catch(f){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+f.message)}}));b.showDialog((new OpenDialog(this)).container, +Actions.prototype.init=function(){function a(a){d.escape();var b=d.getDeletableCells(d.getSelectionCells());if(null!=b&&0<b.length){var c=d.model.getParents(b);d.removeCells(b,a);if(null!=c){a=[];for(b=0;b<c.length;b++)d.model.contains(c[b])&&(d.model.isVertex(c[b])||d.model.isEdge(c[b]))&&a.push(c[b]);d.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,d=e.graph,k=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",function(){d.openLink(b.getUrl())}); +this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var c=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(c.documentElement))}catch(f){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+f.message)}}));b.showDialog((new OpenDialog(this)).container, 320,220,!0,!0,function(){window.openFile=null})}).isEnabled=k;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=k;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=k;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,230,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container,620,420,!0,!1);a.init()});this.addAction("pageSetup...", -function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=k;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(c,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", -function(){mxClipboard.cut(c)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(c)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&mxClipboard.paste(c)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){c.getModel().beginUpdate();try{var b=mxClipboard.paste(c);if(null!=b){a=!0;for(var d=0;d<b.length&& -a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,e=c.view.scale,m=f.x,t=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(c.snap(c.popupMenuHandler.triggerX/e-m)),q=Math.round(c.snap(c.popupMenuHandler.triggerY/e-t));c.cellsMoved(b,n-f.x,q-f.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete"); -this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){c.setSelectionCells(c.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){c.turnShapes(c.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){c.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){c.selectEdges()}, -null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){c.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){c.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!c.isSelectionEmpty()){c.getModel().beginUpdate();try{var a=c.isCellMovable(c.getSelectionCell())?1:0;c.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);c.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);c.toggleCellStyles(mxConstants.STYLE_ROTATABLE, -a);c.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);c.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);c.toggleCellStyles("connectable",a)}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){c.home()},null,null,"Home");this.addAction("exitGroup",function(){c.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){c.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){c.foldCells(!0)}, -null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){c.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){c.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){c.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==c.getSelectionCount()?c.setCellStyles("container","1"):c.setSelectionCell(c.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1== -c.getSelectionCount()&&0==c.getModel().getChildCount(c.getSelectionCell())?c.setCellStyles("container","0"):c.setSelectionCells(c.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){c.removeCellsFromParent()});this.addAction("edit",function(){c.isEnabled()&&c.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=c.getSelectionCell()||c.getModel().getRoot();null!=a&&(a=new EditDataDialog(b,a),b.showDialog(a.container, -340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),d="";if(mxUtils.isNode(c.value)){var f=c.value.getAttribute("tooltip");null!=f&&(d=f)}d=new TextareaDialog(b,mxResources.get("editTooltip")+":",d,function(d){a.setTooltipForCell(c,d)});b.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a= -c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),d=a.getLinkForCell(c)||"";b.showLinkDialog(d,mxResources.get("apply"),function(d){d=mxUtils.trim(d);a.setLinkForCell(c,0<d.length?d:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"), -function(a,b){a=mxUtils.trim(a);if(0<a.length){var d=null,f=c.getLinkTitle(a);null!=b&&0<b.length&&(d=b[0].iconUrl,f=b[0].name||b[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));var e=c.getFreeInsertPoint(),d=new mxCell(f,new mxGeometry(e.x,e.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;c.setLinkForCell(d,a);c.cellSizeUpdated(d, -!0);c.getModel().beginUpdate();try{d=c.addCell(d),c.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{c.getModel().endUpdate()}c.setSelectionCell(d);c.scrollCellToVisible(c.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=a.getSelectedElement(),d=a.getParentByName(c,"A",a.cellEditor.textarea),f="";if(null==d&&null!=c&&null!=c.getElementsByTagName)for(var e=c.getElementsByTagName("a"), -m=0;m<e.length&&null==d;m++)e[m].textContent==c.textContent&&(a.selectNode(e[m]),d=e[m]);null!=d&&"A"==d.nodeName&&(f=d.getAttribute("href")||"");var t=a.cellEditor.saveSelection();b.showLinkDialog(f,mxResources.get("apply"),mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(t);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate(); -try{for(var b=0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),e=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=e&&c.isWrapping(d)?(e=e.clone(),e.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,e)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell()); -if(null!=a){var e="1";c.stopEditing();c.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,d=c.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=d;d=mxUtils.extractTextWithWhitespace(f.childNodes);c.cellLabelChanged(a.cell,d)}else d=mxUtils.htmlEntities(c.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"<br/>")),c.cellLabelChanged(a.cell, -c.sanitizeHtml(d));c.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=c.getView().getState(c.getSelectionCell()),b="wrap";c.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);c.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=c.getView().getState(c.getSelectionCell()); -null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&c.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){c.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){c.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); -this.addAction("zoomOut",function(a){c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){c.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/a.width/b,(c.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop= -a.y*c.view.scale-1,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/(2*a.width)/b,(c.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=Math.min(a.y, -(c.container.scrollHeight-c.container.clientHeight)/2),c.container.scrollLeft=Math.min(a.x,(c.container.scrollWidth-c.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();c.zoomTo(Math.floor(20*(c.container.clientWidth-10)/c.pageFormat.width/c.pageScale)/20);if(mxUtils.hasScrollbars(c.container)){var a=c.getPagePadding();c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth- -c.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi, -parseInt(100*c.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var l=null,l=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.isGridEnabled()});l.setEnabled(!1); -l=this.addAction("guides",function(){c.graphHandler.guidesEnabled=!c.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.graphHandler.guidesEnabled});l.setEnabled(!1);l=this.addAction("tooltips",function(){c.tooltipHandler.setEnabled(!c.tooltipHandler.isEnabled())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.tooltipHandler.isEnabled()});l=this.addAction("collapseExpand",function(){var a= -new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!c.foldingEnabled;c.model.execute(a)});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.foldingEnabled});l.isEnabled=k;l=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.scrollbars});l=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!c.pageVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return c.pageVisible}); -l=this.addAction("connectionArrows",function(){c.connectionArrowsEnabled=!c.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionArrowsEnabled});l=this.addAction("connectionPoints",function(){c.setConnectable(!c.connectionHandler.isEnabled());b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionHandler.isEnabled()}); -l=this.addAction("copyConnect",function(){c.connectionHandler.setCreateTarget(!c.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionHandler.isCreateTarget()});l.isEnabled=k;l=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});l.setToggleAction(!0);l.setSelectedCallback(function(){return b.editor.autosave});l.isEnabled=k;l.visible=!1;this.addAction("help",function(){var a= -"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);c.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));l=mxUtils.bind(this,function(a,b,d,f){return this.addAction(a,function(){if(null!=d&&c.cellEditor.isContentEditing())d();else{c.stopEditing(!1);c.getModel().beginUpdate();try{c.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, -b),(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.updateLabelElements(c.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& -c.replaceElement(a)})}finally{c.getModel().endUpdate()}}},null,null,f)});l("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");l("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");l("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); +function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=k;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", +function(){mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(d)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&mxClipboard.paste(d)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){d.getModel().beginUpdate();try{var b=mxClipboard.paste(d);if(null!=b){a=!0;for(var c=0;c<b.length&& +a;c++)a=a&&d.model.isEdge(b[c]);var f=d.view.translate,e=d.view.scale,u=f.x,t=f.y,f=null;if(1==b.length&&a){var h=d.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:d.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(d.snap(d.popupMenuHandler.triggerX/e-u)),l=Math.round(d.snap(d.popupMenuHandler.triggerY/e-t));d.cellsMoved(b,n-f.x,l-f.y)}}}finally{d.getModel().endUpdate()}}});this.addAction("copySize",function(a){a=d.getSelectionCell();d.isEnabled()&&null!=a&&d.getModel().isVertex(a)&& +(a=d.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shit+X");this.addAction("pasteSize",function(a){if(d.isEnabled()&&!d.isSelectionEmpty()&&null!=b.copiedSize){d.getModel().beginUpdate();try{var e=d.getSelectionCells();for(a=0;a<e.length;a++)if(d.getModel().isVertex(e[a])){var c=d.getCellGeometry(e[a]);null!=c&&(c=c.clone(),c.width=b.copiedSize.width,c.height=b.copiedSize.height,d.getModel().setGeometry(e[a],c))}}finally{d.getModel().endUpdate()}}}, +null,null,"Alt+Shit+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){d.setSelectionCells(d.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){d.turnShapes(d.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices", +function(){d.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){d.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){d.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){d.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{var a=d.isCellMovable(d.getSelectionCell())?1:0;d.toggleCellStyles(mxConstants.STYLE_MOVABLE, +a);d.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);d.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);d.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);d.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);d.toggleCellStyles("connectable",a)}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){d.home()},null,null,"Home");this.addAction("exitGroup",function(){d.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){d.enterGroup()}, +null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){d.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){d.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){d.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){d.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==d.getSelectionCount()?d.setCellStyles("container","1"):d.setSelectionCell(d.groupCells(null, +0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==d.getSelectionCount()&&0==d.getModel().getChildCount(d.getSelectionCell())?d.setCellStyles("container","0"):d.setSelectionCells(d.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){d.removeCellsFromParent()});this.addAction("edit",function(){d.isEnabled()&&d.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=d.getSelectionCell()||d.getModel().getRoot(); +b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),c="";if(mxUtils.isNode(d.value)){var f=d.value.getAttribute("tooltip");null!=f&&(c=f)}c=new TextareaDialog(b,mxResources.get("editTooltip")+":",c,function(c){a.setTooltipForCell(d,c)});b.showDialog(c.container,320,200,!0,!0);c.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=d.getLinkForCell(d.getSelectionCell()); +null!=a&&d.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),c=a.getLinkForCell(d)||"";b.showLinkDialog(c,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(d,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var c= +null,f=d.getLinkTitle(a);null!=b&&0<b.length&&(c=b[0].iconUrl,f=b[0].name||b[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));var e=d.getFreeInsertPoint(),c=new mxCell(f,new mxGeometry(e.x,e.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=c?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+c:"spacing=10;"));c.vertex=!0;d.setLinkForCell(c,a);d.cellSizeUpdated(c,!0);d.getModel().beginUpdate();try{c=d.addCell(c), +d.fireEvent(new mxEventObject("cellsInserted","cells",[c]))}finally{d.getModel().endUpdate()}d.setSelectionCell(c);d.scrollCellToVisible(d.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var d=a.getSelectedElement(),c=a.getParentByName(d,"A",a.cellEditor.textarea),f="";if(null==c&&null!=d&&null!=d.getElementsByTagName)for(var e=d.getElementsByTagName("a"),u=0;u<e.length&&null==c;u++)e[u].textContent== +d.textContent&&(a.selectNode(e[u]),c=e[u]);null!=c&&"A"==c.nodeName&&(f=c.getAttribute("href")||"");var t=a.cellEditor.saveSelection();b.showLinkDialog(f,mxResources.get("apply"),mxUtils.bind(this,function(c){a.cellEditor.restoreSelection(t);null!=c&&a.insertLink(c)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=d.getSelectionCells();if(null!=a){d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var c= +a[b];if(d.getModel().getChildCount(c))d.updateGroupBounds([c],20);else{var f=d.view.getState(c),e=d.getCellGeometry(c);d.getModel().isVertex(c)&&null!=f&&null!=f.text&&null!=e&&d.isWrapping(c)?(e=e.clone(),e.height=f.text.boundingBox.height/d.view.scale,d.getModel().setGeometry(c,e)):d.updateCellSize(c)}}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=d.getView().getState(d.getSelectionCell());if(null!=a){var e="1";d.stopEditing(); +d.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,c=d.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=c;c=mxUtils.extractTextWithWhitespace(f.childNodes);d.cellLabelChanged(a.cell,c)}else c=mxUtils.htmlEntities(d.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>")),d.cellLabelChanged(a.cell,d.sanitizeHtml(c)); +d.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=d.getView().getState(d.getSelectionCell()),b="wrap";d.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=d.getView().getState(d.getSelectionCell()); +null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){d.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){d.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); +this.addAction("zoomOut",function(a){d.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){d.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/a.width/b,(d.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop= +a.y*d.view.scale-1,d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/(2*a.width)/b,(d.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=Math.min(a.y, +(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(a.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();d.zoomTo(Math.floor(20*(d.container.clientWidth-10)/d.pageFormat.width/d.pageScale)/20);if(mxUtils.hasScrollbars(d.container)){var a=d.getPagePadding();d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth- +d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&d.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi, +parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.isGridEnabled()});m.setEnabled(!1); +m=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a= +new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!d.foldingEnabled;d.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.foldingEnabled});m.isEnabled=k;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.scrollbars});m=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!d.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return d.pageVisible}); +m=this.addAction("connectionArrows",function(){d.connectionArrowsEnabled=!d.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){d.setConnectable(!d.connectionHandler.isEnabled());b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isEnabled()}); +m=this.addAction("copyConnect",function(){d.connectionHandler.setCreateTarget(!d.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isCreateTarget()});m.isEnabled=k;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=k;m.visible=!1;this.addAction("help",function(){var a= +"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);d.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a,b,c,f){return this.addAction(a,function(){if(null!=c&&d.cellEditor.isContentEditing())c();else{d.stopEditing(!1);d.getModel().beginUpdate();try{d.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, +b),(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&d.updateLabelElements(d.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& +d.replaceElement(a)})}finally{d.getModel().endUpdate()}}},null,null,f)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");m("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); this.addAction("strokeColor...",function(){b.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){b.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){b.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)}); -this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,null),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}); -this.addAction("dashed",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dotted",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN, -"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("sharp",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}); -this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!c.isSelectionEmpty()&&c.isEnabled()){c.getModel().beginUpdate();try{var a=c.getSelectionCells(),e=c.view.getState(a[0]), -d=null!=e?e.style:c.getCellStyle(a[0]),f="1"==mxUtils.getValue(d,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,f);c.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("curved",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED, -"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=c.view.getState(c.getSelectionCell()),e="1";null!=a&&null!=c.getFoldingImage(a)&&(e="0");c.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",c.getSelectionCells()))});this.addAction("editStyle...", -mxUtils.bind(this,function(){var a=c.getSelectionCells();if(null!=a&&0<a.length){var b=c.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",function(d){null!=d&&c.setCellStyle(mxUtils.trim(d),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){c.isEnabled()&&!c.isSelectionEmpty()&&b.setDefaultStyle(c.getSelectionCell())},null,null,Editor.ctrlKey+ -"+Shift+D");this.addAction("clearDefaultStyle",function(){c.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=c.getSelectionCell();if(null!=a&&c.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),m=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=m;)g+=m.x,d+=m.y,a=c.getModel().getParent(a),m= -c.getCellGeometry(a);g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-g));f=Math.round(c.snap(c.popupMenuHandler.triggerY/f-d));b.addPointAt(b.state,g,f)}}});this.addAction("removeWaypoint",function(){var a=b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=c.getSelectionCells();if(null!=a){a=c.addAllEdges(a);c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var d=a[b];if(c.getModel().isEdge(d)){var f= -c.getCellGeometry(d);null!=f&&(f=f.clone(),f.points=null,c.getModel().setGeometry(d,f))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");l=this.addAction("subscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");l=this.addAction("superscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", -function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var e=c.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;c.getModel().beginUpdate(); -try{if(0==e.length){var q=c.getFreeInsertPoint(),g=e=[c.insertVertex(c.getDefaultParent(),null,"",q.x,q.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",g))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var m=c.view.getState(e[0]),u=null!=m?m.style:c.getCellStyle(e[0]);"image"!=u[mxConstants.STYLE_SHAPE]&&"label"!=u[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image", -e):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==c.getSelectionCount()&&null!=d&&null!=b){var t=e[0],k=c.getModel().getGeometry(t);null!=k&&(k=k.clone(),k.width=d,k.height=b,c.getModel().setGeometry(t,k))}}finally{c.getModel().endUpdate()}null!=g&&(c.setSelectionCells(g),c.scrollCellToVisible(g[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&& -(c.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;l=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))): -this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));l=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));l=this.addAction("outline", +this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,null),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}); +this.addAction("dashed",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dotted",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN, +"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("sharp",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}); +this.addAction("rounded",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!d.isSelectionEmpty()&&d.isEnabled()){d.getModel().beginUpdate();try{var a=d.getSelectionCells(),e=d.view.getState(a[0]), +c=null!=e?e.style:d.getCellStyle(a[0]),f="1"==mxUtils.getValue(c,mxConstants.STYLE_ROUNDED,"0")?"0":"1";d.setCellStyles(mxConstants.STYLE_ROUNDED,f);d.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("curved",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED, +"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=d.view.getState(d.getSelectionCell()),e="1";null!=a&&null!=d.getFoldingImage(a)&&(e="0");d.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",d.getSelectionCells()))});this.addAction("editStyle...", +mxUtils.bind(this,function(){var a=d.getSelectionCells();if(null!=a&&0<a.length){var b=d.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",function(c){null!=c&&d.setCellStyle(mxUtils.trim(c),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){d.isEnabled()&&!d.isSelectionEmpty()&&b.setDefaultStyle(d.getSelectionCell())},null,null,Editor.ctrlKey+ +"+Shift+D");this.addAction("clearDefaultStyle",function(){d.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=d.getSelectionCell();if(null!=a&&d.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var c=d.view.translate,f=d.view.scale,g=c.x,c=c.y,a=d.getModel().getParent(a),u=d.getCellGeometry(a);d.getModel().isVertex(a)&&null!=u;)g+=u.x,c+=u.y,a=d.getModel().getParent(a),u= +d.getCellGeometry(a);g=Math.round(d.snap(d.popupMenuHandler.triggerX/f-g));f=Math.round(d.snap(d.popupMenuHandler.triggerY/f-c));b.addPointAt(b.state,g,f)}}});this.addAction("removeWaypoint",function(){var a=b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=d.getSelectionCells();if(null!=a){a=d.addAllEdges(a);d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var c=a[b];if(d.getModel().isEdge(c)){var f= +d.getCellGeometry(c);null!=f&&(f=f.clone(),f.points=null,d.getModel().setGeometry(c,f))}}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", +function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=d.getView().getState(d.getSelectionCell()),c="";null!=e&&(c=e.style[mxConstants.STYLE_IMAGE]||c);var f=d.cellEditor.saveSelection();b.showImageDialog(a,c,function(a,c,b){if(d.cellEditor.isContentEditing())d.cellEditor.restoreSelection(f),d.insertImage(a,c,b);else{var e=d.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;d.getModel().beginUpdate(); +try{if(0==e.length){var l=d.getFreeInsertPoint(),g=e=[d.insertVertex(d.getDefaultParent(),null,"",l.x,l.y,c,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];d.fireEvent(new mxEventObject("cellsInserted","cells",g))}d.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var u=d.view.getState(e[0]),q=null!=u?u.style:d.getCellStyle(e[0]);"image"!=q[mxConstants.STYLE_SHAPE]&&"label"!=q[mxConstants.STYLE_SHAPE]?d.setCellStyles(mxConstants.STYLE_SHAPE,"image", +e):0==a.length&&d.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==d.getSelectionCount()&&null!=c&&null!=b){var t=e[0],k=d.getModel().getGeometry(t);null!=k&&(k=k.clone(),k.width=c,k.height=b,d.getModel().setGeometry(t,k))}}finally{d.getModel().endUpdate()}null!=g&&(d.setSelectionCells(g),d.scrollCellToVisible(g[0]))}}},d.cellEditor.isContentEditing(),!d.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&& +(d.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))): +this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));m=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));m=this.addAction("outline", mxUtils.bind(this,function(){null==this.outlineWindow?(this.outlineWindow=new OutlineWindow(b,document.body.offsetWidth-260,100,180,180),this.outlineWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null, -null,Editor.ctrlKey+"+Shift+O");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};Actions.prototype.addAction=function(a,b,e,c,k){var l;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),l=mxResources.get(a)+"..."):l=mxResources.get(a);return this.put(a,new Action(l,b,e,c,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]}; -function Action(a,b,e,c,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=c;this.shortcut=k;this.visible=!0}mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled}; +null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};Actions.prototype.addAction=function(a,b,e,d,k){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,d,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]}; +function Action(a,b,e,d,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=d;this.shortcut=k;this.visible=!0}mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled}; Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.data=b||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))}; -DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,b,e,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; +DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,b,e,d){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,d){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,e){};DrawioFile.prototype.isMovable=function(){return!1}; DrawioFile.prototype.move=function(a,b,e){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data}; DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,b){var e=null!=b?b.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=e&&e.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this|| @@ -2622,12 +2624,12 @@ this.isModified()||this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get this.ui.addListener("pageScaleChanged",this.changeListener);this.ui.addListener("backgroundColorChanged",this.changeListener);this.ui.addListener("backgroundImageChanged",this.changeListener);this.ui.addListener("foldingEnabledChanged",this.changeListener);this.ui.addListener("mathEnabledChanged",this.changeListener);this.ui.addListener("gridEnabledChanged",this.changeListener);this.ui.addListener("guidesEnabledChanged",this.changeListener);this.ui.addListener("pageViewChanged",this.changeListener)}; DrawioFile.prototype.addUnsavedStatus=function(a){a instanceof Error&&null!=a.message?this.ui.editor.setStatus('<div class="geStatusAlert" style="overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChanges"))+" ("+mxUtils.htmlEntities(a.message)+")</div>"):(this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+"</div>"),null!=this.ui.statusContainer&&(a=this.ui.statusContainer.getElementsByTagName("div"), 0<a.length&&mxEvent.addListener(a[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))}; -DrawioFile.prototype.autosave=function(a,b,e,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<b?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}), -mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=e&&e(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; -DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),c=0<e?a.substring(e):"",e=b.lastIndexOf(".");return c===(0<e?b.substring(e):"")}return a==b}; -DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,b,e,c){DrawioFile.call(this,a,b);this.title=e;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; -LocalFile.prototype.saveFile=function(a,b,e,c){this.title=a;this.updateFileData();b=this.getData();var k=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),l=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,k?"image/png":"text/xml",k);else if(b.length<MAX_REQUEST_SIZE){var c=a.lastIndexOf("."),c=0<c?a.substring(c+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+c+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ -(k?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});k?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){l(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):l(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; +DrawioFile.prototype.autosave=function(a,b,e,d){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<b?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}), +mxUtils.bind(this,function(a){null!=d&&d(a)}))}else null!=e&&e(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; +DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),d=0<e?a.substring(e):"",e=b.lastIndexOf(".");return d===(0<e?b.substring(e):"")}return a==b}; +DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,b,e,d){DrawioFile.call(this,a,b);this.title=e;this.mode=d?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; +LocalFile.prototype.saveFile=function(a,b,e,d){this.title=a;this.updateFileData();b=this.getData();var k=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,k?"image/png":"text/xml",k);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ +(k?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});k?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,b){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=": IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==": @@ -2636,378 +2638,383 @@ IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;b IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg=="; Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; Editor.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=a){Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength= -a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries); +a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var c=document.createElement("style");c.setAttribute("type","text/css");c.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(c,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries); null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&& -(d=document.createElement("style"),d.setAttribute("type","text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(d){d= -null!=d&&"mxlibrary"!=d.nodeName?this.extractGraphModel(d):null;if(null!=d){var b=d.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],c=b.getElementsByTagName("div");null!=c&&0<c.length&&(b=c[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==d.nodeName){b=d.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(), -null!=c&&(f=new mxCodec(c.ownerDocument),f.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var f=new mxCodec(c.ownerDocument);f.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math||"1"==d.getAttribute("math");b=d.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src, -b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var d=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&& -d.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&d.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));d.setAttribute("math",this.graph.mathEnabled?"1":"0");d.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return d};Editor.prototype.isDataSvg=function(a){try{var d=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=d&&(null!=d&&"<"!=d.charAt(0)&&"%"!=d.charAt(0)&&(d=unescape(window.atob?atob(d):Base64.decode(cont,d))), -null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d)),null!=d&&0<d.length)){var b=mxUtils.parseXml(d).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(y){}return!1};Editor.prototype.extractGraphModel=function(a,d){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),c=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){c.push(b[f]);break}0<c.length&&(b=c[0].getAttribute("data-mxgraph"),null!= -b?(c=JSON.parse(b),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),a=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0]),b=this.graph.decompress(b),0<b.length&&(c=mxUtils.parseXml(b),a=c.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement; -else throw{message:mxResources.get("notADiagramFile")};null==a||d||(c=null,"diagram"==a.nodeName?c=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(c=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=c&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= -"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML"; -Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(d||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js", -"noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init= -function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,d){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var f=document.createElement("script");f.type="text/javascript";f.src=a;c[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null; -var d=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,c,f){void 0!==b?d.push(b.replace(/\\'/g,"'")):void 0!==c?d.push(c.replace(/\\"/g,'"')):void 0!==f&&d.push(f);return""});/,\s*$/.test(a)&&d.push("");return d};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}; -var l=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var p=Format.prototype.init;Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var r=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? -r.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var d=this.editorUi,b=d.editor.graph,c=this.createOption(mxResources.get("shadow"), -function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(d);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)};d.addListener("shadowVisibleChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var d=DiagramFormatPanel.prototype.addOptions; -DiagramFormatPanel.prototype.addOptions=function(a){a=d.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&& -c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); +(c=document.createElement("style"),c.setAttribute("type","text/css"),c.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(c,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),c=0;c<a.plugins.length;c++)mxscript(a.plugins[c])}};Editor.s4=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};Editor.guid=function(){return Editor.s4()+Editor.s4()+"-"+Editor.s4()+"-"+Editor.s4()+ +"-"+Editor.s4()+"-"+Editor.s4()+Editor.s4()+Editor.s4()};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(c){c=null!=c&&"mxlibrary"!=c.nodeName?this.extractGraphModel(c):null;if(null!=c){var b=c.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],d=b.getElementsByTagName("div");null!=d&&0<d.length&&(b=d[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"== +c.nodeName){b=c.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(),null!=d&&(f=new mxCodec(d.ownerDocument),f.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var f=new mxCodec(d.ownerDocument);f.decode(d,this.graph.getStylesheet())}this.graph.currentStyle= +b;this.graph.mathEnabled="1"==urlParams.math||"1"==c.getAttribute("math");b=c.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==c.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}}; +};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return c};Editor.prototype.isDataSvg= +function(a){try{var c=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=c&&(null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)){var b=mxUtils.parseXml(c).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(y){}return!1};Editor.prototype.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"), +d=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){d.push(b[f]);break}0<d.length&&(b=d[0].getAttribute("data-mxgraph"),null!=b?(d=JSON.parse(b),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(b=mxUtils.getTextContent(d[0]),b=this.graph.decompress(b),0<b.length&&(d=mxUtils.parseXml(b),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!= +b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||c||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(d=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=d&&(b=this.graph.decompress(mxUtils.getTextContent(d)),null!=b&&0< +b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||c&&"mxfile"==a.nodeName||(a=null);return a};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents= +function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,c){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(c|| +{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!== +typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,c){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var f=document.createElement("script"); +f.type="text/javascript";f.src=a;d[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var c=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,d,f){void 0!== +b?c.push(b.replace(/\\'/g,"'")):void 0!==d?c.push(d.replace(/\\"/g,'"')):void 0!==f&&c.push(f);return""});/,\s*$/.test(a)&&c.push("");return c};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&& +(EditDataDialog.getDisplayIdForCell=function(a,c){var b=null;null!=a.editor.graph.getModel().getParent(c)?b=c.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var p=Format.prototype.init;Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var r=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? +r.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,d=this.createOption(mxResources.get("shadow"), +function(){return b.shadowVisible},function(a){var d=new ChangePageSetup(c);d.ignoreColor=!0;d.ignoreImage=!0;d.shadowVisible=a;b.model.execute(d)},{install:function(a){this.listener=function(){a(b.shadowVisible)};c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(d.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(d,60));a.appendChild(d)}return a};var c=DiagramFormatPanel.prototype.addOptions; +DiagramFormatPanel.prototype.addOptions=function(a){a=c.apply(this,arguments);var b=this.editorUi,d=b.editor.graph;if(d.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&& +d.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return d.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(d.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); e.style.position="relative";e.style.top="4px";f.appendChild(e)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366", gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[null,{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];var f=StyleFormatPanel.prototype.init; -StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var d=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));d.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+ -")");d.style.marginBottom="2px";d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));d.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";a.appendChild(d);mxUtils.br(a);return g.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function d(a){function d(a){var d= -mxUtils.button("",function(d){c.getModel().beginUpdate();try{var b=c.getSelectionCells();for(d=0;d<b.length;d++){for(var f=c.getModel().getStyle(b[d]),g=0;g<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR, -"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));c.getModel().setStyle(b[d],f)}}finally{c.getModel().endUpdate()}});d.className="geStyleButton";d.style.width="36px";d.style.height="30px";d.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?d.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":d.style.backgroundImage="linear-gradient("+ -a.fill+" 0px,"+a.gradient+" 100%)":d.style.backgroundColor=a.fill,d.style.border="1px solid "+a.stroke):(d.style.backgroundColor="#ffffff",d.style.border="1px solid #000000");f.appendChild(d)}f.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),d(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var c=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= +StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));c.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+ +")");c.style.marginBottom="2px";c.style.width="100px";c.style.marginRight="2px";a.appendChild(c);c=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));c.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";a.appendChild(c);mxUtils.br(a);return g.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function c(a){function c(a){var c= +mxUtils.button("",function(c){d.getModel().beginUpdate();try{var b=d.getSelectionCells();for(c=0;c<b.length;c++){for(var f=d.getModel().getStyle(b[c]),g=0;g<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR, +"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));d.getModel().setStyle(b[c],f)}}finally{d.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?c.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":c.style.backgroundImage="linear-gradient("+ +a.fill+" 0px,"+a.gradient+" 100%)":c.style.backgroundColor=a.fill,c.style.border="1px solid "+a.stroke):(c.style.backgroundColor="#ffffff",c.style.border="1px solid #000000");f.appendChild(c)}f.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),c(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= "nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var e="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=document.createElement("div");g.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; -mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; -1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(h));mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(h);d(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var d=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& -(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,f=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(d=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, -function(a){this.editorUi.actions.get("editShape").funct()})),d.setAttribute("title",mxResources.get("editShape")),d.style.marginBottom="2px",null==b?d.style.width="202px":(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d)):d.image&&(d=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),d.setAttribute("title",mxResources.get("editImage")),d.style.marginBottom="2px",null==b?d.style.width="202px": -(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= -"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var m=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}m.apply(this,arguments);var d=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){d=null});this.isMouseInsertPoint=function(){return null!=d};var b=this.getInsertPoint; -this.getInsertPoint=function(){return null!=d?this.getPointForEvent(d):b.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var d=this.graph.view.getState(a),d=null!=d?d.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,d){d.height=Math.max(d.height,20);if(1<d.height/20){var b=d.height%20;d.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a, -d)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.resizeParent=!1;return b}return c.apply(this,arguments)}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)){this.model.beginUpdate();try{var d=JSON.parse(a.substring(17)); -if(null!=d.actions)for(var b=0;b<d.actions.length;b++)this.handleCustomLinkAction(d.actions[b])}catch(y){null!=window.console&&console.log("Error in "+a+": "+y)}finally{this.model.endUpdate()}}};Graph.prototype.handleCustomLinkAction=function(a){if(null!=a.toggle&&null!=a.toggle.cells)for(var d=0;d<a.toggle.cells.length;d++){var b=this.model.getCell(a.toggle.cells[d]);null!=b&&this.model.setVisible(b,!this.model.isVisible(b))}};Graph.prototype.highlightCell=function(a,d,b){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR; -b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var c=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,d,c,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,d,b){b=null!=b?b:!1;var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, -"filter"):c.createElement("filter");f.setAttribute("id",this.shadowId);var e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy", -this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):c.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2", -"offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c= -e[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"), -d&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),d,b=0;do d=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(d),"locked","0"));null!=d&&this.setDefaultParent(d)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian= -[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5= -[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js", -STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js", -STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+ -"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= -[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var d=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?d="mxgraph.er":"sysML"==a.substring(0,5)&&(d="mxgraph.sysml"));return d};var h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,e,g,m,n,t){if(null!=b&&null==mxMarker.markers[b]){var q=this.getPackageForType(b);null!=q&&mxStencilRegistry.getStencil(q)}return h.apply(this,arguments)}; -PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var e=d.getGraphBounds(),g=0,h=0,m=da.get(),n=1/d.pageScale,t=v.checked;if(t)var n=parseInt(W.value),q=parseInt(P.value),n=Math.min(m.height*q/(e.height/d.view.scale),m.width*n/(e.width/d.view.scale));else n=parseInt(r.value)/(100*d.pageScale),isNaN(n)&&(c= -1/d.pageScale,r.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!t&&d.pageVisible?(e=d.getPageLayout(),g-=e.x*m.width,h-=e.y*m.height):t=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,g,h,t);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss), -d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=t;b.appendGraph(d,n,g,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value="100 %");var c=.75*c,e=k.value,g=w.value,h=!t.checked,n=null; -h&&(h=e==m&&g==m);if(!h&&null!=a.pages&&a.pages.length){var q=0,h=a.pages.length-1;t.checked||(q=parseInt(e)-1,h=parseInt(g)-1);for(var u=q;u<=h;u++){var l=a.pages[u],e=l==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,q=!1,y=null,p=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(g=l.viewState.pageVisible,q=l.viewState.mathEnabled,y=l.viewState.background,p=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&& -(q="0"!=l.mapping.diagramMap.get("mathEnabled"),y=l.mapping.diagramMap.get("background"),p=l.mapping.diagramMap.get("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null);e.background=y;e.backgroundImage=null!=p?new mxImage(p.src,p.width,p.height):null;e.pageVisible=g;e.mathEnabled=q;var A=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:A.apply(this,arguments)};document.body.appendChild(e.container);a.updatePageRoot(l);e.model.setRoot(l.root)}n= -b(e,n,u!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), -h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)} -var f=a.editor.graph,e=document.createElement("div"),g=document.createElement("h3");g.style.width="100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,d||mxResources.get("print"));e.appendChild(g);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio"); -t.setAttribute("name","pages-printdialog");n.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var q=t.cloneNode(!0);t.setAttribute("checked","checked");q.setAttribute("value","range");n.appendChild(q);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type", -"number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){q.checked=!0});mxEvent.addListener(w,"focus",function(){q.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){m=g+ -1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var p=document.createElement("input");p.style.marginRight="8px";p.setAttribute("value","adjust");p.setAttribute("type","radio");p.setAttribute("name","printZoom");l.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var r=document.createElement("input");r.style.cssText="margin:0 8px 0 8px;"; -r.setAttribute("value","100 %");r.style.width="50px";l.appendChild(r);mxEvent.addListener(r,"focus",function(){p.checked=!0});e.appendChild(l);var n=n.cloneNode(!1),v=p.cloneNode(!0);v.setAttribute("value","fit");p.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"), -S=document.createElement("tr"),K=S.cloneNode(!0),F=document.createElement("td"),V=F.cloneNode(!0),L=F.cloneNode(!0),O=F.cloneNode(!0),X=F.cloneNode(!0),B=F.cloneNode(!0);F.style.textAlign="right";O.style.textAlign="right";mxUtils.write(F,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g, -mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));B.appendChild(g);S.appendChild(F);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(B);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q); -n.appendChild(l);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g); -var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}), -l.className="geBtn",g.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),l.className="geBtn",g.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});l.className="geBtn gePrimaryBtn";g.appendChild(l);a.editor.cancelFirst||g.appendChild(n);e.appendChild(g);this.container=e};var n=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== -this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(n.apply(this,arguments),null!=this.mathEnabled&& -this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));var l=document.createElement("div");l.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; +1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(l));mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(l);c(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& +(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var d=this.editorUi.editor.graph,f=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(c=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, +function(a){this.editorUi.actions.get("editShape").funct()})),c.setAttribute("title",mxResources.get("editShape")),c.style.marginBottom="2px",null==b?c.style.width="202px":(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c)):c.image&&(c=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==b?c.style.width="202px": +(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= +"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var u=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=mxUtils.clone(a)}u.apply(this,arguments);var c=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){c=null});this.isMouseInsertPoint=function(){return null!=c};var b=this.getInsertPoint; +this.getInsertPoint=function(){return null!=c?this.getPointForEvent(c):b.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a),c=null!=c?c.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,c){c.height=Math.max(c.height,20);if(1<c.height/20){var b=c.height%20;c.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a, +c)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.resizeParent=!1;return b}return d.apply(this,arguments)}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var c= +0;c<a.actions.length;c++)null!=a.actions[c].open&&(this.isCustomLink(a.actions[c].open)?this.customLinkClicked(a.actions[c].open):this.openLink(a.actions[c].open));this.model.beginUpdate();try{for(c=0;c<a.actions.length;c++)this.handleLinkAction(a.actions[c])}finally{this.model.endUpdate()}}};Graph.prototype.handleLinkAction=function(a){var c=[];null!=a.select&&this.isEnabled()&&(c=this.getCellsForAction(a.select),this.setSelectionCells(c));null!=a.scroll&&(c=this.getCellsForAction(a.scroll));null!= +a.toggle&&this.toggleCells(this.getCellsForAction(a.toggle));null!=a.show&&this.setCellsVisible(this.getCellsForAction(a.show),!0);null!=a.hide&&this.setCellsVisible(this.getCellsForAction(a.hide),!1);null!=a.highlight&&(c=this.getCellsForAction(a.highlight),this.highlightCells(c,a.highlight.color,a.highlight.duration,a.highlight.opacity));0<c.length&&this.scrollCellToVisible(c[0])};Graph.prototype.getCellsForAction=function(a){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags))}; +Graph.prototype.getCellsById=function(a){var c=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var d=this.getDefaultParent(),c=c.concat(this.model.filterDescendants(function(a){return a!=d},d));else{var f=this.model.getCell(a[b]);null!=f&&c.push(f)}return c};Graph.prototype.getCellsForTags=function(a,c,b){var d=[];if(null!=a){c=null!=c?c:this.model.getDescendants(this.model.getRoot());b=null!=b?b:"tags";for(var f=0;f<c.length;f++)if(this.model.isVertex(c[f])||this.model.isEdge(c[f])){var e= +null!=c[f].value&&"object"==typeof c[f].value?mxUtils.trim(c[f].value.getAttribute(b)||""):"",g=!0;if(0<e.length)for(var e=e.toLowerCase().split(" "),l=0;l<a.length&&g;l++)var h=mxUtils.trim(a[l]).toLowerCase(),g=g&&(0==h.length||0<=mxUtils.indexOf(e,h));else g=0==a.length;g&&d.push(c[f])}}return d};Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var c=0;c<a.length;c++)this.model.setVisible(a[c],!this.model.isVisible(a[c]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible= +function(a,c){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],c)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,c,b,d){for(var f=0;f<a.length;f++)this.highlightCell(a[f],c,b,d)};Graph.prototype.highlightCell=function(a,c,b,d){c=null!=c?c:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var f=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),e=new mxCellHighlight(this,c,f,!1);null!= +d&&(e.opacity=d);e.highlight(a);window.setTimeout(function(){null!=e.shape&&(mxUtils.setPrefixedStyle(e.shape.node.style,"transition","all 1200ms ease-in-out"),e.shape.node.style.opacity=0);window.setTimeout(function(){e.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,c,b){b=null!=b?b:!1;var d=a.ownerDocument,f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");f.setAttribute("id",this.shadowId);var e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feGaussianBlur"):d.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy",this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feFlood"):d.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):d.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2","offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feBlend"):d.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=e[0];d.appendChild(f);b||((c||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width", +parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,c){mxClient.IS_SVG&&(c=null!=c?c:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),c&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root), +c,b=0;do c=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(c),"locked","0"));null!=c&&this.setDefaultParent(c)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er= +[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic= +[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+ +"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]= +[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl= +[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js", +STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var c= +null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?c="mxgraph.er":"sysML"==a.substring(0,5)&&(c="mxgraph.sysml"));return c};var h=mxMarker.createMarker;mxMarker.createMarker=function(a,c,b,d,f,e,g,n,u,t){if(null!=b&&null==mxMarker.markers[b]){var l=this.getPackageForType(b);null!=l&&mxStencilRegistry.getStencil(l)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,c){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h, +Math.min(parseInt(w.value),parseInt(k.value))))}function d(c){function b(c,b,f){var e=c.getGraphBounds(),g=0,h=0,l=da.get(),n=1/c.pageScale,u=v.checked;if(u)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(l.height*t/(e.height/c.view.scale),l.width*n/(e.width/c.view.scale));else n=parseInt(r.value)/(100*c.pageScale),isNaN(n)&&(d=1/c.pageScale,r.value="100 %");l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*d);l.height=Math.ceil(l.height*d);n*=d;!u&&c.pageVisible?(e=c.getPageLayout(), +g-=e.x*l.width,h-=e.y*l.height):u=!0;if(null==b){b=PrintDialog.createPrintPreview(c,n,l,0,g,h,u);b.pageSelector=!1;b.mathEnabled=!1;c=a.getCurrentFile();null!=c&&(b.title=c.getTitle());var q=b.writeHead;b.writeHead=function(c){q.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,c,b,d,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled? +this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{l=c.background;if(null==l||""==l||l==mxConstants.NONE)l="#ffffff";b.backgroundColor=l;b.autoOrigin=u;b.appendGraph(c,n,g,h,f,!0)}return b}var d=parseInt(T.value)/100;isNaN(d)&&(d=1,T.value="100 %");var d=.75*d,e=k.value,g=w.value,h=!u.checked,n=null;h&&(h=e==l&&g==l);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;u.checked||(t=parseInt(e)-1,h=parseInt(g)-1);for(var q=t;q<=h;q++){var m=a.pages[q], +e=m==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,t=!1,p=null,y=null;null==m.viewState&&null==m.mapping&&null==m.root&&a.updatePageRoot(m);null!=m.viewState?(g=m.viewState.pageVisible,t=m.viewState.mathEnabled,p=m.viewState.background,y=m.viewState.backgroundImage):null!=m.mapping&&null!=m.mapping.diagramMap&&(t="0"!=m.mapping.diagramMap.get("mathEnabled"),p=m.mapping.diagramMap.get("background"),y=m.mapping.diagramMap.get("backgroundImage"),y=null!=y&&0<y.length? +JSON.parse(y):null);e.background=p;e.backgroundImage=null!=y?new mxImage(y.src,y.width,y.height):null;e.pageVisible=g;e.mathEnabled=t;var B=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?m.getName():"pagenumber"==a?q+1:B.apply(this,arguments)};document.body.appendChild(e.container);a.updatePageRoot(m);e.model.setRoot(m.root)}n=b(e,n,q!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'), +h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"), +h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),c&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&c&&PrintDialog.printPreview(n)}var f=a.editor.graph,e=document.createElement("div"),g=document.createElement("h3");g.style.width="100%"; +g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,c||mxResources.get("print"));e.appendChild(g);var h=1,l=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var u=document.createElement("input");u.style.cssText="margin-right:8px;margin-bottom:8px;";u.setAttribute("value","all");u.setAttribute("type","radio");u.setAttribute("name","pages-printdialog");n.appendChild(u);g=document.createElement("span");mxUtils.write(g, +mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var t=u.cloneNode(!0);u.setAttribute("checked","checked");t.setAttribute("value","range");n.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span"); +mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){t.checked=!0});mxEvent.addListener(w,"focus",function(){t.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){l=g+1;k.value=l;w.value=l;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var m=document.createElement("div"); +m.style.marginBottom="10px";var p=document.createElement("input");p.style.marginRight="8px";p.setAttribute("value","adjust");p.setAttribute("type","radio");p.setAttribute("name","printZoom");m.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));m.appendChild(g);var r=document.createElement("input");r.style.cssText="margin:0 8px 0 8px;";r.setAttribute("value","100 %");r.style.width="50px";m.appendChild(r);mxEvent.addListener(r,"focus",function(){p.checked=!0}); +e.appendChild(m);var n=n.cloneNode(!1),v=p.cloneNode(!0);v.setAttribute("value","fit");p.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);m=document.createElement("table");m.style.display="inline-block";var Q=document.createElement("tbody"),S=document.createElement("tr"),K=S.cloneNode(!0),F=document.createElement("td"),V=F.cloneNode(!0),L=F.cloneNode(!0),O=F.cloneNode(!0), +X=F.cloneNode(!0),A=F.cloneNode(!0);F.style.textAlign="right";O.style.textAlign="right";mxUtils.write(F,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P); +mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));A.appendChild(g);S.appendChild(F);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);m.appendChild(Q);n.appendChild(m);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom= +"12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g);var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T); +e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);a.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),m.className="geBtn",g.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog(); +d(!1)}),m.className="geBtn",g.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});m.className="geBtn gePrimaryBtn";g.appendChild(m);a.editor.cancelFirst||g.appendChild(n);e.appendChild(g);this.container=e};var n=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background= +this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(n.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!= +this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= -!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= -null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(t){}})(); -EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh(); -this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12, -length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,e){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=e&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight= -"10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),g.innerHTML=e+"...",c.appendChild(g),d.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0, -b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,e)}));this.stop();return a}),g=!0);return g};var e=d.stop;d.stop=function(){e.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=e;e+=d;return a.substring(b,e)}function f(a){a=d(a,4);return a.charCodeAt(3)+ -(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var g=d(a,4);if(null!=b&&b(e-8,g,c))break;value=d(a,c);d(a,4);if("IEND"==g)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1}; -var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("<mxfile ");if(0<=c){var e=d.lastIndexOf("</mxfile>");e>c&&(b=d.substring(c,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var t=mxUtils.parseXml(d),h=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!= -h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate(); -try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"), -this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,t,h,n,q,k,u){b=null!= -b?b:this.editor.graph;t=null!=t?t:!1;k=null!=k?k:!0;var d,f=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}u?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"), -g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!t&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!t&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!= -App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,q,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping; -this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,t,h,n,q,k){t=null!=t?t:!0;n=null!=n?n:this.getXmlFileData(t,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph; -if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,t,q);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a}; -EditorUi.prototype.getHtml=function(a,b,c,e,t,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==t&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom", +!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),d=new Image;d.onload=function(){try{b.getContext("2d").drawImage(d,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= +null!=a&&6<a.length}catch(h){}};d.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(t){}})(); +EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,d){localStorage.setItem(a,b);d()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh(); +this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,d){d=null!=d?d:24;var c=new Spinner({lines:12, +length:d,width:Math.round(d/3),radius:Math.round(d/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=c.spin;c.spin=function(d,e){var g=!1;this.active||(f.call(this,d),this.active=!0,null!=e&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight= +"10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),g.innerHTML=e+"...",d.appendChild(g),c.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0, +b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(d,e)}));this.stop();return a}),g=!0);return g};var e=c.stop;c.stop=function(){e.call(this);this.active=!1;null!=c.status&&(c.status.parentNode.removeChild(c.status),c.status=null)};c.pause=function(){return function(){}};return c};EditorUi.parsePng=function(a,b,d){function c(a,c){var b=e;e+=c;return a.substring(b,e)}function f(a){a=c(a,4);return a.charCodeAt(3)+ +(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(c(a,4),"IHDR"!=c(a,4))null!=d&&d();else{c(a,17);do{d=f(a);var g=c(a,4);if(null!=b&&b(e-8,g,d))break;value=c(a,d);c(a,4);if("IEND"==g)break}while(d)}};EditorUi.prototype.isCompatibleString=function(a){try{var c=mxUtils.parseXml(a),b=this.editor.extractGraphModel(c.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(u){}return!1}; +var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(c){var b=a.apply(this,arguments);if(null==b)try{var d=c.indexOf("<mxfile ");if(0<=d){var e=c.lastIndexOf("</mxfile>");e>d&&(b=c.substring(d,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var t=mxUtils.parseXml(c),h=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!= +h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var c=a.indexOf('<meta charset="utf-8">');0<=c&&(a=a.slice(0,c)+'<meta charset="utf-8"/>'+a.slice(c+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a){c=this.editor.graph;c.model.beginUpdate(); +try{var b=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=d.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(d[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));c.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"), +this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),c.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)c.model.execute(new ChangePage(this,b[e],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,d,e,t,h,n,l,k,q){b=null!= +b?b:this.editor.graph;t=null!=t?t:!1;k=null!=k?k:!0;var c,f=null;null==d||d.getMode()==App.MODE_DEVICE||d.getMode()==App.MODE_BROWSER?c="_blank":f=c=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var u=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(u);if(b.decompress(g)!=u)return u;u=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(u,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(u)}q?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"), +g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=d?d.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!t&&(n||null!=d&&/(\.html)$/i.test(d.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=d?d.getTitle():null,c,f);else if(h||!t&&null!=d&&/(\.svg)$/i.test(d.getTitle()))null==d||d.getMode()!=App.MODE_DEVICE&&d.getMode()!= +App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,l,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping; +this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[f].node,d),e.needsUpdate=!1);c.appendChild(this.pages[f].node)}}return c};EditorUi.prototype.getFileData=function(a,b,d,e,t,h,n,l,k){t=null!=t?t:!0;n=null!=n?n:this.getXmlFileData(t,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph; +if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var c=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:c.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,d,e,t,l);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a}; +EditorUi.prototype.getHtml=function(a,b,d,e,t,h){h=null!=h?h:!0;var c=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var c=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(c.x/g-b.view.translate.x);g=Math.floor(c.y/g-b.view.translate.y);c=b.background;null==t&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom", "1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=t&&(t=t.replace(/&/g,"&"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">': -">")+"\n<head>\n"+(null==t?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+"</head>\n<body"+(null==t&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==t?'<script type="text/javascript" src="'+f+'">\x3c/script>': -'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,t){null!=t&&(t=t.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages, -this.currentPage));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==t?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+ -mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==t?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length? -mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page|| -0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!= -d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,t,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!t), -f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,t));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c= -this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(A){this.handleError(A)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l== -mxConstants.NONE)l=null;var p=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(C){this.handleError(C)}}; -EditorUi.prototype.createDownloadRequest=function(a,b,c,e,t){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&t&&(g=mxConstants.NONE); -return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml, -null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), -mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&& -(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c= -this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var q=a.getAttribute("value");if(null!=q){var k=mxUtils.parseXml(q).documentElement;if(null!=k)if("1"==k.getAttribute("replace-value"))e.setValue(n,k);else for(var u=k.attributes,l=0;l<u.length;l++)c.setAttributeForCell(n,u[l].nodeName,0<u[l].nodeValue.length?u[l].nodeValue:null)}}catch(A){null!=window.console&&console.log("Error in value for "+ -n.id+": "+A)}try{var p=a.getAttribute("style");null!=p&&c.model.setStyle(n,p)}catch(A){null!=window.console&&console.log("Error in style for "+n.id+": "+A)}try{var r=a.getAttribute("icon");if(null!=r){var v=0<r.length?JSON.parse(r):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(A){null!=window.console&&console.log("Error in icon for "+n.id+": "+A)}try{var C=a.getAttribute("geometry");if(null!=C){var C=JSON.parse(C),x=c.getCellGeometry(n);if(null!=x){x=x.clone(); -for(key in C){var H=parseFloat(C[key]);"dx"==key?x.x+=H:"dy"==key?x.y+=H:"dw"==key?x.width+=H:"dh"==key?x.height+=H:x[key]=parseFloat(C[key])}c.model.setGeometry(n,x)}}}catch(A){null!=window.console&&console.log("Error in icon for "+n.id+": "+A)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))), -a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener), -b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); +">")+"\n<head>\n"+(null==t?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+"</head>\n<body"+(null==t&&null!=c&&c!=mxConstants.NONE?' style="background-color:'+c+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==t?'<script type="text/javascript" src="'+f+'">\x3c/script>': +'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,d,e,t){null!=t&&(t=t.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages, +this.currentPage));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==t?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+ +mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==t?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var c=null!=a&&0<a.length? +mxUtils.parseXml(a).documentElement:null;a=null!=c?this.editor.extractGraphModel(c,!0):null;null!=a&&(c=a);if(null!=c&&"mxfile"==c.nodeName&&(a=c.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=c;this.pages=[];for(c=0;c<a.length;c++){var b=new DiagramPage(a[c]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[c+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page|| +0))];c=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=c&&(this.fileNode=c.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(c.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(c);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var c=this.getCurrentFile(),c=null!=c&&null!= +c.getTitle()?c.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(c)||/(\.html)$/i.test(c)||/(\.svg)$/i.test(c)||/(\.png)$/i.test(c))c=c.substring(0,c.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(c=c+"-"+this.currentPage.getName());return c};EditorUi.prototype.downloadFile=function(a,b,d,e,t,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var c=this.getBaseFilename(!t), +f=c+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,t));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,c),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=c+".png":"jpeg"==a&&(f=c+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(c,b){try{var d= +this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(c,a,e,b,n);this.editor.graph.pageVisible=d;return f}catch(B){this.handleError(B)}}));else{var u=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(u)}))});if("svg"==a){var m=this.editor.graph.background;if(n||m== +mxConstants.NONE)m=null;var p=this.editor.graph.getSvg(m,null,null,null,null,e);d&&this.editor.graph.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=c+".svg",u=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(E){this.handleError(E)}}; +EditorUi.prototype.createDownloadRequest=function(a,b,d,e,t){var c=this.editor.graph.getGraphBounds();d=this.getFileData(!0,null,null,null,d,"xmlpng"!=b);var f="";if(c.width*c.height>MAX_AREA||d.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};c="0";if("xmlpng"==b&&(c="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&t&&(g=mxConstants.NONE); +return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+c+"&xml="+encodeURIComponent(d)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,d){var c=window.location.hash,f=mxUtils.bind(this,function(d){var f=null!=a.data?a.data:"";null!=d&&0<d.length&&(0<f.length&&(f+="\n"),f+=d);d=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml, +null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);d.getHash=function(){return c};this.fileLoaded(d);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var c=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), +mxUtils.bind(this,function(a){c===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&& +(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=d&&d(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){editorUi.alert(a.tooltip)});return c}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var d= +this.editor.graph,e=d.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var l=a.getAttribute("value");if(null!=l){var k=mxUtils.parseXml(l).documentElement;if(null!=k)if("1"==k.getAttribute("replace-value"))e.setValue(n,k);else for(var q=k.attributes,m=0;m<q.length;m++)d.setAttributeForCell(n,q[m].nodeName,0<q[m].nodeValue.length?q[m].nodeValue:null)}}catch(B){null!=window.console&&console.log("Error in value for "+ +n.id+": "+B)}try{var p=a.getAttribute("style");null!=p&&d.model.setStyle(n,p)}catch(B){null!=window.console&&console.log("Error in style for "+n.id+": "+B)}try{var r=a.getAttribute("icon");if(null!=r){var v=0<r.length?JSON.parse(r):null;null!=v&&v.append||d.removeCellOverlays(n);null!=v&&d.addCellOverlay(n,c(v))}}catch(B){null!=window.console&&console.log("Error in icon for "+n.id+": "+B)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),x=d.getCellGeometry(n);if(null!=x){x=x.clone(); +for(key in E){var J=parseFloat(E[key]);"dx"==key?x.x+=J:"dy"==key?x.y+=J:"dw"==key?x.width+=J:"dh"==key?x.height+=J:x[key]=parseFloat(E[key])}d.model.setGeometry(n,x)}}}catch(B){null!=window.console&&console.log("Error in icon for "+n.id+": "+B)}}}else if("model"==a.nodeName){for(var H=a.firstChild;null!=H&&H.nodeType!=mxConstants.NODETYPE_ELEMENT;)H=H.nextSibling;null!=H&&(new mxCodec(a.firstChild)).decode(H,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))), +a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var c=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener), +b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+ -"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!= +"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));c=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!= App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(t){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(t){}}catch(t){null!=window.console&&console.log("error in fileLoaded:",a,t);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+ -(null!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(h){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged= -function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,t,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad= -function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!= -a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b= -this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};}; -EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style, -"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1, -!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+= -"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var q=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var k= -q.parentNode.previousSibling;c=k.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var u=document.createElement("div");u.style.position="absolute";u.style.right="0px";u.style.top="0px";u.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(u.style.backgroundColor="inherit");k.style.position="relative";var l=document.createElement("img");l.setAttribute("src",Dialog.prototype.closeImage);l.setAttribute("title", -mxResources.get("close"));l.setAttribute("valign","absmiddle");l.setAttribute("border","0");l.style.margin="0 3px";var p=null;if(".scratchpad"!=a.title||this.closableScratchpad)u.appendChild(l),mxEvent.addListener(l,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=p?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var r= -this.editor.graph,v=null,C=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),q,b,a,a.getMode());mxEvent.consume(d)}),x=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=l.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",u.insertBefore(v,u.firstChild),k.style.paddingRight=18*u.childNodes.length+ -"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),k.style.paddingRight=18*u.childNodes.length+"px")})):null==p&&(p=l.cloneNode(!1),p.setAttribute("src",IMAGE_PATH+"/download.png"),p.setAttribute("title",mxResources.get("save")),u.insertBefore(p,u.firstChild),mxEvent.addListener(p,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==p||a.isModified()|| -(k.style.paddingRight=18*u.childNodes.length+"px",p.parentNode.removeChild(p),p=null)});mxEvent.consume(d)})),k.style.paddingRight=18*u.childNodes.length+"px")}),H=mxUtils.bind(this,function(a,d,c,e){a=r.cloneCells(mxUtils.sortCells(r.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=r.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}q.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), -w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);x(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(r.isSelectionEmpty())r.getRubberband().isActive()?(r.getRubberband().execute(a),r.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=r.getSelectionCells(),b=r.view.getBounds(d),c=r.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=r.view.translate.x; -b.y-=r.view.translate.y;H(d,b)}mxEvent.consume(a)});q.style.border="3px solid transparent";mxEvent.addGestureListeners(q,function(){},mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":q.style.border="3px dotted rgb(254, 137, 12)",q.style.cursor="copy",r.panningManager.stop(),r.autoScroll=!1,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!1), -null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler&&(q.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),q.style.cursor="default",this.sidebar.showTooltips=!0,r.panningManager.stop(),r.graphHandler.reset(),r.isMouseDown=!1,r.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(q,"mouseleave",mxUtils.bind(this,function(a){r.isMouseDown&& -null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="visible",q.style.border="3px solid transparent",q.style.cursor="",r.autoScroll=!0,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!0),null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(q,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":q.style.border="3px dotted rgb(254, 137, 12)"; -a.dataTransfer.dropEffect="copy";q.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"drop",mxUtils.bind(this,function(a){q.style.border="3px solid transparent";q.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,t,u,k){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ -this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,H(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,p=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,q);b=b.concat(h);x(a); -this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),t=this.editor.graph.getBoundingBoxFromGeometry(m);H(m,new mxRectangle(0,0,t.width,t.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); -null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=k&&null!=t&&(/(\.vsdx?)($|\?)/i.test(t)||/(\.vssx)($|\?)/i.test(t))?this.importVisio(k,function(a){p(a,"text/xml")},null,t):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,t)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?p(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": -"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):p(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(q.style.border="3px solid transparent",q.style.cursor="");a.stopPropagation();a.preventDefault()}));l=l.cloneNode(!1);l.setAttribute("src",Editor.editImage);l.setAttribute("title",mxResources.get("edit"));u.insertBefore(l,u.firstChild);mxEvent.addListener(l,"click",C);mxEvent.addListener(q, -"dblclick",function(a){mxEvent.getSource(a)==q&&C(a)});c=l.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));u.insertBefore(c,u.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, -mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),u.insertBefore(c,u.firstChild))}k.appendChild(u);k.style.paddingRight=18*u.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter"); +(null!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(h){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):d()}))}else d();return c};EditorUi.prototype.descriptorChanged= +function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var c=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=c+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,d,e,t,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad= +function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var c=mxUtils.createXmlDocument(),b=c.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));c.appendChild(b);return mxUtils.getXml(c)};EditorUi.prototype.closeLibrary=function(a){null!= +a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var c=this.sidebar.palettes[a];if(null!=c){for(var b=0;b<c.length;b++)c[b].parentNode.removeChild(c[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var c=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b= +this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:c.firstChild.nextSibling.nextSibling;var b=c.lastChild,d=b.previousSibling;c.insertBefore(b,a);c.insertBefore(d,b)};EditorUi.prototype.loadLibrary=function(a){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(c.documentElement));this.libraryLoaded(a,b,c.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};}; +EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var c=this.sidebar.palettes[a.getHash()],c=null!=c?c[c.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(c,b){if(0==c.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style, +"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var d=0;d<c.length;d++){var e=c[d],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1, +!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var c=a.data;null!=c&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){c=this.convertDataUri(c);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+= +"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+c,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var c=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(c,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);d=null!=d&&0<d.length?d:a.getTitle();var l=this.sidebar.addPalette(a.getHash(),d,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(c);var k= +l.parentNode.previousSibling;d=k.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+d);var q=document.createElement("div");q.style.position="absolute";q.style.right="0px";q.style.top="0px";q.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(q.style.backgroundColor="inherit");k.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title", +mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.margin="0 3px";var p=null;if(".scratchpad"!=a.title||this.closableScratchpad)q.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=p?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var r= +this.editor.graph,v=null,E=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),l,b,a,a.getMode());mxEvent.consume(c)}),x=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=m.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",q.insertBefore(v,q.firstChild),k.style.paddingRight=18*q.childNodes.length+ +"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),k.style.paddingRight=18*q.childNodes.length+"px")})):null==p&&(p=m.cloneNode(!1),p.setAttribute("src",IMAGE_PATH+"/download.png"),p.setAttribute("title",mxResources.get("save")),q.insertBefore(p,q.firstChild),mxEvent.addListener(p,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==p||a.isModified()|| +(k.style.paddingRight=18*q.childNodes.length+"px",p.parentNode.removeChild(p),p=null)});mxEvent.consume(c)})),k.style.paddingRight=18*q.childNodes.length+"px")}),J=mxUtils.bind(this,function(a,c,d,e){a=r.cloneCells(mxUtils.sortCells(r.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=r.getCellGeometry(a[g]);null!=h&&h.translate(-c.x,-c.y)}l.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), +w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);x(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),H=mxUtils.bind(this,function(a){if(r.isSelectionEmpty())r.getRubberband().isActive()?(r.getRubberband().execute(a),r.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=r.getSelectionCells(),b=r.view.getBounds(c),d=r.view.scale;b.x/=d;b.y/=d;b.width/=d;b.height/=d;b.x-=r.view.translate.x; +b.y-=r.view.translate.y;J(c,b)}mxEvent.consume(a)});l.style.border="3px solid transparent";mxEvent.addGestureListeners(l,function(){},mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":l.style.border="3px dotted rgb(254, 137, 12)",l.style.cursor="copy",r.panningManager.stop(),r.autoScroll=!1,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!1), +null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler&&(l.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),l.style.cursor="default",this.sidebar.showTooltips=!0,r.panningManager.stop(),r.graphHandler.reset(),r.isMouseDown=!1,r.autoScroll=!0,H(a),mxEvent.consume(a))}));mxEvent.addListener(l,"mouseleave",mxUtils.bind(this,function(a){r.isMouseDown&& +null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="visible",l.style.border="3px solid transparent",l.style.cursor="",r.autoScroll=!0,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!0),null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(l,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":l.style.border="3px dotted rgb(254, 137, 12)"; +a.dataTransfer.dropEffect="copy";l.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(l,"drop",mxUtils.bind(this,function(a){l.style.border="3px solid transparent";l.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,g,h,n,u,q,t,k){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ +this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,n,u),c)],c[0].vertex=!0,J(c,new mxRectangle(0,0,n,u),a,mxEvent.isAltDown(a)?null:q.substring(0,q.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var m=!1,p=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var g=mxUtils.parseXml(c);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,l);b=b.concat(h);x(a); +this.spinner.stop();m=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),u=this.stringToCells(this.editor.graph.decompress(h)),q=this.editor.graph.getBoundingBoxFromGeometry(u);J(u,new mxRectangle(0,0,q.width,q.height),a)}m=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); +null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=k&&null!=q&&(/(\.vsdx?)($|\?)/i.test(q)||/(\.vssx)($|\?)/i.test(q))?this.importVisio(k,function(a){p(a,"text/xml")},null,q):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,q)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?p(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": +"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):p(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(l,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(l.style.border="3px solid transparent",l.style.cursor="");a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));q.insertBefore(m,q.firstChild);mxEvent.addListener(m,"click",E);mxEvent.addListener(l, +"dblclick",function(a){mxEvent.getSource(a)==l&&E(a)});d=m.cloneNode(!1);d.setAttribute("src",Editor.plusImage);d.setAttribute("title",mxResources.get("add"));q.insertBefore(d,q.firstChild);mxEvent.addListener(d,"click",H);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d, +mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),q.insertBefore(d,q.firstChild))}k.appendChild(q);k.style.paddingRight=18*q.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter"); if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme? (mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding= 5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4", Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=", Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display= -"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,t){a=new ImageDialog(this,a,b,c,e,t);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= -!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,t){a=new LibraryDialog(this,a,b,c,e,t);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer"); -a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!= -this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden")); -else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var q=window.location.hash;null!=q&&"#G"==q.substring(0,2)&&(q=q.substring(2),a+=' <a href="https://drive.google.com/open?id='+q+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= -mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,t,h,n,q,k,u,l,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,t,h,n,p,q,k);this.showDialog(a.container,u||340,l||150,!0,!1);a.init()};EditorUi.prototype.alert= -function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,t){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,t)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile}; -EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b)))); -return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; -EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,t){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height= -"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d); -try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,t).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,t,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=t?"&format="+t:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b= -b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),n=0;n<f;++n){for(var q=1024*n,k=Math.min(q+1024,c),u=Array(k-q),l=0;q<k;++l,++q)u[l]=d[q].charCodeAt(0);e[n]=new Uint8Array(u)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,t,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=t&&(!mxClient.IS_IOS||!navigator.standalone);t=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)|| -"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(E){this.handleError(E)}}))}catch(y){this.handleError(y)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), -mxResources.get("download"),!1,h,n,null,1<t,4<t&&(!h||6>t)?3:4,a,c,e);this.showDialog(b.container,420,t==(mxClient.IS_IOS?0:1)?160:4<t?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+ -'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), -this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= -"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog); -this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, -function(){this.openInNewWindow(d.substring(d.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,t){this.isLocalFileSave()?this.saveLocalFile(c, -a,e,t,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,t,b,d)}),c,t,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,t,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document, -"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(z){this.handleError(z)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(z){this.handleError(z)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); -this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,t);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,t,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,t,h,n,q,k){if(this.spinner.spin(document.body, -mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,q,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();t&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,k));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS? -d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"), -mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,t,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled", -"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),t||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&& -(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"== -e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d}, -getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft= -"8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value", -"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE|| -mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,t,h,n,q){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=t&&0<t.length&&f.push("edit="+encodeURIComponent(t)),h&& -f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),q||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1)); -a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,t,h,n,q,k,u,l){this.getBasenames();var d={};""!=t&&t!=mxConstants.NONE&&(d.highlight=t);"auto"!==e&&(d.target=e);k||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled; -c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);q&&c.push("layers");0<c.length&&(k&&c.push("lightbox"),d.toolbar=c.join(" "));null!=u&&0<u.length&&(d.edit=u);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+ -mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";l(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3"); -mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value", -"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var u=this.getCurrentFile();null==c&&null!=u&&u.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")), -g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(u.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),p=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight= -"12px";r.value="100%";d.appendChild(r);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,C=C=this.addCheckbox(d,mxResources.get("allPages"),g,!g),x=this.addCheckbox(d,mxResources.get("layers"),!0),H=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,H),A=I.getEditInput();A.style.marginBottom="16px";mxEvent.addListener(H,"change",function(){H.checked?A.removeAttribute("disabled"):A.setAttribute("disabled","disabled");A.checked&&H.checked? -I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,p.checked,r.value,l.getTarget(),l.getColor(),v.checked,C.checked,x.checked,H.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3"); -mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; -var t=document.createElement("div");t.style.whiteSpace="normal";mxUtils.write(t,mxResources.get("linkAccountRequired"));m.appendChild(t);t=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));t.style.marginTop="12px";t.className="geBtn";m.appendChild(t);d.appendChild(m);t=document.createElement("a");t.style.paddingLeft="12px";t.style.color="gray";t.style.fontSize="11px";t.setAttribute("href","javascript:void(0);");mxUtils.write(t,mxResources.get("check")); -m.appendChild(t);mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,p=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"), -l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=e+"px",d.appendChild(p),mxUtils.br(d);var r=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var C=null; -if(null==g||g.constructor!=window.DriveFile||b)C=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var x=this.addCheckbox(d,mxResources.get("lightbox"),!0),v=this.addEditButton(d,x),I=v.getEditInput(),A=this.addCheckbox(d,mxResources.get("layers"),!0);A.style.marginLeft=I.style.marginLeft;A.style.marginBottom="16px";A.style.marginTop="8px";mxEvent.addListener(x,"change",function(){x.checked?(A.removeAttribute("disabled"),I.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),I.setAttribute("disabled", -"disabled"));I.checked&&x.checked?v.getEditSelect().removeAttribute("disabled"):v.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(r.getTarget(),r.getColor(),null==C?!0:C.checked,x.checked,v.getLink(),A.checked,null!=l?l.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select(): -document.execCommand("selectAll",!1,null)):r.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"), -!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,q){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f= -this.editor.graph,g="jpeg"==q?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";d.appendChild(t);mxUtils.write(d,mxResources.get("borderWidth")+":"); -var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";d.appendChild(l);mxUtils.br(d);var p=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=q),r=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight= -"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(r,"change",function(){r.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),A=document.createElement("input");A.style.marginTop= -"16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||A.setAttribute("disabled","disabled");b&&(d.appendChild(A),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=q),D=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,D?mxResources.get("allPages"):"",D,!D,null,"jpeg"!=q);J.style.marginLeft="24px";J.style.marginBottom="16px";D||(J.style.visibility= -"hidden");mxEvent.addListener(N,"change",function(){N.checked&&D?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&D||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=l.value;this.lastExportZoom=t.value;k(t.value,p.checked,!r.checked,I.checked,N.checked,A.checked,l.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| -mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),t=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e, -!e),l=this.addCheckbox(d,c),p=this.addCheckbox(d,mxResources.get("lightbox"),!0),r=this.addEditButton(d,p),v=r.getEditInput(),C=1<f.model.getChildCount(f.model.getRoot()),x=this.addCheckbox(d,mxResources.get("layers"),C,!C);x.style.marginLeft=v.style.marginLeft;x.style.marginBottom="12px";x.style.marginTop="8px";mxEvent.addListener(p,"change",function(){p.checked?(C&&x.removeAttribute("disabled"),v.removeAttribute("disabled")):(x.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled")); -v.checked&&p.checked?r.getEditSelect().removeAttribute("disabled"):r.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,t.checked,l.checked,p.checked,r.getLink(),x.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,q){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){q({message:mxResources.get("unknownError")})}), -null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):q({message:mxResources.get("unknownError")})}))}else q({message:mxResources.get("drawingTooLarge")})}; -EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var t=" ",l="";e&&(t="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+t+"/>")}))}else l="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+ -" "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"==a.nodeName){var c=a.getElementsByTagName("diagram");if(0< -c.length){var d=c[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=d&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph, -e=null;if(null!=c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container); -d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(u){null!=b&&b(u)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg= -function(a,b,c,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ -mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,n,q,l){l=null!=l?l:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,k?this.getFileData(!0,null,null,null,c,q):null,l)}catch(E){"Invalid image"==E.message?this.downloadFile(l):this.handleError(E)}}),null, -this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,n)}catch(y){this.spinner.stop(),this.handleError(y)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h= -b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var k=b[n].indexOf(")"),l=null,u=b[n].indexOf("format(",k);0<u&&(l=d(b[n].substring(u+7,b[n].indexOf(")",u))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d= -"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.sfnt)($|\?)/i.test(a))d="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){e[a]=d;c--;h()}),mxUtils.bind(this, -function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[n].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,n,q,l,u,p,r,v,G){h=null!=h?h:!0;r=null!=r?r:this.editor.graph;v=null!=v?v:0;var d=l?null:r.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==l&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(r.getSvg(d,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(c){var e=new Image;e.onload=mxUtils.bind(this, -function(){try{var f=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(q*g)+2*v;n=Math.ceil(q*n)+2*v;f.setAttribute("width",g);f.setAttribute("height",n);var m=f.getContext("2d");null!=d&&(m.beginPath(),m.rect(0,0,g,n),m.fillStyle=d,m.fill());m.scale(q,q);mxClient.IS_SF?window.setTimeout(function(){m.drawImage(e,v/q,v/q);a(f)},0):(m.drawImage(e,v/q,v/q),a(f))}catch(R){null!= -k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{u&&this.editor.graph.addSvgShadow(c);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(r,c,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(f)}catch(A){null!=k&&k(A)}}),c,p)};EditorUi.prototype.createImageUrlConverter= -function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var e="http://"==d.substring(0,7)||"https://"==d.substring(0,8);e&&!navigator.onLine?d=c.svgBrokenImage.src:!e||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,e){null== -e&&(e=this.createImageUrlConverter());var d=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var h=a.getElementsByTagName(c),n=0;n<h.length;n++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var n=f[h];null==n?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,n)}else null!=h&&c.setAttribute(g,h)})(h[n])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl= -function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var e=a.getText();if(d){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),f=0;f<a.length;f++)e[f]= -String.fromCharCode(a[f]);e=e.join("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)|| -"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image, -c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(n){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),m=this.editor.extractGraphModel(g.documentElement, -null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var l=m.getElementsByTagName("diagram");if(1==l.length)m=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var t=this.updatePageRoot(new DiagramPage(l[a])),p=this.pages.length;null==t.getName()&&t.setName(mxResources.get("pageWithNumber",[p+1]));f.model.execute(new ChangePage(this,t,t,p))}}finally{f.model.endUpdate()}}}null!=m&&"mxGraphModel"=== -m.nodeName&&(d=f.importGraphModel(m,b,c,e))}}catch(z){throw k||this.handleError(z,mxResources.get("invalidOrMissingFile")),z;}return d};EditorUi.prototype.importVisio=function(a,b,c,e){e=null!=e?e:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= -"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(q){c(q)}else c({})});f.send(d)}else try{this.doImportVisio(a,b,c)}catch(q){c(q)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}}); -"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev? -mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage; -for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,c,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(y){}this.loadImage(a,mxUtils.bind(this,function(e){if("data:"==a.substring(0,5))this.resizeImage(e,a,mxUtils.bind(this,function(a,e,f){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),n,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/e.width,this.maxImageSize/ -e.height)),g=Math.round(e.width*f);e=Math.round(e.height*f);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;d.getModel().beginUpdate();try{f=d.insertVertex(d.getDefaultParent(),null,a,d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.updateCellSize(f),d.fireEvent(new mxEventObject("textInserted","cells", -[f]))}finally{d.getModel().endUpdate()}d.setSelectionCell(f)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,h);else{d=this.editor.graph;k=null;d.getModel().beginUpdate();try{k=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value= -a,d.updateCellSize(k),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(k.value)&&d.setLinkForCell(k,k.value),k.geometry.width+=d.gridSize,k.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[k]}}return[]};EditorUi.prototype.formatFileSize=function(a){var d=-1;do a/=1024,d++;while(1024<a);return Math.max(a,.1).toFixed(1)+ -" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[d]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var d=document.createElement("input"); -d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){null!=d.files&&this.importFiles(d.files,null,null,this.maxImageSize)}));d.click()}else{window.openNew=!1;window.openKey="import";if(!b){var c=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,d){if(null!=d&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(d)){var b=new Blob([a],{type:"application/octet-stream"}); -this.importVisio(b,mxUtils.bind(this,function(a){this.importXml(a)}),null,d)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,e,k,h,n,l,p,u, -r){u=null!=u?u:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,n)):d=this.importXml(a,c,e,u);null!=l&&l(d)});"image"==b.substring(0,5)?(p=!1,"image/png"==b.substring(0,9)&&(b=r?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,u),p=!0)),p||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&f.isGridEnabled()&&(c=f.snap(c),e= -f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,u);null!=l&&l(a)})):null!=p&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(d=!0,this.importVisio(p,g)):!this.isOffline()&&(new XMLHttpRequest).upload&& -this.isRemoteFileFormat(a,n)?(d=!0,this.parseFile(null!=p?p:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,u));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,n;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> -2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);d+="==";break}h=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}n=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> -2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,n,l,p,u,r,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&& -null!=a)for(var m=r||this.resampleThreshold,q=0;q<a.length;q++)if("image/"==a[q].type.substring(0,6)&&a[q].size>m){g=!0;break}var t=mxUtils.bind(this,function(){var g=this.editor.graph,m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,n,k){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,n,k,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body, -mxResources.get("loading")))for(var q=a.length,t=q,p=[],y=mxUtils.bind(this,function(a,d){p[a]=d;if(0==--t){this.spinner.stop();if(null!=l)l(p);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<p.length;c++){var e=p[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),x=0;x<q;x++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l= -a.target.result,q=l.indexOf(","),t=decodeURIComponent(escape(atob(l.substring(q+1)))),p=mxUtils.parseXml(t),t=p.getElementsByTagName("svg");if(0<t.length){var t=t[0],A=v?null:t.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?y(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=p){var a= -p.getElementsByTagName("svg");if(0<a.length){var n=a[0],t=parseFloat(n.getAttribute("width")),u=parseFloat(n.getAttribute("height")),r=n.getAttribute("viewBox");if(null==r||0==r.length)n.setAttribute("viewBox","0 0 "+t+" "+u);else if(isNaN(t)||isNaN(u)){var A=r.split(" ");3<A.length&&(t=parseFloat(A[2]),u=parseFloat(A[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var D=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,u)),v=k(l,h.type,b+d*m,c+d*m,Math.max(1,Math.round(t*D)),Math.max(1,Math.round(u* -D)),h.name,f);if(isNaN(t)||isNaN(u)){var y=new Image;y.onload=mxUtils.bind(this,function(){t=Math.max(1,y.width);u=Math.max(1,y.height);v[0].geometry.width=t;v[0].geometry.height=u;n.setAttribute("viewBox","0 0 "+t+" "+u);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(n))}return v}}}catch(ea){}return null})):y(d,mxUtils.bind(this,function(){return k(A, -"text/xml",b+d*m,c+d*m,0,0,h.name)}))}}else{t=!1;if("image/png"==h.type){var D=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=D&&0<D.length){var x=new Image;x.src=a.target.result;y(d,mxUtils.bind(this,function(){return k(D,"text/xml",b+d*m,c+d*m,x.width,x.height,h.name)}));t=!0}}t||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), -mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,l){y(d,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var q=f&&this.isResampleImage(a.target.result,r)?Math.min(1,Math.min(e/n,e/l)):1;return k(g,h.type,b+d*m,c+d*m,Math.round(n*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,r)}),mxUtils.bind(this, -function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*m,c+d*m,240,160,h.name,function(a){y(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*m,c+d*m,240,160,h.name,function(a){y(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(x)});g?this.confirmImageResize(function(a){f=a;t()},p):t()};EditorUi.prototype.confirmImageResize=function(a, -b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?e:null),mxSettings.save();d();a(e)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ -'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length> -b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var m=Math.round(d/g),l=Math.round(f/g),t=document.createElement("canvas");t.width=m;t.height=l;t.getContext("2d").drawImage(a,0,0,m,l);var p=t.toDataURL();if(p.length<b.length){var r=document.createElement("canvas");r.width=m;r.height=l;var v=r.toDataURL();p!==v&&(b=p,d=m,f=l)}}}catch(x){}c(b,d,f)}; -EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b[c+d])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var d=-1,b=0;b<a.length;b++)d=d>>>8^this.crcTable[(d^a.charCodeAt(b))&255];return(d^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a, -b,c,e,k){function d(a,d){var b=m;m+=d;return a.substring(b,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,m);do{var l= -f(a);if("IDAT"==d(a,4)){k=a.substring(0,m-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(m-8,a.length);break}k+=a.substring(m-8,m-4+l);d(a,l);d(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF? -atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,e){a=c.substring(a+8,a+8+e);"zTXt"==b?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(d=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(d=a[1]));if(null!=d||"IDAT"==b)return!0}))}catch(t){}null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d));null!=d&& -"%"==d.charAt(0)&&(d=decodeURIComponent(d));return d};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.addListener("customLinkClicked",function(b,d){a.handleCustomLink(d.getProperty("href"))}); -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var e=b.addClickHandler; -b.addClickHandler=function(d,c,f){var g=c;c=function(d,c){if(null==c){var e=mxEvent.getSource(d);"a"==e.nodeName.toLowerCase()&&(c=e.getAttribute("href"))}null==c||!b.isCustomLink(c)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d)||(a.handleCustomLink(c),mxEvent.consume(d));null!=g&&g(d,c)};e.call(this,d,c,f)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var k=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:k.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(d,c){null!=d&&b.isCustomLink(d)&&(c=b.getLinkTitle(d));var e=h.call(this,d,c);null!=d&&b.isCustomLink(d)&& -mxEvent.addListener(e,"click",function(b){a.handleCustomLink(d);mxEvent.consume(b)});return e};var n=b.labelLinkClicked;b.labelLinkClicked=function(d,c,e){var f=c.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))n.apply(this,arguments);else{if(!b.isEnabled()||null!=d&&b.isCellLocked(d.cell))a.handleCustomLink(f),b.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,d=a.getCurrentFile(); -null!=d&&(b=null!=d.getTitle()?d.getTitle():b);return b};var q=this.actions.get("print");q.setEnabled(!mxClient.IS_IOS||!navigator.standalone);q.visible=q.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){u.innerHTML=" ";u.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77, -!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=d.items;for(index in f){var g=f[index]; -if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(aa){}}),!1);var u=document.createElement("div");u.style.position="absolute";u.style.whiteSpace="nowrap";u.style.overflow= -"hidden";u.style.display="block";u.contentEditable=!0;mxUtils.setOpacity(u,0);u.style.width="1px";u.style.height="1px";u.innerHTML=" ";var r=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var d=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==d.nodeName||"TEXTAREA"==d.nodeName||!(224== -a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||r||(u.style.left=b.container.scrollLeft+10+"px",u.style.top=b.container.scrollTop+10+"px",b.container.appendChild(u),r=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){u.focus();document.execCommand("selectAll",!1,null)},0):(u.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var d=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!r||224!=d&& -17!=d&&91!=d||(r=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),u.parentNode.removeChild(u),mxUtils.clearSelection())}),0)}));mxEvent.addListener(u,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(u),p())}));mxEvent.addListener(u,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(u,!0),p())}));mxEvent.addListener(u,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(u.innerHTML= -" ",u.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,u);u.innerHTML=" "}),0))}),!0);var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==u?!0:v.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= -this.editor.graph,d=b.cellEditor.text2,c=null;null!=d&&(mxEvent.addListener(d,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=this.highlightElement(d));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, -0,0,this.maxImageSize,function(a,d,c,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var d=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(d)?this.loadImage(decodeURIComponent(d),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, -Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!== -typeof mxRuler){q=document.createElement("div");q.style.position="absolute";q.style.top="95px";q.style.left="250px";q.style.width="2000px";q.style.height="30px";q.style.background="whiteSmoke";document.body.appendChild(q);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var G=document.createElement("div");G.style.position="absolute";G.style.top= -"95px";G.style.left="220px";G.style.width="30px";G.style.height="30px";G.style.background="whiteSmoke";document.body.appendChild(G);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,q,!1)}if("1"==urlParams.test){q=document.getElementById("geFooter");null!=q&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width= -"98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),q.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var d=this.editor.graph.getSelectionCell(),d=this.editor.graph.getModel().getStyle(d); -this.styleInput.value=d||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var C=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:C.apply(this,arguments)}}q=document.getElementById("geInfo");null!=q&&q.parentNode.removeChild(q);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var x=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=x&&(x.parentNode.removeChild(x), -x=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==x&&(!mxClient.IS_IE||10<document.documentMode)&&(x=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=x&&(x.parentNode.removeChild(x),x=null);if(b.isEnabled()){var d=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), -c=b.view.translate,e=b.view.scale,f=d.x/e-c.x,g=d.y/e-c.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,d=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=d)b.setSelectionCells(this.importXml(d,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, -"text/html")){var k=a.dataTransfer.getData("text/html"),d=document.createElement("div");d.innerHTML=k;var n=null,c=d.getElementsByTagName("img");null!=c&&1==c.length?(k=c[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)||(n=!0)):(d=d.getElementsByTagName("a"),null!=d&&1==d.length&&(k=d[0].getAttribute("href")));var l=!0,m=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(k,f,g,!0,n,null,l))});n&&k.length>this.resampleThreshold?this.confirmImageResize(function(a){l= -a;m()},mxEvent.isControlDown(a)):m()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var c=this.maxImageSize,c=Math.min(1,Math.min(c/Math.max(1,d)),c/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,d*c,a*c,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(h, -f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");0<d&&(b=this.getPageById(a.substring(d+1)),b=null!=b? -b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");(a=this.getPageById(a.substring(b+1)))&&this.selectPage(a)}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= +"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var c=document.getElementById("geFooter");null!=c&&(this.footerHeight=a,c.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,d,e,t){a=new ImageDialog(this,a,b,d,e,t);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= +!0;this.editor.graph.model.execute(a)});var c=new BackgroundImageDialog(this,mxUtils.bind(this,function(c){a(c)}));this.showDialog(c.container,360,200,!0,!0);c.init()};EditorUi.prototype.showLibraryDialog=function(a,b,d,e,t){a=new LibraryDialog(this,a,b,d,e,t);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer"); +a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,d){var c=null!=this.spinner&&null!= +this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){c();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden")); +else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var l=window.location.hash;null!=l&&"#G"==l.substring(0,2)&&(l=l.substring(2),a+=' <a href="https://drive.google.com/open?id='+l+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= +mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,d,g)}else null!=d&&d()};EditorUi.prototype.showError=function(a,b,d,e,t,h,n,l,k,q,m,p){a=new ErrorDialog(this,a,b,d||mxResources.get("ok"),e,t,h,n,p,l,k);this.showDialog(a.container,q||340,m||150,!0,!1);a.init()};EditorUi.prototype.alert= +function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,d,e,t){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){c();null!=b&&b()},function(){c();null!=d&&d()},e,t)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile}; +EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,d){var c=a.toDataURL("image/"+d);if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/"+d))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b)))); +return c};EditorUi.prototype.saveCanvas=function(a,b,d){var c="jpeg"==d?"jpg":d,f=this.getBaseFilename()+"."+c;a=this.createImageDataUri(a,b,d);this.saveData(f,c,a.substring(a.lastIndexOf(",")+1),"image/"+d,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; +EditorUi.prototype.doSaveLocalFile=function(a,b,d,e,t){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,d):new Blob([a],{type:d}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)d=window.open("about:blank","_blank"),null==d?mxUtils.popup(a,!0):(d.document.write(a),d.document.close(),d.document.execCommand("SaveAs",!0,b),d.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height= +"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var c=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof c.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){c.href=URL.createObjectURL(e?this.base64ToBlob(a,d):new Blob([a],{type:d}));f?c.download=b:c.setAttribute("target","_blank");document.body.appendChild(c); +try{window.setTimeout(function(){URL.revokeObjectURL(c.href)},0),c.click(),c.parentNode.removeChild(c)}catch(w){}}else this.createEchoRequest(a,b,d,e,t).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,d,e,t,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=d?"&mime="+d:"")+(null!=t?"&format="+t:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b= +b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),n=0;n<f;++n){for(var l=1024*n,k=Math.min(l+1024,d),q=Array(k-l),m=0;l<k;++m,++l)q[m]=c[l].charCodeAt(0);e[n]=new Uint8Array(q)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,d,e,t,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=t&&(!mxClient.IS_IOS||!navigator.standalone);t=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(c,b){try{if("_blank"==b)if(null==d||"image/"!=d.substring(0,6)|| +"image/svg"==d.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,d,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,c,d,e):null!=c&&0<c.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,c,d,e,b,f)}catch(D){this.handleError(D)}}))}catch(y){this.handleError(y)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), +mxResources.get("download"),!1,h,n,null,1<t,4<t&&(!h||6>t)?3:4,a,d,e);this.showDialog(b.container,420,t==(mxClient.IS_IOS?0:1)?160:4<t?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,d){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var c=window.open("about:blank");null==c?mxUtils.popup(a,!0):("image/svg+xml"==b?c.document.write("<html>"+a+"</html>"):c.document.write('<html><img src="data:'+b+(d?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+ +'"/></html>'),c.document.close())}else c=window.open("data:"+b+(d?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==c&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), +this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= +"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog); +this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, +function(){this.openInNewWindow(c.substring(c.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,d,e,t){this.isLocalFileSave()?this.saveLocalFile(d, +a,e,t,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,c){return this.createEchoRequest(d,a,e,t,b,c)}),d,t,e)};EditorUi.prototype.saveRequest=function(a,b,d,e,t,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var c=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,c){if("_blank"==c||null!=a&&0<a.length){var f=d("_blank"==c?null:a,c==App.MODE_DEVICE||"download"==c||null==c||"_blank"==c?"0":"1");null!=f&&(c==App.MODE_DEVICE||"download"==c||"_blank"==c?f.simulate(document, +"_blank"):this.pickFolder(c,mxUtils.bind(this,function(d){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,c,d)}catch(z){this.handleError(z)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,c,d)}catch(z){this.handleError(z)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); +this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<c,4<c?3:4,e,h,t);this.showDialog(a.container,380,c==(mxClient.IS_IOS?0:1)?160:4<c?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,d,e,t,h){};EditorUi.prototype.pickFolder=function(a,b,d){b(null)};EditorUi.prototype.exportSvg=function(a,b,d,e,t,h,n,l,k){if(this.spinner.spin(document.body, +mxResources.get("export"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;c=b?null:this.editor.graph.background;c==mxConstants.NONE&&(c=null);null==c&&0==b&&(c="#ffffff");var f=this.editor.graph.getSvg(c,a,n,l,null,d);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",u=mxUtils.bind(this,function(a){this.spinner.stop();t&&a.setAttribute("content",this.getFileData(!0,null,null,null,d,k));if(null!=this.editor.fontCss){var c=a.ownerDocument,c=null!=c.createElementNS? +c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(c)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"), +mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,u,this.thumbImageCache)):u(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,d,e,t,h){h=null!=h?h:!0;var c=document.createElement("input");c.style.marginRight="8px";c.style.marginTop="16px";c.setAttribute("type","checkbox");d&&(c.setAttribute("checked","checked"),c.defaultChecked=!0);e&&c.setAttribute("disabled", +"disabled");h&&(a.appendChild(c),d=document.createElement("span"),mxUtils.write(d,b),a.appendChild(d),t||mxUtils.br(a),mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){"disabled"!=c.getAttribute("disabled")&&(c.checked=!c.checked,mxEvent.consume(a))})));return c};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),f="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&& +(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");e.appendChild(d);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"== +e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return c}, +getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft= +"8px";d.style.marginRight="10px";d.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));d.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value", +"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE|| +mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,d,e,k,h,n,l){var c=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&& +f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(d&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?d="#U"+encodeURIComponent(n):(c=this.getCurrentFile(),l||null==c||c.constructor!=window.DriveFile?d="#R"+encodeURIComponent(d?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(d="#"+c.getHash(),a=!1)); +a&&null!=c&&null!=c.getTitle()&&c.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(c.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+d};EditorUi.prototype.createHtml=function(a,b,d,e,k,h,n,l,m,q,p){this.getBasenames();var c={};""!=k&&k!=mxConstants.NONE&&(c.highlight=k);"auto"!==e&&(c.target=e);m||(c.lightbox=!1);c.nav=this.editor.graph.foldingEnabled; +d=parseInt(d);isNaN(d)||100==d||(c.zoom=d/100);d=[];n&&(d.push("pages"),c.resize=!0,null!=this.pages&&null!=this.currentPage&&(c.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(d.push("zoom"),c.resize=!0);l&&d.push("layers");0<d.length&&(m&&d.push("lightbox"),c.toolbar=d.join(" "));null!=q&&0<q.length&&(c.edit=q);null!=a?c.url=a:c.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=d?"border:1px solid transparent;":"")+'" data-mxgraph="'+ +mxUtils.htmlEntities(JSON.stringify(c))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";p(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,d,e){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3"); +mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","type-embedhtmldialog");f=l.cloneNode(!0);f.setAttribute("value", +"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(l);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var q=this.getCurrentFile();null==d&&null!=q&&q.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")), +g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(q.getId())})));f.setAttribute("checked","checked");null==d&&l.setAttribute("disabled","disabled");c.appendChild(g);var u=this.addLinkSection(c),m=this.addCheckbox(c,mxResources.get("zoom"),!0,null,!0);mxUtils.write(c,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight= +"12px";p.value="100%";c.appendChild(p);var r=this.addCheckbox(c,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,E=E=this.addCheckbox(c,mxResources.get("allPages"),g,!g),x=this.addCheckbox(c,mxResources.get("layers"),!0),v=this.addCheckbox(c,mxResources.get("lightbox"),!0),H=this.addEditButton(c,v),B=H.getEditInput();B.style.marginBottom="16px";mxEvent.addListener(v,"change",function(){v.checked?B.removeAttribute("disabled"):B.setAttribute("disabled","disabled");B.checked&&v.checked? +H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,c,mxUtils.bind(this,function(){e(l.checked?d:null,m.checked,p.value,u.getTarget(),u.getColor(),r.checked,E.checked,x.checked,v.checked,H.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,d,e,k,h){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3"); +mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; +var u=document.createElement("div");u.style.whiteSpace="normal";mxUtils.write(u,mxResources.get("linkAccountRequired"));q.appendChild(u);u=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));u.style.marginTop="12px";u.className="geBtn";q.appendChild(u);c.appendChild(q);u=document.createElement("a");u.style.paddingLeft="12px";u.style.color="gray";u.style.fontSize="11px";u.setAttribute("href","javascript:void(0);");mxUtils.write(u,mxResources.get("check")); +q.appendChild(u);mxEvent.addListener(u,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var t=null,m=null;if(null!=d||null!=e)a+=30,mxUtils.write(c,mxResources.get("width")+":"),t=document.createElement("input"), +t.setAttribute("type","text"),t.style.marginRight="16px",t.style.width="50px",t.style.marginLeft="6px",t.style.marginRight="16px",t.style.marginBottom="10px",t.value="100%",c.appendChild(t),mxUtils.write(c,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=e+"px",c.appendChild(m),mxUtils.br(c);var p=this.addLinkSection(c,h);d=null!=this.pages&&1<this.pages.length;var r=null; +if(null==g||g.constructor!=window.DriveFile||b)r=this.addCheckbox(c,mxResources.get("allPages"),d,!d);var x=this.addCheckbox(c,mxResources.get("lightbox"),!0),v=this.addEditButton(c,x),H=v.getEditInput(),B=this.addCheckbox(c,mxResources.get("layers"),!0);B.style.marginLeft=H.style.marginLeft;B.style.marginBottom="16px";B.style.marginTop="8px";mxEvent.addListener(x,"change",function(){x.checked?(B.removeAttribute("disabled"),H.removeAttribute("disabled")):(B.setAttribute("disabled","disabled"),H.setAttribute("disabled", +"disabled"));H.checked&&x.checked?v.getEditSelect().removeAttribute("disabled"):v.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==r?!0:r.checked,x.checked,v.getLink(),B.checked,null!=t?t.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=t?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): +document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,d,e){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(f);var g=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),l=e?null:this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"), +!0),f=this.editor.graph,k=e?null:this.addCheckbox(c,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,c,mxUtils.bind(this,function(){d(!g.checked,null!=l?l.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,d,e,k,h,n,l){n=null!=n?n:!0;var c=document.createElement("div");c.style.whiteSpace="nowrap";var f= +this.editor.graph,g="jpeg"==l?196:300,u=document.createElement("h3");mxUtils.write(u,a);u.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";c.appendChild(u);mxUtils.write(c,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";c.appendChild(t);mxUtils.write(c,mxResources.get("borderWidth")+":"); +var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.value=this.lastExportBorder||"0";c.appendChild(m);mxUtils.br(c);var p=this.addCheckbox(c,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),r=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight= +"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(c.appendChild(v),mxUtils.write(c,mxResources.get("crop")),mxUtils.br(c),g+=26,mxEvent.addListener(r,"change",function(){r.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var H=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible),B=document.createElement("input");B.style.marginTop= +"16px";B.style.marginRight="8px";B.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||B.setAttribute("disabled","disabled");b&&(c.appendChild(B),mxUtils.write(c,mxResources.get("embedImages")),mxUtils.br(c),g+=26);var N=this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),C=null!=this.pages&&1<this.pages.length,I=this.addCheckbox(c,C?mxResources.get("allPages"):"",C,!C,null,"jpeg"!=l);I.style.marginLeft="24px";I.style.marginBottom="16px";C||(I.style.visibility= +"hidden");mxEvent.addListener(N,"change",function(){N.checked&&C?I.removeAttribute("disabled"):I.setAttribute("disabled","disabled")});n&&C||I.setAttribute("disabled","disabled");a=new CustomDialog(this,c,mxUtils.bind(this,function(){this.lastExportBorder=m.value;this.lastExportZoom=t.value;k(t.value,p.checked,!r.checked,H.checked,N.checked,B.checked,m.value,v.checked,!I.checked)}),null,d,e);this.showDialog(a.container,340,g,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| +mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,d,e,k){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(g)}var u=this.addCheckbox(c,mxResources.get("fit"),!0),q=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible&&e, +!e),t=this.addCheckbox(c,d),m=this.addCheckbox(c,mxResources.get("lightbox"),!0),p=this.addEditButton(c,m),r=p.getEditInput(),v=1<f.model.getChildCount(f.model.getRoot()),x=this.addCheckbox(c,mxResources.get("layers"),v,!v);x.style.marginLeft=r.style.marginLeft;x.style.marginBottom="12px";x.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?(v&&x.removeAttribute("disabled"),r.removeAttribute("disabled")):(x.setAttribute("disabled","disabled"),r.setAttribute("disabled","disabled")); +r.checked&&m.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){a(u.checked,q.checked,t.checked,m.checked,p.getLink(),x.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,d,e,k,h,n,l){function c(c){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var l="";d&&(l=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+c+'"'+l+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");c(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}), +null,!0,d?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";d&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var u=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));u.send(mxUtils.bind(this,function(){200<=u.getStatus()&&299>=u.getStatus()?c("data:image/png;base64,"+u.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})}; +EditorUi.prototype.createEmbedSvg=function(a,b,d,e,k,h,n){var c=this.editor.graph.getSvg(),f=c.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var u=f[g].getAttribute("href");null!=u&&"#"==u.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&c.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(c);if(d){var t=" ",m="";e&&(t="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",m+="cursor:pointer;");a&&(m+="max-width:100%;");this.convertImages(c,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=m?' style="'+m+'"':"")+t+"/>")}))}else m="",e&&(c.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),m+="cursor:pointer;"),a&&(a=parseInt(c.getAttribute("width")),b=parseInt(c.getAttribute("height")),c.setAttribute("viewBox","0 0 "+a+" "+b),m+="max-width:100%;max-height:"+b+"px;",c.removeAttribute("height")),""!=m&&c.setAttribute("style",m),n(mxUtils.getXml(c))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var c=Math.floor(a/31536E3);if(1<c)return c+" "+mxResources.get("years");c=Math.floor(a/2592E3);if(1<c)return c+ +" "+mxResources.get("months");c=Math.floor(a/86400);if(1<c)return c+" "+mxResources.get("days");c=Math.floor(a/3600);if(1<c)return c+" "+mxResources.get("hours");c=Math.floor(a/60);return 1<c?c+" "+mxResources.get("minutes"):1==c?c+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,d,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"==a.nodeName){var d=a.getElementsByTagName("diagram");if(0< +d.length){var c=d[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=c&&(d=b.decompress(mxUtils.getTextContent(c)),null!=d&&0<d.length&&(a=mxUtils.parseXml(d).documentElement))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,d){var c=this.editor.graph, +e=null;if(null!=d&&0<d.length)c=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(c.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(d).documentElement,!0),c),e=d;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),f=c.getGlobalVariable,g=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(c.container); +c.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(d){try{null==e&&(e=this.getFileData(!0));var f=d.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}catch(q){null!=b&&b(q)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,c.shadowVisible,null,c)};EditorUi.prototype.getEmbeddedSvg= +function(a,b,d,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=d&&b.setAttribute("resource",d);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ +mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,d,e,k,h,n,l,m){m=null!=m?m:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,k?this.getFileData(!0,null,null,null,d,l):null,m)}catch(D){"Invalid image"==D.message?this.downloadFile(m):this.handleError(D)}}),null, +this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,d,a||1,b,e,null,null,h,n)}catch(y){this.spinner.stop(),this.handleError(y)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var c=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),d=0,e={},h=mxUtils.bind(this,function(){if(0==d){for(var f=[b[0]],g=1;g<b.length;g++){var h= +b[g].indexOf(")");f.push('url("');f.push(e[c(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var l=b[n].indexOf(")"),k=null,q=b[n].indexOf("format(",l);0<q&&(k=c(b[n].substring(q+7,b[n].indexOf(")",q))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var c="application/x-font-ttf";if("svg"==k||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==k||"embedded-opentype"==k||/(\.otf)($|\?)/i.test(a))c= +"application/x-font-opentype";else if("woff"==k||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==k||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==k||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==k||/(\.sfnt)($|\?)/i.test(a))c="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){e[a]=c;d--;h()}),mxUtils.bind(this, +function(a){d--;h()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[n].substring(0,l)),k)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,d,e,k,h,n,l,m,q,p,r,v,G){h=null!=h?h:!0;r=null!=r?r:this.editor.graph;v=null!=v?v:0;var c=m?null:r.background;c==mxConstants.NONE&&(c=null);null==c&&(c=e);null==c&&0==m&&(c=this.editor.graph.defaultPageBackgroundColor);this.convertImages(r.getSvg(c,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(d){var e=new Image;e.onload=mxUtils.bind(this, +function(){try{var f=document.createElement("canvas"),g=parseInt(d.getAttribute("width")),n=parseInt(d.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(l*g)+2*v;n=Math.ceil(l*n)+2*v;f.setAttribute("width",g);f.setAttribute("height",n);var q=f.getContext("2d");null!=c&&(q.beginPath(),q.rect(0,0,g,n),q.fillStyle=c,q.fill());q.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){q.drawImage(e,v/l,v/l);a(f)},0):(q.drawImage(e,v/l,v/l),a(f))}catch(R){null!= +k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{q&&this.editor.graph.addSvgShadow(d);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;d.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(r,d,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(d))}))});this.loadFonts(f)}catch(B){null!=k&&k(B)}}),d,p)};EditorUi.prototype.createImageUrlConverter= +function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,d=this;a.convert=function(c){if(null!=c){var e="http://"==c.substring(0,7)||"https://"==c.substring(0,8);e&&!navigator.onLine?c=d.svgBrokenImage.src:!e||c.substring(0,a.baseUrl.length)==a.baseUrl||d.crossOriginImages&&d.isCorsEnabledForUrl(c)?"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};EditorUi.prototype.convertImages=function(a,b,d,e){null== +e&&(e=this.createImageUrlConverter());var c=0,f=d||{};d=mxUtils.bind(this,function(d,g){for(var h=a.getElementsByTagName(d),l=0;l<h.length;l++)mxUtils.bind(this,function(d){var h=e.convert(d.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var l=f[h];null==l?(c++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,d.setAttribute(g,e));c--;0==c&&b(a)})):d.setAttribute(g,l)}else null!=h&&d.setAttribute(g,h)})(h[l])});d("image","xlink:href");d("img","src");0==c&&b(a)};EditorUi.prototype.loadUrl= +function(a,b,d,e,k,h){try{var c=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var e=a.getText();if(c){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),f=0;f<a.length;f++)e[f]= +String.fromCharCode(a[f]);e=e.join("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=d&&d({code:App.ERROR_UNKNOWN},a)}),function(){null!=d&&d({code:App.ERROR_UNKNOWN})},c,this.timeout,function(){k&&null!=d&&d({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=d&&d(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)|| +"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image, +d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(n){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,d,e,k){b=null!=b?b:0;d=null!=d?d:0;var c=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),u=this.editor.extractGraphModel(g.documentElement, +null!=this.pages);if(null!=u&&"mxfile"==u.nodeName&&null!=this.pages){var q=u.getElementsByTagName("diagram");if(1==q.length)u=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(q[0]))).documentElement;else if(1<q.length){f.model.beginUpdate();try{for(a=0;a<q.length;a++){var m=this.updatePageRoot(new DiagramPage(q[a])),t=this.pages.length;null==m.getName()&&m.setName(mxResources.get("pageWithNumber",[t+1]));f.model.execute(new ChangePage(this,m,m,t))}}finally{f.model.endUpdate()}}}null!=u&&"mxGraphModel"=== +u.nodeName&&(c=f.importGraphModel(u,b,d,e))}}catch(z){throw k||this.handleError(z,mxResources.get("invalidOrMissingFile")),z;}return c};EditorUi.prototype.importVisio=function(a,b,d,e){e=null!=e?e:a.name;d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var c=new FormData;c.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= +"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,d)}catch(l){d(l)}else d({})});f.send(c)}else try{this.doImportVisio(a,b,d)}catch(l){d(l)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}}); +"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,d,e,k){var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,d,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(c,0):(this.loadingExtensions=!0,"1"==urlParams.dev? +mxscript("js/diagramly/Extensions.js",c):mxscript("js/extensions.min.js",c))};EditorUi.prototype.insertLucidChart=function(a,b,d,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var c in k.Pages)a.push(k.Pages[c]);a.sort(function(a,c){return a.Properties.Order<c.Properties.Order?-1:a.Properties.Order>c.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,d,e),null!=this.pages){var f=this.currentPage; +for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,d,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, +b,d,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var c=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,d,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+ +1)),g=this.importXml(f,b,d,h,!0),0<g.length)return g}catch(y){}this.loadImage(a,mxUtils.bind(this,function(e){if("data:"==a.substring(0,5))this.resizeImage(e,a,mxUtils.bind(this,function(a,e,f){c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),n,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/e.width,this.maxImageSize/ +e.height)),g=Math.round(e.width*f);e=Math.round(e.height*f);c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),g,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;c.getModel().beginUpdate();try{f=c.insertVertex(c.getDefaultParent(),null,a,c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.updateCellSize(f),c.fireEvent(new mxEventObject("textInserted","cells", +[f]))}finally{c.getModel().endUpdate()}c.setSelectionCell(f)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,d,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,d,h);else{c=this.editor.graph;k=null;c.getModel().beginUpdate();try{k=c.insertVertex(c.getDefaultParent(),null,"",c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value= +a,c.updateCellSize(k),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(k.value)&&c.setLinkForCell(k,k.value),k.geometry.width+=c.gridSize,k.geometry.height+=c.gridSize}finally{c.getModel().endUpdate()}return[k]}}return[]};EditorUi.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,.1).toFixed(1)+ +" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var c=a.indexOf(";");0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input"); +c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.importFiles(c.files,null,null,this.maxImageSize)}));c.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,c){if(null!=c&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(c)){var b=new Blob([a],{type:"application/octet-stream"}); +this.importVisio(b,mxUtils.bind(this,function(a){this.importXml(a)}),null,c)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,d,e,k,h,n,l,m,q, +p){q=null!=q?q:!0;var c=!1,f=null,g=mxUtils.bind(this,function(a){var c=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,n)):c=this.importXml(a,d,e,q);null!=l&&l(c)});"image"==b.substring(0,5)?(m=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,d,e,q),m=!0)),m||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),q&&f.isGridEnabled()&&(d=f.snap(d),e= +f.snap(e)),f=[f.insertVertex(null,null,"",d,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,d,e,q);null!=l&&l(a)})):null!=m&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(c=!0,this.importVisio(m,g)):!this.isOffline()&&(new XMLHttpRequest).upload&& +this.isRemoteFileFormat(a,n)?(c=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),d,e,!0,null,q));c||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var c="",b=0,d=a.length,e,h,n;b<d;){e=a.charCodeAt(b++)&255;if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);c+="==";break}h=a.charCodeAt(b++);if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);c+="=";break}n=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return c};EditorUi.prototype.importFiles=function(a,b,d,e,k,h,n,l,m,q,p,r){b=null!=b?b:0;d=null!=d?d:0;e=null!=e?e:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var c=null!=b&&null!=d,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&& +null!=a)for(var u=p||this.resampleThreshold,t=0;t<a.length;t++)if("image/"==a[t].type.substring(0,6)&&a[t].size>u){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,d,e,f,g,h,l,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,d,e,f,g,h,l,n,c,r)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var u=a.length,t=u,v=[],y=mxUtils.bind(this,function(a,c){v[a]=c;if(0==--t){this.spinner.stop();if(null!=l)l(v);else{var b=[];g.getModel().beginUpdate();try{for(var d=0;d<v.length;d++){var e=v[d]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),x=0;x<u;x++)mxUtils.bind(this,function(c){var h=a[c],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l= +a.target.result,u=l.indexOf(","),t=decodeURIComponent(escape(atob(l.substring(u+1)))),B=mxUtils.parseXml(t),t=B.getElementsByTagName("svg");if(0<t.length){var t=t[0],v=r?null:t.getAttribute("content");null!=v&&"<"!=v.charAt(0)&&"%"!=v.charAt(0)&&(v=unescape(window.atob?atob(v):Base64.decode(v,!0)));null!=v&&"%"==v.charAt(0)&&(v=decodeURIComponent(v));null==v||"<mxfile "!==v.substring(0,8)&&"<mxGraphModel "!==v.substring(0,14)?y(c,mxUtils.bind(this,function(){try{if(l.substring(0,u+1),null!=B){var a= +B.getElementsByTagName("svg");if(0<a.length){var n=a[0],q=parseFloat(n.getAttribute("width")),t=parseFloat(n.getAttribute("height")),p=n.getAttribute("viewBox");if(null==p||0==p.length)n.setAttribute("viewBox","0 0 "+q+" "+t);else if(isNaN(q)||isNaN(t)){var r=p.split(" ");3<r.length&&(q=parseFloat(r[2]),t=parseFloat(r[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var v=Math.min(1,Math.min(e/Math.max(1,q)),e/Math.max(1,t)),C=k(l,h.type,b+c*m,d+c*m,Math.max(1,Math.round(q*v)),Math.max(1,Math.round(t* +v)),h.name,f);if(isNaN(q)||isNaN(t)){var y=new Image;y.onload=mxUtils.bind(this,function(){q=Math.max(1,y.width);t=Math.max(1,y.height);C[0].geometry.width=q;C[0].geometry.height=t;n.setAttribute("viewBox","0 0 "+q+" "+t);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[C[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(n))}return C}}}catch(ea){}return null})):y(c,mxUtils.bind(this,function(){return k(v, +"text/xml",b+c*m,d+c*m,0,0,h.name)}))}}else{t=!1;if("image/png"==h.type){var C=r?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var x=new Image;x.src=a.target.result;y(c,mxUtils.bind(this,function(){return k(C,"text/xml",b+c*m,d+c*m,x.width,x.height,h.name)}));t=!0}}t||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), +mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,l,n){y(c,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var u=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/l,e/n)):1;return k(g,h.type,b+c*m,d+c*m,Math.round(l*u),Math.round(n*u),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this, +function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+c*m,d+c*m,240,160,h.name,function(a){y(c,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+c*m,d+c*m,240,160,h.name,function(a){y(c,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(x)});g?this.confirmImageResize(function(a){f=a;v()},m):v()};EditorUi.prototype.confirmImageResize=function(a, +b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(d,e){if(d||b)mxSettings.setResizeImages(d?e:null),mxSettings.save();c();a(e)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ +'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,d)};EditorUi.prototype.parseFile=function(a,b,d){d=null!=d?d:a.name;var c=new FormData;c.append("format","xml");c.append("upfile",a,d);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(c)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length> +b};EditorUi.prototype.resizeImage=function(a,b,d,e,k,h){k=null!=k?k:this.maxImageSize;var c=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(c/k,f/k);if(1<g){var q=Math.round(c/g),m=Math.round(f/g),u=document.createElement("canvas");u.width=q;u.height=m;u.getContext("2d").drawImage(a,0,0,q,m);var t=u.toDataURL();if(t.length<b.length){var p=document.createElement("canvas");p.width=q;p.height=m;var r=p.toDataURL();t!==r&&(b=t,c=q,f=m)}}}catch(x){}d(b,c,f)}; +EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var d=e,k=0;8>k;k++)d=1==(d&1)?3988292384^d>>>1:d>>>1,EditorUi.prototype.crcTable[e]=d;EditorUi.prototype.updateCRC=function(a,b,d,e){for(var c=0;c<e;c++)a=EditorUi.prototype.crcTable[(a^b[d+c])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var c=-1,b=0;b<a.length;b++)c=c>>>8^this.crcTable[(c^a.charCodeAt(b))&255];return(c^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a, +b,d,e,k){function c(a,c){var b=m;m+=c;return a.substring(b,m)}function f(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(c(a,4),"IHDR"!=c(a,4))null!=k&&k();else{c(a,17);k=a.substring(0,m);do{var q= +f(a);if("IDAT"==c(a,4)){k=a.substring(0,m-8);d=d+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,d,0,d.length);k+=g(d.length)+b+d+g(e^4294967295);k+=a.substring(m-8,a.length);break}k+=a.substring(m-8,m-4+q);c(a,q);c(a,4)}while(q);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var c=null;try{var b=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF? +atob(b):Base64.decode(b,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,b,e){a=d.substring(a+8,a+8+e);"zTXt"==b?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(t){}null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));null!=c&& +"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};EditorUi.prototype.loadImage=function(a,b,d){var c=new Image;c.onload=function(){b(c)};null!=d&&(c.onerror=d);c.src=a};var m=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){try{a.handleCustomLink(b)}catch(H){a.handleError(H)}};this.isOffline()|| +"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=b.addClickHandler;b.addClickHandler= +function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null==c||!b.isCustomLink(c)||!mxEvent.isTouchEvent(a)&&mxEvent.isPopupTrigger(a)||(b.customLinkClicked(c),mxEvent.consume(a));null!=f&&f(a,c)};e.call(this,a,c,d)};m.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!= +a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var k=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:k.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(a,c){null!=a&&b.isCustomLink(a)&&(c=b.getLinkTitle(a));var d=h.call(this,a,c);null!=a&&b.isCustomLink(a)&&mxEvent.addListener(d, +"click",function(c){b.customLinkClicked(a);mxEvent.consume(c)});return d};var n=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var e=c.getAttribute("href");if(null==e||!b.isCustomLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))n.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(e),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!= +c.getTitle()?c.getTitle():b);return b};var l=this.actions.get("print");l.setEnabled(!mxClient.IS_IOS||!navigator.standalone);l.visible=l.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){q.innerHTML=" ";q.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry", +!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(aa){}}),!1);var q=document.createElement("div");q.style.position="absolute";q.style.whiteSpace="nowrap";q.style.overflow="hidden";q.style.display="block";q.contentEditable=!0;mxUtils.setOpacity(q, +0);q.style.width="1px";q.style.height="1px";q.innerHTML=" ";var r=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)|| +r||(q.style.left=b.container.scrollLeft+10+"px",q.style.top=b.container.scrollTop+10+"px",b.container.appendChild(q),r=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){q.focus();document.execCommand("selectAll",!1,null)},0):(q.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!r||224!=c&&17!=c&&91!=c||(r=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(), +q.parentNode.removeChild(q),mxUtils.clearSelection())}),0)}));mxEvent.addListener(q,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(q),p())}));mxEvent.addListener(q,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(q,!0),p())}));mxEvent.addListener(q,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(q.innerHTML=" ",q.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,q);q.innerHTML= +" "}),0))}),!0);var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==q?!0:v.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!= +d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a, +f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c), +d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){l=document.createElement("div");l.style.position="absolute"; +l.style.top="95px";l.style.left="250px";l.style.width="2000px";l.style.height="30px";l.style.background="whiteSmoke";document.body.appendChild(l);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var G=document.createElement("div");G.style.position="absolute";G.style.top="95px";G.style.left="220px";G.style.width="30px";G.style.height="30px"; +G.style.background="whiteSmoke";document.body.appendChild(G);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,l,!1)}if("1"==urlParams.test){l=document.getElementById("geFooter");null!=l&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden", +this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),l.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,c){if(0<this.editor.graph.getSelectionCount()){var b=this.editor.graph.getSelectionCell(),b=this.editor.graph.getModel().getStyle(b);this.styleInput.value=b||"";this.styleInput.style.visibility= +"visible"}else this.styleInput.style.visibility="hidden"})));var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:E.apply(this,arguments)}}l=document.getElementById("geInfo");null!=l&&l.parentNode.removeChild(l);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var x=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=x&&(x.parentNode.removeChild(x),x=null),a.stopPropagation(),a.preventDefault())}); +mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==x&&(!mxClient.IS_IE||10<document.documentMode)&&(x=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=x&&(x.parentNode.removeChild(x),x=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,e=b.view.scale, +f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l= +a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var k=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(l=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(k=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var n=!0,q=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,f,g,!0,k,null,n))});k&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){n=a;q()},mxEvent.isControlDown(a)): +q()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(h, +f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(a){var c=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");0<b&&(c=this.getPageById(a.substring(b+1)),c=null!=c? +c.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(c=mxResources.get("action"));return c};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");(a=this.getPageById(a.substring(c+1)))&&this.selectPage(a)}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget()); this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged", mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew|| -8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var d=this.editor.graph;if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c, -!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS|| -8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var d=b.getElementsByTagName("span"),l=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e, -d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,d=0;d<a.length;d++)mxEvent.addListener(a[d],"dragleave", -function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[d],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[d],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()|| -"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var d=this.extractGraphModelFromEvent(a);if(null==d){var c=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=c&&(10==document.documentMode||11==document.documentMode?d=c.getData("Text"):(d=null,d=0<=mxUtils.indexOf(c.types, -"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(c.types,"text/html")?c.getData("text/html"):null,null!=d&&0<d.length?(c=document.createElement("div"),c.innerHTML=d,c=c.getElementsByTagName("img"),0<c.length&&(d=c[0].getAttribute("src"))):0<=mxUtils.indexOf(c.types,"text/plain")&&(d=c.getData("text/plain"))),null!=d&&("data:image/png;base64,"==d.substring(0,22)?(d=this.extractGraphModelFromPng(d),null!=d&&0<d.length&&this.openLocalFile(d,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(d)? -(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(d))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(d)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(d):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(d)))))}else this.openLocalFile(d,null,!0)}a.stopPropagation();a.preventDefault()}))}; -EditorUi.prototype.highlightElement=function(a){var b=0,d=0,c,e;if(null==a){e=document.body;var h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width= -Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var d=new mxCodec(b.ownerDocument),c=new mxGraphModel;d.decode(b,c);b=c.getChildAt(c.getRoot(),0);for(d=0;d<c.getChildCount(b);d++)a.push(c.getChildAt(b,d))}return a};EditorUi.prototype.openFiles= -function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){var d=new FileReader;d.onload=mxUtils.bind(this,function(d){var c=d.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&& -"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,e))this.parseFile(a,mxUtils.bind(this, -function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()})); -else if("<mxlibrary"==d.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,d.target.result,a.name))}catch(u){this.handleError(u,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); -this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, -b||this.defaultFilename,c))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"), -null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function d(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1, -a.length));null==b[a]&&(b[a]=!0)}}var c=this.editor.graph,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility= +8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d, +!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.importLucidChart(d,0,0),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS|| +8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var c=b.getElementsByTagName("span"),l=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e, +c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var c=null,b=0;b<a.length;b++)mxEvent.addListener(a[b],"dragleave", +function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[b],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==c&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(c=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[b],"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(this.editor.graph.isEnabled()|| +"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var b=this.extractGraphModelFromEvent(a);if(null==b){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?b=d.getData("Text"):(b=null,b=0<=mxUtils.indexOf(d.types, +"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=b&&0<b.length?(d=document.createElement("div"),d.innerHTML=b,d=d.getElementsByTagName("img"),0<d.length&&(b=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(b=d.getData("text/plain"))),null!=b&&("data:image/png;base64,"==b.substring(0,22)?(b=this.extractGraphModelFromPng(b),null!=b&&0<b.length&&this.openLocalFile(b,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(b)? +(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(b))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(b)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))))}else this.openLocalFile(b,null,!0)}a.stopPropagation();a.preventDefault()}))}; +EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,e;if(null==a){e=document.body;var h=document.documentElement;d=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=c+"px";h.style.width= +Math.max(0,d-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles= +function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){var d=c.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&& +"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,e))this.parseFile(a,mxUtils.bind(this, +function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()})); +else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(q){this.handleError(q,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); +this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,d){var c=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, +b||this.defaultFilename,d))});null!=a&&0<a.length&&(null==c||!c.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=c&&c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"), +null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],d;for(d in a)b.push(d);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1, +a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility= a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1), -null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&& -this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? -this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=mxUtils.bind(this,function(a, +null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,d){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&& +this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=d?d:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? +this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,h=mxUtils.bind(this,function(a, b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,h);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&& -(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(D){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&& -(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var n=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(n.container,300,80,!0,!1);n.init();return}if("draft"==h.action){n=null;n="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml); -this.spinner.stop();n=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog(); -k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(n.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{n.init()}catch(D){k.postMessage(JSON.stringify({event:"draft",error:D.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var n=1==h.enableRecent,l=1==h.enableSearch,n=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback? -k.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:d}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,n?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template", -docUrl:a,info:b,name:d}),"*")});this.showDialog(n.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));n.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message)); -null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var p=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph, -r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);r(a)});if(this.isExportToCanvas()){if(null!= -this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),v=q.getGlobalVariable,A=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?A.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(A.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ -("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))n=this.getXmlFileData(),m.xml=mxUtils.getXml(n),m.data= -this.getFileData(null,null,!0,null,null,null,n),m.format=h.format;else if("html"==h.format)p=this.editor.getGraphXml(),m.data=this.getHtml(p,this.editor.graph),m.xml=mxUtils.getXml(p),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;n=this.editor.graph.background;n==mxConstants.NONE&&(n=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1), -"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(n),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}n="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0), -this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(n));m.data=this.createSvgDataUri(n)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= -"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),this.embedFilenameSpan=n),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage", -data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(D){this.handleError(D)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();if(c!=e&&!d){var f=this.createLoadMessage("autosave");f.xml=c;c=JSON.stringify(f);(window.opener||window.parent).postMessage(c, -"*")}e=c}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(I){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(C){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&& +(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var l=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==h.action){l=null;l="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml); +this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog(); +k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(C){k.postMessage(JSON.stringify({event:"draft",error:C.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var l=1==h.enableRecent,n=1==h.enableSearch,l=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=h.callback? +k.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){k.postMessage(JSON.stringify({event:"template", +docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message)); +null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var p=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var r=this.editor.graph, +u=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));r!=this.editor.graph&&r.container.parentNode.removeChild(r.container);u(a)});if(this.isExportToCanvas()){if(null!= +this.pages&&this.currentPage!=this.pages[0]){var r=this.createTemporaryGraph(r.getStylesheet()),v=r.getGlobalVariable,B=this.pages[0];r.getGlobalVariable=function(a){return"page"==a?B.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(r.container);r.model.setRoot(B.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,r)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ +("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?u("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data= +this.getFileData(null,null,!0,null,null,null,l),m.format=h.format;else if("html"==h.format)p=this.editor.getGraphXml(),m.data=this.getHtml(p,this.editor.graph),m.xml=mxUtils.getXml(p),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1), +"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0), +this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)d=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= +"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(h)}),"*");return}}}h=g(h);c=!0;try{a(h,f)}catch(C){this.handleError(C)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=N();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(h,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? "2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"), mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight= "20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}), -null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",p="auto",r="auto",v=null,E=null,z=40,G=40,C=0,x=this.editor.graph;x.getGraphBounds();for(var H=function(){null!=b?b(Z):(x.setSelectionCells(Z),x.scrollCellToVisible(x.getSelectionCell()))},I=x.getFreeInsertPoint(),A=I.x,N=I.y,I=N,D=null,J= -"auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),F=mxUtils.trim(a.substring(S+1));"label"==K?D=x.sanitizeHtml(F):"style"==K?f=F:"identity"==K&&0<F.length&&"-"!=F?k=F:"namespace"==K&&0<F.length&&"-"!=F?l=F:"width"==K?p=F:"height"==K?r=F:"left"==K&&0<F.length? -v=F:"top"==K&&0<F.length?E=F:"ignore"==K?aa=F.split(","):"connect"==K?R.push(JSON.parse(F)):"link"==K?Y=F:"padding"==K?C=parseFloat(F):"edgespacing"==K?z=parseFloat(F):"nodespacing"==K?G=parseFloat(F):"layout"==K&&(J=F)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==D&&(D="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});x.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]); -if(X.length==V.length){var B=null,W=null!=S?l+X[S]:null;null!=W&&(B=x.model.getCell(W));null==B&&(B=new mxCell(D,new mxGeometry(A,I,0,0),f||"whiteSpace=wrap;html=1;"),B.vertex=!0,B.id=W);for(var P=0;P<X.length;P++)x.setAttributeForCell(B,V[P],X[P]);x.setAttributeForCell(B,"placeholders","1");B.style=x.replacePlaceholders(B,B.style);for(O=0;O<R.length;O++)e[R[O].to][B.getAttribute(R[O].to)]=B;null!=Y&&"link"!=Y&&(x.setLinkForCell(B,B.getAttribute(Y)),x.setAttributeForCell(B,Y,null));x.fireEvent(new mxEventObject("cellsInserted", -"cells",[B]));var da=this.editor.graph.getPreferredSizeForCell(B);B.vertex&&(null!=v&&null!=B.getAttribute(v)&&(B.geometry.x=A+parseFloat(B.getAttribute(v))),null!=E&&null!=B.getAttribute(E)&&(B.geometry.y=N+parseFloat(B.getAttribute(E))),"@"==p.charAt(0)&&null!=B.getAttribute(p.substring(1))?B.geometry.width=parseFloat(B.getAttribute(p.substring(1))):B.geometry.width="auto"==p?da.width+C:parseFloat(p),"@"==r.charAt(0)&&null!=B.getAttribute(r.substring(1))?B.geometry.height=parseFloat(B.getAttribute(r.substring(1))): -B.geometry.height="auto"==r?da.height+C:parseFloat(r),I+=B.geometry.height+G);c.push(x.addCell(B))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var B=c[L],na=B.getAttribute(U.from);if(null!=na){x.setAttributeForCell(B,U.from,null);for(var oa=na.split(","),P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(D=U.label,null!=U.fromlabel&&(D=(B.getAttribute(U.fromlabel)||"")+(D||"")),null!=U.tolabel&&(D=(D||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(x.insertEdge(null, -null,D||"",U.invert?ca:B,U.invert?B:ca,U.style||x.createCurrentEdgeStyle())),mxUtils.remove(U.invert?B:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(B=c[L],P=0;P<aa.length;P++)x.setAttributeForCell(B,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(x);ia.spacing=z;var qa=function(){ia.execute(x.getDefaultParent());for(var a=0;a<c.length;a++){var b=x.getCellGeometry(c[a]);b.x=Math.round(x.snap(b.x));b.y=Math.round(x.snap(b.y));"auto"==p&&(b.width=Math.round(x.snap(b.width)));"auto"==r&& -(b.height=Math.round(x.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(x);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(x.getDefaultParent());qa()},!0,H);H=null}else if("horizontaltree"==J||"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){x.view.validate();var fa=new mxCompactTreeLayout(x,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting= -!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(x.getDefaultParent(),0<T.length?T[0]:null)},!0,H);H=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){x.view.validate();var ja=new mxHierarchicalLayout(x,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(x.getDefaultParent(),Z);x.moveCells(Z,A,N)},!0,H);H=null}else if("organic"==J||"auto"==J&&Z.length> -c.length){x.view.validate();var ba=new mxFastOrganicLayout(x);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(x);ia.spacing=z;this.executeLayout(function(){ba.execute(x.getDefaultParent());qa()},!0,H);H=null}this.hideDialog()}finally{x.model.endUpdate()}null!=H&&H()}}catch(ga){this.handleError(ga)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&& -"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var d="?",c;for(c in urlParams)0>mxUtils.indexOf(a,c)&&null!=urlParams[c]&&(b+=d+c+"="+urlParams[c],d="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var d="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),c;for(c in urlParams)0>mxUtils.indexOf(d, -c)&&(a=0==b?a+"?":a+"&",null!=urlParams[c]&&(a+=c+"="+urlParams[c],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var p=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=p.apply(this,arguments),d=this.editor.graph,c=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(d.container)&&d.pageVisible&&null!=this.source.minimumGraphSize){var a= -this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return c.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* -a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var c=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*c.x))/2)-c.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*c.y))/2)-c.y-5/a))}return new mxPoint(8/a, -8/a)};var h=b.init;b.init=function(){h.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=d.getPageLayout(),b=d.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,d){var c=d.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= -e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=0;null==this.drive&&"function"!==typeof window.DriveClient|| -d++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||d++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||d++;b||null==this.gitHub||d++;b||null==this.trello&&"function"!==typeof window.TrelloClient||d++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&d++;mxClient.IS_IOS||d++;return d};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled(); -this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c), -this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& +null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},f=null,k=null,l="",m="auto",p="auto",r=null,v=null,z=40,G=40,E=0,x=this.editor.graph;x.getGraphBounds();for(var J=function(){null!=b?b(Z):(x.setSelectionCells(Z),x.scrollCellToVisible(x.getSelectionCell()))},H=x.getFreeInsertPoint(),B=H.x,N=H.y,H=N,C=null,I= +"auto",R=[],Y=null,aa=null,Q=0;Q<c.length&&"#"==c[Q].charAt(0);){a=c[Q];for(Q++;Q<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),F=mxUtils.trim(a.substring(S+1));"label"==K?C=x.sanitizeHtml(F):"style"==K?f=F:"identity"==K&&0<F.length&&"-"!=F?k=F:"namespace"==K&&0<F.length&&"-"!=F?l=F:"width"==K?m=F:"height"==K?p=F:"left"==K&&0<F.length? +r=F:"top"==K&&0<F.length?v=F:"ignore"==K?aa=F.split(","):"connect"==K?R.push(JSON.parse(F)):"link"==K?Y=F:"padding"==K?E=parseFloat(F):"edgespacing"==K?z=parseFloat(F):"nodespacing"==K?G=parseFloat(F):"layout"==K&&(I=F)}}}var V=this.editor.csvToArray(c[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==C&&(C="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});x.model.beginUpdate();try{for(L=Q+1;L<c.length;L++){var X=this.editor.csvToArray(c[L]); +if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=x.model.getCell(W));null==A&&(A=new mxCell(C,new mxGeometry(B,H,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)x.setAttributeForCell(A,V[P],X[P]);x.setAttributeForCell(A,"placeholders","1");A.style=x.replacePlaceholders(A,A.style);for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(x.setLinkForCell(A,A.getAttribute(Y)),x.setAttributeForCell(A,Y,null));x.fireEvent(new mxEventObject("cellsInserted", +"cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=r&&null!=A.getAttribute(r)&&(A.geometry.x=B+parseFloat(A.getAttribute(r))),null!=v&&null!=A.getAttribute(v)&&(A.geometry.y=N+parseFloat(A.getAttribute(v))),"@"==m.charAt(0)&&null!=A.getAttribute(m.substring(1))?A.geometry.width=parseFloat(A.getAttribute(m.substring(1))):A.geometry.width="auto"==m?da.width+E:parseFloat(m),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))): +A.geometry.height="auto"==p?da.height+E:parseFloat(p),H+=A.geometry.height+G);d.push(x.addCell(A))}}for(var T=d.slice(),Z=d.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<d.length;L++){var A=d[L],ma=A.getAttribute(U.from);if(null!=ma){x.setAttributeForCell(A,U.from,null);for(var na=ma.split(","),P=0;P<na.length;P++){var ca=e[U.to][na[P]];null!=ca&&(C=U.label,null!=U.fromlabel&&(C=(A.getAttribute(U.fromlabel)||"")+(C||"")),null!=U.tolabel&&(C=(C||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(x.insertEdge(null, +null,C||"",U.invert?ca:A,U.invert?A:ca,U.style||x.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<d.length;L++)for(A=d[L],P=0;P<aa.length;P++)x.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(x);ia.spacing=z;var qa=function(){ia.execute(x.getDefaultParent());for(var a=0;a<d.length;a++){var b=x.getCellGeometry(d[a]);b.x=Math.round(x.snap(b.x));b.y=Math.round(x.snap(b.y));"auto"==m&&(b.width=Math.round(x.snap(b.width)));"auto"==p&& +(b.height=Math.round(x.snap(b.height)))}};if("circle"==I){var ea=new mxCircleLayout(x);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){ea.execute(x.getDefaultParent());qa()},!0,J);J=null}else if("horizontaltree"==I||"verticaltree"==I||"auto"==I&&Z.length==2*d.length-1&&1==T.length){x.view.validate();var fa=new mxCompactTreeLayout(x,"horizontaltree"==I);fa.levelDistance=G;fa.edgeRouting= +!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(x.getDefaultParent(),0<T.length?T[0]:null)},!0,J);J=null}else if("horizontalflow"==I||"verticalflow"==I||"auto"==I&&1==T.length){x.view.validate();var ja=new mxHierarchicalLayout(x,"horizontalflow"==I?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(x.getDefaultParent(),Z);x.moveCells(Z,B,N)},!0,J);J=null}else if("organic"==I||"auto"==I&&Z.length> +d.length){x.view.validate();var ba=new mxFastOrganicLayout(x);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(d,a)};ia=new mxParallelEdgeLayout(x);ia.spacing=z;this.executeLayout(function(){ba.execute(x.getDefaultParent());qa()},!0,J);J=null}this.hideDialog()}finally{x.model.endUpdate()}null!=J&&J()}}catch(ga){this.handleError(ga)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&& +"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c, +d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,d){a=new LinkDialog(this,a,b,d,!0);this.showDialog(a.container,480,130,!0,!0);a.init()};var p=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=p.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a= +this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* +a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a, +8/a)};var h=b.init;b.init=function(){h.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= +e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=0;null==this.drive&&"function"!==typeof window.DriveClient|| +c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.trello&&"function"!==typeof window.TrelloClient||c++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&c++;mxClient.IS_IOS||c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled(); +this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var d=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!d);this.actions.get("print").setEnabled(!d);this.menus.get("exportAs").setEnabled(!d);this.menus.get("embed").setEnabled(!d);d="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(d);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(d), +this.menus.get("newLibrary").setEnabled(d));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var e=applicationCache;if(null!=e&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin= "4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var e=window.applicationCache,k=null,b=mxUtils.bind(this,function(){var a=e.status,b;a==e.CHECKING&&(a=e.DOWNLOADING);switch(a){case e.UNCACHED:b= "";break;case e.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case e.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case e.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case e.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b= '<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=k&&(this.offlineStatus.innerHTML=b,k=a)});mxEvent.addListener(e,"checking",b);mxEvent.addListener(e,"noupdate",b);mxEvent.addListener(e,"downloading",b);mxEvent.addListener(e,"progress",b);mxEvent.addListener(e,"cached",b);mxEvent.addListener(e,"updateready",b);mxEvent.addListener(e,"obsolete",b);mxEvent.addListener(e,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement= -function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var r=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){r.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&& -c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b); -this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e); -this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= -null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){var d=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(d.getSvg(e,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),p=Math.floor(g.height* -k/d.view.scale);f.length<=MAX_REQUEST_SIZE&&l*p<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+p+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; +function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var r=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){r.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),d=this.getCurrentFile(),e=null!=d||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=d&&d.isEditable()&& +d.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b); +this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=d);this.actions.get("makeCopy").setEnabled(null!=d&&!d.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("publishLink").setEnabled(null!=d&&!d.isRestricted());this.actions.get("tags").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e); +this.actions.get("rename").setEnabled(null!=d&&d.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=d);this.menus.get("publish").setEnabled(null!=d&&!d.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= +null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,d,e,k,h){var c=a.editor.graph;if("xml"==d)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==d)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(c.getSvg(e,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=c.getGraphBounds(),m=Math.floor(g.width*k/c.view.scale),p=Math.floor(g.height* +k/c.view.scale);f.length<=MAX_REQUEST_SIZE&&m*p<MAX_AREA?(a.hideDialog(),a.saveRequest(b,d,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+d+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+m+"&h="+p+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,e){this.ui=a;this.page=b;this.previous=this.name=e}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; function MovePage(a,b,e){this.ui=a;this.oldIndex=b;this.newIndex=e}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; function SelectPage(a,b){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b))} -SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,c=b.graph.compress(e.zapGremlins(mxUtils.getXml(b.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=e.getViewState();a.root=e.model.root;e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.rootChanged(a.root);e.setViewState(a.viewState); -b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.sizeDidChange();this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,b,e,c){SelectPage.call(this,a,e);this.relatedPage=b;this.index=c;this.previousIndex=null} +SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,d=b.graph.compress(e.zapGremlins(mxUtils.getXml(b.getGraphXml(!0))));mxUtils.setTextContent(a.node,d);a.viewState=e.getViewState();a.root=e.model.root;e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.rootChanged(a.root);e.setViewState(a.viewState); +b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.sizeDidChange();this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,b,e,d){SelectPage.call(this,a,e);this.relatedPage=b;this.index=d;this.previousIndex=null} mxUtils.extend(ChangePage,SelectPage);ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)}; EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var b=0;b<this.pages.length;b++)if(this.pages[b].getId()==a)return this.pages[b];return null}; -EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height= -null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= +EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var d=this.tabContainer.style.height;this.tabContainer.style.height= +null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";d!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,d=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled|| -Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}; -Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== -a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== +Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){d();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}; +Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),d=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),m=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== +a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:this.defaultGraphBackground,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=d&&null!=k?new mxRectangle(0,0,parseFloat(d),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}}; Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(), arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}}; @@ -3015,83 +3022,83 @@ Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteX a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null),this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer()),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize= mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize= this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var e=new mxCodec(b.ownerDocument);a.root=e.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a}; -EditorUi.prototype.selectPage=function(a,b){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var e=this.editor.graph.model.createUndoableEdit();e.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();e.add(c);e.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",e))}; +EditorUi.prototype.selectPage=function(a,b){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var e=this.editor.graph.model.createUndoableEdit();e.ignoreEdit=!0;var d=new SelectPage(this,a);d.execute();e.add(d);e.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",e))}; EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();b=null!=b?b:this.pages.length;var e=new ChangePage(this,a,a,b);this.editor.graph.model.execute(e)}return a}; EditorUi.prototype.createPage=function(a){var b=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));b.setName(null!=a?a:this.createPageName());return b};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var e=this.pages[b].getName();null!=e&&0<e.length&&(a[e]=e)}b=this.pages.length;do e=mxResources.get("pageWithNumber",[++b]);while(null!=a[e]);return e}; -EditorUi.prototype.removePage=function(a){var b=this.editor.graph;if(b.isEnabled()){b.model.beginUpdate();try{var e=this.currentPage;if(e==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;e=this.pages[c]}else e=this.insertPage(),b.model.execute(new RenamePage(this,e,mxResources.get("pageWithNumber",[1])));b.model.execute(new ChangePage(this,a,e))}finally{b.model.endUpdate()}}return a}; -EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,c=null;e.isEnabled()&&(e.isEditing()&&e.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=e.cloneCells([e.model.root])[0],c.viewState=e.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(b),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c}; +EditorUi.prototype.removePage=function(a){var b=this.editor.graph;if(b.isEnabled()){b.model.beginUpdate();try{var e=this.currentPage;if(e==a)if(1<this.pages.length){var d=mxUtils.indexOf(this.pages,a);d==this.pages.length-1?d--:d++;e=this.pages[d]}else e=this.insertPage(),b.model.execute(new RenamePage(this,e,mxResources.get("pageWithNumber",[1])));b.model.execute(new ChangePage(this,a,e))}finally{b.model.endUpdate()}}return a}; +EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,d=null;e.isEnabled()&&(e.isEditing()&&e.stopEditing(),d=a.node.cloneNode(!1),d.removeAttribute("id"),d=new DiagramPage(d),d.root=e.cloneCells([e.model.root])[0],d.viewState=e.getViewState(),d.viewState.scale=1,d.viewState.scrollLeft=null,d.viewState.scrollRight=null,d.setName(b),d=this.insertPage(d,mxUtils.indexOf(this.pages,a)+1));return d}; EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var b=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&this.editor.graph.model.execute(new RenamePage(this,a,b))}),mxResources.get("rename"));this.showDialog(b.container,300,80,!0,!0);b.init()}return a};EditorUi.prototype.movePage=function(a,b){this.editor.graph.model.execute(new MovePage(this,a,b))}; EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a}; -EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- -e)/this.pages.length)+1),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=d):mxEvent.consume(b)}));mxEvent.addListener(c, -"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=k&&d!=k&&this.movePage(k,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b); -c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=c&&(c.style.position="absolute",c.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var r=this.createControlTab(4, +EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- +e)/this.pages.length)+1),k=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",d.style.fontWeight="bold",d.style.borderTopStyle="none"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=c):mxEvent.consume(b)}));mxEvent.addListener(d, +"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=k&&c!=k&&this.movePage(k,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(m,this.createTabForPage(this.pages[m],d,this.pages[m]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b); +d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var r=this.createControlTab(4, " ❯");r.style.position="absolute";r.style.right=this.editor.chromeless?"0px":"29px";r.style.fontSize="13pt";this.tabContainer.appendChild(r);var v=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=v+"px";mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,v-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(p, 0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(r,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,v-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; EditorUi.prototype.createTab=function(a){var b=document.createElement("div");b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.whiteSpace="nowrap";b.style.boxSizing="border-box";b.style.position="relative";b.style.overflow="hidden";b.style.marginLeft="-1px";b.style.height=this.tabContainer.clientHeight+"px";b.style.padding="8px 4px 8px 4px";b.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";b.style.borderBottomStyle="solid";b.style.backgroundColor=this.tabContainer.style.backgroundColor; b.style.cursor="move";b.style.color="gray";a&&(mxEvent.addListener(b,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(b.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(b,"mouseleave",mxUtils.bind(this,function(a){b.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return b}; EditorUi.prototype.createControlTab=function(a,b){var e=this.createTab(!0);e.style.paddingTop=a+"px";e.style.cursor="pointer";e.style.width="30px";e.style.lineHeight="30px";e.innerHTML=b;null!=e.firstChild&&null!=e.firstChild.style&&mxUtils.setOpacity(e.firstChild,40);return e}; -EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=0;c<this.pages.length;c++)mxUtils.bind(this, -function(d){var c=a.addItem(this.pages[d].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[d])}),b);this.pages[d]==this.currentPage&&a.addCheckmark(c,Editor.checkmarkImage)})(c);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"), -null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var c=mxEvent.getClientX(a),k=mxEvent.getClientY(a);b.popup(c,k,null,a);this.setCurrentMenu(b); +EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var d=0;d<this.pages.length;d++)mxUtils.bind(this, +function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[c])}),b);this.pages[c]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"), +null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var d=mxEvent.getClientX(a),k=mxEvent.getClientY(a);b.popup(d,k,null,a);this.setCurrentMenu(b); mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; -EditorUi.prototype.createTabForPage=function(a,b,e){e=this.createTab(e);var c=a.getName();e.setAttribute("title",c);mxUtils.write(e,c);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; -EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var c=!1,k=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){c=null!=this.currentMenu;k=a==this.currentPage;e.isMouseDown||k||this.selectPage(a)}),null,mxUtils.bind(this,function(l){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(l)&&k||mxEvent.isPopupTrigger(l))){e.popupMenuHandler.hideMenu(); -this.hideCurrentMenu();if(!mxEvent.isTouchEvent(l)||!c){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var r=mxEvent.getClientX(l),v=mxEvent.getClientY(l);p.popup(r,v,null,l);this.setCurrentMenu(p,b)}mxEvent.consume(l)}}))}; -EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,c){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),c);e.addSeparator(c);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, -mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,e,c){c.setAttribute("page",e.page.getId());return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.page=a.ui.getPageById(e.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,c){c.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(c.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,c));return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(e.getAttribute("relatedPage"));if(null==c.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage")); -b.setAttribute("name",e.getAttribute("name"));c.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(c.relatedPage.root=a.decodeCell(b,!1),c=b.nextSibling,b.parentNode.removeChild(b),b=c;null!=b;){c=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var l=b.getAttribute("id");null==a.lookup(l)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=c}}return e};a.afterDecode=function(a,e,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells; -Graph.prototype.foldCells=function(a,c,e,r,v){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var d=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),l=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g], -a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return n.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType); +EditorUi.prototype.createTabForPage=function(a,b,e){e=this.createTab(e);var d=a.getName();e.setAttribute("title",d);mxUtils.write(e,d);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; +EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,k=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;k=a==this.currentPage;e.isMouseDown||k||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&k||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu(); +this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!d){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var r=mxEvent.getClientX(m),v=mxEvent.getClientY(m);p.popup(r,v,null,m);this.setCurrentMenu(p,b)}mxEvent.consume(m)}}))}; +EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,d){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);e.addSeparator(d);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, +mxResources.get("copyOf",[a.getName()]))}),d)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,e,d){d.setAttribute("page",e.page.getId());return d};a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.page=a.ui.getPageById(e.getAttribute("page"));d.previous=d.name;return d};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,d){d.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(d.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,d));return d};a.beforeDecode=function(a,e,d){d.ui=a.ui;d.relatedPage=d.ui.getPageById(e.getAttribute("relatedPage"));if(null==d.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage")); +b.setAttribute("name",e.getAttribute("name"));d.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var m=b.getAttribute("id");null==a.lookup(m)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return e};a.afterDecode=function(a,e,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells; +Graph.prototype.foldCells=function(a,d,e,r,v){d=null!=d?d:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var c=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),m=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g], +a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=c;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return n.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType); return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function r(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())< -a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var d=h.model.getParent(a),c=h.getIncomingEdges(a),e=h.cloneCells([c[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(c[0],!0),!0);var f=r(a),g=d.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ -10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=d&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),n=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*n:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*n;var p=h.getOutgoingEdges(h.model.getTerminal(c[0], -!0));if(null!=p){for(var m=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=c=0;q<p.length;q++){var t=h.model.getTerminal(p[q],!1);if(f==r(t)){var u=h.view.getState(t);t!=a&&null!=u&&(m&&b!=u.getCenterX()<k.getCenterX()||!m&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(c=10+Math.max(c,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/n),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/n))}}m?g=0:c=0;for(q=0;q<p.length;q++)if(t=h.model.getTerminal(p[q], -!1),f==r(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(m&&b!=u.getCenterX()<k.getCenterX()||!m&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*c,(b?1:-1)*g)}}}return h.addCells(e,d)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=r(a),d=h.getIncomingEdges(a),c=h.cloneCells([d[0],a]);h.model.setTerminal(d[0],c[1],!1);h.model.setTerminal(c[0],c[1],!0);h.model.setTerminal(c[0],a,!1); -var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(c[1].geometry.x-=f.x,c[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,n=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,n=-40):b==mxConstants.DIRECTION_WEST?(k=-40,n=0):b==mxConstants.DIRECTION_EAST&&(n=0);h.moveCells(g,k,n);return h.addCells(c,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b= -h.model.getParent(a),d=h.getIncomingEdges(a),c=h.cloneCells([d[0],a]);h.model.setTerminal(c[0],a,!0);var d=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<d.length;g++){var k=h.model.getTerminal(d[g],!1);null!=k&&f.push(k)}var n=h.view.getBounds(f),l=r(a),p=h.view.translate,m=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(c[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(n.x+n.width)/m-p.x-e.x+10,c[1].geometry.y+=a.geometry.height- -e.y+40):l==mxConstants.DIRECTION_NORTH?(c[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(n.x+n.width)/m-p.x+-e.x+10,c[1].geometry.y-=c[1].geometry.height-e.y+40):(c[1].geometry.x=l==mxConstants.DIRECTION_WEST?c[1].geometry.x-(c[1].geometry.width-e.x+40):c[1].geometry.x+(a.geometry.width-e.x+40),c[1].geometry.y=null==n?a.geometry.y+(a.geometry.height-c[1].geometry.height)/2:(n.y+n.height)/m-p.y+-e.y+10);return h.addCells(c,b)}finally{h.model.endUpdate()}}function g(a, -b,d){a=h.getOutgoingEdges(a);d=h.view.getState(d);var c=[];if(null!=d&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,d.x+d.width)>=Math.max(f.x,d.x)||b&&Math.min(f.y+f.height,d.y+d.height)>=Math.max(f.y,d.y))&&c.push(f)}c.sort(function(a,d){return b?a.x+a.width-d.x-d.width:a.y+a.height-d.y-d.height})}return c}function m(a,b){var d=r(a),c=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(d==mxConstants.DIRECTION_EAST|| -d==mxConstants.DIRECTION_WEST)==c&&d!=b?t.actions.get("selectParent").funct():d==b?(c=h.getOutgoingEdges(a),null!=c&&0<c.length&&h.setSelectionCell(h.model.getTerminal(c[0],!1))):(d=h.getIncomingEdges(a),null!=d&&0<d.length&&(c=g(h.model.getTerminal(d[0],!0),c,a),d=h.view.getState(a),null!=d&&(d=mxUtils.indexOf(c,d),0<=d&&(d+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=d&&d<=c.length-1&&h.setSelectionCell(c[d].cell)))))}var t=this,h=t.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children"); -mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var q=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,d,c){q.apply(this,arguments);if(1==h.getSelectionCount()){d=h.getSelectionCell();var e=h.getOutgoingEdges(d);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,c),this.addMenuItems(a,["selectDescendants"],null,c));b(h.getSelectionCell())&& -(a.addSeparator(),0<h.getIncomingEdges(d).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,c))}};t.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],d=0;d<a.length;d++)b.push(h.model.getTerminal(a[d],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(), -a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],d=0;d<a.length;d++)b.push(h.model.getTerminal(a[d],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants", -function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,d){null!=d&&b.push(d);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0, -function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,d,c){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(d,c))};var u=h.duplicateCells;h.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();for(var c=a.slice(0),e=0;e<c.length;e++){var f=h.view.getState(c[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], -a)}this.model.beginUpdate();try{var k=u.call(this,a,d);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var n=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==n.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var y=h.moveCells;h.moveCells=function(a,d,c,e,f,g,k){var n=null;this.model.beginUpdate();try{var l=f,p=this.view.getState(f),m=null!=p?p.style:this.getCellStyle(f); -if(null!=a&&b(f)&&"1"==mxUtils.getValue(m,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||h.model.isEdge(a[q])&&null==h.model.getTerminal(a[q],!0)){f=h.model.getParent(a[q]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(d=(u.getCenterX()-t.getCenterX())/h.view.scale,c=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}n=y.apply(this,arguments); -if(null!=n&&null!=a&&n.length==a.length)for(q=0;q<n.length;q++)if(this.model.isEdge(n[q]))b(l)&&0>mxUtils.indexOf(n,this.model.getTerminal(n[q],!0))&&this.model.setTerminal(n[q],l,!0);else if(b(a[q])&&(r=h.getIncomingEdges(a[q]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(n[q]).length){p=l;if(null==p||p==h.model.getParent(a[q]))p=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e, -h.getDefaultParent(),p,n[q])}}finally{this.model.endUpdate()}return n};if(null!=t.sidebar){var E=t.sidebar.dropAndConnect;t.sidebar.dropAndConnect=function(a,d,c,e){var f=h.model,g=null;f.beginUpdate();try{if(g=E.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var n=h.getCellGeometry(g[k]);n.points=null;null!=n.getTerminalPoint(!0)&&n.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:t.actions.get("selectChildren"), -84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},G=t.onKeyDown;t.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var c=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(c=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&h.model.isEdge(c[0])?h.setSelectionCell(h.model.getTerminal(c[0], -!1)):h.setSelectionCell(c[c.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(m(h.getSelectionCell(), -mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(m(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var C=h.connectVertex;h.connectVertex=function(a,c,e,g,k,n){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=r(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&& -c!=mxConstants.DIRECTION_WEST)):C.call(this,a,c,e,g,k,n)};h.getSubtree=function(a){var d=[a];b(a)&&!e(a)&&h.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var x=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){x.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), +a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var c=h.model.getParent(a),d=h.getIncomingEdges(a),e=h.cloneCells([d[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(d[0],!0),!0);var f=r(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ +10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var l=h.view.getState(a),k=h.view.scale;if(null!=l){var n=mxRectangle.fromRectangle(l);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var m=h.getOutgoingEdges(h.model.getTerminal(d[0], +!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<m.length;q++){var t=h.model.getTerminal(m[q],!1);if(f==r(t)){var u=h.view.getState(t);t!=a&&null!=u&&(p&&b!=u.getCenterX()<l.getCenterX()||!p&&b!=u.getCenterY()<l.getCenterY())&&mxUtils.intersects(n,u)&&(d=10+Math.max(d,(Math.min(n.x+n.width,u.x+u.width)-Math.max(n.x,u.x))/k),g=10+Math.max(g,(Math.min(n.y+n.height,u.y+u.height)-Math.max(n.y,u.y))/k))}}p?g=0:d=0;for(q=0;q<m.length;q++)if(t=h.model.getTerminal(m[q], +!1),f==r(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(p&&b!=u.getCenterX()<l.getCenterX()||!p&&b!=u.getCenterY()<l.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function c(a){h.model.beginUpdate();try{var b=r(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1); +var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var l=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?l=0:b==mxConstants.DIRECTION_NORTH?(l=0,k=-40):b==mxConstants.DIRECTION_WEST?(l=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);h.moveCells(g,l,k);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b= +h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var l=h.model.getTerminal(c[g],!1);null!=l&&f.push(l)}var k=h.view.getBounds(f),n=r(a),m=h.view.translate,p=h.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height- +e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a, +b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function u(a,b){var c=r(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| +c==mxConstants.DIRECTION_WEST)==d&&c!=b?t.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&h.setSelectionCell(d[c].cell)))))}var t=this,h=t.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children"); +mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var l=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,c,d){l.apply(this,arguments);if(1==h.getSelectionCount()){c=h.getSelectionCell();var e=h.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(h.getSelectionCell())&& +(a.addSeparator(),0<h.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};t.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(), +a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants", +function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&d(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0, +function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var q=h.duplicateCells;h.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=h.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], +a)}this.model.beginUpdate();try{var l=q.call(this,a,c);if(l.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=h.getIncomingEdges(l[e]),g=h.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,h.getDefaultParent(),this.model.getTerminal(g[0],!0),l[e])}}}finally{this.model.endUpdate()}return l};var y=h.moveCells;h.moveCells=function(a,c,d,e,f,g,l){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f); +if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||h.model.isEdge(a[q])&&null==h.model.getTerminal(a[q],!0)){f=h.model.getParent(a[q]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(n);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}k=y.apply(this,arguments); +if(null!=k&&null!=a&&k.length==a.length)for(q=0;q<k.length;q++)if(this.model.isEdge(k[q]))b(n)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[q],!0))&&this.model.setTerminal(k[q],n,!0);else if(b(a[q])&&(r=h.getIncomingEdges(a[q]),0<r.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],n,!0);else if(0==h.getIncomingEdges(k[q]).length){m=n;if(null==m||m==h.model.getParent(a[q]))m=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e, +h.getDefaultParent(),m,k[q])}}finally{this.model.endUpdate()}return k};if(null!=t.sidebar){var D=t.sidebar.dropAndConnect;t.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=D.apply(this,arguments),b(a))for(var l=0;l<g.length;l++)if(f.isEdge(g[l])&&null==f.getTerminal(g[l],!0)){f.setTerminal(g[l],a,!0);var k=h.getCellGeometry(g[l]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:t.actions.get("selectChildren"), +84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},G=t.onKeyDown;t.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var d=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?c(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(d=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&h.model.isEdge(d[0])?h.setSelectionCell(h.model.getTerminal(d[0], +!1)):h.setSelectionCell(d[d.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(h.getSelectionCell(), +mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(I){console.log("error",I)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var E=h.connectVertex;h.connectVertex=function(a,d,e,g,l,k){var n=h.getIncomingEdges(a);return b(a)&&0<n.length?(e=r(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,l=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(a):g==l?c(a):v(a,d!=mxConstants.DIRECTION_NORTH&& +d!=mxConstants.DIRECTION_WEST)):E.call(this,a,d,e,g,l,k)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var x=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){x.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells); -this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var H=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= -this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", +this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var J=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= +this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;"); -b.vertex=!0;var c=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;"); -e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var h=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(n);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a], +b.vertex=!0;var d=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");d.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!0);d.insertEdge(c,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;"); +e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");k.vertex=!0;var m=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +m.geometry.relative=!0;m.edge=!0;b.insertEdge(m,!0);k.insertEdge(m,!1);var h=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(c);a.insert(g);a.insert(m);a.insert(n);a.insert(b);a.insert(d);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a], a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0, -0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Organization", -new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(c,"treeRoot","1");c.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");e.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");d.geometry.relative=!0;d.edge=!0; -c.insertEdge(d,!0);e.insertEdge(d,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;c.insertEdge(g,!0);f.insertEdge(g,!1);a.insert(d);a.insert(g);a.insert(c);a.insert(e);a.insert(f);return sb.createVertexTemplateFromCells([a], +0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var d=new mxCell("Organization", +new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(d,"treeRoot","1");d.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");e.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");c.geometry.relative=!0;c.edge=!0; +d.insertEdge(c,!0);e.insertEdge(c,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;d.insertEdge(g,!0);f.insertEdge(g,!1);a.insert(c);a.insert(g);a.insert(d);a.insert(e);a.insert(f);return sb.createVertexTemplateFromCells([a], a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;"); a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;"); -a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0, -0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& -a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var d=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new k(a,mxResources.get("shapes"),10,56,d-6,Math.min(650,b.container.clientHeight-30),function(b){function d(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; -g.className="geTitle";b.appendChild(g);return g}var c=document.createElement("div");c.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";c.className="geTitle";mxUtils.write(c,mxResources.get("moreShapes"));b.appendChild(c);mxEvent.addListener(c,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)c.style.bottom= -"0";else if(null!=a.actions.get("newLibrary")){c=document.createElement("div");c.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";c.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("newLibrary").funct);c=document.createElement("div"); -c.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";c.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("openLibrary").funct)}else c=d("newLibrary",mxResources.get("newLibrary")),c.style.left= -"0",c=d("openLibraryFrom",mxResources.get("openLibraryFrom")),c.style.borderLeft="1px solid lightgray",c.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()} -if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; -document.getElementsByTagName("head")[0].appendChild(c)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); +a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var d=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");d.vertex=!0;var c=new mxCell("",new mxGeometry(0, +0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");c.geometry.setTerminalPoint(new mxPoint(110,-40),!0);c.geometry.relative=!0;c.edge=!0;d.insertEdge(c,!1);return sb.createVertexTemplateFromCells([b,c,a,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& +a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new k(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; +g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom= +"0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div"); +d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left= +"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()} +if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var d=document.createElement("style");d.type="text/css";d.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; +document.getElementsByTagName("head")[0].appendChild(d)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src; mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>'); mxEdgeHandler.prototype.handleImage=mxVertexHandler.prototype.handleImage;mxEdgeHandler.prototype.terminalHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><circle cx="8" cy="8" r="3" stroke="#ffffff" fill="#29b6f2"/>');mxEdgeHandler.prototype.fixedHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><path d="m 6 6 L 10 10 M 6 10 L 10 6" stroke="#ffffff"/>');mxConstraintHandler.prototype.pointImage= @@ -3099,10 +3106,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>') HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight, Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH= 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity= -25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= +25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var m=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){m.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= function(){p.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var r=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):r.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px"; -a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; +a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var c=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){c.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save")); b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title", mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px"; @@ -3110,8 +3117,8 @@ b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,functio mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout", a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var g= EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&& -(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);g.apply(this,arguments)};var m=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= -function(a){m.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+ +(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);g.apply(this,arguments)};var u=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= +function(a){u.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+ "...";c.actions.get("insertRectangle").label=mxResources.get("rectangle");c.actions.get("insertEllipse").label=mxResources.get("ellipse");c.actions.get("insertRhombus").label=mxResources.get("rhombus");c.actions.get("insertImage").label=mxResources.get("image")+"...";c.actions.get("insertLink").label=mxResources.get("link")+"...";c.actions.get("createShape").label=mxResources.get("shape")+"...";c.actions.get("outline").label=mxResources.get("outline")+"...";c.actions.get("layers").label=mxResources.get("layers")+ "...";c.actions.put("importFile",new Action("File...",function(){d.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&c.importFiles(a.files,null,null,c.maxImageSize)});a.click()}));c.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){d.popupMenuHandler.hideMenu();c.showImportCsvDialog()}));c.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a= new ParseDialog(c,"Insert from Text");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(c,"Insert from Text","formatSql");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){b(c)}));c.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(c)}));EditorUi.enablePlantUml&&c.actions.put("plantUml", @@ -3121,85 +3128,85 @@ new Action(mxResources.get("plantUml")+"...",function(){var a=new ParseDialog(c, b):c.menus.addMenuItems(a,["save","saveAs","-","rename","makeCopy"],b);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||c.menus.addMenuItems(a,["-","revisionHistory"],b);c.menus.addMenuItems(a,["-","autosave"],b)})));var g=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){g.funct(a,b);a.addSeparator(b);c.menus.addSubmenu("embed",a,b);c.menus.addMenuItems(a,["publishLink"],b)})));var h=this.get("language");this.put("preferences",new Menu(mxUtils.bind(this, function(a,b){"1"!=urlParams.embed&&c.menus.addSubmenu("theme",a,b);null!=h&&c.menus.addSubmenu("language",a,b);a.addSeparator(b);c.menus.addMenuItems(a,["scrollbars","tooltips","pageScale"],b);"1"!=urlParams.embed&&isLocalStorage&&c.menus.addMenuItems(a,["-","search","scratchpad","-","showStartScreen"],b);c.isOfflineApp()||"1"==urlParams.embed||c.menus.addMenuItems(a,["-","plugins"],b)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"importText createShape plantUml - importCsv formatSql editDiagram".split(" "), b)})));mxResources.parse("insertLayout="+mxResources.get("layout"));mxResources.parse("insertAdvanced="+mxResources.get("advanced"));this.put("insert",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),b);c.menus.addSubmenu("importFrom",a,b);a.addSeparator(b);c.menus.addSubmenu("insertLayout",a,b);c.menus.addSubmenu("insertAdvanced",a,b)})));var k="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "), -l=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):l(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "), -b)})))};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=l.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c? +m=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):m(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "), +b)})))};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=m.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c? (g.style.backgroundImage="url("+c+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px",g.innerHTML="",mxUtils.setOpacity(g,d||40)):b||(g.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",g.style.backgroundPosition="right 6px center",g.style.backgroundRepeat="no-repeat",g.style.paddingRight="22px");return g}function b(a,b,c,d,e,f){var g=document.createElement("a");g.setAttribute("href","javascript:void(0)"); g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";k.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&& b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);mxUtils.setOpacity(g,null!=f?40:100);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),mxUtils.setOpacity(g,null!=f?40:100),g.style.cursor=""):(g.setAttribute("disabled","disabled"),mxUtils.setOpacity(g,null!=f?10:20),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function c(a){var b=document.createElement("div");b.className="geMenuItem";b.style.display="inline-block"; b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));k.appendChild(b);return b}h.apply(this,arguments);var d=document.createElement("div");d.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";d.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries? -"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var l=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", +"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var m=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", 100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+ " ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==": -null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": -null)]);if(480<=e){var p=f.actions.get("undo"),d=f.actions.get("redo"),p=b("",p.funct,null,mxResources.get("undo")+" ("+p.shortcut+")",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct, -null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([p,d]);if(560<=e){var d=f.actions.get("zoomIn"),p=f.actions.get("zoomOut"),r=f.actions.get("resetView"); -c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), +null)]);var p=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([p,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": +null)]);if(480<=e){var r=f.actions.get("undo"),d=f.actions.get("redo"),r=b("",r.funct,null,mxResources.get("undo")+" ("+r.shortcut+")",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct, +null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([r,d]);if(560<=e){var d=f.actions.get("zoomIn"),r=f.actions.get("zoomOut"),t=f.actions.get("resetView"); +c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",t,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), 640<=e?b("",d.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="): -null,640<=e?b("",p.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): -null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var t=f.descriptorChanged;f.descriptorChanged=function(){t.apply(this,arguments);var a=f.getCurrentFile(); +null,640<=e?b("",r.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): +null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var u=f.descriptorChanged;f.descriptorChanged=function(){u.apply(this,arguments);var a=f.getCurrentFile(); if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);k.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else k.removeAttribute("title")};f.setStatusText(f.editor.getStatus());k.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";k.appendChild(f.buttonContainer);f.menubarContainer= -f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(m=l.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", -m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),k.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; -d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";r=f.menus.get("viewZoom");if(null!=r){this.tabContainer.style.right="70px";m=l.addMenu("100%",r.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition= -"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)- -1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);r=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,r);f.editor.addListener("resetGraphView",r);f.editor.addListener("pageSelected",r);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer); -p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; +f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(p=m.addMenu("",d.funct),p.setAttribute("title",mxResources.get("language")),p.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", +p.style.backgroundPosition="center center",p.style.backgroundRepeat="no-repeat",p.style.backgroundSize="24px 24px",p.style.position="absolute",p.style.height="24px",p.style.width="24px",p.style.zIndex="1",p.style.top="11px",p.style.right="14px",mxUtils.setOpacity(p,30),k.appendChild(p));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; +d=f.diagramContainer.parentNode;r=document.createElement("div");r.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";t=f.menus.get("viewZoom");if(null!=t){this.tabContainer.style.right="70px";p=m.addMenu("100%",t.funct);p.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");p.style.whiteSpace="nowrap";p.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";p.style.backgroundPosition= +"right 6px center";p.style.backgroundRepeat="no-repeat";p.style.paddingRight="10px";p.style.display="block";p.style.position="absolute";p.style.textDecoration="none";p.style.textDecoration="none";p.style.right="0px";p.style.bottom="0px";p.style.overflow="hidden";p.style.textAlign="center";p.style.color="#000";p.style.fontSize="12px";p.style.color="#707070";p.style.width="59px";p.style.borderTop="1px solid lightgray";p.style.borderLeft="1px solid lightgray";p.style.height=parseInt(f.tabContainer.style.height)- +1+"px";p.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";r.appendChild(p);t=mxUtils.bind(this,function(){p.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,t);f.editor.addListener("resetGraphView",t);f.editor.addListener("pageSelected",t);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(p.style.visibility=this.tabContainer.style.visibility)}}r.appendChild(f.tabContainer); +r.appendChild(k);r.appendChild(f.diagramContainer);d.appendChild(r);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}}; +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.allowZoomIn=!1; GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0; GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled= 0<=mxUtils.indexOf(this.toolbarItems,"zoom");this.layersEnabled=0<=mxUtils.indexOf(this.toolbarItems,"layers");this.lightboxEnabled=0<=mxUtils.indexOf(this.toolbarItems,"lightbox");this.lightboxClickEnabled=0!=this.graphConfig.lightbox;this.initialWidth=null!=a?a.style.width:null;this.widthIsEmpty=null!=this.initialWidth?""==this.initialWidth:!0;this.currentPage=parseInt(this.graphConfig.page)||0;this.editor=null;if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b), -null!=a)){var c=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);var c=this;this.graph.getImageFromBundles=function(a){return c.getImageUrl(a)}; -mxClient.IS_SVG&&this.editor.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==b.nodeName){var e=b.getElementsByTagName("diagram");if(0<e.length){var k=this.graph.getGlobalVariable,c=this;this.graph.getGlobalVariable=function(a){var b=e[c.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(c.currentPage+1):"pagenumber"==a?c.currentPage+1:k.apply(this,arguments)}}}this.diagrams=[];var d=null;this.selectPage=function(a){this.currentPage=mxUtils.mod(a,this.diagrams.length); -this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(this.diagrams[this.currentPage]))).documentElement)};this.selectPageById=function(a){for(var b=0;b<this.diagrams.length;b++)if(this.diagrams[b].getAttribute("id")==a){this.selectPage(b);break}};var f=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=[];this.xmlNode!=d&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),d=this.xmlNode)});this.addListener("xmlNodeChanged", -f);f();urlParams.page=c.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=!0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow}; -this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);this.addSizeHandler();this.showLayers(this.graph);this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title", -this.graphConfig.title);this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var k=this.getObservableParent(a),l=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(l.disconnect(),c())}));l.observe(k,{attributes:!0})}else c()}}; -GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a}; +null!=a)){var d=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);var d=this;this.graph.getImageFromBundles=function(a){return d.getImageUrl(a)}; +mxClient.IS_SVG&&this.editor.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==b.nodeName){var e=b.getElementsByTagName("diagram");if(0<e.length){var k=this.graph.getGlobalVariable,d=this;this.graph.getGlobalVariable=function(a){var b=e[d.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(d.currentPage+1):"pagenumber"==a?d.currentPage+1:k.apply(this,arguments)}}}this.diagrams=[];var c=null;this.selectPage=function(a){this.currentPage=mxUtils.mod(a,this.diagrams.length); +this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(this.diagrams[this.currentPage]))).documentElement)};this.selectPageById=function(a){for(var b=0;b<this.diagrams.length;b++)if(this.diagrams[b].getAttribute("id")==a){this.selectPage(b);break}};var f=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=[];this.xmlNode!=c&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),c=this.xmlNode)});this.addListener("xmlNodeChanged", +f);f();urlParams.page=d.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=!0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow}; +this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);this.addSizeHandler();this.showLayers(this.graph);this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};d=this;this.graph.customLinkClicked=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");d.selectPageById(a.substring(b+ +1))}else this.handleCustomLink(a)};null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title",this.graphConfig.title);this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var k=this.getObservableParent(a),m=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),d())}));m.observe(k, +{attributes:!0})}else d()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a}; GraphViewer.prototype.setXmlNode=function(a){this.xmlDocument=a.ownerDocument;this.xml=mxUtils.getXml(a);this.xmlNode=a;this.updateGraphXml(a);this.fireEvent(new mxEventObject("xmlNodeChanged"))};GraphViewer.prototype.setFileNode=function(a){null==this.xmlNode&&(this.xmlDocument=a.ownerDocument,this.xml=mxUtils.getXml(a),this.xmlNode=a);this.setGraphXml(a)};GraphViewer.prototype.updateGraphXml=function(a){this.setGraphXml(a);this.fireEvent(new mxEventObject("graphChanged"))}; GraphViewer.prototype.setGraphXml=function(a){null!=this.graph&&(this.graph.view.translate=new mxPoint,this.graph.view.scale=1,this.graph.getModel().clear(),this.editor.setGraphXml(a),this.widthIsEmpty?(this.graph.container.style.width="",this.graph.container.style.height=""):this.graph.container.style.width=this.initialWidth,this.positionGraph(),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale})}; -GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow="hidden";var c=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=a.offsetWidth<=b.width+2*this.graph.border*this.graph.view.scale?"auto":"hidden";if(null!=this.toolbar){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x, -top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e=!1}}),k=null,l=!1;this.fitGraph=function(b){var c=a.offsetWidth;c==k||l||(l=!0,this.graph.maxFitScale= -null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,!1,!0),this.graph.maxFitScale=null,b=this.graph.getGraphBounds(),this.updateContainerHeight(a,b.height+2*this.graph.border+1),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},k=c,window.setTimeout(function(){l=!1},0))};GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",c),this.graph.addListener("size", -c)):new ResizeSensor(this.graph.container,c));if(this.graphConfig.resize||(this.zoomEnabled||!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,100,1),this.graph.resizeContainer=!0;else if(this.widthIsEmpty&&this.updateContainerWidth(a,b.width+2*this.graph.border),this.updateContainerHeight(a,b.height+2*this.graph.border+1),!this.zoomEnabled&&this.autoFit){var p=k=null,c=mxUtils.bind(this,function(){window.clearTimeout(p);l||(p=window.setTimeout(mxUtils.bind(this, -this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",c):new ResizeSensor(this.graph.container,c))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",c);var r=mxUtils.bind(this,function(){var c=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>this.graphConfig["max-height"])){var d= -null;null!=this.graphConfig["max-height"]&&(d=this.graphConfig["max-height"]/(b.height+2*this.graph.border));this.fitGraph(d)}else this.graph.view.setTranslate(Math.floor((this.graph.border-b.x)/this.graph.view.scale),Math.floor((this.graph.border-b.y)/this.graph.view.scale)),k=a.offsetWidth;a.style.minWidth=c});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(r,0):r();this.positionGraph=function(){b=this.graph.getGraphBounds();k=null;r()}}; +GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow="hidden";var d=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=a.offsetWidth<=b.width+2*this.graph.border*this.graph.view.scale?"auto":"hidden";if(null!=this.toolbar){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x, +top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e=!1}}),k=null,m=!1;this.fitGraph=function(b){var c=a.offsetWidth;c==k||m||(m=!0,this.graph.maxFitScale= +null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,!1,!0),this.graph.maxFitScale=null,b=this.graph.getGraphBounds(),this.updateContainerHeight(a,b.height+2*this.graph.border+1),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},k=c,window.setTimeout(function(){m=!1},0))};GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",d),this.graph.addListener("size", +d)):new ResizeSensor(this.graph.container,d));if(this.graphConfig.resize||(this.zoomEnabled||!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,100,1),this.graph.resizeContainer=!0;else if(this.widthIsEmpty&&this.updateContainerWidth(a,b.width+2*this.graph.border),this.updateContainerHeight(a,b.height+2*this.graph.border+1),!this.zoomEnabled&&this.autoFit){var p=k=null,d=mxUtils.bind(this,function(){window.clearTimeout(p);m||(p=window.setTimeout(mxUtils.bind(this, +this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",d):new ResizeSensor(this.graph.container,d))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",d);var r=mxUtils.bind(this,function(){var d=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>this.graphConfig["max-height"])){var c= +null;null!=this.graphConfig["max-height"]&&(c=this.graphConfig["max-height"]/(b.height+2*this.graph.border));this.fitGraph(c)}else this.graph.view.setTranslate(Math.floor((this.graph.border-b.x)/this.graph.view.scale),Math.floor((this.graph.border-b.y)/this.graph.view.scale)),k=a.offsetWidth;a.style.minWidth=d});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(r,0):r();this.positionGraph=function(){b=this.graph.getGraphBounds();k=null;r()}}; GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"};GraphViewer.prototype.updateContainerHeight=function(a,b){if(this.zoomEnabled||!this.autoFit||"BackCompat"==document.compatMode||mxClient.IS_QUIRKS||8==document.documentMode)a.style.height=b+"px"}; -GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers;if(null!=e||null!=b)if(e=null!=e?e.split(" "):null,null!=b||0<e.length){var c=null!=b?b.getModel():null,k=a.getModel();k.beginUpdate();try{for(var l=k.getChildCount(k.root),p=0;p<l;p++)k.setVisible(k.getChildAt(k.root,p),null!=b?c.isVisible(c.getChildAt(c.root,p)):!1);if(null==c)for(p=0;p<e.length;p++)k.setVisible(k.getChildAt(k.root,parseInt(e[p])),!0)}finally{k.endUpdate()}}}; +GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers;if(null!=e||null!=b)if(e=null!=e?e.split(" "):null,null!=b||0<e.length){var d=null!=b?b.getModel():null,k=a.getModel();k.beginUpdate();try{for(var m=k.getChildCount(k.root),p=0;p<m;p++)k.setVisible(k.getChildAt(k.root,p),null!=b?d.isVisible(d.getChildAt(d.root,p)):!1);if(null==d)for(p=0;p<e.length;p++)k.setVisible(k.getChildAt(k.root,parseInt(e[p])),!0)}finally{k.endUpdate()}}}; GraphViewer.prototype.addToolbar=function(){function a(a,b,c,d){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=c&&g.setAttribute("title",c);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==d||d?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave", function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);e.appendChild(g);f++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var e=b.ownerDocument.createElement("div");e.style.position="absolute";e.style.overflow="hidden";e.style.boxSizing="border-box"; -e.style.whiteSpace="nowrap";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var c=null,k=null,l=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e, -0);c=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),l())}));mxEvent.addListener(e,mxClient.IS_POINTER?"pointermove": +e.style.whiteSpace="nowrap";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var d=null,k=null,m=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);d=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e, +0);d=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),m())}));mxEvent.addListener(e,mxClient.IS_POINTER?"pointermove": "mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){p(100)}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){p(100);mxEvent.consume(a)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||p(30)}));var r=this.graph,v=r.getTolerance();r.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft= -r.container.scrollLeft;this.scrollTop=r.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-r.container.scrollLeft)<v&&Math.abs(this.scrollTop-r.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():p(30))}})}for(var d=this.toolbarItems,f=0,g=null,m=null,t=0;t<d.length;t++){var h=d[t];if("pages"==h){m=b.ownerDocument.createElement("div"); -m.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(m,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(m);var q=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ -1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");q.style.paddingLeft="0px";q.style.paddingRight="0px";h=mxUtils.bind(this,function(){m.innerHTML="";mxUtils.write(m,this.currentPage+1+" / "+this.diagrams.length);m.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=m.style.display;q.style.display=m.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, -mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==h){if(this.layersEnabled){var w=this.graph.getModel(),u=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g), -g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=u.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+ -"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){u.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});u.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h], -null!=h&&a(null==h.enabled||h.enabled?h.handler:function(){},h.image,h.title,h.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*f);null!=this.graphConfig.title&&(d=b.ownerDocument.createElement("div"),d.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",d.setAttribute("title",this.graphConfig.title),mxUtils.write(d,this.graphConfig.title),mxUtils.setOpacity(d, -70),e.appendChild(d));this.minToolbarWidth=34*f;var y=b.style.border,d=mxUtils.bind(this,function(){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px"; +r.container.scrollLeft;this.scrollTop=r.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-r.container.scrollLeft)<v&&Math.abs(this.scrollTop-r.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?m():p(30))}})}for(var c=this.toolbarItems,f=0,g=null,u=null,t=0;t<c.length;t++){var h=c[t];if("pages"==h){u=b.ownerDocument.createElement("div"); +u.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(u,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(u);var l=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ +1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");l.style.paddingLeft="0px";l.style.paddingRight="0px";h=mxUtils.bind(this,function(){u.innerHTML="";mxUtils.write(u,this.currentPage+1+" / "+this.diagrams.length);u.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=u.style.display;l.style.display=u.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, +mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==h){if(this.layersEnabled){var w=this.graph.getModel(),q=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g), +g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=q.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+ +"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){q.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});q.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h], +null!=h&&a(null==h.enabled||h.enabled?h.handler:function(){},h.image,h.title,h.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*f);null!=this.graphConfig.title&&(c=b.ownerDocument.createElement("div"),c.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",c.setAttribute("title",this.graphConfig.title),mxUtils.write(c,this.graphConfig.title),mxUtils.setOpacity(c, +70),e.appendChild(c));this.minToolbarWidth=34*f;var y=b.style.border,c=mxUtils.bind(this,function(){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px"; e.style.border="1px solid #d0d0d0";"bottom"==this.graphConfig["toolbar-position"]?e.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(e.style.marginTop=-this.toolbarHeight+"px",e.style.top=a.top+1+"px"):e.style.top=a.top+"px";"1px solid transparent"==y&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(e);var d=mxUtils.bind(this,function(){1!=this.graphConfig["toolbar-nohide"]&&(null!=e.parentNode&&e.parentNode.removeChild(e),null!=g&&(g.parentNode.removeChild(g), -g=null),b.style.border=y)});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==g)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})});mxEvent.addListener(b,"mouseenter",d)}; -GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,c){if(null==c){var k=mxEvent.getSource(e);"a"==k.nodeName.toLowerCase()&&(c=k.getAttribute("href"))}null!=b?null==c||a.isExternalProtocol(c)||a.isBlankLink(c)||window.setTimeout(function(){b.destroy()},0):null==c||!a.isCustomLink(c)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e)||("data:page/id,"==c.substring(0,13)?(k= -c.indexOf(","),this.selectPageById(c.substring(k+1))):a.handleCustomLink(c),mxEvent.consume(e))}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; +g=null),b.style.border=y)});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==g)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})});mxEvent.addListener(b,"mouseenter",c)}; +GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,d){if(null==d){var k=mxEvent.getSource(e);"a"==k.nodeName.toLowerCase()&&(d=k.getAttribute("href"))}null!=b?null==d||a.isExternalProtocol(d)||a.isBlankLink(d)||window.setTimeout(function(){b.destroy()},0):null==d||null!=b||!a.isCustomLink(d)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e)||(a.customLinkClicked(d),mxEvent.consume(e))}), +mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; GraphViewer.prototype.showLightbox=function(a,b,e){if("open"==this.graphConfig.lightbox||window.self!==window.top)if(null==this.lightboxWindow||this.lightboxWindow.closed){a=null!=a?a:null!=this.graphConfig.editable?this.graphConfig.editable:!0;e={client:1,lightbox:1,target:null!=e?e:"blank"};a&&(e.edit=this.graphConfig.edit||"_blank");if(null!=b?b:1)e.close=1;this.layersEnabled&&(e.layers=1);null!=this.graphConfig&&0!=this.graphConfig.nav&&(e.nav=1);null!=this.graphConfig&&null!=this.graphConfig.highlight&& (e.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(e.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):e.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(e.dev="1",e.drawdev= "1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(e)))}else this.lightboxWindow.focus();else this.showLocalLightbox()}; GraphViewer.prototype.showLocalLightbox=function(){var a=mxUtils.getDocumentScrollOrigin(document),b=document.createElement("div");mxClient.IS_QUIRKS?(b.style.position="absolute",b.style.left=a.x+"px",b.style.top=a.y+"px",b.style.width=document.body.offsetWidth+"px",b.style.height=document.body.offsetHeight+"px"):b.style.cssText="position:fixed;top:0;left:0;bottom:0;right:0;";b.style.zIndex=this.lightboxZIndex;b.style.backgroundColor="#000000";mxUtils.setOpacity(b,70);document.body.appendChild(b); -var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){c.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode|| -10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};Graph.prototype.shadowId="lightboxDropShadow";var c=new EditorUi(new Editor(!0),document.createElement("div"),!0);c.editor.editBlankUrl=this.editBlankUrl;Graph.prototype.shadowId="dropShadow";c.refresh=function(){};var k=mxUtils.bind(this,function(a){27==a.keyCode&& -c.destroy()}),l=c.destroy;c.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",k);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=!0;l.apply(this,arguments)};var p=c.editor.graph,r=p.container;r.style.overflow="hidden";this.lightboxChrome?(r.style.border="1px solid #c0c0c0",r.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",k)):(b.style.display="none",e.style.display="none"); -var v=this;p.getImageFromBundles=function(a){return v.getImageUrl(a)};var d=c.createTemporaryGraph;c.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return v.getImageUrl(a)};return a};this.graphConfig.move&&(p.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(r.style,"border-radius","4px"),r.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE|| -(mxUtils.setPrefixedStyle(r.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(r.style,"transition","all .25s ease-in-out"));this.addClickHandler(p,c);window.setTimeout(mxUtils.bind(this,function(){r.style.outline="none";r.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(r);document.body.appendChild(e);c.setFileData(this.xml);mxUtils.setPrefixedStyle(r.style,"transform","rotateY(0deg)");c.chromelessToolbar.style.bottom="60px";c.chromelessToolbar.style.zIndex= -this.lightboxZIndex;document.body.appendChild(c.chromelessToolbar);c.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(r.style.position="absolute",r.style.display="block",r.style.left=a.x+"px",r.style.top=a.y+"px",r.style.width=document.body.clientWidth-80+"px",r.style.height=document.body.clientHeight-80+"px",r.style.backgroundColor="white",c.chromelessToolbar.style.display="block",c.chromelessToolbar.style.position="absolute",c.chromelessToolbar.style.bottom="", -c.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");c.lightboxFit();c.chromelessResize();this.showLayers(p,this.graph);mxEvent.addListener(b,"click",function(){c.destroy()})}),0);return c};GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})}; -GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var c=document.getElementsByTagName("*"),b=[],e=0;e<c.length;e++){var k=c[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(c[e]))}return b}; -GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var c=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,c);null!=b&&b(e)};null!=c.url?GraphViewer.getUrl(c.url,function(a){k(a)}):k(c.xml)}}; +var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){d.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode|| +10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};Graph.prototype.shadowId="lightboxDropShadow";var d=new EditorUi(new Editor(!0),document.createElement("div"),!0);d.editor.editBlankUrl=this.editBlankUrl;Graph.prototype.shadowId="dropShadow";d.refresh=function(){};var k=mxUtils.bind(this,function(a){27==a.keyCode&& +d.destroy()}),m=d.destroy;d.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",k);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=!0;m.apply(this,arguments)};var p=d.editor.graph,r=p.container;r.style.overflow="hidden";this.lightboxChrome?(r.style.border="1px solid #c0c0c0",r.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",k)):(b.style.display="none",e.style.display="none"); +var v=this;p.getImageFromBundles=function(a){return v.getImageUrl(a)};var c=d.createTemporaryGraph;d.createTemporaryGraph=function(){var a=c.apply(this,arguments);a.getImageFromBundles=function(a){return v.getImageUrl(a)};return a};this.graphConfig.move&&(p.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(r.style,"border-radius","4px"),r.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE|| +(mxUtils.setPrefixedStyle(r.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(r.style,"transition","all .25s ease-in-out"));this.addClickHandler(p,d);window.setTimeout(mxUtils.bind(this,function(){r.style.outline="none";r.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(r);document.body.appendChild(e);d.setFileData(this.xml);mxUtils.setPrefixedStyle(r.style,"transform","rotateY(0deg)");d.chromelessToolbar.style.bottom="60px";d.chromelessToolbar.style.zIndex= +this.lightboxZIndex;document.body.appendChild(d.chromelessToolbar);d.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(r.style.position="absolute",r.style.display="block",r.style.left=a.x+"px",r.style.top=a.y+"px",r.style.width=document.body.clientWidth-80+"px",r.style.height=document.body.clientHeight-80+"px",r.style.backgroundColor="white",d.chromelessToolbar.style.display="block",d.chromelessToolbar.style.position="absolute",d.chromelessToolbar.style.bottom="", +d.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");d.lightboxFit();d.chromelessResize();this.showLayers(p,this.graph);mxEvent.addListener(b,"click",function(){d.destroy()})}),0);return d};GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})}; +GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var d=document.getElementsByTagName("*"),b=[],e=0;e<d.length;e++){var k=d[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(d[e]))}return b}; +GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var d=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,d);null!=b&&b(e)};null!=d.url?GraphViewer.getUrl(d.url,function(a){k(a)}):k(d.xml)}}; GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type="text/css";a.innerHTML="div.mxTooltip {\n-webkit-box-shadow: 3px 3px 12px #C0C0C0;\n-moz-box-shadow: 3px 3px 12px #C0C0C0;\nbox-shadow: 3px 3px 12px #C0C0C0;\nbackground: #FFFFCC;\nborder-style: solid;\nborder-width: 1px;\nborder-color: black;\nfont-family: Arial;\nfont-size: 8pt;\nposition: absolute;\ncursor: default;\npadding: 4px;\ncolor: black;}\ntd.mxPopupMenuIcon div {\nwidth:16px;\nheight:16px;}\nhtml div.mxPopupMenu {\n-webkit-box-shadow:2px 2px 3px #d5d5d5;\n-moz-box-shadow:2px 2px 3px #d5d5d5;\nbox-shadow:2px 2px 3px #d5d5d5;\n_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d0d0d0',Positive='true');\nbackground:white;\nposition:absolute;\nborder:3px solid #e7e7e7;\npadding:3px;}\nhtml table.mxPopupMenu {\nborder-collapse:collapse;\nmargin:0px;}\nhtml td.mxPopupMenuItem {\npadding:7px 30px 7px 30px;\nfont-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;}\nhtml td.mxPopupMenuIcon {\nbackground-color:white;\npadding:0px;}\ntd.mxPopupMenuIcon .geIcon {\npadding:2px;\npadding-bottom:4px;\nmargin:2px;\nborder:1px solid transparent;\nopacity:0.5;\n_width:26px;\n_height:26px;}\ntd.mxPopupMenuIcon .geIcon:hover {\nborder:1px solid gray;\nborder-radius:2px;\nopacity:1;}\nhtml tr.mxPopupMenuItemHover {\nbackground-color: #eeeeee;\ncolor: black;}\ntable.mxPopupMenu hr {\ncolor:#cccccc;\nbackground-color:#cccccc;\nborder:none;\nheight:1px;}\ntable.mxPopupMenu tr {\tfont-size:4pt;}\n.geDialog { font-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;\nborder:none;\nmargin:0px;}\n.geDialog {\tposition:absolute;\tbackground:white;\toverflow:hidden;\tpadding:30px;\tborder:1px solid #acacac;\t-webkit-box-shadow:0px 0px 2px 2px #d5d5d5;\t-moz-box-shadow:0px 0px 2px 2px #d5d5d5;\tbox-shadow:0px 0px 2px 2px #d5d5d5;\t_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d5d5d5', Positive='true');\tz-index: 2;}.geDialogClose {\tposition:absolute;\twidth:9px;\theight:9px;\topacity:0.5;\tcursor:pointer;\t_filter:alpha(opacity=50);}.geDialogClose:hover {\topacity:1;}.geDialogTitle {\tbox-sizing:border-box;\twhite-space:nowrap;\tbackground:rgb(229, 229, 229);\tborder-bottom:1px solid rgb(192, 192, 192);\tfont-size:15px;\tfont-weight:bold;\ttext-align:center;\tcolor:rgb(35, 86, 149);}.geDialogFooter {\tbackground:whiteSmoke;\twhite-space:nowrap;\ttext-align:right;\tbox-sizing:border-box;\tborder-top:1px solid #e5e5e5;\tcolor:darkGray;}\n.geBtn {\tbackground-color: #f5f5f5;\tborder-radius: 2px;\tborder: 1px solid #d8d8d8;\tcolor: #333;\tcursor: default;\tfont-size: 11px;\tfont-weight: bold;\theight: 29px;\tline-height: 27px;\tmargin: 0 0 0 8px;\tmin-width: 72px;\toutline: 0;\tpadding: 0 8px;\tcursor: pointer;}.geBtn:hover, .geBtn:focus {\t-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\t-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tbox-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tborder: 1px solid #c6c6c6;\tbackground-color: #f8f8f8;\tbackground-image: linear-gradient(#f8f8f8 0px,#f1f1f1 100%);\tcolor: #111;}.geBtn:disabled {\topacity: .5;}.gePrimaryBtn {\tbackground-color: #4d90fe;\tbackground-image: linear-gradient(#4d90fe 0px,#4787ed 100%);\tborder: 1px solid #3079ed;\tcolor: #fff;}.gePrimaryBtn:hover, .gePrimaryBtn:focus {\tbackground-color: #357ae8;\tbackground-image: linear-gradient(#4d90fe 0px,#357ae8 100%);\tborder: 1px solid #2f5bb7;\tcolor: #fff;}.gePrimaryBtn:disabled {\topacity: .5;}";document.getElementsByTagName("head")[0].appendChild(a)}catch(b){}}; -GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var c=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;c.open("GET",a);c.onload=function(){b(null!=c.getText?c.getText():c.responseText)};c.onerror=e;c.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; -(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,c){function k(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function l(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= +GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var d=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;d.open("GET",a);d.onload=function(){b(null!=d.getText?d.getText():d.responseText)};d.onerror=e;d.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; +(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,d){function k(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= new k,b.resizedAttached.add(c);else if(b.resizedAttached){b.resizedAttached.add(c);return}b.resizeSensor=document.createElement("div");b.resizeSensor.className="resize-sensor";b.resizeSensor.style.cssText="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";b.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;"></div></div><div class="resize-sensor-shrink" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s; width: 200%; height: 200%"></div></div>'; -b.appendChild(b.resizeSensor);"static"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var m=!1,p=function(){b.resizedAttached&&(m&&(b.resizedAttached.call(),m=!1),a(p))};a(p);var r,v,z,G,C=function(){if((z=b.offsetWidth)!=r||(G=b.offsetHeight)!=v)m=!0,r=z,v=G;g()},x=function(a,b,c){a.attachEvent? -a.attachEvent("on"+b,c):a.addEventListener(b,c)};x(d,"scroll",C);x(f,"scroll",C)}var r=function(){GraphViewer.resizeSensorEnabled&&c()},v=Object.prototype.toString.call(e),d="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(d)for(var v=0,f=e.length;v<f;v++)p(e[v],r);else p(e,r);this.detach=function(){if(d)for(var a=0,c=e.length;a<c;a++)b.detach(e[a]);else b.detach(e)}}; +b.appendChild(b.resizeSensor);"static"==m(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var p=!1,q=function(){b.resizedAttached&&(p&&(b.resizedAttached.call(),p=!1),a(q))};a(q);var r,u,v,G,E=function(){if((v=b.offsetWidth)!=r||(G=b.offsetHeight)!=u)p=!0,r=v,u=G;g()},x=function(a,b,c){a.attachEvent? +a.attachEvent("on"+b,c):a.addEventListener(b,c)};x(d,"scroll",E);x(f,"scroll",E)}var r=function(){GraphViewer.resizeSensorEnabled&&d()},v=Object.prototype.toString.call(e),c="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(c)for(var v=0,f=e.length;v<f;v++)p(e[v],r);else p(e,r);this.detach=function(){if(c)for(var a=0,d=e.length;a<d;a++)b.detach(e[a]);else b.detach(e)}}; b.detach=function(a){a.resizeSensor&&(a.removeChild(a.resizeSensor),delete a.resizeSensor,delete a.resizedAttached)};window.ResizeSensor=b})(); diff --git a/src/main/webapp/js/atlas.min.js b/src/main/webapp/js/atlas.min.js index 56f8ced3aebcae34774411c75cef00cbd317c444..eb331d5dd6725ef0b5de187ad7ca781469e4f23e 100644 --- a/src/main/webapp/js/atlas.min.js +++ b/src/main/webapp/js/atlas.min.js @@ -1981,14 +1981,14 @@ this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView")) Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(mxUtils.sortCells(this.graph.model.getTopmostCells(this.graph.getSelectionCells())));if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)a.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),a.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);a.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");a.setAttribute("gridSize", this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width); a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":"hidden",this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFilename=function(a){this.filename=a}; -Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,d){c.undoableEditHappened(d.getProperty("edit"))};var d=mxUtils.bind(this,function(a,c){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,d);a.getView().addListener(mxEvent.UNDO,d);d=function(b,c){for(var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes),f=a.getModel(),g=[],h=0;h<d.length;h++)(f.isVertex(d[h])||f.isEdge(d[h]))&&null!=a.view.getState(d[h])&& -g.push(d[h]);a.setSelectionCells(g)};c.addListener(mxEvent.UNDO,d);c.addListener(mxEvent.REDO,d);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; +Editor.prototype.createUndoManager=function(){var a=this.graph,c=new mxUndoManager;this.undoListener=function(a,d){c.undoableEditHappened(d.getProperty("edit"))};var d=mxUtils.bind(this,function(a,c){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,d);a.getView().addListener(mxEvent.UNDO,d);d=function(b,c){for(var d=a.getSelectionCellsForChanges(c.getProperty("edit").changes),f=a.getModel(),g=[],k=0;k<d.length;k++)(f.isVertex(d[k])||f.isEdge(d[k]))&&null!=a.view.getState(d[k])&& +g.push(d[k]);a.setSelectionCells(g)};c.addListener(mxEvent.UNDO,d);c.addListener(mxEvent.REDO,d);return c};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)}; -function Dialog(a,c,d,b,f,e,k,g){var h=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(h=80);d+=h;b+=h;var l=d,m=b,n=Math.max(document.body.clientHeight,document.documentElement.clientHeight),p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((n-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,n-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& -(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=n+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var r=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=r.x+"px";this.bg.style.top=r.y+"px";p+=r.x;q+=r.y;f&&document.body.appendChild(this.bg);var t=a.createDiv("geDialog");f=this.getPosition(p,q, -d,b);p=f.x;q=f.y;t.style.width=d+"px";t.style.height=b+"px";t.style.left=p+"px";t.style.top=q+"px";t.style.zIndex=this.zIndex;t.appendChild(c);document.body.appendChild(t);!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=p+d+38-h+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", +function Dialog(a,c,d,b,f,e,h,g){var k=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(k=80);d+=k;b+=k;var l=d,m=b,n=Math.max(document.body.clientHeight,document.documentElement.clientHeight),p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2)),q=Math.max(1,Math.round((n-b-a.footerHeight)/3));mxClient.IS_QUIRKS||(c.style.maxHeight="100%");d=Math.min(d,document.body.scrollWidth-64);b=Math.min(b,n-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& +(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=n+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var t=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=t.x+"px";this.bg.style.top=t.y+"px";p+=t.x;q+=t.y;f&&document.body.appendChild(this.bg);var r=a.createDiv("geDialog");f=this.getPosition(p,q, +d,b);p=f.x;q=f.y;r.style.width=d+"px";r.style.height=b+"px";r.style.left=p+"px";r.style.top=q+"px";r.style.zIndex=this.zIndex;r.appendChild(c);document.body.appendChild(r);!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");e&&(e=document.createElement("img"),e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("close")),e.className="geDialogClose",e.style.top=q+14+"px",e.style.left=p+d+38-k+"px",e.style.zIndex=this.zIndex,mxEvent.addListener(e,"click", mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(e),this.dialogImg=e,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(b){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){n=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=n+"px";p=Math.max(1,Math.round((document.body.clientWidth-d-64)/2));q=Math.max(1,Math.round((n-b-a.footerHeight)/3));d=Math.min(l,document.body.scrollWidth-64);b= -Math.min(m,n-64);var e=this.getPosition(p,q,d,b);p=e.x;q=e.y;t.style.left=p+"px";t.style.top=q+"px";t.style.width=d+"px";t.style.height=b+"px";!g&&c.clientHeight>t.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=p+d+38-h+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=k;this.container=t;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +Math.min(m,n-64);var e=this.getPosition(p,q,d,b);p=e.x;q=e.y;r.style.left=p+"px";r.style.top=q+"px";r.style.width=d+"px";r.style.height=b+"px";!g&&c.clientHeight>r.clientHeight-64&&(c.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=q+14+"px",this.dialogImg.style.left=p+d+38-k+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=h;this.container=r;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -1999,29 +1999,29 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,c){return new mxPoint(a,c)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; var PrintDialog=function(a,c){this.create(a,c)}; -PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(n.value)/100;isNaN(c)&&(c=1,n.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var k=g.checked?1:parseInt(m.value);isNaN(k)||(f=mxUtils.getScaleForPageCount(k,d,e))}d.getGraphBounds();var h=k=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),k-=c.x*e.width,h-=c.y*e.height): -b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,k,h,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var k=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var h=document.createElement("span");mxUtils.write(h," "+mxResources.get("fitPage")); -f.appendChild(h);mxEvent.addListener(h,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);k.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);h=document.createElement("span");mxUtils.write(h," "+mxResources.get("posterPrint")+":");f.appendChild(h);mxEvent.addListener(h, -"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);k.appendChild(b);mxEvent.addListener(l,"change", -function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var n=document.createElement("input");n.setAttribute("value","100 %");n.setAttribute("size","5");n.style.width="50px";f.appendChild(n);b.appendChild(f);k.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; -f.style.paddingTop="20px";f.setAttribute("align","right");h=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&f.appendChild(h);if(PrintDialog.previewEnabled){var p=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});p.className="geBtn";f.appendChild(p)}p=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});p.className="geBtn gePrimaryBtn";f.appendChild(p);a.editor.cancelFirst|| -f.appendChild(h);b.appendChild(f);k.appendChild(b);e.appendChild(k);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; -PrintDialog.createPrintPreview=function(a,c,d,b,f,e,k){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=k;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return c}; +PrintDialog.prototype.create=function(a){function c(a){var b=g.checked||l.checked,c=parseInt(n.value)/100;isNaN(c)&&(c=1,n.value="100%");var c=.75*c,e=d.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,f=1/d.pageScale;if(b){var h=g.checked?1:parseInt(m.value);isNaN(h)||(f=mxUtils.getScaleForPageCount(h,d,e))}d.getGraphBounds();var k=h=0,e=mxRectangle.fromRectangle(e);e.width=Math.ceil(e.width*c);e.height=Math.ceil(e.height*c);f*=c;!b&&d.pageVisible?(c=d.getPageLayout(),h-=c.x*e.width,k-=c.y*e.height): +b=!0;b=PrintDialog.createPrintPreview(d,f,e,0,h,k,b);b.open();a&&PrintDialog.printPreview(b)}var d=a.editor.graph,b,f,e=document.createElement("table");e.style.width="100%";e.style.height="100%";var h=document.createElement("tbody");b=document.createElement("tr");var g=document.createElement("input");g.setAttribute("type","checkbox");f=document.createElement("td");f.setAttribute("colspan","2");f.style.fontSize="10pt";f.appendChild(g);var k=document.createElement("span");mxUtils.write(k," "+mxResources.get("fitPage")); +f.appendChild(k);mxEvent.addListener(k,"click",function(a){g.checked=!g.checked;l.checked=!g.checked;mxEvent.consume(a)});mxEvent.addListener(g,"change",function(){l.checked=!g.checked});b.appendChild(f);h.appendChild(b);b=b.cloneNode(!1);var l=document.createElement("input");l.setAttribute("type","checkbox");f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(l);k=document.createElement("span");mxUtils.write(k," "+mxResources.get("posterPrint")+":");f.appendChild(k);mxEvent.addListener(k, +"click",function(a){l.checked=!l.checked;g.checked=!l.checked;mxEvent.consume(a)});b.appendChild(f);var m=document.createElement("input");m.setAttribute("value","1");m.setAttribute("type","number");m.setAttribute("min","1");m.setAttribute("size","4");m.setAttribute("disabled","disabled");m.style.width="50px";f=document.createElement("td");f.style.fontSize="10pt";f.appendChild(m);mxUtils.write(f," "+mxResources.get("pages")+" (max)");b.appendChild(f);h.appendChild(b);mxEvent.addListener(l,"change", +function(){l.checked?m.removeAttribute("disabled"):m.setAttribute("disabled","disabled");g.checked=!l.checked});b=b.cloneNode(!1);f=document.createElement("td");mxUtils.write(f,mxResources.get("pageScale")+":");b.appendChild(f);f=document.createElement("td");var n=document.createElement("input");n.setAttribute("value","100 %");n.setAttribute("size","5");n.style.width="50px";f.appendChild(n);b.appendChild(f);h.appendChild(b);b=document.createElement("tr");f=document.createElement("td");f.colSpan=2; +f.style.paddingTop="20px";f.setAttribute("align","right");k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});k.className="geBtn";a.editor.cancelFirst&&f.appendChild(k);if(PrintDialog.previewEnabled){var p=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)});p.className="geBtn";f.appendChild(p)}p=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});p.className="geBtn gePrimaryBtn";f.appendChild(p);a.editor.cancelFirst|| +f.appendChild(k);b.appendChild(f);h.appendChild(b);e.appendChild(h);this.container=e};PrintDialog.printPreview=function(a){if(null!=a.wnd){var c=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(c,500):c()}}; +PrintDialog.createPrintPreview=function(a,c,d,b,f,e,h){c=new mxPrintPreview(a,c,d,b,f,e);c.title=mxResources.get("preview");c.printBackgroundImage=!0;c.autoOrigin=h;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";c.backgroundColor=a;var g=c.writeHead;c.writeHead=function(a){g.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return c}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,k=document.createElement("table");k.style.width= -"100%";k.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var h=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); +var PageSetupDialog=function(a){function c(){null==m||m==mxConstants.NONE?(l.style.backgroundColor="",l.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(l.style.backgroundColor=m,l.style.backgroundImage="")}function d(){null==q?(p.removeAttribute("title"),p.style.fontSize="",p.innerHTML=mxResources.get("change")+"..."):(p.setAttribute("title",q.src),p.style.fontSize="11px",p.innerHTML=q.src.substring(0,42)+"...")}var b=a.editor.graph,f,e,h=document.createElement("table");h.style.width= +"100%";h.style.height="100%";var g=document.createElement("tbody");f=document.createElement("tr");e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";mxUtils.write(e,mxResources.get("paperSize")+":");f.appendChild(e);e=document.createElement("td");e.style.verticalAlign="top";e.style.fontSize="10pt";var k=PageSetupDialog.addPageFormatPanel(e,"pagesetupdialog",b.pageFormat);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td"); mxUtils.write(e,mxResources.get("background")+":");f.appendChild(e);e=document.createElement("td");e.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var l=document.createElement("button");l.style.width="18px";l.style.height="18px";l.style.marginRight="20px";l.style.backgroundPosition="center center";l.style.backgroundRepeat="no-repeat";var m=b.background;c();mxEvent.addListener(l,"click",function(b){a.pickColor(m||"none",function(a){m=a;c()});mxEvent.consume(b)}); e.appendChild(l);mxUtils.write(e,mxResources.get("gridSize")+":");var n=document.createElement("input");n.setAttribute("type","number");n.setAttribute("min","0");n.style.width="40px";n.style.marginLeft="6px";n.value=b.getGridSize();e.appendChild(n);mxEvent.addListener(n,"change",function(){var a=parseInt(n.value);n.value=Math.max(1,isNaN(a)?b.getGridSize():a)});f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");mxUtils.write(e,mxResources.get("image")+ -":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var r= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});r.className="geBtn";a.editor.cancelFirst&&e.appendChild(r);var t=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,q,h.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& -c.ignoreColor&&c.ignoreImage||b.model.execute(c)});t.className="geBtn gePrimaryBtn";e.appendChild(t);a.editor.cancelFirst||e.appendChild(r);f.appendChild(e);g.appendChild(f);k.appendChild(g);this.container=k}; -PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||n!=document.activeElement&&p!=document.activeElement){a=!1;for(b=0;b<r.length;b++)c=r[b],u?"custom"==c.key&&(g.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==d.width?(d=mxRectangle.fromRectangle(d),d.width=827):826==d.height&&(d=mxRectangle.fromRectangle(d),d.height=827):"a5"==c.key&&(584==d.width?(d=mxRectangle.fromRectangle(d),d.width=583):584==d.height&&(d=mxRectangle.fromRectangle(d),d.height=583)),d.width==c.format.width&& -d.height==c.format.height?(g.value=c.key,e.setAttribute("checked","checked"),e.defaultChecked=!0,e.checked=!0,k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1,a=!0):d.width==c.format.height&&d.height==c.format.width&&(g.value=c.key,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,k.setAttribute("checked","checked"),k.defaultChecked=!0,a=k.checked=!0));a?(h.style.display="",m.style.display="none"):(n.value=d.width/100,p.value=d.height/100,e.setAttribute("checked","checked"), -g.value="custom",h.style.display="none",m.style.display="")}}c="format-"+c;var e=document.createElement("input");e.setAttribute("name",c);e.setAttribute("type","radio");e.setAttribute("value","portrait");var k=document.createElement("input");k.setAttribute("name",c);k.setAttribute("type","radio");k.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var h=document.createElement("div");h.style.marginLeft="4px";h.style.width="210px"; -h.style.height="24px";e.style.marginRight="6px";h.appendChild(e);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));h.appendChild(c);k.style.marginLeft="10px";k.style.marginRight="6px";h.appendChild(k);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));h.appendChild(l);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var n=document.createElement("input"); -n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");h.style.display="none";m.style.display="none";for(var q={},r=PageSetupDialog.getFormats(),t=0;t<r.length;t++){var w=r[t];q[w.key]=w;var v=document.createElement("option");v.setAttribute("value",w.key);mxUtils.write(v,w.title);g.appendChild(v)}var u=!1;f();a.appendChild(g);mxUtils.br(a); -a.appendChild(h);a.appendChild(m);var z=d,x=function(a,c){var e=q[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",h.style.display=""):(h.style.display="none",m.style.display="");isNaN(parseFloat(n.value))&&(n.value=d.width/100);isNaN(parseFloat(p.value))&&(p.value=d.height/100);e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&k.checked&&(e=new mxRectangle(0,0,e.height,e.width)); -c&&u||e.width==z.width&&e.height==z.height||(z=e,null!=b&&b(z))};mxEvent.addListener(c,"click",function(a){e.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){k.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",x);mxEvent.addListener(n,"click",x);mxEvent.addListener(p,"blur",x);mxEvent.addListener(p,"click",x);mxEvent.addListener(k,"change",x);mxEvent.addListener(e,"change",x);mxEvent.addListener(g,"change",function(a){u="custom"==g.value;x(a,!0)});x(); +":");f.appendChild(e);e=document.createElement("td");var p=document.createElement("a");p.style.textDecoration="underline";p.style.cursor="pointer";p.style.color="#a0a0a0";var q=b.backgroundImage;mxEvent.addListener(p,"click",function(b){a.showBackgroundImageDialog(function(a){q=a;d()});mxEvent.consume(b)});d();e.appendChild(p);f.appendChild(e);g.appendChild(f);f=document.createElement("tr");e=document.createElement("td");e.colSpan=2;e.style.paddingTop="16px";e.setAttribute("align","right");var t= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});t.className="geBtn";a.editor.cancelFirst&&e.appendChild(t);var r=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();b.gridSize!==n.value&&b.setGridSize(parseInt(n.value));var c=new ChangePageSetup(a,m,q,k.get());c.ignoreColor=b.background==m;c.ignoreImage=(null!=b.backgroundImage?b.backgroundImage.src:null)===(null!=q?q.src:null);b.pageFormat.width==c.previousFormat.width&&b.pageFormat.height==c.previousFormat.height&& +c.ignoreColor&&c.ignoreImage||b.model.execute(c)});r.className="geBtn gePrimaryBtn";e.appendChild(r);a.editor.cancelFirst||e.appendChild(t);f.appendChild(e);g.appendChild(f);h.appendChild(g);this.container=h}; +PageSetupDialog.addPageFormatPanel=function(a,c,d,b){function f(a,b,c){if(c||n!=document.activeElement&&p!=document.activeElement){a=!1;for(b=0;b<t.length;b++)c=t[b],u?"custom"==c.key&&(g.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==d.width?(d=mxRectangle.fromRectangle(d),d.width=827):826==d.height&&(d=mxRectangle.fromRectangle(d),d.height=827):"a5"==c.key&&(584==d.width?(d=mxRectangle.fromRectangle(d),d.width=583):584==d.height&&(d=mxRectangle.fromRectangle(d),d.height=583)),d.width==c.format.width&& +d.height==c.format.height?(g.value=c.key,e.setAttribute("checked","checked"),e.defaultChecked=!0,e.checked=!0,h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1,a=!0):d.width==c.format.height&&d.height==c.format.width&&(g.value=c.key,e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1,h.setAttribute("checked","checked"),h.defaultChecked=!0,a=h.checked=!0));a?(k.style.display="",m.style.display="none"):(n.value=d.width/100,p.value=d.height/100,e.setAttribute("checked","checked"), +g.value="custom",k.style.display="none",m.style.display="")}}c="format-"+c;var e=document.createElement("input");e.setAttribute("name",c);e.setAttribute("type","radio");e.setAttribute("value","portrait");var h=document.createElement("input");h.setAttribute("name",c);h.setAttribute("type","radio");h.setAttribute("value","landscape");var g=document.createElement("select");g.style.marginBottom="8px";g.style.width="202px";var k=document.createElement("div");k.style.marginLeft="4px";k.style.width="210px"; +k.style.height="24px";e.style.marginRight="6px";k.appendChild(e);c=document.createElement("span");c.style.maxWidth="100px";mxUtils.write(c,mxResources.get("portrait"));k.appendChild(c);h.style.marginLeft="10px";h.style.marginRight="6px";k.appendChild(h);var l=document.createElement("span");l.style.width="100px";mxUtils.write(l,mxResources.get("landscape"));k.appendChild(l);var m=document.createElement("div");m.style.marginLeft="4px";m.style.width="210px";m.style.height="24px";var n=document.createElement("input"); +n.setAttribute("size","7");n.style.textAlign="right";m.appendChild(n);mxUtils.write(m," in x ");var p=document.createElement("input");p.setAttribute("size","7");p.style.textAlign="right";m.appendChild(p);mxUtils.write(m," in");k.style.display="none";m.style.display="none";for(var q={},t=PageSetupDialog.getFormats(),r=0;r<t.length;r++){var v=t[r];q[v.key]=v;var w=document.createElement("option");w.setAttribute("value",v.key);mxUtils.write(w,v.title);g.appendChild(w)}var u=!1;f();a.appendChild(g);mxUtils.br(a); +a.appendChild(k);a.appendChild(m);var z=d,x=function(a,c){var e=q[g.value];null!=e.format?(n.value=e.format.width/100,p.value=e.format.height/100,m.style.display="none",k.style.display=""):(k.style.display="none",m.style.display="");isNaN(parseFloat(n.value))&&(n.value=d.width/100);isNaN(parseFloat(p.value))&&(p.value=d.height/100);e=new mxRectangle(0,0,Math.floor(100*parseFloat(n.value)),Math.floor(100*parseFloat(p.value)));"custom"!=g.value&&h.checked&&(e=new mxRectangle(0,0,e.height,e.width)); +c&&u||e.width==z.width&&e.height==z.height||(z=e,null!=b&&b(z))};mxEvent.addListener(c,"click",function(a){e.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(l,"click",function(a){h.checked=!0;x(a);mxEvent.consume(a)});mxEvent.addListener(n,"blur",x);mxEvent.addListener(n,"click",x);mxEvent.addListener(p,"blur",x);mxEvent.addListener(p,"click",x);mxEvent.addListener(h,"change",x);mxEvent.addListener(e,"change",x);mxEvent.addListener(g,"change",function(a){u="custom"==g.value;x(a,!0)});x(); return{set:function(a){d=a;f(null,null,!0)},get:function(){return z},widthInput:n,heightInput:p}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:"US-Tabloid (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)", format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},{key:"custom",title:mxResources.get("custom"),format:null}]}; @@ -2032,33 +2032,33 @@ null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackground d="url("+this.gridImage+")";var f=c=0;null!=a.view.backgroundPageShape&&(f=this.getBackgroundPageBounds(),c=1+f.x,f=1+f.y);e=-Math.round(e-mxUtils.mod(this.translate.x*this.scale-c,e))+"px "+-Math.round(e-mxUtils.mod(this.translate.y*this.scale-f,e))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=e,a.view.backgroundPageShape.node.style.backgroundImage=d,a.view.backgroundPageShape.node.style.backgroundColor= b,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=e,c.style.backgroundColor=b,c.style.backgroundImage=d)};mxGraphView.prototype.createSvgGrid=function(a){for(var b=this.graph.gridSize*this.scale;b<this.minGridSize;)b*=2;for(var c=this.gridSteps*b,d=[],e=1;e<this.gridSteps;e++){var g=e*b;d.push("M 0 "+g+" L "+c+" "+g+" M "+g+" 0 L "+g+" "+c)}return'<svg width="'+ c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+d.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(b,c){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= -this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var e=this.gridSize*this.view.scale*this.view.gridSteps,e=-Math.round(e-mxUtils.mod(this.view.translate.x*this.view.scale+b,e))+"px "+-Math.round(e-mxUtils.mod(this.view.translate.y*this.view.scale+c,e))+"px";d.style.backgroundPosition=e}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,e=this.view.translate,f=this.pageFormat,g=d*this.pageScale,k=this.view.getBackgroundPageBounds();b=k.width;c=k.height;var h= -new mxRectangle(d*e.x,d*e.y,f.width*g,f.height*g),l=(a=a&&Math.min(h.width,h.height)>this.minPageBreakDist)?Math.ceil(c/h.height)-1:0,v=a?Math.ceil(b/h.width)-1:0,u=k.x+b,z=k.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<v&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var b=a==this.horizontalPageBreaks?l:v,c=0;c<=b;c++){var d=a==this.horizontalPageBreaks?[new mxPoint(Math.round(k.x),Math.round(k.y+(c+1)*h.height)), -new mxPoint(Math.round(u),Math.round(k.y+(c+1)*h.height))]:[new mxPoint(Math.round(k.x+(c+1)*h.width),Math.round(k.y)),new mxPoint(Math.round(k.x+(c+1)*h.width),Math.round(z))];null!=a[c]?(a[c].points=d,a[c].redraw()):(d=new mxPolyline(d,this.pageBreakColor),d.dialect=this.dialect,d.isDashed=this.pageBreakDashed,d.pointerEvents=!1,d.init(this.view.backgroundPane),d.redraw(),a[c]=d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; -var c=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,d){for(var e=0;e<b.length;e++)if(this.graph.getModel().isVertex(b[e])){var f=this.graph.getCellGeometry(b[e]);if(null!=f&&f.relative)return!1}return c.apply(this,arguments)};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()? -!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,e=this.graph.pageScale,f=d.width*e,d=d.height*e,e=Math.floor(Math.min(0,b)/f),k=Math.floor(Math.min(0, -c)/d);return new mxRectangle(this.scale*(this.translate.x+e*f),this.scale*(this.translate.y+k*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/f)-e)*f,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-k)*d)};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,c){b.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= -a+"px",this.view.backgroundPageShape.node.style.marginTop=c+"px")};var f=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,e,k){var g=f.apply(this,arguments);null==k||k||mxEvent.addListener(g,"mousedown",function(a){mxEvent.consume(a)});return g};var e=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=e.apply(this,arguments),f=b.getParent(d); -if(null==c||c!=d&&c!=f)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(f)&&b.isVertex(f)&&!this.graph.isContainer(f);)d=f,f=this.graph.getModel().getParent(d);return d};var k=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=k.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),e=d.getParent(a);null!=e;){if(this.graph.isCellSelected(e)&&d.isVertex(e)){c=!0;break}e=d.getParent(e)}return c};mxGraphHandler.prototype.selectDelayed= +this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var e=this.gridSize*this.view.scale*this.view.gridSteps,e=-Math.round(e-mxUtils.mod(this.view.translate.x*this.view.scale+b,e))+"px "+-Math.round(e-mxUtils.mod(this.view.translate.y*this.view.scale+c,e))+"px";d.style.backgroundPosition=e}};mxGraph.prototype.updatePageBreaks=function(a,b,c){var d=this.view.scale,e=this.view.translate,g=this.pageFormat,f=d*this.pageScale,h=this.view.getBackgroundPageBounds();b=h.width;c=h.height;var k= +new mxRectangle(d*e.x,d*e.y,g.width*f,g.height*f),l=(a=a&&Math.min(k.width,k.height)>this.minPageBreakDist)?Math.ceil(c/k.height)-1:0,w=a?Math.ceil(b/k.width)-1:0,u=h.x+b,z=h.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var b=a==this.horizontalPageBreaks?l:w,c=0;c<=b;c++){var d=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*k.height)), +new mxPoint(Math.round(u),Math.round(h.y+(c+1)*k.height))]:[new mxPoint(Math.round(h.x+(c+1)*k.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*k.width),Math.round(z))];null!=a[c]?(a[c].points=d,a[c].redraw()):(d=new mxPolyline(d,this.pageBreakColor),d.dialect=this.dialect,d.isDashed=this.pageBreakDashed,d.pointerEvents=!1,d.init(this.view.backgroundPane),d.redraw(),a[c]=d)}for(c=b;c<a.length;c++)a[c].destroy();a.splice(b,a.length-b)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; +var c=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,b,d){for(var e=0;e<b.length;e++)if(this.graph.getModel().isVertex(b[e])){var g=this.graph.getCellGeometry(b[e]);if(null!=g&&g.relative)return!1}return c.apply(this,arguments)};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments);a.intersects=mxUtils.bind(this,function(b,c){return this.isConnecting()? +!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),b=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,d=this.graph.pageFormat,e=this.graph.pageScale,f=d.width*e,d=d.height*e,e=Math.floor(Math.min(0,b)/f),h=Math.floor(Math.min(0, +c)/d);return new mxRectangle(this.scale*(this.translate.x+e*f),this.scale*(this.translate.y+h*d),this.scale*(Math.ceil(Math.max(1,b+a.width/this.scale)/f)-e)*f,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/d)-h)*d)};var b=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,c){b.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= +a+"px",this.view.backgroundPageShape.node.style.marginTop=c+"px")};var f=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,b,c,d,e,h){var g=f.apply(this,arguments);null==h||h||mxEvent.addListener(g,"mousedown",function(a){mxEvent.consume(a)});return g};var e=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var b=this.graph.getModel(),c=b.getParent(this.graph.getSelectionCell()),d=e.apply(this,arguments),g=b.getParent(d); +if(null==c||c!=d&&c!=g)for(;!this.graph.isCellSelected(d)&&!this.graph.isCellSelected(g)&&b.isVertex(g)&&!this.graph.isContainer(g);)d=g,g=this.graph.getModel().getParent(d);return d};var h=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,b){var c=h.apply(this,arguments);if(!c)for(var d=this.graph.getModel(),e=d.getParent(a);null!=e;){if(this.graph.isCellSelected(e)&&d.isVertex(e)){c=!0;break}e=d.getParent(e)}return c};mxGraphHandler.prototype.selectDelayed= function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var b=a.getCell();null==b&&(b=this.cell);var c=this.graph.view.getState(b);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),d=c.getParent(b);!this.graph.isCellSelected(d)&&c.isVertex(d);)b=d,d=c.getParent(b);this.graph.selectCellForEvent(b,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var b=this.graph.getModel(),c=b.getParent(a);b.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&& (a=c),c=b.getParent(c);return a}})();EditorUi=function(a,c,d){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=c||document.body;var b=this.editor.graph;b.lightbox=d;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,b.isEnabled=function(){return!1},b.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var f=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||b.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=f,this.menubarContainer.onmousedown= f,this.toolbarContainer.onselectstart=f,this.toolbarContainer.onmousedown=f,this.diagramContainer.onselectstart=f,this.diagramContainer.onmousedown=f,this.sidebarContainer.onselectstart=f,this.sidebarContainer.onmousedown=f,this.formatContainer.onselectstart=f,this.formatContainer.onmousedown=f,this.footerContainer.onselectstart=f,this.footerContainer.onmousedown=f,null!=this.tabContainer&&(this.tabContainer.onselectstart=f));!this.editor.chromeless||this.editor.editable?(c=function(a){var b=mxEvent.getSource(a); if("A"==b.nodeName)for(;null!=b;){if("geHint"==b.className)return!0;b=b.parentNode}return f(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",c):this.diagramContainer.oncontextmenu=c):b.panningHandler.usePopupTrigger=!1;b.init(this.diagramContainer);mxClient.IS_SVG&&null!=b.view.getDrawPane()&&(c=b.view.getDrawPane().ownerSVGElement,null!=c&&(c.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); -mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var e=!1,k=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,b){return e||k.apply(this,arguments)};this.keydownHandler= +mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var b=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-b.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-b.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var e=!1,h=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,b){return e||h.apply(this,arguments)};this.keydownHandler= mxUtils.bind(this,function(a){32==a.which?(e=!0,this.hoverIcons.reset(),b.container.style.cursor="move",b.isEditing()||mxEvent.getSource(a)!=b.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){b.container.style.cursor="";e=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var g=b.panningHandler.isForcePanningEvent;b.panningHandler.isForcePanningEvent= -function(a){return g.apply(this,arguments)||e||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var h=b.cellEditor.isStopEditingEvent;b.cellEditor.isStopEditingEvent=function(a){return h.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; +function(a){return g.apply(this,arguments)||e||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var k=b.cellEditor.isStopEditingEvent;b.cellEditor.isStopEditingEvent=function(a){return k.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; var l=!1,m=null,n=null,p=null,q=mxUtils.bind(this,function(){if(null!=this.toolbar&&l!=b.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,c=[];null!=a;){var d=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),c.push(a));a=d}a=this.toolbar.fontMenu;d=this.toolbar.sizeMenu;if(null==p)this.toolbar.createTextToolbar();else{for(var e=0;e<p.length;e++)this.toolbar.container.appendChild(p[e]);this.toolbar.fontMenu=m;this.toolbar.sizeMenu= -n}l=b.cellEditor.isContentEditing();m=a;n=d;p=c}}),r=this,t=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){t.apply(this,arguments);q();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=r.toolbar)){var d=c.fontFamily;"'"==d.charAt(0)&&(d=d.substring(1));"'"==d.charAt(d.length-1)&&(d= -d.substring(0,d.length-1));r.toolbar.setFontName(d);r.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",c);mxEvent.addListener(b.cellEditor.textarea,"touchend",c);mxEvent.addListener(b.cellEditor.textarea,"mouseup",c);mxEvent.addListener(b.cellEditor.textarea,"keyup",c);c()}};var w=b.cellEditor.stopEditing;b.cellEditor.stopEditing=function(a,b){w.apply(this,arguments);q()};b.container.setAttribute("tabindex","0");b.container.style.cursor="default"; -if(window.self===window.top&&null!=b.container.parentNode)try{b.container.focus()}catch(B){}var v=b.fireMouseEvent;b.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();v.apply(this,arguments)};b.popupMenuHandler.autoExpand=!0;null!=this.menus&&(b.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){b.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); -this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),z="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=b.view.getState(a);if(null!=c){a=a.clone();a.style="";a=b.getCellStyle(a);var d=[],e=[],f;for(f in c.style)a[f]!=c.style[f]&&(d.push(c.style[f]),e.push(f));f=b.getModel().getStyle(c.cell);for(var g=null!=f?f.split(";"):[],k=0;k<g.length;k++){var h=g[k], -l=h.indexOf("=");0<=l&&(f=h.substring(0,l),h=h.substring(l+1),null!=a[f]&&"none"==h&&(d.push(h),e.push(f)))}b.getModel().isEdge(c.cell)?b.currentEdgeStyle={}:b.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",e,"values",d,"cells",[c.cell]))}};this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var x= -["fontFamily","fontSize","fontColor"],C="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),A=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["opacity"],["align"],["html"]];for(a=0;a<A.length;a++)for(c=0;c<A[a].length;c++)u.push(A[a][c]);for(a=0;a<z.length;a++)0>mxUtils.indexOf(u,z[a])&&u.push(z[a]);var D=function(a,c){var d=b.getModel(); -d.beginUpdate();try{if(c)for(var e=d.isEdge(h),f=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],g=0;g<e.length;g++){var k=f[e[g]];null!=k&&b.setCellStyles(e[g],k,a)}else for(k=0;k<a.length;k++){for(var h=a[k],l=d.getStyle(h),m=null!=l?l.split(";"):[],G=u.slice(),g=0;g<m.length;g++){var p=m[g],y=p.indexOf("=");if(0<=y){var n=p.substring(0,y),R=mxUtils.indexOf(G,n);0<=R&&G.splice(R,1);for(var r=0;r<A.length;r++){var q=A[r];if(0<=mxUtils.indexOf(q,n))for(var t=0;t< -q.length;t++){var B=mxUtils.indexOf(G,q[t]);0<=B&&G.splice(B,1)}}}}for(var f=(e=d.isEdge(h))?b.currentEdgeStyle:b.currentVertexStyle,C=d.getStyle(h),g=0;g<G.length;g++){var n=G[g],w=f[n];null==w||"shape"==n&&!e||e&&!(0>mxUtils.indexOf(z,n))||(C=mxUtils.setStyle(C,n,w))}d.setStyle(h,C)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){D(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){D(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT, -function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));D(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,f=!1;if(0<d.length)for(var g=0;g<d.length&&(e=b.getModel().isVertex(d[g])||e,!(f=b.getModel().isEdge(d[g])||f)||!e);g++);else f=e=!0;for(var d=c.getProperty("keys"),k=c.getProperty("values"),g=0;g<d.length;g++){var h=0<=mxUtils.indexOf(x,d[g]);if("strokeColor"!=d[g]||null!=k[g]&&"none"!= -k[g])if(0<=mxUtils.indexOf(z,d[g]))f||0<=mxUtils.indexOf(C,d[g])?null==k[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=k[g]:e&&0<=mxUtils.indexOf(u,d[g])&&(null==k[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=k[g]);else if(0<=mxUtils.indexOf(u,d[g])){if(e||h)null==k[g]?delete b.currentVertexStyle[d[g]]:b.currentVertexStyle[d[g]]=k[g];if(f||h||0<=mxUtils.indexOf(C,d[g]))null==k[g]?delete b.currentEdgeStyle[d[g]]:b.currentEdgeStyle[d[g]]=k[g]}}null!=this.toolbar&&(this.toolbar.setFontName(b.currentVertexStyle.fontFamily|| +n}l=b.cellEditor.isContentEditing();m=a;n=d;p=c}}),t=this,r=b.cellEditor.startEditing;b.cellEditor.startEditing=function(){r.apply(this,arguments);q();if(b.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=b.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=t.toolbar)){var d=c.fontFamily;"'"==d.charAt(0)&&(d=d.substring(1));"'"==d.charAt(d.length-1)&&(d= +d.substring(0,d.length-1));t.toolbar.setFontName(d);t.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",c);mxEvent.addListener(b.cellEditor.textarea,"touchend",c);mxEvent.addListener(b.cellEditor.textarea,"mouseup",c);mxEvent.addListener(b.cellEditor.textarea,"keyup",c);c()}};var v=b.cellEditor.stopEditing;b.cellEditor.stopEditing=function(a,b){v.apply(this,arguments);q()};b.container.setAttribute("tabindex","0");b.container.style.cursor="default"; +if(window.self===window.top&&null!=b.container.parentNode)try{b.container.focus()}catch(B){}var w=b.fireMouseEvent;b.fireMouseEvent=function(a,b,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};b.popupMenuHandler.autoExpand=!0;null!=this.menus&&(b.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,b,c){this.menus.createPopupMenu(a,b,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){b.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); +this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),z="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=b.view.getState(a);if(null!=c){a=a.clone();a.style="";a=b.getCellStyle(a);var d=[],e=[],g;for(g in c.style)a[g]!=c.style[g]&&(d.push(c.style[g]),e.push(g));g=b.getModel().getStyle(c.cell);for(var f=null!=g?g.split(";"):[],h=0;h<f.length;h++){var k=f[h], +l=k.indexOf("=");0<=l&&(g=k.substring(0,l),k=k.substring(l+1),null!=a[g]&&"none"==k&&(d.push(k),e.push(g)))}b.getModel().isEdge(c.cell)?b.currentEdgeStyle={}:b.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",e,"values",d,"cells",[c.cell]))}};this.clearDefaultStyle=function(){b.currentEdgeStyle=mxUtils.clone(b.defaultEdgeStyle);b.currentVertexStyle=mxUtils.clone(b.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var x= +["fontFamily","fontSize","fontColor"],D="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),A=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],x,["opacity"],["align"],["html"]];for(a=0;a<A.length;a++)for(c=0;c<A[a].length;c++)u.push(A[a][c]);for(a=0;a<z.length;a++)0>mxUtils.indexOf(u,z[a])&&u.push(z[a]);var C=function(a,c){var d=b.getModel(); +d.beginUpdate();try{if(c)for(var e=d.isEdge(k),g=e?b.currentEdgeStyle:b.currentVertexStyle,e=["fontSize","fontFamily","fontColor"],f=0;f<e.length;f++){var h=g[e[f]];null!=h&&b.setCellStyles(e[f],h,a)}else for(h=0;h<a.length;h++){for(var k=a[h],l=d.getStyle(k),m=null!=l?l.split(";"):[],G=u.slice(),f=0;f<m.length;f++){var p=m[f],y=p.indexOf("=");if(0<=y){var n=p.substring(0,y),R=mxUtils.indexOf(G,n);0<=R&&G.splice(R,1);for(var t=0;t<A.length;t++){var q=A[t];if(0<=mxUtils.indexOf(q,n))for(var r=0;r< +q.length;r++){var B=mxUtils.indexOf(G,q[r]);0<=B&&G.splice(B,1)}}}}for(var g=(e=d.isEdge(k))?b.currentEdgeStyle:b.currentVertexStyle,v=d.getStyle(k),f=0;f<G.length;f++){var n=G[f],D=g[n];null==D||"shape"==n&&!e||e&&!(0>mxUtils.indexOf(z,n))||(v=mxUtils.setStyle(v,n,D))}d.setStyle(k,v)}}finally{d.endUpdate()}};b.addListener("cellsInserted",function(a,b){C(b.getProperty("cells"))});b.addListener("textInserted",function(a,b){C(b.getProperty("cells"),!0)});b.connectionHandler.addListener(mxEvent.CONNECT, +function(a,b){var c=[b.getProperty("cell")];b.getProperty("terminalInserted")&&c.push(b.getProperty("terminal"));C(c)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var d=c.getProperty("cells"),e=!1,g=!1;if(0<d.length)for(var f=0;f<d.length&&(e=b.getModel().isVertex(d[f])||e,!(g=b.getModel().isEdge(d[f])||g)||!e);f++);else g=e=!0;for(var d=c.getProperty("keys"),h=c.getProperty("values"),f=0;f<d.length;f++){var k=0<=mxUtils.indexOf(x,d[f]);if("strokeColor"!=d[f]||null!=h[f]&&"none"!= +h[f])if(0<=mxUtils.indexOf(z,d[f]))g||0<=mxUtils.indexOf(D,d[f])?null==h[f]?delete b.currentEdgeStyle[d[f]]:b.currentEdgeStyle[d[f]]=h[f]:e&&0<=mxUtils.indexOf(u,d[f])&&(null==h[f]?delete b.currentVertexStyle[d[f]]:b.currentVertexStyle[d[f]]=h[f]);else if(0<=mxUtils.indexOf(u,d[f])){if(e||k)null==h[f]?delete b.currentVertexStyle[d[f]]:b.currentVertexStyle[d[f]]=h[f];if(g||k||0<=mxUtils.indexOf(D,d[f]))null==h[f]?delete b.currentEdgeStyle[d[f]]:b.currentEdgeStyle[d[f]]=h[f]}}null!=this.toolbar&&(this.toolbar.setFontName(b.currentVertexStyle.fontFamily|| Menus.prototype.defaultFont),this.toolbar.setFontSize(b.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==b.currentEdgeStyle.edgeStyle&&"1"==b.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==b.currentEdgeStyle.edgeStyle||"none"==b.currentEdgeStyle.edgeStyle||null==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== b.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==b.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==b.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==b.currentEdgeStyle.shape? "geSprite geSprite-linkedge":"flexArrow"==b.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==b.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",b.currentEdgeStyle.shape,b.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(b.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= @@ -2080,23 +2080,23 @@ EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,c= EditorUi.prototype.initClipboard=function(){var a=this,c=mxClipboard.cut;mxClipboard.cut=function(b){b.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):c.apply(this,arguments);a.updatePasteActionStates()};var d=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):d.apply(this,arguments);a.updatePasteActionStates()};var b=mxClipboard.paste;mxClipboard.paste=function(c){var d=null;c.cellEditor.isContentEditing()?document.execCommand("paste", !1,null):d=b.apply(this,arguments);a.updatePasteActionStates();return d};var f=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){f.apply(this,arguments);a.updatePasteActionStates()};var e=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){e.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),b=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width, -this.scale*a.height*b.height)};a.getPreferredPageSize=function(a,b,c){a=this.getPageLayout();b=this.getPageSize();return new mxRectangle(0,0,a.width*b.width,a.height*b.height)};var c=null,d=this;if(this.editor.isChromelessView()){this.chromelessResize=c=mxUtils.bind(this,function(b,c,d,e){if(null!=a.container){d=null!=d?d:0;e=null!=e?e:0;var f=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),k=a.view.translate,h=a.view.scale,l=mxRectangle.fromRectangle(f); -l.x=l.x/h-k.x;l.y=l.y/h-k.y;l.width/=h;l.height/=h;var k=a.container.scrollTop,m=a.container.scrollLeft,p=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)p+=3;var n=a.container.offsetWidth-p,p=a.container.offsetHeight-p;b=b?Math.max(.3,Math.min(c||1,n/l.width)):h;c=(n-b*l.width)/2/b;var r=0==this.lightboxVerticalDivider?0:(p-b*l.height)/this.lightboxVerticalDivider/b;g&&(c=Math.max(c,0),r=Math.max(r,0));if(g||f.width<n||f.height<p)a.view.scaleAndTranslate(b, -Math.floor(c-l.x),Math.floor(r-l.y)),a.container.scrollTop=k*b/h,a.container.scrollLeft=m*b/h;else if(0!=d||0!=e)f=a.view.translate,a.view.setTranslate(Math.floor(f.x+d/h),Math.floor(f.y+e/h))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var b=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",b);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",b)});this.editor.addListener("resetGraphView", +this.scale*a.height*b.height)};a.getPreferredPageSize=function(a,b,c){a=this.getPageLayout();b=this.getPageSize();return new mxRectangle(0,0,a.width*b.width,a.height*b.height)};var c=null,d=this;if(this.editor.isChromelessView()){this.chromelessResize=c=mxUtils.bind(this,function(b,c,d,e){if(null!=a.container){d=null!=d?d:0;e=null!=e?e:0;var f=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),g=mxUtils.hasScrollbars(a.container),h=a.view.translate,k=a.view.scale,l=mxRectangle.fromRectangle(f); +l.x=l.x/k-h.x;l.y=l.y/k-h.y;l.width/=k;l.height/=k;var h=a.container.scrollTop,m=a.container.scrollLeft,p=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)p+=3;var n=a.container.offsetWidth-p,p=a.container.offsetHeight-p;b=b?Math.max(.3,Math.min(c||1,n/l.width)):k;c=(n-b*l.width)/2/b;var t=0==this.lightboxVerticalDivider?0:(p-b*l.height)/this.lightboxVerticalDivider/b;g&&(c=Math.max(c,0),t=Math.max(t,0));if(g||f.width<n||f.height<p)a.view.scaleAndTranslate(b, +Math.floor(c-l.x),Math.floor(t-l.y)),a.container.scrollTop=h*b/k,a.container.scrollLeft=m*b/k;else if(0!=d||0!=e)f=a.view.translate,a.view.setTranslate(Math.floor(f.x+d/k),Math.floor(f.y+e/k))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var b=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",b);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",b)});this.editor.addListener("resetGraphView", mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(b){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(b){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= "nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var f=mxUtils.bind(this,function(){var b=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=b?parseInt(b["margin-bottom"]|| 0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",f);f();var e=0,f=mxUtils.bind(this,function(a,b,c){e++;var d=document.createElement("span");d.style.paddingLeft="8px";d.style.paddingRight="8px";d.style.cursor="pointer";mxEvent.addListener(d,"click",a);null!=c&&d.setAttribute("title",c);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);d.appendChild(a);this.chromelessToolbar.appendChild(d); -return d}),k=f(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),g=document.createElement("div");g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily="Helvetica,Arial";g.style.marginTop="8px";g.style.color="#ffffff";this.chromelessToolbar.appendChild(g);var h=f(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), -l=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(g.innerHTML="",mxUtils.write(g,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});k.style.paddingLeft="0px";k.style.paddingRight="4px";h.style.paddingLeft="4px";h.style.paddingRight="0px";var m=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(h.style.display="",k.style.display="",g.style.display="inline-block"):(h.style.display="none",k.style.display= +return d}),h=f(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),g=document.createElement("div");g.style.display="inline-block";g.style.verticalAlign="top";g.style.fontFamily="Helvetica,Arial";g.style.marginTop="8px";g.style.color="#ffffff";this.chromelessToolbar.appendChild(g);var k=f(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), +l=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(g.innerHTML="",mxUtils.write(g,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});h.style.paddingLeft="0px";h.style.paddingRight="4px";k.style.paddingLeft="4px";k.style.paddingRight="0px";var m=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(k.style.display="",h.style.display="",g.style.display="inline-block"):(k.style.display="none",h.style.display= "none",g.style.display="none");l()});this.editor.addListener("resetGraphView",m);this.editor.addListener("pageSelected",l);f(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");f(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");f(mxUtils.bind(this,function(b){a.isLightboxView()?(1==a.view.scale? this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(b)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var n=null,p=null,q=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);n=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);n=null;p=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";p= -null}),600)}),a||200)}),r=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var t=f(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, -"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var c=t.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; -mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),w=a.getModel();w.addListener(mxEvent.CHANGE,function(){t.style.display=1<w.getChildCount(w.root)? +null}),600)}),a||200)}),t=mxUtils.bind(this,function(a){null!=n&&(window.clearTimeout(n),fadeThead=null);null!=p&&(window.clearTimeout(p),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var r=f(mxUtils.bind(this,function(b){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, +"mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var c=r.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; +mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=c.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=c.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(b)}),Editor.layersLargeImage,mxResources.get("layers")),v=a.getModel();v.addListener(mxEvent.CHANGE,function(){r.style.display=1<v.getChildCount(v.root)? "":"none"})}this.addChromelessToolbarItems(f);null!=this.editor.editButtonLink&&f(mxUtils.bind(this,function(b){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(b)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||f(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, -mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||r(30),q())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); -mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():r(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():r(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||r(30)}));var v=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX= -c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,c){mxEvent.isTouchEvent(c.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<v&&Math.abs(this.scrollTop-a.container.scrollTop)<v&&Math.abs(this.startX-c.getGraphX())<v&&Math.abs(this.startY-c.getGraphY())<v&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?q():r(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= +mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||t(30),q())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); +mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():t(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?q():t(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||t(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(b,c){this.startX= +c.getGraphX();this.startY=c.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(b,c){mxEvent.isTouchEvent(c.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-c.getGraphX())<w&&Math.abs(this.startY-c.getGraphY())<w&&(0<parseFloat(d.chromelessToolbar.style.opacity||0)?q():t(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),b=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*b.width;this.translate.y=a.y-(this.y0||0)*b.height}u.apply(this,arguments)};var z=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var b=this.getPageLayout(),c=this.getPagePadding(),d=this.getPageSize(),e=Math.ceil(2*c.x+b.width* d.width),f=Math.ceil(2*c.y+b.height*d.height),g=a.minimumGraphSize;if(null==g||g.width!=e||g.height!=f)a.minimumGraphSize=new mxRectangle(0,0,e,f);e=c.x-b.x*d.width;c=c.y-b.y*d.height;this.autoTranslate||this.view.translate.x==e&&this.view.translate.y==c?z.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=b.x,this.view.y0=b.y,b=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(e,c),a.container.scrollLeft+=Math.round((e-b)*a.view.scale),a.container.scrollTop+=Math.round((c-d)*a.view.scale), this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var x=null;a.lazyZoom=function(b){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);b?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= @@ -2127,18 +2127,18 @@ EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),c=this.actions.get("redo"),d=this.editor.undoManager,b=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());c.setEnabled(this.canRedo())});d.addListener(mxEvent.ADD,b);d.addListener(mxEvent.UNDO,b);d.addListener(mxEvent.REDO,b);d.addListener(mxEvent.CLEAR,b);var f=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){f.apply(this,arguments);b()};var e=this.editor.graph.cellEditor.stopEditing; this.editor.graph.cellEditor.stopEditing=function(a,c){e.apply(this,arguments);b()};b()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,c=!a.isSelectionEmpty(),d=!1,b=!1,f=a.getSelectionCells();if(null!=f)for(var e=0;e<f.length;e++){var k=f[e];a.getModel().isEdge(k)&&(b=!0);a.getModel().isVertex(k)&&(d=!0);if(b&&d)break}f="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(e= -0;e<f.length;e++)this.actions.get(f[e]).setEnabled(c);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(b);this.actions.get("rotation").setEnabled(d);this.actions.get("wordWrap").setEnabled(d);this.actions.get("autosize").setEnabled(d);b=d&&1==a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()|| -b&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||b&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(b&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(c||null!=a.view.currentRoot);this.actions.get("collapsible").setEnabled(d&&(a.isContainer(a.getSelectionCell())|| -0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));c=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(c);this.actions.get("collapse").setEnabled(c);this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1== -a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);c=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(c);this.menus.get("insert").setEnabled(c);this.menus.get("direction").setEnabled(c&&d);this.menus.get("align").setEnabled(c&&d&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(c&&d&&1<a.getSelectionCount()); -this.actions.get("selectVertices").setEnabled(c);this.actions.get("selectEdges").setEnabled(c);this.actions.get("selectAll").setEnabled(c);this.actions.get("selectNone").setEnabled(c);this.updatePasteActionStates()}; +EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,c=!a.isSelectionEmpty(),d=!1,b=!1,f=a.getSelectionCells();if(null!=f)for(var e=0;e<f.length;e++){var h=f[e];a.getModel().isEdge(h)&&(b=!0);a.getModel().isVertex(h)&&(d=!0);if(b&&d)break}f="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(e= +0;e<f.length;e++)this.actions.get(f[e]).setEnabled(c);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(b);this.actions.get("rotation").setEnabled(d);this.actions.get("wordWrap").setEnabled(d);this.actions.get("autosize").setEnabled(d);b=d&&1== +a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||b&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||b&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(b&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(c||null!=a.view.currentRoot); +this.actions.get("collapsible").setEnabled(d&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));c=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(c);this.actions.get("collapse").setEnabled(c); +this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);c=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(c);this.menus.get("insert").setEnabled(c);this.menus.get("direction").setEnabled(c&&d);this.menus.get("align").setEnabled(c&& +d&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(c&&d&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(c);this.actions.get("selectEdges").setEnabled(c);this.actions.get("selectAll").setEnabled(c);this.actions.get("selectNone").setEnabled(c);this.updatePasteActionStates()}; EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var c=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),d=this.container.clientWidth,b=this.container.clientHeight;this.container==document.body&&(d=document.body.clientWidth||document.documentElement.clientWidth,b=c?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var f=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& -(f=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var e=Math.max(0,Math.min(this.hsplitPosition,d-this.splitSize-20)),k=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",k+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",k+=this.toolbarHeight);0<k&&!mxClient.IS_QUIRKS&&(k+=1);var g=0;if(null!=this.sidebarFooterContainer){var h= -this.footerHeight+f,g=Math.max(0,Math.min(b-k-h,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=e+"px";this.sidebarFooterContainer.style.height=g+"px";this.sidebarFooterContainer.style.bottom=h+"px"}h=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=k+"px";this.sidebarContainer.style.width=e+"px";this.formatContainer.style.top=k+"px";this.formatContainer.style.width=h+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= +(f=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var e=Math.max(0,Math.min(this.hsplitPosition,d-this.splitSize-20)),h=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",h+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",h+=this.toolbarHeight);0<h&&!mxClient.IS_QUIRKS&&(h+=1);var g=0;if(null!=this.sidebarFooterContainer){var k= +this.footerHeight+f,g=Math.max(0,Math.min(b-h-k,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=e+"px";this.sidebarFooterContainer.style.height=g+"px";this.sidebarFooterContainer.style.bottom=k+"px"}k=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=h+"px";this.sidebarContainer.style.width=e+"px";this.formatContainer.style.top=h+"px";this.formatContainer.style.width=k+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= null!=this.hsplit.parentNode?e+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+f+"px";this.hsplit.style.left=e+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);c?(this.menubarContainer.style.width=d+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, -c=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=c-g+"px",this.formatContainer.style.height=c+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,d-e-this.splitSize-h)+"px":d+"px",this.footerContainer.style.width=this.menubarContainer.style.width,g=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= -this.footerHeight+f+"px",g-=this.tabContainer.clientHeight),this.diagramContainer.style.height=g+"px",this.hsplit.style.height=g+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=f+"px"),this.diagramContainer.style.right=h+"px",d=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+f+"px",this.tabContainer.style.right=this.diagramContainer.style.right,d=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+g+f+"px",this.formatContainer.style.bottom= +c=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=c-g+"px",this.formatContainer.style.height=c+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,d-e-this.splitSize-k)+"px":d+"px",this.footerContainer.style.width=this.menubarContainer.style.width,g=Math.max(0,b-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= +this.footerHeight+f+"px",g-=this.tabContainer.clientHeight),this.diagramContainer.style.height=g+"px",this.hsplit.style.height=g+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=f+"px"),this.diagramContainer.style.right=k+"px",d=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+f+"px",this.tabContainer.style.right=this.diagramContainer.style.right,d=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+g+f+"px",this.formatContainer.style.bottom= this.footerHeight+f+"px",this.diagramContainer.style.bottom=this.footerHeight+f+d+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand")); this.menubarContainer.style.top="0px";this.menubarContainer.style.left="0px";this.menubarContainer.style.right="0px";this.toolbarContainer.style.left="0px";this.toolbarContainer.style.right="0px";this.sidebarContainer.style.left="0px";this.formatContainer.style.right="0px";this.formatContainer.style.zIndex="1";this.diagramContainer.style.right=(null!=this.format?this.formatWidth:0)+"px";this.footerContainer.style.left="0px";this.footerContainer.style.right="0px";this.footerContainer.style.bottom= @@ -2148,8 +2148,8 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit, !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var c=document.createElement("div");c.className=a;return c}; -EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=k){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-k.x:k.y-e.y)-d));mxEvent.consume(a);g!=m()&&(h=!0,l=null)}}function e(a){f(a);k=g=null}var k=null,g=null,h=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){k=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));g=m();h=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!h){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,k){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,k);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,c,d,b){function f(a){if(null!=h){var e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));b(Math.max(0,g+(c?e.x-h.x:h.y-e.y)-d));mxEvent.consume(a);g!=m()&&(k=!0,l=null)}}function e(a){f(a);h=g=null}var h=null,g=null,k=!0,l=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var m=mxUtils.bind(this,function(){var b=parseInt(c?a.style.left:a.style.bottom);c||(b=b+d-this.footerHeight);return b});mxEvent.addGestureListeners(a,function(a){h=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));g=m();k=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!k){var c=null!=l?l-d:0;l=m();b(c);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,f,e);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,f,e)})};EditorUi.prototype.showDialog=function(a,c,d,b,f,e,h){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,c,d,b,f,e,h);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0<this.dialogs.length&&(this.dialogs.pop().close(a),this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&this.editor.graph.container.focus(),mxUtils.clearSelection(),this.editor.fireEvent(new mxEventObject("hideDialog")))}; EditorUi.prototype.pickColor=function(a,c){var d=this.editor.graph,b=d.cellEditor.saveSelection(),f=new ColorDialog(this,a||"none",function(a){d.cellEditor.restoreSelection(b);c(a)},function(){d.cellEditor.restoreSelection(b)});this.showDialog(f.container,230,430,!0,!1);f.init()}; EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})}; @@ -2159,21 +2159,22 @@ EditorUi.prototype.extractGraphModelFromEvent=function(a){var c=null,d=null;null EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,c);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(c.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(c))).simulate(document, "_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(c);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(d){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}}; EditorUi.prototype.executeLayout=function(a,c,d){var b=this.editor.graph;if(b.isEnabled()){b.getModel().beginUpdate();try{a()}catch(f){throw f;}finally{this.allowAnimation&&c&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(b),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){b.getModel().endUpdate();null!=d&&d()})),a.startAnimation()):(b.getModel().endUpdate(),null!=d&&d())}}}; -EditorUi.prototype.showImageDialog=function(a,c,d,b){b=this.editor.graph.cellEditor;var f=b.saveSelection(),e=mxUtils.prompt(a,c);b.restoreSelection(f);if(null!=e&&0<e.length){var k=new Image;k.onload=function(){d(e,k.width,k.height)};k.onerror=function(){d(null);mxUtils.alert(mxResources.get("fileNotFound"))};k.src=e}else d(null)};EditorUi.prototype.showLinkDialog=function(a,c,d){a=new LinkDialog(this,a,c,d);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showImageDialog=function(a,c,d,b){b=this.editor.graph.cellEditor;var f=b.saveSelection(),e=mxUtils.prompt(a,c);b.restoreSelection(f);if(null!=e&&0<e.length){var h=new Image;h.onload=function(){d(e,h.width,h.height)};h.onerror=function(){d(null);mxUtils.alert(mxResources.get("fileNotFound"))};h.src=e}else d(null)};EditorUi.prototype.showLinkDialog=function(a,c,d){a=new LinkDialog(this,a,c,d);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,340,340,!0,!1,null,!1),a.init())}; EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var c=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=c&&0<c.length){var d=new Image;d.onload=function(){a(new mxImage(c,d.width,d.height))};d.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};d.src=c}else a(null)}; EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,c,d){mxUtils.confirm(a)?null!=c&&c():null!=d&&d()}; EditorUi.prototype.createOutline=function(a){var c=new mxOutline(this.editor.graph);c.border=20;mxEvent.addListener(window,"resize",function(){c.update()});this.addListener("pageFormatChanged",function(){c.update()});return c}; -EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){k.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else e= +EditorUi.prototype.createKeyHandler=function(a){function c(a,c,d){h.push(function(){if(!b.isSelectionEmpty()&&b.isEnabled())if(c=null!=c?c:1,d){b.getModel().beginUpdate();try{for(var e=b.getSelectionCells(),f=0;f<e.length;f++)if(b.getModel().isVertex(e[f])&&b.isCellResizable(e[f])){var g=b.getCellGeometry(e[f]);null!=g&&(g=g.clone(),37==a?g.width=Math.max(0,g.width-c):38==a?g.height=Math.max(0,g.height-c):39==a?g.width+=c:40==a&&(g.height+=c),b.getModel().setGeometry(e[f],g))}}finally{b.getModel().endUpdate()}}else e= b.getSelectionCell(),f=b.model.getParent(e),g=null,1==b.getSelectionCount()&&b.model.isVertex(e)&&null!=b.layoutManager&&!b.isCellLocked(e)&&(g=b.layoutManager.getLayout(f)),null!=g&&g.constructor==mxStackLayout?(g=f.getIndex(e),37==a||38==a?b.model.add(f,e,Math.max(0,g-1)):39!=a&&40!=a||b.model.add(f,e,Math.min(b.model.getChildCount(f),g+1))):(f=e=0,37==a?e=-c:38==a?f=-c:39==a?e=c:40==a&&(f=c),b.moveCells(b.getMovableCells(b.getSelectionCells()),e,f))});null!=g&&window.clearTimeout(g);g=window.setTimeout(function(){if(0< -k.length){b.getModel().beginUpdate();try{for(var a=0;a<k.length;a++)k[a]();k=[]}finally{b.getModel().endUpdate()}b.scrollCellToVisible(b.getSelectionCell())}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& -!mxClient.IS_SF)&&e.apply(this,arguments)};f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var k=[],g=null,h={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction,m={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), -76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip")};mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=m[a.keyCode];if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=h[a.keyCode]&&!b.isSelectionEmpty())if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c= -b.connectVertex(b.getSelectionCell(),h[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this, -arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,function(){b.enterGroup()});f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107, -!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){b.isEnabled()&&b.setSelectionCells(b.duplicateCells(b.getSelectionCells(),!1))}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1, -"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,"selectNone",!0),f.bindAction(73,!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0, -"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,!0,"grid",!0),f.bindAction(73,!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers", -!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f}; +h.length){b.getModel().beginUpdate();try{for(var a=0;a<h.length;a++)h[a]();h=[]}finally{b.getModel().endUpdate()}b.scrollCellToVisible(b.getSelectionCell())}},200)}var d=this,b=this.editor.graph,f=new mxKeyHandler(b),e=f.isEventIgnored;f.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& +!mxClient.IS_SF)&&e.apply(this,arguments)};f.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==d.dialogs||0==d.dialogs.length)};f.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var h=[],g=null,k={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},l=f.getFunction,m={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), +76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip"),86:this.actions.get("pasteSize"),88:this.actions.get("copySize")};mxKeyHandler.prototype.getFunction=function(a){if(b.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var e=m[a.keyCode];if(null!=e)return e.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){b.selectParentCell()}:function(){b.selectChildCell()};if(null!=k[a.keyCode]&&!b.isSelectionEmpty())if(mxEvent.isShiftDown(a)&& +mxEvent.isAltDown(a)){if(b.model.isVertex(b.getSelectionCell()))return function(){var c=b.connectVertex(b.getSelectionCell(),k[a.keyCode],b.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&b.model.isEdge(c[0])?b.setSelectionCell(b.model.getTerminal(c[0],!1)):b.setSelectionCell(c[c.length-1]),b.scrollCellToVisible(b.getSelectionCell()),null!=d.hoverIcons&&d.hoverIcons.update(b.view.getState(b.getSelectionCell())))}}else return this.isControlDown(a)?function(){c(a.keyCode,mxEvent.isShiftDown(a)? +b.gridSize:null,!0)}:function(){c(a.keyCode,mxEvent.isShiftDown(a)?b.gridSize:null)}}return l.apply(this,arguments)};f.bindAction=mxUtils.bind(this,function(a,b,c,d){var e=this.actions.get(c);null!=e&&(c=function(){e.isEnabled()&&e.funct()},b?d?f.bindControlShiftKey(a,c):f.bindControlKey(a,c):d?f.bindShiftKey(a,c):f.bindKey(a,c))});var n=f.escape;f.escape=function(a){n.apply(this,arguments)};f.enter=function(){};f.bindControlShiftKey(36,function(){b.exitGroup()});f.bindControlShiftKey(35,function(){b.enterGroup()}); +f.bindKey(36,function(){b.home()});f.bindKey(35,function(){b.refresh()});f.bindAction(107,!0,"zoomIn");f.bindAction(109,!0,"zoomOut");f.bindAction(80,!0,"print");f.bindAction(79,!0,"outline",!0);f.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)f.bindControlKey(36,function(){b.isEnabled()&&b.foldCells(!0)}),f.bindControlKey(35,function(){b.isEnabled()&&b.foldCells(!1)}),f.bindControlKey(13,function(){b.isEnabled()&&b.setSelectionCells(b.duplicateCells(b.getSelectionCells(), +!1))}),f.bindAction(8,!1,"delete"),f.bindAction(8,!0,"deleteAll"),f.bindAction(46,!1,"delete"),f.bindAction(46,!0,"deleteAll"),f.bindAction(72,!0,"resetView"),f.bindAction(72,!0,"fitWindow",!0),f.bindAction(74,!0,"fitPage"),f.bindAction(74,!0,"fitTwoPages",!0),f.bindAction(48,!0,"customZoom"),f.bindAction(82,!0,"turn"),f.bindAction(82,!0,"clearDefaultStyle",!0),f.bindAction(83,!0,"save"),f.bindAction(83,!0,"saveAs",!0),f.bindAction(65,!0,"selectAll"),f.bindAction(65,!0,"selectNone",!0),f.bindAction(73, +!0,"selectVertices",!0),f.bindAction(69,!0,"selectEdges",!0),f.bindAction(69,!0,"editStyle"),f.bindAction(66,!0,"bold"),f.bindAction(66,!0,"toBack",!0),f.bindAction(70,!0,"toFront",!0),f.bindAction(68,!0,"duplicate"),f.bindAction(68,!0,"setAsDefaultStyle",!0),f.bindAction(90,!0,"undo"),f.bindAction(89,!0,"autosize",!0),f.bindAction(88,!0,"cut"),f.bindAction(67,!0,"copy"),f.bindAction(86,!0,"paste"),f.bindAction(71,!0,"group"),f.bindAction(77,!0,"editData"),f.bindAction(71,!0,"grid",!0),f.bindAction(73, +!0,"italic"),f.bindAction(76,!0,"lockUnlock"),f.bindAction(76,!0,"layers",!0),f.bindAction(80,!0,"formatPanel",!0),f.bindAction(85,!0,"underline"),f.bindAction(85,!0,"ungroup",!0),f.bindAction(190,!0,"superscript"),f.bindAction(188,!0,"subscript"),f.bindKey(13,function(){b.isEnabled()&&b.startEditingAtCell()}),f.bindKey(113,function(){b.isEnabled()&&b.startEditingAtCell()});mxClient.IS_WIN?f.bindAction(89,!0,"redo"):f.bindAction(90,!0,"redo",!0);return f}; EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&& (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window, "scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var c=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<c.length;a++)null!=c[a]&&null!=c[a].parentNode&&c[a].parentNode.removeChild(c[a])};function Sidebar(a,c){this.editorUi=a;this.container=c;this.palettes={};this.taglist={};this.showTooltips=!0;this.graph=a.createTemporaryGraph(this.editorUi.editor.graph.getStylesheet());this.graph.cellRenderer.antiAlias=!1;this.graph.foldingEnabled=!1;this.graph.container.style.visibility="hidden";document.body.appendChild(this.graph.container);this.pointerUpHandler=mxUtils.bind(this,function(){this.showTooltips=!0});mxEvent.addListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler); @@ -2188,26 +2189,26 @@ Sidebar.prototype.expandedImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhD Sidebar.prototype.searchImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAEaSURBVHjabNGxS5VxFIfxz71XaWuQUJCG/gCHhgTD9VpEETg4aMOlQRp0EoezObgcd220KQiXmpretTAHQRBdojlQEJyukPdt+b1ywfvAGc7wnHP4nlZd1yKijQW8xzNc4Su+ZOYfQ3T6/f4YNvEJYzjELXp4VVXVz263+7cR2niBxAFeZ2YPi3iHR/gYERPDwhpOsd6sz8x/mfkNG3iOlWFhFj8y89J9KvzGXER0GuEaD42mgwHqUtoljbcRsTBCeINpfM/MgZLKPpaxFxGbOCqDXmILN7hoJrTKH+axhxmcYRxP0MIDnOBDZv5q1XUNIuJxifJp+UNV7t7BFM6xeic0RMQ4Bpl5W/ol7GISx/eEUUTECrbx+f8A8xhiZht9zsgAAAAASUVORK5CYII=":IMAGE_PATH+ "/search.png";Sidebar.prototype.dragPreviewBorder="1px dashed black";Sidebar.prototype.enableTooltips=!0;Sidebar.prototype.tooltipBorder=16;Sidebar.prototype.tooltipDelay=300;Sidebar.prototype.dropTargetDelay=200;Sidebar.prototype.gearImage=STENCIL_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.thumbWidth=36;Sidebar.prototype.thumbHeight=36;Sidebar.prototype.thumbPadding=5<=document.documentMode?0:1;Sidebar.prototype.thumbBorder=2;Sidebar.prototype.sidebarTitleSize=9; Sidebar.prototype.sidebarTitles=!1;Sidebar.prototype.tooltipTitles=!0;Sidebar.prototype.maxTooltipWidth=400;Sidebar.prototype.maxTooltipHeight=400;Sidebar.prototype.addStencilsToIndex=!0;Sidebar.prototype.defaultImageWidth=80;Sidebar.prototype.defaultImageHeight=80;Sidebar.prototype.getTooltipOffset=function(){return new mxPoint(0,0)}; -Sidebar.prototype.showTooltip=function(a,c,d,b,f,e){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=a){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var k=mxUtils.bind(this,function(){null==this.tooltip&&(this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,document.body.appendChild(this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()), +Sidebar.prototype.showTooltip=function(a,c,d,b,f,e){if(this.enableTooltips&&this.showTooltips&&this.currentElt!=a){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);var h=mxUtils.bind(this,function(){null==this.tooltip&&(this.tooltip=document.createElement("div"),this.tooltip.className="geSidebarTooltip",this.tooltip.style.zIndex=mxPopupMenu.prototype.zIndex-1,document.body.appendChild(this.tooltip),this.graph2=new Graph(this.tooltip,null,null,this.editorUi.editor.graph.getStylesheet()), this.graph2.resetViewOnRootChange=!1,this.graph2.foldingEnabled=!1,this.graph2.gridEnabled=!1,this.graph2.autoScroll=!1,this.graph2.setTooltips(!1),this.graph2.setConnectable(!1),this.graph2.setEnabled(!1),mxClient.IS_SVG||(this.graph2.view.canvas.style.position="relative"),this.tooltipImage=mxUtils.createImage(this.tooltipImage),this.tooltipImage.className="geSidebarTooltipImage",this.tooltipImage.style.zIndex=mxPopupMenu.prototype.zIndex-1,this.tooltipImage.style.position="absolute",this.tooltipImage.style.width= "14px",this.tooltipImage.style.height="27px",document.body.appendChild(this.tooltipImage));this.graph2.model.clear();this.graph2.view.setTranslate(this.tooltipBorder,this.tooltipBorder);this.graph2.view.scale=d>this.maxTooltipWidth||b>this.maxTooltipHeight?Math.round(100*Math.min(this.maxTooltipWidth/d,this.maxTooltipHeight/b))/100:1;this.tooltip.style.display="block";this.graph2.labelsVisible=null==e||e;var g=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph2.addCells(c); -mxClient.NO_FO=g;var k=this.graph2.getGraphBounds(),l=k.width+2*this.tooltipBorder+4,g=k.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=f&&0<f.length?(null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center", +mxClient.NO_FO=g;var h=this.graph2.getGraphBounds(),l=h.width+2*this.tooltipBorder+4,g=h.height+2*this.tooltipBorder;mxClient.IS_QUIRKS?(g+=4,this.tooltip.style.overflow="hidden"):this.tooltip.style.overflow="visible";this.tooltipImage.style.visibility="visible";this.tooltip.style.width=l+"px";this.tooltipTitles&&null!=f&&0<f.length?(null==this.tooltipTitle?(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.style.borderTop="1px solid gray",this.tooltipTitle.style.textAlign="center", this.tooltipTitle.style.width="100%",this.tooltipTitle.style.overflow="hidden",this.tooltipTitle.style.position="absolute",this.tooltipTitle.style.paddingTop="6px",this.tooltipTitle.style.bottom="6px",this.tooltip.appendChild(this.tooltipTitle)):this.tooltipTitle.innerHTML="",this.tooltipTitle.style.display="",mxUtils.write(this.tooltipTitle,f),l=this.tooltipTitle.offsetHeight+10,g+=l,mxClient.IS_SVG?this.tooltipTitle.style.marginTop=2-l+"px":(g-=6,this.tooltipTitle.style.top=g-l+"px")):null!=this.tooltipTitle&& -null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");this.tooltip.style.height=g+"px";var l=-Math.round(k.x-this.tooltipBorder),k=-Math.round(k.y-this.tooltipBorder),m=document.body,n=document.documentElement,p=this.getTooltipOffset(),q=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+p.x,m=Math.min(Math.max(m.clientHeight||0,n.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop- -g/2+16))+p.y;mxClient.IS_SVG?0!=l||0!=k?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+k+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=k+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=q+"px";this.tooltip.style.top=m+"px";this.tooltipImage.style.left=q-13+"px";this.tooltipImage.style.top=m+g/2-13+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?k():this.thread= -window.setTimeout(k,this.tooltipDelay);this.currentElt=a}};Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.tooltipImage.style.visibility="hidden",this.currentElt=null)};Sidebar.prototype.addDataEntry=function(a,c,d,b,f){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(f,c,d,b)}))}; +null!=this.tooltipTitle.parentNode&&(this.tooltipTitle.style.display="none");this.tooltip.style.height=g+"px";var l=-Math.round(h.x-this.tooltipBorder),h=-Math.round(h.y-this.tooltipBorder),m=document.body,n=document.documentElement,p=this.getTooltipOffset(),q=this.container.clientWidth+this.editorUi.splitSize+3+this.editorUi.container.offsetLeft+p.x,m=Math.min(Math.max(m.clientHeight||0,n.clientHeight)-g-20,Math.max(0,this.editorUi.container.offsetTop+this.container.offsetTop+a.offsetTop-this.container.scrollTop- +g/2+16))+p.y;mxClient.IS_SVG?0!=l||0!=h?this.graph2.view.canvas.setAttribute("transform","translate("+l+","+h+")"):this.graph2.view.canvas.removeAttribute("transform"):(this.graph2.view.drawPane.style.left=l+"px",this.graph2.view.drawPane.style.top=h+"px");this.tooltip.style.position="absolute";this.tooltip.style.left=q+"px";this.tooltip.style.top=m+"px";this.tooltipImage.style.left=q-13+"px";this.tooltipImage.style.top=m+g/2-13+"px"});null!=this.tooltip&&"none"!=this.tooltip.style.display?h():this.thread= +window.setTimeout(h,this.tooltipDelay);this.currentElt=a}};Sidebar.prototype.hideTooltip=function(){null!=this.thread&&(window.clearTimeout(this.thread),this.thread=null);null!=this.tooltip&&(this.tooltip.style.display="none",this.tooltipImage.style.visibility="hidden",this.currentElt=null)};Sidebar.prototype.addDataEntry=function(a,c,d,b,f){return this.addEntry(a,mxUtils.bind(this,function(){return this.createVertexTemplateFromData(f,c,d,b)}))}; Sidebar.prototype.addEntry=function(a,c){if(null!=this.taglist&&null!=a&&0<a.length)for(var d=a.toLowerCase().replace(/[\/\,\(\)]/g," ").split(" "),b=mxUtils.bind(this,function(a){if(1<a.length){var b=this.taglist[a];"object"!==typeof b&&(b={entries:[],dict:new mxDictionary},this.taglist[a]=b);null==b.dict.get(c)&&(b.dict.put(c,c),b.entries.push(c))}}),f=0;f<d.length;f++){b(d[f]);var e=d[f].replace(/\.*\d*$/,"");e!=d[f]&&b(e)}return c}; -Sidebar.prototype.searchEntries=function(a,c,d,b,f){if(null!=this.taglist&&null!=a){var e=a.toLowerCase().split(" ");f=new mxDictionary;var k=(d+1)*c;a=[];for(var g=0,h=0;h<e.length;h++)if(0<e[h].length){var l=this.taglist[e[h]],m=new mxDictionary;if(null!=l){var n=l.entries;a=[];for(var p=0;p<n.length;p++)if(l=n[p],0==g==(null==f.get(l))&&(m.put(l,l),a.push(l),h==e.length-1&&a.length==k)){b(a.slice(d*c,k),k,!0,e);return}}else a=[];f=m;g++}f=a.length;b(a.slice(d*c,(d+1)*c),f,!1,e)}else b([],null, +Sidebar.prototype.searchEntries=function(a,c,d,b,f){if(null!=this.taglist&&null!=a){var e=a.toLowerCase().split(" ");f=new mxDictionary;var h=(d+1)*c;a=[];for(var g=0,k=0;k<e.length;k++)if(0<e[k].length){var l=this.taglist[e[k]],m=new mxDictionary;if(null!=l){var n=l.entries;a=[];for(var p=0;p<n.length;p++)if(l=n[p],0==g==(null==f.get(l))&&(m.put(l,l),a.push(l),k==e.length-1&&a.length==h)){b(a.slice(d*c,h),h,!0,e);return}}else a=[];f=m;g++}f=a.length;b(a.slice(d*c,(d+1)*c),f,!1,e)}else b([],null, null,e)};Sidebar.prototype.filterTags=function(a){if(null!=a){a=a.split(" ");for(var c=[],d={},b=0;b<a.length;b++)null==d[a[b]]&&(d[a[b]]="1",c.push(a[b]));return c.join(" ")}return null};Sidebar.prototype.cloneCell=function(a,c){var d=a.clone();null!=c&&(d.value=c);return d}; Sidebar.prototype.addSearchPalette=function(a){var c=document.createElement("div");c.style.visibility="hidden";this.container.appendChild(c);var d=document.createElement("div");d.className="geSidebar";d.style.boxSizing="border-box";d.style.overflow="hidden";d.style.width="100%";d.style.padding="8px";d.style.paddingTop="14px";d.style.paddingBottom="0px";a||(d.style.display="none");var b=document.createElement("div");b.style.whiteSpace="nowrap";b.style.textOverflow="clip";b.style.paddingBottom="8px"; b.style.cursor="default";var f=document.createElement("input");f.setAttribute("placeholder",mxResources.get("searchShapes"));f.setAttribute("type","text");f.style.fontSize="12px";f.style.overflow="hidden";f.style.boxSizing="border-box";f.style.border="solid 1px #d5d5d5";f.style.borderRadius="4px";f.style.width="100%";f.style.outline="none";f.style.padding="6px";b.appendChild(f);var e=document.createElement("img");e.setAttribute("src",Sidebar.prototype.searchImage);e.setAttribute("title",mxResources.get("search")); -e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(f.style.height="28px",e.style.top="-4px"):e.style.top="1px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var k;b.appendChild(e);d.appendChild(b);var g=document.createElement("center"),h=mxUtils.button(mxResources.get("moreResults"),function(){k()});h.style.display="none";h.style.lineHeight="normal";h.style.marginTop="4px";h.style.marginBottom="8px";g.style.paddingTop="4px";g.style.paddingBottom="8px";g.appendChild(h); -d.appendChild(g);var l="",m=!1,n=!1,p=0,q={},r=12,t=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),h.style.display="none",l=f.value="",t());f.focus()});k=mxUtils.bind(this,function(){r=4*Math.max(1, -Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(t(),l=f.value,q={},n=!1,p=0),!m&&!n)){h.setAttribute("disabled","true");h.style.display="";h.style.cursor="wait";h.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,r,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;g.parentNode.removeChild(g);this.insertSearchHint(d,l,r,p,b,c,e, -f);for(c=0;c<b.length;c++)f=b[c](),null==q[f.innerHTML]&&(q[f.innerHTML]="1",d.appendChild(b[c]()));e?(h.removeAttribute("disabled"),h.innerHTML=mxResources.get("moreResults")):(h.innerHTML=mxResources.get("reset"),h.style.display="none",n=!0);h.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){h.style.cursor=""}))}}else t(),l=f.value="",q={},h.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){13==a.keyCode&&(k(),mxEvent.consume(a))})); -mxEvent.addListener(f,"focus",function(){f.style.paddingRight=""});mxEvent.addListener(f,"blur",function(){f.style.paddingRight="20px"});f.style.paddingRight="20px";mxEvent.addListener(f,"keyup",mxUtils.bind(this,function(a){""==f.value?(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search"))):(e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("reset")));""==f.value?(n=!0,h.style.display="none"):f.value!=l?(h.style.display= -"none",n=!1):m||(h.style.display=n?"none":"")}));mxEvent.addListener(f,"mousedown",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});mxEvent.addListener(f,"selectstart",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});a=document.createElement("div");a.appendChild(d);this.container.appendChild(a);this.palettes.search=[c,a]}; -Sidebar.prototype.insertSearchHint=function(a,c,d,b,f,e,k,g){0==f.length&&1==b&&(d=document.createElement("div"),d.className="geTitle",d.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(d,mxResources.get("noResultsFor",[c])),a.appendChild(d))}; +e.style.position="relative";e.style.left="-18px";mxClient.IS_QUIRKS?(f.style.height="28px",e.style.top="-4px"):e.style.top="1px";e.style.background="url('"+this.editorUi.editor.transparentImage+"')";var h;b.appendChild(e);d.appendChild(b);var g=document.createElement("center"),k=mxUtils.button(mxResources.get("moreResults"),function(){h()});k.style.display="none";k.style.lineHeight="normal";k.style.marginTop="4px";k.style.marginBottom="8px";g.style.paddingTop="4px";g.style.paddingBottom="8px";g.appendChild(k); +d.appendChild(g);var l="",m=!1,n=!1,p=0,q={},t=12,r=mxUtils.bind(this,function(){m=!1;this.currentSearch=null;for(var a=d.firstChild;null!=a;){var c=a.nextSibling;a!=b&&a!=g&&a.parentNode.removeChild(a);a=c}});mxEvent.addListener(e,"click",function(){e.getAttribute("src")==Dialog.prototype.closeImage&&(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search")),k.style.display="none",l=f.value="",r());f.focus()});h=mxUtils.bind(this,function(){t=4*Math.max(1, +Math.floor(this.container.clientWidth/(this.thumbWidth+10)));this.hideTooltip();if(""!=f.value){if(null!=g.parentNode&&(l!=f.value&&(r(),l=f.value,q={},n=!1,p=0),!m&&!n)){k.setAttribute("disabled","true");k.style.display="";k.style.cursor="wait";k.innerHTML=mxResources.get("loading")+"...";m=!0;var a={};this.currentSearch=a;this.searchEntries(l,t,p,mxUtils.bind(this,function(b,c,e,f){if(this.currentSearch==a){b=null!=b?b:[];m=!1;p++;g.parentNode.removeChild(g);this.insertSearchHint(d,l,t,p,b,c,e, +f);for(c=0;c<b.length;c++)f=b[c](),null==q[f.innerHTML]&&(q[f.innerHTML]="1",d.appendChild(b[c]()));e?(k.removeAttribute("disabled"),k.innerHTML=mxResources.get("moreResults")):(k.innerHTML=mxResources.get("reset"),k.style.display="none",n=!0);k.style.cursor="";d.appendChild(g)}}),mxUtils.bind(this,function(){k.style.cursor=""}))}}else r(),l=f.value="",q={},k.style.display="none",n=!1,f.focus()});mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){13==a.keyCode&&(h(),mxEvent.consume(a))})); +mxEvent.addListener(f,"focus",function(){f.style.paddingRight=""});mxEvent.addListener(f,"blur",function(){f.style.paddingRight="20px"});f.style.paddingRight="20px";mxEvent.addListener(f,"keyup",mxUtils.bind(this,function(a){""==f.value?(e.setAttribute("src",Sidebar.prototype.searchImage),e.setAttribute("title",mxResources.get("search"))):(e.setAttribute("src",Dialog.prototype.closeImage),e.setAttribute("title",mxResources.get("reset")));""==f.value?(n=!0,k.style.display="none"):f.value!=l?(k.style.display= +"none",n=!1):m||(k.style.display=n?"none":"")}));mxEvent.addListener(f,"mousedown",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});mxEvent.addListener(f,"selectstart",function(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=!0});a=document.createElement("div");a.appendChild(d);this.container.appendChild(a);this.palettes.search=[c,a]}; +Sidebar.prototype.insertSearchHint=function(a,c,d,b,f,e,h,g){0==f.length&&1==b&&(d=document.createElement("div"),d.className="geTitle",d.style.cssText="background-color:transparent;border-color:transparent;color:gray;padding:6px 0px 0px 0px !important;margin:4px 8px 4px 8px;text-align:center;cursor:default !important",mxUtils.write(d,mxResources.get("noResultsFor",[c])),a.appendChild(d))}; Sidebar.prototype.addGeneralPalette=function(a){var c=[this.createVertexTemplateEntry("rounded=0;whiteSpace=wrap;html=1;",120,60,"","Rectangle",null,null,"rect rectangle box"),this.createVertexTemplateEntry("rounded=1;whiteSpace=wrap;html=1;",120,60,"","Rounded Rectangle",null,null,"rounded rect rectangle box"),this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;",40,20,"Text","Text",null,null,"text textbox textarea label"), this.createVertexTemplateEntry("text;html=1;strokeColor=none;fillColor=none;spacing=5;spacingTop=-20;whiteSpace=wrap;overflow=hidden;rounded=0;",190,120,"<h1>Heading</h1><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>","Textbox",null,null,"text textbox textarea"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;",120,80,"","Ellipse",null,null,"oval ellipse state"),this.createVertexTemplateEntry("whiteSpace=wrap;html=1;aspect=fixed;", 80,80,"","Square",null,null,"square"),this.createVertexTemplateEntry("ellipse;whiteSpace=wrap;html=1;aspect=fixed;",80,80,"","Circle",null,null,"circle"),this.createVertexTemplateEntry("shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;",120,60,"","Process",null,null,"process task"),this.createVertexTemplateEntry("rhombus;whiteSpace=wrap;html=1;",80,80,"","Diamond",null,null,"diamond rhombus if condition decision conditional question test"),this.createVertexTemplateEntry("shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;", @@ -2308,100 +2309,100 @@ this.createVertexTemplateEntry("shape=mxgraph.bpmn.compensation;html=1;outlineCo 100,0,"","Conditional Flow",null,"bpmn conditional flow"),this.createEdgeTemplateEntry("startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;",100,0,"","Message Flow 1",null,"bpmn message flow"),this.addEntry("bpmn message flow",function(){var a=new mxCell("",new mxGeometry(0,0,0,0),"startArrow=oval;startFill=0;startSize=7;endArrow=block;endFill=0;endSize=10;dashed=1;html=1;");a.geometry.setTerminalPoint(new mxPoint(0,0),!0);a.geometry.setTerminalPoint(new mxPoint(100, 0),!1);a.geometry.relative=!0;a.edge=!0;var b=new mxCell("",new mxGeometry(0,0,20,14),"shape=message;html=1;outlineConnect=0;");b.geometry.relative=!0;b.vertex=!0;b.geometry.offset=new mxPoint(-10,-7);a.insert(b);return d.createEdgeTemplateFromCells([a],100,0,"Message Flow 2")}),this.createEdgeTemplateEntry("shape=link;html=1;",100,0,"","Link",null,"bpmn link")];this.addPaletteFunctions("bpmn","BPMN "+mxResources.get("general"),!1,b)}; Sidebar.prototype.createTitle=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.setAttribute("title",mxResources.get("sidebarTooltip"));c.className="geTitle";mxUtils.write(c,a);return c}; -Sidebar.prototype.createThumb=function(a,c,d,b,f,e,k,g,h){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| +Sidebar.prototype.createThumb=function(a,c,d,b,f,e,h,g,k){this.graph.labelsVisible=null==e||e;e=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;this.graph.view.scaleAndTranslate(1,0,0);this.graph.addCells(a);a=this.graph.getGraphBounds();g=Math.floor(100*Math.min((c-2*this.thumbBorder)/a.width,(d-2*this.thumbBorder)/a.height))/100;this.graph.view.scaleAndTranslate(g,Math.floor((c-a.width*g)/2/g-a.x),Math.floor((d-a.height*g)/2/g-a.y));if(this.graph.dialect!=mxConstants.DIALECT_SVG|| mxClient.NO_FO){if(g=this.graph.container.cloneNode(!1),g.innerHTML=this.graph.container.innerHTML,mxClient.IS_QUIRKS||8==document.documentMode)g.firstChild.style.overflow="visible"}else g=this.graph.view.getCanvas().ownerSVGElement.cloneNode(!0);this.graph.getModel().clear();mxClient.NO_FO=e;mxClient.IS_IE6&&(b.style.backgroundImage="url("+this.editorUi.editor.transparentImage+")");g.style.position="relative";g.style.overflow="hidden";g.style.cursor="move";g.style.left=this.thumbBorder+"px";g.style.top= -this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=k&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), +this.thumbBorder+"px";g.style.width=c+"px";g.style.height=d+"px";g.style.visibility="";g.style.minWidth="";g.style.minHeight="";b.appendChild(g);this.sidebarTitles&&null!=f&&0!=h&&(b.style.height=this.thumbHeight+(mxClient.IS_QUIRKS?2*this.thumbPadding+2:0)+this.sidebarTitleSize+8+"px",c=document.createElement("div"),c.style.fontSize=this.sidebarTitleSize+"px",c.style.color="#303030",c.style.textAlign="center",c.style.whiteSpace="nowrap",mxClient.IS_IE&&(c.style.height=this.sidebarTitleSize+12+"px"), c.style.paddingTop="4px",mxUtils.write(c,f),b.appendChild(c));return a}; -Sidebar.prototype.createItem=function(a,c,d,b,f,e,k){var g=document.createElement("a");g.setAttribute("href","javascript:void(0);");g.className="geItem";g.style.overflow="hidden";var h=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;g.style.width=this.thumbWidth+h+"px";g.style.height=this.thumbHeight+h+"px";g.style.padding=this.thumbPadding+"px";mxClient.IS_IE6&&(g.style.border="none");mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});this.createThumb(a,this.thumbWidth,this.thumbHeight, -g,c,d,b,f,e);var l=new mxRectangle(0,0,f,e);1<a.length||a[0].vertex?(b=this.createDragSource(g,this.createDropHandler(a,!0,k,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a),b.isGuidesEnabled=mxUtils.bind(this,function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled})):null!=a[0]&&a[0].edge&&(b=this.createDragSource(g,this.createDropHandler(a,!1,k,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a));mxClient.IS_IOS||mxEvent.addGestureListeners(g,null,mxUtils.bind(this, +Sidebar.prototype.createItem=function(a,c,d,b,f,e,h){var g=document.createElement("a");g.setAttribute("href","javascript:void(0);");g.className="geItem";g.style.overflow="hidden";var k=mxClient.IS_QUIRKS?8+2*this.thumbPadding:2*this.thumbBorder;g.style.width=this.thumbWidth+k+"px";g.style.height=this.thumbHeight+k+"px";g.style.padding=this.thumbPadding+"px";mxClient.IS_IE6&&(g.style.border="none");mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});this.createThumb(a,this.thumbWidth,this.thumbHeight, +g,c,d,b,f,e);var l=new mxRectangle(0,0,f,e);1<a.length||a[0].vertex?(b=this.createDragSource(g,this.createDropHandler(a,!0,h,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a),b.isGuidesEnabled=mxUtils.bind(this,function(){return this.editorUi.editor.graph.graphHandler.guidesEnabled})):null!=a[0]&&a[0].edge&&(b=this.createDragSource(g,this.createDropHandler(a,!1,h,l),this.createDragPreview(f,e),a,l),this.addClickHandler(g,b,a));mxClient.IS_IOS||mxEvent.addGestureListeners(g,null,mxUtils.bind(this, function(b){mxEvent.isMouseEvent(b)&&this.showTooltip(g,a,l.width,l.height,c,d)}));return g}; -Sidebar.prototype.updateShapes=function(a,c){var d=this.editorUi.editor.graph,b=d.getCellStyle(a),f=[];d.model.beginUpdate();try{for(var e=d.getModel().getStyle(a),k="shadow dashed dashPattern fontFamily fontSize fontColor align startFill startSize endFill endSize strokeColor strokeWidth fillColor gradientColor html part noEdgeStyle edgeStyle elbow childLayout recursiveResize container collapsible connectable".split(" "),g=0;g<c.length;g++){var h=c[g];if(d.getModel().isVertex(h)==d.getModel().isVertex(a)|| -d.getModel().isEdge(h)==d.getModel().isEdge(a)){var l=d.view.getState(h),m=null!=l?l.style:d.getCellStyle(c[g]);d.getModel().setStyle(h,e);if(null!=l&&"1"==mxUtils.getValue(l.style,"composite","0"))for(var n=d.model.getChildCount(h);0<=n;n--)d.model.remove(d.model.getChildAt(h,n));if(null!=m)for("umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=b[mxConstants.STYLE_SHAPE]&&(d.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[h]),d.setCellStyles("participant",b[mxConstants.STYLE_SHAPE],[h])), -n=0;n<k.length;n++){var p=m[k[n]];null!=p&&d.setCellStyles(k[n],p,[h])}f.push(h)}}}finally{d.model.endUpdate()}return f}; -Sidebar.prototype.createDropHandler=function(a,c,d,b){d=null!=d?d:!0;return mxUtils.bind(this,function(f,e,k,g,h,l){for(l=l?null:mxEvent.isTouchEvent(e)||mxEvent.isPenEvent(e)?document.elementFromPoint(mxEvent.getClientX(e),mxEvent.getClientY(e)):mxEvent.getSource(e);null!=l&&l!=this.container;)l=l.parentNode;if(null==l&&f.isEnabled()){a=f.getImportableCells(a);if(0<a.length){f.stopEditing();l=null==k||mxEvent.isAltDown(e)?!1:f.isValidDropTarget(k,a,e);var m=null;null==k||l||(k=null);if(!f.isCellLocked(k|| -f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);h=Math.round(h);if(c&&f.isSplitTarget(k,a,e)){var n=f.cloneCells(a);f.splitEdge(k,n,null,g-b.width/2,h-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,h,k));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(k);if(null!=p){var q=f.view.scale,r=f.view.translate,t=(g+r.x)*q,w=(h+r.y)*q;for(k=0;k<m.length;k++)p.moveCell(m[k],t,w)}}d&&f.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{f.model.endUpdate()}null!= +Sidebar.prototype.updateShapes=function(a,c){var d=this.editorUi.editor.graph,b=d.getCellStyle(a),f=[];d.model.beginUpdate();try{for(var e=d.getModel().getStyle(a),h="shadow dashed dashPattern fontFamily fontSize fontColor align startFill startSize endFill endSize strokeColor strokeWidth fillColor gradientColor html part noEdgeStyle edgeStyle elbow childLayout recursiveResize container collapsible connectable".split(" "),g=0;g<c.length;g++){var k=c[g];if(d.getModel().isVertex(k)==d.getModel().isVertex(a)|| +d.getModel().isEdge(k)==d.getModel().isEdge(a)){var l=d.view.getState(k),m=null!=l?l.style:d.getCellStyle(c[g]);d.getModel().setStyle(k,e);if(null!=l&&"1"==mxUtils.getValue(l.style,"composite","0"))for(var n=d.model.getChildCount(k);0<=n;n--)d.model.remove(d.model.getChildAt(k,n));if(null!=m)for("umlLifeline"==m[mxConstants.STYLE_SHAPE]&&"umlLifeline"!=b[mxConstants.STYLE_SHAPE]&&(d.setCellStyles(mxConstants.STYLE_SHAPE,"umlLifeline",[k]),d.setCellStyles("participant",b[mxConstants.STYLE_SHAPE],[k])), +n=0;n<h.length;n++){var p=m[h[n]];null!=p&&d.setCellStyles(h[n],p,[k])}f.push(k)}}}finally{d.model.endUpdate()}return f}; +Sidebar.prototype.createDropHandler=function(a,c,d,b){d=null!=d?d:!0;return mxUtils.bind(this,function(f,e,h,g,k,l){for(l=l?null:mxEvent.isTouchEvent(e)||mxEvent.isPenEvent(e)?document.elementFromPoint(mxEvent.getClientX(e),mxEvent.getClientY(e)):mxEvent.getSource(e);null!=l&&l!=this.container;)l=l.parentNode;if(null==l&&f.isEnabled()){a=f.getImportableCells(a);if(0<a.length){f.stopEditing();l=null==h||mxEvent.isAltDown(e)?!1:f.isValidDropTarget(h,a,e);var m=null;null==h||l||(h=null);if(!f.isCellLocked(h|| +f.getDefaultParent())){f.model.beginUpdate();try{g=Math.round(g);k=Math.round(k);if(c&&f.isSplitTarget(h,a,e)){var n=f.cloneCells(a);f.splitEdge(h,n,null,g-b.width/2,k-b.height/2);m=n}else 0<a.length&&(m=f.importCells(a,g,k,h));if(null!=f.layoutManager){var p=f.layoutManager.getLayout(h);if(null!=p){var q=f.view.scale,t=f.view.translate,r=(g+t.x)*q,v=(k+t.y)*q;for(h=0;h<m.length;h++)p.moveCell(m[h],r,v)}}d&&f.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{f.model.endUpdate()}null!= m&&0<m.length&&(f.scrollCellToVisible(m[0]),f.setSelectionCells(m));f.editAfterInsert&&null!=e&&mxEvent.isMouseEvent(e)&&null!=m&&1==m.length&&window.setTimeout(function(){f.startEditing(m[0])},0)}}mxEvent.consume(e)}})};Sidebar.prototype.createDragPreview=function(a,c){var d=document.createElement("div");d.style.border=this.dragPreviewBorder;d.style.width=a+"px";d.style.height=c+"px";return d}; -Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),k=[];if(null!=e){var g=this.editorUi.editor.graph,h=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var q=g.layoutManager.getLayout(n);if(null!=q&&q.constructor==mxStackLayout&&(p=!1,k=g.view.getState(n),null!=k)){var r=new mxPoint(k.x/g.view.scale-g.view.translate.x,k.y/g.view.scale-g.view.translate.y);e.x+= -r.x;e.y+=r.y;var t=e.getTerminalPoint(!1);null!=t&&(t.x+=r.x,t.y+=r.y)}}var w=m.x,v=m.y;g.model.isEdge(c[b])&&(v=w=0);var u=g.model.isEdge(a)||null!=l&&!l.relative&&p,k=c=g.importCells(c,e.x-(u?w:0),e.y-(u?v:0),u?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var z=g.getCellGeometry(c[b]);z.points=null;if(null!=z.getTerminalPoint(!1))z.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(u&&g.model.isVertex(n)){var x= -g.view.getState(n),r=x.cell!=g.view.currentRoot?new mxPoint(x.x/g.view.scale-g.view.translate.x,x.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,r.x,r.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),w=e.x-Math.round(m.x),v=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,w,v,null,null,!0),k=c.slice(),h=1==k.length?k[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));g.fireEvent(new mxEventObject("cellsInserted", -"cells",c))}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=h&&window.setTimeout(function(){g.startEditing(h)},0)}return k}; -Sidebar.prototype.getDropAndConnectGeometry=function(a,c,d,b){var f=this.editorUi.editor.graph,e=f.view,k=1<b.length,g=f.getCellGeometry(a);b=f.getCellGeometry(c);null!=g&&null!=b&&(b=b.clone(),f.model.isEdge(a)?(a=f.view.getState(a),g=a.absolutePoints,c=g[0],f=g[g.length-1],d==mxConstants.DIRECTION_NORTH?(b.x=c.x/e.scale-e.translate.x-b.width/2,b.y=c.y/e.scale-e.translate.y-b.height/2):(b.x=f.x/e.scale-e.translate.x-b.width/2,b.y=f.y/e.scale-e.translate.y-b.height/2)):(g.relative&&(a=f.view.getState(a), +Sidebar.prototype.dropAndConnect=function(a,c,d,b,f){var e=this.getDropAndConnectGeometry(a,c[b],d,c),h=[];if(null!=e){var g=this.editorUi.editor.graph,k=null;g.model.beginUpdate();try{var l=g.getCellGeometry(a),m=g.getCellGeometry(c[b]),n=g.model.getParent(a),p=!0;if(null!=g.layoutManager){var q=g.layoutManager.getLayout(n);if(null!=q&&q.constructor==mxStackLayout&&(p=!1,h=g.view.getState(n),null!=h)){var t=new mxPoint(h.x/g.view.scale-g.view.translate.x,h.y/g.view.scale-g.view.translate.y);e.x+= +t.x;e.y+=t.y;var r=e.getTerminalPoint(!1);null!=r&&(r.x+=t.x,r.y+=t.y)}}var v=m.x,w=m.y;g.model.isEdge(c[b])&&(w=v=0);var u=g.model.isEdge(a)||null!=l&&!l.relative&&p,h=c=g.importCells(c,e.x-(u?v:0),e.y-(u?w:0),u?n:null);if(g.model.isEdge(a))g.model.setTerminal(a,c[b],d==mxConstants.DIRECTION_NORTH);else if(g.model.isEdge(c[b])){g.model.setTerminal(c[b],a,!0);var z=g.getCellGeometry(c[b]);z.points=null;if(null!=z.getTerminalPoint(!1))z.setTerminalPoint(e.getTerminalPoint(!1),!1);else if(u&&g.model.isVertex(n)){var x= +g.view.getState(n),t=x.cell!=g.view.currentRoot?new mxPoint(x.x/g.view.scale-g.view.translate.x,x.y/g.view.scale-g.view.translate.y):new mxPoint(0,0);g.cellsMoved(c,t.x,t.y,null,null,!0)}}else m=g.getCellGeometry(c[b]),v=e.x-Math.round(m.x),w=e.y-Math.round(m.y),e.x=Math.round(m.x),e.y=Math.round(m.y),g.model.setGeometry(c[b],e),g.cellsMoved(c,v,w,null,null,!0),h=c.slice(),k=1==h.length?h[0]:null,c.push(g.insertEdge(null,null,"",a,c[b],g.createCurrentEdgeStyle()));g.fireEvent(new mxEventObject("cellsInserted", +"cells",c))}finally{g.model.endUpdate()}g.editAfterInsert&&null!=f&&mxEvent.isMouseEvent(f)&&null!=k&&window.setTimeout(function(){g.startEditing(k)},0)}return h}; +Sidebar.prototype.getDropAndConnectGeometry=function(a,c,d,b){var f=this.editorUi.editor.graph,e=f.view,h=1<b.length,g=f.getCellGeometry(a);b=f.getCellGeometry(c);null!=g&&null!=b&&(b=b.clone(),f.model.isEdge(a)?(a=f.view.getState(a),g=a.absolutePoints,c=g[0],f=g[g.length-1],d==mxConstants.DIRECTION_NORTH?(b.x=c.x/e.scale-e.translate.x-b.width/2,b.y=c.y/e.scale-e.translate.y-b.height/2):(b.x=f.x/e.scale-e.translate.x-b.width/2,b.y=f.y/e.scale-e.translate.y-b.height/2)):(g.relative&&(a=f.view.getState(a), g=g.clone(),g.x=(a.x-e.translate.x)/e.scale,g.y=(a.y-e.translate.y)/e.scale),e=f.defaultEdgeLength,f.model.isEdge(c)&&null!=b.getTerminalPoint(!0)&&null!=b.getTerminalPoint(!1)?(c=b.getTerminalPoint(!0),f=b.getTerminalPoint(!1),e=f.x-c.x,c=f.y-c.y,e=Math.sqrt(e*e+c*c),b.x=g.getCenterX(),b.y=g.getCenterY(),b.width=1,b.height=1,d==mxConstants.DIRECTION_NORTH?(b.height=e,b.y=g.y-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1)):d==mxConstants.DIRECTION_EAST?(b.width=e,b.x=g.x+g.width,b.setTerminalPoint(new mxPoint(b.x+ -b.width,b.y),!1)):d==mxConstants.DIRECTION_SOUTH?(b.height=e,b.y=g.y+g.height,b.setTerminalPoint(new mxPoint(b.x,b.y+b.height),!1)):d==mxConstants.DIRECTION_WEST&&(b.width=e,b.x=g.x-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1))):(!k&&45<b.width&&45<b.height&&45<g.width&&45<g.height&&(b.width*=g.height/b.height,b.height=g.height),b.x=g.x+g.width/2-b.width/2,b.y=g.y+g.height/2-b.height/2,d==mxConstants.DIRECTION_NORTH?b.y=b.y-g.height/2-b.height/2-e:d==mxConstants.DIRECTION_EAST?b.x=b.x+g.width/2+ +b.width,b.y),!1)):d==mxConstants.DIRECTION_SOUTH?(b.height=e,b.y=g.y+g.height,b.setTerminalPoint(new mxPoint(b.x,b.y+b.height),!1)):d==mxConstants.DIRECTION_WEST&&(b.width=e,b.x=g.x-e,b.setTerminalPoint(new mxPoint(b.x,b.y),!1))):(!h&&45<b.width&&45<b.height&&45<g.width&&45<g.height&&(b.width*=g.height/b.height,b.height=g.height),b.x=g.x+g.width/2-b.width/2,b.y=g.y+g.height/2-b.height/2,d==mxConstants.DIRECTION_NORTH?b.y=b.y-g.height/2-b.height/2-e:d==mxConstants.DIRECTION_EAST?b.x=b.x+g.width/2+ b.width/2+e:d==mxConstants.DIRECTION_SOUTH?b.y=b.y+g.height/2+b.height/2+e:d==mxConstants.DIRECTION_WEST&&(b.x=b.x-g.width/2-b.width/2-e),f.model.isEdge(c)&&null!=b.getTerminalPoint(!0)&&null!=c.getTerminal(!1)&&(g=f.getCellGeometry(c.getTerminal(!1)),null!=g&&(d==mxConstants.DIRECTION_NORTH?(b.x-=g.getCenterX(),b.y-=g.getCenterY()+g.height/2):d==mxConstants.DIRECTION_EAST?(b.x-=g.getCenterX()-g.width/2,b.y-=g.getCenterY()):d==mxConstants.DIRECTION_SOUTH?(b.x-=g.getCenterX(),b.y-=g.getCenterY()-g.height/ 2):d==mxConstants.DIRECTION_WEST&&(b.x-=g.getCenterX()+g.width/2,b.y-=g.getCenterY()))))));return b}; Sidebar.prototype.createDragSource=function(a,c,d,b,f){function e(a,b){var c;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(c=document.createElement(mxClient.VML_PREFIX+":image"),c.setAttribute("src",a.src),c.style.borderStyle="none"):(c=document.createElement("div"),c.style.backgroundImage="url("+a.src+")",c.style.backgroundPosition="center",c.style.backgroundRepeat="no-repeat"),c.style.width=a.width+4+"px",c.style.height=a.height+4+"px",c.style.display=mxClient.IS_QUIRKS? -"inline":"inline-block"):(c=mxUtils.createImage(a.src),c.style.width=a.width+"px",c.style.height=a.height+"px");null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function k(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),E=d):mxUtils.setOpacity(d,d==D?30:20));return c}for(var g=this.editorUi,h=g.editor.graph,l=null,m=null,n=this,p=0;p<b.length&&(null==m&&this.editorUi.editor.graph.model.isVertex(b[p])? -m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var q=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,g,f){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=v&&E==D){var k=a.isCellSelected(v.cell)?a.getSelectionCells():[v.cell],k=this.updateShapes(a.model.isEdge(v.cell)?b[0]:b[m],k);a.setSelectionCells(k)}else null!=b&&null!=E&&null!= -t&&E!=D?(k=a.model.isEdge(t.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(t.cell,b,I,k,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(a,b){q.isActive()&&q.reset()});var r=q.mouseDown;q.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(h.stopEditing(),r.apply(this, -arguments))};var t=null,w=null,v=null,u=!1,z=e(this.triangleUp,mxResources.get("connect")),x=e(this.triangleRight,mxResources.get("connect")),C=e(this.triangleDown,mxResources.get("connect")),A=e(this.triangleLeft,mxResources.get("connect")),D=e(this.refreshTarget,mxResources.get("replace")),B=null,L=e(this.roundDrop),K=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,E=null,J=q.createPreviewElement;q.createPreviewElement=function(a){var b=J.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents= +"inline":"inline-block"):(c=mxUtils.createImage(a.src),c.style.width=a.width+"px",c.style.height=a.height+"px");null!=b&&c.setAttribute("title",b);mxUtils.setOpacity(c,a==this.refreshTarget?30:20);c.style.position="absolute";c.style.cursor="crosshair";return c}function h(a,b,c,d){null!=d.parentNode&&(mxUtils.contains(c,a,b)?(mxUtils.setOpacity(d,100),E=d):mxUtils.setOpacity(d,d==C?30:20));return c}for(var g=this.editorUi,k=g.editor.graph,l=null,m=null,n=this,p=0;p<b.length&&(null==m&&this.editorUi.editor.graph.model.isVertex(b[p])? +m=p:null==l&&this.editorUi.editor.graph.model.isEdge(b[p])&&null==this.editorUi.editor.graph.model.getTerminal(b[p],!0)&&(l=p),null==m||null==l);p++);var q=mxUtils.makeDraggable(a,this.editorUi.editor.graph,mxUtils.bind(this,function(a,d,e,f,g){null!=this.updateThread&&window.clearTimeout(this.updateThread);if(null!=b&&null!=w&&E==C){var h=a.isCellSelected(w.cell)?a.getSelectionCells():[w.cell],h=this.updateShapes(a.model.isEdge(w.cell)?b[0]:b[m],h);a.setSelectionCells(h)}else null!=b&&null!=E&&null!= +r&&E!=C?(h=a.model.isEdge(r.cell)||null==l?m:l,a.setSelectionCells(this.dropAndConnect(r.cell,b,I,h,d))):c.apply(this,arguments);null!=this.editorUi.hoverIcons&&this.editorUi.hoverIcons.update(a.view.getState(a.getSelectionCell()))}),d,0,0,this.editorUi.editor.graph.autoscroll,!0,!0);this.editorUi.editor.graph.addListener(mxEvent.ESCAPE,function(a,b){q.isActive()&&q.reset()});var t=q.mouseDown;q.mouseDown=function(a){mxEvent.isPopupTrigger(a)||mxEvent.isMultiTouchEvent(a)||(k.stopEditing(),t.apply(this, +arguments))};var r=null,v=null,w=null,u=!1,z=e(this.triangleUp,mxResources.get("connect")),x=e(this.triangleRight,mxResources.get("connect")),D=e(this.triangleDown,mxResources.get("connect")),A=e(this.triangleLeft,mxResources.get("connect")),C=e(this.refreshTarget,mxResources.get("replace")),B=null,L=e(this.roundDrop),K=e(this.roundDrop),I=mxConstants.DIRECTION_NORTH,E=null,J=q.createPreviewElement;q.createPreviewElement=function(a){var b=J.apply(this,arguments);mxClient.IS_SVG&&(b.style.pointerEvents= "none");this.previewElementWidth=b.style.width;this.previewElementHeight=b.style.height;return b};var N=q.dragEnter;q.dragEnter=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("none");N.apply(this,arguments)};var Q=q.dragExit;q.dragExit=function(a,b){null!=g.hoverIcons&&g.hoverIcons.setDisplay("");Q.apply(this,arguments)};q.dragOver=function(a,c){mxDragSource.prototype.dragOver.apply(this,arguments);null!=this.currentGuide&&null!=E&&this.currentGuide.hide();if(null!=this.previewElement){var d= -a.view;if(null!=v&&E==D)this.previewElement.style.display=a.model.isEdge(v.cell)?"none":"",this.previewElement.style.left=v.x+"px",this.previewElement.style.top=v.y+"px",this.previewElement.style.width=v.width+"px",this.previewElement.style.height=v.height+"px";else if(null!=t&&null!=E){var e=a.model.isEdge(t.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(t.cell,b[e],I,b),k=a.model.isEdge(t.cell)?null:a.getCellGeometry(t.cell),h=a.getCellGeometry(b[e]),y=a.model.getParent(t.cell),G=d.translate.x* -d.scale,H=d.translate.y*d.scale;null!=k&&!k.relative&&a.model.isVertex(y)&&y!=d.currentRoot&&(H=d.getState(y),G=H.x,H=H.y);k=h.x;h=h.y;a.model.isEdge(b[e])&&(h=k=0);this.previewElement.style.left=(g.x-k)*d.scale+G+"px";this.previewElement.style.top=(g.y-h)*d.scale+H+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=q.currentHighlight.state&&a.model.isEdge(q.currentHighlight.state.cell)? -(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var P=(new Date).getTime(),F=0,G=null,H=this.editorUi.editor.graph.getCellStyle(b[0]);q.getDropTarget=mxUtils.bind(this,function(a, -c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var h=a.view.getState(g),f=E=null;G!=h?(G=h,P=(new Date).getTime(),F=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=h&&(this.updateThread=window.setTimeout(function(){null==E&&(G=h,q.getDropTarget(a,c,d,e))},this.dropTargetDelay+ -10))):F=(new Date).getTime()-P;if(2500>F&&null!=h&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(h.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(H,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(h.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(h.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(H,mxConstants.STYLE_SHAPE)|| -1500<F||a.model.isEdge(h.cell))&&F>this.dropTargetDelay&&(a.model.isVertex(h.cell)&&null!=m||a.model.isEdge(h.cell)&&a.model.isEdge(b[0]))){v=h;var l=a.model.isEdge(h.cell)?a.view.getPoint(h):new mxPoint(h.getCenterX(),h.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);D.style.left=Math.floor(l.x)+"px";D.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(D),B=D.parentNode);k(c,d,l,D)}else null== -v||!mxUtils.contains(v,c,d)||1500<F&&!mxEvent.isShiftDown(e)?(v=null,null!=B&&(D.parentNode.removeChild(D),B=null)):null!=v&&null!=B&&(l=a.model.isEdge(v.cell)?a.view.getPoint(v):new mxPoint(v.getCenterX(),v.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),k(c,d,l,D));if(u&&null!=t&&!mxEvent.isAltDown(e)&&null==E){f=mxRectangle.fromRectangle(t);if(a.model.isEdge(t.cell)){var y=t.absolutePoints;null!= -L.parentNode&&(l=y[0],f.add(k(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),L)));null!=K.parentNode&&(y=y[y.length-1],f.add(k(c,d,new mxRectangle(y.x-this.roundDrop.width/2,y.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),K)))}else l=mxRectangle.fromRectangle(t),null!=t.shape&&null!=t.shape.boundingBox&&(l=mxRectangle.fromRectangle(t.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing), -y=this.graph.selectionCellsHandler.getHandler(t.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)),f.add(k(c,d,new mxRectangle(t.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height), -z)),f.add(k(c,d,new mxRectangle(l.x+l.width,t.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),x)),f.add(k(c,d,new mxRectangle(t.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),C)),f.add(k(c,d,new mxRectangle(l.x-this.triangleLeft.width,t.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),A));null!=f&&f.grow(10)}I=mxConstants.DIRECTION_NORTH;E==x?I=mxConstants.DIRECTION_EAST: -E==C||E==K?I=mxConstants.DIRECTION_SOUTH:E==A&&(I=mxConstants.DIRECTION_WEST);null!=v&&E==D&&(h=v);l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=t&&5E3<=F||t!=h&&(null==f||!mxUtils.contains(f,c,d)||500<F&&null==E&&l))if(u=!1,t=5E3>F&&F>this.dropTargetDelay||a.model.isEdge(g)?h:null,null!=t&&l){f=[L,K,z,x,C,A];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(y=h.absolutePoints, -null!=y&&(l=y[0],y=y[y.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),L.style.left=Math.floor(l.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",K.style.left=Math.floor(y.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(y.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(L),null==a.model.getTerminal(g,!1)&&a.container.appendChild(K))):(l=mxRectangle.fromRectangle(h),null!=h.shape&&null!=h.shape.boundingBox&& -(l=mxRectangle.fromRectangle(h.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),y=this.graph.selectionCellsHandler.getHandler(h.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)), -z.style.left=Math.floor(h.getCenterX()-this.triangleUp.width/2)+"px",z.style.top=Math.floor(l.y-this.triangleUp.height)+"px",x.style.left=Math.floor(l.x+l.width)+"px",x.style.top=Math.floor(h.getCenterY()-this.triangleRight.height/2)+"px",C.style.left=z.style.left,C.style.top=Math.floor(l.y+l.height)+"px",A.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",A.style.top=x.style.top,"eastwest"!=h.style.portConstraint&&(a.container.appendChild(z),a.container.appendChild(C)),a.container.appendChild(x), -a.container.appendChild(A));null!=h&&(w=a.selectionCellsHandler.getHandler(h.cell),null!=w&&null!=w.setHandlesVisible&&w.setHandlesVisible(!1));u=!0}else for(f=[L,K,z,x,C,A],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);u||null==w||w.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=v&&E==D?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=E||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g, -b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||a.isCellLocked(g)||f.isEdge(g))g=null}return g});q.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[L,K,D,z,x,C,A],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=t&&null!=w&&w.reset();E=B=v=t=w=null};return q}; +a.view;if(null!=w&&E==C)this.previewElement.style.display=a.model.isEdge(w.cell)?"none":"",this.previewElement.style.left=w.x+"px",this.previewElement.style.top=w.y+"px",this.previewElement.style.width=w.width+"px",this.previewElement.style.height=w.height+"px";else if(null!=r&&null!=E){var e=a.model.isEdge(r.cell)||null==l?m:l,g=n.getDropAndConnectGeometry(r.cell,b[e],I,b),h=a.model.isEdge(r.cell)?null:a.getCellGeometry(r.cell),k=a.getCellGeometry(b[e]),y=a.model.getParent(r.cell),G=d.translate.x* +d.scale,H=d.translate.y*d.scale;null!=h&&!h.relative&&a.model.isVertex(y)&&y!=d.currentRoot&&(H=d.getState(y),G=H.x,H=H.y);h=k.x;k=k.y;a.model.isEdge(b[e])&&(k=h=0);this.previewElement.style.left=(g.x-h)*d.scale+G+"px";this.previewElement.style.top=(g.y-k)*d.scale+H+"px";1==b.length&&(this.previewElement.style.width=g.width*d.scale+"px",this.previewElement.style.height=g.height*d.scale+"px");this.previewElement.style.display=""}else null!=q.currentHighlight.state&&a.model.isEdge(q.currentHighlight.state.cell)? +(this.previewElement.style.left=Math.round(parseInt(this.previewElement.style.left)-f.width*d.scale/2)+"px",this.previewElement.style.top=Math.round(parseInt(this.previewElement.style.top)-f.height*d.scale/2)+"px"):(this.previewElement.style.width=this.previewElementWidth,this.previewElement.style.height=this.previewElementHeight,this.previewElement.style.display="")}};var O=(new Date).getTime(),F=0,G=null,H=this.editorUi.editor.graph.getCellStyle(b[0]);q.getDropTarget=mxUtils.bind(this,function(a, +c,d,e){var g=mxEvent.isAltDown(e)||null==b?null:a.getCellAt(c,d);if(null!=g&&!this.graph.isCellConnectable(g)){var f=this.graph.getModel().getParent(g);this.graph.getModel().isVertex(f)&&this.graph.isCellConnectable(f)&&(g=f)}a.isCellLocked(g)&&(g=null);var k=a.view.getState(g),f=E=null;G!=k?(G=k,O=(new Date).getTime(),F=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=k&&(this.updateThread=window.setTimeout(function(){null==E&&(G=k,q.getDropTarget(a,c,d,e))},this.dropTargetDelay+ +10))):F=(new Date).getTime()-O;if(2500>F&&null!=k&&!mxEvent.isShiftDown(e)&&(mxUtils.getValue(k.style,mxConstants.STYLE_SHAPE)!=mxUtils.getValue(H,mxConstants.STYLE_SHAPE)&&(mxUtils.getValue(k.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE)!=mxConstants.NONE||mxUtils.getValue(k.style,mxConstants.STYLE_GRADIENTCOLOR,mxConstants.NONE)!=mxConstants.NONE)||"image"==mxUtils.getValue(H,mxConstants.STYLE_SHAPE)|| +1500<F||a.model.isEdge(k.cell))&&F>this.dropTargetDelay&&(a.model.isVertex(k.cell)&&null!=m||a.model.isEdge(k.cell)&&a.model.isEdge(b[0]))){w=k;var l=a.model.isEdge(k.cell)?a.view.getPoint(k):new mxPoint(k.getCenterX(),k.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height);C.style.left=Math.floor(l.x)+"px";C.style.top=Math.floor(l.y)+"px";null==B&&(a.container.appendChild(C),B=C.parentNode);h(c,d,l,C)}else null== +w||!mxUtils.contains(w,c,d)||1500<F&&!mxEvent.isShiftDown(e)?(w=null,null!=B&&(C.parentNode.removeChild(C),B=null)):null!=w&&null!=B&&(l=a.model.isEdge(w.cell)?a.view.getPoint(w):new mxPoint(w.getCenterX(),w.getCenterY()),l=new mxRectangle(l.x-this.refreshTarget.width/2,l.y-this.refreshTarget.height/2,this.refreshTarget.width,this.refreshTarget.height),h(c,d,l,C));if(u&&null!=r&&!mxEvent.isAltDown(e)&&null==E){f=mxRectangle.fromRectangle(r);if(a.model.isEdge(r.cell)){var y=r.absolutePoints;null!= +L.parentNode&&(l=y[0],f.add(h(c,d,new mxRectangle(l.x-this.roundDrop.width/2,l.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),L)));null!=K.parentNode&&(y=y[y.length-1],f.add(h(c,d,new mxRectangle(y.x-this.roundDrop.width/2,y.y-this.roundDrop.height/2,this.roundDrop.width,this.roundDrop.height),K)))}else l=mxRectangle.fromRectangle(r),null!=r.shape&&null!=r.shape.boundingBox&&(l=mxRectangle.fromRectangle(r.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing), +y=this.graph.selectionCellsHandler.getHandler(r.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleUp.width/2,l.y-this.triangleUp.height,this.triangleUp.width,this.triangleUp.height), +z)),f.add(h(c,d,new mxRectangle(l.x+l.width,r.getCenterY()-this.triangleRight.height/2,this.triangleRight.width,this.triangleRight.height),x)),f.add(h(c,d,new mxRectangle(r.getCenterX()-this.triangleDown.width/2,l.y+l.height,this.triangleDown.width,this.triangleDown.height),D)),f.add(h(c,d,new mxRectangle(l.x-this.triangleLeft.width,r.getCenterY()-this.triangleLeft.height/2,this.triangleLeft.width,this.triangleLeft.height),A));null!=f&&f.grow(10)}I=mxConstants.DIRECTION_NORTH;E==x?I=mxConstants.DIRECTION_EAST: +E==D||E==K?I=mxConstants.DIRECTION_SOUTH:E==A&&(I=mxConstants.DIRECTION_WEST);null!=w&&E==C&&(k=w);l=(null==m||a.isCellConnectable(b[m]))&&(a.model.isEdge(g)&&null!=m||a.model.isVertex(g)&&a.isCellConnectable(g));if(null!=r&&5E3<=F||r!=k&&(null==f||!mxUtils.contains(f,c,d)||500<F&&null==E&&l))if(u=!1,r=5E3>F&&F>this.dropTargetDelay||a.model.isEdge(g)?k:null,null!=r&&l){f=[L,K,z,x,D,A];for(l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);a.model.isEdge(g)?(y=k.absolutePoints, +null!=y&&(l=y[0],y=y[y.length-1],f=a.tolerance,new mxRectangle(c-f,d-f,2*f,2*f),L.style.left=Math.floor(l.x-this.roundDrop.width/2)+"px",L.style.top=Math.floor(l.y-this.roundDrop.height/2)+"px",K.style.left=Math.floor(y.x-this.roundDrop.width/2)+"px",K.style.top=Math.floor(y.y-this.roundDrop.height/2)+"px",null==a.model.getTerminal(g,!0)&&a.container.appendChild(L),null==a.model.getTerminal(g,!1)&&a.container.appendChild(K))):(l=mxRectangle.fromRectangle(k),null!=k.shape&&null!=k.shape.boundingBox&& +(l=mxRectangle.fromRectangle(k.shape.boundingBox)),l.grow(this.graph.tolerance),l.grow(HoverIcons.prototype.arrowSpacing),y=this.graph.selectionCellsHandler.getHandler(k.cell),null!=y&&(l.x-=y.horizontalOffset/2,l.y-=y.verticalOffset/2,l.width+=y.horizontalOffset,l.height+=y.verticalOffset,null!=y.rotationShape&&null!=y.rotationShape.node&&"hidden"!=y.rotationShape.node.style.visibility&&"none"!=y.rotationShape.node.style.display&&null!=y.rotationShape.boundingBox&&l.add(y.rotationShape.boundingBox)), +z.style.left=Math.floor(k.getCenterX()-this.triangleUp.width/2)+"px",z.style.top=Math.floor(l.y-this.triangleUp.height)+"px",x.style.left=Math.floor(l.x+l.width)+"px",x.style.top=Math.floor(k.getCenterY()-this.triangleRight.height/2)+"px",D.style.left=z.style.left,D.style.top=Math.floor(l.y+l.height)+"px",A.style.left=Math.floor(l.x-this.triangleLeft.width)+"px",A.style.top=x.style.top,"eastwest"!=k.style.portConstraint&&(a.container.appendChild(z),a.container.appendChild(D)),a.container.appendChild(x), +a.container.appendChild(A));null!=k&&(v=a.selectionCellsHandler.getHandler(k.cell),null!=v&&null!=v.setHandlesVisible&&v.setHandlesVisible(!1));u=!0}else for(f=[L,K,z,x,D,A],l=0;l<f.length;l++)null!=f[l].parentNode&&f[l].parentNode.removeChild(f[l]);u||null==v||v.setHandlesVisible(!0);g=mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)||null!=w&&E==C?null:mxDragSource.prototype.getDropTarget.apply(this,arguments);f=a.getModel();if(null!=g&&(null!=E||!a.isSplitTarget(g,b,e))){for(;null!=g&&!a.isValidDropTarget(g, +b,e)&&f.isVertex(f.getParent(g));)g=f.getParent(g);if(a.view.currentRoot==g||!a.isValidRoot(g)&&0==a.getModel().getChildCount(g)||a.isCellLocked(g)||f.isEdge(g))g=null}return g});q.stopDrag=function(){mxDragSource.prototype.stopDrag.apply(this,arguments);for(var a=[L,K,C,z,x,D,A],b=0;b<a.length;b++)null!=a[b].parentNode&&a[b].parentNode.removeChild(a[b]);null!=r&&null!=v&&v.reset();E=B=w=r=v=null};return q}; Sidebar.prototype.itemClicked=function(a,c,d,b){b=this.editorUi.editor.graph;b.container.focus();if(mxEvent.isAltDown(d)){if(1==b.getSelectionCount()&&b.model.isVertex(b.getSelectionCell())){c=null;for(var f=0;f<a.length&&null==c;f++)b.model.isVertex(a[f])&&(c=f);null!=c&&(b.setSelectionCells(this.dropAndConnect(b.getSelectionCell(),a,mxEvent.isMetaDown(d)||mxEvent.isControlDown(d)?mxEvent.isShiftDown(d)?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH:mxEvent.isShiftDown(d)?mxConstants.DIRECTION_EAST: mxConstants.DIRECTION_SOUTH,c,d)),b.scrollCellToVisible(b.getSelectionCell()))}}else mxEvent.isShiftDown(d)&&!b.isSelectionEmpty()?(this.updateShapes(a[0],b.getSelectionCells()),b.scrollCellToVisible(b.getSelectionCell())):(a=b.getFreeInsertPoint(),c.drop(b,d,null,a.x,a.y,!0),null!=this.editorUi.hoverIcons&&(mxEvent.isTouchEvent(d)||mxEvent.isPenEvent(d))&&this.editorUi.hoverIcons.update(b.view.getState(b.getSelectionCell())))}; -Sidebar.prototype.addClickHandler=function(a,c,d){var b=this.editorUi.editor.graph,f=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(a){e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))});c.mouseUp=mxUtils.bind(this,function(k){if(!mxEvent.isPopupTrigger(k)&&null==this.currentGraph&&null!=e){var g=b.tolerance;Math.abs(e.x-mxEvent.getClientX(k))<=g&&Math.abs(e.y-mxEvent.getClientY(k))<=g&&this.itemClicked(d,c,k,a)}f.apply(c,arguments);e=null;this.currentElt=a})}; -Sidebar.prototype.createVertexTemplateEntry=function(a,c,d,b,f,e,k,g){g=null!=g&&0<g.length?g:f.toLowerCase();return this.addEntry(g,mxUtils.bind(this,function(){return this.createVertexTemplate(a,c,d,b,f,e,k)}))};Sidebar.prototype.createVertexTemplate=function(a,c,d,b,f,e,k,g){a=[new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a)];a[0].vertex=!0;return this.createVertexTemplateFromCells(a,c,d,f,e,k,g)}; -Sidebar.prototype.createVertexTemplateFromData=function(a,c,d,b,f,e,k){a=mxUtils.parseXml(this.graph.decompress(a));var g=new mxCodec(a),h=new mxGraphModel;g.decode(a.documentElement,h);a=this.graph.cloneCells(h.root.getChildAt(0).children);return this.createVertexTemplateFromCells(a,c,d,b,f,e,k)};Sidebar.prototype.createVertexTemplateFromCells=function(a,c,d,b,f,e,k){return this.createItem(a,b,f,e,c,d,k)}; -Sidebar.prototype.createEdgeTemplateEntry=function(a,c,d,b,f,e,k,g){k=null!=k&&0<k.length?k:f.toLowerCase();return this.addEntry(k,mxUtils.bind(this,function(){return this.createEdgeTemplate(a,c,d,b,f,e,g)}))}; -Sidebar.prototype.createEdgeTemplate=function(a,c,d,b,f,e,k){a=new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a);a.geometry.setTerminalPoint(new mxPoint(0,d),!0);a.geometry.setTerminalPoint(new mxPoint(c,0),!1);a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],c,d,f,e,k)};Sidebar.prototype.createEdgeTemplateFromCells=function(a,c,d,b,f,e){return this.createItem(a,b,f,!0,c,d,e)}; +Sidebar.prototype.addClickHandler=function(a,c,d){var b=this.editorUi.editor.graph,f=c.mouseUp,e=null;mxEvent.addGestureListeners(a,function(a){e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))});c.mouseUp=mxUtils.bind(this,function(h){if(!mxEvent.isPopupTrigger(h)&&null==this.currentGraph&&null!=e){var g=b.tolerance;Math.abs(e.x-mxEvent.getClientX(h))<=g&&Math.abs(e.y-mxEvent.getClientY(h))<=g&&this.itemClicked(d,c,h,a)}f.apply(c,arguments);e=null;this.currentElt=a})}; +Sidebar.prototype.createVertexTemplateEntry=function(a,c,d,b,f,e,h,g){g=null!=g&&0<g.length?g:f.toLowerCase();return this.addEntry(g,mxUtils.bind(this,function(){return this.createVertexTemplate(a,c,d,b,f,e,h)}))};Sidebar.prototype.createVertexTemplate=function(a,c,d,b,f,e,h,g){a=[new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a)];a[0].vertex=!0;return this.createVertexTemplateFromCells(a,c,d,f,e,h,g)}; +Sidebar.prototype.createVertexTemplateFromData=function(a,c,d,b,f,e,h){a=mxUtils.parseXml(this.graph.decompress(a));var g=new mxCodec(a),k=new mxGraphModel;g.decode(a.documentElement,k);a=this.graph.cloneCells(k.root.getChildAt(0).children);return this.createVertexTemplateFromCells(a,c,d,b,f,e,h)};Sidebar.prototype.createVertexTemplateFromCells=function(a,c,d,b,f,e,h){return this.createItem(a,b,f,e,c,d,h)}; +Sidebar.prototype.createEdgeTemplateEntry=function(a,c,d,b,f,e,h,g){h=null!=h&&0<h.length?h:f.toLowerCase();return this.addEntry(h,mxUtils.bind(this,function(){return this.createEdgeTemplate(a,c,d,b,f,e,g)}))}; +Sidebar.prototype.createEdgeTemplate=function(a,c,d,b,f,e,h){a=new mxCell(null!=b?b:"",new mxGeometry(0,0,c,d),a);a.geometry.setTerminalPoint(new mxPoint(0,d),!0);a.geometry.setTerminalPoint(new mxPoint(c,0),!1);a.geometry.relative=!0;a.edge=!0;return this.createEdgeTemplateFromCells([a],c,d,f,e,h)};Sidebar.prototype.createEdgeTemplateFromCells=function(a,c,d,b,f,e){return this.createItem(a,b,f,!0,c,d,e)}; Sidebar.prototype.addPaletteFunctions=function(a,c,d,b){this.addPalette(a,c,d,mxUtils.bind(this,function(a){for(var c=0;c<b.length;c++)a.appendChild(b[c](a))}))}; Sidebar.prototype.addPalette=function(a,c,d,b){c=this.createTitle(c);this.container.appendChild(c);var f=document.createElement("div");f.className="geSidebar";mxClient.IS_POINTER&&(f.style.touchAction="none");d?(b(f),b=null):f.style.display="none";this.addFoldingHandler(c,f,b);d=document.createElement("div");d.appendChild(f);this.container.appendChild(d);null!=a&&(this.palettes[a]=[c,d]);return f}; Sidebar.prototype.addFoldingHandler=function(a,c,d){var b=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==c.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition="0% 50%";mxEvent.addListener(a,"click",mxUtils.bind(this,function(f){if("none"==c.style.display){if(b)c.style.display="block";else if(b=!0,null!=d){a.style.cursor="wait";var e=a.innerHTML;a.innerHTML=mxResources.get("loading")+ "...";window.setTimeout(function(){var b=mxClient.NO_FO;mxClient.NO_FO=Editor.prototype.originalNoForeignObject;d(c);mxClient.NO_FO=b;c.style.display="block";a.style.cursor="";a.innerHTML=e},0)}else c.style.display="block";a.style.backgroundImage="url('"+this.expandedImage+"')"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",c.style.display="none";mxEvent.consume(f)}))}; Sidebar.prototype.removePalette=function(a){var c=this.palettes[a];if(null!=c){this.palettes[a]=null;for(a=0;a<c.length;a++)this.container.removeChild(c[a]);return!0}return!1}; -Sidebar.prototype.addImagePalette=function(a,c,d,b,f,e,k){for(var g=[],h=0;h<f.length;h++)mxUtils.bind(this,function(a,c,e){if(null==e){e=a.lastIndexOf("/");var f=a.lastIndexOf(".");e=a.substring(0<=e?e+1:0,0<=f?f:a.length).replace(/[-_]/g," ")}g.push(this.createVertexTemplateEntry("image;html=1;labelBackgroundColor=#ffffff;image="+d+a+b,this.defaultImageWidth,this.defaultImageHeight,"",c,null!=c,null,this.filterTags(e)))})(f[h],null!=e?e[h]:null,null!=k?k[f[h]]:null);this.addPaletteFunctions(a,c, +Sidebar.prototype.addImagePalette=function(a,c,d,b,f,e,h){for(var g=[],k=0;k<f.length;k++)mxUtils.bind(this,function(a,c,e){if(null==e){e=a.lastIndexOf("/");var f=a.lastIndexOf(".");e=a.substring(0<=e?e+1:0,0<=f?f:a.length).replace(/[-_]/g," ")}g.push(this.createVertexTemplateEntry("image;html=1;labelBackgroundColor=#ffffff;image="+d+a+b,this.defaultImageWidth,this.defaultImageHeight,"",c,null!=c,null,this.filterTags(e)))})(f[k],null!=e?e[k]:null,null!=h?h[f[k]]:null);this.addPaletteFunctions(a,c, !1,g)};Sidebar.prototype.getTagsForStencil=function(a,c,d){a=a.split(".");for(var b=1;b<a.length;b++)a[b]=a[b].replace(/_/g," ");a.push(c.replace(/_/g," "));null!=d&&a.push(d);return a.slice(1,a.length)}; -Sidebar.prototype.addStencilPalette=function(a,c,d,b,f,e,k,g,h){k=null!=k?k:1;if(this.addStencilsToIndex){var l=[];if(null!=h)for(var m=0;m<h.length;m++)l.push(h[m]);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(a,c,d,e,h){if(null==f||0>mxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*k),Math.round(h*k),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), -!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=h)for(var c=0;c<h.length;c++)h[c](a);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(c,d,e,g,h){(null==f||0>mxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*k),Math.round(h*k),"",d.replace(/_/g," "),!0))}),!0)}))}; +Sidebar.prototype.addStencilPalette=function(a,c,d,b,f,e,h,g,k){h=null!=h?h:1;if(this.addStencilsToIndex){var l=[];if(null!=k)for(var m=0;m<k.length;m++)l.push(k[m]);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(a,c,d,e,k){if(null==f||0>mxUtils.indexOf(f,c)){d=this.getTagsForStencil(a,c);var m=null!=g?g[c]:null;null!=m&&d.push(m);l.push(this.createVertexTemplateEntry("shape="+a+c.toLowerCase()+b,Math.round(e*h),Math.round(k*h),"",c.replace(/_/g," "),null,null,this.filterTags(d.join(" "))))}}), +!0,!0);this.addPaletteFunctions(a,c,!1,l)}else this.addPalette(a,c,!1,mxUtils.bind(this,function(a){null==b&&(b="");null!=e&&e.call(this,a);if(null!=k)for(var c=0;c<k.length;c++)k[c](a);mxStencilRegistry.loadStencilSet(d,mxUtils.bind(this,function(c,d,e,g,k){(null==f||0>mxUtils.indexOf(f,d))&&a.appendChild(this.createVertexTemplate("shape="+c+d.toLowerCase()+b,Math.round(g*h),Math.round(k*h),"",d.replace(/_/g," "),!0))}),!0)}))}; Sidebar.prototype.destroy=function(){null!=this.graph&&(null!=this.graph.container&&null!=this.graph.container.parentNode&&this.graph.container.parentNode.removeChild(this.graph.container),this.graph.destroy(),this.graph=null);null!=this.pointerUpHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerup":"mouseup",this.pointerUpHandler),this.pointerUpHandler=null);null!=this.pointerDownHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerdown":"mousedown",this.pointerDownHandler), this.pointerDownHandler=null);null!=this.pointerMoveHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointermove":"mousemove",this.pointerMoveHandler),this.pointerMoveHandler=null);null!=this.pointerOutHandler&&(mxEvent.removeListener(document,mxClient.IS_POINTER?"pointerout":"mouseout",this.pointerOutHandler),this.pointerOutHandler=null)};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1; (function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(c){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1; mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]"; Graph=function(a,c,d,b,f){mxGraph.call(this,a,c,d,b);this.themes=f||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;c=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<c&&(c=a.indexOf("/",c+2),0<c&&(this.domainUrl=a.substring(0,c)),c=a.lastIndexOf("/"),0<c&&(this.domainPathUrl=a.substring(0,c+1)));this.isHtmlLabel=function(a){var b=this.view.getState(a);a=null!=b?b.style:this.getCellStyle(a); -return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var e=null,k=null,g=null,h=null,l=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var d=c.getState();null!=d&&this.model.isEdge(d.cell)&&(e=new mxPoint(c.getGraphX(),c.getGraphY()),l=this.isCellSelected(d.cell),g=d,k=c,null!= -d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,c.getGraphX(),c.getGraphY())?h=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(h=d.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,b){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,d;for(d in c)if(null!=c[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& -!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=e&&null!=g&&null!=k){if(c=g,Math.abs(e.x-b.getGraphX())>d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0<f.bends.length){var m=f.getHandleForEvent(k),n=this.view.getEdgeStyle(c);d=n==mxEdgeStyle.EntityRelation;l||h!=mxEvent.LABEL_HANDLE||(m=h);if(d&&0!=m&&m!=f.bends.length-1&&m!=mxEvent.LABEL_HANDLE)!d|| -null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(m==mxEvent.LABEL_HANDLE||0==m||null!=c.visibleSourceState||m==f.bends.length-1||null!=c.visibleTargetState)d||m==mxEvent.LABEL_HANDLE||(d=c.absolutePoints,null!=d&&(null==n&&null==m||n==mxEdgeStyle.OrthConnector)&&(m=h,null==m&&(m=new mxRectangle(e.x,e.y),m.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(m,d[0].x,d[0].y)?m=0:mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y)? -m=f.bends.length-1:null!=n&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?m=2:(m=mxUtils.findNearestSegment(c,e.x,e.y),m=null==n?mxEvent.VIRTUAL_HANDLE-m:m+1))),null==m&&(m=mxEvent.VIRTUAL_HANDLE)),f.start(b.getGraphX(),b.getGraphX(),m),h=e=k=g=null,l=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){f=null;d=c.absolutePoints;if(null!=d)if(m=new mxRectangle(b.getGraphX(), +return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var e=null,h=null,g=null,k=null,l=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var d=c.getState();null!=d&&this.model.isEdge(d.cell)&&(e=new mxPoint(c.getGraphX(),c.getGraphY()),l=this.isCellSelected(d.cell),g=d,h=c,null!= +d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,c.getGraphX(),c.getGraphY())?k=mxEvent.LABEL_HANDLE:(d=this.selectionCellsHandler.getHandler(d.cell),null!=d&&null!=d.bends&&0<d.bends.length&&(k=d.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,b){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,d;for(d in c)if(null!=c[d].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& +!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(d=this.tolerance,null!=e&&null!=g&&null!=h){if(c=g,Math.abs(e.x-b.getGraphX())>d||Math.abs(e.y-b.getGraphY())>d){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var f=this.selectionCellsHandler.getHandler(c.cell);if(null!=f&&null!=f.bends&&0<f.bends.length){var m=f.getHandleForEvent(h),n=this.view.getEdgeStyle(c);d=n==mxEdgeStyle.EntityRelation;l||k!=mxEvent.LABEL_HANDLE||(m=k);if(d&&0!=m&&m!=f.bends.length-1&&m!=mxEvent.LABEL_HANDLE)!d|| +null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(m==mxEvent.LABEL_HANDLE||0==m||null!=c.visibleSourceState||m==f.bends.length-1||null!=c.visibleTargetState)d||m==mxEvent.LABEL_HANDLE||(d=c.absolutePoints,null!=d&&(null==n&&null==m||n==mxEdgeStyle.OrthConnector)&&(m=k,null==m&&(m=new mxRectangle(e.x,e.y),m.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(m,d[0].x,d[0].y)?m=0:mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y)? +m=f.bends.length-1:null!=n&&(2==d.length||3==d.length&&(0==Math.round(d[0].x-d[1].x)&&0==Math.round(d[1].x-d[2].x)||0==Math.round(d[0].y-d[1].y)&&0==Math.round(d[1].y-d[2].y)))?m=2:(m=mxUtils.findNearestSegment(c,e.x,e.y),m=null==n?mxEvent.VIRTUAL_HANDLE-m:m+1))),null==m&&(m=mxEvent.VIRTUAL_HANDLE)),f.start(b.getGraphX(),b.getGraphX(),m),k=e=h=g=null,l=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){f=null;d=c.absolutePoints;if(null!=d)if(m=new mxRectangle(b.getGraphX(), b.getGraphY()),m.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))f="move";else if(mxUtils.contains(m,d[0].x,d[0].y)||mxUtils.contains(m,d[d.length-1].x,d[d.length-1].y))f="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)n=this.view.getEdgeStyle(c),f="crosshair",n!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(n=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()), -n<d.length-1&&0<=n&&(f=0==Math.round(d[n].x-d[n+1].x)?"col-resize":"row-resize"));null!=f&&c.setCursor(f)}}),mouseUp:mxUtils.bind(this,function(a,b){h=e=k=g=null})})}this.cellRenderer.getLabelValue=function(a){var b=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(b=1!=a.style.html?mxUtils.htmlEntities(b,!1):a.view.graph.sanitizeHtml(b));return b};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); +n<d.length-1&&0<=n&&(f=0==Math.round(d[n].x-d[n+1].x)?"col-resize":"row-resize"));null!=f&&c.setCursor(f)}}),mouseUp:mxUtils.bind(this,function(a,b){k=e=h=g=null})})}this.cellRenderer.getLabelValue=function(a){var b=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(b=1!=a.style.html?mxUtils.htmlEntities(b,!1):a.view.graph.sanitizeHtml(b));return b};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,b){return!1};this.alternateEdgeStyle="vertical";null==b&&this.loadStylesheet();var m=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= function(){var a=m.apply(this,arguments);if(this.graph.pageVisible){for(var b=[],c=this.graph.pageFormat,d=this.graph.pageScale,e=c.width*d,c=c.height*d,d=this.graph.view.translate,f=this.graph.view.scale,g=this.graph.getPageLayout(),h=0;h<g.width;h++)b.push(new mxRectangle(((g.x+h)*e+d.x)*f,(g.y*c+d.y)*f,e*f,c*f));for(h=0;h<g.height;h++)b.push(new mxRectangle((g.x*e+d.x)*f,((g.y+h)*c+d.y)*f,e*f,c*f));a=b.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var b=mxGraphHandler.prototype.getCells.apply(this,arguments),c=[],d=0;d<b.length;d++){var e=this.graph.view.getState(b[d]),e=null!=e?e.style:this.graph.getCellStyle(b[d]); "1"==mxUtils.getValue(e,"part","0")?(e=this.graph.model.getParent(b[d]),this.graph.model.isVertex(e)&&0>mxUtils.indexOf(b,e)&&c.push(e)):c.push(b[d])}return c};this.connectionHandler.createTargetVertex=function(a,b){var c=this.graph.view.getState(b),c=null!=c?c.style:this.graph.getCellStyle(b);mxUtils.getValue(c,"part",!1)&&(c=this.graph.model.getParent(b),this.graph.model.isVertex(c)&&(b=c));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var n=new mxRubberband(this); -this.getRubberband=function(){return n};var p=(new Date).getTime(),q=0,r=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;r.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),q=0):q=(new Date).getTime()-p};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<q||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, -"outlineConnect","1"))&&t.apply(this,arguments)};var w=this.isToggleEvent;this.isToggleEvent=function(a){return w.apply(this,arguments)||mxEvent.isShiftDown(a)};var v=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return v.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& +this.getRubberband=function(){return n};var p=(new Date).getTime(),q=0,t=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;t.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),q=0):q=(new Date).getTime()-p};var r=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<q||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, +"outlineConnect","1"))&&r.apply(this,arguments)};var v=this.isToggleEvent;this.isToggleEvent=function(a){return v.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& (u=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=u)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var z=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return z.apply(this, -arguments);b=b?a.sourceState.cell:a.getCell();if(null!=b){var c=this.getLinkForCell(b);null!=c&&(this.isCustomLink(c)?this.customLinkClicked(b,c):this.openLink(c))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var x=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return x.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m), -y=this.view.getState(n);if(null!=y&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(y.style,"locked","0")){var p=mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION)||0;0!=p&&(y=mxUtils.getBoundingBox(y,p));(g.isEdge(n)||g.isVertex(n))&&y.x>=a&&y.y+y.height<=k&&y.y>=b&&y.x+y.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var C=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:C.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();A=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=A?this.addSelectionCells(A):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);A=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var D=this.updateMouseEvent;this.updateMouseEvent=function(a){a=D.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +arguments);b=b?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var x=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return x.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m),y=this.view.getState(n);if(null!= +y&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(y.style,"locked","0")){var p=mxUtils.getValue(y.style,mxConstants.STYLE_ROTATION)||0;0!=p&&(y=mxUtils.getBoundingBox(y,p));(g.isEdge(n)||g.isVertex(n))&&y.x>=a&&y.y+y.height<=k&&y.y>=b&&y.x+y.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var A=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();A=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c= +b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=A?this.addSelectionCells(A):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);A=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var C=this.updateMouseEvent;this.updateMouseEvent=function(a){a=C.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,c,d){d=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+c+'px" version="1.1">'+d+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(d):Base64.encode(d,!0)),a,c)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,k=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))<b&&Math.abs(e.y-mxEvent.getClientY(a))<b}),h=mxUtils.bind(this,function(b){if(c)for(var e=mxEvent.getSource(b);null!= -e&&e!=d.node;){if("a"==e.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,e,b);break}e=e.parentNode}});mxEvent.addGestureListeners(d.node,k,g,h);mxEvent.addListener(d.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; +Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,d){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,c=!0,e=null,h=mxUtils.bind(this,function(a){c=!0;e=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),g=mxUtils.bind(this,function(a){c=c&&null!=e&&Math.abs(e.x-mxEvent.getClientX(a))<b&&Math.abs(e.y-mxEvent.getClientY(a))<b}),k=mxUtils.bind(this,function(b){if(c)for(var e=mxEvent.getSource(b);null!= +e&&e!=d.node;){if("a"==e.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,e,b);break}e=e.parentNode}});mxEvent.addGestureListeners(d.node,h,g,k);mxEvent.addListener(d.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,c,d){c=c.getAttribute("href");if(null!=c&&!this.isCustomLink(c)&&mxEvent.isLeftMouseButton(d)&&!mxEvent.isPopupTrigger(d)||mxEvent.isTouchEvent(d)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(c)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(c),a);mxEvent.consume(d)}}; Graph.prototype.openLink=function(a,c){var d=window;if("_self"==c&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==c&&window==window.top){var b=a.split("#")[1];window.location.hash=="#"+b&&(window.location.hash="");window.location.hash=b}else d=window.open(a,c);return d};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,c){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",c))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a);a=null!=c?c.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(c=new mxStackLayout(this.graph,!0),c.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),c.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),c.spacing=a.stackSpacing||c.spacing,c.border=a.stackBorder||c.border,c.marginLeft=a.marginLeft||0,c.marginRight=a.marginRight||0,c.marginTop=a.marginTop||0,c.marginBottom=a.marginBottom||0,c.fill=!0,c):"treeLayout"==a.childLayout?(c=new mxCompactTreeLayout(this.graph),c.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),c.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),c.groupPadding=mxUtils.getValue(a,"parentPadding",20),c.levelDistance=mxUtils.getValue(a,"treeLevelDistance", @@ -2413,29 +2414,29 @@ Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEven Graph.prototype.getLabel=function(a){var c=mxGraph.prototype.getLabel.apply(this,arguments);null!=c&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(c=this.replacePlaceholders(a,c));return c};Graph.prototype.isLabelMovable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(c,"labelMovable","0")))}; Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};Graph.prototype.getGlobalVariable=function(a){var c=null;"date"==a?c=(new Date).toLocaleDateString():"time"==a?c=(new Date).toLocaleTimeString():"timestamp"==a?c=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),c=this.formatDate(new Date,a));return c}; Graph.prototype.formatDate=function(a,c,d){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy", -shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var b=this.dateFormatCache,f=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,k=function(a,b){a=String(a);for(b=b||2;a.length<b;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| -/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",h=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),q=a[g+"Minutes"](),r=a[g+"Seconds"](),g=a[g+"Milliseconds"](),t=d?0:a.getTimezoneOffset(),w={d:h,dd:k(h),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:k(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+ -12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:k(p%12||12),H:p,HH:k(p),M:q,MM:k(q),s:r,ss:k(r),l:k(g,3),L:k(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<t?"-":"+")+k(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4),S:["th","st","nd","rd"][3<h%10?0:(10!=h%100-h%10)*h%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in w?w[a]:a.slice(1, +shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var b=this.dateFormatCache,f=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,e=/[^-+\dA-Z]/g,h=function(a,b){a=String(a);for(b=b||2;a.length<b;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| +/\d/.test(a)||(c=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");c=String(b.masks[c]||c||b.masks["default"]);"UTC:"==c.slice(0,4)&&(c=c.slice(4),d=!0);var g=d?"getUTC":"get",k=a[g+"Date"](),l=a[g+"Day"](),m=a[g+"Month"](),n=a[g+"FullYear"](),p=a[g+"Hours"](),q=a[g+"Minutes"](),t=a[g+"Seconds"](),g=a[g+"Milliseconds"](),r=d?0:a.getTimezoneOffset(),v={d:k,dd:h(k),ddd:b.i18n.dayNames[l],dddd:b.i18n.dayNames[l+7],m:m+1,mm:h(m+1),mmm:b.i18n.monthNames[m],mmmm:b.i18n.monthNames[m+ +12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:h(p%12||12),H:p,HH:h(p),M:q,MM:h(q),s:t,ss:h(t),l:h(g,3),L:h(99<g?Math.round(g/10):g),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:d?"UTC":(String(a).match(f)||[""]).pop().replace(e,""),o:(0<r?"-":"+")+h(100*Math.floor(Math.abs(r)/60)+Math.abs(r)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return c.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in v?v[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),d=c.getChildCount(c.root),b=0;b<d;b++)(function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.style.display="inline-block";f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"),f.defaultChecked= -!0);d.appendChild(f);var g=b.value||mxResources.get("background")||"Background";d.setAttribute("title",g);mxUtils.write(d,g);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,b));return a}; -Graph.prototype.replacePlaceholders=function(a,c){var d=[];if(null!=c){for(var b=0;match=this.placeholderPattern.exec(c);){var f=match[0];if(2<f.length&&"%label%"!=f&&"%tooltip%"!=f){var e=null;if(match.index>b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var k=f.substring(1,f.length-1);if(0>k.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(k)?null!=g.getAttribute(k)?g.getAttribute(k):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(k))}d.push(c.substring(b, +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var c=this.getModel(),d=c.getChildCount(c.root),b=0;b<d;b++)mxUtils.bind(this,function(b){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var f=document.createElement("input");f.style.display="inline-block";f.setAttribute("type","checkbox");c.isVisible(b)&&(f.setAttribute("checked","checked"), +f.defaultChecked=!0);d.appendChild(f);var g=this.convertValueToString(b)||mxResources.get("background")||"Background";d.setAttribute("title",g);mxUtils.write(d,g);a.appendChild(d);mxEvent.addListener(f,"click",function(){null!=f.getAttribute("checked")?f.removeAttribute("checked"):f.setAttribute("checked","checked");c.setVisible(b,f.checked)})})(c.getChildAt(c.root,b));return a}; +Graph.prototype.replacePlaceholders=function(a,c){var d=[];if(null!=c){for(var b=0;match=this.placeholderPattern.exec(c);){var f=match[0];if(2<f.length&&"%label%"!=f&&"%tooltip%"!=f){var e=null;if(match.index>b&&"%"==c.charAt(match.index-1))e=f.substring(1);else{var h=f.substring(1,f.length-1);if(0>h.indexOf("{"))for(var g=a;null==e&&null!=g;)null!=g.value&&"object"==typeof g.value&&(e=g.hasAttribute(h)?null!=g.getAttribute(h)?g.getAttribute(h):"":null),g=this.model.getParent(g);null==e&&(e=this.getGlobalVariable(h))}d.push(c.substring(b, match.index)+(null!=e?e:f));b=match.index+f.length}}d.push(c.substring(b))}return d.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,c,d){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=d&&(mxEvent.isTouchEvent(c)?d.update(d.getState(this.view.getState(a[1]))):d.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var k=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(k.x+=a.geometry.width/2,k.y-=d):c==mxConstants.DIRECTION_SOUTH?(k.x+=a.geometry.width/2,k.y+=a.geometry.height+d):(k.x=c==mxConstants.DIRECTION_WEST?k.x-d:k.x+(a.geometry.width+d),k.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); -var g=this.view.scale,h=this.view.translate,l=h.x*g,h=h.y*g;this.model.isVertex(d.cell)&&(l=d.x,h=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(k.x+=a.parent.geometry.x,k.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+k.x*g,h+k.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= -null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?k.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?k.y+=a.geometry.height/2:k.x=c==mxConstants.DIRECTION_WEST?k.x-a.geometry.width/2:k.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= -m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var n=this.view.getState(l),p=null!=n?n.style:this.getCellStyle(l);if(mxUtils.getValue(p,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=k.x-m.width/2,m.y=k.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var r=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? -null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=r&&this.connectionHandler.insertBeforeSource){var t=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=r.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==r.parent&&(t=b.parent.getIndex(b),this.model.add(b.parent,r,t))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(t=a.parent.getIndex(a),this.model.add(a.parent, -g,t));null!=r&&d.push(r);null==e&&null!=g&&d.push(g);null==g&&null!=r&&r.geometry.setTerminalPoint(k,!1);null!=r&&this.fireEvent(new mxEventObject("cellsInserted","cells",[r]))}finally{this.model.endUpdate()}return d}; +Graph.prototype.connectVertex=function(a,c,d,b,f,e){e=e?e:!1;var h=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);c==mxConstants.DIRECTION_NORTH?(h.x+=a.geometry.width/2,h.y-=d):c==mxConstants.DIRECTION_SOUTH?(h.x+=a.geometry.width/2,h.y+=a.geometry.height+d):(h.x=c==mxConstants.DIRECTION_WEST?h.x-d:h.x+(a.geometry.width+d),h.y+=a.geometry.height/2);d=this.view.getState(this.model.getParent(a)); +var g=this.view.scale,k=this.view.translate,l=k.x*g,k=k.y*g;this.model.isVertex(d.cell)&&(l=d.x,k=d.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(h.x+=a.parent.geometry.x,h.y+=a.parent.geometry.y);e=e||mxEvent.isControlDown(b)&&!f?null:this.getCellAt(l+h.x*g,k+h.y*g);this.model.isAncestor(e,a)&&(e=null);for(d=e;null!=d;){if(this.isCellLocked(d)){e=null;break}d=this.model.getParent(d)}null!=e&&(d=this.view.getState(a),g=this.view.getState(e),null!=d&&null!=g&&mxUtils.intersects(d,g)&&(e= +null));if(f=!mxEvent.isShiftDown(b)||f)c==mxConstants.DIRECTION_NORTH?h.y-=a.geometry.height/2:c==mxConstants.DIRECTION_SOUTH?h.y+=a.geometry.height/2:h.x=c==mxConstants.DIRECTION_WEST?h.x-a.geometry.width/2:h.x+a.geometry.width/2;null==e||this.isCellConnectable(e)||(d=this.getModel().getParent(e),this.getModel().isVertex(d)&&this.isCellConnectable(d)&&(e=d));if(e==a||this.model.isEdge(e)||!this.isCellConnectable(e))e=null;d=[];this.model.beginUpdate();try{g=e;if(null==g&&f){for(var l=a,m=this.getCellGeometry(a);null!= +m&&m.relative;)l=this.getModel().getParent(l),m=this.getCellGeometry(l);var n=this.view.getState(l),p=null!=n?n.style:this.getCellStyle(l);if(mxUtils.getValue(p,"part",!1)){var q=this.model.getParent(l);this.model.isVertex(q)&&(l=q)}g=this.duplicateCells([l],!1)[0];m=this.getCellGeometry(g);null!=m&&(m.x=h.x-m.width/2,m.y=h.y-m.height/2)}m=null;null!=this.layoutManager&&(m=this.layoutManager.getLayout(this.model.getParent(a)));var t=mxEvent.isControlDown(b)&&f||null==e&&null!=m&&m.constructor==mxStackLayout? +null:this.insertEdge(this.model.getParent(a),null,"",a,g,this.createCurrentEdgeStyle());if(null!=t&&this.connectionHandler.insertBeforeSource){var r=null;for(b=a;null!=b.parent&&null!=b.geometry&&b.geometry.relative&&b.parent!=t.parent;)b=this.model.getParent(b);null!=b&&null!=b.parent&&b.parent==t.parent&&(r=b.parent.getIndex(b),this.model.add(b.parent,t,r))}null==e&&null!=g&&null!=m&&null!=a.parent&&m.constructor==mxStackLayout&&c==mxConstants.DIRECTION_WEST&&(r=a.parent.getIndex(a),this.model.add(a.parent, +g,r));null!=t&&d.push(t);null==e&&null!=g&&d.push(g);null==g&&null!=t&&t.geometry.setTerminalPoint(h,!1);null!=t&&this.fireEvent(new mxEventObject("cellsInserted","cells",[t]))}finally{this.model.endUpdate()}return d}; Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),c=[],d,b;for(b in this.model.cells)if(d=this.model.cells[b],this.model.isVertex(d)||this.model.isEdge(d))this.isHtmlLabel(d)?(a.innerHTML=this.getLabel(d),d=mxUtils.extractTextWithWhitespace([a])):d=this.getLabel(d),d=mxUtils.trim(d.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<d.length&&c.push(d);return c.join(" ")}; Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var c=a.getAttribute("placeholder"),d=a,b=null;null==b&&null!=d;)null!=d.value&&"object"==typeof d.value&&(b=d.hasAttribute(c)?null!=d.getAttribute(c)?d.getAttribute(c):"":null),d=this.model.getParent(d);return b||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null}; Graph.prototype.getCellStyle=function(a){var c=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var d=this.model.getParent(a);this.model.isVertex(d)&&this.isCellCollapsed(a)&&(d=this.layoutManager.getLayout(d),null!=d&&d.constructor==mxStackLayout&&(c[mxConstants.STYLE_HORIZONTAL]=!d.horizontal))}return c}; Graph.prototype.updateAlternateBounds=function(a,c,d){if(null!=a&&null!=c&&null!=this.layoutManager&&null!=c.alternateBounds){var b=this.layoutManager.getLayout(this.model.getParent(a));null!=b&&b.constructor==mxStackLayout&&(b.horizontal?c.alternateBounds.height=0:c.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; -Graph.prototype.foldCells=function(a,c,d,b,f){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));if(null!=d){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var e=0;e<d.length;e++){var k=this.view.getState(d[e]),g=this.getCellGeometry(d[e]);if(null!=k&&null!=g){var h=Math.round(g.width-k.width/this.view.scale),l=Math.round(g.height-k.height/this.view.scale);if(0!=l||0!=h){var m=this.model.getParent(d[e]),n=this.layoutManager.getLayout(m); -null==n?null!=f&&this.isMoveCellsEvent(f)&&this.moveSiblings(k,m,h,l):null!=f&&mxEvent.isAltDown(f)||n.constructor!=mxStackLayout||n.resizeLast||this.resizeParentStacks(m,n,h,l)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(d)}}; -Graph.prototype.moveSiblings=function(a,c,d,b){this.model.beginUpdate();try{var f=this.getCellsBeyond(a.x,a.y,c,!0,!0);for(c=0;c<f.length;c++)if(f[c]!=a.cell){var e=this.view.getState(f[c]),k=this.getCellGeometry(f[c]);null!=e&&null!=k&&(k=k.clone(),k.translate(Math.round(d*Math.max(0,Math.min(1,(e.x-a.x)/a.width))),Math.round(b*Math.max(0,Math.min(1,(e.y-a.y)/a.height)))),this.model.setGeometry(f[c],k))}}finally{this.model.endUpdate()}}; -Graph.prototype.resizeParentStacks=function(a,c,d,b){if(null!=this.layoutManager&&null!=c&&c.constructor==mxStackLayout&&!c.resizeLast){this.model.beginUpdate();try{for(var f=c.horizontal;null!=a&&null!=c&&c.constructor==mxStackLayout&&c.horizontal==f&&!c.resizeLast;){var e=this.getCellGeometry(a),k=this.view.getState(a);null!=k&&null!=e&&(e=e.clone(),c.horizontal?e.width+=d+Math.min(0,k.width/this.view.scale-e.width):e.height+=b+Math.min(0,k.height/this.view.scale-e.height),this.model.setGeometry(a, +Graph.prototype.foldCells=function(a,c,d,b,f){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));if(null!=d){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var e=0;e<d.length;e++){var h=this.view.getState(d[e]),g=this.getCellGeometry(d[e]);if(null!=h&&null!=g){var k=Math.round(g.width-h.width/this.view.scale),l=Math.round(g.height-h.height/this.view.scale);if(0!=l||0!=k){var m=this.model.getParent(d[e]),n=this.layoutManager.getLayout(m); +null==n?null!=f&&this.isMoveCellsEvent(f)&&this.moveSiblings(h,m,k,l):null!=f&&mxEvent.isAltDown(f)||n.constructor!=mxStackLayout||n.resizeLast||this.resizeParentStacks(m,n,k,l)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(d)}}; +Graph.prototype.moveSiblings=function(a,c,d,b){this.model.beginUpdate();try{var f=this.getCellsBeyond(a.x,a.y,c,!0,!0);for(c=0;c<f.length;c++)if(f[c]!=a.cell){var e=this.view.getState(f[c]),h=this.getCellGeometry(f[c]);null!=e&&null!=h&&(h=h.clone(),h.translate(Math.round(d*Math.max(0,Math.min(1,(e.x-a.x)/a.width))),Math.round(b*Math.max(0,Math.min(1,(e.y-a.y)/a.height)))),this.model.setGeometry(f[c],h))}}finally{this.model.endUpdate()}}; +Graph.prototype.resizeParentStacks=function(a,c,d,b){if(null!=this.layoutManager&&null!=c&&c.constructor==mxStackLayout&&!c.resizeLast){this.model.beginUpdate();try{for(var f=c.horizontal;null!=a&&null!=c&&c.constructor==mxStackLayout&&c.horizontal==f&&!c.resizeLast;){var e=this.getCellGeometry(a),h=this.view.getState(a);null!=h&&null!=e&&(e=e.clone(),c.horizontal?e.width+=d+Math.min(0,h.width/this.view.scale-e.width):e.height+=b+Math.min(0,h.height/this.view.scale-e.height),this.model.setGeometry(a, e));a=this.model.getParent(a);c=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=c.container:"1"==c.container};Graph.prototype.isCellConnectable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return null!=c.connectable?"0"!=c.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,c,d){d=d||this.getDefaultParent();this.isCellLocked(d)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,c,d){d=d||this.getDefaultParent();return this.isCellLocked(d)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)}; Graph.prototype.isCellFoldable=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return this.foldingEnabled&&!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=c.collapsible||!this.isContainer(a)&&"1"==c.collapsible)};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()}; @@ -2478,23 +2479,23 @@ this.setDisplay("");null!=this.currentState&&this.currentState!=a&&b<this.activa this.reset())}else this.reset()};HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; (function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var c=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,b){var d=this.getState(a);null!=d&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=c.apply(this,arguments);null!= d&&this.graph.model.isEdge(d.cell)&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var d=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,b){return d.apply(this,arguments)||null!=a.routedPoints&&null!=b.routedPoints&&!mxUtils.equalPoints(b.routedPoints,a.routedPoints)};var b=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){b.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& -this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],v=[],u=b[g+2];g< -b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],C=x.absolutePoints;if(null!=C&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<C.length-1;x++){for(var A=C[x+1],D=C[x],u=C[x+2];x<C.length-2&&mxUtils.ptSegDistSq(D.x,D.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=C[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,D.x,D.y,A.x,A.y);if(null!=u&&(Math.abs(u.x- -D.x)>f||Math.abs(u.y-D.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;D=u.y-k.y;u={distSq:A*A+D*D,x:u.x,y:u.y};for(A=0;A<v.length;A++)if(v[A].distSq>u.distSq){v.splice(A,0,u);u=null;break}null==u||0!=v.length&&v[v.length-1].x===u.x&&v[v.length-1].y===u.y||v.push(u)}}}for(x=0;x<v.length;x++)c=e(1,v[x].x,v[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints= +this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var b=a.absolutePoints;if(Graph.lineJumpsEnabled){var c=null!=a.routedPoints,d=null;if(null!=b&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(b,c,e){var f=new mxPoint(c,e);f.type=b;d.push(f);f=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==f||f.type!=b||f.x!=c||f.y!=e},f=.5*this.scale,c=!1,d=[],g=0;g<b.length-1;g++){for(var h=b[g+1],k=b[g],w=[],u=b[g+2];g< +b.length-2&&mxUtils.ptSegDistSq(k.x,k.y,u.x,u.y,h.x,h.y)<1*this.scale*this.scale;)h=u,g++,u=b[g+2];for(var c=e(0,k.x,k.y)||c,z=0;z<this.validEdges.length;z++){var x=this.validEdges[z],D=x.absolutePoints;if(null!=D&&mxUtils.intersects(a,x)&&"1"!=x.style.noJump)for(x=0;x<D.length-1;x++){for(var A=D[x+1],C=D[x],u=D[x+2];x<D.length-2&&mxUtils.ptSegDistSq(C.x,C.y,u.x,u.y,A.x,A.y)<1*this.scale*this.scale;)A=u,x++,u=D[x+2];u=mxUtils.intersection(k.x,k.y,h.x,h.y,C.x,C.y,A.x,A.y);if(null!=u&&(Math.abs(u.x- +C.x)>f||Math.abs(u.y-C.y)>f)&&(Math.abs(u.x-A.x)>f||Math.abs(u.y-A.y)>f)){A=u.x-k.x;C=u.y-k.y;u={distSq:A*A+C*C,x:u.x,y:u.y};for(A=0;A<w.length;A++)if(w[A].distSq>u.distSq){w.splice(A,0,u);u=null;break}null==u||0!=w.length&&w[w.length-1].x===u.x&&w[w.length-1].y===u.y||w.push(u)}}}for(x=0;x<w.length;x++)c=e(1,w[x].x,w[x].y)||c}u=b[b.length-1];c=e(0,u.x,u.y)||c}a.routedPoints=d;return c}return!1};var f=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,b,c){this.routedPoints= null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)f.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,e=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,g=mxUtils.getValue(this.style,"jumpStyle","none"),h,k=!0,l=null,m=null;h=[];var u=null;a.begin();for(var z=0;z<this.state.routedPoints.length;z++){var x= -this.state.routedPoints[z],C=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?C=b[0]:z==this.state.routedPoints.length-1&&(C=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var D=this.state.routedPoints[z+1],x=D.x/this.scale-C.x,D=D.y/this.scale-C.y,x=x*x+D*D;null==u&&(u=new mxPoint(C.x-l.x,C.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-C.x,D=l.y-C.y,x=x*x+D*D,x>e*e&&(A=new mxPoint(C.x-u.x,C.y-u.y),x=new mxPoint(C.x+u.x,C.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, -null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(C),l=C)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== +this.state.routedPoints[z],D=new mxPoint(x.x/this.scale,x.y/this.scale);0==z?D=b[0]:z==this.state.routedPoints.length-1&&(D=b[b.length-1]);var A=!1;if(null!=l&&1==x.type){var C=this.state.routedPoints[z+1],x=C.x/this.scale-D.x,C=C.y/this.scale-D.y,x=x*x+C*C;null==u&&(u=new mxPoint(D.x-l.x,D.y-l.y),m=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*e/m,u.y=u.y*e/m);x>e*e&&0<m&&(x=l.x-D.x,C=l.y-D.y,x=x*x+C*C,x>e*e&&(A=new mxPoint(D.x-u.x,D.y-u.y),x=new mxPoint(D.x+u.x,D.y+u.y),h.push(A),this.addPoints(a,h,c,d,!1, +null,k),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,k=!1,"sharp"==g?(a.lineTo(A.x-u.y*h,A.y+u.x*h),a.lineTo(x.x-u.y*h,x.y+u.x*h),a.lineTo(x.x,x.y)):"arc"==g?(h*=1.3,a.curveTo(A.x-u.y*h,A.y+u.x*h,x.x-u.y*h,x.y+u.x*h,x.x,x.y)):(a.moveTo(x.x,x.y),k=!0),h=[x],A=!0))}else u=null;A||(h.push(D),l=D)}this.addPoints(a,h,c,d,!1,null,k);a.stroke()}};var e=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,b,c,d){if(null==b||null== a||"1"!=b.style.snapToPoint&&"1"!=a.style.snapToPoint)e.apply(this,arguments);else{b=this.getTerminalPort(a,b,d);var f=this.getNextPoint(a,c,d),g=this.graph.isOrthogonal(a),h=mxUtils.toRadians(Number(b.style[mxConstants.STYLE_ROTATION]||"0")),k=new mxPoint(b.getCenterX(),b.getCenterY());if(0!=h)var l=Math.cos(-h),m=Math.sin(-h),f=mxUtils.getRotatedPoint(f,l,m,k);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| 0);f=this.getPerimeterPoint(b,f,0==h&&g,l);0!=h&&(l=Math.cos(h),m=Math.sin(h),f=mxUtils.getRotatedPoint(f,l,m,k));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,b,c,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,b,c,d,e){if(null!=b&&null!=a){a=this.graph.getAllConnectionConstraints(b);d=c=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(b,a[f]);if(null!=g){var h=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||h<d)c=g,d=h}}null!=c&&(e=c)}return e}; -var k=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=k.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var g=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c= +var h=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,b,c){var d=h.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=c.state&&(d=c.state.view.graph.replacePlaceholders(c.state.cell,d));return d};var g=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var b=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=b&&"stencil("==b.substring(0,8))try{var c= b.substring(8,b.length-1),d=mxUtils.parseXml(a.view.graph.decompress(c));return new mxShape(new mxStencil(d.documentElement))}catch(p){null!=window.console&&console.log("Error in shape: "+p)}}return g.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; mxStencilRegistry.getStencil=function(a){var c=mxStencilRegistry.stencils[a];if(null==c&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var d=mxStencilRegistry.getBasenameForStencil(a);if(null!=d){c=mxStencilRegistry.libraries[d];if(null!=c){if(null==mxStencilRegistry.packages[d]){for(var b=0;b<c.length;b++){var f=c[b];if(".xml"==f.toLowerCase().substring(f.length-4,f.length))mxStencilRegistry.loadStencilSet(f,null);else if(".js"==f.toLowerCase().substring(f.length-3,f.length))try{if(mxStencilRegistry.allowEval){var e= -mxUtils.load(f);null!=e&&200<=e.getStatus()&&299>=e.getStatus()&&eval.call(window,e.getText())}}catch(k){null!=window.console&&console.log("error in getStencil:",f,k)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; +mxUtils.load(f);null!=e&&200<=e.getStatus()&&299>=e.getStatus()&&eval.call(window,e.getText())}}catch(h){null!=window.console&&console.log("error in getStencil:",f,h)}}mxStencilRegistry.packages[d]=1}}else d=d.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+d+".xml",null);c=mxStencilRegistry.stencils[a]}}return c}; mxStencilRegistry.getBasenameForStencil=function(a){var c=null;if(null!=a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var c=a[1],d=2;d<a.length-1;d++)c+="/"+a[d];return c}; -mxStencilRegistry.loadStencilSet=function(a,c,d,b){var f=mxStencilRegistry.packages[a];if(null!=d&&d||null==f){var e=!1;if(null==f)try{if(b){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(b){null!=b&&null!=b.documentElement&&(mxStencilRegistry.packages[a]=b,e=!0,mxStencilRegistry.parseStencilSet(b.documentElement,c,e))}));return}f=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=f;e=!0}catch(k){null!=window.console&&console.log("error in loadStencilSet:",a,k)}null!=f&&null!= +mxStencilRegistry.loadStencilSet=function(a,c,d,b){var f=mxStencilRegistry.packages[a];if(null!=d&&d||null==f){var e=!1;if(null==f)try{if(b){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(b){null!=b&&null!=b.documentElement&&(mxStencilRegistry.packages[a]=b,e=!0,mxStencilRegistry.parseStencilSet(b.documentElement,c,e))}));return}f=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=f;e=!0}catch(h){null!=window.console&&console.log("error in loadStencilSet:",a,h)}null!=f&&null!= f.documentElement&&mxStencilRegistry.parseStencilSet(f.documentElement,c,e)}};mxStencilRegistry.loadStencil=function(a,c){if(null!=c)mxUtils.get(a,mxUtils.bind(this,function(a){c(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var c=0;c<a.length;c++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[c]).documentElement)}; -mxStencilRegistry.parseStencilSet=function(a,c,d){if("stencils"==a.nodeName)for(var b=a.firstChild;null!=b;)"shapes"==b.nodeName&&mxStencilRegistry.parseStencilSet(b,c,d),b=b.nextSibling;else{d=null!=d?d:!0;var b=a.firstChild,f="";a=a.getAttribute("name");for(null!=a&&(f=a+".");null!=b;){if(b.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.getAttribute("name"),null!=a)){var f=f.toLowerCase(),e=a.replace(/ /g,"_");d&&mxStencilRegistry.addStencil(f+e.toLowerCase(),new mxStencil(b));if(null!=c){var k=b.getAttribute("w"), -g=b.getAttribute("h"),k=null==k?80:parseInt(k,10),g=null==g?80:parseInt(g,10);c(f,e,a,k,g)}}b=b.nextSibling}}}; +mxStencilRegistry.parseStencilSet=function(a,c,d){if("stencils"==a.nodeName)for(var b=a.firstChild;null!=b;)"shapes"==b.nodeName&&mxStencilRegistry.parseStencilSet(b,c,d),b=b.nextSibling;else{d=null!=d?d:!0;var b=a.firstChild,f="";a=a.getAttribute("name");for(null!=a&&(f=a+".");null!=b;){if(b.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.getAttribute("name"),null!=a)){var f=f.toLowerCase(),e=a.replace(/ /g,"_");d&&mxStencilRegistry.addStencil(f+e.toLowerCase(),new mxStencil(b));if(null!=c){var h=b.getAttribute("w"), +g=b.getAttribute("h"),h=null==h?80:parseInt(h,10),g=null==g?80:parseInt(g,10);c(f,e,a,h,g)}}b=b.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#99ccff";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= "#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=8;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var c=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| c.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); @@ -2509,7 +2510,7 @@ this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell= function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); var k=h.getTerminalPoint(!0),l=h.getTerminalPoint(!1);h.setTerminalPoint(k,!1);h.setTerminalPoint(l,!0);b.setGeometry(e,h);var m=this.view.getState(e),G=this.view.getState(f),n=this.view.getState(g);if(null!=m){var p=null!=G?this.getConnectionConstraint(m,G,!0):null,q=null!=n?this.getConnectionConstraint(m,n,!1):null;this.setConnectionConstraint(e,f,!0,q);this.setConnectionConstraint(e,g,!1,p)}c.push(e)}}else if(b.isVertex(e)&&(h=this.getCellGeometry(e),null!=h)){h=h.clone();h.x+=h.width/2-h.height/ -2;h.y+=h.height/2-h.width/2;var r=h.width;h.width=h.height;h.height=r;b.setGeometry(e,h);var t=this.view.getState(e);if(null!=t){var x=t.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& +2;h.y+=h.height/2-h.width/2;var t=h.width;h.width=h.height;h.height=t;b.setGeometry(e,h);var r=this.view.getState(e);if(null!=r){var x=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==x?x="south":"south"==x?x="west":"west"==x?x="north":"north"==x&&(x="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,x,[e])}c.push(e)}}}finally{b.endUpdate()}return c};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& null!=a.cell.value&&"object"==typeof a.cell.value){var b=this.model.getDescendants(a.cell);if(0<b.length)for(var c=0;c<b.length;c++)this.isReplacePlaceholders(b[c])&&this.view.invalidate(b[c],!1,!1)}};Graph.prototype.replaceElement=function(a,b){for(var c=a.ownerDocument.createElement(null!=b?b:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)c.setAttribute(attr.nodeName,attr.nodeValue);c.innerHTML=a.innerHTML;a.parentNode.replaceChild(c,a)};Graph.prototype.updateLabelElements=function(a, b,c){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),e=0;e<a.length;e++)if(this.isHtmlLabel(a[e])){var f=this.convertValueToString(a[e]);if(null!=f&&0<f.length){d.innerHTML=f;for(var g=d.getElementsByTagName(null!=c?c:"*"),h=0;h<g.length;h++)b(g[h]);d.innerHTML!=f&&this.cellLabelChanged(a[e],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,b,c){b=this.zapGremlins(b);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& null!=a.getAttribute("placeholder"))for(var d=a.getAttribute("placeholder"),e=a;null!=e;){if(e==this.model.getRoot()||null!=e.value&&"object"==typeof e.value&&e.hasAttribute(d)){this.setAttributeForCell(e,d,b);break}e=this.model.getParent(e)}var f=a.value.cloneNode(!0);f.setAttribute("label",b);b=f}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0); @@ -2536,8 +2537,8 @@ m.y=Math.round(d-m.height/2)-l.origin.y,this.getModel().setGeometry(c[f].cell,m) c.get(this.model.getParent(a[d]))||(f.relative=!1,f.x=e.x/e.view.scale-e.view.translate.x,f.y=e.y/e.view.scale-e.view.translate.y)}}c=new mxCodec;e=new mxGraphModel;f=e.getChildAt(e.getRoot(),0);for(d=0;d<a.length;d++)e.add(f,b[d]);return c.encode(e)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,b){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,b,c,d,e,f,g,h){b=null!=b?b:1;c=null!=c?c:0; e=null!=e?e:!0;f=null!=f?f:!0;g=null!=g?g:!0;d=f||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var k=this.view.scale,l=mxUtils.createXmlDocument(),m=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"svg"):l.createElement("svg");null!=a&&(null!=m.style?m.style.backgroundColor=a:m.setAttribute("style","background-color:"+a));null==l.createElementNS?(m.setAttribute("xmlns",mxConstants.NS_SVG),m.setAttribute("xmlns:xlink", mxConstants.NS_XLINK)):m.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=b/k;m.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*c)+"px");m.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*c)+"px");m.setAttribute("version","1.1");var y=m;e&&(y=null!=l.createElementNS?l.createElementNS(mxConstants.NS_SVG,"g"):l.createElement("g"),y.setAttribute("transform","translate(0.5,0.5)"),m.appendChild(y));l.appendChild(m);l=this.createSvgCanvas(y);l.foOffset= -e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var r=this.createElement("text");r.setAttribute("x",Math.round(d/2));r.setAttribute("y",Math.round((e+q.fontSize)/2));r.setAttribute("fill",q.fontColor||"black");r.setAttribute("text-anchor", -"middle");r.setAttribute("font-size",Math.round(q.fontSize)+"px");r.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&r.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&r.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&r.setAttribute("text-decoration","underline");try{return n.innerHTML=f,r.textContent=n.value,r}catch(Ea){return p.apply(this, +e?-.5:0;l.textOffset=e?-.5:0;l.imageOffset=e?-.5:0;l.translate(Math.floor((c/b-d.x)/k),Math.floor((c/b-d.y)/k));var n=document.createElement("textarea"),p=l.createAlternateContent;l.createAlternateContent=function(a,b,c,d,e,f,g,h,k,l,m,y,G){var q=this.state;if(null!=this.foAltText&&(0==d||0!=q.fontSize&&f.length<5*d/q.fontSize)){var t=this.createElement("text");t.setAttribute("x",Math.round(d/2));t.setAttribute("y",Math.round((e+q.fontSize)/2));t.setAttribute("fill",q.fontColor||"black");t.setAttribute("text-anchor", +"middle");t.setAttribute("font-size",Math.round(q.fontSize)+"px");t.setAttribute("font-family",q.fontFamily);(q.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&t.setAttribute("font-weight","bold");(q.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&t.setAttribute("font-style","italic");(q.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&t.setAttribute("text-decoration","underline");try{return n.innerHTML=f,t.textContent=n.value,t}catch(Ea){return p.apply(this, arguments)}}else return p.apply(this,arguments)};c=this.backgroundImage;null!=c&&(e=k/b,b=this.view.translate,e=new mxRectangle(b.x*e,b.y*e,c.width*e,c.height*e),mxUtils.intersects(d,e)&&l.image(b.x,b.y,c.width,c.height,c.src,!0));l.scale(a);l.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var G=h.drawCellState;h.drawCellState=function(a,b){for(var c=a.view.graph,d=c.isCellSelected(a.cell),e=c.model.getParent(a.cell);!f&&!d&&null!=e;)d=c.isCellSelected(e),e=c.model.getParent(e);(f||d)&&G.apply(this, arguments)};h.drawState(this.getView().getState(this.model.root),l);return m};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var b=window.getSelection();b.getRangeAt&&b.rangeCount&&(a=b.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,b,c){for(;null!=a&&a.nodeName!=b;){if(a== c)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var b=null;if(window.getSelection){if(b=window.getSelection(),b.getRangeAt&&b.rangeCount){var c=document.createRange();c.selectNode(a);b.removeAllRanges();b.addRange(c)}}else(b=document.selection)&&"Control"!=b.type&&(a=b.createRange(),a.collapse(!0),c=b.createRange(),c.setEndPoint("StartToStart",a),c.select())};Graph.prototype.insertRow=function(a,b){for(var c=a.tBodies[0],d=0<c.rows.length?c.rows[0].cells.length:1,c=c.insertRow(b), @@ -2548,7 +2549,7 @@ b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMou return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&& (c&&null==e.getCell()&&this.isSelectionEmpty()||b&&this.isCellSelected(e.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}else if(document.selection&& document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(W){}};var f=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", -"1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var k=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){k.apply(this, +"1"));f.apply(this,arguments)};var e=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?e.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var h=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){h.apply(this, arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var c=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(c)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var g=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e= a.nextSibling;null==b?d(a):(c(a,b),b=b.nextSibling);a=e}}function d(a){for(var b=a.firstChild;null!=b;){var c=b.nextSibling;d(b);b=c}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), @@ -2558,10 +2559,10 @@ mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),f=(mxUtils.getValue(a.style,mxCo this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=f?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=b;this.textarea.style.textAlign=e;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= !1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(b?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); -this.switchSelectionState=c;this.resize()};var h=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, +this.switchSelectionState=c;this.resize()};var k=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,b){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var c=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*c;this.bounds.height=60*c;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/c)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/c)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/c)+(this.textarea.offsetHeight- this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*c);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/c)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*c);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=c:mxUtils.setPrefixedStyle(this.textarea.style, -"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",h.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,b){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)}; +"transform","scale("+c+","+c+")")}else this.textarea.style.height="",this.textarea.style.overflow="",k.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,b){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var c=this.graph.getEditingValue(a.cell,b);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>"));return c=this.graph.sanitizeHtml(c,!0)}; mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var b=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return b="1"==mxUtils.getValue(a.style,"nl2Br","1")?b.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):b.replace(/\r\n/g,"").replace(/\n/g,"")};var l=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& this.toggleViewMode();l.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(G){}};var m=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,b){this.graph.getModel().beginUpdate();try{if(m.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var c=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style, mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==b&&c==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var b=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))b=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),b==mxConstants.NONE&&(b=null);return b};mxCellEditor.prototype.getMinimumSize= @@ -2588,14 +2589,14 @@ this.graph.getCells(f.x,f.y,f.width,f.height);this.graph.removeSelectionCells(h) this.width,this.height),this.graph.selectRegion(f,b.getEvent());b.consume()}};mxRubberband.prototype.mouseMove=function(a,b){if(!b.isConsumed()&&null!=this.first){var c=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);c.x-=d.x;c.y-=d.y;var d=b.getX()+c.x,c=b.getY()+c.y,e=this.first.x-d,f=this.first.y-c,g=this.graph.tolerance;if(null!=this.div||Math.abs(e)>g||Math.abs(f)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,c), this.isSpaceEvent(b)?(d=this.x+this.width,c=this.y+this.height,e=this.graph.view.scale,mxEvent.isAltDown(b.getEvent())||(this.width=this.graph.snap(this.width/e)*e,this.height=this.graph.snap(this.height/e)*e,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=c-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= this.x+"px",this.div.style.top=this.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height= -Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var r=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);r.apply(this, -arguments)};var t=(new Date).getTime(),w=0,v=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){v.apply(this,arguments);c!=this.currentTerminalState?(t=(new Date).getTime(),w=0):w=(new Date).getTime()-t;this.currentTerminalState=c};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<w||(null==this.currentTerminalState|| +Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),b.consume()}};var t=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);t.apply(this, +arguments)};var r=(new Date).getTime(),v=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,b,c,d){w.apply(this,arguments);c!=this.currentTerminalState?(r=(new Date).getTime(),v=0):v=(new Date).getTime()-r;this.currentTerminalState=c};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<v||(null==this.currentTerminalState|| "0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&u.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,b){var c=null!=a&&0==a,d=this.state.getVisibleTerminalState(c),e=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,c):null,c=null!=(null!=e?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(c), e):null)?this.fixedHandleImage:null!=e&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=c)return c=new mxImageShape(new mxRectangle(0,0,c.width,c.height),c.src),c.preserveImageAspect=!1,c;c=mxConstants.HANDLE_SIZE;this.preferHtml&&--c;return new mxRectangleShape(new mxRectangle(0,0,c,c),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var z=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,b,c){this.handleImage=b==mxEvent.ROTATION_HANDLE? HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return z.apply(this,arguments)};var x=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var b=this.graph.getModel(),c=b.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(b.isEdge(c)&&null!=d&&d.relative&&(b=this.graph.view.getState(a[0]),null!=b&&2>b.width&&2>b.height&&null!=b.text&&null!=b.text.boundingBox))return mxRectangle.fromRectangle(b.text.boundingBox)}return x.apply(this, -arguments)};var C=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):C.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; +arguments)};var D=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):D.apply(this,arguments)};var A=mxVertexHandler.prototype.mouseDown; mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&A.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| -this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var D=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){D.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var C=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){C.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var L=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){L.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= 1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); b()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!= @@ -2608,8 +2609,8 @@ this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.grap if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c, b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var J=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){J.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var N=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= function(){N.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var Q=mxEdgeHandler.prototype.redrawHandles; -mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Q.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var P=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= -function(){P.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var F=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){F.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(Q.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var O=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= +function(){O.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var F=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){F.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), this.changeHandler=null)}}();Format=function(a,c){this.editorUi=a;this.container=c};Format.prototype.labelIndex=0;Format.prototype.currentIndex=0;Format.prototype.showCloseButton=!0;Format.prototype.inactiveTabBackgroundColor="#d7d7d7"; Format.prototype.init=function(){var a=this.editorUi.editor,c=a.graph;this.update=mxUtils.bind(this,function(a,b){this.clearSelectionState();this.refresh()});c.getSelectionModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.EDITING_STARTED,this.update);c.addListener(mxEvent.EDITING_STOPPED,this.update);c.getModel().addListener(mxEvent.CHANGE,this.update);c.addListener(mxEvent.ROOT,mxUtils.bind(this,function(){this.refresh()}));a.addListener("autosaveChanged",mxUtils.bind(this,function(){this.refresh()})); this.refresh()};Format.prototype.clearSelectionState=function(){this.selectionState=null};Format.prototype.getSelectionState=function(){null==this.selectionState&&(this.selectionState=this.createSelectionState());return this.selectionState};Format.prototype.createSelectionState=function(){for(var a=this.editorUi.editor.graph.getSelectionCells(),c=this.initSelectionState(),d=0;d<a.length;d++)this.updateSelectionStateForCell(c,a[d],a);return c}; @@ -2625,34 +2626,34 @@ Format.prototype.isAutoSizeState=function(a){return"1"==mxUtils.getValue(a.style Format.prototype.clear=function(){this.container.innerHTML="";if(null!=this.panels)for(var a=0;a<this.panels.length;a++)this.panels[a].destroy();this.panels=[]}; Format.prototype.refresh=function(){if("0px"!=this.container.style.width){this.clear();var a=this.editorUi,c=a.editor.graph,d=document.createElement("div");d.style.whiteSpace="nowrap";d.style.color="rgb(112, 112, 112)";d.style.textAlign="left";d.style.cursor="default";var b=document.createElement("div");b.style.border="1px solid #c0c0c0";b.style.borderWidth="0px 0px 1px 0px";b.style.textAlign="center";b.style.fontWeight="bold";b.style.overflow="hidden";b.style.display=mxClient.IS_QUIRKS?"inline": "inline-block";b.style.paddingTop="8px";b.style.height=mxClient.IS_QUIRKS?"34px":"25px";b.style.width="100%";this.container.appendChild(d);if(c.isSelectionEmpty())mxUtils.write(b,mxResources.get("diagram")),this.showCloseButton&&(c=document.createElement("img"),c.setAttribute("border","0"),c.setAttribute("src",Dialog.prototype.closeImage),c.setAttribute("title",mxResources.get("hide")),c.style.position="absolute",c.style.display="block",c.style.right="0px",c.style.top="8px",c.style.cursor="pointer", -c.style.marginTop="1px",c.style.marginRight="17px",c.style.border="1px solid transparent",c.style.padding="1px",c.style.opacity=.5,b.appendChild(c),mxEvent.addListener(c,"click",function(){a.actions.get("formatPanel").funct()})),d.appendChild(b),this.panels.push(new DiagramFormatPanel(this,a,d));else if(c.isEditing())mxUtils.write(b,mxResources.get("text")),d.appendChild(b),this.panels.push(new TextFormatPanel(this,a,d));else{var f=this.getSelectionState().containsLabel,e=null,k=null,c=mxUtils.bind(this, -function(a,b,c){var d=mxUtils.bind(this,function(d){e!=a&&(f?this.labelIndex=c:this.currentIndex=c,null!=e&&(e.style.backgroundColor=this.inactiveTabBackgroundColor,e.style.borderBottomWidth="1px"),e=a,e.style.backgroundColor="",e.style.borderBottomWidth="0px",k!=b&&(null!=k&&(k.style.display="none"),k=b,k.style.display=""))});mxEvent.addListener(a,"click",d);c==(f?this.labelIndex:this.currentIndex)&&d()}),g=0;b.style.backgroundColor=this.inactiveTabBackgroundColor;b.style.borderLeftWidth="1px";b.style.width= -f?"50%":"33.3%";b.style.width=f?"50%":"33.3%";var h=b.cloneNode(!1),l=h.cloneNode(!1);h.style.backgroundColor=this.inactiveTabBackgroundColor;l.style.backgroundColor=this.inactiveTabBackgroundColor;if(f)h.style.borderLeftWidth="0px";else{b.style.borderLeftWidth="0px";mxUtils.write(b,mxResources.get("style"));d.appendChild(b);var m=d.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(b,m,g++)}mxUtils.write(h,mxResources.get("text")); -d.appendChild(h);b=d.cloneNode(!1);b.style.display="none";this.panels.push(new TextFormatPanel(this,a,b));this.container.appendChild(b);mxUtils.write(l,mxResources.get("arrange"));d.appendChild(l);d=d.cloneNode(!1);d.style.display="none";this.panels.push(new ArrangePanel(this,a,d));this.container.appendChild(d);c(h,b,g++);c(l,d,g++)}}};BaseFormatPanel=function(a,c,d){this.format=a;this.editorUi=c;this.container=d;this.listeners=[]};BaseFormatPanel.prototype.buttonBackgroundColor="white"; +c.style.marginTop="1px",c.style.marginRight="17px",c.style.border="1px solid transparent",c.style.padding="1px",c.style.opacity=.5,b.appendChild(c),mxEvent.addListener(c,"click",function(){a.actions.get("formatPanel").funct()})),d.appendChild(b),this.panels.push(new DiagramFormatPanel(this,a,d));else if(c.isEditing())mxUtils.write(b,mxResources.get("text")),d.appendChild(b),this.panels.push(new TextFormatPanel(this,a,d));else{var f=this.getSelectionState().containsLabel,e=null,h=null,c=mxUtils.bind(this, +function(a,b,c){var d=mxUtils.bind(this,function(d){e!=a&&(f?this.labelIndex=c:this.currentIndex=c,null!=e&&(e.style.backgroundColor=this.inactiveTabBackgroundColor,e.style.borderBottomWidth="1px"),e=a,e.style.backgroundColor="",e.style.borderBottomWidth="0px",h!=b&&(null!=h&&(h.style.display="none"),h=b,h.style.display=""))});mxEvent.addListener(a,"click",d);c==(f?this.labelIndex:this.currentIndex)&&d()}),g=0;b.style.backgroundColor=this.inactiveTabBackgroundColor;b.style.borderLeftWidth="1px";b.style.width= +f?"50%":"33.3%";b.style.width=f?"50%":"33.3%";var k=b.cloneNode(!1),l=k.cloneNode(!1);k.style.backgroundColor=this.inactiveTabBackgroundColor;l.style.backgroundColor=this.inactiveTabBackgroundColor;if(f)k.style.borderLeftWidth="0px";else{b.style.borderLeftWidth="0px";mxUtils.write(b,mxResources.get("style"));d.appendChild(b);var m=d.cloneNode(!1);m.style.display="none";this.panels.push(new StyleFormatPanel(this,a,m));this.container.appendChild(m);c(b,m,g++)}mxUtils.write(k,mxResources.get("text")); +d.appendChild(k);b=d.cloneNode(!1);b.style.display="none";this.panels.push(new TextFormatPanel(this,a,b));this.container.appendChild(b);mxUtils.write(l,mxResources.get("arrange"));d.appendChild(l);d=d.cloneNode(!1);d.style.display="none";this.panels.push(new ArrangePanel(this,a,d));this.container.appendChild(d);c(k,b,g++);c(l,d,g++)}}};BaseFormatPanel=function(a,c,d){this.format=a;this.editorUi=c;this.container=d;this.listeners=[]};BaseFormatPanel.prototype.buttonBackgroundColor="white"; BaseFormatPanel.prototype.getSelectionState=function(){for(var a=this.editorUi.editor.graph,c=a.getSelectionCells(),d=null,b=0;b<c.length;b++){var f=a.view.getState(c[b]);if(null!=f&&(f=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null),null!=f))if(null==d)d=f;else if(d!=f)return null}return d}; -BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,k,g){e=null!=e?e:"";g=null!=g?g:!1;var h=this.editorUi,l=h.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var r=g?parseFloat(a.value):parseInt(a.value);isNaN(r)||c!=mxConstants.STYLE_ROTATION||(r=mxUtils.mod(Math.round(100*r),36E3)/100);r=Math.min(f,Math.max(b,isNaN(r)?d:r));if(l.cellEditor.isContentEditing()&&k)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),k(r),a.value=r+e, -n=!1);else if(r!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{l.setCellStyles(c,r,l.getSelectionCells()),c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=r+"px";a.removeAttribute("size")}),h.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[r],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}a.value=r+e;mxEvent.consume(p)});k&&l.cellEditor.isContentEditing()&& +BaseFormatPanel.prototype.installInputHandler=function(a,c,d,b,f,e,h,g){e=null!=e?e:"";g=null!=g?g:!1;var k=this.editorUi,l=k.editor.graph;b=null!=b?b:1;f=null!=f?f:999;var m=null,n=!1,p=mxUtils.bind(this,function(p){var q=g?parseFloat(a.value):parseInt(a.value);isNaN(q)||c!=mxConstants.STYLE_ROTATION||(q=mxUtils.mod(Math.round(100*q),36E3)/100);q=Math.min(f,Math.max(b,isNaN(q)?d:q));if(l.cellEditor.isContentEditing()&&h)n||(n=!0,null!=m&&(l.cellEditor.restoreSelection(m),m=null),h(q),a.value=q+e, +n=!1);else if(q!=mxUtils.getValue(this.format.getSelectionState().style,c,d)){l.isEditing()&&l.stopEditing(!0);l.getModel().beginUpdate();try{l.setCellStyles(c,q,l.getSelectionCells()),c==mxConstants.STYLE_FONTSIZE&&l.updateLabelElements(l.getSelectionCells(),function(a){a.style.fontSize=q+"px";a.removeAttribute("size")}),k.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[q],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}a.value=q+e;mxEvent.consume(p)});h&&l.cellEditor.isContentEditing()&& (mxEvent.addListener(a,"mousedown",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}),mxEvent.addListener(a,"touchstart",function(){document.activeElement==l.cellEditor.textarea&&(m=l.cellEditor.saveSelection())}));mxEvent.addListener(a,"change",p);mxEvent.addListener(a,"blur",p);return p};BaseFormatPanel.prototype.createPanel=function(){var a=document.createElement("div");a.style.padding="12px 0px 12px 18px";a.style.borderBottom="1px solid #c0c0c0";return a}; BaseFormatPanel.prototype.createTitle=function(a){var c=document.createElement("div");c.style.padding="0px 0px 6px 0px";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.width="200px";c.style.fontWeight="bold";mxUtils.write(c,a);return c}; -BaseFormatPanel.prototype.createStepper=function(a,c,d,b,f,e){d=null!=d?d:1;b=null!=b?b:8;if(mxClient.IS_QUIRKS)b-=2;else if(mxClient.IS_MT||8<=document.documentMode)b+=1;var k=document.createElement("div");mxUtils.setPrefixedStyle(k.style,"borderRadius","3px");k.style.border="1px solid rgb(192, 192, 192)";k.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className= -"geBtnUp";k.appendChild(g);var h=g.cloneNode(!1);h.style.border="none";h.style.height=b+"px";h.className="geBtnDown";k.appendChild(h);mxEvent.addListener(h,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(k,function(a){if(mxClient.IS_QUIRKS|| -8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return k}; -BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var k=document.createElement("span");mxUtils.write(k,a);f.appendChild(k);var g=!1,h=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked", -"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),h!=a&&(h=a,c()!=h&&d(h)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==k)e.checked=!e.checked;l(e.checked)}});l(h);null!=b&&(b.install(l),this.listeners.push(b));return f}; -BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,k,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var h=this.editorUi,l=h.editor.graph;return this.createOption(a,function(){var a=l.view.getState(l.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,d)!=f:null},function(a){g&&l.stopEditing();if(null!=k)k.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),h.fireEvent(new mxEventObject("styleChanged", +BaseFormatPanel.prototype.createStepper=function(a,c,d,b,f,e){d=null!=d?d:1;b=null!=b?b:8;if(mxClient.IS_QUIRKS)b-=2;else if(mxClient.IS_MT||8<=document.documentMode)b+=1;var h=document.createElement("div");mxUtils.setPrefixedStyle(h.style,"borderRadius","3px");h.style.border="1px solid rgb(192, 192, 192)";h.style.position="absolute";var g=document.createElement("div");g.style.borderBottom="1px solid rgb(192, 192, 192)";g.style.position="relative";g.style.height=b+"px";g.style.width="10px";g.className= +"geBtnUp";h.appendChild(g);var k=g.cloneNode(!1);k.style.border="none";k.style.height=b+"px";k.className="geBtnDown";h.appendChild(k);mxEvent.addListener(k,"click",function(b){""==a.value&&(a.value=e||"2");var f=parseInt(a.value);isNaN(f)||(a.value=f-d,null!=c&&c(b));mxEvent.consume(b)});mxEvent.addListener(g,"click",function(b){""==a.value&&(a.value=e||"0");var f=parseInt(a.value);isNaN(f)||(a.value=f+d,null!=c&&c(b));mxEvent.consume(b)});if(f){var l=null;mxEvent.addGestureListeners(h,function(a){if(mxClient.IS_QUIRKS|| +8==document.documentMode)l=document.selection.createRange();mxEvent.consume(a)},null,function(a){if(null!=l){try{l.select()}catch(n){}l=null;mxEvent.consume(a)}})}return h}; +BaseFormatPanel.prototype.createOption=function(a,c,d,b){var f=document.createElement("div");f.style.padding="6px 0px 1px 0px";f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.width="200px";f.style.height=mxClient.IS_QUIRKS?"27px":"18px";var e=document.createElement("input");e.setAttribute("type","checkbox");e.style.margin="0px 6px 0px 0px";f.appendChild(e);var h=document.createElement("span");mxUtils.write(h,a);f.appendChild(h);var g=!1,k=c(),l=function(a){g||(g=!0,a?(e.setAttribute("checked", +"checked"),e.defaultChecked=!0,e.checked=!0):(e.removeAttribute("checked"),e.defaultChecked=!1,e.checked=!1),k!=a&&(k=a,c()!=k&&d(k)),g=!1)};mxEvent.addListener(f,"click",function(a){if("disabled"!=e.getAttribute("disabled")){a=mxEvent.getSource(a);if(a==f||a==h)e.checked=!e.checked;l(e.checked)}});l(k);null!=b&&(b.install(l),this.listeners.push(b));return f}; +BaseFormatPanel.prototype.createCellOption=function(a,c,d,b,f,e,h,g){b=null!=b?"null"==b?null:b:"1";f=null!=f?"null"==f?null:f:"0";var k=this.editorUi,l=k.editor.graph;return this.createOption(a,function(){var a=l.view.getState(l.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,d)!=f:null},function(a){g&&l.stopEditing();if(null!=h)h.funct();else{l.getModel().beginUpdate();try{a=a?b:f,l.setCellStyles(c,a,l.getSelectionCells()),null!=e&&e(l.getSelectionCells(),a),k.fireEvent(new mxEventObject("styleChanged", "keys",[c],"values",[a],"cells",l.getSelectionCells()))}finally{l.getModel().endUpdate()}}},{install:function(a){this.listener=function(){var b=l.view.getState(l.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,d)!=f)};l.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){l.getModel().removeListener(this.listener)}})}; -BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,k){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var h=document.createElement("input");h.setAttribute("type","checkbox");h.style.margin="0px 6px 0px 0px";k||g.appendChild(h);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m= -!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(null!=a&&a!=mxConstants.NONE?a:b)+';"></div>';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(h.setAttribute("checked","checked"),h.defaultChecked=!0,h.checked=!0):(h.removeAttribute("checked"),h.defaultChecked=!1,h.checked=!1);p.style.display=h.checked||k?"":"none";null!=e&&e(a);f||(n=a,(g||k||c()!=n)&& -d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=h.checked||k?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==h||"INPUT"!=a.nodeName)a!=h&&(h.checked=!h.checked),h.checked||null==n||n==mxConstants.NONE|| -b==mxConstants.NONE||(b=n),q(h.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; -BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,k=e.editor.graph;return this.createColorOption(a,function(){var a=k.view.getState(k.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){k.getModel().beginUpdate();try{null!=f&&f(a),k.setCellStyles(c,a,k.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",k.getSelectionCells()))}finally{k.getModel().endUpdate()}},d||mxConstants.NONE, -{install:function(a){this.listener=function(){var b=k.view.getState(k.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};k.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){k.getModel().removeListener(this.listener)}},b)}; +BaseFormatPanel.prototype.createColorOption=function(a,c,d,b,f,e,h){var g=document.createElement("div");g.style.padding="6px 0px 1px 0px";g.style.whiteSpace="nowrap";g.style.overflow="hidden";g.style.width="200px";g.style.height=mxClient.IS_QUIRKS?"27px":"18px";var k=document.createElement("input");k.setAttribute("type","checkbox");k.style.margin="0px 6px 0px 0px";h||g.appendChild(k);var l=document.createElement("span");mxUtils.write(l,a);g.appendChild(l);var m=!1,n=c(),p=null,q=function(a,f,g){if(!m){m= +!0;p.innerHTML='<div style="width:'+(mxClient.IS_QUIRKS?"30":"36")+"px;height:12px;margin:3px;border:1px solid black;background-color:"+(null!=a&&a!=mxConstants.NONE?a:b)+';"></div>';if(mxClient.IS_QUIRKS||8==document.documentMode)p.firstChild.style.margin="0px";null!=a&&a!=mxConstants.NONE?(k.setAttribute("checked","checked"),k.defaultChecked=!0,k.checked=!0):(k.removeAttribute("checked"),k.defaultChecked=!1,k.checked=!1);p.style.display=k.checked||h?"":"none";null!=e&&e(a);f||(n=a,(g||h||c()!=n)&& +d(n));m=!1}},p=mxUtils.button("",mxUtils.bind(this,function(a){this.editorUi.pickColor(n,function(a){q(a,null,!0)});mxEvent.consume(a)}));p.style.position="absolute";p.style.marginTop="-4px";p.style.right=mxClient.IS_QUIRKS?"0px":"20px";p.style.height="22px";p.className="geColorBtn";p.style.display=k.checked||h?"":"none";g.appendChild(p);mxEvent.addListener(g,"click",function(a){a=mxEvent.getSource(a);if(a==k||"INPUT"!=a.nodeName)a!=k&&(k.checked=!k.checked),k.checked||null==n||n==mxConstants.NONE|| +b==mxConstants.NONE||(b=n),q(k.checked?b:mxConstants.NONE)});q(n,!0);null!=f&&(f.install(q),this.listeners.push(f));return g}; +BaseFormatPanel.prototype.createCellColorOption=function(a,c,d,b,f){var e=this.editorUi,h=e.editor.graph;return this.createColorOption(a,function(){var a=h.view.getState(h.getSelectionCell());return null!=a?mxUtils.getValue(a.style,c,null):null},function(a){h.getModel().beginUpdate();try{null!=f&&f(a),h.setCellStyles(c,a,h.getSelectionCells()),e.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[a],"cells",h.getSelectionCells()))}finally{h.getModel().endUpdate()}},d||mxConstants.NONE, +{install:function(a){this.listener=function(){var b=h.view.getState(h.getSelectionCell());null!=b&&a(mxUtils.getValue(b.style,c,null))};h.getModel().addListener(mxEvent.CHANGE,this.listener)},destroy:function(){h.getModel().removeListener(this.listener)}},b)}; BaseFormatPanel.prototype.addArrow=function(a,c){c=null!=c?c:10;var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.padding="6px";d.style.paddingRight="4px";var b=10-c;2==b?d.style.paddingTop="6px":0<b?d.style.paddingTop=6-b+"px":d.style.marginTop="-2px";d.style.height=c+"px";d.style.borderLeft="1px solid #a0a0a0";d.innerHTML='<img border="0" src="'+(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHBJREFUeNpidHB2ZyAGsACxDRBPIKCuA6TwCBB/h2rABu4A8SYmKCcXiP/iUFgAxL9gCi8A8SwsirZCMQMTkmANEH9E4v+CmsaArvAdyNFI/FlQ92EoBIE+qCRIUz168DBgsU4OqhinQpgHMABAgAEALY4XLIsJ20oAAAAASUVORK5CYII=": IMAGE_PATH+"/dropdown.png")+'" style="margin-bottom:4px;">';mxUtils.setOpacity(d,70);b=a.getElementsByTagName("div")[0];null!=b&&(b.style.paddingRight="6px",b.style.marginLeft="4px",b.style.marginTop="-1px",b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",mxUtils.setOpacity(b,60));mxUtils.setOpacity(a,100);a.style.border="1px solid #a0a0a0";a.style.backgroundColor=this.buttonBackgroundColor;a.style.backgroundImage="none";a.style.width="auto";a.className+=" geColorBtn";mxUtils.setPrefixedStyle(a.style, -"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,k,g){k=null!=k?k:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=k-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; -BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){d=null!=d?d:44;var e=this.editorUi.editor.graph,k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";mxUtils.write(k,a);k.style.fontWeight="bold";a=mxUtils.bind(this,function(a){if(null!=b)b(g);else{var d=parseInt(g.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),f=e.view.getState(e.getSelectionCell());null!=f&&d!=mxUtils.getValue(f.style,c,100)&&(100==d&&(d=null),e.setCellStyles(c,d,e.getSelectionCells()), -this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[d],"cells",e.getSelectionCells())));g.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)});var g=this.addUnitInput(k,"%",20,d,a,10,-15,null!=b);if(null!=c){var h=mxUtils.bind(this,function(a,b,d){if(d||g!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),g.value=isNaN(a)?"":a+" %"});mxEvent.addListener(g,"keydown",function(a){13==a.keyCode?(e.container.focus(),mxEvent.consume(a)): -27==a.keyCode&&(h(null,null,!0),e.container.focus(),mxEvent.consume(a))});e.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){e.getModel().removeListener(h)}});h()}mxEvent.addListener(g,"blur",a);mxEvent.addListener(g,"change",a);null!=f&&f(g);return k}; +"borderRadius","3px");a.appendChild(d);return b};BaseFormatPanel.prototype.addUnitInput=function(a,c,d,b,f,e,h,g){h=null!=h?h:0;c=document.createElement("input");c.style.position="absolute";c.style.textAlign="right";c.style.marginTop="-2px";c.style.right=d+12+"px";c.style.width=b+"px";a.appendChild(c);b=this.createStepper(c,f,e,null,g);b.style.marginTop=h-2+"px";b.style.right=d+"px";a.appendChild(b);return c}; +BaseFormatPanel.prototype.createRelativeOption=function(a,c,d,b,f){d=null!=d?d:44;var e=this.editorUi.editor.graph,h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";mxUtils.write(h,a);h.style.fontWeight="bold";a=mxUtils.bind(this,function(a){if(null!=b)b(g);else{var d=parseInt(g.value),d=Math.min(100,Math.max(0,isNaN(d)?100:d)),f=e.view.getState(e.getSelectionCell());null!=f&&d!=mxUtils.getValue(f.style,c,100)&&(100==d&&(d=null),e.setCellStyles(c,d,e.getSelectionCells()), +this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[c],"values",[d],"cells",e.getSelectionCells())));g.value=(null!=d?d:"100")+" %"}mxEvent.consume(a)});var g=this.addUnitInput(h,"%",20,d,a,10,-15,null!=b);if(null!=c){var k=mxUtils.bind(this,function(a,b,d){if(d||g!=document.activeElement)a=this.format.getSelectionState(),a=parseInt(mxUtils.getValue(a.style,c,100)),g.value=isNaN(a)?"":a+" %"});mxEvent.addListener(g,"keydown",function(a){13==a.keyCode?(e.container.focus(),mxEvent.consume(a)): +27==a.keyCode&&(k(null,null,!0),e.container.focus(),mxEvent.consume(a))});e.getModel().addListener(mxEvent.CHANGE,k);this.listeners.push({destroy:function(){e.getModel().removeListener(k)}});k()}mxEvent.addListener(g,"blur",a);mxEvent.addListener(g,"change",a);null!=f&&f(g);return h}; BaseFormatPanel.prototype.addLabel=function(a,c,d,b){b=null!=b?b:61;var f=document.createElement("div");mxUtils.write(f,c);f.style.position="absolute";f.style.right=d+"px";f.style.width=b+"px";f.style.marginTop="6px";f.style.textAlign="center";a.appendChild(f)}; BaseFormatPanel.prototype.addKeyHandler=function(a,c){mxEvent.addListener(a,"keydown",mxUtils.bind(this,function(a){13==a.keyCode?(this.editorUi.editor.graph.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(null!=c&&c(null,null,!0),this.editorUi.editor.graph.container.focus(),mxEvent.consume(a))}))}; BaseFormatPanel.prototype.styleButtons=function(a){for(var c=0;c<a.length;c++)mxUtils.setPrefixedStyle(a[c].style,"borderRadius","3px"),mxUtils.setOpacity(a[c],100),a[c].style.border="1px solid #a0a0a0",a[c].style.padding="4px",a[c].style.paddingTop="3px",a[c].style.paddingRight="1px",a[c].style.margin="1px",a[c].style.width="24px",a[c].style.height="20px",a[c].className+=" geColorBtn"}; @@ -2661,121 +2662,122 @@ ArrangePanel.prototype.init=function(){var a=this.format.getSelectionState();thi this.container.appendChild(this.addGroupOps(this.createPanel()))}; ArrangePanel.prototype.addLayerOps=function(a){var c=this.editorUi,d=mxUtils.button(mxResources.get("toFront"),function(a){c.actions.get("toFront").funct()});d.setAttribute("title",mxResources.get("toFront")+" ("+this.editorUi.actions.get("toFront").shortcut+")");d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("toBack"),function(a){c.actions.get("toBack").funct()});d.setAttribute("title",mxResources.get("toBack")+" ("+this.editorUi.actions.get("toBack").shortcut+ ")");d.style.width="100px";a.appendChild(d);return a}; -ArrangePanel.prototype.addGroupOps=function(a){var c=this.editorUi,d=c.editor.graph,b=d.getSelectionCell();this.format.getSelectionState();var f=0,e=null;a.style.paddingTop="8px";a.style.paddingBottom="6px";1<d.getSelectionCount()?(e=mxUtils.button(mxResources.get("group"),function(a){c.actions.get("group").funct()}),e.setAttribute("title",mxResources.get("group")+" ("+this.editorUi.actions.get("group").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++):1==d.getSelectionCount()&& -!d.getModel().isEdge(b)&&!d.isSwimlane(b)&&0<d.getModel().getChildCount(b)&&(e=mxUtils.button(mxResources.get("ungroup"),function(a){c.actions.get("ungroup").funct()}),e.setAttribute("title",mxResources.get("ungroup")+" ("+this.editorUi.actions.get("ungroup").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++);1==d.getSelectionCount()&&d.getModel().isVertex(b)&&d.getModel().isVertex(d.getModel().getParent(b))?(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("removeFromGroup"), -function(a){c.actions.get("removeFromGroup").funct()}),e.setAttribute("title",mxResources.get("removeFromGroup")),e.style.width="202px",e.style.marginBottom="2px",a.appendChild(e),f++):0<d.getSelectionCount()&&(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("clearWaypoints"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearWaypoints").funct()})),e.setAttribute("title",mxResources.get("clearWaypoints")+" ("+this.editorUi.actions.get("clearWaypoints").shortcut+")"),e.style.width="202px", -e.style.marginBottom="2px",a.appendChild(e),f++);1==d.getSelectionCount()&&(0<f&&mxUtils.br(a),e=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()})),e.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")"),e.style.width="100px",e.style.marginBottom="2px",a.appendChild(e),f++,e=mxUtils.button(mxResources.get("editLink"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editLink").funct()})), -e.setAttribute("title",mxResources.get("editLink")),e.style.width="100px",e.style.marginLeft="2px",e.style.marginBottom="2px",a.appendChild(e),f++);0==f&&(a.style.display="none");return a}; +ArrangePanel.prototype.addGroupOps=function(a){var c=this.editorUi,d=c.editor.graph,b=d.getSelectionCell(),f=this.format.getSelectionState(),e=0,h=null;a.style.paddingTop="8px";a.style.paddingBottom="6px";1<d.getSelectionCount()?(h=mxUtils.button(mxResources.get("group"),function(a){c.actions.get("group").funct()}),h.setAttribute("title",mxResources.get("group")+" ("+this.editorUi.actions.get("group").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++):1==d.getSelectionCount()&& +!d.getModel().isEdge(b)&&!d.isSwimlane(b)&&0<d.getModel().getChildCount(b)&&(h=mxUtils.button(mxResources.get("ungroup"),function(a){c.actions.get("ungroup").funct()}),h.setAttribute("title",mxResources.get("ungroup")+" ("+this.editorUi.actions.get("ungroup").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++);0<f.vertices.length&&(0<e&&(mxUtils.br(a),e=0),h=mxUtils.button(mxResources.get("copySize"),function(a){c.actions.get("copySize").funct()}),h.setAttribute("title", +mxResources.get("copySize")+" ("+this.editorUi.actions.get("copySize").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++,null!=c.copiedSize&&(f=mxUtils.button(mxResources.get("pasteSize"),function(a){c.actions.get("pasteSize").funct()}),f.setAttribute("title",mxResources.get("pasteSize")+" ("+this.editorUi.actions.get("pasteSize").shortcut+")"),a.appendChild(f),e++,h.style.width="100px",h.style.marginBottom="2px",f.style.width="100px",f.style.marginBottom="2px")); +1==d.getSelectionCount()&&d.getModel().isVertex(b)&&d.getModel().isVertex(d.getModel().getParent(b))?(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("removeFromGroup"),function(a){c.actions.get("removeFromGroup").funct()}),h.setAttribute("title",mxResources.get("removeFromGroup")),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++):0<d.getSelectionCount()&&(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("clearWaypoints"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearWaypoints").funct()})), +h.setAttribute("title",mxResources.get("clearWaypoints")+" ("+this.editorUi.actions.get("clearWaypoints").shortcut+")"),h.style.width="202px",h.style.marginBottom="2px",a.appendChild(h),e++);1==d.getSelectionCount()&&(0<e&&mxUtils.br(a),h=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()})),h.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")"),h.style.width="100px",h.style.marginBottom= +"2px",a.appendChild(h),e++,h=mxUtils.button(mxResources.get("editLink"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editLink").funct()})),h.setAttribute("title",mxResources.get("editLink")),h.style.width="100px",h.style.marginLeft="2px",h.style.marginBottom="2px",a.appendChild(h),e++);0==e&&(a.style.display="none");return a}; ArrangePanel.prototype.addAlign=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("align")));var d=document.createElement("div");d.style.position="relative";d.style.paddingLeft="0px";d.style.borderWidth="0px";d.className="geToolbarContainer";mxClient.IS_QUIRKS&&(a.style.height="60px");var b=this.editorUi.toolbar.addButton("geSprite-alignleft",mxResources.get("left"),function(){c.alignCells(mxConstants.ALIGN_LEFT)}, -d),f=this.editorUi.toolbar.addButton("geSprite-aligncenter",mxResources.get("center"),function(){c.alignCells(mxConstants.ALIGN_CENTER)},d),e=this.editorUi.toolbar.addButton("geSprite-alignright",mxResources.get("right"),function(){c.alignCells(mxConstants.ALIGN_RIGHT)},d),k=this.editorUi.toolbar.addButton("geSprite-aligntop",mxResources.get("top"),function(){c.alignCells(mxConstants.ALIGN_TOP)},d),g=this.editorUi.toolbar.addButton("geSprite-alignmiddle",mxResources.get("middle"),function(){c.alignCells(mxConstants.ALIGN_MIDDLE)}, -d),h=this.editorUi.toolbar.addButton("geSprite-alignbottom",mxResources.get("bottom"),function(){c.alignCells(mxConstants.ALIGN_BOTTOM)},d);this.styleButtons([b,f,e,k,g,h]);e.style.marginRight="6px";a.appendChild(d);return a}; +d),f=this.editorUi.toolbar.addButton("geSprite-aligncenter",mxResources.get("center"),function(){c.alignCells(mxConstants.ALIGN_CENTER)},d),e=this.editorUi.toolbar.addButton("geSprite-alignright",mxResources.get("right"),function(){c.alignCells(mxConstants.ALIGN_RIGHT)},d),h=this.editorUi.toolbar.addButton("geSprite-aligntop",mxResources.get("top"),function(){c.alignCells(mxConstants.ALIGN_TOP)},d),g=this.editorUi.toolbar.addButton("geSprite-alignmiddle",mxResources.get("middle"),function(){c.alignCells(mxConstants.ALIGN_MIDDLE)}, +d),k=this.editorUi.toolbar.addButton("geSprite-alignbottom",mxResources.get("bottom"),function(){c.alignCells(mxConstants.ALIGN_BOTTOM)},d);this.styleButtons([b,f,e,h,g,k]);e.style.marginRight="6px";a.appendChild(d);return a}; ArrangePanel.prototype.addFlip=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="10px";var d=document.createElement("div");d.style.marginTop="2px";d.style.marginBottom="8px";d.style.fontWeight="bold";mxUtils.write(d,mxResources.get("flip"));a.appendChild(d);d=mxUtils.button(mxResources.get("horizontal"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)});d.setAttribute("title",mxResources.get("horizontal"));d.style.width="100px";d.style.marginRight= "2px";a.appendChild(d);d=mxUtils.button(mxResources.get("vertical"),function(a){c.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)});d.setAttribute("title",mxResources.get("vertical"));d.style.width="100px";a.appendChild(d);return a}; ArrangePanel.prototype.addDistribute=function(a){var c=this.editorUi.editor.graph;a.style.paddingTop="6px";a.style.paddingBottom="12px";a.appendChild(this.createTitle(mxResources.get("distribute")));var d=mxUtils.button(mxResources.get("horizontal"),function(a){c.distributeCells(!0)});d.setAttribute("title",mxResources.get("horizontal"));d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("vertical"),function(a){c.distributeCells(!1)});d.setAttribute("title", mxResources.get("vertical"));d.style.width="100px";a.appendChild(d);return a}; -ArrangePanel.prototype.addAngle=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState();a.style.paddingBottom="8px";var f=document.createElement("div");f.style.position="absolute";f.style.width="70px";f.style.marginTop="0px";f.style.fontWeight="bold";var e=null,k=null,g=null;0==b.edges.length?(mxUtils.write(f,mxResources.get("angle")),a.appendChild(f),e=this.addUnitInput(a,"°",20,44,function(){k.apply(this,arguments)}),mxUtils.br(a),a.style.paddingTop="10px"):a.style.paddingTop= -"8px";b.containsLabel||(f=mxResources.get("reverse"),0<b.vertices.length&&0<b.edges.length?f=mxResources.get("turn")+" / "+f:0<b.vertices.length&&(f=mxResources.get("turn")),g=mxUtils.button(f,function(a){c.actions.get("turn").funct()}),g.setAttribute("title",f+" ("+this.editorUi.actions.get("turn").shortcut+")"),g.style.width="202px",a.appendChild(g),null!=e&&(g.style.marginTop="8px"));if(null!=e){var h=mxUtils.bind(this,function(a,c,d){if(d||document.activeElement!=e)b=this.format.getSelectionState(), -a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0)),e.value=isNaN(a)?"":a+"°"}),k=this.installInputHandler(e,mxConstants.STYLE_ROTATION,0,0,360,"°",null,!0);this.addKeyHandler(e,h);d.getModel().addListener(mxEvent.CHANGE,h);this.listeners.push({destroy:function(){d.getModel().removeListener(h)}});h()}return a}; -ArrangePanel.prototype.addGeometry=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState(),f=this.createPanel();f.style.paddingBottom="8px";var e=document.createElement("div");e.style.position="absolute";e.style.width="50px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("size"));f.appendChild(e);var k,g,h,l,m=this.addUnitInput(f,"pt",84,44,function(){k.apply(this,arguments)}),n=this.addUnitInput(f,"pt",20,44,function(){g.apply(this,arguments)}), +ArrangePanel.prototype.addAngle=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState();a.style.paddingBottom="8px";var f=document.createElement("div");f.style.position="absolute";f.style.width="70px";f.style.marginTop="0px";f.style.fontWeight="bold";var e=null,h=null,g=null;0==b.edges.length?(mxUtils.write(f,mxResources.get("angle")),a.appendChild(f),e=this.addUnitInput(a,"°",20,44,function(){h.apply(this,arguments)}),mxUtils.br(a),a.style.paddingTop="10px"):a.style.paddingTop= +"8px";b.containsLabel||(f=mxResources.get("reverse"),0<b.vertices.length&&0<b.edges.length?f=mxResources.get("turn")+" / "+f:0<b.vertices.length&&(f=mxResources.get("turn")),g=mxUtils.button(f,function(a){c.actions.get("turn").funct()}),g.setAttribute("title",f+" ("+this.editorUi.actions.get("turn").shortcut+")"),g.style.width="202px",a.appendChild(g),null!=e&&(g.style.marginTop="8px"));if(null!=e){var k=mxUtils.bind(this,function(a,c,d){if(d||document.activeElement!=e)b=this.format.getSelectionState(), +a=parseFloat(mxUtils.getValue(b.style,mxConstants.STYLE_ROTATION,0)),e.value=isNaN(a)?"":a+"°"}),h=this.installInputHandler(e,mxConstants.STYLE_ROTATION,0,0,360,"°",null,!0);this.addKeyHandler(e,k);d.getModel().addListener(mxEvent.CHANGE,k);this.listeners.push({destroy:function(){d.getModel().removeListener(k)}});k()}return a}; +ArrangePanel.prototype.addGeometry=function(a){var c=this.editorUi,d=c.editor.graph,b=this.format.getSelectionState(),f=this.createPanel();f.style.paddingBottom="8px";var e=document.createElement("div");e.style.position="absolute";e.style.width="50px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e,mxResources.get("size"));f.appendChild(e);var h,g,k,l,m=this.addUnitInput(f,"pt",84,44,function(){h.apply(this,arguments)}),n=this.addUnitInput(f,"pt",20,44,function(){g.apply(this,arguments)}), p=document.createElement("div");p.className="geSprite geSprite-fit";p.setAttribute("title",mxResources.get("autosize")+" ("+this.editorUi.actions.get("autosize").shortcut+")");p.style.position="relative";p.style.cursor="pointer";p.style.marginTop="-3px";p.style.border="0px";p.style.left="52px";mxUtils.setOpacity(p,50);mxEvent.addListener(p,"mouseenter",function(){mxUtils.setOpacity(p,100)});mxEvent.addListener(p,"mouseleave",function(){mxUtils.setOpacity(p,50)});mxEvent.addListener(p,"click",function(){c.actions.get("autosize").funct()}); -f.appendChild(p);this.addLabel(f,mxResources.get("width"),84);this.addLabel(f,mxResources.get("height"),20);mxUtils.br(f);e=document.createElement("div");e.style.paddingTop="8px";e.style.paddingRight="20px";e.style.whiteSpace="nowrap";e.style.textAlign="right";var q=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,null,"fixed","null");q.style.width="100%";e.appendChild(q);f.appendChild(e);var r=q.getElementsByTagName("input")[0];this.addKeyHandler(m,u);this.addKeyHandler(n, -u);k=this.addGeometryHandler(m,function(a,b){0<a.width&&(b=Math.max(1,b),r.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});g=this.addGeometryHandler(n,function(a,b){0<a.height&&(b=Math.max(1,b),r.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(f);var t=this.createPanel();t.style.paddingBottom="30px";e=document.createElement("div");e.style.position="absolute";e.style.width="70px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e, -mxResources.get("position"));t.appendChild(e);var w=this.addUnitInput(t,"pt",84,44,function(){h.apply(this,arguments)}),v=this.addUnitInput(t,"pt",20,44,function(){l.apply(this,arguments)});mxUtils.br(t);this.addLabel(t,mxResources.get("left"),84);this.addLabel(t,mxResources.get("top"),20);var u=mxUtils.bind(this,function(a,c,e){b=this.format.getSelectionState();if(b.containsLabel||b.vertices.length!=d.getSelectionCount()||null==b.width||null==b.height)f.style.display="none";else{f.style.display= -"";if(e||document.activeElement!=m)m.value=b.width+(""==b.width?"":" pt");if(e||document.activeElement!=n)n.value=b.height+(""==b.height?"":" pt")}if(b.vertices.length==d.getSelectionCount()&&null!=b.x&&null!=b.y){t.style.display="";if(e||document.activeElement!=w)w.value=b.x+(""==b.x?"":" pt");if(e||document.activeElement!=v)v.value=b.y+(""==b.y?"":" pt")}else t.style.display="none"});this.addKeyHandler(w,u);this.addKeyHandler(v,u);d.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){d.getModel().removeListener(u)}}); -u();h=this.addGeometryHandler(w,function(a,b){a.relative?a.offset.x=b:a.x=b});l=this.addGeometryHandler(v,function(a,b){a.relative?a.offset.y=b:a.y=b});a.appendChild(t)}; -ArrangePanel.prototype.addGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),h=0;h<g.length;h++)if(b.getModel().isVertex(g[h])){var l=b.getCellGeometry(g[h]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[h],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}else isNaN(e)&&(a.value=f+" pt")}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", +f.appendChild(p);this.addLabel(f,mxResources.get("width"),84);this.addLabel(f,mxResources.get("height"),20);mxUtils.br(f);e=document.createElement("div");e.style.paddingTop="8px";e.style.paddingRight="20px";e.style.whiteSpace="nowrap";e.style.textAlign="right";var q=this.createCellOption(mxResources.get("constrainProportions"),mxConstants.STYLE_ASPECT,null,"fixed","null");q.style.width="100%";e.appendChild(q);f.appendChild(e);var t=q.getElementsByTagName("input")[0];this.addKeyHandler(m,u);this.addKeyHandler(n, +u);h=this.addGeometryHandler(m,function(a,b){0<a.width&&(b=Math.max(1,b),t.checked&&(a.height=Math.round(a.height*b*100/a.width)/100),a.width=b)});g=this.addGeometryHandler(n,function(a,b){0<a.height&&(b=Math.max(1,b),t.checked&&(a.width=Math.round(a.width*b*100/a.height)/100),a.height=b)});a.appendChild(f);var r=this.createPanel();r.style.paddingBottom="30px";e=document.createElement("div");e.style.position="absolute";e.style.width="70px";e.style.marginTop="0px";e.style.fontWeight="bold";mxUtils.write(e, +mxResources.get("position"));r.appendChild(e);var v=this.addUnitInput(r,"pt",84,44,function(){k.apply(this,arguments)}),w=this.addUnitInput(r,"pt",20,44,function(){l.apply(this,arguments)});mxUtils.br(r);this.addLabel(r,mxResources.get("left"),84);this.addLabel(r,mxResources.get("top"),20);var u=mxUtils.bind(this,function(a,c,e){b=this.format.getSelectionState();if(b.containsLabel||b.vertices.length!=d.getSelectionCount()||null==b.width||null==b.height)f.style.display="none";else{f.style.display= +"";if(e||document.activeElement!=m)m.value=b.width+(""==b.width?"":" pt");if(e||document.activeElement!=n)n.value=b.height+(""==b.height?"":" pt")}if(b.vertices.length==d.getSelectionCount()&&null!=b.x&&null!=b.y){r.style.display="";if(e||document.activeElement!=v)v.value=b.x+(""==b.x?"":" pt");if(e||document.activeElement!=w)w.value=b.y+(""==b.y?"":" pt")}else r.style.display="none"});this.addKeyHandler(v,u);this.addKeyHandler(w,u);d.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){d.getModel().removeListener(u)}}); +u();k=this.addGeometryHandler(v,function(a,b){a.relative?a.offset.x=b:a.x=b});l=this.addGeometryHandler(w,function(a,b){a.relative?a.offset.y=b:a.y=b});a.appendChild(r)}; +ArrangePanel.prototype.addGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),k=0;k<g.length;k++)if(b.getModel().isVertex(g[k])){var l=b.getCellGeometry(g[k]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[k],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}else isNaN(e)&&(a.value=f+" pt")}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d}; -ArrangePanel.prototype.addEdgeGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(isNaN(e))a.value=f+" pt";else if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),h=0;h<g.length;h++)if(b.getModel().isEdge(g[h])){var l=b.getCellGeometry(g[h]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[h],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", +ArrangePanel.prototype.addEdgeGeometryHandler=function(a,c){function d(d){if(""!=a.value){var e=parseFloat(a.value);if(isNaN(e))a.value=f+" pt";else if(e!=f){b.getModel().beginUpdate();try{for(var g=b.getSelectionCells(),k=0;k<g.length;k++)if(b.getModel().isEdge(g[k])){var l=b.getCellGeometry(g[k]);null!=l&&(l=l.clone(),c(l,e),b.getModel().setGeometry(g[k],l))}}finally{b.getModel().endUpdate()}f=e;a.value=e+" pt"}}mxEvent.consume(d)}var b=this.editorUi.editor.graph,f=null;mxEvent.addListener(a,"blur", d);mxEvent.addListener(a,"change",d);mxEvent.addListener(a,"focus",function(){f=a.value});return d}; ArrangePanel.prototype.addEdgeGeometry=function(a){function c(a){var c=parseInt(n.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth)&&(b.setCellStyles("width",c,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["width"],"values",[c],"cells",b.getSelectionCells())));n.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createPanel(), -k=document.createElement("div");k.style.position="absolute";k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,mxResources.get("width"));e.appendChild(k);var g,h,l,m,n=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(n,u);mxEvent.addListener(n,"blur",c);mxEvent.addListener(n,"change",c);a.appendChild(e);var p=this.createPanel();p.style.paddingBottom="30px";k=document.createElement("div");k.style.position="absolute"; -k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,"Start");p.appendChild(k);var q=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),r=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(q,u);this.addKeyHandler(r,u);var t=this.createPanel();t.style.paddingBottom="30px";k=document.createElement("div"); -k.style.position="absolute";k.style.width="70px";k.style.marginTop="0px";k.style.fontWeight="bold";mxUtils.write(k,"End");t.appendChild(k);var w=this.addUnitInput(t,"pt",84,44,function(){g.apply(this,arguments)}),v=this.addUnitInput(t,"pt",20,44,function(){h.apply(this,arguments)});mxUtils.br(t);this.addLabel(t,mxResources.get("left"),84);this.addLabel(t,mxResources.get("top"),20);a.appendChild(t);this.addKeyHandler(w,u);this.addKeyHandler(v,u);var u=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState(); -a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(q.value=d.sourcePoint.x,r.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a, -!1)?(w.value=d.targetPoint.x,v.value=d.targetPoint.y):t.style.display="none"):(p.style.display="none",t.style.display="none")});l=this.addEdgeGeometryHandler(q,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(r,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.x=b});h=this.addEdgeGeometryHandler(v,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){b.getModel().removeListener(u)}}); +h=document.createElement("div");h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,mxResources.get("width"));e.appendChild(h);var g,k,l,m,n=this.addUnitInput(e,"pt",20,44,function(){c.apply(this,arguments)});mxUtils.br(e);this.addKeyHandler(n,u);mxEvent.addListener(n,"blur",c);mxEvent.addListener(n,"change",c);a.appendChild(e);var p=this.createPanel();p.style.paddingBottom="30px";h=document.createElement("div");h.style.position="absolute"; +h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"Start");p.appendChild(h);var q=this.addUnitInput(p,"pt",84,44,function(){l.apply(this,arguments)}),t=this.addUnitInput(p,"pt",20,44,function(){m.apply(this,arguments)});mxUtils.br(p);this.addLabel(p,mxResources.get("left"),84);this.addLabel(p,mxResources.get("top"),20);a.appendChild(p);this.addKeyHandler(q,u);this.addKeyHandler(t,u);var r=this.createPanel();r.style.paddingBottom="30px";h=document.createElement("div"); +h.style.position="absolute";h.style.width="70px";h.style.marginTop="0px";h.style.fontWeight="bold";mxUtils.write(h,"End");r.appendChild(h);var v=this.addUnitInput(r,"pt",84,44,function(){g.apply(this,arguments)}),w=this.addUnitInput(r,"pt",20,44,function(){k.apply(this,arguments)});mxUtils.br(r);this.addLabel(r,mxResources.get("left"),84);this.addLabel(r,mxResources.get("top"),20);a.appendChild(r);this.addKeyHandler(v,u);this.addKeyHandler(w,u);var u=mxUtils.bind(this,function(a,c,d){f=this.format.getSelectionState(); +a=b.getSelectionCell();if("link"==f.style.shape||"flexArrow"==f.style.shape){if(e.style.display="",d||document.activeElement!=n)d=mxUtils.getValue(f.style,"width",mxCellRenderer.defaultShapes.flexArrow.prototype.defaultWidth),n.value=d+" pt"}else e.style.display="none";1==b.getSelectionCount()&&b.model.isEdge(a)?(d=b.model.getGeometry(a),null!=d.sourcePoint&&null==b.model.getTerminal(a,!0)?(q.value=d.sourcePoint.x,t.value=d.sourcePoint.y):p.style.display="none",null!=d.targetPoint&&null==b.model.getTerminal(a, +!1)?(v.value=d.targetPoint.x,w.value=d.targetPoint.y):r.style.display="none"):(p.style.display="none",r.style.display="none")});l=this.addEdgeGeometryHandler(q,function(a,b){a.sourcePoint.x=b});m=this.addEdgeGeometryHandler(t,function(a,b){a.sourcePoint.y=b});g=this.addEdgeGeometryHandler(v,function(a,b){a.targetPoint.x=b});k=this.addEdgeGeometryHandler(w,function(a,b){a.targetPoint.y=b});b.getModel().addListener(mxEvent.CHANGE,u);this.listeners.push({destroy:function(){b.getModel().removeListener(u)}}); u()};TextFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(TextFormatPanel,BaseFormatPanel);TextFormatPanel.prototype.init=function(){this.container.style.borderBottom="none";this.addFont(this.container)}; TextFormatPanel.prototype.addFont=function(a){function c(a,b){mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?a.style.filter=b?"progid:DXImageTransform.Microsoft.Gradient(StartColorStr='#c5ecff', EndColorStr='#87d4fb', GradientType=0)":"":a.style.backgroundImage=b?"linear-gradient(#c5ecff 0px,#87d4fb 100%)":""}var d=this.editorUi,b=d.editor.graph,f=this.format.getSelectionState(),e=this.createTitle(mxResources.get("font"));e.style.paddingLeft="18px";e.style.paddingTop="10px";e.style.paddingBottom= -"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var k=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",k);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; -g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var h=g.getElementsByTagName("div")[0];h.style.cssFloat="right";a.appendChild(k);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);k=this.createPanel();k.style.marginTop="8px";k.style.borderTop="1px solid #c0c0c0";k.style.paddingTop="6px";k.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= -"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");h=e.cloneNode(!1);h.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],h,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ -" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var n=this.editorUi.toolbar.addItems(["vertical"],h,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(h);this.styleButtons(m);this.styleButtons([n]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), -b.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT])),g),r=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),g),t=this.editorUi.toolbar.addButton("geSprite-right", -mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,r,t]);if(b.cellEditor.isContentEditing()){var w=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},h);this.styleButtons([w])}var v=this.editorUi.toolbar.addButton("geSprite-top", +"6px";a.appendChild(e);e=this.createPanel();e.style.paddingTop="2px";e.style.paddingBottom="2px";e.style.position="relative";e.style.marginLeft="-2px";e.style.borderWidth="0px";e.className="geToolbarContainer";mxClient.IS_QUIRKS&&(e.style.display="block");if(b.cellEditor.isContentEditing()){var h=e.cloneNode(),g=this.editorUi.toolbar.addMenu(mxResources.get("style"),mxResources.get("style"),!0,"formatBlock",h);g.style.color="rgb(112, 112, 112)";g.style.whiteSpace="nowrap";g.style.overflow="hidden"; +g.style.margin="0px";this.addArrow(g);g.style.width="192px";g.style.height="15px";var k=g.getElementsByTagName("div")[0];k.style.cssFloat="right";a.appendChild(h);mxClient.IS_FF&&(g.getElementsByTagName("div")[0].style.marginTop="-18px")}a.appendChild(e);h=this.createPanel();h.style.marginTop="8px";h.style.borderTop="1px solid #c0c0c0";h.style.paddingTop="6px";h.style.paddingBottom="6px";var l=this.editorUi.toolbar.addMenu("Helvetica",mxResources.get("fontFamily"),!0,"fontFamily",e);l.style.color= +"rgb(112, 112, 112)";l.style.whiteSpace="nowrap";l.style.overflow="hidden";l.style.margin="0px";this.addArrow(l);l.style.width="192px";l.style.height="15px";mxClient.IS_FF&&(l.getElementsByTagName("div")[0].style.marginTop="-18px");k=e.cloneNode(!1);k.style.marginLeft="-3px";var m=this.editorUi.toolbar.addItems(["bold","italic","underline"],k,!0);m[0].setAttribute("title",mxResources.get("bold")+" ("+this.editorUi.actions.get("bold").shortcut+")");m[1].setAttribute("title",mxResources.get("italic")+ +" ("+this.editorUi.actions.get("italic").shortcut+")");m[2].setAttribute("title",mxResources.get("underline")+" ("+this.editorUi.actions.get("underline").shortcut+")");var n=this.editorUi.toolbar.addItems(["vertical"],k,!0)[0];mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(k);this.styleButtons(m);this.styleButtons([n]);g=e.cloneNode(!1);g.style.marginLeft="-3px";g.style.paddingBottom="0px";var p=function(a){return function(){return a()}},q=this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"), +b.cellEditor.isContentEditing()?function(){document.execCommand("justifyleft",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_LEFT])),g),t=this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifycenter",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_CENTER])),g),r=this.editorUi.toolbar.addButton("geSprite-right", +mxResources.get("right"),b.cellEditor.isContentEditing()?function(){document.execCommand("justifyright",!1,null)}:p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_ALIGN],[mxConstants.ALIGN_RIGHT])),g);this.styleButtons([q,t,r]);if(b.cellEditor.isContentEditing()){var v=this.editorUi.toolbar.addButton("geSprite-removeformat",mxResources.get("removeFormat"),function(){document.execCommand("removeformat",!1,null)},k);this.styleButtons([v])}var w=this.editorUi.toolbar.addButton("geSprite-top", mxResources.get("top"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_TOP])),g),u=this.editorUi.toolbar.addButton("geSprite-middle",mxResources.get("middle"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_MIDDLE])),g),z=this.editorUi.toolbar.addButton("geSprite-bottom",mxResources.get("bottom"),p(this.editorUi.menus.createStyleChangeFunction([mxConstants.STYLE_VERTICAL_ALIGN],[mxConstants.ALIGN_BOTTOM])), -g);this.styleButtons([v,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,C,A,D,B,L,K;b.cellEditor.isContentEditing()?(v.style.display="none",u.style.display="none",z.style.display="none",n.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", -!1,null)},g),C=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",p=g.cloneNode(!1),p.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), +g);this.styleButtons([w,u,z]);mxClient.IS_QUIRKS&&mxUtils.br(a);a.appendChild(g);var x,D,A,C,B,L,K;b.cellEditor.isContentEditing()?(w.style.display="none",u.style.display="none",z.style.display="none",n.style.display="none",A=this.editorUi.toolbar.addButton("geSprite-justifyfull",null,function(){document.execCommand("justifyfull",!1,null)},g),this.styleButtons([A,x=this.editorUi.toolbar.addButton("geSprite-subscript",mxResources.get("subscript")+" ("+Editor.ctrlKey+"+,)",function(){document.execCommand("subscript", +!1,null)},g),D=this.editorUi.toolbar.addButton("geSprite-superscript",mxResources.get("superscript")+" ("+Editor.ctrlKey+"+.)",function(){document.execCommand("superscript",!1,null)},g)]),A.style.marginRight="9px",p=g.cloneNode(!1),p.style.paddingTop="4px",g=[this.editorUi.toolbar.addButton("geSprite-orderedlist",mxResources.get("numberedList"),function(){document.execCommand("insertorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-unorderedlist",mxResources.get("bulletedList"), function(){document.execCommand("insertunorderedlist",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-outdent",mxResources.get("decreaseIndent"),function(){document.execCommand("outdent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-indent",mxResources.get("increaseIndent"),function(){document.execCommand("indent",!1,null)},p),this.editorUi.toolbar.addButton("geSprite-code",mxResources.get("html"),function(){b.cellEditor.toggleViewMode()},p)],this.styleButtons(g),g[g.length-1].style.marginLeft= -"9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(m[2].style.marginRight="9px",t.style.marginRight="9px");g=e.cloneNode(!1);g.style.marginLeft="0px";g.style.paddingTop="8px";g.style.paddingBottom="4px";g.style.fontWeight="normal";mxUtils.write(g,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var w="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "), +"9px",mxClient.IS_QUIRKS&&(mxUtils.br(a),p.style.height="40"),a.appendChild(p)):(m[2].style.marginRight="9px",r.style.marginRight="9px");g=e.cloneNode(!1);g.style.marginLeft="0px";g.style.paddingTop="8px";g.style.paddingBottom="4px";g.style.fontWeight="normal";mxUtils.write(g,mxResources.get("position"));var I=document.createElement("select");I.style.position="absolute";I.style.right="20px";I.style.width="97px";I.style.marginTop="-2px";for(var v="topLeft top topRight left center right bottomLeft bottom bottomRight".split(" "), E={topLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM],top:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM],topRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM],left:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE],center:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_CENTER, -mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<w.length;p++){var J=document.createElement("option"); -J.setAttribute("value",w[p]);mxUtils.write(J,mxResources.get(w[p]));I.appendChild(J)}g.appendChild(I);w=e.cloneNode(!1);w.style.marginLeft="0px";w.style.paddingTop="4px";w.style.paddingBottom="4px";w.style.fontWeight="normal";mxUtils.write(w,mxResources.get("writingDirection"));var N=document.createElement("select");N.style.position="absolute";N.style.right="20px";N.style.width="97px";N.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Q={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR, -rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var P=document.createElement("option");P.setAttribute("value",J[p]);mxUtils.write(P,mxResources.get(J[p]));N.appendChild(P)}w.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[I.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()), -b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(w),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute", -F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";h.appendChild(F);var G=null,g=this.installInputHandler(F,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=function(c,e){c!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(c)&&(e||d.containsNode(c,!0))&&("FONT"==c.nodeName?(c.removeAttribute("size"),c.style.fontSize=a+"px"):mxUtils.getCurrentStyle(c).fontSize!= +mxConstants.ALIGN_MIDDLE],right:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_MIDDLE,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_MIDDLE],bottomLeft:[mxConstants.ALIGN_LEFT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_TOP],bottom:[mxConstants.ALIGN_CENTER,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_CENTER,mxConstants.ALIGN_TOP],bottomRight:[mxConstants.ALIGN_RIGHT,mxConstants.ALIGN_BOTTOM,mxConstants.ALIGN_LEFT,mxConstants.ALIGN_TOP]},p=0;p<v.length;p++){var J=document.createElement("option"); +J.setAttribute("value",v[p]);mxUtils.write(J,mxResources.get(v[p]));I.appendChild(J)}g.appendChild(I);v=e.cloneNode(!1);v.style.marginLeft="0px";v.style.paddingTop="4px";v.style.paddingBottom="4px";v.style.fontWeight="normal";mxUtils.write(v,mxResources.get("writingDirection"));var N=document.createElement("select");N.style.position="absolute";N.style.right="20px";N.style.width="97px";N.style.marginTop="-2px";for(var J=["automatic","leftToRight","rightToLeft"],Q={automatic:null,leftToRight:mxConstants.TEXT_DIRECTION_LTR, +rightToLeft:mxConstants.TEXT_DIRECTION_RTL},p=0;p<J.length;p++){var O=document.createElement("option");O.setAttribute("value",J[p]);mxUtils.write(O,mxResources.get(J[p]));N.appendChild(O)}v.appendChild(N);b.isEditing()||(a.appendChild(g),mxEvent.addListener(I,"change",function(a){b.getModel().beginUpdate();try{var c=E[I.value];null!=c&&(b.setCellStyles(mxConstants.STYLE_LABEL_POSITION,c[0],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_LABEL_POSITION,c[1],b.getSelectionCells()), +b.setCellStyles(mxConstants.STYLE_ALIGN,c[2],b.getSelectionCells()),b.setCellStyles(mxConstants.STYLE_VERTICAL_ALIGN,c[3],b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}),a.appendChild(v),mxEvent.addListener(N,"change",function(a){b.setCellStyles(mxConstants.STYLE_TEXT_DIRECTION,Q[N.value],b.getSelectionCells());mxEvent.consume(a)}));var F=document.createElement("input");F.style.textAlign="right";F.style.marginTop="4px";mxClient.IS_QUIRKS||(F.style.position="absolute", +F.style.right="32px");F.style.width="46px";F.style.height=mxClient.IS_QUIRKS?"21px":"17px";k.appendChild(F);var G=null,g=this.installInputHandler(F,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize,1,999," pt",function(a){if(window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11){var c=function(c,e){c!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(c)&&(e||d.containsNode(c,!0))&&("FONT"==c.nodeName?(c.removeAttribute("size"),c.style.fontSize=a+"px"):mxUtils.getCurrentStyle(c).fontSize!= a+"px"&&(mxUtils.getCurrentStyle(c.parentNode).fontSize!=a+"px"?c.style.fontSize=a+"px":c.style.fontSize=""))},d=window.getSelection(),e=0<d.rangeCount?d.getRangeAt(0).commonAncestorContainer:b.cellEditor.textarea;e!=b.cellEditor.textarea&&e.nodeType==mxConstants.NODETYPE_ELEMENT||document.execCommand("fontSize",!1,"1");e!=b.cellEditor.textarea&&(e=e.parentNode);if(e.nodeType==mxConstants.NODETYPE_ELEMENT){var f=e.getElementsByTagName("*");c(e);for(e=0;e<f.length;e++)c(f[e])}F.value=a+" pt"}else if(window.getSelection|| document.selection)if(c=function(a,b){for(;null!=b;){if(b===a)return!0;b=b.parentNode}return!1},f=null,document.selection?f=document.selection.createRange().parentElement():(d=window.getSelection(),0<d.rangeCount&&(f=d.getRangeAt(0).commonAncestorContainer)),null!=f&&c(b.cellEditor.textarea,f))for(G=a,document.execCommand("fontSize",!1,"4"),f=b.cellEditor.textarea.getElementsByTagName("font"),e=0;e<f.length;e++)if("4"==f[e].getAttribute("size")){f[e].removeAttribute("size");f[e].style.fontSize=G+ -"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");h.appendChild(g);h=l.getElementsByTagName("div")[0];h.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor", -!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";h=b.cellEditor.isContentEditing()? +"px";window.setTimeout(function(){F.value=G+" pt";G=null},0);break}},!0),g=this.createStepper(F,g,1,10,!0,Menus.prototype.defaultFontSize);g.style.display=F.style.display;g.style.marginTop="4px";mxClient.IS_QUIRKS||(g.style.right="20px");k.appendChild(g);k=l.getElementsByTagName("div")[0];k.style.cssFloat="right";var H=null,y="#ffffff",W=null,R="#000000",T=b.cellEditor.isContentEditing()?this.createColorOption(mxResources.get("backgroundColor"),function(){return y},function(a){document.execCommand("backcolor", +!1,a!=mxConstants.NONE?a:"transparent")},"#ffffff",{install:function(a){H=a},destroy:function(){H=null}},null,!0):this.createCellColorOption(mxResources.get("backgroundColor"),mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"#ffffff",null,function(a){b.updateLabelElements(b.getSelectionCells(),function(a){a.style.backgroundColor=null})});T.style.fontWeight="bold";var ca=this.createCellColorOption(mxResources.get("borderColor"),mxConstants.STYLE_LABEL_BORDERCOLOR,"#000000");ca.style.fontWeight="bold";k=b.cellEditor.isContentEditing()? this.createColorOption(mxResources.get("fontColor"),function(){return R},function(a){document.execCommand("forecolor",!1,a!=mxConstants.NONE?a:"transparent")},"#000000",{install:function(a){W=a},destroy:function(){W=null}},null,!0):this.createCellColorOption(mxResources.get("fontColor"),mxConstants.STYLE_FONTCOLOR,"#000000",function(a){T.style.display=null==a||a==mxConstants.NONE?"none":"";ca.style.display=T.style.display},function(a){null==a||a==mxConstants.NONE?b.setCellStyles(mxConstants.STYLE_NOLABEL, -"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});h.style.fontWeight="bold";k.appendChild(h);k.appendChild(T);b.cellEditor.isContentEditing()||k.appendChild(ca);a.appendChild(k);k=this.createPanel();k.style.paddingTop="2px";k.style.paddingBottom="4px";h=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null", -null,null,!0);h.style.fontWeight="bold";f.containsLabel||f.autoSize||0!=f.edges.length||k.appendChild(h);h=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));h.style.fontWeight="bold";k.appendChild(h);h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="28px";h.style.fontWeight="normal";g=document.createElement("div");g.style.position="absolute";g.style.width="70px";g.style.marginTop="0px";g.style.fontWeight="bold";mxUtils.write(g, -mxResources.get("spacing"));h.appendChild(g);var X,U,ja,da,ka,ea=this.addUnitInput(h,"pt",91,44,function(){X.apply(this,arguments)}),Y=this.addUnitInput(h,"pt",20,44,function(){U.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("top"),91);this.addLabel(h,mxResources.get("global"),20);mxUtils.br(h);mxUtils.br(h);var Z=this.addUnitInput(h,"pt",162,44,function(){ja.apply(this,arguments)}),fa=this.addUnitInput(h,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(h, -"pt",20,44,function(){ka.apply(this,arguments)});mxUtils.br(h);this.addLabel(h,mxResources.get("left"),162);this.addLabel(h,mxResources.get("bottom"),91);this.addLabel(h,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var ba=null,la=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=ba&&(b.cellEditor.restoreSelection(ba),ba=null);for(var d=b.getSelectedElement();null!= +"1",b.getSelectionCells()):b.setCellStyles(mxConstants.STYLE_NOLABEL,null,b.getSelectionCells());b.updateLabelElements(b.getSelectionCells(),function(a){a.removeAttribute("color");a.style.color=null})});k.style.fontWeight="bold";h.appendChild(k);h.appendChild(T);b.cellEditor.isContentEditing()||h.appendChild(ca);a.appendChild(h);h=this.createPanel();h.style.paddingTop="2px";h.style.paddingBottom="4px";k=this.createCellOption(mxResources.get("wordWrap"),mxConstants.STYLE_WHITE_SPACE,null,"wrap","null", +null,null,!0);k.style.fontWeight="bold";f.containsLabel||f.autoSize||0!=f.edges.length||h.appendChild(k);k=this.createCellOption(mxResources.get("formattedText"),"html","0",null,null,null,d.actions.get("formattedText"));k.style.fontWeight="bold";h.appendChild(k);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="28px";k.style.fontWeight="normal";g=document.createElement("div");g.style.position="absolute";g.style.width="70px";g.style.marginTop="0px";g.style.fontWeight="bold";mxUtils.write(g, +mxResources.get("spacing"));k.appendChild(g);var X,U,ja,da,ka,ea=this.addUnitInput(k,"pt",91,44,function(){X.apply(this,arguments)}),Y=this.addUnitInput(k,"pt",20,44,function(){U.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("top"),91);this.addLabel(k,mxResources.get("global"),20);mxUtils.br(k);mxUtils.br(k);var Z=this.addUnitInput(k,"pt",162,44,function(){ja.apply(this,arguments)}),fa=this.addUnitInput(k,"pt",91,44,function(){da.apply(this,arguments)}),ga=this.addUnitInput(k, +"pt",20,44,function(){ka.apply(this,arguments)});mxUtils.br(k);this.addLabel(k,mxResources.get("left"),162);this.addLabel(k,mxResources.get("bottom"),91);this.addLabel(k,mxResources.get("right"),20);if(b.cellEditor.isContentEditing()){var ba=null,la=null;a.appendChild(this.createRelativeOption(mxResources.get("lineheight"),null,null,function(a){var c=""==a.value?120:parseInt(a.value),c=Math.max(0,isNaN(c)?120:c);null!=ba&&(b.cellEditor.restoreSelection(ba),ba=null);for(var d=b.getSelectedElement();null!= d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;null!=d&&d==b.cellEditor.textarea&&null!=b.cellEditor.textarea.firstChild&&("P"!=b.cellEditor.textarea.firstChild.nodeName&&(b.cellEditor.textarea.innerHTML="<p>"+b.cellEditor.textarea.innerHTML+"</p>"),d=b.cellEditor.textarea.firstChild);null!=d&&d!=b.cellEditor.textarea&&b.cellEditor.textarea.contains(d)&&(d.style.lineHeight=c+"%");a.value=c+" %"},function(a){la=a;mxEvent.addListener(a,"mousedown",function(){document.activeElement==b.cellEditor.textarea&& -(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));k=e.cloneNode(!1);k.style.paddingLeft="0px";h=this.editorUi.toolbar.addItems(["link","image"],k,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},k),this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-table", -mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(h);this.styleButtons(g);h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("insert")));h.appendChild(k);a.appendChild(h);mxClient.IS_QUIRKS&&(h.style.height="70");h=e.cloneNode(!1);h.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"), -function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowbefore", -mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},h),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}}, -h)];this.styleButtons(g);g[2].style.marginRight="9px";k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("table")));k.appendChild(h);mxClient.IS_QUIRKS&&(mxUtils.br(a),k.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(){if(null!=B){var a=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +(ba=b.cellEditor.saveSelection())});mxEvent.addListener(a,"touchstart",function(){document.activeElement==b.cellEditor.textarea&&(ba=b.cellEditor.saveSelection())});a.value="120 %"}));h=e.cloneNode(!1);h.style.paddingLeft="0px";k=this.editorUi.toolbar.addItems(["link","image"],h,!0);g=[this.editorUi.toolbar.addButton("geSprite-horizontalrule",mxResources.get("insertHorizontalRule"),function(){document.execCommand("inserthorizontalrule",!1)},h),this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-table", +mxResources.get("table"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.addInsertTableItem(a)}))];this.styleButtons(k);this.styleButtons(g);k=this.createPanel();k.style.paddingTop="10px";k.style.paddingBottom="10px";k.appendChild(this.createTitle(mxResources.get("insert")));k.appendChild(h);a.appendChild(k);mxClient.IS_QUIRKS&&(k.style.height="70");k=e.cloneNode(!1);k.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-insertcolumnbefore",mxResources.get("insertColumnBefore"), +function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex:0))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertcolumnafter",mxResources.get("insertColumnAfter"),function(){try{null!=B&&b.selectNode(b.insertColumn(B,null!=L?L.cellIndex+1:-1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deletecolumn",mxResources.get("deleteColumn"),function(){try{null!=B&&null!=L&&b.deleteColumn(B,L.cellIndex)}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowbefore", +mxResources.get("insertRowBefore"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-insertrowafter",mxResources.get("insertRowAfter"),function(){try{null!=B&&null!=K&&b.selectNode(b.insertRow(B,K.sectionRowIndex+1))}catch(S){alert(S)}},k),this.editorUi.toolbar.addButton("geSprite-deleterow",mxResources.get("deleteRow"),function(){try{null!=B&&null!=K&&b.deleteRow(B,K.sectionRowIndex)}catch(S){alert(S)}}, +k)];this.styleButtons(g);g[2].style.marginRight="9px";h=this.createPanel();h.style.paddingTop="10px";h.style.paddingBottom="10px";h.appendChild(this.createTitle(mxResources.get("table")));h.appendChild(k);mxClient.IS_QUIRKS&&(mxUtils.br(a),h.style.height="70");e=e.cloneNode(!1);e.style.paddingLeft="0px";g=[this.editorUi.toolbar.addButton("geSprite-strokecolor",mxResources.get("borderColor"),mxUtils.bind(this,function(){if(null!=B){var a=B.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(B.removeAttribute("border"),B.style.border="",B.style.borderCollapse=""):(B.setAttribute("border","1"),B.style.border="1px solid "+a,B.style.borderCollapse="collapse")})}}),e),this.editorUi.toolbar.addButton("geSprite-fillcolor",mxResources.get("backgroundColor"),mxUtils.bind(this,function(){if(null!= B){var a=B.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){B.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}}),e),this.editorUi.toolbar.addButton("geSprite-fit",mxResources.get("spacing"),function(){if(null!=B){var a=B.getAttribute("cellPadding")||0,a=new FilenameDialog(d, a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?B.setAttribute("cellPadding",a):B.removeAttribute("cellPadding")}),mxResources.get("spacing"));d.showDialog(a.container,300,80,!0,!0);a.init()}},e),this.editorUi.toolbar.addButton("geSprite-left",mxResources.get("left"),function(){null!=B&&B.setAttribute("align","left")},e),this.editorUi.toolbar.addButton("geSprite-center",mxResources.get("center"),function(){null!=B&&B.setAttribute("align","center")},e),this.editorUi.toolbar.addButton("geSprite-right", -mxResources.get("right"),function(){null!=B&&B.setAttribute("align","right")},e)];this.styleButtons(g);g[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));k.appendChild(e);a.appendChild(k);D=k}else a.appendChild(k),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(h);var V=mxUtils.bind(this,function(a,b,d){f=this.format.getSelectionState();a=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a& +mxResources.get("right"),function(){null!=B&&B.setAttribute("align","right")},e)];this.styleButtons(g);g[2].style.marginRight="9px";mxClient.IS_QUIRKS&&(mxUtils.br(h),mxUtils.br(h));h.appendChild(e);a.appendChild(h);C=h}else a.appendChild(h),a.appendChild(this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_TEXT_OPACITY)),a.appendChild(k);var V=mxUtils.bind(this,function(a,b,d){f=this.format.getSelectionState();a=mxUtils.getValue(f.style,mxConstants.STYLE_FONTSTYLE,0);c(m[0],(a& mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD);c(m[1],(a&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC);c(m[2],(a&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE);l.firstChild.nodeValue=mxUtils.htmlEntities(mxUtils.getValue(f.style,mxConstants.STYLE_FONTFAMILY,Menus.prototype.defaultFont));c(n,"0"==mxUtils.getValue(f.style,mxConstants.STYLE_HORIZONTAL,"1"));if(d||document.activeElement!=F)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_FONTSIZE,Menus.prototype.defaultFontSize)), -F.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_LEFT);c(r,a==mxConstants.ALIGN_CENTER);c(t,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(v,a==mxConstants.ALIGN_TOP);c(u,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION, +F.value=isNaN(a)?"":a+" pt";a=mxUtils.getValue(f.style,mxConstants.STYLE_ALIGN,mxConstants.ALIGN_CENTER);c(q,a==mxConstants.ALIGN_LEFT);c(t,a==mxConstants.ALIGN_CENTER);c(r,a==mxConstants.ALIGN_RIGHT);a=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE);c(w,a==mxConstants.ALIGN_TOP);c(u,a==mxConstants.ALIGN_MIDDLE);c(z,a==mxConstants.ALIGN_BOTTOM);a=mxUtils.getValue(f.style,mxConstants.STYLE_LABEL_POSITION,mxConstants.ALIGN_CENTER);b=mxUtils.getValue(f.style,mxConstants.STYLE_VERTICAL_LABEL_POSITION, mxConstants.ALIGN_MIDDLE);I.value=a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_TOP?"topLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_TOP?"top":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_TOP?"topRight":a==mxConstants.ALIGN_LEFT&&b==mxConstants.ALIGN_BOTTOM?"bottomLeft":a==mxConstants.ALIGN_CENTER&&b==mxConstants.ALIGN_BOTTOM?"bottom":a==mxConstants.ALIGN_RIGHT&&b==mxConstants.ALIGN_BOTTOM?"bottomRight":a==mxConstants.ALIGN_LEFT?"left":a==mxConstants.ALIGN_RIGHT?"right":"center"; a=mxUtils.getValue(f.style,mxConstants.STYLE_TEXT_DIRECTION,mxConstants.DEFAULT_TEXT_DIRECTION);a==mxConstants.TEXT_DIRECTION_RTL?N.value="rightToLeft":a==mxConstants.TEXT_DIRECTION_LTR?N.value="leftToRight":a==mxConstants.TEXT_DIRECTION_AUTO&&(N.value="automatic");if(d||document.activeElement!=Y)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING,2)),Y.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=ea)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_TOP,0)),ea.value= isNaN(a)?"":a+" pt";if(d||document.activeElement!=ga)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_RIGHT,0)),ga.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=fa)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_BOTTOM,0)),fa.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Z)a=parseFloat(mxUtils.getValue(f.style,mxConstants.STYLE_SPACING_LEFT,0)),Z.value=isNaN(a)?"":a+" pt"});U=this.installInputHandler(Y,mxConstants.STYLE_SPACING,2,-999,999," pt"); X=this.installInputHandler(ea,mxConstants.STYLE_SPACING_TOP,0,-999,999," pt");ka=this.installInputHandler(ga,mxConstants.STYLE_SPACING_RIGHT,0,-999,999," pt");da=this.installInputHandler(fa,mxConstants.STYLE_SPACING_BOTTOM,0,-999,999," pt");ja=this.installInputHandler(Z,mxConstants.STYLE_SPACING_LEFT,0,-999,999," pt");this.addKeyHandler(F,V);this.addKeyHandler(Y,V);this.addKeyHandler(ea,V);this.addKeyHandler(ga,V);this.addKeyHandler(fa,V);this.addKeyHandler(Z,V);b.getModel().addListener(mxEvent.CHANGE, V);this.listeners.push({destroy:function(){b.getModel().removeListener(V)}});V();if(b.cellEditor.isContentEditing()){var ma=!1,e=function(){ma||(ma=!0,window.setTimeout(function(){for(var a=b.getSelectedElement();null!=a&&a.nodeType!=mxConstants.NODETYPE_ELEMENT;)a=a.parentNode;if(null!=a){var d=function(a){return"px"==a.substring(a.length-2)?parseFloat(a):mxConstants.DEFAULT_FONTSIZE},e=function(a,b,c){return"%"==c.style.lineHeight.substring(c.style.lineHeight.length-1)?parseInt(c.style.lineHeight)/ 100:"px"==b.substring(b.length-2)?parseFloat(b)/a:parseInt(b)};a==b.cellEditor.textarea&&1==b.cellEditor.textarea.children.length&&b.cellEditor.textarea.firstChild.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=b.cellEditor.textarea.firstChild);var f=mxUtils.getCurrentStyle(a),g=d(f.fontSize),h=e(g,f.lineHeight,a),k=a.getElementsByTagName("*");if(0<k.length&&window.getSelection&&!mxClient.IS_IE&&!mxClient.IS_IE11)for(var n=window.getSelection(),p=0;p<k.length;p++)if(n.containsNode(k[p],!0)){temp=mxUtils.getCurrentStyle(k[p]); -var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(r,"center"==f.textAlign),c(t,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(C,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a, -"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),D.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +var g=Math.max(d(temp.fontSize),g),u=e(g,temp.lineHeight,k[p]);if(u!=h||isNaN(u))h=""}null!=f&&(c(m[0],"bold"==f.fontWeight||null!=b.getParentByName(a,"B",b.cellEditor.textarea)),c(m[1],"italic"==f.fontStyle||null!=b.getParentByName(a,"I",b.cellEditor.textarea)),c(m[2],null!=b.getParentByName(a,"U",b.cellEditor.textarea)),c(q,"left"==f.textAlign),c(t,"center"==f.textAlign),c(r,"right"==f.textAlign),c(A,"justify"==f.textAlign),c(D,null!=b.getParentByName(a,"SUP",b.cellEditor.textarea)),c(x,null!=b.getParentByName(a, +"SUB",b.cellEditor.textarea)),B=b.getParentByName(a,"TABLE",b.cellEditor.textarea),K=null==B?null:b.getParentByName(a,"TR",B),L=null==B?null:b.getParentByName(a,"TD",B),C.style.display=null!=B?"":"none",document.activeElement!=F&&("FONT"==a.nodeName&&"4"==a.getAttribute("size")&&null!=G?(a.removeAttribute("size"),a.style.fontSize=G+" pt",G=null):F.value=isNaN(g)?"":g+" pt",u=parseFloat(h),isNaN(u)?la.value="100 %":la.value=Math.round(100*u)+" %"),a=f.color.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)}),d=f.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)}),null!=W&&(R="#"==a.charAt(0)?a:"#000000",W(R,!0)),null!=H&&(y="#"==d.charAt(0)?d:null,H(y,!0)),null!=l.firstChild&&(f=f.fontFamily, "'"==f.charAt(0)&&(f=f.substring(1)),"'"==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),'"'==f.charAt(0)&&(f=f.substring(1)),'"'==f.charAt(f.length-1)&&(f=f.substring(0,f.length-1)),l.firstChild.nodeValue=f))}ma=!1},0))};mxEvent.addListener(b.cellEditor.textarea,"input",e);mxEvent.addListener(b.cellEditor.textarea,"touchend",e);mxEvent.addListener(b.cellEditor.textarea,"mouseup",e);mxEvent.addListener(b.cellEditor.textarea,"keyup",e);this.listeners.push({destroy:function(){}});e()}return a}; StyleFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()};mxUtils.extend(StyleFormatPanel,BaseFormatPanel);StyleFormatPanel.prototype.defaultStrokeColor="black"; StyleFormatPanel.prototype.init=function(){var a=this.format.getSelectionState();a.containsImage&&1==a.vertices.length&&"image"==a.style.shape&&null!=a.style.image&&"data:image/svg+xml;"==a.style.image.substring(0,19)&&this.container.appendChild(this.addSvgStyles(this.createPanel()));a.containsImage&&"image"!=a.style.shape||this.container.appendChild(this.addFill(this.createPanel()));this.container.appendChild(this.addStroke(this.createPanel()));this.container.appendChild(this.addLineJumps(this.createPanel())); a=this.createRelativeOption(mxResources.get("opacity"),mxConstants.STYLE_OPACITY,41);a.style.paddingTop="8px";a.style.paddingBottom="8px";this.container.appendChild(a);this.container.appendChild(this.addEffects(this.createPanel()));a=this.addEditOps(this.createPanel());null!=a.firstChild&&mxUtils.br(a);this.container.appendChild(this.addStyleOps(a))}; StyleFormatPanel.prototype.getCssRules=function(a){var c=document.implementation.createHTMLDocument(""),d=document.createElement("style");mxUtils.setTextContent(d,a);c.body.appendChild(d);return d.sheet.cssRules}; -StyleFormatPanel.prototype.addSvgStyles=function(a){var c=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";a.style.fontWeight="bold";a.style.display="none";try{var d=c.style.editableCssRules;if(null!=d){var b=new RegExp(d),f=c.style.image.substring(c.style.image.indexOf(",")+1),e=window.atob?atob(f):Base64.decode(f,!0),k=mxUtils.parseXml(e);if(null!=k)for(var g=k.getElementsByTagName("style"),c=0;c<g.length;c++)for(var h=this.getCssRules(mxUtils.getTextContent(g[c])), -d=0;d<h.length;d++)this.addSvgRule(a,h[d],k,g[c],h,d,b)}}catch(l){}return a}; -StyleFormatPanel.prototype.addSvgRule=function(a,c,d,b,f,e,k){var g=this.editorUi.editor.graph;k.test(c.selectorText)&&(k=mxUtils.bind(this,function(c,k,m){""!=c.style[k]&&(m=this.createColorOption(m+" "+c.selectorText,function(){var a=c.style[k];return(a=a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===a.length?"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2):""},function(a){f[e].style[k]= -a;a="";for(var c=0;c<f.length;c++)a+=f[c].cssText+" ";b.textContent=a;a=mxUtils.getXml(d.documentElement);g.setCellStyles(mxConstants.STYLE_IMAGE,"data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a,!0)),g.getSelectionCells())},"#ffffff",{install:function(a){},destroy:function(){}}),a.appendChild(m),a.style.display="")}),k(c,"fill",mxResources.get("fill")),k(c,"stroke",mxResources.get("line")))}; +StyleFormatPanel.prototype.addSvgStyles=function(a){var c=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";a.style.fontWeight="bold";a.style.display="none";try{var d=c.style.editableCssRules;if(null!=d){var b=new RegExp(d),f=c.style.image.substring(c.style.image.indexOf(",")+1),e=window.atob?atob(f):Base64.decode(f,!0),h=mxUtils.parseXml(e);if(null!=h)for(var g=h.getElementsByTagName("style"),c=0;c<g.length;c++)for(var k=this.getCssRules(mxUtils.getTextContent(g[c])), +d=0;d<k.length;d++)this.addSvgRule(a,k[d],h,g[c],k,d,b)}}catch(l){}return a}; +StyleFormatPanel.prototype.addSvgRule=function(a,c,d,b,f,e,h){var g=this.editorUi.editor.graph;h.test(c.selectorText)&&(h=mxUtils.bind(this,function(c,h,m){""!=c.style[h]&&(m=this.createColorOption(m+" "+c.selectorText,function(){var a=c.style[h];return(a=a.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===a.length?"#"+("0"+parseInt(a[1],10).toString(16)).slice(-2)+("0"+parseInt(a[2],10).toString(16)).slice(-2)+("0"+parseInt(a[3],10).toString(16)).slice(-2):""},function(a){f[e].style[h]= +a;a="";for(var c=0;c<f.length;c++)a+=f[c].cssText+" ";b.textContent=a;a=mxUtils.getXml(d.documentElement);g.setCellStyles(mxConstants.STYLE_IMAGE,"data:image/svg+xml,"+(window.btoa?btoa(a):Base64.encode(a,!0)),g.getSelectionCells())},"#ffffff",{install:function(a){},destroy:function(){}}),a.appendChild(m),a.style.display="")}),h(c,"fill",mxResources.get("fill")),h(c,"stroke",mxResources.get("line")))}; StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),d=null;1==this.editorUi.editor.graph.getSelectionCount()&&(d=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),d.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),d.style.width="202px",d.style.marginBottom="2px",a.appendChild(d));c.image&&(c=mxUtils.button(mxResources.get("editImage"), mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==d?c.style.width="202px":(d.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}; StyleFormatPanel.prototype.addFill=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="6px";a.style.paddingBottom="6px";var b=document.createElement("select");b.style.position="absolute";b.style.marginTop="-2px";b.style.right=mxClient.IS_QUIRKS?"52px":"72px";b.style.width="70px";mxEvent.addListener(b,"click",function(a){mxEvent.consume(a)});var f=this.createCellColorOption(mxResources.get("gradient"),mxConstants.STYLE_GRADIENTCOLOR,"#ffffff",function(a){b.style.display= -null==a||a==mxConstants.NONE?"none":""}),e="image"==d.style.shape?mxConstants.STYLE_IMAGE_BACKGROUND:mxConstants.STYLE_FILLCOLOR,k="image"==d.style.shape?mxResources.get("background"):mxResources.get("fill"),k=this.createCellColorOption(k,e,"#ffffff");k.style.fontWeight="bold";e=mxUtils.getValue(d.style,e,null);f.style.display=null!=e&&e!=mxConstants.NONE&&d.fill&&"image"!=d.style.shape?"":"none";for(var g=[mxConstants.DIRECTION_NORTH,mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST], -e=0;e<g.length;e++){var h=document.createElement("option");h.setAttribute("value",g[e]);mxUtils.write(h,mxResources.get(g[e]));b.appendChild(h)}f.appendChild(b);var l=mxUtils.bind(this,function(){d=this.format.getSelectionState();var c=mxUtils.getValue(d.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);b.value=c;a.style.display=d.fill?"":"none";c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,null);f.style.display=!d.fill||d.containsImage|| -null==c||c==mxConstants.NONE||"filledEdge"==d.style.shape?"none":""});c.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){c.getModel().removeListener(l)}});l();mxEvent.addListener(b,"change",function(a){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,b.value,c.getSelectionCells());mxEvent.consume(a)});a.appendChild(k);a.appendChild(f);k=this.getCustomColors();for(e=0;e<k.length;e++)a.appendChild(this.createCellColorOption(k[e].title,k[e].key,k[e].defaultValue)); +null==a||a==mxConstants.NONE?"none":""}),e="image"==d.style.shape?mxConstants.STYLE_IMAGE_BACKGROUND:mxConstants.STYLE_FILLCOLOR,h="image"==d.style.shape?mxResources.get("background"):mxResources.get("fill"),h=this.createCellColorOption(h,e,"#ffffff");h.style.fontWeight="bold";e=mxUtils.getValue(d.style,e,null);f.style.display=null!=e&&e!=mxConstants.NONE&&d.fill&&"image"!=d.style.shape?"":"none";for(var g=[mxConstants.DIRECTION_NORTH,mxConstants.DIRECTION_EAST,mxConstants.DIRECTION_SOUTH,mxConstants.DIRECTION_WEST], +e=0;e<g.length;e++){var k=document.createElement("option");k.setAttribute("value",g[e]);mxUtils.write(k,mxResources.get(g[e]));b.appendChild(k)}f.appendChild(b);var l=mxUtils.bind(this,function(){d=this.format.getSelectionState();var c=mxUtils.getValue(d.style,mxConstants.STYLE_GRADIENT_DIRECTION,mxConstants.DIRECTION_SOUTH);""==c&&(c=mxConstants.DIRECTION_SOUTH);b.value=c;a.style.display=d.fill?"":"none";c=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,null);f.style.display=!d.fill||d.containsImage|| +null==c||c==mxConstants.NONE||"filledEdge"==d.style.shape?"none":""});c.getModel().addListener(mxEvent.CHANGE,l);this.listeners.push({destroy:function(){c.getModel().removeListener(l)}});l();mxEvent.addListener(b,"change",function(a){c.setCellStyles(mxConstants.STYLE_GRADIENT_DIRECTION,b.value,c.getSelectionCells());mxEvent.consume(a)});a.appendChild(h);a.appendChild(f);h=this.getCustomColors();for(e=0;e<h.length;e++)a.appendChild(this.createCellColorOption(h[e].title,h[e].key,h[e].defaultValue)); return a};StyleFormatPanel.prototype.getCustomColors=function(){var a=[];"swimlane"==this.format.getSelectionState().style.shape&&a.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return a}; -StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));w.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(v.value),c=Math.min(999,Math.max(1,isNaN(c)?1: -c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));v.value=c+" pt";mxEvent.consume(a)}var b=this.editorUi,f=b.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var k=document.createElement("div");k.style.fontWeight= -"bold";var g=document.createElement("select");g.style.position="absolute";g.style.marginTop="-2px";g.style.right="72px";g.style.width="80px";for(var h=["sharp","rounded","curved"],l=0;l<h.length;l++){var m=document.createElement("option");m.setAttribute("value",h[l]);mxUtils.write(m,mxResources.get(h[l]));g.appendChild(m)}mxEvent.addListener(g,"change",function(a){f.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],d=["0",null];"rounded"==g.value?d=["1",null]: -"curved"==g.value&&(d=[null,"1"]);for(var e=0;e<c.length;e++)f.setCellStyles(c[e],d[e],f.getSelectionCells());b.fireEvent(new mxEventObject("styleChanged","keys",c,"values",d,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});var n="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,h="image"==e.style.shape?mxResources.get("border"):mxResources.get("line"),h=this.createCellColorOption(h, -n,"#000000");h.appendChild(g);k.appendChild(h);var p=k.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var q=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop= +StyleFormatPanel.prototype.addStroke=function(a){function c(a){var c=parseInt(v.value),c=Math.min(999,Math.max(1,isNaN(c)?1:c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));v.value=c+" pt";mxEvent.consume(a)}function d(a){var c=parseInt(w.value),c=Math.min(999,Math.max(1,isNaN(c)?1: +c));c!=mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)&&(f.setCellStyles(mxConstants.STYLE_STROKEWIDTH,c,f.getSelectionCells()),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_STROKEWIDTH],"values",[c],"cells",f.getSelectionCells())));w.value=c+" pt";mxEvent.consume(a)}var b=this.editorUi,f=b.editor.graph,e=this.format.getSelectionState();a.style.paddingTop="4px";a.style.paddingBottom="4px";a.style.whiteSpace="normal";var h=document.createElement("div");h.style.fontWeight= +"bold";var g=document.createElement("select");g.style.position="absolute";g.style.marginTop="-2px";g.style.right="72px";g.style.width="80px";for(var k=["sharp","rounded","curved"],l=0;l<k.length;l++){var m=document.createElement("option");m.setAttribute("value",k[l]);mxUtils.write(m,mxResources.get(k[l]));g.appendChild(m)}mxEvent.addListener(g,"change",function(a){f.getModel().beginUpdate();try{var c=[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],d=["0",null];"rounded"==g.value?d=["1",null]: +"curved"==g.value&&(d=[null,"1"]);for(var e=0;e<c.length;e++)f.setCellStyles(c[e],d[e],f.getSelectionCells());b.fireEvent(new mxEventObject("styleChanged","keys",c,"values",d,"cells",f.getSelectionCells()))}finally{f.getModel().endUpdate()}mxEvent.consume(a)});mxEvent.addListener(g,"click",function(a){mxEvent.consume(a)});var n="image"==e.style.shape?mxConstants.STYLE_IMAGE_BORDER:mxConstants.STYLE_STROKECOLOR,k="image"==e.style.shape?mxResources.get("border"):mxResources.get("line"),k=this.createCellColorOption(k, +n,"#000000");k.appendChild(g);h.appendChild(k);var p=h.cloneNode(!1);p.style.fontWeight="normal";p.style.whiteSpace="nowrap";p.style.position="relative";p.style.paddingLeft="16px";p.style.marginBottom="2px";p.style.marginTop="2px";p.className="geToolbarContainer";var q=mxUtils.bind(this,function(a,b,c,d,e){a=this.editorUi.menus.styleChange(a,"",d,e,"geIcon",null);d=document.createElement("div");d.style.width=b+"px";d.style.height="1px";d.style.borderBottom="1px "+c+" "+this.defaultStrokeColor;d.style.paddingTop= "6px";a.firstChild.firstChild.style.padding="0px 4px 0px 4px";a.firstChild.firstChild.style.width=b+"px";a.firstChild.firstChild.appendChild(d);return a}),l=this.editorUi.toolbar.addMenuFunctionInContainer(p,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,75,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,75,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1", -null]).setAttribute("title",mxResources.get("dashed"));q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),r=p.cloneNode(!1), -t=this.editorUi.toolbar.addMenuFunctionInContainer(r,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"], +null]).setAttribute("title",mxResources.get("dashed"));q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,75,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),t=p.cloneNode(!1), +r=this.editorUi.toolbar.addMenuFunctionInContainer(t,"geSprite-connection",mxResources.get("connection"),!1,mxUtils.bind(this,function(a){this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],[null,null,null,null],"geIcon geSprite geSprite-connection",null,!0).setAttribute("title",mxResources.get("line"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"], ["link",null,null,null],"geIcon geSprite geSprite-linkedge",null,!0).setAttribute("title",mxResources.get("link"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["flexArrow",null,null,null],"geIcon geSprite geSprite-arrow",null,!0).setAttribute("title",mxResources.get("arrow"));this.editorUi.menus.styleChange(a,"",[mxConstants.STYLE_SHAPE,mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE,"width"],["arrow",null,null, -null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(r,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); -q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),h=p.cloneNode(!1),w=document.createElement("input");w.style.textAlign="right"; -w.style.marginTop="2px";w.style.width="41px";w.setAttribute("title",mxResources.get("linewidth"));p.appendChild(w);var v=w.cloneNode(!0);r.appendChild(v);var u=this.createStepper(w,c,1,9);u.style.display=w.style.display;u.style.marginTop="2px";p.appendChild(u);var z=this.createStepper(v,d,1,9);z.style.display=v.style.display;z.style.marginTop="2px";r.appendChild(z);mxClient.IS_QUIRKS?(w.style.height="17px",v.style.height="17px"):(w.style.position="absolute",w.style.right="32px",w.style.height="15px", -u.style.right="20px",v.style.position="absolute",v.style.right="32px",v.style.height="15px",z.style.right="20px");mxEvent.addListener(w,"blur",c);mxEvent.addListener(w,"change",c);mxEvent.addListener(v,"blur",d);mxEvent.addListener(v,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(h),mxUtils.br(h));var x=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"", +null],"geIcon geSprite geSprite-simplearrow",null,!0).setAttribute("title",mxResources.get("simpleArrow"))})),m=this.editorUi.toolbar.addMenuFunctionInContainer(t,"geSprite-orthogonal",mxResources.get("pattern"),!1,mxUtils.bind(this,function(a){q(a,33,"solid",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],[null,null]).setAttribute("title",mxResources.get("solid"));q(a,33,"dashed",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1",null]).setAttribute("title",mxResources.get("dashed")); +q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 1"]).setAttribute("title",mxResources.get("dotted")+" (1)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 2"]).setAttribute("title",mxResources.get("dotted")+" (2)");q(a,33,"dotted",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],["1","1 4"]).setAttribute("title",mxResources.get("dotted")+" (3)")})),k=p.cloneNode(!1),v=document.createElement("input");v.style.textAlign="right"; +v.style.marginTop="2px";v.style.width="41px";v.setAttribute("title",mxResources.get("linewidth"));p.appendChild(v);var w=v.cloneNode(!0);t.appendChild(w);var u=this.createStepper(v,c,1,9);u.style.display=v.style.display;u.style.marginTop="2px";p.appendChild(u);var z=this.createStepper(w,d,1,9);z.style.display=w.style.display;z.style.marginTop="2px";t.appendChild(z);mxClient.IS_QUIRKS?(v.style.height="17px",w.style.height="17px"):(v.style.position="absolute",v.style.right="32px",v.style.height="15px", +u.style.right="20px",w.style.position="absolute",w.style.right="32px",w.style.height="15px",z.style.right="20px");mxEvent.addListener(v,"blur",c);mxEvent.addListener(v,"change",c);mxEvent.addListener(w,"blur",d);mxEvent.addListener(w,"change",d);mxClient.IS_QUIRKS&&(mxUtils.br(k),mxUtils.br(k));var x=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-orthogonal",mxResources.get("waypoints"),!1,mxUtils.bind(this,function(a){"arrow"!=e.style.shape&&(this.editorUi.menus.edgeStyleChange(a,"", [mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],[null,null,null],"geIcon geSprite geSprite-straight",null,!0).setAttribute("title",mxResources.get("straight")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle",null,null],"geIcon geSprite geSprite-orthogonal",null,!0).setAttribute("title",mxResources.get("orthogonal")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE, mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["elbowEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalelbow",null,!0).setAttribute("title",mxResources.get("simple")),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle",null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title", mxResources.get("isometric")),"connector"==e.style.shape&&this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null, -!0).setAttribute("title",mxResources.get("entityRelation")))})),C=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML= +!0).setAttribute("title",mxResources.get("entityRelation")))})),D=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-startclassic",mxResources.get("linestart"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape||"filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML= '<font style="font-size:10px;">'+mxUtils.htmlEntities(mxResources.get("none"))+"</font>";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-startclassic",null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-startclassicthin", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-startopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-startopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["openAsync",0],"geIcon geSprite geSprite-startopenasync", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-startblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],[mxConstants.ARROW_BLOCK_THIN,1],"geIcon geSprite geSprite-startblockthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["async",1],"geIcon geSprite geSprite-startasync", @@ -2786,7 +2788,7 @@ null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW, "startFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-startthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["dash",0],"geIcon geSprite geSprite-startdash",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["cross",0],"geIcon geSprite geSprite-startcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW, "startFill"],["circlePlus",0],"geIcon geSprite geSprite-startcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["circle",1],"geIcon geSprite geSprite-startcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERone",0],"geIcon geSprite geSprite-starterone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmandOne",0],"geIcon geSprite geSprite-starteronetoone", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERmany",0],"geIcon geSprite geSprite-startermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERoneToMany",0],"geIcon geSprite geSprite-starteronetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-starteroneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"", -[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(h,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape|| +[mxConstants.STYLE_STARTARROW,"startFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-startermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_STARTARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-startblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}})),A=this.editorUi.toolbar.addMenuFunctionInContainer(k,"geSprite-endclassic",mxResources.get("lineend"),!1,mxUtils.bind(this,function(a){if("connector"==e.style.shape||"flexArrow"==e.style.shape|| "filledEdge"==e.style.shape){var b=this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.NONE,0],"geIcon",null,!1);b.setAttribute("title",mxResources.get("none"));b.firstChild.firstChild.innerHTML='<font style="font-size:10px;">'+mxUtils.htmlEntities(mxResources.get("none"))+"</font>";"connector"==e.style.shape||"filledEdge"==e.style.shape?(this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC,1],"geIcon geSprite geSprite-endclassic", null,!1).setAttribute("title",mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_CLASSIC_THIN,1],"geIcon geSprite geSprite-endclassicthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_OPEN,0],"geIcon geSprite geSprite-endopen",null,!1).setAttribute("title",mxResources.get("openArrow")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], [mxConstants.ARROW_OPEN_THIN,0],"geIcon geSprite geSprite-endopenthin",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["openAsync",0],"geIcon geSprite geSprite-endopenasync",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_BLOCK,1],"geIcon geSprite geSprite-endblock",null,!1).setAttribute("title",mxResources.get("block")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"], @@ -2797,27 +2799,27 @@ mxResources.get("classic")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstant 0],"geIcon geSprite geSprite-enddiamondtrans",null,!1).setAttribute("title",mxResources.get("diamond")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],[mxConstants.ARROW_DIAMOND_THIN,0],"geIcon geSprite geSprite-endthindiamondtrans",null,!1).setAttribute("title",mxResources.get("diamondThin")),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["dash",0],"geIcon geSprite geSprite-enddash",null,!1),this.editorUi.menus.edgeStyleChange(a, "",[mxConstants.STYLE_ENDARROW,"endFill"],["cross",0],"geIcon geSprite geSprite-endcross",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circlePlus",0],"geIcon geSprite geSprite-endcircleplus",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["circle",1],"geIcon geSprite geSprite-endcircle",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERone",0],"geIcon geSprite geSprite-enderone", null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmandOne",0],"geIcon geSprite geSprite-enderonetoone",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERmany",0],"geIcon geSprite geSprite-endermany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERoneToMany",0],"geIcon geSprite geSprite-enderonetomany",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW, -"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(t,8);this.addArrow(x);this.addArrow(C);this.addArrow(A);u=this.addArrow(l, -9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var D=document.createElement("div");D.style.width="85px";D.style.height="1px";D.style.borderBottom="1px solid "+this.defaultStrokeColor;D.style.marginBottom="9px";u.appendChild(D);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height= -"15px";t.style.height="15px";x.style.height="17px";C.style.marginLeft="3px";C.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(k);a.appendChild(r);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend")); -l.appendChild(m);var L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),P=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l, -mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);k=k.cloneNode(!1);k.style.fontWeight="normal";k.style.position="relative";k.style.paddingLeft="16px";k.style.marginBottom="2px";k.style.marginTop="6px";k.style.borderWidth="0px";k.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m, -mxResources.get("perimeter"));k.appendChild(m);var F,G=this.addUnitInput(k,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(h),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(k));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"== -d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!= -v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?D.style.borderBottom="1px dashed "+ -this.defaultStrokeColor:D.style.borderBottom="1px dotted "+this.defaultStrokeColor:D.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=D.style.borderBottom;a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c|| -"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";t.getElementsByTagName("div")[0].className="link"== -e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(r.style.display="",p.style.display="none"):(r.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),C,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style, -"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(C,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(C,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!= -P)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),P.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING, -0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=G)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),G.value=isNaN(a)?"":a+" pt"});N=this.installInputHandler(P,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING, -0,-999,999," pt");F=this.installInputHandler(G,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(w,H);this.addKeyHandler(P,H);this.addKeyHandler(Q,H);this.addKeyHandler(E,H);this.addKeyHandler(I,H);this.addKeyHandler(G,H);f.getModel().addListener(mxEvent.CHANGE,H);this.listeners.push({destroy:function(){f.getModel().removeListener(H)}});H();return a}; +"endFill"],["ERzeroToOne",1],"geIcon geSprite geSprite-enderoneopt",null,!1),this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW,"endFill"],["ERzeroToMany",1],"geIcon geSprite geSprite-endermanyopt",null,!1)):this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_ENDARROW],[mxConstants.ARROW_BLOCK],"geIcon geSprite geSprite-endblocktrans",null,!1).setAttribute("title",mxResources.get("block"))}}));this.addArrow(r,8);this.addArrow(x);this.addArrow(D);this.addArrow(A);u=this.addArrow(l, +9);u.className="geIcon";u.style.width="84px";z=this.addArrow(m,9);z.className="geIcon";z.style.width="22px";var C=document.createElement("div");C.style.width="85px";C.style.height="1px";C.style.borderBottom="1px solid "+this.defaultStrokeColor;C.style.marginBottom="9px";u.appendChild(C);var B=document.createElement("div");B.style.width="23px";B.style.height="1px";B.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.marginBottom="9px";z.appendChild(B);l.style.height="15px";m.style.height= +"15px";r.style.height="15px";x.style.height="17px";D.style.marginLeft="3px";D.style.height="17px";A.style.marginLeft="3px";A.style.height="17px";a.appendChild(h);a.appendChild(t);a.appendChild(p);l=p.cloneNode(!1);l.style.paddingBottom="6px";l.style.paddingTop="4px";l.style.fontWeight="normal";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="2px";m.style.fontWeight="normal";m.style.width="76px";mxUtils.write(m,mxResources.get("lineend")); +l.appendChild(m);var L,K,I=this.addUnitInput(l,"pt",74,33,function(){L.apply(this,arguments)}),E=this.addUnitInput(l,"pt",20,33,function(){K.apply(this,arguments)});mxUtils.br(l);u=document.createElement("div");u.style.height="8px";l.appendChild(u);m=m.cloneNode(!1);mxUtils.write(m,mxResources.get("linestart"));l.appendChild(m);var J,N,Q=this.addUnitInput(l,"pt",74,33,function(){J.apply(this,arguments)}),O=this.addUnitInput(l,"pt",20,33,function(){N.apply(this,arguments)});mxUtils.br(l);this.addLabel(l, +mxResources.get("spacing"),74,50);this.addLabel(l,mxResources.get("size"),20,50);mxUtils.br(l);h=h.cloneNode(!1);h.style.fontWeight="normal";h.style.position="relative";h.style.paddingLeft="16px";h.style.marginBottom="2px";h.style.marginTop="6px";h.style.borderWidth="0px";h.style.paddingBottom="18px";m=document.createElement("div");m.style.position="absolute";m.style.marginLeft="3px";m.style.marginBottom="12px";m.style.marginTop="1px";m.style.fontWeight="normal";m.style.width="120px";mxUtils.write(m, +mxResources.get("perimeter"));h.appendChild(m);var F,G=this.addUnitInput(h,"pt",20,41,function(){F.apply(this,arguments)});e.edges.length==f.getSelectionCount()?(a.appendChild(k),mxClient.IS_QUIRKS&&(mxUtils.br(a),mxUtils.br(a)),a.appendChild(l)):e.vertices.length==f.getSelectionCount()&&(mxClient.IS_QUIRKS&&mxUtils.br(a),a.appendChild(h));var H=mxUtils.bind(this,function(a,c,d){function h(a,c,d,f){d=d.getElementsByTagName("div")[0];d.className=b.getCssClassForMarker(f,e.style.shape,a,c);"geSprite geSprite-noarrow"== +d.className&&(d.innerHTML=mxUtils.htmlEntities(mxResources.get("none")),d.style.backgroundImage="none",d.style.verticalAlign="top",d.style.marginTop="5px",d.style.fontSize="10px",d.style.filter="none",d.style.color=this.defaultStrokeColor,d.nextSibling.style.marginTop="0px");return d}e=this.format.getSelectionState();mxUtils.getValue(e.style,n,null);if(d||document.activeElement!=v)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),v.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!= +w)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STROKEWIDTH,1)),w.value=isNaN(a)?"":a+" pt";g.style.visibility="connector"==e.style.shape||"filledEdge"==e.style.shape?"":"hidden";"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?g.value="curved":"1"==mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,null)&&(g.value="rounded");"1"==mxUtils.getValue(e.style,mxConstants.STYLE_DASHED,null)?null==mxUtils.getValue(e.style,mxConstants.STYLE_DASH_PATTERN,null)?C.style.borderBottom="1px dashed "+ +this.defaultStrokeColor:C.style.borderBottom="1px dotted "+this.defaultStrokeColor:C.style.borderBottom="1px solid "+this.defaultStrokeColor;B.style.borderBottom=C.style.borderBottom;a=x.getElementsByTagName("div")[0];c=mxUtils.getValue(e.style,mxConstants.STYLE_EDGE,null);"1"==mxUtils.getValue(e.style,mxConstants.STYLE_NOEDGESTYLE,null)&&(c=null);"orthogonalEdgeStyle"==c&&"1"==mxUtils.getValue(e.style,mxConstants.STYLE_CURVED,null)?a.className="geSprite geSprite-curved":a.className="straight"==c|| +"none"==c||null==c?"geSprite geSprite-straight":"entityRelationEdgeStyle"==c?"geSprite geSprite-entity":"elbowEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalelbow":"geSprite-horizontalelbow"):"isometricEdgeStyle"==c?"geSprite "+("vertical"==mxUtils.getValue(e.style,mxConstants.STYLE_ELBOW,null)?"geSprite-verticalisometric":"geSprite-horizontalisometric"):"geSprite geSprite-orthogonal";r.getElementsByTagName("div")[0].className="link"== +e.style.shape?"geSprite geSprite-linkedge":"flexArrow"==e.style.shape?"geSprite geSprite-arrow":"arrow"==e.style.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection";e.edges.length==f.getSelectionCount()?(t.style.display="",p.style.display="none"):(t.style.display="none",p.style.display="");a=h(mxUtils.getValue(e.style,mxConstants.STYLE_STARTARROW,null),mxUtils.getValue(e.style,"startFill","1"),D,"start");c=h(mxUtils.getValue(e.style,mxConstants.STYLE_ENDARROW,null),mxUtils.getValue(e.style, +"endFill","1"),A,"end");"arrow"==e.style.shape?(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-endblocktrans"):"link"==e.style.shape&&(a.className="geSprite geSprite-noarrow",c.className="geSprite geSprite-noarrow");mxUtils.setOpacity(x,"arrow"==e.style.shape?30:100);"connector"!=e.style.shape&&"flexArrow"!=e.style.shape&&"filledEdge"!=e.style.shape?(mxUtils.setOpacity(D,30),mxUtils.setOpacity(A,30)):(mxUtils.setOpacity(D,100),mxUtils.setOpacity(A,100));if(d||document.activeElement!= +O)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE)),O.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0)),Q.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=E)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE)),E.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=Q)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_TARGET_PERIMETER_SPACING, +0)),I.value=isNaN(a)?"":a+" pt";if(d||document.activeElement!=G)a=parseInt(mxUtils.getValue(e.style,mxConstants.STYLE_PERIMETER_SPACING,0)),G.value=isNaN(a)?"":a+" pt"});N=this.installInputHandler(O,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");J=this.installInputHandler(Q,mxConstants.STYLE_SOURCE_PERIMETER_SPACING,0,-999,999," pt");K=this.installInputHandler(E,mxConstants.STYLE_ENDSIZE,mxConstants.DEFAULT_MARKERSIZE,0,999," pt");L=this.installInputHandler(I,mxConstants.STYLE_TARGET_PERIMETER_SPACING, +0,-999,999," pt");F=this.installInputHandler(G,mxConstants.STYLE_PERIMETER_SPACING,0,0,999," pt");this.addKeyHandler(v,H);this.addKeyHandler(O,H);this.addKeyHandler(Q,H);this.addKeyHandler(E,H);this.addKeyHandler(I,H);this.addKeyHandler(G,H);f.getModel().addListener(mxEvent.CHANGE,H);this.listeners.push({destroy:function(){f.getModel().removeListener(H)}});H();return a}; StyleFormatPanel.prototype.addLineJumps=function(a){var c=this.format.getSelectionState();if(Graph.lineJumpsEnabled&&0<c.edges.length&&0==c.vertices.length&&c.lineJumps){a.style.padding="8px 0px 24px 18px";var d=this.editorUi,b=d.editor.graph,f=document.createElement("div");f.style.position="absolute";f.style.fontWeight="bold";f.style.width="80px";mxUtils.write(f,mxResources.get("lineJumps"));a.appendChild(f);var e=document.createElement("select");e.style.position="absolute";e.style.marginTop="-2px"; -e.style.right="76px";e.style.width="62px";for(var f=["none","arc","gap","sharp"],k=0;k<f.length;k++){var g=document.createElement("option");g.setAttribute("value",f[k]);mxUtils.write(g,mxResources.get(f[k]));e.appendChild(g)}mxEvent.addListener(e,"change",function(a){b.getModel().beginUpdate();try{b.setCellStyles("jumpStyle",e.value,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[e.value],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}); -mxEvent.addListener(e,"click",function(a){mxEvent.consume(a)});a.appendChild(e);var h,l=this.addUnitInput(a,"pt",22,33,function(){h.apply(this,arguments)});h=this.installInputHandler(l,"jumpSize",Graph.defaultJumpSize,0,999," pt");var m=mxUtils.bind(this,function(a,b,d){c=this.format.getSelectionState();e.value=mxUtils.getValue(c.style,"jumpStyle","none");if(d||document.activeElement!=l)a=parseInt(mxUtils.getValue(c.style,"jumpSize",Graph.defaultJumpSize)),l.value=isNaN(a)?"":a+" pt"});this.addKeyHandler(l, +e.style.right="76px";e.style.width="62px";for(var f=["none","arc","gap","sharp"],h=0;h<f.length;h++){var g=document.createElement("option");g.setAttribute("value",f[h]);mxUtils.write(g,mxResources.get(f[h]));e.appendChild(g)}mxEvent.addListener(e,"change",function(a){b.getModel().beginUpdate();try{b.setCellStyles("jumpStyle",e.value,b.getSelectionCells()),d.fireEvent(new mxEventObject("styleChanged","keys",["jumpStyle"],"values",[e.value],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}mxEvent.consume(a)}); +mxEvent.addListener(e,"click",function(a){mxEvent.consume(a)});a.appendChild(e);var k,l=this.addUnitInput(a,"pt",22,33,function(){k.apply(this,arguments)});k=this.installInputHandler(l,"jumpSize",Graph.defaultJumpSize,0,999," pt");var m=mxUtils.bind(this,function(a,b,d){c=this.format.getSelectionState();e.value=mxUtils.getValue(c.style,"jumpStyle","none");if(d||document.activeElement!=l)a=parseInt(mxUtils.getValue(c.style,"jumpSize",Graph.defaultJumpSize)),l.value=isNaN(a)?"":a+" pt"});this.addKeyHandler(l, m);b.getModel().addListener(mxEvent.CHANGE,m);this.listeners.push({destroy:function(){b.getModel().removeListener(m)}});m()}else a.style.display="none";return a}; -StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var b=document.createElement("table");mxClient.IS_QUIRKS&&(b.style.fontSize="1em");b.style.width="100%";b.style.fontWeight="bold";b.style.paddingRight="20px";var f=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var k=document.createElement("td");k.style.padding="0px";k.style.width="50%";k.setAttribute("valign", -"top");var g=k.cloneNode(!0);g.style.paddingLeft="8px";e.appendChild(k);e.appendChild(g);f.appendChild(e);b.appendChild(f);a.appendChild(b);var h=k,l=0,m=mxUtils.bind(this,function(a,b,c){a=this.createCellOption(a,b,c);a.style.width="100%";h.appendChild(a);h=h==k?g:k;l++}),n=mxUtils.bind(this,function(b,c,e){d=this.format.getSelectionState();k.innerHTML="";g.innerHTML="";h=k;d.rounded&&m(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==d.style.shape&&m(mxResources.get("divider"), +StyleFormatPanel.prototype.addEffects=function(a){var c=this.editorUi.editor.graph,d=this.format.getSelectionState();a.style.paddingTop="0px";a.style.paddingBottom="2px";var b=document.createElement("table");mxClient.IS_QUIRKS&&(b.style.fontSize="1em");b.style.width="100%";b.style.fontWeight="bold";b.style.paddingRight="20px";var f=document.createElement("tbody"),e=document.createElement("tr");e.style.padding="0px";var h=document.createElement("td");h.style.padding="0px";h.style.width="50%";h.setAttribute("valign", +"top");var g=h.cloneNode(!0);g.style.paddingLeft="8px";e.appendChild(h);e.appendChild(g);f.appendChild(e);b.appendChild(f);a.appendChild(b);var k=h,l=0,m=mxUtils.bind(this,function(a,b,c){a=this.createCellOption(a,b,c);a.style.width="100%";k.appendChild(a);k=k==h?g:h;l++}),n=mxUtils.bind(this,function(b,c,e){d=this.format.getSelectionState();h.innerHTML="";g.innerHTML="";k=h;d.rounded&&m(mxResources.get("rounded"),mxConstants.STYLE_ROUNDED,0);"swimlane"==d.style.shape&&m(mxResources.get("divider"), "swimlaneLine",1);d.containsImage||m(mxResources.get("shadow"),mxConstants.STYLE_SHADOW,0);d.glass&&m(mxResources.get("glass"),mxConstants.STYLE_GLASS,0);d.comic&&m(mxResources.get("comic"),"comic",0);0==l&&(a.style.display="none")});c.getModel().addListener(mxEvent.CHANGE,n);this.listeners.push({destroy:function(){c.getModel().removeListener(n)}});n();return a}; StyleFormatPanel.prototype.addStyleOps=function(a){a.style.paddingTop="10px";a.style.paddingBottom="10px";var c=mxUtils.button(mxResources.get("setAsDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("setAsDefaultStyle").funct()}));c.setAttribute("title",mxResources.get("setAsDefaultStyle")+" ("+this.editorUi.actions.get("setAsDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel=function(a,c,d){BaseFormatPanel.call(this,a,c,d);this.init()}; mxUtils.extend(DiagramFormatPanel,BaseFormatPanel);DiagramFormatPanel.showPageView=!0;DiagramFormatPanel.prototype.showBackgroundImageOption=!0;DiagramFormatPanel.prototype.init=function(){var a=this.editorUi.editor.graph;this.container.appendChild(this.addView(this.createPanel()));a.isEnabled()&&(this.container.appendChild(this.addOptions(this.createPanel())),this.container.appendChild(this.addPaperSize(this.createPanel())),this.container.appendChild(this.addStyleOps(this.createPanel())))}; @@ -2828,53 +2830,53 @@ DiagramFormatPanel.prototype.addOptions=function(a){var c=this.editorUi,d=c.edit a.appendChild(this.createOption(mxResources.get("connectionPoints"),function(){return d.connectionHandler.isEnabled()},function(a){c.actions.get("connectionPoints").funct()},{install:function(a){this.listener=function(){a(d.connectionHandler.isEnabled())};c.addListener("connectionPointsChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})),a.appendChild(this.createOption(mxResources.get("guides"),function(){return d.graphHandler.guidesEnabled},function(a){c.actions.get("guides").funct()}, {install:function(a){this.listener=function(){a(d.graphHandler.guidesEnabled)};c.addListener("guidesEnabledChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}})));return a}; DiagramFormatPanel.prototype.addGridOption=function(a){function c(a){var c=parseInt(f.value),c=Math.max(1,isNaN(c)?10:c);c!=b.getGridSize()&&b.setGridSize(c);f.value=c+" pt";mxEvent.consume(a)}var d=this.editorUi,b=d.editor.graph,f=document.createElement("input");f.style.position="absolute";f.style.textAlign="right";f.style.width="38px";f.value=b.getGridSize()+" pt";var e=this.createStepper(f,c);f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;mxEvent.addListener(f,"keydown", -function(a){13==a.keyCode?(b.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(f.value=b.getGridSize(),b.container.focus(),mxEvent.consume(a))});mxEvent.addListener(f,"blur",c);mxEvent.addListener(f,"change",c);if(mxClient.IS_SVG){f.style.marginTop="-2px";f.style.right="84px";e.style.marginTop="-16px";e.style.right="72px";var k=this.createColorOption(mxResources.get("grid"),function(){var a=b.view.gridColor;return b.isGridEnabled()?a:null},function(a){a==mxConstants.NONE?b.setGridEnabled(!1): -(b.setGridEnabled(!0),d.setGridColor(a));f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;d.fireEvent(new mxEventObject("gridEnabledChanged"))},"#e0e0e0",{install:function(a){this.listener=function(){a(b.isGridEnabled()?b.view.gridColor:null)};d.addListener("gridColorChanged",this.listener);d.addListener("gridEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});k.appendChild(f);k.appendChild(e);a.appendChild(k)}else f.style.marginTop="2px", +function(a){13==a.keyCode?(b.container.focus(),mxEvent.consume(a)):27==a.keyCode&&(f.value=b.getGridSize(),b.container.focus(),mxEvent.consume(a))});mxEvent.addListener(f,"blur",c);mxEvent.addListener(f,"change",c);if(mxClient.IS_SVG){f.style.marginTop="-2px";f.style.right="84px";e.style.marginTop="-16px";e.style.right="72px";var h=this.createColorOption(mxResources.get("grid"),function(){var a=b.view.gridColor;return b.isGridEnabled()?a:null},function(a){a==mxConstants.NONE?b.setGridEnabled(!1): +(b.setGridEnabled(!0),d.setGridColor(a));f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;d.fireEvent(new mxEventObject("gridEnabledChanged"))},"#e0e0e0",{install:function(a){this.listener=function(){a(b.isGridEnabled()?b.view.gridColor:null)};d.addListener("gridColorChanged",this.listener);d.addListener("gridEnabledChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});h.appendChild(f);h.appendChild(e);a.appendChild(h)}else f.style.marginTop="2px", f.style.right="32px",e.style.marginTop="2px",e.style.right="20px",a.appendChild(f),a.appendChild(e),a.appendChild(this.createOption(mxResources.get("grid"),function(){return b.isGridEnabled()},function(a){b.setGridEnabled(a);b.isGridEnabled()&&(b.view.gridColor="#e0e0e0");d.fireEvent(new mxEventObject("gridEnabledChanged"))},{install:function(a){this.listener=function(){f.style.display=b.isGridEnabled()?"":"none";e.style.display=f.style.display;a(b.isGridEnabled())};d.addListener("gridEnabledChanged", this.listener)},destroy:function(){d.removeListener(this.listener)}}))};DiagramFormatPanel.prototype.addDocumentProperties=function(a){a.appendChild(this.createTitle(mxResources.get("options")));return a}; DiagramFormatPanel.prototype.addPaperSize=function(a){var c=this.editorUi,d=c.editor.graph;a.appendChild(this.createTitle(mxResources.get("paperSize")));var b=PageSetupDialog.addPageFormatPanel(a,"formatpanel",d.pageFormat,function(a){if(null==d.pageFormat||d.pageFormat.width!=a.width||d.pageFormat.height!=a.height)a=new ChangePageSetup(c,null,null,a),a.ignoreColor=!0,a.ignoreImage=!0,d.model.execute(a)});this.addKeyHandler(b.widthInput,function(){b.set(d.pageFormat)});this.addKeyHandler(b.heightInput, function(){b.set(d.pageFormat)});var f=function(){b.set(d.pageFormat)};c.addListener("pageFormatChanged",f);this.listeners.push({destroy:function(){c.removeListener(f)}});d.getModel().addListener(mxEvent.CHANGE,f);this.listeners.push({destroy:function(){d.getModel().removeListener(f)}});return a}; DiagramFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("editData"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editData").funct()}));c.setAttribute("title",mxResources.get("editData")+" ("+this.editorUi.actions.get("editData").shortcut+")");c.style.width="202px";c.style.marginBottom="2px";a.appendChild(c);mxUtils.br(a);c=mxUtils.button(mxResources.get("clearDefaultStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("clearDefaultStyle").funct()})); -c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function k(){mxCylinder.call(this)}function g(){mxActor.call(this)}function h(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function q(){mxActor.call(this)}function r(a,b){this.canvas= -a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,r.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,r.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,r.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,r.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; -this.canvas.curveTo=mxUtils.bind(this,r.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,r.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function w(){mxRectangleShape.call(this)}function v(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function C(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function D(){mxShape.call(this)}function B(){mxShape.call(this)} -function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function P(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)} +c.setAttribute("title",mxResources.get("clearDefaultStyle")+" ("+this.editorUi.actions.get("clearDefaultStyle").shortcut+")");c.style.width="202px";a.appendChild(c);return a};DiagramFormatPanel.prototype.destroy=function(){BaseFormatPanel.prototype.destroy.apply(this,arguments);this.gridEnabledListener&&(this.editorUi.removeListener(this.gridEnabledListener),this.gridEnabledListener=null)};(function(){function a(){mxCylinder.call(this)}function c(){mxActor.call(this)}function d(){mxCylinder.call(this)}function b(){mxCylinder.call(this)}function f(){mxCylinder.call(this)}function e(){mxActor.call(this)}function h(){mxCylinder.call(this)}function g(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function q(){mxActor.call(this)}function t(a,b){this.canvas= +a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,t.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,t.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,t.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,t.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; +this.canvas.curveTo=mxUtils.bind(this,t.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,t.prototype.arcTo)}function r(){mxRectangleShape.call(this)}function v(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function u(){mxActor.call(this)}function z(){mxActor.call(this)}function x(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function A(){mxCylinder.call(this)}function C(){mxShape.call(this)}function B(){mxShape.call(this)} +function L(){mxEllipse.call(this)}function K(){mxShape.call(this)}function I(){mxShape.call(this)}function E(){mxRectangleShape.call(this)}function J(){mxShape.call(this)}function N(){mxShape.call(this)}function Q(){mxShape.call(this)}function O(){mxCylinder.call(this)}function F(){mxDoubleEllipse.call(this)}function G(){mxDoubleEllipse.call(this)}function H(){mxArrowConnector.call(this);this.spacing=0}function y(){mxArrowConnector.call(this);this.spacing=0}function W(){mxActor.call(this)}function R(){mxRectangleShape.call(this)} function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function X(){mxActor.call(this)}function U(){mxActor.call(this)}function ja(){mxActor.call(this)}function da(){mxActor.call(this)}function ka(){mxActor.call(this)}function ea(){mxActor.call(this)}function Y(){mxActor.call(this)}function Z(){mxActor.call(this)}function fa(){mxEllipse.call(this)}function ga(){mxEllipse.call(this)}function ba(){mxEllipse.call(this)}function la(){mxRhombus.call(this)}function V(){mxEllipse.call(this)}function ma(){mxEllipse.call(this)} -function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var O=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(O.x-e-g,O.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, +function S(){mxEllipse.call(this)}function ua(){mxEllipse.call(this)}function va(){mxActor.call(this)}function pa(){mxActor.call(this)}function qa(){mxActor.call(this)}function na(){mxConnector.call(this)}function Da(a,b,c,d,e,f,g,h,k,l){g+=k;var P=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(P.x-e-g,P.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", a);var za=Math.tan(mxUtils.toRadians(30)),oa=(.5-za)/2;mxUtils.extend(c,mxActor);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/za);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*oa);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-oa)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",c);mxUtils.extend(d,mxCylinder);d.prototype.size=20;d.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(d,e/(.5+za));f?(a.moveTo(0,.25*b),a.lineTo(.5* b,(.5-oa)*b),a.lineTo(b,.25*b),a.moveTo(.5*b,(.5-oa)*b),a.lineTo(.5*b,(1-oa)*b)):(a.translate((d-b)/2,(e-b)/2),a.moveTo(0,.25*b),a.lineTo(.5*b,b*oa),a.lineTo(b,.25*b),a.lineTo(b,.75*b),a.lineTo(.5*b,(1-oa)*b),a.lineTo(0,.75*b),a.close());a.end()};mxCellRenderer.registerShape("isoCube",d);mxUtils.extend(b,mxCylinder);b.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(e/2,Math.round(e/8)+this.strokewidth-1);if(f&&null!=this.fill||!f&&null==this.fill)a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f|| (a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,b/2),a.moveTo(0,b),a.curveTo(0,2*b,d,2*b,d,b),f||(a.stroke(),a.begin()),a.translate(0,-b);f||(a.moveTo(0,b),a.curveTo(0,-b/3,d,-b/3,d,b),a.lineTo(d,e-b),a.curveTo(d,e+b/3,0,e+b/3,0,e-b),a.close())};b.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", b);mxUtils.extend(f,mxCylinder);f.prototype.size=30;f.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(d-b,0),a.lineTo(d-b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",f);mxUtils.extend(e,mxActor);e.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d/2,.5*e,d,0);a.quadTo(.5* -d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(k,mxCylinder);k.prototype.tabWidth=60;k.prototype.tabHeight=20;k.prototype.tabPosition="right";k.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); -f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",k);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style, -mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(h,mxActor);h.prototype.size=.4;h.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3* -d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};h.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape", -h);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close(); +d,e/2,d,e);a.quadTo(d/2,.5*e,0,e);a.quadTo(.5*d,e/2,0,0);a.end()};mxCellRenderer.registerShape("switch",e);mxUtils.extend(h,mxCylinder);h.prototype.tabWidth=60;h.prototype.tabHeight=20;h.prototype.tabPosition="right";h.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); +f?"left"==g?(a.moveTo(0,c),a.lineTo(b,c)):(a.moveTo(d-b,c),a.lineTo(d,c)):("left"==g?(a.moveTo(0,0),a.lineTo(b,0),a.lineTo(b,c),a.lineTo(d,c)):(a.moveTo(0,c),a.lineTo(d-b,c),a.lineTo(d-b,0),a.lineTo(d,0)),a.lineTo(d,e),a.lineTo(0,e),a.lineTo(0,c),a.close());a.end()};mxCellRenderer.registerShape("folder",h);mxUtils.extend(g,mxActor);g.prototype.size=30;g.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));c=mxUtils.getValue(this.style, +mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d,e),new mxPoint(0,e),new mxPoint(0,b)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("card",g);mxUtils.extend(k,mxActor);k.prototype.size=.4;k.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,b/2);a.quadTo(d/4,1.4*b,d/2,b/2);a.quadTo(3*d/4,b*(1-1.4),d,b/2);a.lineTo(d,e-b/2);a.quadTo(3* +d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close();a.end()};k.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var b=mxUtils.getValue(this.style,"size",this.size),c=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return b*=d,new mxRectangle(a.x,a.y+b,c,d-2*b);b*=c;return new mxRectangle(a.x+b,a.y,c-2*b,d)}return a};mxCellRenderer.registerShape("tape", +k);mxUtils.extend(l,mxActor);l.prototype.size=.3;l.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};l.prototype.redrawPath=function(a,b,c,d,e){b=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,e-b/2);a.quadTo(3*d/4,e-1.4*b,d/2,e-b/2);a.quadTo(d/4,e-b*(1-1.4),0,e-b/2);a.lineTo(0,b/2);a.close(); a.end()};mxCellRenderer.registerShape("document",l);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(m,mxActor);m.prototype.size=.2;m.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, [new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d,0),new mxPoint(d-b,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("parallelogram",m);mxUtils.extend(n,mxActor);n.prototype.size=.2;n.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,e)],this.isRounded, c,!0)};mxCellRenderer.registerShape("trapezoid",n);mxUtils.extend(p,mxActor);p.prototype.size=.5;p.prototype.redrawPath=function(a,b,c,d,e){a.setFillColor(null);b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(b,0),new mxPoint(b,e/2),new mxPoint(0,e/2),new mxPoint(b,e/2),new mxPoint(b,e),new mxPoint(d,e)],this.isRounded,c,!1);a.end()}; -mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);r.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};r.prototype.close=function(){null!=this.firstX&& -null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};r.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};r.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};r.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY= -g};r.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var O=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas, -O*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};r.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= -function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new r(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)}; +mxCellRenderer.registerShape("curlyBracket",p);mxUtils.extend(q,mxActor);q.prototype.redrawPath=function(a,b,c,d,e){a.setStrokeWidth(1);a.setFillColor(this.stroke);b=d/5;a.rect(0,0,b,e);a.fillAndStroke();a.rect(2*b,0,b,e);a.fillAndStroke();a.rect(4*b,0,b,e);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",q);t.prototype.moveTo=function(a,b){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;this.firstX=a;this.firstY=b};t.prototype.close=function(){null!=this.firstX&& +null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};t.prototype.quadTo=function(a,b,c,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=c;this.lastY=d};t.prototype.curveTo=function(a,b,c,d,e,f){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=e;this.lastY=f};t.prototype.arcTo=function(a,b,c,d,e,f,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=f;this.lastY= +g};t.prototype.lineTo=function(a,b){if(null!=this.lastX&&null!=this.lastY){var c=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),e=Math.abs(b-this.lastY),f=Math.sqrt(d*d+e*e);if(2>f){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b;return}var g=Math.round(f/10),h=this.defaultVariation;5>g&&(g=5,h/=3);for(var P=c(a-this.lastX)*d/g,c=c(b-this.lastY)*e/g,d=d/f,e=e/f,f=0;f<g;f++){var k=(Math.random()-.5)*h;this.originalLineTo.call(this.canvas, +P*f+this.lastX-k*e,c*f+this.lastY-k*d)}this.originalLineTo.call(this.canvas,a,b)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=b};t.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ea=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= +function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new t(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ea.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Ia=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Ia.apply(this,arguments)}; var Ja=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,b,c,d,e){if(null==a.handJiggle)Ja.apply(this,arguments);else{var f=!0;null!=this.style&&(f="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(f||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)f||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, 0)?f=Math.min(d/2,Math.min(e/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.min(d*f,e*f)),a.moveTo(b+f,c),a.lineTo(b+d-f,c),a.quadTo(b+d,c,b+d,c+f),a.lineTo(b+d,c+e-f),a.quadTo(b+d,c+e,b+d-f,c+e),a.lineTo(b+f,c+e),a.quadTo(b,c+e,b,c+e-f),a.lineTo(b,c+f),a.quadTo(b,c,b+f,c)):(a.moveTo(b,c),a.lineTo(b+d,c),a.lineTo(b+d,c+e),a.lineTo(b,c+e),a.lineTo(b, -c)),a.close(),a.end(),a.fillAndStroke()}};var Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(t,mxRectangleShape);t.prototype.size=.1;t.prototype.isHtmlAllowed=function(){return!1};t.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b= -a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};t.prototype.paintForeground=function(a,b,c,d,e){var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= -mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",t);mxUtils.extend(w,mxRectangleShape);w.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};w.prototype.paintForeground= -function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",w);mxUtils.extend(v,mxHexagon);v.prototype.size=30;v.prototype.position=.5;v.prototype.position2=.5;v.prototype.base=20;v.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};v.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style, +c)),a.close(),a.end(),a.fillAndStroke()}};var Ka=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,b,c,d,e){null==a.handJiggle&&Ka.apply(this,arguments)};mxUtils.extend(r,mxRectangleShape);r.prototype.size=.1;r.prototype.isHtmlAllowed=function(){return!1};r.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var b= +a.width,c=a.height;a=new mxRectangle(a.x,a.y,b,c);var d=b*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(b*e,c*e));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};r.prototype.paintForeground=function(a,b,c,d,e){var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= +mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));f=Math.round(f);a.begin();a.moveTo(b+f,c);a.lineTo(b+f,c+e);a.moveTo(b+d-f,c);a.lineTo(b+d-f,c+e);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",r);mxUtils.extend(v,mxRectangleShape);v.prototype.paintBackground=function(a,b,c,d,e){a.setFillColor(mxConstants.NONE);a.rect(b,c,d,e);a.fill()};v.prototype.paintForeground= +function(a,b,c,d,e){};mxCellRenderer.registerShape("transparent",v);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,b,c,d,e){b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style, "size",this.size))));var f=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,e-c),new mxPoint(Math.min(d,f+h),e-c),new mxPoint(g,e),new mxPoint(Math.max(0,f),e-c),new mxPoint(0,e-c)],this.isRounded,b,!0,[4])};mxCellRenderer.registerShape("callout", -v);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d- +w);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,b,c,d,e){b="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d- b,e),new mxPoint(0,e),new mxPoint(b,e/2)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("step",u);mxUtils.extend(z,mxHexagon);z.prototype.size=.25;z.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(b,0),new mxPoint(d-b,0),new mxPoint(d,.5*e),new mxPoint(d-b,e),new mxPoint(b,e),new mxPoint(0,.5*e)], this.isRounded,c,!0)};mxCellRenderer.registerShape("hexagon",z);mxUtils.extend(x,mxRectangleShape);x.prototype.isHtmlAllowed=function(){return!1};x.prototype.paintForeground=function(a,b,c,d,e){var f=Math.min(d/5,e/5)+1;a.begin();a.moveTo(b+d/2,c+f);a.lineTo(b+d/2,c+e-f);a.moveTo(b+f,c+e/2);a.lineTo(b+d-f,c+e/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",x);var Fa=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= function(a){if(1==this.style["double"]){var b=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};mxRhombus.prototype.paintVertexShape=function(a,b,c,d,e){Fa.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var f=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&(a.setShadow(!1),Fa.apply(this,[a,b, -c,d,e]))}};mxUtils.extend(C,mxRectangleShape);C.prototype.isHtmlAllowed=function(){return!1};C.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};C.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| -0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],O=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth, -e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-O)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-O-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,O,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",C);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a, -b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",A);mxUtils.extend(D,mxShape);D.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end(); -a.stroke()};mxCellRenderer.registerShape("umlActor",D);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a, +c,d,e]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var b=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+b,a.y+b,a.width-2*b,a.height-2*b)}return a};D.prototype.paintForeground=function(a,b,c,d,e){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var f=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| +0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],P=this.style["symbol"+f+"Width"],l=this.style["symbol"+f+"Height"],m=this.style["symbol"+f+"Spacing"]||0,Aa=this.style["symbol"+f+"VSpacing"]||m,aa=this.style["symbol"+f+"ArcSpacing"];null!=aa&&(aa*=this.getArcSize(d+this.strokewidth, +e+this.strokewidth),m+=aa,Aa+=aa);var aa=b,ra=c,aa=h==mxConstants.ALIGN_CENTER?aa+(d-P)/2:h==mxConstants.ALIGN_RIGHT?aa+(d-P-m):aa+m,ra=k==mxConstants.ALIGN_MIDDLE?ra+(e-l)/2:k==mxConstants.ALIGN_BOTTOM?ra+(e-l-Aa):ra+Aa;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,aa,ra,P,l);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(A,mxCylinder);A.prototype.redrawPath=function(a, +b,c,d,e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",A);mxUtils.extend(C,mxShape);C.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end(); +a.stroke()};mxCellRenderer.registerShape("umlActor",C);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(L,mxEllipse);L.prototype.paintVertexShape=function(a, b,c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",L);mxUtils.extend(K,mxShape);K.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",K);mxUtils.extend(I,mxShape);I.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ a.height/8,a.width,7*a.height/8)};I.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};I.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",I);mxUtils.extend(E,mxRectangleShape);E.prototype.size=40;E.prototype.isHtmlAllowed=function(){return!1};E.prototype.getLabelBounds= function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};E.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=E&&(g=new g, @@ -2883,19 +2885,19 @@ g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin(); a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",J);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=E.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x< -a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",v.prototype.size))* +a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",w.prototype.size))* b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,d){var e=m.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+ h,g+e),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,b,c,d){var e=n.prototype.size;null!=b&&(e= mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k),new mxPoint(f+e,g)]):b==mxConstants.DIRECTION_WEST?(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f, g)]):b==mxConstants.DIRECTION_NORTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g+e),new mxPoint(f+h,g),new mxPoint(f+h,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e)]):(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(f,g+k),new mxPoint(f,g)]);k=a.getCenterX();a=a.getCenterY();a=new mxPoint(k,a);d&&(c.x<f||c.x>f+h?a.y=c.y:a.x=c.x);return mxUtils.getPerimeterPoint(g,a,c)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); -mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,O=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k- -e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(O,h),new mxPoint(g+k,h+e),new mxPoint(g+k, -h+l),new mxPoint(O,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(O,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(O,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);O=new mxPoint(O,a);d&&(c.x<g||c.x>g+k?O.y=c.y:O.x=c.x);return mxUtils.getPerimeterPoint(h,O,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!= +mxPerimeter.StepPerimeter=function(a,b,c,d){var e="0"!=mxUtils.getValue(b.style,"fixedSize","0"),f=e?u.prototype.fixedSize:u.prototype.size;null!=b&&(f=mxUtils.getValue(b.style,"size",f));var g=a.x,h=a.y,k=a.width,l=a.height,P=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_EAST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(g+k- +e,h),new mxPoint(g+k,a),new mxPoint(g+k-e,h+l),new mxPoint(g,h+l),new mxPoint(g+e,a),new mxPoint(g,h)]):b==mxConstants.DIRECTION_WEST?(e=e?Math.max(0,Math.min(k,f)):k*Math.max(0,Math.min(1,f)),h=[new mxPoint(g+e,h),new mxPoint(g+k,h),new mxPoint(g+k-e,a),new mxPoint(g+k,h+l),new mxPoint(g+e,h+l),new mxPoint(g,a),new mxPoint(g+e,h)]):b==mxConstants.DIRECTION_NORTH?(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h+e),new mxPoint(P,h),new mxPoint(g+k,h+e),new mxPoint(g+k, +h+l),new mxPoint(P,h+l-e),new mxPoint(g,h+l),new mxPoint(g,h+e)]):(e=e?Math.max(0,Math.min(l,f)):l*Math.max(0,Math.min(1,f)),h=[new mxPoint(g,h),new mxPoint(P,h+e),new mxPoint(g+k,h),new mxPoint(g+k,h+l-e),new mxPoint(P,h+l),new mxPoint(g,h+l-e),new mxPoint(g,h)]);P=new mxPoint(P,a);d&&(c.x<g||c.x>g+k?P.y=c.y:P.x=c.x);return mxUtils.getPerimeterPoint(h,P,c)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,b,c,d){var e=z.prototype.size;null!= b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height,l=a.getCenterX();a=a.getCenterY();b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(l,g),new mxPoint(f+h,g+e),new mxPoint(f+h,g+k-e),new mxPoint(l,g+k),new mxPoint(f,g+k-e),new mxPoint(f,g+e),new mxPoint(l,g)]):(e=h*Math.max(0,Math.min(1,e)),g=[new mxPoint(f+ e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(N,mxShape);N.prototype.size=10;N.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke(); a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",N);mxUtils.extend(Q,mxShape);Q.prototype.size=10;Q.prototype.inset=2;Q.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/ -2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(P,mxCylinder);P.prototype.jettyWidth=32;P.prototype.jettyHeight=12;P.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k), -a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",P);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); +2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",Q);mxUtils.extend(O,mxCylinder);O.prototype.jettyWidth=32;O.prototype.jettyHeight=12;O.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c,k), +a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",O);mxUtils.extend(F,mxDoubleEllipse);F.prototype.outerStroke=!0;F.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",F);mxUtils.extend(G,F);G.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",G);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=4;H.prototype.isOpenEnded=function(){return!0};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};H.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", H);mxUtils.extend(y,mxArrowConnector);y.prototype.defaultWidth=10;y.prototype.defaultArrowWidth=20;y.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};y.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};y.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", y);mxUtils.extend(W,mxActor);W.prototype.size=30;W.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",W);mxUtils.extend(R,mxRectangleShape);R.prototype.dx=20;R.prototype.dy=20;R.prototype.isHtmlAllowed= @@ -2919,8 +2921,8 @@ e);a.close();a.end()};mxCellRenderer.registerShape("delay",va);mxUtils.extend(pa pa);mxUtils.extend(qa,mxActor);qa.prototype.size=.25;qa.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/2);c=Math.min(d-b,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.moveTo(0,e/2);a.lineTo(c,0);a.lineTo(d-b,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,d-b,e);a.lineTo(c,e);a.close();a.end()};mxCellRenderer.registerShape("display",qa);mxUtils.extend(na,mxConnector);na.prototype.origPaintEdgeShape=na.prototype.paintEdgeShape;na.prototype.paintEdgeShape=function(a,b,c){for(var d= [],e=0;e<b.length;e++)d.push(mxUtils.clone(b[e]));var e=a.state.dashed,f=a.state.fixDash;na.prototype.origPaintEdgeShape.apply(this,[a,d,c]);3<=a.state.strokeWidth&&(d=mxUtils.getValue(this.style,"fillColor",null),null!=d&&(a.setStrokeColor(d),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(e,f),na.prototype.origPaintEdgeShape.apply(this,[a,b,c])))};mxCellRenderer.registerShape("filledEdge",na);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; StyleFormatPanel.prototype.getCustomColors=function(){var b=this.format.getSelectionState(),c=a.apply(this,arguments);"umlFrame"==b.style.shape&&c.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return c}}();mxMarker.addMarker("dash",function(a,b,c,d,e,f,g,h,k,l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.stroke()}});mxMarker.addMarker("cross",function(a,b,c,d,e,f,g,h,k, -l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),O=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*O+f*k);a.moveTo(m.x- -p-O+f*k,m.y-O+p-e*k);a.lineTo(m.x+O-p-f*k,m.y-O-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n= +l){var m=e*(g+k+1),n=f*(g+k+1);return function(){a.begin();a.moveTo(d.x-m/2-n/2,d.y-n/2+m/2);a.lineTo(d.x+n/2-3*m/2,d.y-3*n/2-m/2);a.moveTo(d.x-m/2+n/2,d.y-n/2-m/2);a.lineTo(d.x-n/2-3*m/2,d.y-3*n/2+m/2);a.stroke()}});mxMarker.addMarker("circle",Da);mxMarker.addMarker("circlePlus",function(a,b,c,d,e,f,g,h,k,l){var m=d.clone(),n=Da.apply(this,arguments),p=e*(g+2*k),q=f*(g+2*k);return function(){n.apply(this,arguments);a.begin();a.moveTo(m.x-e*k,m.y-f*k);a.lineTo(m.x-2*p+e*k,m.y-2*q+f*k);a.moveTo(m.x- +p-q+f*k,m.y-q+p-e*k);a.lineTo(m.x+q-p-f*k,m.y-q-p+e*k);a.stroke()}});mxMarker.addMarker("async",function(a,b,c,d,e,f,g,h,k,l){b=e*k*1.118;c=f*k*1.118;e*=g+k;f*=g+k;var m=d.clone();m.x-=b;m.y-=c;d.x+=1*-e-b;d.y+=1*-f-c;return function(){a.begin();a.moveTo(m.x,m.y);h?a.lineTo(m.x-e-f/2,m.y-f+e/2):a.lineTo(m.x+f/2-e,m.y-f-e/2);a.lineTo(m.x-e,m.y-f);a.close();l?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(b,c,d,e,f,g,h,k,l,m){f*=h+l;g*=h+l;var n= e.clone();return function(){b.begin();b.moveTo(n.x,n.y);k?b.lineTo(n.x-f-g/a,n.y-g+f/a):b.lineTo(n.x+g/a-f,n.y-g-f/a);b.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Ga=function(a,b,c){return sa(a,["width"],b,function(b,d,e,f,g){g=a.shape.getEdgeWidth()*a.view.scale+c;return new mxPoint(f.x+d*b/4+e*g/2,f.y+e*b/4-d*g/2)},function(b,d,e,f,g,h){b=Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*b)/a.view.scale-c})},sa=function(a,b,c,d,e){return M(a,b, function(b){var e=a.absolutePoints,f=e.length-1;b=a.view.translate;var g=a.view.scale,h=c?e[0]:e[f],e=c?e[1]:e[f-1],f=e.x-h.x,k=e.y-h.y,l=Math.sqrt(f*f+k*k),h=d.call(this,l,f/l,k/l,h,e);return new mxPoint(h.x/g-b.x,h.y/g-b.y)},function(b,d,f){var g=a.absolutePoints,h=g.length-1;b=a.view.translate;var k=a.view.scale,l=c?g[0]:g[h],g=c?g[1]:g[h-1],h=g.x-l.x,m=g.y-l.y,n=Math.sqrt(h*h+m*m);d.x=(d.x+b.x)*k;d.y=(d.y+b.y)*k;e.call(this,n,h/n,m/n,l,g,d,f)})},ia=function(a){return function(b){return[M(b,["arrowWidth", "arrowSize"],function(b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",U.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",U.prototype.arrowSize)));return new mxPoint(b.x+(1-d)*b.width,b.y+(1-c)*b.height/2)},function(b,c){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(b.y+b.height/2-c.y)/b.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(b.x+b.width-c.x)/b.width))})]}},Ba=function(a,b,c){return function(d){var e= @@ -2942,33 +2944,33 @@ parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYL b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ha(a,c/2))}return b}, label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",E.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var b=Math.max(J.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, "width",J.prototype.width))),c=Math.max(1.5*J.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",J.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(J.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*J.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[M(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, -"size",t.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},cross:function(a){return[M(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",pa.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, +"size",r.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},cross:function(a){return[M(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",pa.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",f.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b= [M(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",W.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},dataStorage:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",da.prototype.size)))); -return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[M(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position)));mxUtils.getValue(this.state.style,"base",v.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- -b)},function(a,b){mxUtils.getValue(this.state.style,"base",v.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",v.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, -(b.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",v.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",v.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",v.prototype.position))); +return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[M(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- +b)},function(a,b){mxUtils.getValue(this.state.style,"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, +(b.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))); this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},internalStorage:function(a){var b=[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",R.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",R.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(a));return b},corner:function(a){return[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",T.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",T.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,b.y-a.y)))})]},singleArrow:ia(1),doubleArrow:ia(.5),folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",k.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",k.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",k.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= -Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",k.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= -Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",h.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size)))); +Math.min(a.height,b.y-a.y)))})]},singleArrow:ia(1),doubleArrow:ia(.5),folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",h.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",h.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",h.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= +Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",h.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= +Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",Z.prototype.size)))); return new mxPoint(a.getCenterX(),a.y+(1-b)*a.height)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},step:wa(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:wa(z.prototype.size,!0,.5,!0),curlyBracket:wa(p.prototype.size,!1),display:wa(qa.prototype.size,!1),cube:Ba(1,a.prototype.size,!1),card:Ba(.5,g.prototype.size,!0),loopLimit:Ba(.5,Y.prototype.size,!0),trapezoid:Ha(.5),parallelogram:Ha(1)};Graph.createHandle=M;Graph.handleFactory=Ca;mxVertexHandler.prototype.createCustomHandles= function(){if(1==this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=Ca[a];if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&& (a=mxConstants.SHAPE_CONNECTOR);a=Ca[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var xa=new mxPoint(1,0),ya=new mxPoint(1,0),ia=mxUtils.toRadians(-30),xa=mxUtils.getRotatedPoint(xa,Math.cos(ia),Math.sin(ia)),ia=mxUtils.toRadians(-150),ya=mxUtils.getRotatedPoint(ya,Math.cos(ia),Math.sin(ia));mxEdgeStyle.IsometricConnector=function(a,b,c,d,e){var f=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!= d&&(d=f.transformControlPoint(a,d));null==h&&null!=b&&(h=new mxPoint(b.getCenterX(),b.getCenterY()));null==g&&null!=c&&(g=new mxPoint(c.getCenterX(),c.getCenterY()));var k=xa.x,l=xa.y,m=ya.x,n=ya.y,p="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,b,c){a-=q.x;var d=b-q.y;b=(n*a-m*d)/(k*n-l*m);a=(l*a-k*d)/(l*m-k*n);p?(c&&(q=new mxPoint(q.x+k*b,q.y+l*b),e.push(q)),q=new mxPoint(q.x+m*a,q.y+n*a)):(c&&(q=new mxPoint(q.x+m*a,q.y+n*a),e.push(q)),q=new mxPoint(q.x+ -k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];v.prototype.constraints=[]; +k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var La=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,b){if(b==mxEdgeStyle.IsometricConnector){var c=new mxElbowEdgeHandler(a);c.snapToTerminals=!1;return c}return La.apply(this,arguments)};c.prototype.constraints=[];d.prototype.constraints=[];w.prototype.constraints=[]; mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1, -.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints; +.5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;x.prototype.constraints=mxRectangleShape.prototype.constraints;f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;h.prototype.constraints=mxRectangleShape.prototype.constraints; R.prototype.constraints=mxRectangleShape.prototype.constraints;da.prototype.constraints=mxRectangleShape.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;ga.prototype.constraints=mxEllipse.prototype.constraints;ba.prototype.constraints=mxEllipse.prototype.constraints;ua.prototype.constraints=mxEllipse.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;va.prototype.constraints=mxRectangleShape.prototype.constraints;qa.prototype.constraints= mxRectangleShape.prototype.constraints;Y.prototype.constraints=mxRectangleShape.prototype.constraints;Z.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, -.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];D.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, +.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, +1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9, .5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];e.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];h.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, +1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];k.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, 0),!1)];u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, .25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];N.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375, @@ -2984,20 +2986,21 @@ this.addAction("open...",function(){window.openNew=!0;window.openKey="open";c.op 320,220,!0,!0,function(){window.openFile=null})}).isEnabled=f;this.addAction("save",function(){c.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=f;this.addAction("saveAs...",function(){c.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=f;this.addAction("export...",function(){c.showDialog((new ExportDialog(c)).container,300,230,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(c);c.showDialog(a.container,620,420,!0,!1);a.init()});this.addAction("pageSetup...", function(){c.showDialog((new PageSetupDialog(c)).container,320,220,!0,!0)}).isEnabled=f;this.addAction("print...",function(){c.showDialog((new PrintDialog(c)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(b,null,10,10)});this.addAction("undo",function(){c.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){c.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", function(){mxClipboard.cut(b)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(b)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&mxClipboard.paste(b)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){b.getModel().beginUpdate();try{var c=mxClipboard.paste(b);if(null!=c){a=!0;for(var d=0;d<c.length&& -a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,f=b.view.scale,g=e.x,k=e.y,e=null;if(1==c.length&&a){var r=b.getCellGeometry(c[0]);null!=r&&(e=r.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var t=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),w=Math.round(b.snap(b.popupMenuHandler.triggerY/f-k));b.cellsMoved(c,t-e.x,w-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete"); -this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){b.setSelectionCells(b.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){b.turnShapes(b.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){b.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){b.selectEdges()}, -null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){b.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){b.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!b.isSelectionEmpty()){b.getModel().beginUpdate();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE, -a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)}, -null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){b.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){b.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==b.getSelectionCount()?b.setCellStyles("container","1"):b.setSelectionCell(b.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1== -b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot();null!=a&&(a=new EditDataDialog(c,a),c.showDialog(a.container, -340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a= -b.getLinkForCell(b.getSelectionCell());null!=a&&b.openLink(a)});this.addAction("editLink...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d=a.getLinkForCell(b)||"";c.showLinkDialog(d,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(b,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"), -function(a,c){a=mxUtils.trim(a);if(0<a.length){var d=null,e=b.getLinkTitle(a);null!=c&&0<c.length&&(d=c[0].iconUrl,e=c[0].name||c[0].type,e=e.charAt(0).toUpperCase()+e.substring(1),30<e.length&&(e=e.substring(0,30)+"..."));var f=b.getFreeInsertPoint(),d=new mxCell(e,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;b.setLinkForCell(d,a);b.cellSizeUpdated(d, -!0);b.getModel().beginUpdate();try{d=b.addCell(d),b.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{b.getModel().endUpdate()}b.setSelectionCell(d);b.scrollCellToVisible(b.getSelectionCell())}})}).isEnabled=f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"), -k=0;k<f.length&&null==d;k++)f[k].textContent==b.textContent&&(a.selectNode(f[k]),d=f[k]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"");var q=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(q);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate(); -try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&null!=f&&b.isWrapping(d)?(f=f.clone(),f.height=e.text.boundingBox.height/b.view.scale,b.getModel().setGeometry(d,f)):b.updateCellSize(d)}}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=b.getView().getState(b.getSelectionCell()); -if(null!=a){var d="1";b.stopEditing();b.getModel().beginUpdate();try{if("1"==a.style.html){var d=null,e=b.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"<br/>")),b.cellLabelChanged(a.cell, -b.sanitizeHtml(e));b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell()); +a;d++)a=a&&b.model.isEdge(c[d]);var e=b.view.translate,f=b.view.scale,g=e.x,h=e.y,e=null;if(1==c.length&&a){var t=b.getCellGeometry(c[0]);null!=t&&(e=t.getTerminalPoint(!0))}e=null!=e?e:b.getBoundingBoxFromGeometry(c,a);if(null!=e){var r=Math.round(b.snap(b.popupMenuHandler.triggerX/f-g)),v=Math.round(b.snap(b.popupMenuHandler.triggerY/f-h));b.cellsMoved(c,r-e.x,v-e.y)}}}finally{b.getModel().endUpdate()}}});this.addAction("copySize",function(a){a=b.getSelectionCell();b.isEnabled()&&null!=a&&b.getModel().isVertex(a)&& +(a=b.getCellGeometry(a),null!=a&&(c.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shit+X");this.addAction("pasteSize",function(a){if(b.isEnabled()&&!b.isSelectionEmpty()&&null!=c.copiedSize){b.getModel().beginUpdate();try{var d=b.getSelectionCells();for(a=0;a<d.length;a++)if(b.getModel().isVertex(d[a])){var e=b.getCellGeometry(d[a]);null!=e&&(e=e.clone(),e.width=c.copiedSize.width,e.height=c.copiedSize.height,b.getModel().setGeometry(d[a],e))}}finally{b.getModel().endUpdate()}}}, +null,null,"Alt+Shit+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){b.setSelectionCells(b.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){b.turnShapes(b.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices", +function(){b.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){b.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){b.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){b.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!b.isSelectionEmpty()){b.getModel().beginUpdate();try{var a=b.isCellMovable(b.getSelectionCell())?1:0;b.toggleCellStyles(mxConstants.STYLE_MOVABLE, +a);b.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);b.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);b.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);b.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);b.toggleCellStyles("connectable",a)}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){b.home()},null,null,"Home");this.addAction("exitGroup",function(){b.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){b.enterGroup()}, +null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){b.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){b.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){b.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){b.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==b.getSelectionCount()?b.setCellStyles("container","1"):b.setSelectionCell(b.groupCells(null, +0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==b.getSelectionCount()&&0==b.getModel().getChildCount(b.getSelectionCell())?b.setCellStyles("container","0"):b.setSelectionCells(b.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){b.removeCellsFromParent()});this.addAction("edit",function(){b.isEnabled()&&b.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=b.getSelectionCell()||b.getModel().getRoot(); +c.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d="";if(mxUtils.isNode(b.value)){var e=b.value.getAttribute("tooltip");null!=e&&(d=e)}d=new TextareaDialog(c,mxResources.get("editTooltip")+":",d,function(c){a.setTooltipForCell(b,c)});c.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=b.getLinkForCell(b.getSelectionCell()); +null!=a&&b.openLink(a)});this.addAction("editLink...",function(){var a=c.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var b=a.getSelectionCell(),d=a.getLinkForCell(b)||"";c.showLinkDialog(d,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(b,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&c.showLinkDialog("",mxResources.get("insert"),function(a,c){a=mxUtils.trim(a);if(0<a.length){var d= +null,e=b.getLinkTitle(a);null!=c&&0<c.length&&(d=c[0].iconUrl,e=c[0].name||c[0].type,e=e.charAt(0).toUpperCase()+e.substring(1),30<e.length&&(e=e.substring(0,30)+"..."));var f=b.getFreeInsertPoint(),d=new mxCell(e,new mxGeometry(f.x,f.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;b.setLinkForCell(d,a);b.cellSizeUpdated(d,!0);b.getModel().beginUpdate();try{d=b.addCell(d), +b.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{b.getModel().endUpdate()}b.setSelectionCell(d);b.scrollCellToVisible(b.getSelectionCell())}})}).isEnabled=f;this.addAction("link...",mxUtils.bind(this,function(){var a=c.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var b=a.getSelectedElement(),d=a.getParentByName(b,"A",a.cellEditor.textarea),e="";if(null==d&&null!=b&&null!=b.getElementsByTagName)for(var f=b.getElementsByTagName("a"),h=0;h<f.length&&null==d;h++)f[h].textContent== +b.textContent&&(a.selectNode(f[h]),d=f[h]);null!=d&&"A"==d.nodeName&&(e=d.getAttribute("href")||"");var q=a.cellEditor.saveSelection();c.showLinkDialog(e,mxResources.get("apply"),mxUtils.bind(this,function(b){a.cellEditor.restoreSelection(q);null!=b&&a.insertLink(b)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=f;this.addAction("autosize",function(){var a=b.getSelectionCells();if(null!=a){b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d= +a[c];if(b.getModel().getChildCount(d))b.updateGroupBounds([d],20);else{var e=b.view.getState(d),f=b.getCellGeometry(d);b.getModel().isVertex(d)&&null!=e&&null!=e.text&&null!=f&&b.isWrapping(d)?(f=f.clone(),f.height=e.text.boundingBox.height/b.view.scale,b.getModel().setGeometry(d,f)):b.updateCellSize(d)}}}finally{b.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=b.getView().getState(b.getSelectionCell());if(null!=a){var d="1";b.stopEditing(); +b.getModel().beginUpdate();try{if("1"==a.style.html){var d=null,e=b.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=e;e=mxUtils.extractTextWithWhitespace(f.childNodes);b.cellLabelChanged(a.cell,e)}else e=mxUtils.htmlEntities(b.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(e=e.replace(/\n/g,"<br/>")),b.cellLabelChanged(a.cell,b.sanitizeHtml(e)); +b.setCellStyles("html",d);c.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=d?d:"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=b.getView().getState(b.getSelectionCell()),c="wrap";b.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(c=null);b.setCellStyles(mxConstants.STYLE_WHITE_SPACE,c)});this.addAction("rotation",function(){var a="0",d=b.getView().getState(b.getSelectionCell()); null!=d&&(a=d.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(c,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&b.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");c.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){b.zoomTo(1);c.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){b.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); this.addAction("zoomOut",function(a){b.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){b.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/a.width/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop= a.y*b.view.scale-1,b.container.scrollLeft=Math.min(a.x*b.view.scale,(b.container.scrollWidth-b.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){b.pageVisible||this.get("pageView").funct();var a=b.pageFormat,c=b.pageScale;b.zoomTo(Math.floor(20*Math.min((b.container.clientWidth-10)/(2*a.width)/c,(b.container.clientHeight-10)/a.height/c))/20);mxUtils.hasScrollbars(b.container)&&(a=b.getPagePadding(),b.container.scrollTop=Math.min(a.y, @@ -3008,7 +3011,7 @@ e=this.addAction("guides",function(){b.graphHandler.guidesEnabled=!b.graphHandle new ChangePageSetup(c);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!b.foldingEnabled;b.model.execute(a)});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.foldingEnabled});e.isEnabled=f;e=this.addAction("scrollbars",function(){c.setScrollbars(!c.hasScrollbars())});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.scrollbars});e=this.addAction("pageView",mxUtils.bind(this,function(){c.setPageVisible(!b.pageVisible)}));e.setToggleAction(!0);e.setSelectedCallback(function(){return b.pageVisible}); e=this.addAction("connectionArrows",function(){b.connectionArrowsEnabled=!b.connectionArrowsEnabled;c.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionArrowsEnabled});e=this.addAction("connectionPoints",function(){b.setConnectable(!b.connectionHandler.isEnabled());c.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionHandler.isEnabled()}); e=this.addAction("copyConnect",function(){b.connectionHandler.setCreateTarget(!b.connectionHandler.isCreateTarget());c.fireEvent(new mxEventObject("copyConnectChanged"))});e.setToggleAction(!0);e.setSelectedCallback(function(){return b.connectionHandler.isCreateTarget()});e.isEnabled=f;e=this.addAction("autosave",function(){c.editor.setAutosave(!c.editor.autosave)});e.setToggleAction(!0);e.setSelectedCallback(function(){return c.editor.autosave});e.isEnabled=f;e.visible=!1;this.addAction("help",function(){var a= -"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);b.openLink(RESOURCES_PATH+"/help"+a+".html")});var k=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){k||(c.showDialog((new AboutDialog(c)).container,320,280,!0,!0,function(){k=!1}),k=!0)},null,null,"F1"));e=mxUtils.bind(this,function(a,c,d,e){return this.addAction(a,function(){if(null!=d&&b.cellEditor.isContentEditing())d();else{b.stopEditing(!1);b.getModel().beginUpdate();try{b.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, +"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);b.openLink(RESOURCES_PATH+"/help"+a+".html")});var h=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){h||(c.showDialog((new AboutDialog(c)).container,320,280,!0,!0,function(){h=!1}),h=!0)},null,null,"F1"));e=mxUtils.bind(this,function(a,c,d,e){return this.addAction(a,function(){if(null!=d&&b.cellEditor.isContentEditing())d();else{b.stopEditing(!1);b.getModel().beginUpdate();try{b.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, c),(c&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?b.updateLabelElements(b.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&b.replaceElement(a)}):(c&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?b.updateLabelElements(b.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&b.replaceElement(a)}):(c&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&b.updateLabelElements(b.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& b.replaceElement(a)})}finally{b.getModel().endUpdate()}}},null,null,e)});e("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");e("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");e("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){c.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); this.addAction("strokeColor...",function(){c.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){c.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){c.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});this.addAction("backgroundColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){c.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)}); @@ -3019,8 +3022,8 @@ this.addAction("rounded",function(){b.getModel().beginUpdate();try{b.setCellStyl e=null!=d?d.style:b.getCellStyle(a[0]),f="1"==mxUtils.getValue(e,mxConstants.STYLE_ROUNDED,"0")?"0":"1";b.setCellStyles(mxConstants.STYLE_ROUNDED,f);b.setCellStyles(mxConstants.STYLE_CURVED,null);c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}}});this.addAction("curved",function(){b.getModel().beginUpdate();try{b.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),b.setCellStyles(mxConstants.STYLE_CURVED, "1"),c.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=b.view.getState(b.getSelectionCell()),d="1";null!=a&&null!=b.getFoldingImage(a)&&(d="0");b.setCellStyles("collapsible",d);c.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[d],"cells",b.getSelectionCells()))});this.addAction("editStyle...", mxUtils.bind(this,function(){var a=b.getSelectionCells();if(null!=a&&0<a.length){var c=b.getModel(),c=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",c.getStyle(a[0])||"",function(c){null!=c&&b.setCellStyle(mxUtils.trim(c),a)},null,null,400,220);this.editorUi.showDialog(c.container,420,300,!0,!0);c.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){b.isEnabled()&&!b.isSelectionEmpty()&&c.setDefaultStyle(b.getSelectionCell())},null,null,Editor.ctrlKey+ -"+Shift+D");this.addAction("clearDefaultStyle",function(){b.isEnabled()&&c.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=b.getSelectionCell();if(null!=a&&b.getModel().isEdge(a)){var c=d.graph.selectionCellsHandler.getHandler(a);if(c instanceof mxEdgeHandler){for(var e=b.view.translate,f=b.view.scale,k=e.x,e=e.y,a=b.getModel().getParent(a),p=b.getCellGeometry(a);b.getModel().isVertex(a)&&null!=p;)k+=p.x,e+=p.y,a=b.getModel().getParent(a),p= -b.getCellGeometry(a);k=Math.round(b.snap(b.popupMenuHandler.triggerX/f-k));f=Math.round(b.snap(b.popupMenuHandler.triggerY/f-e));c.addPointAt(c.state,k,f)}}});this.addAction("removeWaypoint",function(){var a=c.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=b.getSelectionCells();if(null!=a){a=b.addAllEdges(a);b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().isEdge(d)){var e= +"+Shift+D");this.addAction("clearDefaultStyle",function(){b.isEnabled()&&c.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=b.getSelectionCell();if(null!=a&&b.getModel().isEdge(a)){var c=d.graph.selectionCellsHandler.getHandler(a);if(c instanceof mxEdgeHandler){for(var e=b.view.translate,f=b.view.scale,h=e.x,e=e.y,a=b.getModel().getParent(a),p=b.getCellGeometry(a);b.getModel().isVertex(a)&&null!=p;)h+=p.x,e+=p.y,a=b.getModel().getParent(a),p= +b.getCellGeometry(a);h=Math.round(b.snap(b.popupMenuHandler.triggerX/f-h));f=Math.round(b.snap(b.popupMenuHandler.triggerY/f-e));c.addPointAt(c.state,h,f)}}});this.addAction("removeWaypoint",function(){var a=c.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=b.getSelectionCells();if(null!=a){a=b.addAllEdges(a);b.getModel().beginUpdate();try{for(var c=0;c<a.length;c++){var d=a[c];if(b.getModel().isEdge(d)){var e= b.getCellGeometry(d);null!=e&&(e=e.clone(),e.points=null,b.getModel().setGeometry(d,e))}}}finally{b.getModel().endUpdate()}}},null,null,"Alt+Shift+C");e=this.addAction("subscript",mxUtils.bind(this,function(){b.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");e=this.addAction("superscript",mxUtils.bind(this,function(){b.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", function(){if(b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",d=b.getView().getState(b.getSelectionCell()),e="";null!=d&&(e=d.style[mxConstants.STYLE_IMAGE]||e);var f=b.cellEditor.saveSelection();c.showImageDialog(a,e,function(a,c,d){if(b.cellEditor.isContentEditing())b.cellEditor.restoreSelection(f),b.insertImage(a,c,d);else{var e=b.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;b.getModel().beginUpdate(); try{if(0==e.length){var h=b.getFreeInsertPoint(),g=e=[b.insertVertex(b.getDefaultParent(),null,"",h.x,h.y,c,d,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];b.fireEvent(new mxEventObject("cellsInserted","cells",g))}b.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var k=b.view.getState(e[0]),l=null!=k?k.style:b.getCellStyle(e[0]);"image"!=l[mxConstants.STYLE_SHAPE]&&"label"!=l[mxConstants.STYLE_SHAPE]?b.setCellStyles(mxConstants.STYLE_SHAPE,"image", @@ -3036,7 +3039,7 @@ Menus.prototype.init=function(){var a=this.editorUi.editor.graph,c=mxUtils.bind( this.put("formatBlock",new Menu(mxUtils.bind(this,function(c,b){function d(d,f){return c.addItem(d,null,mxUtils.bind(this,function(){a.cellEditor.textarea.focus();document.execCommand("formatBlock",!1,"<"+f+">")}),b)}d(mxResources.get("normal"),"p");d("","h1").firstChild.nextSibling.innerHTML='<h1 style="margin:0px;">'+mxResources.get("heading")+" 1</h1>";d("","h2").firstChild.nextSibling.innerHTML='<h2 style="margin:0px;">'+mxResources.get("heading")+" 2</h2>";d("","h3").firstChild.nextSibling.innerHTML= '<h3 style="margin:0px;">'+mxResources.get("heading")+" 3</h3>";d("","h4").firstChild.nextSibling.innerHTML='<h4 style="margin:0px;">'+mxResources.get("heading")+" 4</h4>";d("","h5").firstChild.nextSibling.innerHTML='<h5 style="margin:0px;">'+mxResources.get("heading")+" 5</h5>";d("","h6").firstChild.nextSibling.innerHTML='<h6 style="margin:0px;">'+mxResources.get("heading")+" 6</h6>";d("","pre").firstChild.nextSibling.innerHTML='<pre style="margin:0px;">'+mxResources.get("formatted")+"</pre>";d("", "blockquote").firstChild.nextSibling.innerHTML='<blockquote style="margin-top:0px;margin-bottom:0px;">'+mxResources.get("blockquote")+"</blockquote>"})));this.put("fontSize",new Menu(mxUtils.bind(this,function(c,b){for(var d=[6,8,9,10,11,12,14,18,24,36,48,72],e=mxUtils.bind(this,function(d){this.styleChange(c,d,[mxConstants.STYLE_FONTSIZE],[d],null,b,function(){document.execCommand("fontSize",!1,"3");for(var b=a.cellEditor.textarea.getElementsByTagName("font"),c=0;c<b.length;c++)if("3"==b[c].getAttribute("size")){b[c].removeAttribute("size"); -b[c].style.fontSize=d+"px";break}})}),k=0;k<d.length;k++)e(d[k]);c.addSeparator(b);if(0<this.customFontSizes.length){for(k=0;k<this.customFontSizes.length;k++)e(this.customFontSizes[k]);c.addSeparator(b);c.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFontSizes=[]}),b);c.addSeparator(b)}this.promptChange(c,mxResources.get("custom")+"...","(pt)","12",mxConstants.STYLE_FONTSIZE,b,!0,mxUtils.bind(this,function(a){this.customFontSizes.push(a)}))})));this.put("direction", +b[c].style.fontSize=d+"px";break}})}),h=0;h<d.length;h++)e(d[h]);c.addSeparator(b);if(0<this.customFontSizes.length){for(h=0;h<this.customFontSizes.length;h++)e(this.customFontSizes[h]);c.addSeparator(b);c.addItem(mxResources.get("reset"),null,mxUtils.bind(this,function(){this.customFontSizes=[]}),b);c.addSeparator(b)}this.promptChange(c,mxResources.get("custom")+"...","(pt)","12",mxConstants.STYLE_FONTSIZE,b,!0,mxUtils.bind(this,function(a){this.customFontSizes.push(a)}))})));this.put("direction", new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("flipH"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPH,!1)},b);c.addItem(mxResources.get("flipV"),null,function(){a.toggleCellStyles(mxConstants.STYLE_FLIPV,!1)},b);this.addMenuItems(c,["-","rotation"],b)})));this.put("align",new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("leftAlign"),null,function(){a.alignCells(mxConstants.ALIGN_LEFT)},b);c.addItem(mxResources.get("center"),null,function(){a.alignCells(mxConstants.ALIGN_CENTER)}, b);c.addItem(mxResources.get("rightAlign"),null,function(){a.alignCells(mxConstants.ALIGN_RIGHT)},b);c.addSeparator(b);c.addItem(mxResources.get("topAlign"),null,function(){a.alignCells(mxConstants.ALIGN_TOP)},b);c.addItem(mxResources.get("middle"),null,function(){a.alignCells(mxConstants.ALIGN_MIDDLE)},b);c.addItem(mxResources.get("bottomAlign"),null,function(){a.alignCells(mxConstants.ALIGN_BOTTOM)},b)})));this.put("distribute",new Menu(mxUtils.bind(this,function(c,b){c.addItem(mxResources.get("horizontal"), null,function(){a.distributeCells(!0)},b);c.addItem(mxResources.get("vertical"),null,function(){a.distributeCells(!1)},b)})));this.put("layout",new Menu(mxUtils.bind(this,function(c,b){var d=mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});c.addItem(mxResources.get("horizontalFlow"),null,mxUtils.bind(this,function(){var b=new mxHierarchicalLayout(a, @@ -3051,24 +3054,24 @@ b)})));this.put("view",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItem function(c,b){this.addMenuItems(c,["resetView","-"],b);for(var d=[.25,.5,.75,1,1.25,1.5,2,3,4],e=0;e<d.length;e++)(function(d){c.addItem(100*d+"%",null,function(){a.zoomTo(d)},b)})(d[e]);this.addMenuItems(c,"- fitWindow fitPageWidth fitPage fitTwoPages - customZoom".split(" "),b)})));this.put("file",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"new open - save saveAs - import export - pageSetup print".split(" "),b)})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a, "undo redo - cut copy paste delete - duplicate - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("extras",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["copyConnect","collapseExpand","-","editDiagram"])})));this.put("help",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["help","-","about"])})))};Menus.prototype.put=function(a,c){return this.menus[a]=c}; Menus.prototype.get=function(a){return this.menus[a]};Menus.prototype.addSubmenu=function(a,c,d,b){var f=this.get(a);null!=f&&(f=f.isEnabled(),c.showDisabled||f)&&(d=c.addItem(b||mxResources.get(a),null,null,d,null,f),this.addMenu(a,c,d))};Menus.prototype.addMenu=function(a,c,d){var b=this.get(a);null!=b&&(c.showDisabled||b.isEnabled())&&this.get(a).execute(c,d)}; -Menus.prototype.addInsertTableItem=function(a){function c(a,b){for(var c=["<table>"],d=0;d<a;d++){c.push("<tr>");for(var e=0;e<b;e++)c.push("<td><br></td>");c.push("</tr>")}c.push("</table>");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var k=0;k<f.length;k++)a.push(f[k]);d.container.focus(); -d.pasteHtmlAtCaret(c(e.sectionRowIndex+1,b.cellIndex+1));b=d.cellEditor.textarea.getElementsByTagName("table");if(b.length==a.length+1)for(k=b.length-1;0<=k;k--)if(0==k||b[k]!=a[k-1]){d.selectNode(b[k].rows[0].cells[0]);break}}}));var b='<img src="'+mxClient.imageBasePath+'/transparent.gif" width="16" height="16"/>';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", -"8");for(var e=0;e<a;e++)for(var f=d.insertRow(e),g=0;g<c;g++){var k=f.insertCell(-1);mxClient.IS_QUIRKS&&(k.innerHTML=b)}return d}(5,5);a.firstChild.appendChild(f);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(f,"mouseover",function(a){var c=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var h=d.getParentByName(c,"TR"),k=Math.min(20,h.sectionRowIndex+2), -m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<k;n++)for(var p=f.insertRow(n),q=0;q<f.rows[0].cells.length;q++){var r=p.insertCell(-1);mxClient.IS_QUIRKS&&(r.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],q=p.cells.length;q<m;q++)r=p.insertCell(-1),mxClient.IS_QUIRKS&&(r.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(k=0;k<f.rows.length;k++)for(m=f.rows[k],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=k<=h.sectionRowIndex&&n<=c.cellIndex?"blue":"white"; +Menus.prototype.addInsertTableItem=function(a){function c(a,b){for(var c=["<table>"],d=0;d<a;d++){c.push("<tr>");for(var e=0;e<b;e++)c.push("<td><br></td>");c.push("</tr>")}c.push("</table>");return c.join("")}var d=this.editorUi.editor.graph;a=a.addItem("",null,mxUtils.bind(this,function(a){var b=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=b){var e=d.getParentByName(b,"TR"),f=d.cellEditor.textarea.getElementsByTagName("table");a=[];for(var h=0;h<f.length;h++)a.push(f[h]);d.container.focus(); +d.pasteHtmlAtCaret(c(e.sectionRowIndex+1,b.cellIndex+1));b=d.cellEditor.textarea.getElementsByTagName("table");if(b.length==a.length+1)for(h=b.length-1;0<=h;h--)if(0==h||b[h]!=a[h-1]){d.selectNode(b[h].rows[0].cells[0]);break}}}));var b='<img src="'+mxClient.imageBasePath+'/transparent.gif" width="16" height="16"/>';a.firstChild.innerHTML="";var f=function(a,c){var d=document.createElement("table");d.setAttribute("border","1");d.style.borderCollapse="collapse";mxClient.IS_QUIRKS||d.setAttribute("cellPadding", +"8");for(var e=0;e<a;e++)for(var f=d.insertRow(e),g=0;g<c;g++){var h=f.insertCell(-1);mxClient.IS_QUIRKS&&(h.innerHTML=b)}return d}(5,5);a.firstChild.appendChild(f);var e=document.createElement("div");e.style.padding="4px";e.style.fontSize=Menus.prototype.defaultFontSize+"px";e.innerHTML="1x1";a.firstChild.appendChild(e);mxEvent.addListener(f,"mouseover",function(a){var c=d.getParentByName(mxEvent.getSource(a),"TD");if(null!=c){for(var h=d.getParentByName(c,"TR"),l=Math.min(20,h.sectionRowIndex+2), +m=Math.min(20,c.cellIndex+2),n=f.rows.length;n<l;n++)for(var p=f.insertRow(n),q=0;q<f.rows[0].cells.length;q++){var t=p.insertCell(-1);mxClient.IS_QUIRKS&&(t.innerHTML=b)}for(n=0;n<f.rows.length;n++)for(p=f.rows[n],q=p.cells.length;q<m;q++)t=p.insertCell(-1),mxClient.IS_QUIRKS&&(t.innerHTML=b);e.innerHTML=c.cellIndex+1+"x"+(h.sectionRowIndex+1);for(l=0;l<f.rows.length;l++)for(m=f.rows[l],n=0;n<m.cells.length;n++)m.cells[n].style.backgroundColor=l<=h.sectionRowIndex&&n<=c.cellIndex?"blue":"white"; mxEvent.consume(a)}})}; -Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,k){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(k){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var q=0;q<d.length;q++)a.setCellStyles(d[q],b[q],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys", -d,"values",b,"cells",e))}finally{a.getModel().endUpdate()}}),e,f)};Menus.prototype.styleChange=function(a,c,d,b,f,e,k,g){var h=this.createStyleChangeFunction(d,b);return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;null!=k&&a.cellEditor.isContentEditing()?k():h(g)}),e,f)}; +Menus.prototype.edgeStyleChange=function(a,c,d,b,f,e,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;a.stopEditing(!1);a.getModel().beginUpdate();try{for(var c=a.getSelectionCells(),e=[],f=0;f<c.length;f++){var n=c[f];if(a.getModel().isEdge(n)){if(h){var p=a.getCellGeometry(n);null!=p&&(p=p.clone(),p.points=null,a.getModel().setGeometry(n,p))}for(var q=0;q<d.length;q++)a.setCellStyles(d[q],b[q],[n]);e.push(n)}}this.editorUi.fireEvent(new mxEventObject("styleChanged","keys", +d,"values",b,"cells",e))}finally{a.getModel().endUpdate()}}),e,f)};Menus.prototype.styleChange=function(a,c,d,b,f,e,h,g){var k=this.createStyleChangeFunction(d,b);return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph;null!=h&&a.cellEditor.isContentEditing()?h():k(g)}),e,f)}; Menus.prototype.createStyleChangeFunction=function(a,c){return mxUtils.bind(this,function(d){var b=this.editorUi.editor.graph;b.stopEditing(!1);b.getModel().beginUpdate();try{for(var f=0;f<a.length;f++)b.setCellStyles(a[f],c[f]);null!=d&&d();this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",a,"values",c,"cells",b.getSelectionCells()))}finally{b.getModel().endUpdate()}})}; -Menus.prototype.promptChange=function(a,c,d,b,f,e,k,g,h){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,c=b,e=a.getView().getState(a.getSelectionCell());null!=e&&(c=e.style[f]||c);c=new FilenameDialog(this.editorUi,c,mxResources.get("apply"),mxUtils.bind(this,function(b){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1),a.setCellStyles(f,b)}finally{a.getModel().endUpdate()}null!=g&&g(b)}}),mxResources.get("enterValue")+(0<d.length?" "+ -d:""));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}),e,h,k)}; +Menus.prototype.promptChange=function(a,c,d,b,f,e,h,g,k){return a.addItem(c,null,mxUtils.bind(this,function(){var a=this.editorUi.editor.graph,c=b,e=a.getView().getState(a.getSelectionCell());null!=e&&(c=e.style[f]||c);c=new FilenameDialog(this.editorUi,c,mxResources.get("apply"),mxUtils.bind(this,function(b){if(null!=b&&0<b.length){a.getModel().beginUpdate();try{a.stopEditing(!1),a.setCellStyles(f,b)}finally{a.getModel().endUpdate()}null!=g&&g(b)}}),mxResources.get("enterValue")+(0<d.length?" "+ +d:""));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()}),e,k,h)}; Menus.prototype.pickColor=function(a,c,d){var b=this.editorUi.editor.graph;if(null!=c&&b.cellEditor.isContentEditing()){var f=b.cellEditor.saveSelection();a=new ColorDialog(this.editorUi,d||"000000",mxUtils.bind(this,function(a){b.cellEditor.restoreSelection(f);document.execCommand(c,!1,a!=mxConstants.NONE?a:"transparent")}),function(){b.cellEditor.restoreSelection(f)});this.editorUi.showDialog(a.container,230,430,!0,!0);a.init()}else{null==this.colorDialog&&(this.colorDialog=new ColorDialog(this.editorUi)); this.colorDialog.currentColorKey=a;d=b.getView().getState(b.getSelectionCell());var e="none";null!=d&&(e=d.style[a]||e);"none"==e?(e="ffffff",this.colorDialog.picker.fromString("ffffff"),this.colorDialog.colorInput.value="none"):this.colorDialog.picker.fromString(e);this.editorUi.showDialog(this.colorDialog.container,230,430,!0,!0);this.colorDialog.init()}}; Menus.prototype.toggleStyle=function(a,c){var d=this.editorUi.editor.graph,b=d.toggleCellStyles(a,c);this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[a],"values",[b],"cells",d.getSelectionCells()))}; -Menus.prototype.addMenuItem=function(a,c,d,b,f,e){var k=this.editorUi.actions.get(c);return null!=k&&(a.showDisabled||k.isEnabled())&&k.visible?(c=a.addItem(e||k.label,null,function(){k.funct(b)},d,f,k.isEnabled()),k.toggleAction&&k.isSelected()&&a.addCheckmark(c,Editor.checkmarkImage),this.addShortcut(c,k),c):null}; +Menus.prototype.addMenuItem=function(a,c,d,b,f,e){var h=this.editorUi.actions.get(c);return null!=h&&(a.showDisabled||h.isEnabled())&&h.visible?(c=a.addItem(e||h.label,null,function(){h.funct(b)},d,f,h.isEnabled()),h.toggleAction&&h.isSelected()&&a.addCheckmark(c,Editor.checkmarkImage),this.addShortcut(c,h),c):null}; Menus.prototype.addShortcut=function(a,c){if(null!=c.shortcut){var d=a.firstChild.nextSibling.nextSibling,b=document.createElement("span");b.style.color="gray";mxUtils.write(b,c.shortcut);d.appendChild(b)}};Menus.prototype.addMenuItems=function(a,c,d,b,f){for(var e=0;e<c.length;e++)"-"==c[e]?a.addSeparator(d):this.addMenuItem(a,c[e],d,b,null!=f?f[e]:null)}; Menus.prototype.createPopupMenu=function(a,c,d){var b=this.editorUi.editor.graph;a.smartSeparators=!0;b.isSelectionEmpty()?this.addMenuItems(a,["undo","redo","pasteHere"],null,d):this.addMenuItems(a,"delete - cut copy - duplicate".split(" "),null,d);if(b.isSelectionEmpty())this.addMenuItems(a,"- selectVertices selectEdges selectAll - clearDefaultStyle".split(" "),null,d);else{1==b.getSelectionCount()&&this.addMenuItems(a,["setAsDefaultStyle"],null,d);a.addSeparator();c=b.getSelectionCell();var f= -b.view.getState(c);if(null!=f){var e=!1;this.addMenuItems(a,["toFront","toBack","-"],null,d);if(b.getModel().isEdge(c)&&"entityRelationEdgeStyle"!=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null)&&"arrow"!=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null)){var e=b.selectionCellsHandler.getHandler(c),k=!1;if(e instanceof mxEdgeHandler&&null!=e.bends&&2<e.bends.length){var k=e.getHandleForEvent(b.updateMouseEvent(new mxMouseEvent(d))),g=this.editorUi.actions.get("removeWaypoint");g.handler= -e;g.index=k;k=0<k&&k<e.bends.length-1}a.addSeparator();this.addMenuItem(a,"turn",null,d,null,mxResources.get("reverse"));this.addMenuItems(a,[k?"removeWaypoint":"addWaypoint"],null,d);e=b.getModel().getGeometry(c);e=null!=e&&null!=e.points&&0<e.points.length}1==b.getSelectionCount()&&(e||b.getModel().isVertex(c)&&0<b.getModel().getEdgeCount(c))&&this.addMenuItems(a,["clearWaypoints"],null,d);1<b.getSelectionCount()?(a.addSeparator(),this.addMenuItems(a,["group"],null,d)):1==b.getSelectionCount()&& +b.view.getState(c);if(null!=f){var e=!1;this.addMenuItems(a,["toFront","toBack","-"],null,d);if(b.getModel().isEdge(c)&&"entityRelationEdgeStyle"!=mxUtils.getValue(f.style,mxConstants.STYLE_EDGE,null)&&"arrow"!=mxUtils.getValue(f.style,mxConstants.STYLE_SHAPE,null)){var e=b.selectionCellsHandler.getHandler(c),h=!1;if(e instanceof mxEdgeHandler&&null!=e.bends&&2<e.bends.length){var h=e.getHandleForEvent(b.updateMouseEvent(new mxMouseEvent(d))),g=this.editorUi.actions.get("removeWaypoint");g.handler= +e;g.index=h;h=0<h&&h<e.bends.length-1}a.addSeparator();this.addMenuItem(a,"turn",null,d,null,mxResources.get("reverse"));this.addMenuItems(a,[h?"removeWaypoint":"addWaypoint"],null,d);e=b.getModel().getGeometry(c);e=null!=e&&null!=e.points&&0<e.points.length}1==b.getSelectionCount()&&(e||b.getModel().isVertex(c)&&0<b.getModel().getEdgeCount(c))&&this.addMenuItems(a,["clearWaypoints"],null,d);1<b.getSelectionCount()?(a.addSeparator(),this.addMenuItems(a,["group"],null,d)):1==b.getSelectionCount()&& !b.getModel().isEdge(c)&&!b.isSwimlane(c)&&0<b.getModel().getChildCount(c)&&(a.addSeparator(),this.addMenuItems(a,["ungroup"],null,d));1==b.getSelectionCount()&&(a.addSeparator(),this.addMenuItems(a,["editData","editLink"],null,d),b.getModel().isVertex(c)&&null!=mxUtils.getValue(f.style,mxConstants.STYLE_IMAGE,null)&&(a.addSeparator(),this.addMenuItem(a,"image",null,d).firstChild.nextSibling.innerHTML=mxResources.get("editImage")+"..."))}}}; Menus.prototype.createMenubar=function(a){for(var c=new Menubar(this.editorUi,a),d=this.defaultMenuItems,b=0;b<d.length;b++)mxUtils.bind(this,function(a){var e=c.addMenu(mxResources.get(d[b]),mxUtils.bind(this,function(){a.funct.apply(this,arguments)}));this.menuCreated(a,e)})(this.get(d[b]));return c}; Menus.prototype.menuCreated=function(a,c,d){null!=c&&(d=null!=d?d:"geItem",a.addListener("stateChanged",function(){(c.enabled=a.enabled)?(c.className=d,8==document.documentMode&&(c.style.color="")):(c.className=d+" mxDisabled",8==document.documentMode&&(c.style.color="#c3c3c3"))}))};function Menubar(a,c){this.editorUi=a;this.container=c}Menubar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()}; @@ -3089,7 +3092,7 @@ null,!0).setAttribute("title",mxResources.get("simple"));this.editorUi.menus.edg null,null,null],"geIcon geSprite geSprite-horizontalisometric",null,!0).setAttribute("title",mxResources.get("isometric"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_ELBOW,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["isometricEdgeStyle","vertical",null,null],"geIcon geSprite geSprite-verticalisometric",null,!0).setAttribute("title",mxResources.get("isometric"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED, mxConstants.STYLE_NOEDGESTYLE],["orthogonalEdgeStyle","1",null],"geIcon geSprite geSprite-curved",null,!0).setAttribute("title",mxResources.get("curved"));this.editorUi.menus.edgeStyleChange(a,"",[mxConstants.STYLE_EDGE,mxConstants.STYLE_CURVED,mxConstants.STYLE_NOEDGESTYLE],["entityRelationEdgeStyle",null,null],"geIcon geSprite geSprite-entity",null,!0).setAttribute("title",mxResources.get("entityRelation"))})),this.addDropDownArrow(this.edgeStyleMenu,"geSprite-orthogonal",44,50,0,0,22,-4));this.addSeparator(); a=this.addMenu("",mxResources.get("insert")+" ("+mxResources.get("doubleClickTooltip")+")",!0,"insert",null,!0);this.addDropDownArrow(a,"geSprite-plus",38,48,-4,-3,36,-8)}; -Toolbar.prototype.addDropDownArrow=function(a,c,d,b,f,e,k,g){f=EditorUi.compactUi?f:g;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='<div class="geSprite '+c+'" style="margin-left:'+f+"px;margin-top:"+e+'px;"></div>'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=k?k:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= +Toolbar.prototype.addDropDownArrow=function(a,c,d,b,f,e,h,g){f=EditorUi.compactUi?f:g;a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.position="relative";a.innerHTML='<div class="geSprite '+c+'" style="margin-left:'+f+"px;margin-top:"+e+'px;"></div>'+this.dropdownImageHtml;a.style.width=mxClient.IS_QUIRKS?b+"px":b-(null!=h?h:32)+"px";mxClient.IS_QUIRKS&&(a.style.height=EditorUi.compactUi?"24px":"26px");EditorUi.compactUi&&(a.getElementsByTagName("img")[0].style.left="24px",a.getElementsByTagName("img")[0].style.top= "5px",a.style.width=mxClient.IS_QUIRKS?d+"px":d-10+"px")};Toolbar.prototype.setFontName=function(a){null!=this.fontMenu&&(this.fontMenu.innerHTML='<div style="width:60px;overflow:hidden;display:inline-block;">'+mxUtils.htmlEntities(a)+"</div>"+this.dropdownImageHtml)};Toolbar.prototype.setFontSize=function(a){null!=this.sizeMenu&&(this.sizeMenu.innerHTML='<div style="width:24px;overflow:hidden;display:inline-block;">'+a+"</div>"+this.dropdownImageHtml)}; Toolbar.prototype.createTextToolbar=function(){var a=this.editorUi.editor.graph,c=this.addMenu("",mxResources.get("style"),!0,"formatBlock");c.style.position="relative";c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.innerHTML=mxResources.get("style")+this.dropdownImageHtml;EditorUi.compactUi&&(c.style.paddingRight="18px",c.getElementsByTagName("img")[0].style.right="1px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.fontMenu=this.addMenu("",mxResources.get("fontFamily"), !0,"fontFamily");this.fontMenu.style.position="relative";this.fontMenu.style.whiteSpace="nowrap";this.fontMenu.style.overflow="hidden";this.fontMenu.style.width=mxClient.IS_QUIRKS?"80px":"60px";this.setFontName(Menus.prototype.defaultFont);EditorUi.compactUi&&(this.fontMenu.style.paddingRight="18px",this.fontMenu.getElementsByTagName("img")[0].style.right="1px",this.fontMenu.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.sizeMenu=this.addMenu(Menus.prototype.defaultFontSize, @@ -3104,152 +3107,152 @@ mxResources.get("fontColor"));d=a.addItem("",null,this.editorUi.actions.get("bac '<div class="geSprite geSprite-dots" style="margin-left:-2px;"></div>'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="22px",c.getElementsByTagName("img")[0].style.top="5px");this.addSeparator();this.addButton("geIcon geSprite geSprite-code",mxResources.get("html"),function(){a.cellEditor.toggleViewMode();0<a.cellEditor.textarea.innerHTML.length&&(" "!=a.cellEditor.textarea.innerHTML||!a.cellEditor.clearOnChange)&& window.setTimeout(function(){document.execCommand("selectAll",!1,null)})});this.addSeparator();c=this.addMenuFunction("",mxResources.get("insert"),!0,mxUtils.bind(this,function(a){a.addItem(mxResources.get("insertLink"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("link").funct()}));a.addItem(mxResources.get("insertImage"),null,mxUtils.bind(this,function(){this.editorUi.actions.get("image").funct()}));a.addItem(mxResources.get("insertHorizontalRule"),null,mxUtils.bind(this,function(){document.execCommand("inserthorizontalrule", !1,null)}))}));c.style.whiteSpace="nowrap";c.style.overflow="hidden";c.style.position="relative";c.innerHTML='<div class="geSprite geSprite-plus" style="margin-left:-4px;margin-top:-3px;"></div>'+this.dropdownImageHtml;c.style.width=mxClient.IS_QUIRKS?"36px":"16px";EditorUi.compactUi&&(c.getElementsByTagName("img")[0].style.left="24px",c.getElementsByTagName("img")[0].style.top="5px",c.style.width=mxClient.IS_QUIRKS?"50px":"30px");this.addSeparator();var d=this.addMenuFunction("geIcon geSprite geSprite-table", -mxResources.get("table"),!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),k=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==k)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(k,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore"); -c.setAttribute("title",mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(h){mxUtils.alert(mxResources.get("error")+ -": "+h.message)}}),null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,k.sectionRowIndex))}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,k.sectionRowIndex+1))}catch(h){mxUtils.alert(mxResources.get("error")+ -": "+h.message)}}),null,"geIcon geSprite geSprite-insertrowafter");c.setAttribute("title",mxResources.get("insertRowAfter"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(g,k.sectionRowIndex)}catch(h){mxUtils.alert(mxResources.get("error")+": "+h.message)}}),null,"geIcon geSprite geSprite-deleterow");c.setAttribute("title",mxResources.get("deleteRow"));c=b.addItem("",null,mxUtils.bind(this,function(){var a=g.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, +mxResources.get("table"),!1,mxUtils.bind(this,function(b){var c=a.getSelectedElement(),d=a.getParentByName(c,"TD",a.cellEditor.text2),h=a.getParentByName(c,"TR",a.cellEditor.text2);if(null==h)this.editorUi.menus.addInsertTableItem(b);else{var g=a.getParentByName(h,"TABLE",a.cellEditor.text2),c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex:0))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnbefore"); +c.setAttribute("title",mxResources.get("insertColumnBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertColumn(g,null!=d?d.cellIndex+1:-1))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertcolumnafter");c.setAttribute("title",mxResources.get("insertColumnAfter"));c=b.addItem("Delete column",null,mxUtils.bind(this,function(){if(null!=d)try{a.deleteColumn(g,d.cellIndex)}catch(k){mxUtils.alert(mxResources.get("error")+ +": "+k.message)}}),null,"geIcon geSprite geSprite-deletecolumn");c.setAttribute("title",mxResources.get("deleteColumn"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex))}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowbefore");c.setAttribute("title",mxResources.get("insertRowBefore"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.selectNode(a.insertRow(g,h.sectionRowIndex+1))}catch(k){mxUtils.alert(mxResources.get("error")+ +": "+k.message)}}),null,"geIcon geSprite geSprite-insertrowafter");c.setAttribute("title",mxResources.get("insertRowAfter"));c=b.addItem("",null,mxUtils.bind(this,function(){try{a.deleteRow(g,h.sectionRowIndex)}catch(k){mxUtils.alert(mxResources.get("error")+": "+k.message)}}),null,"geIcon geSprite geSprite-deleterow");c.setAttribute("title",mxResources.get("deleteRow"));c=b.addItem("",null,mxUtils.bind(this,function(){var a=g.style.borderColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g, function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){null==a||a==mxConstants.NONE?(g.removeAttribute("border"),g.style.border="",g.style.borderCollapse=""):(g.setAttribute("border","1"),g.style.border="1px solid "+a,g.style.borderCollapse="collapse")})}),null,"geIcon geSprite geSprite-strokecolor");c.setAttribute("title",mxResources.get("borderColor"));c=b.addItem("", null,mxUtils.bind(this,function(){var a=g.style.backgroundColor.replace(/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,function(a,b,c,d){return"#"+("0"+Number(b).toString(16)).substr(-2)+("0"+Number(c).toString(16)).substr(-2)+("0"+Number(d).toString(16)).substr(-2)});this.editorUi.pickColor(a,function(a){g.style.backgroundColor=null==a||a==mxConstants.NONE?"":a})}),null,"geIcon geSprite geSprite-fillcolor");c.setAttribute("title",mxResources.get("backgroundColor"));c=b.addItem("",null,mxUtils.bind(this, function(){var a=g.getAttribute("cellPadding")||0,a=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),mxUtils.bind(this,function(a){null!=a&&0<a.length?g.setAttribute("cellPadding",a):g.removeAttribute("cellPadding")}),mxResources.get("spacing"));this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,"geIcon geSprite geSprite-fit");c.setAttribute("title",mxResources.get("spacing"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","left")}),null,"geIcon geSprite geSprite-left"); c.setAttribute("title",mxResources.get("left"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","center")}),null,"geIcon geSprite geSprite-center");c.setAttribute("title",mxResources.get("center"));c=b.addItem("",null,mxUtils.bind(this,function(){g.setAttribute("align","right")}),null,"geIcon geSprite geSprite-right");c.setAttribute("title",mxResources.get("right"))}}));d.style.position="relative";d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.innerHTML='<div class="geSprite geSprite-table" style="margin-left:-2px;"></div>'+ -this.dropdownImageHtml;d.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(d.getElementsByTagName("img")[0].style.left="22px",d.getElementsByTagName("img")[0].style.top="5px")};Toolbar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Toolbar.prototype.addMenu=function(a,c,d,b,f,e){var k=this.editorUi.menus.get(b),g=this.addMenuFunction(a,c,d,function(){k.funct.apply(k,arguments)},f,e);k.addListener("stateChanged",function(){g.setEnabled(k.enabled)});return g}; +this.dropdownImageHtml;d.style.width=mxClient.IS_QUIRKS?"50px":"30px";EditorUi.compactUi&&(d.getElementsByTagName("img")[0].style.left="22px",d.getElementsByTagName("img")[0].style.top="5px")};Toolbar.prototype.hideMenu=function(){this.editorUi.hideCurrentMenu()};Toolbar.prototype.addMenu=function(a,c,d,b,f,e){var h=this.editorUi.menus.get(b),g=this.addMenuFunction(a,c,d,function(){h.funct.apply(h,arguments)},f,e);h.addListener("stateChanged",function(){g.setEnabled(h.enabled)});return g}; Toolbar.prototype.addMenuFunction=function(a,c,d,b,f,e){return this.addMenuFunctionInContainer(null!=f?f:this.container,a,c,d,b,e)};Toolbar.prototype.addMenuFunctionInContainer=function(a,c,d,b,f,e){c=b?this.createLabel(c):this.createButton(c);this.initElement(c,d);this.addMenuHandler(c,b,f,e);a.appendChild(c);return c};Toolbar.prototype.addSeparator=function(a){a=null!=a?a:this.container;var c=document.createElement("div");c.className="geSeparator";a.appendChild(c);return c}; Toolbar.prototype.addItems=function(a,c,d){for(var b=[],f=0;f<a.length;f++){var e=a[f];"-"==e?b.push(this.addSeparator(c)):b.push(this.addItem("geSprite-"+e.toLowerCase(),e,c,d))}return b};Toolbar.prototype.addItem=function(a,c,d,b){var f=this.editorUi.actions.get(c),e=null;null!=f&&(c=f.label,null!=f.shortcut&&(c+=" ("+f.shortcut+")"),e=this.addButton(a,c,f.funct,d),b||(e.setEnabled(f.enabled),f.addListener("stateChanged",function(){e.setEnabled(f.enabled)})));return e}; Toolbar.prototype.addButton=function(a,c,d,b){a=this.createButton(a);b=null!=b?b:this.container;this.initElement(a,c);this.addClickHandler(a,d);b.appendChild(a);return a};Toolbar.prototype.initElement=function(a,c){null!=c&&a.setAttribute("title",c);this.addEnabledState(a)};Toolbar.prototype.addEnabledState=function(a){var c=a.className;a.setEnabled=function(d){a.enabled=d;a.className=d?c:c+" mxDisabled"};a.setEnabled(!0)}; Toolbar.prototype.addClickHandler=function(a,c){null!=c&&(mxEvent.addListener(a,"click",function(d){a.enabled&&c(d);mxEvent.consume(d)}),null!=document.documentMode&&9<=document.documentMode&&mxEvent.addListener(a,"mousedown",function(a){a.preventDefault()}))};Toolbar.prototype.createButton=function(a){var c=document.createElement("a");c.setAttribute("href","javascript:void(0);");c.className="geButton";var d=document.createElement("div");null!=a&&(d.className="geSprite "+a);c.appendChild(d);return c}; Toolbar.prototype.createLabel=function(a,c){var d=document.createElement("a");d.setAttribute("href","javascript:void(0);");d.className="geLabel";mxUtils.write(d,a);return d}; -Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,k=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(k&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var h=mxUtils.getOffset(a);e.popup(h.x,h.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px"); -e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}k=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){k=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; +Toolbar.prototype.addMenuHandler=function(a,c,d,b){if(null!=d){var f=this.editorUi.editor.graph,e=null,h=!0;mxEvent.addListener(a,"click",mxUtils.bind(this,function(g){if(h&&(null==a.enabled||a.enabled)){f.popupMenuHandler.hideMenu();e=new mxPopupMenu(d);e.div.className+=" geToolbarMenu";e.showDisabled=b;e.labels=c;e.autoExpand=!0;var k=mxUtils.getOffset(a);e.popup(k.x,k.y+a.offsetHeight,null,g);this.editorUi.setCurrentMenu(e,a);!c&&e.div.scrollHeight>e.div.clientHeight&&(e.div.style.width="40px"); +e.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(e,arguments);this.editorUi.resetCurrentMenu();e.destroy()});e.addListener(mxEvent.EVENT_HIDE,mxUtils.bind(this,function(){this.currentElt=null}))}h=!0;mxEvent.consume(g)}));mxEvent.addListener(a,"mousedown",mxUtils.bind(this,function(b){h=this.currentElt!=a;null!=document.documentMode&&9<=document.documentMode&&b.preventDefault()}))}}; Toolbar.prototype.destroy=function(){null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null)};var OpenDialog=function(){var a=document.createElement("iframe");a.style.backgroundColor="transparent";a.allowTransparency="true";a.style.borderStyle="none";a.style.borderWidth="0px";a.style.overflow="hidden";a.frameBorder="0";var c=mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)?20:0;a.setAttribute("width",(Editor.useLocalStorage?640:320)+c+"px");a.setAttribute("height",(Editor.useLocalStorage?480:220)+c+"px");a.setAttribute("src",OPEN_FORM);this.container=a},ColorDialog= -function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var h=document.createElement("tbody");e.appendChild(h);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),q=0;q<b;q++)(function(a){var b= -document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),k.value="none"):g.fromString(a)}))})(a[n*b+q]);h.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")), -a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();e.parentNode.replaceChild(f(),e)}));l.appendChild(e);return e}this.editorUi=a;var k=document.createElement("input");k.style.marginBottom="10px"; -k.style.width="216px";mxClient.IS_IE&&(k.style.marginTop="10px",document.body.appendChild(k));this.init=function(){mxClient.IS_TOUCH||k.focus()};var g=new jscolor.color(k);g.pickerOnfocus=!1;g.showPicker();var h=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";h.appendChild(jscolor.picker.box);var l=document.createElement("center");h.appendChild(k); -mxUtils.br(h);f();var m=e(this.presetColors);m.style.marginBottom="8px";m=e(this.defaultColors);m.style.marginBottom="16px";h.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=d?d:this.createApplyFunction();d=mxUtils.button(mxResources.get("apply"),function(){var b=k.value;ColorDialog.addRecentColor(b, -12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});d.className="geBtn gePrimaryBtn";m.appendChild(d);a.editor.cancelFirst||m.appendChild(n);null!=c&&("none"==c?(g.fromString("ffffff"),k.value="none"):g.fromString(c));h.appendChild(m);this.picker=g;this.colorInput=k;mxEvent.addListener(h,"keydown",function(c){27==c.keyCode&&(a.hideDialog(),null!=b&&b(),mxEvent.consume(c))});this.container=h};ColorDialog.prototype.presetColors="E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "); +function(a,c,d,b){function f(){var a=e(0==ColorDialog.recentColors.length?["FFFFFF"]:ColorDialog.recentColors,11,"FFFFFF",!0);a.style.marginBottom="8px";return a}function e(a,b,c,d){b=null!=b?b:12;var e=document.createElement("table");e.style.borderCollapse="collapse";e.setAttribute("cellspacing","0");e.style.marginBottom="20px";e.style.cellSpacing="0px";var k=document.createElement("tbody");e.appendChild(k);for(var m=a.length/b,n=0;n<m;n++){for(var p=document.createElement("tr"),q=0;q<b;q++)(function(a){var b= +document.createElement("td");b.style.border="1px solid black";b.style.padding="0px";b.style.width="16px";b.style.height="16px";null==a&&(a=c);"none"==a?b.style.background="url('"+Dialog.prototype.noColorImage+"')":b.style.backgroundColor="#"+a;p.appendChild(b);null!=a&&(b.style.cursor="pointer",mxEvent.addListener(b,"click",function(){"none"==a?(g.fromString("ffffff"),h.value="none"):g.fromString(a)}))})(a[n*b+q]);k.appendChild(p)}d&&(a=document.createElement("td"),a.setAttribute("title",mxResources.get("reset")), +a.style.border="1px solid black",a.style.padding="0px",a.style.width="16px",a.style.height="16px",a.style.backgroundImage="url('"+Dialog.prototype.closeImage+"')",a.style.backgroundPosition="center center",a.style.backgroundRepeat="no-repeat",a.style.cursor="pointer",p.appendChild(a),mxEvent.addListener(a,"click",function(){ColorDialog.resetRecentColors();e.parentNode.replaceChild(f(),e)}));l.appendChild(e);return e}this.editorUi=a;var h=document.createElement("input");h.style.marginBottom="10px"; +h.style.width="216px";mxClient.IS_IE&&(h.style.marginTop="10px",document.body.appendChild(h));this.init=function(){mxClient.IS_TOUCH||h.focus()};var g=new jscolor.color(h);g.pickerOnfocus=!1;g.showPicker();var k=document.createElement("div");jscolor.picker.box.style.position="relative";jscolor.picker.box.style.width="230px";jscolor.picker.box.style.height="100px";jscolor.picker.box.style.paddingBottom="10px";k.appendChild(jscolor.picker.box);var l=document.createElement("center");k.appendChild(h); +mxUtils.br(k);f();var m=e(this.presetColors);m.style.marginBottom="8px";m=e(this.defaultColors);m.style.marginBottom="16px";k.appendChild(l);m=document.createElement("div");m.style.textAlign="right";m.style.whiteSpace="nowrap";var n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=b&&b()});n.className="geBtn";a.editor.cancelFirst&&m.appendChild(n);var p=null!=d?d:this.createApplyFunction();d=mxUtils.button(mxResources.get("apply"),function(){var b=h.value;ColorDialog.addRecentColor(b, +12);"none"!=b&&"#"!=b.charAt(0)&&(b="#"+b);p(b);a.hideDialog()});d.className="geBtn gePrimaryBtn";m.appendChild(d);a.editor.cancelFirst||m.appendChild(n);null!=c&&("none"==c?(g.fromString("ffffff"),h.value="none"):g.fromString(c));k.appendChild(m);this.picker=g;this.colorInput=h;mxEvent.addListener(k,"keydown",function(c){27==c.keyCode&&(a.hideDialog(),null!=b&&b(),mxEvent.consume(c))});this.container=k};ColorDialog.prototype.presetColors="E6D0DE CDA2BE B5739D E1D5E7 C3ABD0 A680B8 D4E1F5 A9C4EB 7EA6E0 D5E8D4 9AC7BF 67AB9F D5E8D4 B9E0A5 97D077 FFF2CC FFE599 FFD966 FFF4C3 FFCE9F FFB570 F8CECC F19C99 EA6B66".split(" "); ColorDialog.prototype.defaultColors="none FFFFFF E6E6E6 CCCCCC B3B3B3 999999 808080 666666 4D4D4D 333333 1A1A1A 000000 FFCCCC FFE6CC FFFFCC E6FFCC CCFFCC CCFFE6 CCFFFF CCE5FF CCCCFF E5CCFF FFCCFF FFCCE6 FF9999 FFCC99 FFFF99 CCFF99 99FF99 99FFCC 99FFFF 99CCFF 9999FF CC99FF FF99FF FF99CC FF6666 FFB366 FFFF66 B3FF66 66FF66 66FFB3 66FFFF 66B2FF 6666FF B266FF FF66FF FF66B3 FF3333 FF9933 FFFF33 99FF33 33FF33 33FF99 33FFFF 3399FF 3333FF 9933FF FF33FF FF3399 FF0000 FF8000 FFFF00 80FF00 00FF00 00FF80 00FFFF 007FFF 0000FF 7F00FF FF00FF FF0080 CC0000 CC6600 CCCC00 66CC00 00CC00 00CC66 00CCCC 0066CC 0000CC 6600CC CC00CC CC0066 990000 994C00 999900 4D9900 009900 00994D 009999 004C99 000099 4C0099 990099 99004D 660000 663300 666600 336600 006600 006633 006666 003366 000066 330066 660066 660033 330000 331A00 333300 1A3300 003300 00331A 003333 001933 000033 190033 330033 33001A".split(" "); ColorDialog.prototype.createApplyFunction=function(){return mxUtils.bind(this,function(a){var c=this.editorUi.editor.graph;c.getModel().beginUpdate();try{c.setCellStyles(this.currentColorKey,a),this.editorUi.fireEvent(new mxEventObject("styleChanged","keys",[this.currentColorKey],"values",[a],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}})};ColorDialog.recentColors=[]; ColorDialog.addRecentColor=function(a,c){null!=a&&(mxUtils.remove(a,ColorDialog.recentColors),ColorDialog.recentColors.splice(0,0,a),ColorDialog.recentColors.length>=c&&ColorDialog.recentColors.pop())};ColorDialog.resetRecentColors=function(){ColorDialog.recentColors=[]}; var AboutDialog=function(a){var c=document.createElement("div");c.setAttribute("align","center");var d=document.createElement("h3");mxUtils.write(d,mxResources.get("about")+" GraphEditor");c.appendChild(d);d=document.createElement("img");d.style.border="0px";d.setAttribute("width","176");d.setAttribute("width","151");d.setAttribute("src",IMAGE_PATH+"/logo.png");c.appendChild(d);mxUtils.br(c);mxUtils.write(c,"Powered by mxGraph "+mxClient.VERSION);mxUtils.br(c);d=document.createElement("a");d.setAttribute("href", -"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,k,g,h,l){h=null!=h?h:!0;var m,n,p=document.createElement("table"),q=document.createElement("tbody");p.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace= -"nowrap";n.style.fontSize="10pt";n.style.width="120px";mxUtils.write(n,(f||mxResources.get("filename"))+":");m.appendChild(n);var r=document.createElement("input");r.setAttribute("value",c||"");r.style.marginLeft="4px";r.style.width="180px";var t=mxUtils.button(d,function(){if(null==e||e(r.value))h&&a.hideDialog(),b(r.value)});t.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==k)if(r.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?r.select(): -document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=p.parentNode,b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=r,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=b&&(b.style.backgroundColor= -"",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(r.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),t.click());a.stopPropagation();a.preventDefault()}))}};n=document.createElement("td");n.appendChild(r);m.appendChild(n);null==f&&null!=k||q.appendChild(m);null!=k&&(m=document.createElement("tr"),n=document.createElement("td"),n.colSpan=2,n.appendChild(k),m.appendChild(n),q.appendChild(m));m=document.createElement("tr");n=document.createElement("td");n.colSpan= -2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&n.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",n.appendChild(d));mxEvent.addListener(r,"keypress",function(a){13==a.keyCode&&t.click()});n.appendChild(t);a.editor.cancelFirst||n.appendChild(c);m.appendChild(n); -q.appendChild(m);p.appendChild(q);this.container=p},TextareaDialog=function(a,c,d,b,f,e,k,g,h,l,m,n){k=null!=k?k:300;g=null!=g?g:120;l=null!=l?l:!1;var p,q,r=document.createElement("table"),t=document.createElement("tbody");p=document.createElement("tr");q=document.createElement("td");q.style.fontSize="10pt";q.style.width="100px";mxUtils.write(q,c);p.appendChild(q);t.appendChild(p);p=document.createElement("tr");q=document.createElement("td");var w=document.createElement("textarea");m&&w.setAttribute("wrap", -"off");w.setAttribute("spellcheck","false");w.setAttribute("autocorrect","off");w.setAttribute("autocomplete","off");w.setAttribute("autocapitalize","off");mxUtils.write(w,d||"");w.style.resize="none";w.style.width=k+"px";w.style.height=g+"px";this.textarea=w;this.init=function(){w.focus();w.scrollTop=0};q.appendChild(w);p.appendChild(q);t.appendChild(p);p=document.createElement("tr");q=document.createElement("td");q.style.paddingTop="14px";q.style.whiteSpace="nowrap";q.setAttribute("align","right"); -c=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});c.className="geBtn";a.editor.cancelFirst&&q.appendChild(c);null!=h&&h(q);null!=b&&(h=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(w.value)}),h.className="geBtn gePrimaryBtn",q.appendChild(h));a.editor.cancelFirst||q.appendChild(c);p.appendChild(q);t.appendChild(p);r.appendChild(t);this.container=r},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right"; +"http://www.jgraph.com/");d.setAttribute("target","_blank");mxUtils.write(d,"www.jgraph.com");c.appendChild(d);mxUtils.br(c);mxUtils.br(c);d=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});d.className="geBtn gePrimaryBtn";c.appendChild(d);this.container=c},FilenameDialog=function(a,c,d,b,f,e,h,g,k,l){k=null!=k?k:!0;var m,n,p=document.createElement("table"),q=document.createElement("tbody");p.style.marginTop="8px";m=document.createElement("tr");n=document.createElement("td");n.style.whiteSpace= +"nowrap";n.style.fontSize="10pt";n.style.width="120px";mxUtils.write(n,(f||mxResources.get("filename"))+":");m.appendChild(n);var t=document.createElement("input");t.setAttribute("value",c||"");t.style.marginLeft="4px";t.style.width="180px";var r=mxUtils.button(d,function(){if(null==e||e(t.value))k&&a.hideDialog(),b(t.value)});r.className="geBtn gePrimaryBtn";this.init=function(){if(null!=f||null==h)if(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): +document.execCommand("selectAll",!1,null),Graph.fileSupport){var a=p.parentNode,b=null;mxEvent.addListener(a,"dragleave",function(a){null!=b&&(b.style.backgroundColor="",b=null);a.stopPropagation();a.preventDefault()});mxEvent.addListener(a,"dragover",mxUtils.bind(this,function(a){null==b&&(!mxClient.IS_IE||10<document.documentMode)&&(b=t,b.style.backgroundColor="#ebf2f9");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(a,"drop",mxUtils.bind(this,function(a){null!=b&&(b.style.backgroundColor= +"",b=null);0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")&&(t.value=decodeURIComponent(a.dataTransfer.getData("text/uri-list")),r.click());a.stopPropagation();a.preventDefault()}))}};n=document.createElement("td");n.appendChild(t);m.appendChild(n);null==f&&null!=h||q.appendChild(m);null!=h&&(m=document.createElement("tr"),n=document.createElement("td"),n.colSpan=2,n.appendChild(h),m.appendChild(n),q.appendChild(m));m=document.createElement("tr");n=document.createElement("td");n.colSpan= +2;n.style.paddingTop="20px";n.style.whiteSpace="nowrap";n.setAttribute("align","right");c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=l&&l()});c.className="geBtn";a.editor.cancelFirst&&n.appendChild(c);null!=g&&(d=mxUtils.button(mxResources.get("help"),function(){a.editor.graph.openLink(g)}),d.className="geBtn",n.appendChild(d));mxEvent.addListener(t,"keypress",function(a){13==a.keyCode&&r.click()});n.appendChild(r);a.editor.cancelFirst||n.appendChild(c);m.appendChild(n); +q.appendChild(m);p.appendChild(q);this.container=p},TextareaDialog=function(a,c,d,b,f,e,h,g,k,l,m,n){h=null!=h?h:300;g=null!=g?g:120;l=null!=l?l:!1;var p,q,t=document.createElement("table"),r=document.createElement("tbody");p=document.createElement("tr");q=document.createElement("td");q.style.fontSize="10pt";q.style.width="100px";mxUtils.write(q,c);p.appendChild(q);r.appendChild(p);p=document.createElement("tr");q=document.createElement("td");var v=document.createElement("textarea");m&&v.setAttribute("wrap", +"off");v.setAttribute("spellcheck","false");v.setAttribute("autocorrect","off");v.setAttribute("autocomplete","off");v.setAttribute("autocapitalize","off");mxUtils.write(v,d||"");v.style.resize="none";v.style.width=h+"px";v.style.height=g+"px";this.textarea=v;this.init=function(){v.focus();v.scrollTop=0};q.appendChild(v);p.appendChild(q);r.appendChild(p);p=document.createElement("tr");q=document.createElement("td");q.style.paddingTop="14px";q.style.whiteSpace="nowrap";q.setAttribute("align","right"); +c=mxUtils.button(e||mxResources.get("cancel"),function(){a.hideDialog();null!=f&&f()});c.className="geBtn";a.editor.cancelFirst&&q.appendChild(c);null!=k&&k(q);null!=b&&(k=mxUtils.button(n||mxResources.get("apply"),function(){l||a.hideDialog();b(v.value)}),k.className="geBtn gePrimaryBtn",q.appendChild(k));a.editor.cancelFirst||q.appendChild(c);p.appendChild(q);r.appendChild(p);t.appendChild(r);this.container=t},EditDiagramDialog=function(a){var c=document.createElement("div");c.style.textAlign="right"; var d=document.createElement("textarea");d.setAttribute("wrap","off");d.setAttribute("spellcheck","false");d.setAttribute("autocorrect","off");d.setAttribute("autocomplete","off");d.setAttribute("autocapitalize","off");d.style.overflow="auto";d.style.resize="none";d.style.width="600px";d.style.height="360px";d.style.marginBottom="16px";d.value=mxUtils.getPrettyXml(a.editor.getGraphXml());c.appendChild(d);this.init=function(){d.focus()};Graph.fileSupport&&(d.addEventListener("dragover",function(a){a.stopPropagation(); a.preventDefault()},!1),d.addEventListener("drop",function(b){b.stopPropagation();b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var c=new FileReader;c.onload=function(a){d.value=a.target.result};c.readAsText(b)}else d.value=a.extractGraphModelFromEvent(b)},!1));var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);var f=document.createElement("select");f.style.width="180px";f.className= "geBtn";if(a.editor.graph.isEnabled()){var e=document.createElement("option");e.setAttribute("value","replace");mxUtils.write(e,mxResources.get("replaceExistingDrawing"));f.appendChild(e)}e=document.createElement("option");e.setAttribute("value","new");mxUtils.write(e,mxResources.get("openInNewWindow"));EditDiagramDialog.showNewWindowOption&&f.appendChild(e);a.editor.graph.isEnabled()&&(e=document.createElement("option"),e.setAttribute("value","import"),mxUtils.write(e,mxResources.get("addToExistingDrawing")), f.appendChild(e));c.appendChild(f);e=mxUtils.button(mxResources.get("ok"),function(){var b=a.editor.graph.zapGremlins(mxUtils.trim(d.value)),c=null;if("new"==f.value)window.openFile=new OpenFile(function(){a.hideDialog();window.openFile=null}),window.openFile.setData(b,null),a.editor.graph.openLink(a.getUrl());else if("replace"==f.value){a.editor.graph.model.beginUpdate();try{a.editor.setGraphXml(mxUtils.parseXml(b).documentElement),a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}else if("import"== f.value){a.editor.graph.model.beginUpdate();try{var e=mxUtils.parseXml(b),l=new mxGraphModel;(new mxCodec(e)).decode(e.documentElement,l);var m=l.getChildren(l.getChildAt(l.getRoot(),0));a.editor.graph.setSelectionCells(a.editor.graph.importCells(m));a.hideDialog()}catch(n){c=n}finally{a.editor.graph.model.endUpdate()}}null!=c&&mxUtils.alert(c.message)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(b);this.container=c}; EditDiagramDialog.showNewWindowOption=!0; -var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),q.setAttribute("disabled","true"),r.setAttribute("disabled","true"),w.setAttribute("disabled","true")):(p.removeAttribute("disabled"),q.removeAttribute("disabled"),r.removeAttribute("disabled"),w.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?t.removeAttribute("disabled"):t.setAttribute("disabled","disabled")} -function d(){q.style.backgroundColor=q.value*r.value>MAX_AREA||0>=q.value?"red":"";r.style.backgroundColor=q.value*r.value>MAX_AREA||0>=r.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,k=Math.ceil(f.width/e),g=Math.ceil(f.height/e),h,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";h.style.width="100px";mxUtils.write(h, -mxResources.get("filename")+":");f.appendChild(h);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";h=document.createElement("td");h.appendChild(m);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("format")+":");f.appendChild(h);var n=document.createElement("select");n.style.width="180px";h=document.createElement("option");h.setAttribute("value", -"png");mxUtils.write(h,mxResources.get("formatPng"));n.appendChild(h);h=document.createElement("option");ExportDialog.showGifOption&&(h.setAttribute("value","gif"),mxUtils.write(h,mxResources.get("formatGif")),n.appendChild(h));h=document.createElement("option");h.setAttribute("value","jpg");mxUtils.write(h,mxResources.get("formatJpg"));n.appendChild(h);h=document.createElement("option");h.setAttribute("value","pdf");mxUtils.write(h,mxResources.get("formatPdf"));n.appendChild(h);h=document.createElement("option"); -h.setAttribute("value","svg");mxUtils.write(h,mxResources.get("formatSvg"));n.appendChild(h);ExportDialog.showXmlOption&&(h=document.createElement("option"),h.setAttribute("value","xml"),mxUtils.write(h,mxResources.get("formatXml")),n.appendChild(h));h=document.createElement("td");h.appendChild(n);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("zoom")+" (%):");f.appendChild(h);var p=document.createElement("input"); -p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";h=document.createElement("td");h.appendChild(p);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("width")+":");f.appendChild(h);var q=document.createElement("input");q.setAttribute("value",k);q.style.width="180px";h=document.createElement("td");h.appendChild(q);f.appendChild(h);l.appendChild(f);f=document.createElement("tr"); -h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("height")+":");f.appendChild(h);var r=document.createElement("input");r.setAttribute("value",g);r.style.width="180px";h=document.createElement("td");h.appendChild(r);f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("background")+":");f.appendChild(h);var t=document.createElement("input");t.setAttribute("type", -"checkbox");t.checked=null==b.background||b.background==mxConstants.NONE;h=document.createElement("td");h.appendChild(t);mxUtils.write(h,mxResources.get("transparent"));f.appendChild(h);l.appendChild(f);f=document.createElement("tr");h=document.createElement("td");h.style.fontSize="10pt";mxUtils.write(h,mxResources.get("borderWidth")+":");f.appendChild(h);var w=document.createElement("input");w.setAttribute("type","number");w.setAttribute("value",ExportDialog.lastBorderValue);w.style.width="180px"; -h=document.createElement("td");h.appendChild(w);f.appendChild(h);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<k?(q.value=Math.floor(k*a),r.value=Math.floor(g*a)):(p.value="100",q.value=k,r.value=g);d()});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value)/k;0<a?(p.value=parseFloat((100*a).toFixed(2)),r.value=Math.floor(g*a)):(p.value= -"100",q.value=k,r.value=g);d()});mxEvent.addListener(r,"change",function(){var a=parseInt(r.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),q.value=Math.floor(k*a)):(p.value="100",q.value=k,r.value=g);d()});f=document.createElement("tr");h=document.createElement("td");h.setAttribute("align","right");h.style.paddingTop="22px";h.colSpan=2;var v=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= -m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(w.value)),g=b.background;if(("svg"==d||"png"==d)&&t.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));v.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(h.appendChild(u),h.appendChild(v)):(h.appendChild(v),h.appendChild(u));f.appendChild(h); +var ExportDialog=function(a){function c(){var a=m.value,b=a.lastIndexOf(".");m.value=0<b?a.substring(0,b+1)+n.value:a+"."+n.value;"xml"===n.value?(p.setAttribute("disabled","true"),q.setAttribute("disabled","true"),t.setAttribute("disabled","true"),v.setAttribute("disabled","true")):(p.removeAttribute("disabled"),q.removeAttribute("disabled"),t.removeAttribute("disabled"),v.removeAttribute("disabled"));"png"===n.value||"svg"===n.value?r.removeAttribute("disabled"):r.setAttribute("disabled","disabled")} +function d(){q.style.backgroundColor=q.value*t.value>MAX_AREA||0>=q.value?"red":"";t.style.backgroundColor=q.value*t.value>MAX_AREA||0>=t.value?"red":""}var b=a.editor.graph,f=b.getGraphBounds(),e=b.view.scale,h=Math.ceil(f.width/e),g=Math.ceil(f.height/e),k,e=document.createElement("table"),l=document.createElement("tbody");e.setAttribute("cellpadding",mxClient.IS_SF?"0":"2");f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";k.style.width="100px";mxUtils.write(k, +mxResources.get("filename")+":");f.appendChild(k);var m=document.createElement("input");m.setAttribute("value",a.editor.getOrCreateFilename());m.style.width="180px";k=document.createElement("td");k.appendChild(m);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("format")+":");f.appendChild(k);var n=document.createElement("select");n.style.width="180px";k=document.createElement("option");k.setAttribute("value", +"png");mxUtils.write(k,mxResources.get("formatPng"));n.appendChild(k);k=document.createElement("option");ExportDialog.showGifOption&&(k.setAttribute("value","gif"),mxUtils.write(k,mxResources.get("formatGif")),n.appendChild(k));k=document.createElement("option");k.setAttribute("value","jpg");mxUtils.write(k,mxResources.get("formatJpg"));n.appendChild(k);k=document.createElement("option");k.setAttribute("value","pdf");mxUtils.write(k,mxResources.get("formatPdf"));n.appendChild(k);k=document.createElement("option"); +k.setAttribute("value","svg");mxUtils.write(k,mxResources.get("formatSvg"));n.appendChild(k);ExportDialog.showXmlOption&&(k=document.createElement("option"),k.setAttribute("value","xml"),mxUtils.write(k,mxResources.get("formatXml")),n.appendChild(k));k=document.createElement("td");k.appendChild(n);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("zoom")+" (%):");f.appendChild(k);var p=document.createElement("input"); +p.setAttribute("type","number");p.setAttribute("value","100");p.style.width="180px";k=document.createElement("td");k.appendChild(p);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("width")+":");f.appendChild(k);var q=document.createElement("input");q.setAttribute("value",h);q.style.width="180px";k=document.createElement("td");k.appendChild(q);f.appendChild(k);l.appendChild(f);f=document.createElement("tr"); +k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("height")+":");f.appendChild(k);var t=document.createElement("input");t.setAttribute("value",g);t.style.width="180px";k=document.createElement("td");k.appendChild(t);f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("background")+":");f.appendChild(k);var r=document.createElement("input");r.setAttribute("type", +"checkbox");r.checked=null==b.background||b.background==mxConstants.NONE;k=document.createElement("td");k.appendChild(r);mxUtils.write(k,mxResources.get("transparent"));f.appendChild(k);l.appendChild(f);f=document.createElement("tr");k=document.createElement("td");k.style.fontSize="10pt";mxUtils.write(k,mxResources.get("borderWidth")+":");f.appendChild(k);var v=document.createElement("input");v.setAttribute("type","number");v.setAttribute("value",ExportDialog.lastBorderValue);v.style.width="180px"; +k=document.createElement("td");k.appendChild(v);f.appendChild(k);l.appendChild(f);e.appendChild(l);mxEvent.addListener(n,"change",c);c();mxEvent.addListener(p,"change",function(){var a=Math.max(0,parseFloat(p.value)||100)/100;p.value=parseFloat((100*a).toFixed(2));0<h?(q.value=Math.floor(h*a),t.value=Math.floor(g*a)):(p.value="100",q.value=h,t.value=g);d()});mxEvent.addListener(q,"change",function(){var a=parseInt(q.value)/h;0<a?(p.value=parseFloat((100*a).toFixed(2)),t.value=Math.floor(g*a)):(p.value= +"100",q.value=h,t.value=g);d()});mxEvent.addListener(t,"change",function(){var a=parseInt(t.value)/g;0<a?(p.value=parseFloat((100*a).toFixed(2)),q.value=Math.floor(h*a)):(p.value="100",q.value=h,t.value=g);d()});f=document.createElement("tr");k=document.createElement("td");k.setAttribute("align","right");k.style.paddingTop="22px";k.colSpan=2;var w=mxUtils.button(mxResources.get("export"),mxUtils.bind(this,function(){if(0>=parseInt(p.value))mxUtils.alert(mxResources.get("drawingEmpty"));else{var c= +m.value,d=n.value,e=Math.max(0,parseFloat(p.value)||100)/100,f=Math.max(0,parseInt(v.value)),g=b.background;if(("svg"==d||"png"==d)&&r.checked)g=null;else if(null==g||g==mxConstants.NONE)g="#ffffff";ExportDialog.lastBorderValue=f;ExportDialog.exportFile(a,c,d,g,e,f)}}));w.className="geBtn gePrimaryBtn";var u=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});u.className="geBtn";a.editor.cancelFirst?(k.appendChild(u),k.appendChild(w)):(k.appendChild(w),k.appendChild(u));f.appendChild(k); l.appendChild(f);e.appendChild(l);this.container=e};ExportDialog.lastBorderValue=0;ExportDialog.showGifOption=!0;ExportDialog.showXmlOption=!0; -ExportDialog.exportFile=function(a,c,d,b,f,e){var k=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(k.getSvg(b,f,e)),c,d);else{var g=k.getGraphBounds(),h=mxUtils.createXmlDocument(),l=h.createElement("output");h.appendChild(l);h=new mxXmlCanvas2D(l);h.translate(Math.floor((e/f-g.x)/k.view.scale),Math.floor((e/f-g.y)/k.view.scale));h.scale(f/k.view.scale);(new mxImageExport).drawState(k.getView().getState(k.model.root), -h);l="xml="+encodeURIComponent(mxUtils.getXml(l));h=Math.ceil(g.width*f/k.view.scale+2*e);f=Math.ceil(g.height*f/k.view.scale+2*e);l.length<=MAX_REQUEST_SIZE&&h*f<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+d+"&filename="+encodeURIComponent(c)+"&bg="+(null!=b?b:"none")+"&w="+h+"&h="+f+"&"+l)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}}; +ExportDialog.exportFile=function(a,c,d,b,f,e){var h=a.editor.graph;if("xml"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(a.editor.getGraphXml()),c,d);else if("svg"==d)ExportDialog.saveLocalFile(a,mxUtils.getXml(h.getSvg(b,f,e)),c,d);else{var g=h.getGraphBounds(),k=mxUtils.createXmlDocument(),l=k.createElement("output");k.appendChild(l);k=new mxXmlCanvas2D(l);k.translate(Math.floor((e/f-g.x)/h.view.scale),Math.floor((e/f-g.y)/h.view.scale));k.scale(f/h.view.scale);(new mxImageExport).drawState(h.getView().getState(h.model.root), +k);l="xml="+encodeURIComponent(mxUtils.getXml(l));k=Math.ceil(g.width*f/h.view.scale+2*e);f=Math.ceil(g.height*f/h.view.scale+2*e);l.length<=MAX_REQUEST_SIZE&&k*f<MAX_AREA?(a.hideDialog(),(new mxXmlRequest(EXPORT_URL,"format="+d+"&filename="+encodeURIComponent(c)+"&bg="+(null!=b?b:"none")+"&w="+k+"&h="+f+"&"+l)).simulate(document,"_blank")):mxUtils.alert(mxResources.get("drawingTooLarge"))}}; ExportDialog.saveLocalFile=function(a,c,d,b){c.length<MAX_REQUEST_SIZE?(a.hideDialog(),(new mxXmlRequest(SAVE_URL,"xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(d)+"&format="+b)).simulate(document,"_blank")):(mxUtils.alert(mxResources.get("drawingTooLarge")),mxUtils.popup(xml))}; -var EditDataDialog=function(a,c){function d(){0<t.value.length?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}var b=document.createElement("div"),f=a.editor.graph,e=f.getModel().getValue(c);if(!mxUtils.isNode(e)){var k=mxUtils.createXmlDocument().createElement("object");k.setAttribute("label",e||"");e=k}var g=new mxForm("properties");g.table.style.width="100%";for(var h=e.attributes,l=[],m=[],n=0,p=function(a,b){var c=document.createElement("div");c.style.position="relative"; +var EditDataDialog=function(a,c){function d(){0<v.value.length?w.removeAttribute("disabled"):w.setAttribute("disabled","disabled")}var b=document.createElement("div"),f=a.editor.graph,e=f.getModel().getValue(c);if(!mxUtils.isNode(e)){var h=mxUtils.createXmlDocument().createElement("object");h.setAttribute("label",e||"");e=h}var g=new mxForm("properties");g.table.style.width="100%";for(var k=e.attributes,l=[],m=[],n=0,p=function(a,b){var c=document.createElement("div");c.style.position="relative"; c.style.paddingRight="20px";c.style.boxSizing="border-box";c.style.width="100%";var d=document.createElement("a"),e=mxUtils.createImage(Dialog.prototype.closeImage);e.style.height="9px";e.style.fontSize="9px";e.style.marginBottom=mxClient.IS_IE11?"-1px":"5px";d.className="geButton";d.setAttribute("title",mxResources.get("delete"));d.style.position="absolute";d.style.top="4px";d.style.right="0px";d.style.margin="0px";d.style.width="9px";d.style.height="9px";d.style.cursor="pointer";d.appendChild(e); -e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b);break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},k=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";p(m[a],b)},q=[],r=0;r<h.length;r++)"label"!=h[r].nodeName&&"placeholders"!=h[r].nodeName&&q.push({name:h[r].nodeName,value:h[r].nodeValue});q.sort(function(a,b){return a.name<b.name?-1: -a.name>b.name?1:0});h=document.createElement("input");h.style.width="280px";h.style.textAlign="center";h.setAttribute("type","text");h.setAttribute("readOnly","true");h.setAttribute("value",c.getId());g.addField(mxResources.get("id")+":",h);for(r=0;r<q.length;r++)k(n,q[r].name,q[r].value),n++;k=document.createElement("div");k.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;";k.appendChild(g.table);q=document.createElement("div");q.style.whiteSpace="nowrap"; -q.style.marginTop="6px";var t=document.createElement("input");t.setAttribute("placeholder",mxResources.get("enterPropertyName"));t.setAttribute("type","text");t.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"18":"22");t.style.marginLeft="2px";q.appendChild(t);k.appendChild(q);b.appendChild(k);var w=mxUtils.button(mxResources.get("addProperty"),function(){var a=t.value;if(0<a.length&&"label"!=a&&"placeholders"!=a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus(); -else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);p(c,a);c.focus()}t.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0<m.length?m[0].focus():t.focus()};w.setAttribute("disabled","disabled");w.style.marginLeft="10px";w.style.width="144px";q.appendChild(w);k=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)}); -k.className="geBtn";q=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);e=e.cloneNode(!0);for(var b=!1,d=0;d<l.length;d++)null==m[d]?e.removeAttribute(l[d]):(e.setAttribute(l[d],m[d].value),b=b||"placeholder"==l[d]&&"1"==e.getAttribute("placeholders"));b&&e.removeAttribute("label");f.getModel().setValue(c,e)}catch(C){mxUtils.alert(C)}});q.className="geBtn gePrimaryBtn";mxEvent.addListener(t,"keyup",d);mxEvent.addListener(t,"change",d);h=document.createElement("div"); -h.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(c)||a.editor.graph.getModel().isEdge(c)){r=document.createElement("span");r.style.marginRight="10px";var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(v.setAttribute("checked","checked"),v.defaultChecked=!0);mxEvent.addListener(v,"click",function(){"1"==e.getAttribute("placeholders")? -e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});r.appendChild(v);mxUtils.write(r,mxResources.get("placeholders"));if(null!=EditDataDialog.placeholderHelpLink){v=document.createElement("a");v.setAttribute("href",EditDataDialog.placeholderHelpLink);v.setAttribute("title",mxResources.get("help"));v.setAttribute("target","_blank");v.style.marginLeft="10px";v.style.cursor="help";var u=document.createElement("img");u.setAttribute("border","0");u.setAttribute("valign","middle");u.style.marginTop= -mxClient.IS_IE11?"0px":"-4px";u.setAttribute("src",Editor.helpImage);v.appendChild(u);r.appendChild(v)}h.appendChild(r)}a.editor.cancelFirst?(h.appendChild(k),h.appendChild(q)):(h.appendChild(q),h.appendChild(k));b.appendChild(h);this.container=b};EditDataDialog.placeholderHelpLink=null; -var LinkDialog=function(a,c,d,b){var f=document.createElement("div");mxUtils.write(f,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var k=document.createElement("input");k.setAttribute("value",c);k.setAttribute("placeholder","http://www.example.com/");k.setAttribute("type", -"text");k.style.marginTop="6px";k.style.width="400px";k.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";k.style.backgroundRepeat="no-repeat";k.style.backgroundPosition="100% 50%";k.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML? -0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){k.value="";k.focus()});e.appendChild(k);e.appendChild(c);f.appendChild(e);this.init=function(){k.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?k.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(k,"keypress",function(c){13==c.keyCode&&(a.hideDialog(), -b(k.value))});c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&e.appendChild(c);d=mxUtils.button(d,function(){a.hideDialog();b(k.value)});d.className="geBtn gePrimaryBtn";e.appendChild(d);a.editor.cancelFirst||e.appendChild(c);f.appendChild(e);this.container=f},OutlineWindow=function(a,c,d,b,f){function e(){l.outline.pageScale=k.pageScale;l.outline.pageFormat=k.pageFormat;l.outline.pageVisible=k.pageVisible;l.outline.background=null== -k.background||k.background==mxConstants.NONE?k.defaultPageBackgroundColor:k.background;var a=mxUtils.getCurrentStyle(k.container);g.style.backgroundColor=a.backgroundColor;null!=k.view.backgroundPageShape&&null!=l.outline.view.backgroundPageShape&&(l.outline.view.backgroundPageShape.fill=k.view.backgroundPageShape.fill);l.outline.refresh()}var k=a.editor.graph,g=document.createElement("div");g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke"; +e=function(a){return function(){for(var b=0,c=0;c<l.length;c++){if(l[c]==a){m[c]=null;g.table.deleteRow(b);break}null!=m[c]&&b++}}}(b);mxEvent.addListener(d,"click",e);e=a.parentNode;c.appendChild(a);c.appendChild(d);e.appendChild(c)},h=function(a,b,c){l[a]=b;m[a]=g.addTextarea(l[n]+":",c,2);m[a].style.width="100%";p(m[a],b)},q=[],t=f.getModel().getParent(c)==f.getModel().getRoot(),r=0;r<k.length;r++)!t&&"label"==k[r].nodeName||"placeholders"==k[r].nodeName||q.push({name:k[r].nodeName,value:k[r].nodeValue}); +q.sort(function(a,b){return a.name<b.name?-1:a.name>b.name?1:0});k=EditDataDialog.getDisplayIdForCell(a,c);null!=k&&(t=document.createElement("input"),t.style.width="280px",t.style.textAlign="center",t.setAttribute("type","text"),t.setAttribute("readOnly","true"),t.setAttribute("value",k),g.addField(mxResources.get("id")+":",t));for(r=0;r<q.length;r++)h(n,q[r].name,q[r].value),n++;h=document.createElement("div");h.style.cssText="position:absolute;left:30px;right:30px;overflow-y:auto;top:30px;bottom:80px;"; +h.appendChild(g.table);q=document.createElement("div");q.style.whiteSpace="nowrap";q.style.marginTop="6px";var v=document.createElement("input");v.setAttribute("placeholder",mxResources.get("enterPropertyName"));v.setAttribute("type","text");v.setAttribute("size",mxClient.IS_IE||mxClient.IS_IE11?"18":"22");v.style.marginLeft="2px";q.appendChild(v);h.appendChild(q);b.appendChild(h);var w=mxUtils.button(mxResources.get("addProperty"),function(){var a=v.value;if(0<a.length&&"label"!=a&&"placeholders"!= +a&&0>a.indexOf(":"))try{var b=mxUtils.indexOf(l,a);if(0<=b&&null!=m[b])m[b].focus();else{e.cloneNode(!1).setAttribute(a,"");0<=b&&(l.splice(b,1),m.splice(b,1));l.push(a);var c=g.addTextarea(a+":","",2);c.style.width="100%";m.push(c);p(c,a);c.focus()}v.value=""}catch(A){mxUtils.alert(A)}else mxUtils.alert(mxResources.get("invalidName"))});this.init=function(){0<m.length?m[0].focus():v.focus()};w.setAttribute("disabled","disabled");w.style.marginLeft="10px";w.style.width="144px";q.appendChild(w);h= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog.apply(a,arguments)});h.className="geBtn";q=mxUtils.button(mxResources.get("apply"),function(){try{a.hideDialog.apply(a,arguments);e=e.cloneNode(!0);for(var b=!1,d=0;d<l.length;d++)null==m[d]?e.removeAttribute(l[d]):(e.setAttribute(l[d],m[d].value),b=b||"placeholder"==l[d]&&"1"==e.getAttribute("placeholders"));b&&e.removeAttribute("label");f.getModel().setValue(c,e)}catch(D){mxUtils.alert(D)}});q.className="geBtn gePrimaryBtn";mxEvent.addListener(v, +"keyup",d);mxEvent.addListener(v,"change",d);k=document.createElement("div");k.style.cssText="position:absolute;left:30px;right:30px;text-align:right;bottom:30px;height:40px;";if(a.editor.graph.getModel().isVertex(c)||a.editor.graph.getModel().isEdge(c)){t=document.createElement("span");t.style.marginRight="10px";r=document.createElement("input");r.setAttribute("type","checkbox");r.style.marginRight="6px";"1"==e.getAttribute("placeholders")&&(r.setAttribute("checked","checked"),r.defaultChecked=!0); +mxEvent.addListener(r,"click",function(){"1"==e.getAttribute("placeholders")?e.removeAttribute("placeholders"):e.setAttribute("placeholders","1")});t.appendChild(r);mxUtils.write(t,mxResources.get("placeholders"));if(null!=EditDataDialog.placeholderHelpLink){r=document.createElement("a");r.setAttribute("href",EditDataDialog.placeholderHelpLink);r.setAttribute("title",mxResources.get("help"));r.setAttribute("target","_blank");r.style.marginLeft="10px";r.style.cursor="help";var u=document.createElement("img"); +u.setAttribute("border","0");u.setAttribute("valign","middle");u.style.marginTop=mxClient.IS_IE11?"0px":"-4px";u.setAttribute("src",Editor.helpImage);r.appendChild(u);t.appendChild(r)}k.appendChild(t)}a.editor.cancelFirst?(k.appendChild(h),k.appendChild(q)):(k.appendChild(q),k.appendChild(h));b.appendChild(k);this.container=b};EditDataDialog.getDisplayIdForCell=function(a,c){var d=null;null!=a.editor.graph.getModel().getParent(c)&&(d=c.getId());return d};EditDataDialog.placeholderHelpLink=null; +var LinkDialog=function(a,c,d,b){var f=document.createElement("div");mxUtils.write(f,mxResources.get("editLink")+":");var e=document.createElement("div");e.className="geTitle";e.style.backgroundColor="transparent";e.style.borderColor="transparent";e.style.whiteSpace="nowrap";e.style.textOverflow="clip";e.style.cursor="default";mxClient.IS_VML||(e.style.paddingRight="20px");var h=document.createElement("input");h.setAttribute("value",c);h.setAttribute("placeholder","http://www.example.com/");h.setAttribute("type", +"text");h.style.marginTop="6px";h.style.width="400px";h.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";h.style.backgroundRepeat="no-repeat";h.style.backgroundPosition="100% 50%";h.style.paddingRight="14px";c=document.createElement("div");c.setAttribute("title",mxResources.get("reset"));c.style.position="relative";c.style.left="-16px";c.style.width="12px";c.style.height="14px";c.style.cursor="pointer";c.style.display=mxClient.IS_VML?"inline":"inline-block";c.style.top=(mxClient.IS_VML? +0:3)+"px";c.style.background="url("+IMAGE_PATH+"/transparent.gif)";mxEvent.addListener(c,"click",function(){h.value="";h.focus()});e.appendChild(h);e.appendChild(c);f.appendChild(e);this.init=function(){h.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?h.select():document.execCommand("selectAll",!1,null)};e=document.createElement("div");e.style.marginTop="18px";e.style.textAlign="right";mxEvent.addListener(h,"keypress",function(c){13==c.keyCode&&(a.hideDialog(), +b(h.value))});c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});c.className="geBtn";a.editor.cancelFirst&&e.appendChild(c);d=mxUtils.button(d,function(){a.hideDialog();b(h.value)});d.className="geBtn gePrimaryBtn";e.appendChild(d);a.editor.cancelFirst||e.appendChild(c);f.appendChild(e);this.container=f},OutlineWindow=function(a,c,d,b,f){function e(){l.outline.pageScale=h.pageScale;l.outline.pageFormat=h.pageFormat;l.outline.pageVisible=h.pageVisible;l.outline.background=null== +h.background||h.background==mxConstants.NONE?h.defaultPageBackgroundColor:h.background;var a=mxUtils.getCurrentStyle(h.container);g.style.backgroundColor=a.backgroundColor;null!=h.view.backgroundPageShape&&null!=l.outline.view.backgroundPageShape&&(l.outline.view.backgroundPageShape.fill=h.view.backgroundPageShape.fill);l.outline.refresh()}var h=a.editor.graph,g=document.createElement("div");g.style.position="absolute";g.style.width="100%";g.style.height="100%";g.style.border="1px solid whiteSmoke"; g.style.overflow="hidden";this.window=new mxWindow(mxResources.get("outline"),g,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,80,80);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth|| -document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var h=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",h);var l=a.createOutline(this.window);this.destroy=function(){mxEvent.removeListener(window,"resize",h);this.window.destroy();l.destroy()};this.window.addListener(mxEvent.RESIZE, +document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var k=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",k);var l=a.createOutline(this.window);this.destroy=function(){mxEvent.removeListener(window,"resize",k);this.window.destroy();l.destroy()};this.window.addListener(mxEvent.RESIZE, mxUtils.bind(this,function(){l.update(!1);l.outline.sizeDidChange()}));this.window.addListener(mxEvent.SHOW,mxUtils.bind(this,function(){l.suspended=!1;l.outline.refresh();l.update()}));this.window.addListener(mxEvent.HIDE,mxUtils.bind(this,function(){l.suspended=!0}));this.window.addListener(mxEvent.NORMALIZE,mxUtils.bind(this,function(){l.suspended=!1;l.update()}));this.window.addListener(mxEvent.MINIMIZE,mxUtils.bind(this,function(){l.suspended=!0}));var m=l.createGraph;l.createGraph=function(a){var b= -m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=k.pageScale;b.pageFormat=k.pageFormat;b.background=null==k.background||k.background==mxConstants.NONE?k.defaultPageBackgroundColor:k.background;b.pageVisible=k.pageVisible;var c=mxUtils.getCurrentStyle(k.container);g.style.backgroundColor=c.backgroundColor;return b};l.init(g);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged", -function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var n=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?n.funct():p.funct(),mxEvent.consume(a))})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=new FilenameDialog(a,b.value||mxResources.get("background"),mxResources.get("rename"), -mxUtils.bind(this,function(a){null!=a&&g.getModel().setValue(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function k(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="whiteSmoke";f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor="#c3c3c3";f.style.borderStyle="solid"; -f.style.whiteSpace="nowrap";f.setAttribute("title",mxResources.get("id")+": "+c.getId());var h=document.createElement("div");h.style.display="inline-block";h.style.width="100%";h.style.textOverflow="ellipsis";h.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){n=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","<layer/>")});mxEvent.addListener(f,"dragend",function(a){null!= -n&&null!=p&&g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var t=g.view.getState(c),u=null!=t?t.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&& -(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});h.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")])); -l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";h.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(h,b);f.appendChild(h);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign= -"right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0<a&&(h=document.createElement("a"),h.setAttribute("title",mxResources.get("toBack")),h.className="geButton",h.style.cssFloat="none",h.innerHTML="▼",h.style.width="14px",h.style.height="14px",h.style.fontSize="14px",h.style.margin="0px",h.style.marginTop="-1px",b.appendChild(h),mxEvent.addListener(h,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a-1);mxEvent.consume(b)})),0<=a&& -a<q-1&&(h=document.createElement("a"),h.setAttribute("title",mxResources.get("toFront")),h.className="geButton",h.style.cssFloat="none",h.innerHTML="▲",h.style.width="14px",h.style.height="14px",h.style.fontSize="14px",h.style.margin="0px",h.style.marginTop="-1px",b.appendChild(h),mxEvent.addListener(h,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable", -"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="#e6eff8",f.style.fontWeight=g.isEnabled()?"bold":"",r=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),k())});m.appendChild(f)}q=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=q-1;0<=b;b--)mxUtils.bind(this,function(c){a(b, -c.value||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));w.setAttribute("title",mxResources.get("removeIt",[r.value||mxResources.get("background")]));v.setAttribute("title",mxResources.get("moveSelectionTo",[r.value||mxResources.get("background")]));z.setAttribute("title",mxResources.get("duplicateIt",[r.value||mxResources.get("background")]));u.setAttribute("title",mxResources.get("renameIt",[r.value||mxResources.get("background")]));g.isSelectionEmpty()&&(v.className="geButton mxDisabled")} -var g=a.editor.graph,h=document.createElement("div");h.style.userSelect="none";h.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;h.style.border="1px solid whiteSmoke";h.style.height="100%";h.style.marginBottom="10px";h.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",m=document.createElement("div");m.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":"#e5e5e5";m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right= -"0px";m.style.top="0px";m.style.bottom=parseInt(l)+7+"px";h.appendChild(m);var n=null,p=null;mxEvent.addListener(h,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(h,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,r=null,t=document.createElement("div");t.className="geToolbarContainer";t.style.position="absolute";t.style.bottom="0px";t.style.left="0px";t.style.right="0px";t.style.height=l;t.style.overflow= -"hidden";t.style.padding=EditorUi.compactUi?"4px 0px 3px 0px":"1px";t.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;t.style.borderWidth="1px 0px 0px 0px";t.style.borderColor="#c3c3c3";t.style.borderStyle="solid";t.style.display="block";t.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(t.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var w=l.cloneNode();w.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>'; -mxEvent.addListener(w,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(r);g.removeCells([r],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(w.className="geButton mxDisabled");t.appendChild(w);var v=l.cloneNode(); -v.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>';mxEvent.addListener(v,"click",function(a){g.isEnabled()&&!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,r)});t.appendChild(v);var u=l.cloneNode();u.innerHTML='<div class="geSprite geSprite-dots" style="display:inline-block;"></div>';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(a){g.isEnabled()&&e(r);mxEvent.consume(a)});g.isEnabled()||(u.className="geButton mxDisabled"); -t.appendChild(u);var z=l.cloneNode();z.innerHTML='<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>';mxEvent.addListener(z,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCells([r])[0],a.value=mxResources.get("untitledLayer"),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(z.className="geButton mxDisabled");t.appendChild(z);l=l.cloneNode(); -l.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';l.setAttribute("title",mxResources.get("addLayer"));mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");t.appendChild(l);h.appendChild(t);k();g.model.addListener(mxEvent.CHANGE,function(){k()}); -g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?v.className="geButton mxDisabled":v.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),h,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=k;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight|| -document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",x);this.destroy=function(){mxEvent.removeListener(window, -"resize",x);this.window.destroy()}}; +m.apply(this,arguments);b.gridEnabled=!1;b.pageScale=h.pageScale;b.pageFormat=h.pageFormat;b.background=null==h.background||h.background==mxConstants.NONE?h.defaultPageBackgroundColor:h.background;b.pageVisible=h.pageVisible;var c=mxUtils.getCurrentStyle(h.container);g.style.backgroundColor=c.backgroundColor;return b};l.init(g);a.editor.addListener("resetGraphView",e);a.addListener("pageFormatChanged",e);a.addListener("backgroundColorChanged",e);a.addListener("backgroundImageChanged",e);a.addListener("pageViewChanged", +function(){e();l.update(!0)});if(l.outline.dialect==mxConstants.DIALECT_SVG){var n=a.actions.get("zoomIn"),p=a.actions.get("zoomOut");mxEvent.addMouseWheelListener(function(a,b){for(var c=!1,d=mxEvent.getSource(a);null!=d;){if(d==l.outline.view.canvas.ownerSVGElement){c=!0;break}d=d.parentNode}c&&(b?n.funct():p.funct(),mxEvent.consume(a))})}},LayersWindow=function(a,c,d,b,f){function e(b){if(g.isEnabled()&&null!=b){var c=g.convertValueToString(b),c=new FilenameDialog(a,c||mxResources.get("background"), +mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&g.cellLabelChanged(b,a)}),mxResources.get("enterName"));a.showDialog(c.container,300,100,!0,!0);c.init()}}function h(){function a(a,b,c,d){var f=document.createElement("div");f.className="geToolbarContainer";f.style.overflow="hidden";f.style.position="relative";f.style.padding="4px";f.style.height="22px";f.style.display="block";f.style.backgroundColor="whiteSmoke";f.style.borderWidth="0px 0px 1px 0px";f.style.borderColor="#c3c3c3";f.style.borderStyle= +"solid";f.style.whiteSpace="nowrap";f.setAttribute("title",b);var k=document.createElement("div");k.style.display="inline-block";k.style.width="100%";k.style.textOverflow="ellipsis";k.style.overflow="hidden";mxEvent.addListener(f,"dragover",function(b){b.dataTransfer.dropEffect="move";p=a;b.stopPropagation();b.preventDefault()});mxEvent.addListener(f,"dragstart",function(a){n=f;mxClient.IS_FF&&a.dataTransfer.setData("Text","<layer/>")});mxEvent.addListener(f,"dragend",function(a){null!=n&&null!=p&& +g.addCell(c,g.model.root,p);p=n=null;a.stopPropagation();a.preventDefault()});var l=document.createElement("img");l.setAttribute("draggable","false");l.setAttribute("align","top");l.setAttribute("border","0");l.style.padding="4px";l.setAttribute("title",mxResources.get("lockUnlock"));var r=g.view.getState(c),u=null!=r?r.style:g.getCellStyle(c);"1"==mxUtils.getValue(u,"locked","0")?l.setAttribute("src",Dialog.prototype.lockedImage):l.setAttribute("src",Dialog.prototype.unlockedImage);g.isEnabled()&& +(l.style.cursor="pointer");mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){var b=null;g.getModel().beginUpdate();try{b="1"==mxUtils.getValue(u,"locked","0")?null:"1",g.setCellStyles("locked",b,[c])}finally{g.getModel().endUpdate()}"1"==b&&g.removeSelectionCells(g.getModel().getDescendants(c));mxEvent.consume(a)}});k.appendChild(l);l=document.createElement("input");l.setAttribute("type","checkbox");l.setAttribute("title",mxResources.get("hideIt",[c.value||mxResources.get("background")])); +l.style.marginLeft="4px";l.style.marginRight="6px";l.style.marginTop="4px";k.appendChild(l);g.model.isVisible(c)&&(l.setAttribute("checked","checked"),l.defaultChecked=!0);mxEvent.addListener(l,"click",function(a){g.model.setVisible(c,!g.model.isVisible(c));mxEvent.consume(a)});mxUtils.write(k,b);f.appendChild(k);if(g.isEnabled()){if(mxClient.IS_TOUCH||mxClient.IS_POINTER||mxClient.IS_VML||mxClient.IS_IE&&10>document.documentMode)b=document.createElement("div"),b.style.display="block",b.style.textAlign= +"right",b.style.whiteSpace="nowrap",b.style.position="absolute",b.style.right="6px",b.style.top="6px",0<a&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toBack")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="▼",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a-1);mxEvent.consume(b)})),0<=a&& +a<q-1&&(k=document.createElement("a"),k.setAttribute("title",mxResources.get("toFront")),k.className="geButton",k.style.cssFloat="none",k.innerHTML="▲",k.style.width="14px",k.style.height="14px",k.style.fontSize="14px",k.style.margin="0px",k.style.marginTop="-1px",b.appendChild(k),mxEvent.addListener(k,"click",function(b){g.isEnabled()&&g.addCell(c,g.model.root,a+1);mxEvent.consume(b)})),f.appendChild(b);mxClient.IS_SVG&&(!mxClient.IS_IE||10<=document.documentMode)&&(f.setAttribute("draggable", +"true"),f.style.cursor="move")}mxEvent.addListener(f,"dblclick",function(a){var b=mxEvent.getSource(a).nodeName;"INPUT"!=b&&"IMG"!=b&&(e(c),mxEvent.consume(a))});g.getDefaultParent()==c?(f.style.background="#e6eff8",f.style.fontWeight=g.isEnabled()?"bold":"",t=c):mxEvent.addListener(f,"click",function(a){g.isEnabled()&&(g.setDefaultParent(d),g.view.setCurrentRoot(null),h())});m.appendChild(f)}q=g.model.getChildCount(g.model.root);m.innerHTML="";for(var b=q-1;0<=b;b--)mxUtils.bind(this,function(c){a(b, +g.convertValueToString(c)||mxResources.get("background"),c,c)})(g.model.getChildAt(g.model.root,b));var c=g.convertValueToString(t)||mxResources.get("background");v.setAttribute("title",mxResources.get("removeIt",[c]));w.setAttribute("title",mxResources.get("moveSelectionTo",[c]));z.setAttribute("title",mxResources.get("duplicateIt",[c]));u.setAttribute("title",mxResources.get("editData"));g.isSelectionEmpty()&&(w.className="geButton mxDisabled")}var g=a.editor.graph,k=document.createElement("div"); +k.style.userSelect="none";k.style.background="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;k.style.border="1px solid whiteSmoke";k.style.height="100%";k.style.marginBottom="10px";k.style.overflow="auto";var l=EditorUi.compactUi?"26px":"30px",m=document.createElement("div");m.style.backgroundColor="white"==Dialog.backdropColor?"#dcdcdc":"#e5e5e5";m.style.position="absolute";m.style.overflow="auto";m.style.left="0px";m.style.right="0px";m.style.top="0px";m.style.bottom=parseInt(l)+ +7+"px";k.appendChild(m);var n=null,p=null;mxEvent.addListener(k,"dragover",function(a){a.dataTransfer.dropEffect="move";p=0;a.stopPropagation();a.preventDefault()});mxEvent.addListener(k,"drop",function(a){a.stopPropagation();a.preventDefault()});var q=null,t=null,r=document.createElement("div");r.className="geToolbarContainer";r.style.position="absolute";r.style.bottom="0px";r.style.left="0px";r.style.right="0px";r.style.height=l;r.style.overflow="hidden";r.style.padding=EditorUi.compactUi?"4px 0px 3px 0px": +"1px";r.style.backgroundColor="white"==Dialog.backdropColor?"whiteSmoke":Dialog.backdropColor;r.style.borderWidth="1px 0px 0px 0px";r.style.borderColor="#c3c3c3";r.style.borderStyle="solid";r.style.display="block";r.style.whiteSpace="nowrap";mxClient.IS_QUIRKS&&(r.style.filter="none");l=document.createElement("a");l.className="geButton";mxClient.IS_QUIRKS&&(l.style.filter="none");var v=l.cloneNode();v.innerHTML='<div class="geSprite geSprite-delete" style="display:inline-block;"></div>';mxEvent.addListener(v, +"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.model.root.getIndex(t);g.removeCells([t],!1);0==g.model.getChildCount(g.model.root)?(g.model.add(g.model.root,new mxCell),g.setDefaultParent(null)):0<b&&b<=g.model.getChildCount(g.model.root)?g.setDefaultParent(g.model.getChildAt(g.model.root,b-1)):g.setDefaultParent(null)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(v.className="geButton mxDisabled");r.appendChild(v);var w=l.cloneNode();w.innerHTML='<div class="geSprite geSprite-insert" style="display:inline-block;"></div>'; +mxEvent.addListener(w,"click",function(a){g.isEnabled()&&!g.isSelectionEmpty()&&g.moveCells(g.getSelectionCells(),0,0,!1,t)});r.appendChild(w);var u=l.cloneNode();u.innerHTML='<div class="geSprite geSprite-dots" style="display:inline-block;"></div>';u.setAttribute("title",mxResources.get("rename"));mxEvent.addListener(u,"click",function(b){g.isEnabled()&&a.showDataDialog(t);mxEvent.consume(b)});g.isEnabled()||(u.className="geButton mxDisabled");r.appendChild(u);var z=l.cloneNode();z.innerHTML='<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>'; +mxEvent.addListener(z,"click",function(a){if(g.isEnabled()){a=null;g.model.beginUpdate();try{a=g.cloneCells([t])[0],g.cellLabelChanged(a,mxResources.get("untitledLayer")),a.setVisible(!0),a=g.addCell(a,g.model.root),g.setDefaultParent(a)}finally{g.model.endUpdate()}null==a||g.isCellLocked(a)||g.selectAll(a)}});g.isEnabled()||(z.className="geButton mxDisabled");r.appendChild(z);l=l.cloneNode();l.innerHTML='<div class="geSprite geSprite-plus" style="display:inline-block;"></div>';l.setAttribute("title", +mxResources.get("addLayer"));mxEvent.addListener(l,"click",function(a){if(g.isEnabled()){g.model.beginUpdate();try{var b=g.addCell(new mxCell(mxResources.get("untitledLayer")),g.model.root);g.setDefaultParent(b)}finally{g.model.endUpdate()}}mxEvent.consume(a)});g.isEnabled()||(l.className="geButton mxDisabled");r.appendChild(l);k.appendChild(r);h();g.model.addListener(mxEvent.CHANGE,function(){h()});g.selectionModel.addListener(mxEvent.CHANGE,function(){g.isSelectionEmpty()?w.className="geButton mxDisabled": +w.className="geButton"});this.window=new mxWindow(mxResources.get("layers"),k,c,d,b,f,!0,!0);this.window.minimumSize=new mxRectangle(0,0,120,120);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0);this.refreshLayers=h;this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth|| +document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)};var x=mxUtils.bind(this,function(){var a=this.window.getX(),b=this.window.getY();this.window.setLocation(a,b)});mxEvent.addListener(window,"resize",x);this.destroy=function(){mxEvent.removeListener(window,"resize",x);this.window.destroy()}}; (function(){Sidebar.prototype.tagIndex="5V1dV+M6sv01rDvngax0oLvveYQEaGaAziE0PW8sxVYSDbblI9uk6V9/VVWS7ST+kB0zL3etbmIn3ltlfZRKUqkU/rpRLN6MmFJym5yM/8QL/Xnw7yLceXQ03fA3JaOTyfjCQCKZehvu66tErCMW6J9E1M4jlJcFTJWIPP1VIKK1ixj/zML4VBRiTMaf9HOKx8G7/lwy71V/ZJEv8Vv8cKea9KW646tU41nk678/4tK7SZVu5FpC9oz/TDPVnkEPJlsn4wVma1lEnVemGByy6q+M+SXkSmaQ6Vv27gJeBDzyOQDMu1ma5FVEEVBEtuokgQhdyZ62Uv/9qWWoYPRltgx4A3U970/hc6BnIuD+kdI+KbGTcelGce6ec4evOBl/k0r8llGKtWBTvulF98xVKjzEvxWXDVS/M8VHF57Hk0TDpzpxJQGScC9TIoX3euXvVV/UcWWpDFkqsCYyfaM/1ly36vGfgVhv0oiasyfh7ypgyaaBaKHl5/nThqb5VeAvZEigXx8k0AolJJUkVjo7jGBOHFOm29Se3FZin6VsyRL42V+2U90z9crTOGAeIEK8Q1UCnMlGxk4CLWb/gsflKt0y/MLnbzyQccgjaIivAjgTT/Gtr4Quf9cXXWRLjRKxyRwvkBko75hHnjisPzUkP/kyESnHtwoAtQ7kkrehL7UyzUAtLrh6E5g7Nnn9iYo2SWW8ZVr1QYsTIW8gE+ll5kHWQlXGdr/Qug1Zl/RDe2O4FL+fWPBaiJSUZGoDT6HRYT3DN9Gdgy4agY3Q59gj+iIOdAOB/MmYYlHKqYp5PMLaFHMVirSSG2XYySnnZrGHNW19JdaZoiYxGV8LbGq+9DKsT0APT3Sk1ldzXaZszQvOpfzlkndUYodytAPDOEuxuocyEqlUmM+Jbm6HevkAq0sAW8+MB9BmQJs+8HQr1Wup3G2zL6uCetJZjXKofV7J+FLnUUWtxZyLTYa20FzpV1GxEgnVdxH4JOgyS0QECr4F3z3nEUHWUQfUjUi/ZUv7tjqTGaCkl0q6Wou0Ef9tdhslUBAn9Xq4GshZkG6gTmx0m8EqvuGoYzb4iwMYdDnVMcpbS2QM3TYB3mM0Sp71/0fuSVPf7lmki1d10DN3LE6x0/CKut+GuddVgGpRyFCtc/sZYS/Cm9FySdUj3sgIPlOZeZvWNAm1o0uTXH81UO3zZEEqQDkwD5q37t+zdAOqNe/RS/aJ6Tdi5purBt73xV930PiLapT8HTTXqz2Kh7JloQ26bIlVOtAl6dIY9uBPMhbeCdgtu/ZLJeEe1XdduTSPrpc6v9+TlIf64jakMpeQ9RumQFVr3YiV3vcb+eZyy9Viw4Ogl1p+nM2xmofSyNSdYgHjnSzA6m26fu+wTKtwYM30S1LXTkxPsYp0qp+nbu8yg271r4xnWM3/hoseBI+8qttygmLlSfLhZtmsS7CZUd1Kds295iT2m4dTh7aH0qLgF2QqGo5qVVdLtHiPvIp2mdDXinvvXtBgGhLRI4/1sJs09z5TqY6sRCNVqlU+2qxPDNuRuxm20MqLmqNOO3CqHRqxEGEclC3jNtATkMOLhFZpOynrH5FAc3UlcKRsbJHvy/9wD8iylUSFJHhrrfmRYBPaZCGDZ2Mu6QXolr3prFf16OdvsxOjqyqUVPXzVEngw+g2Qrur8WehCxWnqu71sE9gv/QWnrSalK00WglxllLFX+VXVaxv1TMae7yFcRrlV2059PNiNr2+wdxh60gmKamJ7trRDvIm4xsecYXqxI7z6sQ5pICWKDHp6jFiEyjpgtLioL1lU6MmSu3VHZm0QtcI1RVNeKNzGAFJgWOKBdVznGCrFreM/HKITETdyKkM/N9DIDf2cRv0kkURtlU9wqmbZi0/PyWLbc1lyFPVML+0A1ISRx9xkOHMcnWTLiNmB8o4kjikjlm8b+zuQa+bh2qVmG/Gis+HAYE2zZHj9dAqLgPvJXahkWNuP0g0zcIlzrGtpFoK369Qp4fI78Vsse53lGDRGrMlOTTcK/GLUGcjKBk0xzyUesPi+L0VaKqwwAyJsZa1QTJg91Gn6b9BZebsYZ4EWlt2PIafME3WhvvJUC5Te5e2Njdi/n1Ck0qQDos8HmD1qimQAitlmqT6ctQuZDXuvnbYFeZDs2aGrHO/ahjiEB4oTQTESnp0FepuPqhLWeNGFz7OU3sdshlglzYxrUSzgBfmUpPpU8LfSSohuypUtyJVgTLzrapCYpy/3+DL1HLo4Th1tUbgDZjTrfLmYw6DMgpLG2I0PG/UXEiQW/NOdmUJieZWIW7X2uGxpS6pFOc56RJq59+ZiCutggPcaHoJq215aQnIhaXijIqAeoxY7hd6Pc9k/OvTeBi2SZ1U2lbpyNMkVUe2s1qpcEWpG5OW6/NQdOd1ghkTpgtRg1wd2O6nlP+f9Z8vZxfwynOo0yIS1pbu8OYu/Ocu/NVvUEv/5QzTGH+Y/OUEhn0BCXOdv2nZeStgGca+Qv6L7k7ply5yV/GeD8QLo1fUJVis52OdLdW54KDcdgnh5SdDsZ1NSMYB+OZKdzeemUTU5L0JH3kifOr+pplSdm3E9EwTKCDlNXeHjlznnbgWmcIlpZ0X/QQUdT2COw2+VZ0Kd6fBVlGvct2JMGdqdWQlzxMsG9Lo4HwchpO8t1pWzpe2cgxAAVrpeJrPA7zNF9SNx/N87cjBBXSnvLwsp4dPfK3sokXMwDiMauCrQEoVB2i9Bey9fj1h7/HRJWrVmXWaWeIi7ipTkTAdgiPDQphRZj22Bi7lq0fTbl2h0w0Tqg9OxgJ1nM/N6pIbiuZFE7liXfNo+vgERvfzSXkOrzSvVyFHBcuMJ6842apogGJHR51E2SWhBdl+REqP2OxKZIIDgS1TvqL5thqqCp6rgOvhBuYDTzwWmGsXEa71wwPk6zVcaZ47FkIjrJ6EqIZWLa7GMGIMmfmrW7EkNyArDMx8JmnhXlRB+321oo7PVnGvtapXsMwFw7kK/T2OSkWUpKp6+rYKrf/QRJeC6XD9w7ZpIF8CKtBcndvXI4uwewNXTBbHgYD5lo7YSR8sXymxhuVQrDNd4QtSB57RDp0K6Mm0O58nzb3DPoRyycB6JGn8MI7Anx2JPz8S/7kvXgpa79KqQ9HSTcBQ/4Dq0CotVVIe+nbu0/xkKWrPqZS05LyFLzx75yLJzx01EPRQJJW0vr5Ab1tYrMEaHdBdYnvoZrEA9Gg9ZohAmVtHhi359DlmAzyd92ievajkqEH/qHu+GnJYvo0JiMiv9m2vyT6h9WtStVreDrmUaYqylUmW9stWHl2ZhEr0QArLCm8gZwSuUij6ur3sc1PQFH7uT92evohejWaqqiltuElXXLmm/j+A3FjIVhsDuAQF1ydoG5BfGf87K1xIBdNpVK4S5xSjiyiSqXUn+oTtLzTmgdat7X4fNUyTY5imMgjIJXajR7XrgFU4I1Yj9z1PktyDoh1a69DRhEJPs9MSNoQvnJbIC5I5i82MfOy0OrWPXxSlbhwbwJ6vXeg7gIOHiil9HgQiTuwsYHWjr8NPeuOloiEoiV5XaDXoLAyNw1gWeda9L4NqX7NyvM/wpG3jZMXLa0aqbhGSsAFn0UuozURaL35jQQYGiTYcOKvsWCqRo2sRiYS26NxI6cPaVypx9ktnQdhXoNENLhtzM0/kZ3aeyLjHkczYqnhzu9ph/Z6liSi5G+P6TyFokoHR3FRfd9ie9YiCNrGY5SezVumCvRCoMEGUr5BFNCpS1oeBfqvWtnoQpKSAWhFK3EnQpJrNw+T0/cv401zY3LzE1TG/bT23nQQGnZGvh73YYAcmnIx/bsw2i+oq1JX6WLqFriXpUPlYSTZEfrYSf1BG9KKdg180DntLtdt48jVOf1iCvzLhveoeWqIBnV8syacIb5f7q8qNJMaS60e0sM8le6A9vkYOrShobmsmEhgugo691r1yQrtqXCtFI4+uD6aMOhRWwTjHybOe4lhwLxn0ANpM+Z2Yib+G2aAcpGvuSvAABIZafAJ2Et22IcEVW4us6wfq+C6S7kDBQsCcas+wbYINImS/0R7YcrQGi10FbJvU4Ua6m3mxj9J+pQVnCqd2rEttYr9oSL+eB7bmXeu/IU+ZTzZPf+Ir4x9kPrpAF1cLSNL6C1tPo2LHhSPNww7N3t7JPmyTMb3VZPywRzZoIt+enuYfnYbdoTEY6187mW23DfShmYyLPT4DEf5l0UfT/bwu08B8uRnq9mGCZWRP+GSoDsZpvH57U5ppvhet7F6MNzSYt1dTGkgx8LsuqYaeVNrCuL+tIwxz53URloZcHchRr/00+20P07A7cftJPgO3BzSObqMkNTPyh4nQhoxi6C+Kh7umeGXIdYrzyrTE4d5rV+7GdziaNakWdy8rutDfP+5Q6uGXHqZnFasiznRQXfSQERvNwMTfZtcLB/4N88lR1Bd6tC6Wmg837JK1nNA2OOekn+dT/fCb2WwBbrLizezlPixWZ8bSBMBkfKP5KGDE8MncwhpdhPvfPzKZR2kWM4anfp4/4AqMtort1M9HJXJkDjXvPK59fDR7j1goZ+Ci5eNlH6zuA1JT24fiScpErMTelfGWWtwxQgHFjjzCtuJuPPlabFdZTK9hI4CU1LD5pjsLmKV+V7LRWsksxg1IcNHhDR5nYFYqnRg0I1Y7DGhmMD12qaM7njEng/2Y6I//yONAG9BDsy/0hb98H4T2Hv7QJtJBMyPfgD54Nn9XzMNV9SGpaSsqKq/cRu6MBdc0PRqMupDoGiLfYQUGNXqIARPglobh11LlMYfykB2l7wahxgrlvX5sEk9cZ8huDzRQKtakbzDk+1FCsCUTpGAQ6tuLe/08bUXGeA7Ms1uV8of6M2tpff8UM/Pjklg8LY7ij2R0alrmSxLrke4KNjZKlWGvuIKL9jaT+K844epjECUbNApnkPOgUeM/X3eCrRwyjB44eY2kUW34pDKElvowWzyKrfPim8g6prYrSdGFbPU290OwgmbZRoHEXmVmBwR7emHQ9K589FG7k96B/hk0nQWuRNKy6Ee92NUl1NrCPFkWAbhqXT7dWLX8EYuTjUw/LIFnGWQh/wD6BXjF5f1UsZTtMB/UxgtxO0xUsg9OYDJGlyEbzSFpS1HaoA990z06HU8knhzZKFZAVIpoVV/L92CjS6WtHnxx8r5FZ4xmPbZPYSMdQGbmEnRmuZ+BSxs5k2zBqQJpskiklWy1PIuQ4XrcZbGXdyOzpNmGIhLrhZhgucX6peINVyxIRreX0Gvda5tspRiF2Sk8FlPjIwyemeTOGHtHJCIiCOR0sTgfj3fTib1jX+DJSDoQaa0feE+++5K/Z4mSnEGL3N11JS8SdE9HeEra2FrFD0fVEJwXKwldJ25PbrDKdG6T+y2FbhlOcDth5Q1LnHvED0S48Kx/2FCEsd33NxRhFplVkqLAB2obiywGV+ucayDaPBLSTg7QOnlfSrsfbDAhf+w3rmPInvWoA13OtB5XbLiypwg8lxB5eMgqVVuZanqbKm6MWRxY9lBCxLhk9Gl8cwW+HVN5dYJRLrKWiYZmurNPX2FH4z9mJNcfpaWJPG5yYKpu6aZ3cv+m5HAb00cnVgRBzXdi39v8OjrjroXiW7JZiggXhh5ecLu4/2OIdA7Ih+C0URSHz/MioFee56VEdMY8L6Zn4/H4j64J+jq/IUgmzp+b6y6wEYxlgxIykG1Rnohhky3pFde0sAJNcHzJEg7bJCks5iZrXimpI5rC90ezHIe2hvdxLPtLT+vGRajDkGp7CYT67+hf/B0KezcseyPicb7Q//TPKq5zGD7AVEZwdULma3qeVjJ2S57b61YwSp+Hph8BE1dXDgpQOjcGb+4p2SrbAdM3KdPcbjaf3VnymLd5WP3beUk+j7fsaqrn9TkFJPQrFsNcGBZy1fn98ihC1q+7DaDQ1oZqouwycRukFLu3dNmOgkittj46JoQQiBge6qE3zdklpmeydmfxSwdGCKWYi9Gw3aQOW5ZhVeZyJcFB35Yvc2AIX5xYT8lmDuyBqGnbgCttmK3uIAKaf9iKlahB3CBCP+hRsMARW0IkMy8dzS7A6PXFWtBxF0yb1JJOhojg6IqKWFkNZDzMIFCirvAwwaIr7K+WkNhVLLocKNmlbjNx2x6lKob77NeplWVXkmbJ2kgP6LoxmMDQJnrgRQixmXBHdhgHEO11GMbJcYxPF0YqWeLWYzXYy6PrBOx6MQuYNYk40E8+lv7so+hhS5RdIZybEIxJ7RrQAY/HYuYJYxPmN93Ro2mOpaLKnJtIDclkCBLIdnpKBu809V/B2YEQ9rFnzXF120k+DyHVvWn16MhY4oLxfZEUdGfgX8JJf4YhBSXl2riksJ0fl+Yc48rnacYyEc5p+kJbKDRMIc8YJ5TJ09OQexsW4VeTUzoFaZFHC9vWOfu40N3JzE/yubPiqi/fPEs25XHeA/R8EazqB3igGIZaadjY2JH9+y67VkgNe3SbuSkWPY1MtR4aXPYK/r7SC+6df/o6upieXkyJMbcictOiI9GslqgwW9z5ZkOSYUybzp1tCT0ZXwoa49uuqi/bZWEsrawB1RVvovH2ws8u9jK2wqZ0J6uoPkfyHdSigq/G1G2hFKsVV/nu8OOqwlXkqfcYV+Ujr4MSNvBv4piSv5N90S+6GISHsyroG8kqHFXr0GiLkSlkrztjR7cWaQxpYQKduHV8lTxnA/F8PoaHds5r9cvtqwllZuaP5Jr04rKxrai0aiNdteNB6XEtitG9YVy6dGx/u3UO7+rqXgt8BIeZbHRmSDrxBfxX7ozPnDnQxIkSZtd4ALvjNdHoOktsECndRI7iwMLi3LlRVZLgaGiZyIC7t85KovOjpLkNggwW7MwhRJdZAPMhwn4LrDY4HH4u6YFOaWCQOcp6yyXKyXaX2jBOBmREmsMMILbD/OiTDw8ch6gm5l5rEsfQm0o6QBIyWfE0gbKjyxM4p6UhNEcFdjSjpRyY14cFqO+L6ytY9Xg42RmGgd0b7Qfb70kNm9lKo61e1DnZ7XQgYXcZB5UR1hDw/AxdgV+HFHW+R3ysxA+nFlYqrk8nDQPyXoyTwRnPBmc8H5zx8+CMX45hnNeVde1ESC/GyeCMZ4Mzng/O+Hlwxi/9GaEI+vYPk8F1Qg3jETqhhvEInVDDeIROqGE8QifUMB6hEyaD64QaxiN0Qg3jETqhhvEInVDDeIROqGHsoxNknMoXM58ZCS8ZfcX127U5iH2Wh61O+Fvt8V59WXNf/tm8lILPPRGSP8XhGV1Oqf1Z8w6RqHUU6Eu6+womgePf4O5qtjcK46FI7Xmfh4sMHUgnA5MC1SnzUnR9wVj7UwjOkHgUfiQwR7Tlnl8wxY6ztXuTfE6pfddfnHoyi8mDDH4v7vqVK1Li6qZIaAYNHtn5oh/xfCNTabM1hpvqbK7le9GjQwwIhWPQ3eXYDmuvceC9BMz3uYIjmnUBfc/SOLNRNdvOdnYimvQmGkCW3lLAHouXRLcBs6wtjQtO6YtjuEY3T9+L5tDeEMz8W5rhMRpytYKbzbsytdA52dubqe2n7RkdmJbhR7+g1HxX4u/+fiahyYcn9IBud7c3l8V7JVmwm9pSxJIO16tsuv3SmvwX0zr7L6Z1/rFpzR/m/7Xy2knrg8trJ60PLq+dtD64vEBF2cjozv119wQmH5jArfXCwy1oVdqmnlFxyjr09OTdev1ErHWH/JLkcYfpqh98hCu2C8vAYC3RTAF75tSxHqSzEqk5mQOXy4dknXwI69lArM8YbPtNBmlb7O4GDlzfPZpj0p0k3cA+LbApXyhkLjoaNZ1d40BB1qnx4LbGaaVDdyVfrm6SOuXjit+Ztvhn5XTSf1wnqVpoJwPQzqul7TrsbqHsMyOyZW8c1qjRj9lcN2KFTL6OQInikrRX6yS+//ToApuTp3ibs0IZg4FVMCYjRjJIRUgRfEIR+U3L1iWOS4pZo3iMDlXOmK3ZLat01ZcZaXk4OMWRAEbHyQbdepby8BD7ShA1JGaiyXR7SylfMSnZdCJ3BQxEKyITQKzeRvfFMlYJvjKn3KVSBlWvWQOdsoBHvomT7l4dphsME+CLxMuSuvNoKoG79cfmsANQhrpFYVgNXzSPEXdQaKTQuBCnSsyR43ownoqKMwoqSTDc2X/YG3NN1pw20RyYrxLIjY+CrnKyRXeUYcWhIJ6MnRuXhWGHVFDELGnyJNkh2OKMnw11g4Ygd622V/bY+cn4H1dhnL7j7ss8brDizK2Jl3lM2GFgyqJKhjqSd7TIMX64iWZRLOk3nS1T4rgOWLLZceFwTf1aBqRfpFqzSPx2LnkCGte1ljM3dmDKaNXIxFtn+wc41SBvWIalAw242V4ogwI6tnGtP2t3cB6gvnE6eWjDtSVdtxPoECVRszSFIjnA3JXcTA6dXOigrHLNaKWLMDhbOXaomxw2eFN+ylHr5p9d9CuOxmLmGzVbeTBsNVa+klvSjTkTqSZcfA3+3kSKz1svt42yCP7eRpFjPepdikOenMHJjgyGxwFdjlPyJskyh+TpZEut1OQ6EnkQdyXa+IozQvPFCzdBJG2YyE/Ii/6HPnXBRNJ0uWmmlq08CcyoPgu+5XRoBzo61vWBMqbth22kb6Bj8RyhXGExPDHH+QUfJHYtekSFORtmCfouAkUgKs6QOyD4rm2dKD8L7M7E1dLGLK49KZlHcKjM+SpG3MZEGyx4hVFZh1IcnZ+9vQx0MDOq6cQb80Ba44HuJMQjz7vdleIJncQXc6z1iqfK4e0fi+cLipzVkYIe6y/Eopxp1fm6n58eur+vuTmvpZJ1Q2EGs9i8j1OeLvRQISZVOKX+Z5k5V++F7oTNWW0p6RITC84nS6kNrkcM+b7oxu3jh9AUc0JVO2XWgmS8LaJxtljmNQwHAxZfsZqzfA/hGTZVbKaOtlcVjTndDjV3w2Elhzh5MDZwwylt6Hm4CV33De8U3XYpnPv5H3HnavmDgt3AYbLMhv5gnlv3lkckbNf/u83PgdQsSMuMuoOKyNBV4J8soGhI1LbM8NwBJ66h7y1t+W6BYdiHqT0vsDhC0AlmZix3gmrStI6LSYccnQd0hCJtYU/oc4Fc/YrJWLGg1pJAmDnLt0tKd7rWGv1o8zUxh0e5ETzarPB5q0d+CWVsoi6iLuyZYf/4JpX4DU0mgKFhzXlhDjzP0Ga8niw42wdtd8MrzPIaUDe9jhhUL035tEYAnVM4Yj5s/RIJ8dccDVqB88zUEW3lzqeRHHAKxmbB6EEPPU+1HfV2sjO5507QBwvHclIoEjydTFtegtsjbu1nO0sxrWQuXVAwowseJnbKxVy6QPVzGUm9zNIUp160/j6hKMPgQ6Z/hwalvzSWRkjftNAaNZfgfq0LU2Pi3CDuSPCNNFBX/A03PRrO1PIUNZfpqk5aOqdKQjMYtaZAMSBsFkZXCFwOYUtYqG2JVRXjYYixMOe0Fhu88o5CSRNpm0drEXGudhtwmWkyHNWIwZ5Os7JjryE/U6F7s0qrrAI7urBIrfOmSibJ6SVnIYYAgztQFFXn0TqwXcMi+OllwPDA1znz/QCn6xri2N4UlHHMtCrUbcG5HRVgDPokVhlNExR37UAZxnAooglbkd91AdLa8IUwEQsKhk6rxPukU/sSuDOnxDsZn+r/T5laCjzNdqbHl+SdqdrWpPbSeDl9EYns+N4qSzYQZ26ta6qJU4zfnZTPBcMf7SfFPCKcG+doCt+gJQJZe2OTgvDBNok9wlqBda7QLCpe4Od70xAGMNQWi1YJ7yYbfRZKqNGVWfkDcaVpGhfTP/pUiCbKGVK6L8KX+TDcNBtGth2uPkKtOLcT3XjVWqS0ldtxU3cJMLoTf2cCD2MlnBb4UkjcNEt231I0x/Qgsnyktcp9dFsggdy+JDxKrB9j5NLUNpylL/wXLEGv6XXzmxOcOk/zC3eW0bX4Rb7AqWJmt+ZTtuSwR/gbME3GV6VU0mzZrlL2kzjggZ5G4smcmNQfQxJfw/jEL94CFMY1iwZNYz+vepP/gIzfsLgscO9s77VzHYChrgJYn/DC8fHRbXR6Rz3Oo9QjF3Cwvzd4EQVt/vuVRAuwg7zuRGRQlYiOxePknteJIiMPcPh0e1j3tj7OIxmIXzGptINKOFpEVmeYm9bEEl2/9Nu9mN6YDoSxvWYz9A2Oh8axD125AkYzmS1xpgwCcCqOu4ifmF0qS5mggacnILxwy2tbTsRjc362whzHdbQsureQMv1jCKJSPkH02qE4oR8DSqlHkuHApI9Srj6AUn/A2HJgod/0YNIfkotq4mDlPxPaePWHzNUdRpL2QyrENQswYMaQlIG0kTMGy449ziOKTzHv1cQjtSGipyxlwTuuw9rRbh4a7Ww8GeuPFU2bwNazDd8GPCX3G++VfDMGSuvTsWl1BYHbLB24s8bTzSIaNOQn/b2HS5wxM79X40csgk14OI0Rme14qcwUrRLTVVj+sZlmhIEVZnJtzi1bCt9v2RBJ+JWUfk3SrbjRlGFQ30J3kY8OLR0t8d6J55ph2V6TLCFvcaIpIR95krJMschu0lo1cLQSTLoRkOeOR8uwuRtPyH3hkaWxkUl8GHKulkXnJ27WvMNjMzx9A7GTxO+mGMk1TLcYXfk3s3OLonTfjWkhPQqA5hyXvIboaTaD6gWrBHuxn3NvcZ+zlXlmP2z2Hq9ub5nmvGIK8zyGyDUYrFW33tY6Z8D/zHTh0BkbFr7Gste1UcGI+L2CsJrqnlEczzt6Ad0AmN/sTrkHR/v2eDG48jL1PggVueokeoAdBKJlGWsH+cDjNKPQ58cKMQ8y9Pw/mmjBzL7F45kiuV0F7BWe3DYtBFRh8Vgf3MiUtiyrVeAmPXFnPXHnnXE/tBrNBqnIz/xYIqdw+oeA0TXX3SkWruyEuydUR4ytDybNTrhJZ9xPfCXTT/J+2EkXbMJWHI8Y2LDfVSZVHQKsmW5mTIHTHVVIzp5g165p7Q0+tXXX2jMknoA5kJHugSXONIDwQcUpVhXQWCo6hxEuSp8OKAgrKdGA1WZtGJLwsaxdd61g+Bd7Z7j9RG7NSrckL1MWybrACTsEj3juzTJgZkEjPwdH5T+0Z5+l2prU96VxQj+foN8RbOAh++CNb4TXbkoa/IIJGu5hiom+a5ue3oNHwkztQRQNmZDxk69WFodopeAmBZricENBDbXHI5zqA8dVG3vjTZvdLqaC5XjVPbLOTWWKKcnvO3BEWECK1hkSe1e+bgx9uEtma6zdatal1pbAE3dwyr1N7Wk0VcZjA8veYXB0RmRYOkBy99jFtDiUrpbTfX3+APq4gMOCYAkI2oCgQKVkfSVwNAHqoyaCp/ztTXE0nD7TCJ4cAz47Bnx+DPhzFzDscoR6WGrQb9ycJgGn2HYjGF2gr3iR9XjdVYwyy2QQlrNBWM4HYfk8CMuXQVi+9me5xHDCWMjZMsCKkj/Ri2oyHNXZcFTnQ1BNWR68Ww/mHLy+G1gmg7CcDcJyfiQLHNeYqgw9JVcCp5DsbReaG4V7TSbjpwptVlNgraQLWo295AGaUPpuSZcdecySE1Mh+QLBJ87PO1p0+3SKiWiohmfJBml6lmyQxqfJwgHfMhzuJaF6kmBHVC5LMxmG5mwYmvNhaD4PQ/NlGJqv3WmMAVSzCFAHGZFz7WT8cHWCx8qkm1NOe27xhjfuv61m+pkzbXnBZK67MC1ApkRmhUx400Omxc+cyciBNx1kumTrNQ0GgsxeOUPVEl1xFrSdZMOE8lriye0SQOiGyfgCu4uFzN70aLTEByEdktJl2nh6xA4zbSXx3ksePCcYI85tkcCwXAX8zXh3BGLV4cVwZzB5AdvtWo5InC+aM2Xmi7rMOBmGudnq6dksqDzRrBoLGY8zRpTrXXL8R6zHpIK8YuzF3r//Aw=="; Sidebar.prototype.searchFileData="7Z1rU+O4s/A/zVbNeQGVe8LLXLjtEiZ/HGDqeaNSHJHo4Fg+sj3Afvoj+RJiBWbOY3VIO5mtLSCB3fjXklrdrVb3X83hX82L15X3V6P2k8mQC/+v5uivRqN+WlNf1bvMd8Wc+4v07fvpxUlP/6J58Vfz/K9a/6/mMFzSgIXFl+o/DKM3j6X/VfpWc7R6XUgaLE+plOIlPO3rb2QkXtRnDpaReojmqK5+VA8ScZd6N3TGvIkIeZQ+1kxEkVht/EHf4wv9i0gE6t0wkuKZPfJ5tFTvNdbvDIUnZPIgzVryj/pNyvaSPl43Q12mL8+6ycuL0kQ37CnaL1GGkBNlgOWJ7vhieWBI98GhTLoB86NkzpGEDNUw2WIlE+8Aue4DhFC9ZmmoIfU8EUdKmcczj2Fga4Otr5ztPzGdYyCDm4o5GY7Z2DFGrFeea8l+SuFjgDrrFKA65betIZdu7FGJgqo4BTtnpan+jlfBCc+GitRRDdYZFFbjULASK4P6cyQawwTr2IE5SyoDcj5fsDm5YiiVvYX+uBWRu1Rkjnou6q0nJ6oRbJbHO7zdObV982HDgFYcLAsXbHOlYQADW2S4FlcXanE5HvPnTGL1Mm0GLCObvgjySN8OE049BCNTyj0kyw3MJnYiyQMkUGDxKUf9BQ8VFV7VbzFkU8lRbtSd8u5mQXeQKyH5v8KPqHcwQ1bge8geE1ewoLzpf0+mscS4X1sEQDImfbSCEKzTsAXDYodkJADGfgaGJt4NToYkYmA/E0P1IOEp9fmKejqaT6UZtnrinvfRkxSf0Rc+Ky8Bmr1ymR8xuYXZ2wVmAxtmvVYvcpbYBYqcI8YQDmfPWIwlNoYPMNENJ0DoxMAUC/Jd7xY0XGKHrVvDxu4zNsh6rV30ikqcMBYpL3i4JFdUO0byDRuueZ7atqX9h/k+85BjnrVsMcdChAwdpbGHWg/mrVAG+SJEzmm/uTjMdA73D1mvGf6itUXkeCLCt6mcFRWQ9abi+PQZ+8oEmLERnXmHjzll8/kb0aY8NtROcd6WOaFOUZ+EmJ8O8AGCjWUCOKR+mBzDD9QzeQzdltJtgdKKpyeGfXV2SqvahHEkuf/M/QV5pBFKDxR0RA1adI5otwNJe0HDiFyon7BhGlO4V9rfTjHVFzKVCL1Qg7Nd4iRkg/Mfnz/h00ZFl6xup43uWBjRWFI/wqeJmm3ItblBik4LtYtRv3qttJ+9VB5ZtHSpZKd9T32STyP+k5Exm3OX+/gms2ENlva8N7l9NdJLFnKKjtbQwiC0YcjDZIxv1Hfm673WeVM/rbDR96C22g36gaTcxwa6i2EeUjnn6tkX+CKhhr9T2rQo0jKiXPWnJ9KXDN86tj+9/wA5WhL1lOhYi8ObR9csYfUfoIscdqHO3jZIR4w+oeM82wWnXNEIp4IycEufHG/icvWEEb5wjOn/QGw952/YzUYoTPKI8fS4WZy+pQOmG6wXdMW9NzKR1FXPg294oUKom8hchhHpc+yhGRDYS+Yz9SDY1RPIXL5KfiTn89il6TPiZoYYX8UsEQZs6jVDV0GEMVJWdCEbc1hLp7tsooow4BH18I3sTiZxTotubHtQgccN2uvVKvb5v4mKwqeXd+ARXPtPTFkXIg7JiIeMok/7AaIO1BCrj0MHu4Po27X6ID/UsUcdsEFHvJPhTWLqHtqAercOD/0Pn/sMnVu/C9Kb2EeYtWeAQhjNY7paCfU7dIcEu1i0yVpVazZZvIFk6cfiwjay+SACGjn2DZ9JijCDeocjfcdcIef4VvJOkPX9U5J6wdiAwXKJNoHvrrFh7sIXvGWxRBlO38WY3saR5CiDN1DZqhuw330X5cDuQjt9jyMywekQte1LZW3hTpZUrqiLbmjbTfihnSzfwmSznS6Z+gt0zKZJBTG+d2zBFQHOOPMOHHxd44jcUH8R0wU6V9e8EtyDiDY7wuVqTjtM/uQuwvPdHQTqnFguEN6w3LrHBcE6HY2wce7CnpoKhDfWesXxzJevHem9p9RxKGIf37muMX0h9p/HJWOeu6Rckr6r1FPIdQlmdKdFve5XoeM7OtpBauDH6E1s6OZVmtKj7tMo1gk5VOJTYmBOUgb5dxxwhPHIHlTSUYY5poGasjcIkyF7wAM6phKf1QjNyKQb47MYzUJW1pNW4PPyoJXsLQuiGN8xJtg2mmFOvDgS2CA7UFGZDNLR39DNWLN8o+2MdXzx8uQhrFUBPWed2Mdn2oMFxDcg0Rnxu4BEZ65DGwUasnXokNMw9umKo8M0Yt22mPeS+jE6M7bTgl2WDwwjJFTuacCE8rlOB3T2hm8bMczYeq0BgYluI+lCBcIyyuGS+ovkhneE8wwKKpad8wpfPXzsYmQ1Awe2Y3vBVhRfZTKw+jgZ5Rgho3ltJX9tQ4nQdG9C+ScbkOg0bhMqPpJDxqsVukCXWRjHFnLC5kw9Paf4lCxU8CAjdZbiBWPRNTOXwXpxZqDo1qfpkNnafY56cs/Dd4BiZi+Uz+jOQO99HrJXbJhmpMR243yk6rGUfXsnxArfKjXMeYtaKB/holurPahkozWtp0tBYsNsA++mj2KF0fxrgRXyKXCim7UtqOEM6ROL3k4HXCzpv1SiSzCq1wxbt3TlrYx0SGOMjjZYND7HXLJVkrj8yGiAH7e01s1wL6jnpXuM+4wu2glWEGQDVre5d5bMQ5hWAz2VLyRdcHwBlS5U9lCGeUX9ucfII4+WOG+aQ93QzXn5YkkehBfRBcLszhawgirQ4jMnoCIQH9HiOxSGOkjMaP9hLCAjfKliYPmNGectuuQi6K3mVvgn18Ln/ya2BJ1znAdQRund0vGINTU59yN88xd+dImzEhi9c2hz+D3WTYZShCFGZKiklQwZ7WrNj/3t68VlpI7HA3KF0lvvgoVfctZISJZ1Eb4P8JmJXWDDyeBFZyjCrVqXM99lp+rphKSKGt/uA406pgufoasQYPa2Kj+Dc0zuqi3HFQE6DxYstS5HvY1dD2e/bDAPxyBFr5Csx/SR+/OVwsIGatbtLw8aCBmFp/1VsOQRoxgDiGCHGxmqRNldGawTQ4Y5oCGbUXwztw22RDNO7gs39g75CmJOKpSN/0I9fB3ooBIm30EjckNj38V+F7pdOpcnQx3SVYAxOcswGbq2qzTjxG4wtCE4nzjC4xrg3UVzLiTKGiSGsVs+vpKT+gLhiRRYd9MCJrr1aeapt6wXaFJT5IY/oXO9wYoi5aQeX80whnrB4vgZpw5pk6HSRZF8I84z16c12NerRdj3F9Tolq851tbm0pvrYZzShjK2HdwRlxEZcHz3/c3xtAf9iXE4wSKDGaV48ZeKCq9yMobV1pgwgbHrJesFe/7KpMsRtnsBXq8XyrV5EQKd0b91l6j8SWMOGi5RLtWtEqHl0z2KpPjWqHF6XLfVSjnphCMMcgMb/5qVDD1GfYz7a3FkO7ZT+FJ46GrsmYWubG0IzYhwKMEuEq0x/bnwKDZMsMLqGeYVVXro0uNzhENqsHZK947OWZUfg07fgtWhe4fEOJRQTVpySiH1oaL7TKaScnRHi9CRpWuXkcxoOAZU55lGGFGLW4xNFmHGqrYYIYnzwlcrjLzAe83fLNJ+OHZM223mH/pG8Z2MAy/TG/7EyN9KAePLHNxyTG1ZxyIScqZTAdA54cawWh9KvaPi88KLqE3bZTrhrs9dtJdVgU9pMtopRdmzwrT0bY3gAi32mWx9Yn6nfDgm87KECEcXOOXD4MU3vlBVRHNeofwcrIfoYDUKC7C6rBTKwpPgczkpoDXzKMoADPDx45140bYFOkxDH5dujZVjxj7GYLd5J8x66j5gIzTNCNskD4dyjwwwztgG7MJ0qM8jKt/IiKt3Qt2DEWmNY2DTyVEfowzFB85eAsHx9ckFK8G55o1nlCBNdjHG1jZG7DAW0hfklG1bx85h3hO5jJMDnOMIhlfEY7cNDusgOJvpmzYI12oH2Op3njn5O14F2DjPgE/nHI/NMY6nmTdqG1xTnCxIeiUgXaxnwIt1Rb3UVER6XQw8W0t3Aku0E/7Btd5wFOpKzBDW+jNNJutprEjVkhUMoYoyb6VYj2osMeYxmVdYrTGzw2WEYeHintO19tZzUnwBYeOUrnQ5+ndShBMXrsZSSjllvs/x3aUH3lyOwmXT8RVsjGAdQzPGR5whfLAKfjml+pAwuUxz8KhL6rEkNIgRFrh4iS4vFCK1iKDHVYg5uaTRkkmMtFAHjBFzl6d9jDlLUFM3J8Ru752VtvcSwiFdMUnRj2P5q4ublNjHsryXklIyzyOTZfq8qDhbUOZQyilWK4q+JIul6lGQQYwxuAlV7iullAJfWB50HM//m7noTn7N6Ejpk+4UUVs7CKu8mpERu6maXArHWPMK6gpmQjnGHzDo2lk8E90+Ex0iVJPQBFGXhcfetqJd+hQwRXQcdICgrseUeSzQthw+27xV9CItgrEGKTr73Ow5bbcs30HRdQcyCqLnhUbsSVvoSKE6ehmgbWygsHP33hlgA2xBpc8kgA98zgRJAwXYSI2dpWWnbx9pWiBmTF31HZ0924W64BJJ6idR2STZ+LRFHpeMIWwobjpj5VVvEbjP5YyiC0GbpU7PytuBW7iBRzHaS+bl0vL+yyfE6Owms/1Tu3yA4RNkdBbUGViI8xNidJYUnM/6CTE6kwrs7uVnxB10xMVZbeMXfILcxYZsJrO2yh89GcirWayQXXQWF9gFeRPYd5cCY9cHsFPwD3nR7cZgVRc/5sW3FUPldHzMi28jBjuSK/IOuPvmYnSYdrQNZ7wIFRbU1eNPgPFpLLCzgo+Bsaus8g16PgHGp7MMYOg1jM93MFowQVmVgzhEr7DgNLSCxa6sGmDKSsFiV1TN0jf9PoBFp6R6xQiHzUFnkXZ40P1zP4BFt2hNLx9sImta9KsWcmjRrVqw6+YfwN4IF1/1VeP8COp4QRdymbM5ueKL5QtF10kYrJGcgX3BJL62yWYvCSj/QCc1RjJGOKkNjQUVd74Q8tlD2BYRrNGlwXtJEboHYG0JPoBFZ2nsKp9Bw+IzNHZ0Cqph0RkaOxvZpOOwrre18S42eHNHgopJXlE5E/hCzlD1t0xa5nFXBAjv+ZgOUvn2VSYyTnOys6NDlL8ZC/DtwGY0EmpwE1p0WzDcRaAi7Y2aytFSxCHGM6MdzecNZnTjbLZpg2Iei0D5wdiHGCzJLsVFN7q7OkFJ2pIkp0bIicv3qDOIJ1Q9C/W8N+LEsxWTCzXcj5IhjAIYoS0oAegLclSNOkkqziCnLt+exaB2XCEw4hrZDWC4jEZkwDx0sZ7ejhJnFTCZ6KRKbMC7SjB0lrwCtjWUZ5zQ4tuVd3TUP6U+uu3I9InbUGGAKX3F17lwR7vQVLyQPsIAgMELduIwldSNUKZBG2UVoIyrHBi7qgI7KNVVNhF2RmvvyMxIcdGNrtk1AOqINMXFd9Kyo5zgFBdrhx6wEhtb0Ct8C9g0JAF3pBW+9WtmBMNN6Nh9Rji4Z7saXI2LfXTL9xL+EBefdjYqNoAZzwkuupPwXWUFp7j4cvmNjG+owHuKi+4ScHdXLn6Ci+4CsKmqoDTzvc9+Mp/cCYq9dClYgO6BLbm+jYMzp9KAtvF/fzLvtC9l0vqQXHj6jBRdc4mtGl82FlYGLF7IOQ3RRdjNbEqb/eid9PYcHSegZt7gVOsXXY+xHmDO6AbqIzZOyLyNd04H39TdDaeIj2XqOkcydR8Zwv0FqptwRjqgiwVd4Du3NbZRW4NhgPBMzxxKWytwQOWMSd3nMECHWtRDdtdZE1ZG4+iNONRDGCruQMMK8Uz6/lzvMcqP40jH2NDBtktWX3q8U59E0VWFN25f2JUmS1HDJUefHmV15pFg6j7CwyXCbD8zvcKqEmqCGkvJfPeNnL+6S+oj3GCNsbW1I4ZxqB4GXeTB3GNtouEacyRe/DCiXKIntR3QkeT+cxJTErFSwhzdNpvZhHBaeJQF0aYixqeKi7DWqvjcYz91GjI2zo65tdraTuehegKMpHCNkAxQonUUOlpDO1nP3zXtPT5D2NharadwLNG11OmBtXjIGF85vlCL4dDY7qhXymxwY3SYbbAG5zmniBg6n808cgOBJNf+k5ArnAlrRpEaW417vVpx9fZRoL6PKsLsLeBQ9yYsutytNvApoy6ihS/O0gXMLU0pwyiJF2rXDXvGh0UX6ZR2HIcsXqGjBLzDoilvBZlQ+YyxsztwlDDDxKd5u4Bl3zZB0Wld6C1mIrgfke9PylxSn4b/UNV+CmPUu5BlZhJINZLqg7BhdoE9U33Uhi/Ya4yl7R7q4AxpA+fSTbmy/iKs3Qd70H54hjuJpbukITpe6Dk8jX0fX9wBOlB2HyA9fjLWaonRXLjB6YwvyJxG9HTAF/+J2W9St1vNXvdipN5X/4M5V8+1+btOr3ne/1IZ1BtFO6JeL6GxClIYeiKek5H68ckTL39kkcrCo7M/okhFEUj26/OPo5KFcP/IYq42/JkTH/kK0fOBOFE8578+Ojt4QVwyX6y4+2t74VCl4IpVEEfstB8E5Nxf/M7oP3QxpOrhIvZd/XjHPSWG6fc/00KLIsnvYvKPMDaF8T2I+Ir/y+bku/NHJIlI7tiCK5DjdMpycVxO7o+Sf85+Mk8EahpEQnhhtptM9c/kSUgyES9MOkvm/ToGc6zieeBhTL1jtklNCY1Y4Im3lfpQMqY+XfzmYP5QxcJeI0nD04EXM3LFXuniNwk2By4H5bAwyV1yOZxUWwwlTvw3xSDEwmMk8+g9GuksnUoJpG6eZ+xAIMQT7nNcqQhYo1m8atQoGSnPxDKRbM4Tf470J9dVEgSY4uBz9f/n0Ruh/pyEzI2lenE6YG/Cnw+FrNTsqDd6uxTKe7CU3IgwJGr2/NR/92f2fCio6/642jIpqXJ/KZP8d/0XKpmaQeL1OP3BXwlpvT852ft/JLSWUC4S8g97I+c6+9hlq98lEh2qiFZpLgrxGJU+9xfZ/MlSVMhN9vYf2bzL5kFNK5GkEnrqOZjvsqPdu7Yk9LeYhX+kkUvjlkaxpB65of4iposDmCcl9/MtyTgBY+6y+vKAmilJw1OPHrUhvCWUBx4etzx0TDIJT25GdJU4jvPk9BN5nPvzQOf3/xFKFtSexYvKh7JL7zNb0vgT4v9ILudSCn2cqusVV968h5osN2KxqLwwoGbIWPg8EvKPPDJ5OBF1n+eS//yjQlKB6F5Xx5mq47PoRSRXJzMTZDi6/SOIJLB/e5yZSluCOH9VH+cr1/96QvrzuWRhyCpuoJbcZbdEc8Ele6GeR+5i749MsjMN/XGu8H3mHmcYeksiN4LOifp06rvHaoJsyeQ2feOPMJITLiojnRL6Z+mYkrkTcVR1IxVKsSay+LPJZOdWMtIZoH/UyKZQJhU33UvOjlD59vpESt/RmlFlnGbyGPCFesM7TsfuM6HofCX9uz9S2ZSKE1C161Z8o4GWyX9u/shjUx7p+39kkshkwmTIw0jH0EY8PL4dWFL3+ZQG7ml/MiTOSlnw5H7ikHqtVjvRNUPIQ580jMtNnkEhdYPBjcf12JN+GQZUO4o3yatRXfdNndNwyebqVVKIZEnnuoBF8sIQ9VPyzxZxx8iTLlGU6xPgdsbaxsrahRvcbjtBrWNFLWNAJaguD11xOtRfSf2s1iYOk1xH/NTyUX8Wsbl+5yd3WfihS3ZoEmjUq4deek0X0Vv1ZPAV7XFKoHFWq+Dgg8z7xlm9guhlmrJ/gF7FJQ+E3j5W9OZZo3206K1t9KMg73ZqTdyYbYh9TGG2cGN2gUazgxuzXivrgBicZ7g5m/USNVY/4KwjX52NToneslucvWarRvpB4HE3yZQ/+S51YIStT0Z1MfPk99Q3U5PQiAJEH/edPmm3e+2TH6Q/p0HEf7L1TT/0EgBxOfrOnY4b1XHPexAXI0Nt4EaFHNWGmtdHA4vc4gAxrDJU5FZHr0Rt7E9QsW/I9TLdsT9kPVNKGCkk2CpVjB2kjPUW1KQ9q9VrSCEbTbCRPFP/H5yQnXaJ/sFbkIpnrmzBFx65S9KsNdEMqdFtFoJ1SKVyACSZ0KTPRHKHVl9oIo0aGuxdqKRPudtYsUHs4E+xO2iHG8SiGOqOA29hRFpqHxpnaxspMND8XgM3esqYIpd8QWc8IufRkklfjT1qGQBN9rUMWn9koGVwRLyddq15co6MuNWF9ws3iVvYiUFi75vEHezE9W4XGPkMN3CjAeEWbwDX1TrGynoGEZNfsxqOR6OWFJ2+mmChN8paNiAOXj6DbzYS+NFWKXI0+C3QeW7gt2rI8YG8zw/p6zXs9Dsd/PoxL/x68zjGfl2CdZ3881HjlsMyzq8nDmm11eJ2mB8KrHF9EP87O00nfVcNbUh0+xUp0EzoXQzuLXuNQ31sU1vfklxPbezH6YAC0KcJU3JBZ7r/gS5h4c/xnmABYjcaremEXJ4fI3qzMZmomX+s8NPx0cK3epP/HDH8ka74Zq3eQRaE2SXsUQSOc9hO63hg20c0sm0FOzki2rPOFCkmkH+VY94jH1VA3I5O1kUNCziFOzqtEzUsyPFdCtvVt9nrtRPHE/mpNBkuaRjyECk8zLWLTfpelei7wPStCsGX6gL4K/izCsE3ahDnud9vHVJvN2ttMo69iIdpoIwM4zASKybzsOHHPSPRyAJE22eiUMpveEOc77fn06JMjksG4z5xRleoJdBrFwQAkp+XCqDVbqUz4GRbBlL8TFqZ6PtpyASyNSXaEFkBqUiUFVQURKokEUpBJwwXFGUd4oR4snwLdZ2l96t5rfuPK2KhGX4Qs3Cb+0OVcOA1gf6vUji8gldlpNDCKgWQFXE/dEhbZ4bgtg9BtkPN2mm0eveTPLj+eYlmNOQgKz4lT6I61SEHWeWafNhokHEzOTc/7HOUDLZ2TLQt9LCA87iFf2gBaTvHRNuqwLIFpNVj28BNC2JfPfbPT9p1rDd7QfSwRuwcAWK3hRQRZFlqxG6zddAVE1LG7oEzPpyTxhnWuQq0HBVj+wgYO0fA2G0futJJII9A6/QOfSTZ7INadsSpd2tIsWFW6SfYTbTYOx3tzuFhz5nnneqrYWQiXpg8ny/YAR6BfER5eEccH1Ee3hFGQpkAEieSPEDKZzdX3wdwrBvRMHLuu54IY7PbFyLcssc0Jm+rgUbJFq+pNttAhG2shKWvoJuEnXrtFSdi+bvGW4wHP4o9rIRwg3iWPN1BIS6D06sJ6dQb7cv3ulybJQGQApeugZACJ4TOWxixFXGTvm3Yt8zSiQ0fAHerAFxvwQ1x2GlXgLi0kZsCX/tP3OcD6s/JxegO9fJtWI7tRIob5WUrTXWjNlY3Ox5Mhxwnsa3C2iTuHB1xr42SuNnZDfHoRqkGctlDggnmrG5hNhvKWT0Gzs7RcAZHwdnDPJ6lQ4IfcSIeT0jO9lFwtjFvK1CYzk2jWQvxcPZ2o4UUZhsxpuVo5jXMhmnmObnw2OtJvab+HSHhBTN3+Wx1ej0Yk7qO3T/0dctxLIhQrRvXiMoNP9FX1VBjlp66a8xuu0VuhJvO31B4jIypTxdoM1hL66Q18b1aoTQiE+qzd+h/eHSowE3sa7V0k8acsIOdsHS4LCecvyp/BSmctQ5S46b3E6x8pcPZG3xtHca+ekBKaL0AFWG3fbgD+NpU9isZt5DyWe8Qr81288D5Dnz8Onr8mkj5rDeIjA/r+EHwYZ6fEHxnWDcHALgu2k6AIHDtg9YsPbXyfqDJlYH2G16bZwfJJ9RXj53eskjSLAfoR/OkMUB2+xYq7lbAHU6a+hp5fzrs5+lPqKAN46behILuHh309KyGmNk0Y0v3r9uGrh0FapYnojUXUtDSG2yRM6DSJdPWSR33sELT5tsRGYt57GFJBdrNrrSmPtQKGAXaHy29G6EGhZnMPzrvoIc9jdMJfK5riAWSh/rCDvp9qHRk81PmNnrm8heyCtCHvxsd2z5UlR2o9GmLydnCzVk6BSPnjP3M7elU4xKIrV4yePMrTnmDyPPXQOpS7+kiJo1WQOo1cjk7xyIQ6PVclEeWZsX/ZXPSSrg/kczBi+MIIl0bsIkBuq6rd/hjPKIRHTJtkmXXpGb6mlTe9LiDhRzqDHODPF/O9Zpe3BlxtxEcAfJ/Rnebl+IuacRe6Buyi3E74M8jYI0TrIef1tZagRJLBvQubDX80UzIGasob5BiWjuOGjNtnEEaOg1a7b59KenbAfP+vwtnzdyt46kPsWvUJlpU20CtQr3gkpFpHW9qKYBCShh/NOqIGOu7YWxhYtzROLbwZtFCrccfrc5BMQZ8fkoXPKJKpYan/eynvxpDpWS5lKaLnjO5iYun3lDWRKR79twYQpiJKBKrjT/oZ/9lJAKTvABlXuIr45R+DEW+9X13KeR/HRLSUIowPBkwujoorBEP3b0Dlaks9xmQvrTFTtKg0ITO5x7bO16Z0jCf4V0mV9JQYEFOwyvm6UfZO1MTkOl6FTDPY/tXg5BQEyn2RHXWMKgacFTTWM64v/8lVVoRBgGVNIpDwjy2Uo8bno6pvxRmBHz3RHWjaWf+GgLJEe4zi7TJlN2hV89KbsW//349ZtOI/gFCxkEgZEQG2ihm0dePnzF84GA3bPHVUI327uZkRnWnPI59r7UGnPbIsZxnLvcwB4F0iH5EyZ/iBQtPh+uftQIZMZcmZ2ffHFeyl8QNEx6fE2epdrcv3wfqW8sOlFjZV8pVJk7A2Pzr2czRLKtTPmObMPkk1Pxlexu9nRPG6qO/3uLa+axcr739D+HOUVmiY5WxuRePe+dTVG0Uq9VBztF9bgtgoyZWSeqT8nrICeGhOB14ugi4XnsX1N87V+lB2+Iart/RbA/UjeMVmcSr4CAZybf1VN1D8OSLEEdc/Z2ki68PvH4R4Pl/K192D+HyL8Kb8DAS/qHSacfvYNmEjvQpLbqH0NiXIUZUvh0qXWJgHyqcDtqKCsPJxKsLyUJyf660yOkwfWffRB1oIGWlCAQaZAdcV3Q/Ts/uya5XAXWjQyT7m+5fI+4AK92rD41MR9WVH3eZvUnG1FXv7f1UC45yzD0viYDFnnoo/u8hqf9ttgPUmB9BHpzy1JAHqGJSrAc+k1Q/ZGXJ5pIrrtOR/rZvhtLZTpsQOo0r5vPkEucAw5kVDFTmTytr+Cd7Uy7MgHn71xL2bG96Z/7+k/nJyWr6crikq1kaYNax8yf9fvUn5xWjUVILPl4hgCnreWYwaehDDUy8IqnqUIM1jVczTw/gQSgTJ5D07TBQkmjH+zjpU8T3V2PxU49ZvtKqjPvE2FzzXiTf8wAdmdLZHlJe67UWzJLLqXT6pJD6sahHUsS9j9QOmMi3MVOPv4/QeNPAa++CLpuUD1TZ/PvfwG0HMNWS+0mkNGFKDxePIjXdwtOB2r3miXr8apQWlAZco0hGn6OlFPFi+eXLqAc0x3KYoUdXgTLnLzzqL5gyouLA20POZBtq7ay5hMLyw+Qy134nXM8e5UDGRM2xFdN30Vm4h2HZMQ75NmKR2o30Y56o3Uk8VXgH+gzx/DXw1IMeMKG+5Hpyx0IeRtRHEAXYMWCadH2I81btZvONCylfzdQAtp9yolG8Wr0prp97uJncBkaK1eB4X04BbQ5eifDrzXODouxVwjXEtZ8mu+15NKwH41o/qLvUa0VHJtJ4zLd35+PLdRu49/Ex4Xdl7KY/XvtELSx3Lwcn4LBrrOqTSP7EXUYm+h585Wnu2Dx2v34H6gJvqndxEMWS7WWGgbsjDvOeTtSC0Yem/oLcMY/RkKXBsK+36MwAbYkSO0U67jF/D1Oubq4d+3FSX5XeTg26L591sAvIiSTl/tePCnSIJefYU0okNM6DetLK29UPnL1oRXbp0TDct0tqvVIKNOTbja6RVekrCkt95s5eU0tU6iilP2d+uPeCWWUXj8kzErE2ryc8YCTJLzjPf/fVgGcwU9EEPPeUxye5m9BVeGM1uS74q76vrDW6WmNkGs9YuOcRNBddWd1ool5RLgPu73FqFotFlg1DbHHtZUbuSJEUp562MLiXzsq9K3/I8dpEvOC+r9bg8UBmF7b3zgqmRLdgPZG6leoX+8/73NWQJsGZg6VzAi6rfB39t3yFLX/vnFDDmExKovtKXEh9lIfLlCldbtLEvGMztTHu34Qp0fr3I5ykMkkyano2GoNG6l9NaVRKLnuj4f+PsnEUlM1DoUzjkhMdn0Dl8EIp0nT/Q6Y/z0oWBzThpkvun1xwb0XOf9JAyH0kvkFVIjbZ7k8+WHf73ieg2Iij/2qOMk5RFnLFXzXbtX9yw31GsrTssX73y5HOgKxPg8mJlD/k7okJyqLOmP7xlVO3B4wuLIYaC+2hTmj05WnZ5p5cGiWIV0F4OqQ/efS2n/pojWZRBZTcnzKQ9zJoCc3XG77GHOt0QXG+3sJtFHC6sDhfbsqCjo6+BYSipmDZ8H6KcUlDkpWB/OrRaACOhsbYqPq47/NbKzV2yajcy8xqd4vOQt2G4kpI/q/wo2y1f/mQtI1y73UrmopnrKYQEyZ1Hr6nnmDfUYSSvbNSjqSg3V5mlbmDdGAwvn5nNw0vu4nlxLOVsol5ksKwly2xSFOmQ+0mjRoRDBj1ntX8yvrZfHnoonhptGzAMGXYY+3ms7PiCrFSWQ/Zh+/JyzKz5WzmFTkhc+5vmvP7Nrfs/N+MZ11g+iBozt20lL1LHoU8EKQkg0ys6MJne7BgdsKkTf2DALl6m0saewcyLDf8f2I+J3/vo/PWDnDumMsDKdwkp+YwiNIYf1pU/iCI0i44VSfR1bnVqkmdmm/pMtp7agwIVUp0EI02trEOoLnGNpTeWw+J5/BWU/p4P5MbkYFH3aTt4EEBSrHQEWnNmJ6yHRJdwawgVW/wss1X8b4ZYd5sLjy9lOkR77r/XFKRlUWRt1mltaL5OxucacntDczqIxWHjD/t/6YKKJUyqd5cbx+3YHdLZQQrDpMuTLOSJlJvBGkX9aMB1cvxkX29tbJb3gmTK+qrhyfjZOYeGJ6+qR5LTtTOHs9me+hisFs8NR8PC013XeVPSdX8oSfCPfQA2DGVrjh0EExJ8eB87lUWSL2nDeJV2l8oPD1/jWSc1Hrel3djNDYue5j6C7I9eTm7Apswz1MW179J94I9FFqC6uayDaYDCWj6qEJjVbyr0BaWk72RtSoj397T4Q4YMs9yqCziTzUZmReeDui+61+Xvam1QUC+XTvfv3wowDmkZF7aUyj+8kQGIwG+dCzuY5r9DBDU5ZE1U+w/Z7XMkgynQfJge1cB1lyKR5lGESNT6j9/OY0xSl3LZTTUW09SO0+3d9JA6vtQ2RJM7v38vGs/UJ+ykW8DIfZ/plS2us//FfFgVtwvKG/YYv9lNuo1qIWoPC8dCEiK+aRHu8mPlzTcRzURY9cuW/Utp8zK2R2UCk12bJE0btxP6UGgO+E5z4WQLpufjCR90u0MRXIWON3HTTAj0/qsZKb1GiyWPnW/PO/diEIBUXz5zRAzmGar1JMLhuphvC8fkGbxBpitJ6JBroS3h6vrXViX6op6T2ml0ewO+0Pyi71vrd2SxZByrmtfl4nHodGKd2BsLdy/qfusttE5tgErec0qx/rHF+7ziYijvfj27TroqtpLbQ7jYk+vZ82QFvOn+7jrakaOSl5SymGSbh6D2HsmjoKhX1/9Hqqqdw6UhMpjmfRDx6EBGrbGge6rSvqLLKWi2otnT6umBWscrLMC9+KyAYdNEHX+tkZJdRhxgiWT+/ZtrJ2CPLiDQ43Zmmf7WCrAy14jIImVli07UkRZh54GNNxDkeXGjpgO6oSlSHWHoRnoGThSUsl1byNW9HHqtiZojqceZA/JeFt6G0TpZTR6O0Kh/3ogVCOuPw/JooImSs6FkCnDBgjkBfVCti8ms0dOvQGClDdzQDEXIWw9gwmP5rBl20eotF7s3XhWsgxggYE88mhJJtR93kfBA2CgtIrT3qIkzU4RxzJIr69gKEdjPxd9CyRls8SLJIn1UH0U/V1vsU9PyhZSXCNOV8p7kl+fimBGgS2XzztaYj2kO2tylzKWT9Rl5Nqfc32Fef8NrHuwqOd+mlEykMnp0dePZAfWCvwEL28smPVa2EeXS+CU109AM7qT/GAzPRT8etjGV8DuJdnLtH8blvbvJ2x3e5mjXzJszjOXe9A0XzRw06W+HuupLSOMvf1sGbsaRrH6+iDpmdEeHIjlIva89xYumxpT98LceyjY1gHNMSf863X/jkbMYSuOacTq9iPm8tAVp7OYe/OkIbcywnx3Sb4/PXEzM7HwIE/c84bC026e+t82a81OT1nAzUEYSfHMNn7zlPyz/s0jn+s+JKNGWYH8IjOmTJjV5FcqtCrwRfe9XSILxYS/ZD7TpVgH2TvYRWA2MWpCyED7yb4u8FUZMdRrxX4I3RIJIqYYxqN77NidYsCnTFDRpHaU1eSpcQ/1tdEQuwCM5M12iSxHUwBTprxUsVrFassiVyIO0avBeq2oB8tkR/1eCmQyPEZB3Pv8p+6XEL2hp28WWxK0S4R/U3o18IEe+DA5EA/UhqgzmajO2x6MyZhy/0k3HMYukDaUbfgbeXCfk77TqtWwC6RVnCCdEq73/0UgH5xNIZRF0Tsv0y/td7K4oUHqv6AWhGFBdkqkP/1OEGPqcj8S4RK9LIq32zqlzYlfyIK7UgRLYTZ7wScM85Jcac/ic2HgNym69reDfi8E0p8rVaEMrSGVc+wS6Rg21k6mBbkT+lduBeTxFTNEcn+rmCw+SZiXnnegPR2X+j5+SRiqs3xU7heSCBh9xi+JdtHkPNvFnIh93TnpOan8arYYwSeRXjEwX6aX6u8lol7lv0YvD2OGlLiL/zt5TOnMM/sD4ROEoT7L5H//VhBMrrhvdoHDJ4qOIYodaI17/LanMSF2YWk98DkTyuxcqZfYxdExWh6XDu59Lo5HNiMDKV62KsYglEYxfrELV7VKmypcZMtXT6cLnKbyWIl57LHwtF67PCcXQ3GOXRKme2axSj6WRLPebZFvIxY+q4/+LzL04jBxXdd/jl1C3aIeaYLPleYPLaELTwh5APIp0zj71/LRotCHy84Lj9wlGSdvY5dKrwOmbz+WygWX7EWfvTpM/uQuy+SiJtKLM/4v7OIx/LwyF+N+LZ6iVNCLo77jNeS8Ka2yqpBWMU168H3pgcsopl6uVd4lQ749OMNmrVZDv4ha9vd3UhnNlS5xk24Pua499xdJ2e8hdZe6iV/6e/QSMQ+nSmvdd4nk7CdDj4YhueAzyXRfNd9n3low2OVi6pfSQZNNuajn5LNY1y6rihgMDxlietwI9XnzivAbZw/t0me37/za6VtIEQeVmQSm71c6oLqMZ+mWsqCRMsXetNdX0zVJpuQqnmEXg6EqW6UtsG0xDPX7VZCBkQ9Z3sjYlkGeGHyZvlExSZQp//iZJI57Hoz7TlXmQNvYHUobCdtSSLOEKzATdqgVs8xQ5XJUZT5AXZfYlsXD5LYqUjBsxlZp3bBSX0/r7Qb+vM8zKHWYIHe6tZoOUnGG/nqAEQwv7x8k4N12rUZlSL512/UmetfZzEuyG/S+6+rmbxPBffQH6d1ihkX5PKSUfIj+zAcsSpIBO9iBjREuf9MhBR6N0QNDOfopsNMn7Tb+fattpGOX9uxT6jDpCy60IsMf1TCM957lFHfuSL1WmX27Z8CXtlRT+GkfO7BZ/bN88ldGPCbNHv4FbqT0lM+TTakf0G9cwDv1jwl2YNMKtQMeDBz0W7W5lFul80tSZMnos+67MhCv2NGN+4WWy3kg+dzsBIKPuQsVVEmZp47apysQUjDv1toN9VBHE8fUp4vKJTI07fzqIcUPXLTCm3ZWuALWPT6SC166bFCayIJdBrDBlOFodE0u1Bfs2MBm6RC/o31m1FAofWaSAicHp9rxws5t5O+17LaxlHuI3u0CSx3YoL73efRGzl8DWYH6OWauL4QAkmsD2MHBbuGl4LpTtBuRvvs/MZf4bZgzqGTmAv2QVeGWcgcqNXfNrvMrp5L64ZOQq+S6zHu65fQc/UGRUUPLdjI4J+P+HfpAjHmCYGnYOOMT9MjmzSBLl825JyMHfYU85UwXDRtL6vsB+tNAswqa5enYiEWVSAM1TJnyd4ZTahGdzAX6o+5mEdrOLR1Npth5jb3KMnln5Nz00XukxqUQy6Pfkb4iMxZz/HHVNuhyfhyNyQX3KmCfmhWd7SwTHWVKuhhgx64bzYssl/aFFMmtp3l1TvyNioSWCz3JV1drvR8EHqc+/mLehnlqmaSYp+tXZvRh8z2uqD9fMg998TQjAcDybOFqkhRjxQ5tnJ1Zbm1XpNlookeuQ+q26yF6q80wzMuXl82A0UcXujVQYB1J9FlEnEgyXZ0IO369VjwltUx0uf7uEOdmgJ3avEthF1y5Rp/NZNgoXbvUnuvJFH0Nsq0TYLtwuUJ+IHnMvCIJH7C519cTxb9axbojdgWiaqZbZqvXJmTk3GCHNvYyyxOR6yl6vWZOcTvn4+/B9xF24oZxtcBOk//D0F97bBWHuG6X2KKA0R/xG5mZ5QvLJsQ3/VsSCaK+Yec2D7jt9qsbvlhGL0x/JX30igzYXLkR/kL5H7qc1AT9uZ9ZYctuvo/76M92e8WAacNurMdD9MBt0LSd8Xm9jj8xEfa6/pjNeRXMbmPv6tmZJ2PGdK514FH8xwAtUNt7zMLl8W1bY6YekdQrcMMXrFBPyq07sT30f2CnNg4ALMNmYzHjHqtQpNQIotkdcI8d9IYZWJPSFPge/fw24ieW4YTxD/QjbBYqsHO5bvvD6hzbm3Wx7Xau22MrtnKrtmrqVyEKbuRjWU5xFoXCr8DdRyMpyW6nVtQvQj5nBx+6wTp2fkOxWW5dt+w1DitxHQ56kWvuhq6/ckFnOi3p/DVi/hz/qge+AJoKol2BCbAT8G4FwMEqiyfc392Ioe82ZgRbLK2377dOvQrFtcwr7XYhpu9B8mGkv1J26xPHr9mMzENLeybHT64BBkKi39i7oPlpk/6I1LEjG0XFLOMOGrmBHrlotFsGzyfKaCXXLv5ucMZZt+UeNhmgD7iYlb4tx3lIHPEUvVCJPvoA1iIzB08aYmKnNk967eJrkxH6Oh3d4klvbpyXJh7jz7tsFJFtN2gpIuGKzEDxqnAEaihxywpjkx8X2IHN+/l2BvkdjdgqRl8yELZ83h0LGK3AHU9jqC1LROpSaizve1eZC2/mdLcc+Ymj/sXODJtKnrXERJ+IaaQtWQaR80agWYNH7PCGgrN0wRwWkakIqlAMtl4HVXKOg95mM7sR2plsjnNDpkyuuF8Fa828vW3ncjtT9FffjHNvy5vLDv47ImDdxFLgimQrGfVALQ8CnQf8oSRQg3zKPObq627KKK9E6LBTdLstQysaX9cBZRVI5Kk3jQVuFx+fqudDP9qweVvTCanAJQIjlmbpd6UHXlQ/Hm5so4q5pSKfyth9xo68taItlVksJUN/sFnvGJV9Lef3A3Zgo3K35SDfD+7O6uhzF4Czc+7HlxVpjAUNfmwhswcae+hVGKzP8VC5siqWJonuRTwUyuL2I3l8oZMHB/2Shh3ux/6RXRl4vMbfBK1XJD4rP8RizlZps/FgKXwWng7pzGNJCVv8XYOKE71Z/gh7WwrM88hE/4xdCE2wup5bQrig+E9BGsbhV3ntvoV/JUQUVGEKmMfdgNrgelKNVWBsARZ2+5YIsvu/WYf2igqkByqQKuwNxQTsRvnzoy3+ZPxPniqgHGudnSmGSiyCHSrGu4tq2EhGER+LLIEtEegk5mrsj1DVPwImAo+d9v25FAvmizgkEybDChy7FaPz5XMfMwmMqUsexYriBy9uA/Va6X1gTe5Xg9xU/vV2afcoQ58M9c1q/NxFpV9vlXYJMu672Pd1K90KwBsNN89KH1Zk6A6Pki7ClZjxRh7kWWmTN4eP1GZXkYFvFLf58vVWTfZKjDwYvdSp3jI8VftE5W4Ylz+ZzKn703HSNxx/2thO0Kd0kWf5V0MKYDdacikMpKBzl4ZRRQQA1jY+F0BeOj9Pgq+kGOxXwyVf0BmP8tWQL45KSsN+Ulz3R9VEt58I1xOS5FgqL/+tmjIofzl9LQNneF0RdjN9pfylzhy+GPyuhhTOjKJa1grgdnheEXRwBXDLoidPvFQF3yg6U9oDzPHzujP5VcCqyMGouFQ6ISKXQ0WwoWd/ik2ufTKIuTevQJtX445cnqJsL4NHHi2Jwz3uCj+zC7HLwsjEL381NBfFkXsFTkArA19vQlXBXtNHQuoCTdXgNw58yqf15vjT0dHGhh7EES/6R/pTOYD+IqpKUAzcBnzkUkmgMt6PGf4ofeAZMjeWPHo7HepMb04ulBxeqIe+IkTLSO8vHRV9F4B+qXyA9CV2fnMClF4Aa/6qjLzZdNB+6l/SiD0zFuBf9kYpyvJ5sO/sMZVz9NhQvT/W2Lo1dFUmvNnMqXRi05r+RuC/d2vcyCx/q3xNnTcOqIqKbxmLvbRnu5bA5PpHZWa9aeHZj38W46iMAIwjDgsLR/5Mjj0TA+fe15XF52SSVdRIop74dz6joorNrp9JY90/XD1JWE0plM9xzaUwUovBjYR8q4gAjGifjQGUCuCCK6+vEuiAHs87ekWG3WC32QpT9isRor/Bbua42myBKfX1ZPpQkREH3P5T9jF3pXhhs2osdnj871cVGXlwPZdip2db1YjuGSWHyp/srkWgLzRK8VqVbd5wfWyiW5kAslYMZEBDZfxWQwodqPYyaynofG8q56QK2x+8HsjO9qox+Iap3yt9xpPjK8cvqsr6N3o7l0/vy+HT0z3t81Vj/wd39B4fHysy9ka3UAtPP13vWdwj8XbO/QXHf5MVrNLNWgKeiNEH+etGMej8aqMF94iHzyyK0A94G6oeXQ5+MSTZbocd3XB0WuW3uRydz5SZN1xS32ce0TOAOPEsfAsj/Nf44UyetTCU0hvSmVJ66O09s2eqNfwd85LgLlXTgEZ0pix/7DIw9r7yiT25DKbql6QvJcV/2gU99x/ZjAy9OKyAvw+59SVJuyy963ihL/nl17zOo6UyBCuR09uBymwvSKMa+cxwln/OPvRoGJIWaVdEAkZWa/kb/u8SMC58Zjce63X817/PwJfCWhjVmAxQZU7X/EUD8YLOJHcrIoytm3/2s+GS+SwRgHiKqrE5GLGh8rcf1zK4VgvC83j6WjlOFH92lBkkKR8gWwvBGd1WZBmANVFaw9/QNyZJg9yxlVh3gcQuBrgy9oYcmhURALyZOL78QXq1Wo2MYy/iYcFcwC4NsIoI79LQQjjJd8j0FLUasjCKRAHsEYksvGR5VEpJmPYT0KzI9soR0wsEuwxMRQmgKCaDHxWZAOZmWT6ktGaXQr2/WiUl5CsiBHCnusrqEAKfr94VYkWEYCwEe0347jORyeUjGV+ib65rTAQARfjAZRRTj9xUaCbAxxTS9IJjDjKmEqgG/Q4cp0chnxdSxMHRieAluzh92tdhRZ9iJzfuEuZJ1jbkl2rg/XneZxz9xSKjcla9UfqobS2BOzrngkzFC/6ztqZZK7x0avWa3qFJ/BB/nolZL6VV2i/eZtepFujVnjH1y8fP1/yP/OSC67qZ2NHBqoVtoKc/YCc3Vnz5hMItcjKQfF6BHCujma+9xlsL4EakFyhJPwg8TivQof0MqpbAtjDSNt5Cok+1Mm8XAcjgpp/0C1XP6nn4jYAt89d0gNTPCXGYvvO/"; -Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users".split(" ");Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";"); -Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";");Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";"); -Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";");Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";"); -Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3="Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";"); -Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam=["2D","3D"];Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" "); -Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"},{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"sitemap"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;General Symbols;Intune;OMS;OpsManager;Other;System Center;Virtual Machine;Deprecated;Cloud Color;Deprecated Color".split(";")}, -{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart",prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")}, +Sidebar.prototype.gearImage=GRAPH_IMAGE_PATH+"/clipart/Gear_128x128.png";Sidebar.prototype.libAliases={aws2:"aws3"};Sidebar.prototype.defaultEntries="general;uml;er;bpmn;flowchart;basic;arrows2";Sidebar.prototype.signs="Animals Food Healthcare Nature People Safety Science Sports Tech Transportation Travel".split(" ");Sidebar.prototype.ibm="Analytics Applications Blockchain Data DevOps Infrastructure Management Miscellaneous Security Social Users".split(" ");Sidebar.prototype.allied_telesys="Buildings;Computer and Terminals;Media Converters;Security;Storage;Switch;Wireless".split(";"); +Sidebar.prototype.gcp="Cards;Big Data;Compute;Developer Tools;Extras;Identity and Security;Machine Learning;Management Tools;Networking;Storage Databases".split(";");Sidebar.prototype.rack="General APC Cisco Dell F5 HP IBM Oracle".split(" ");Sidebar.prototype.pids="Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";"); +Sidebar.prototype.cisco="Buildings;Computers and Peripherals;Controllers and Modules;Directors;Hubs and Gateways;Misc;Modems and Phones;People;Routers;Security;Servers;Storage;Switches;Wireless".split(";");Sidebar.prototype.cisco_safe=["Architecture","Capability","Design","Threat"];Sidebar.prototype.sysml="Model Elements;Blocks;Ports and Flows;Constraint Blocks;Activities;Interactions;State Machines;Use Cases;Allocations;Requirements;Profiles;Stereotypes".split(";");Sidebar.prototype.eip="Message Construction;Message Routing;Message Transformation;Messaging Channels;Messaging Endpoints;Messaging Systems;System Management".split(";"); +Sidebar.prototype.gmdl="Bottom Navigation;Bottom Sheets;Buttons;Cards;Chips;Dialogs;Dividers;Grid Lists;Icons;Lists;Menus;Misc;Pickers;Selection Controls;Sliders;Steppers;Tabs;Text Fields".split(";");Sidebar.prototype.aws2="Analytics;Application Services;Compute;Database;Developer Tools;Enterprise Applications;Game Development;General;Internet of Things;Management Tools;Mobile Services;Networking;On-Demand Workforce;SDKs;Security and Identity;Storage and Content Delivery;Groups".split(";");Sidebar.prototype.aws3= +"Analytics;Application Services;Artificial Intelligence;Business Productivity;Compute;Contact Center;Database;Desktop and App Streaming;Developer Tools;Game Development;General;Groups;Internet of Things;Management Tools;Messaging;Migration;Mobile Services;Networking and Content Delivery;On Demand Workforce;SDKs;Security Identity and Compliance;Storage".split(";");Sidebar.prototype.office="Clouds Communications Concepts Databases Devices Security Servers Services Sites Users".split(" ");Sidebar.prototype.veeam= +["2D","3D"];Sidebar.prototype.archimate3="Application;Business;Composite;Implementation and Migration;Motivation;Physical;Relationships;Strategy;Technology".split(";");Sidebar.prototype.electrical="LogicGates Resistors Capacitors Inductors SwitchesRelays Diodes Sources Transistors Misc Audio PlcLadder Abstract Optical VacuumTubes Waveforms Instruments RotMech Transmission".split(" ");Sidebar.prototype.configuration=[{id:"general",libs:["general","misc","advanced"]},{id:"uml"},{id:"search"},{id:"er"}, +{id:"ios",prefix:"ios",libs:["","7icons","7ui"]},{id:"android",prefix:"android",libs:[""]},{id:"aws3d"},{id:"flowchart"},{id:"basic"},{id:"infographic"},{id:"arrows"},{id:"arrows2"},{id:"lean_mapping"},{id:"citrix"},{id:"azure"},{id:"network"},{id:"sitemap"},{id:"mscae",prefix:"mscae",libs:"Cloud;Enterprise;General;General Symbols;Intune;OMS;OpsManager;Other;System Center;Virtual Machine;Deprecated;Cloud Color;Deprecated Color".split(";")},{id:"bpmn",prefix:"bpmn",libs:["","Gateways","Events"]},{id:"clipart", +prefix:null,libs:"computer finance clipart networking people telco".split(" ")},{id:"ibm",prefix:"ibm",libs:Sidebar.prototype.ibm},{id:"allied_telesys",prefix:"allied_telesys",libs:Sidebar.prototype.allied_telesys},{id:"eip",prefix:"eip",libs:Sidebar.prototype.eip},{id:"mockups",prefix:"mockup",libs:"Buttons Containers Forms Graphics Markup Misc Navigation Text".split(" ")},{id:"pid2",prefix:"pid2",libs:"Agitators;Apparatus Elements;Centrifuges;Compressors;Compressors ISO;Crushers Grinding;Driers;Engines;Feeders;Filters;Fittings;Flow Sensors;Heat Exchangers;Instruments;Misc;Mixers;Piping;Pumps;Pumps DIN;Pumps ISO;Separators;Shaping Machines;Valves;Vessels".split(";")}, {id:"signs",prefix:"signs",libs:Sidebar.prototype.signs},{id:"gcp",prefix:"gcp",libs:Sidebar.prototype.gcp},{id:"rack",prefix:"rack",libs:Sidebar.prototype.rack},{id:"electrical",prefix:"electrical",libs:Sidebar.prototype.electrical},{id:"aws2",prefix:"aws2",libs:Sidebar.prototype.aws2},{id:"aws3",prefix:"aws3",libs:Sidebar.prototype.aws3},{id:"pid",prefix:"pid",libs:Sidebar.prototype.pids},{id:"cisco",prefix:"cisco",libs:Sidebar.prototype.cisco},{id:"cisco_safe",prefix:"cisco_safe",libs:Sidebar.prototype.cisco_safe}, {id:"office",prefix:"office",libs:Sidebar.prototype.office},{id:"veeam",prefix:"veeam",libs:Sidebar.prototype.veeam},{id:"cabinets",libs:["cabinets"]},{id:"floorplan",libs:["floorplan"]},{id:"bootstrap",libs:["bootstrap"]},{id:"atlassian",libs:["atlassian"]},{id:"gmdl",prefix:"gmdl",libs:Sidebar.prototype.gmdl},{id:"archimate3",prefix:"archimate3",libs:Sidebar.prototype.archimate3},{id:"archimate",libs:["archimate"]},{id:"webicons",libs:["webicons","weblogos"]},{id:"sysml",prefix:"sysml",libs:Sidebar.prototype.sysml}]; var a=Sidebar.prototype.insertSearchHint;Sidebar.prototype.insertSearchHint=function(b,c,e,d,m,k,n,q){if(null!=q&&1==d){var l=null;if(0<=mxUtils.indexOf(q,"text"))l="Double click anywhere in the diagram to insert text.";else for(var f="line lines arrow arrows connect connection connections connector connectors curve curves link links directed directional bidirectional".split(" "),g=0;g<f.length;g++)if(0<=mxUtils.indexOf(q,f[g])){l="Need help with connections?";break}if(null!=l&&!this.hideSearchHint){var h= document.createElement("a");h.setAttribute("href","https://youtu.be/Z0D96ZikMkc");h.setAttribute("target","_blank");h.className="geTitle";h.style.cssText="background-color:#ffd350;border-radius:6px;color:black;border:1px solid black !important;text-align:center;white-space:normal;padding:6px 0px 6px 0px !important;margin:4px 4px 8px 2px;";mxUtils.write(h,l);l=document.createElement("img");l.setAttribute("src",Dialog.prototype.closeImage);l.setAttribute("title",mxResources.get("hide"));l.className= "geDialogClose";l.style.position="relative";l.style.cursor="default";l.style.top="1px";l.style.right="0px";mxEvent.addListener(l,"click",mxUtils.bind(this,function(a){h.parentNode.removeChild(h);this.hideSearchHint=!0;mxEvent.consume(a)}));h.appendChild(l);b.appendChild(h);this.hideSearchHint=!0}}a.apply(this,arguments)};Sidebar.prototype.togglePalettes=function(a,b){this.showPalettes(a,b)};Sidebar.prototype.togglePalette=function(a){this.showPalette(a)};Sidebar.prototype.showPalettes=function(a, b,c){for(var e=0;e<b.length;e++)this.showPalette(a+b[e],c)};Sidebar.prototype.showPalette=function(a,b){var c=this.palettes[a];if(null!=c)for(var e=null!=b?b?"block":"none":"none"==c[0].style.display?"block":"none",d=0;d<c.length;d++)c[d].style.display=e};Sidebar.prototype.isEntryVisible=function(a){for(var b=0;b<this.configuration.length;b++)if(this.configuration[b].id==a){var c=this.palettes[null!=this.configuration[b].libs?(this.configuration[b].prefix||"")+this.configuration[b].libs[0]:a];if(null!= -c)return"none"!=c[0].style.display}return!1};Sidebar.prototype.showEntries=function(b,a,c){this.libs=null!=b&&(c||0<b.length)?b:null!=urlParams.libs&&0<urlParams.libs.length?decodeURIComponent(urlParams.libs):mxSettings.getLibraries();c=this.libs.split(";");for(var e=0;e<c.length;e++)c[e]=this.libAliases[c[e]]||c[e];for(e=0;e<this.configuration.length;e++)"search"!=this.configuration[e].id&&this.showPalettes(this.configuration[e].prefix||"",this.configuration[e].libs||[this.configuration[e].id],0<= -mxUtils.indexOf(c,this.configuration[e].id));a&&(mxSettings.setLibraries(b),mxSettings.save())};Sidebar.prototype.init=function(){this.entries=[{title:mxResources.get("standard"),entries:[{title:mxResources.get("general"),id:"general",image:IMAGE_PATH+"/sidebar-general.png"},{title:mxResources.get("arrows"),id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("basic"),id:"basic",image:IMAGE_PATH+"/sidebar-basic.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+ +c)return"none"!=c[0].style.display}return!1};Sidebar.prototype.showEntries=function(a,b,c){this.libs=null!=a&&(c||0<a.length)?a:null!=urlParams.libs&&0<urlParams.libs.length?decodeURIComponent(urlParams.libs):mxSettings.getLibraries();c=this.libs.split(";");for(var e=0;e<c.length;e++)c[e]=this.libAliases[c[e]]||c[e];for(e=0;e<this.configuration.length;e++)"search"!=this.configuration[e].id&&this.showPalettes(this.configuration[e].prefix||"",this.configuration[e].libs||[this.configuration[e].id],0<= +mxUtils.indexOf(c,this.configuration[e].id));b&&(mxSettings.setLibraries(a),mxSettings.save())};Sidebar.prototype.init=function(){this.entries=[{title:mxResources.get("standard"),entries:[{title:mxResources.get("general"),id:"general",image:IMAGE_PATH+"/sidebar-general.png"},{title:mxResources.get("arrows"),id:"arrows2",image:IMAGE_PATH+"/sidebar-arrows2.png"},{title:mxResources.get("basic"),id:"basic",image:IMAGE_PATH+"/sidebar-basic.png"},{title:mxResources.get("clipart"),id:"clipart",image:IMAGE_PATH+ "/sidebar-clipart.png"},{title:mxResources.get("flowchart"),id:"flowchart",image:IMAGE_PATH+"/sidebar-flowchart.png"}]},{title:mxResources.get("software"),entries:[{title:mxResources.get("android"),id:"android",image:IMAGE_PATH+"/sidebar-android.png"},{title:"Atlassian",id:"atlassian",image:IMAGE_PATH+"/sidebar-atlassian.png"},{title:mxResources.get("bootstrap"),id:"bootstrap",image:IMAGE_PATH+"/sidebar-bootstrap.png"},{title:mxResources.get("entityRelation"),id:"er",image:IMAGE_PATH+"/sidebar-er.png"}, -{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:"Sitemap",id:"sitemap",image:IMAGE_PATH+"/sidebar-sitemap.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:mxResources.get("aws"),id:"aws3",image:IMAGE_PATH+"/sidebar-aws3.png"},{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"}, -{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform",id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+ -"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"},{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+ -"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic",id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"}, -{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons",id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"}, -{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};this.initPalettes()};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(b,a,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)b.style.backgroundImage="none"==a.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";b.style.backgroundRepeat="no-repeat";b.style.backgroundPosition="0% 50%";var d=document.createElement("button"); -d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(b,"click",mxUtils.bind(this,function(l){if("BUTTON"==mxEvent.getSource(l).nodeName){l=b.cloneNode(!0);l.style.backgroundImage="";l.style.textDecoration="none";l.style.fontWeight="bold";l.style.fontSize="14px";l.style.color="rgb(80, 80, 80)";l.style.width="456px";l.style.backgroundColor="#ffffff";l.style.paddingLeft="6px";var f=l.getElementsByTagName("button")[0];f.parentNode.removeChild(f);var g=a.cloneNode(!0);g.style.backgroundColor= -"#ffffff";g.style.borderColor="transparent";g.style.width="456px";l=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+l.outerHTML+g.outerHTML+"</body>","text/html");this.editorUi.convertImages(l.documentElement,mxUtils.bind(this,function(b){var a='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(b)+"</html>";g.style.position="absolute";window.document.body.appendChild(g); -var c=g.clientHeight+18;g.parentNode.removeChild(g);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+c+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(a)))).simulate(document,"_blank")}),null,mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==a.style.display){if(e)b.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);b.style.cursor="wait";var h=b.innerHTML;b.innerHTML= -mxResources.get("loading")+"...";window.setTimeout(function(){c(a);b.style.cursor="";b.innerHTML=h;b.appendChild(d)},0)}else b.appendChild(d);b.style.backgroundImage="url('"+this.expandedImage+"')";a.style.display="block"}else b.style.backgroundImage="url('"+this.collapsedImage+"')",a.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(l)}}))});Sidebar.prototype.extractShapeStyle=function(b){if(null!=b&&"shape="==b.substring(0,6)){var a=b.indexOf(";");0>a&&(a=b.length); -return b.substring(6,a)}return null};var d=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(b,a,c){var e=d.apply(this,arguments);null!=this.shapetags&&(b=b.toLowerCase(),a=a.toLowerCase(),null!=this.shapetags[b]&&e.push(this.shapetags[b]),a=b+"."+a,null!=this.shapetags[a]&&e.push(this.shapetags[a]));return e};Sidebar.prototype.addTagIndex=function(b){b=b.split("\n");for(var a=0;a<b.length;a++)if(null!=b[a]){var c=b[a].split("\t");if(1<c.length){var e=c[0].toLowerCase().replace(" ", -"_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}};Sidebar.prototype.addSearchFileData=function(b){if(null!=b){b=b.getElementsByTagName("shape");for(var a=0;a<b.length;a++){var c=b[a].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var l=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(l,e,b[a].getAttribute("tags"));if(null!=d){var n=c.indexOf(";"),c="shape="+l+"."+e.toLowerCase()+ -";"+(0>n?"":c.substring(n+1));this.createVertexTemplateEntry(c,parseInt(b[a].getAttribute("w")),parseInt(b[a].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var b=GRAPH_IMAGE_PATH,a=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,k=this.pids,n=this.cisco,q=this.sysml,p=this.eip,r=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0);this.addGeneralPalette(!0);this.addMiscPalette(!1); -this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(a,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addInfographicPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette();this.addOfficePalette();this.addVeeamPalette(); -this.addIBMPalette();this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),a+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",b+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), -"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",b+"/lib/clip_art/finance/", -"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",b+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), -"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",b+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), +{title:mxResources.get("ios"),id:"ios",image:IMAGE_PATH+"/sidebar-ios.png"},{title:mxResources.get("mockups"),id:"mockups",image:IMAGE_PATH+"/sidebar-mockups.png"},{title:"Sitemap",id:"sitemap",image:IMAGE_PATH+"/sidebar-sitemap.png"},{title:mxResources.get("uml"),id:"uml",image:IMAGE_PATH+"/sidebar-uml.png"}]},{title:mxResources.get("networking"),entries:[{title:mxResources.get("aws"),id:"aws3",image:IMAGE_PATH+"/sidebar-aws3.png"},{title:"Allied Telesys",id:"allied_telesys",image:IMAGE_PATH+"/sidebar-allied_telesys.png"}, +{title:mxResources.get("aws3d"),id:"aws3d",image:IMAGE_PATH+"/sidebar-aws3d.png"},{title:mxResources.get("azure"),id:"azure",image:IMAGE_PATH+"/sidebar-azure.png"},{title:"Cloud & Enterprise",id:"mscae",image:IMAGE_PATH+"/sidebar-mscae.png"},{title:mxResources.get("cisco"),id:"cisco",image:IMAGE_PATH+"/sidebar-cisco.png"},{title:"Cisco Safe",id:"cisco_safe",image:IMAGE_PATH+"/sidebar-cisco_safe.png"},{title:"Citrix",id:"citrix",image:IMAGE_PATH+"/sidebar-citrix.png"},{title:"Google Cloud Platform", +id:"gcp",image:IMAGE_PATH+"/sidebar-gcp.png"},{title:"IBM",id:"ibm",image:IMAGE_PATH+"/sidebar-ibm.png"},{title:"Network",id:"network",image:IMAGE_PATH+"/sidebar-network.png"},{title:"Office",id:"office",image:IMAGE_PATH+"/sidebar-office.png"},{title:mxResources.get("rack"),id:"rack",image:IMAGE_PATH+"/sidebar-rack.png"},{title:"Veeam",id:"veeam",image:IMAGE_PATH+"/sidebar-veeam.png"}]},{title:mxResources.get("business"),entries:[{title:"ArchiMate 3.0",id:"archimate3",image:IMAGE_PATH+"/sidebar-archimate3.png"}, +{title:mxResources.get("archiMate21"),id:"archimate",image:IMAGE_PATH+"/sidebar-archimate.png"},{title:mxResources.get("bpmn"),id:"bpmn",image:IMAGE_PATH+"/sidebar-bpmn.png"},{title:mxResources.get("leanMapping"),id:"lean_mapping",image:IMAGE_PATH+"/sidebar-leanmapping.png"},{title:mxResources.get("sysml"),id:"sysml",image:IMAGE_PATH+"/sidebar-sysml.png"}]},{title:mxResources.get("other"),entries:[{title:mxResources.get("cabinets"),id:"cabinets",image:IMAGE_PATH+"/sidebar-cabinets.png"},{title:"Infographic", +id:"infographic",image:IMAGE_PATH+"/sidebar-infographic.png"},{title:mxResources.get("eip"),id:"eip",image:IMAGE_PATH+"/sidebar-eip.png"},{title:mxResources.get("electrical"),id:"electrical",image:IMAGE_PATH+"/sidebar-electrical.png"},{title:mxResources.get("floorplans"),id:"floorplan",image:IMAGE_PATH+"/sidebar-floorplans.png"},{title:mxResources.get("gmdl"),id:"gmdl",image:IMAGE_PATH+"/sidebar-gmdl.png"},{title:mxResources.get("procEng"),id:"pid",image:IMAGE_PATH+"/sidebar-pid.png"},{title:"Web Icons", +id:"webicons",image:IMAGE_PATH+"/sidebar-webIcons.png"},{title:mxResources.get("signs"),id:"signs",image:IMAGE_PATH+"/sidebar-signs.png"}]}];this.addStencilsToIndex=!1;this.shapetags={};this.initPalettes()};"1"==urlParams.savesidebar&&(Sidebar.prototype.addFoldingHandler=function(a,b,c){var e=!1;if(!mxClient.IS_IE||8<=document.documentMode)a.style.backgroundImage="none"==b.style.display?"url('"+this.collapsedImage+"')":"url('"+this.expandedImage+"')";a.style.backgroundRepeat="no-repeat";a.style.backgroundPosition= +"0% 50%";var d=document.createElement("button");d.style.marginLeft="4px";mxUtils.write(d,"Save");mxEvent.addListener(a,"click",mxUtils.bind(this,function(l){if("BUTTON"==mxEvent.getSource(l).nodeName){l=a.cloneNode(!0);l.style.backgroundImage="";l.style.textDecoration="none";l.style.fontWeight="bold";l.style.fontSize="14px";l.style.color="rgb(80, 80, 80)";l.style.width="456px";l.style.backgroundColor="#ffffff";l.style.paddingLeft="6px";var f=l.getElementsByTagName("button")[0];f.parentNode.removeChild(f); +var g=b.cloneNode(!0);g.style.backgroundColor="#ffffff";g.style.borderColor="transparent";g.style.width="456px";l=(new DOMParser).parseFromString('<body style="background:#ffffff;font-family:Helvetica,Arial;">'+l.outerHTML+g.outerHTML+"</body>","text/html");this.editorUi.convertImages(l.documentElement,mxUtils.bind(this,function(a){var b='<!DOCTYPE html><html><head><link rel="stylesheet" type="text/css" href="https://www.draw.io/styles/grapheditor.css"></head>'+mxUtils.getXml(a)+"</html>";g.style.position= +"absolute";window.document.body.appendChild(g);var c=g.clientHeight+18;g.parentNode.removeChild(g);this.editorUi.confirm("Image data created",mxUtils.bind(this,function(){(new mxXmlRequest(EXPORT_URL,"w=456&h="+c+"&html="+encodeURIComponent(this.editorUi.editor.graph.compress(b)))).simulate(document,"_blank")}),null,mxResources.get("save"),mxResources.get("cancel"))}))}else{if("none"==b.style.display){if(e)a.appendChild(d);else if(e=!0,null!=c){null!=d.parentNode&&d.parentNode.removeChild(d);a.style.cursor= +"wait";var h=a.innerHTML;a.innerHTML=mxResources.get("loading")+"...";window.setTimeout(function(){c(b);a.style.cursor="";a.innerHTML=h;a.appendChild(d)},0)}else a.appendChild(d);a.style.backgroundImage="url('"+this.expandedImage+"')";b.style.display="block"}else a.style.backgroundImage="url('"+this.collapsedImage+"')",b.style.display="none",null!=d.parentNode&&d.parentNode.removeChild(d);mxEvent.consume(l)}}))});Sidebar.prototype.extractShapeStyle=function(a){if(null!=a&&"shape="==a.substring(0, +6)){var b=a.indexOf(";");0>b&&(b=a.length);return a.substring(6,b)}return null};var d=Sidebar.prototype.getTagsForStencil;Sidebar.prototype.getTagsForStencil=function(a,b,c){var e=d.apply(this,arguments);null!=this.shapetags&&(a=a.toLowerCase(),b=b.toLowerCase(),null!=this.shapetags[a]&&e.push(this.shapetags[a]),b=a+"."+b,null!=this.shapetags[b]&&e.push(this.shapetags[b]));return e};Sidebar.prototype.addTagIndex=function(a){a=a.split("\n");for(var b=0;b<a.length;b++)if(null!=a[b]){var c=a[b].split("\t"); +if(1<c.length){var e=c[0].toLowerCase().replace(" ","_"),c=mxUtils.trim(c.slice(1,c.length).join(" ").toLowerCase());0<c.length&&(this.shapetags[e]=c)}}};Sidebar.prototype.addSearchFileData=function(a){if(null!=a){a=a.getElementsByTagName("shape");for(var b=0;b<a.length;b++){var c=a[b].getAttribute("style"),e=this.extractShapeStyle(c);if(null!=c&&null!=e){var d=e.lastIndexOf(".");if(0<d){var l=e.substring(0,d),e=e.substring(d+1,e.length),d=this.getTagsForStencil(l,e,a[b].getAttribute("tags"));if(null!= +d){var n=c.indexOf(";"),c="shape="+l+"."+e.toLowerCase()+";"+(0>n?"":c.substring(n+1));this.createVertexTemplateEntry(c,parseInt(a[b].getAttribute("w")),parseInt(a[b].getAttribute("h")),"",e.replace(/_/g," "),null,null,this.filterTags(d.join(" ")))}}}}}};Sidebar.prototype.initPalettes=function(){var a=GRAPH_IMAGE_PATH,b=STENCIL_PATH,c=this.signs,e=this.gcp,d=this.rack,k=this.pids,n=this.cisco,q=this.sysml,p=this.eip,r=this.gmdl;"1"==urlParams.createindex&&(mxLog.show(),mxLog.textarea.value="");this.addSearchPalette(!0); +this.addGeneralPalette(!0);this.addMiscPalette(!1);this.addAdvancedPalette(!1);this.addUmlPalette(!1);this.addErPalette();this.addBasicPalette();this.addFlowchartPalette();this.addNetworkPalette();this.addAzurePalette();this.addCitrixPalette();this.addMSCAEPalette();this.addBpmnPalette(b,!1);this.addAWS3Palette();this.addAWS3DPalette();this.addLeanMappingPalette();this.addIos7Palette();this.addIosPalette();this.addInfographicPalette();this.addAndroidPalette();this.addMockupPalette();this.addElectricalPalette(); +this.addOfficePalette();this.addVeeamPalette();this.addIBMPalette();this.addAlliedTelesysPalette();this.addSitemapPalette();this.addStencilPalette("arrows",mxResources.get("arrows"),b+"/arrows.xml",";html=1;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;"+mxConstants.STYLE_STROKEWIDTH+"=2;strokeColor=#000000;");this.addArrows2Palette();this.addImagePalette("computer","Clipart / Computer",a+"/lib/clip_art/computers/","_128x128.png","Antivirus Data_Filtering Database Database_Add Database_Minus Database_Move_Stack Database_Remove Fujitsu_Tablet Harddrive IBM_Tablet iMac iPad Laptop MacBook Mainframe Monitor Monitor_Tower Monitor_Tower_Behind Netbook Network Network_2 Printer Printer_Commercial Secure_System Server Server_Rack Server_Rack_Empty Server_Rack_Partial Server_Tower Software Stylus Touch USB_Hub Virtual_Application Virtual_Machine Virus Workstation".split(" "), +"Antivirus;Data Filtering;Database;Database Add;Database Minus;Database Move Stack;Database Remove;Fujitsu Tablet;Harddrive;IBMTablet;iMac;iPad;Laptop;MacBook;Mainframe;Monitor;Monitor Tower;Monitor Tower Behind;Netbook;Network;Network 2;Printer;Printer Commercial;Secure System;Server;Server Rack;Server Rack Empty;Server Rack Partial;Server Tower;Software;Stylus;Touch;USB Hub;Virtual Application;Virtual Machine;Virus;Workstation".split(";"));this.addImagePalette("finance","Clipart / Finance",a+"/lib/clip_art/finance/", +"_128x128.png","Arrow_Down Arrow_Up Coins Credit_Card Dollar Graph Pie_Chart Piggy_Bank Safe Shopping_Cart Stock_Down Stock_Up".split(" "),"Arrow_Down;Arrow Up;Coins;Credit Card;Dollar;Graph;Pie Chart;Piggy Bank;Safe;Shopping Basket;Stock Down;Stock Up".split(";"));this.addImagePalette("clipart","Clipart / Various",a+"/lib/clip_art/general/","_128x128.png","Battery_0 Battery_100 Battery_50 Battery_75 Battery_allstates Bluetooth Earth_globe Empty_Folder Full_Folder Gear Keys Lock Mouse_Pointer Plug Ships_Wheel Star Tire".split(" "), +"Battery 0%;Battery 100%;Battery 50%;Battery 75%;Battery;Bluetooth;Globe;Empty Folder;Full Folder;Gear;Keys;Lock;Mousepointer;Plug;Ships Wheel;Star;Tire".split(";"));this.addImagePalette("networking","Clipart / Networking",a+"/lib/clip_art/networking/","_128x128.png","Bridge Certificate Certificate_Off Cloud Cloud_Computer Cloud_Computer_Private Cloud_Rack Cloud_Rack_Private Cloud_Server Cloud_Server_Private Cloud_Storage Concentrator Email Firewall_02 Firewall Firewall-page1 Ip_Camera Modem power_distribution_unit Print_Server Print_Server_Wireless Repeater Router Router_Icon Switch UPS Wireless_Router Wireless_Router_N".split(" "), "Bridge;Certificate;Certificate Off;Cloud;Cloud Computer;Cloud Computer Private;Cloud Rack;Cloud Rack Private;Cloud Server;Cloud Server Private;Cloud Storage;Concentrator;Email;Firewall 1;Firewall 2;Firewall;Camera;Modem;Power Distribution Unit;Print Server;Print Server Wireless;Repeater;Router;Router Icon;Switch;UPS;Wireless Router;Wireless Router N".split(";"),{Wireless_Router:"wireless router switch wap wifi access point wlan",Wireless_Router_N:"wireless router switch wap wifi access point wlan", -Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",b+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); -this.addImagePalette("telco","Clipart / Telecommunication",b+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(b=0;b<c.length;b++)this.addStencilPalette("signs"+c[b],"Signs / "+c[b],a+"/signs/"+c[b].toLowerCase()+".xml",";html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;"); -for(b=0;b<e.length;b++)"cards"===e[b].toLowerCase()?this.addGoogleCloudPlatformCardsPalette():this.addStencilPalette("gcp"+e[b],"GCP / "+e[b],a+"/gcp/"+e[b].toLowerCase().replace(/ /g,"_")+".xml",";html=1;outlineConnect=0;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;");for(b=0;b<d.length;b++)"general"===d[b].toLowerCase()?this.addRackGeneralPalette():"f5"===d[b].toLowerCase()?this.addRackF5Palette():this.addStencilPalette("rack"+ -d[b],"Rack / "+d[b],a+"/rack/"+d[b].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;");for(b=0;b<k.length;b++)"Instruments"==k[b]?this.addPidInstrumentsPalette():"Misc"==k[b]?this.addPidMiscPalette():"Valves"==k[b]?this.addPidValvesPalette():"Compressors"==k[b]?this.addPidCompressorsPalette():"Engines"==k[b]?this.addPidEnginesPalette():"Filters"==k[b]?this.addPidFiltersPalette():"Flow Sensors"==k[b]?this.addPidFlowSensorsPalette():"Piping"== -k[b]?this.addPidPipingPalette():this.addStencilPalette("pid"+k[b],"Proc. Eng. / "+k[b],a+"/pid/"+k[b].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(b=0;b<q.length;b++)"Model Elements"==q[b]?this.addSysMLModelElementsPalette():"Blocks"==q[b]?this.addSysMLBlocksPalette():"Ports and Flows"==q[b]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[b]?this.addSysMLConstraintBlocksPalette(): -"Activities"==q[b]?this.addSysMLActivitiesPalette():"Interactions"==q[b]?this.addSysMLInteractionsPalette():"State Machines"==q[b]?this.addSysMLStateMachinesPalette():"Use Cases"==q[b]?this.addSysMLUseCasesPalette():"Allocations"==q[b]?this.addSysMLAllocationsPalette():"Requirements"==q[b]?this.addSysMLRequirementsPalette():"Profiles"==q[b]?this.addSysMLProfilesPalette():"Stereotypes"==q[b]&&this.addSysMLStereotypesPalette();for(b=0;b<p.length;b++)"Message Construction"==p[b]?this.addEipMessageConstructionPalette(): -"Message Routing"==p[b]?this.addEipMessageRoutingPalette():"Message Transformation"==p[b]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[b]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[b]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[b]?this.addEipMessagingSystemsPalette():"System Management"==p[b]&&this.addEipSystemManagementPalette();for(b=0;b<n.length;b++)this.addStencilPalette("cisco"+n[b],"Cisco / "+n[b],a+"/cisco/"+n[b].toLowerCase().replace(/ /g, -"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(b=0;b<r.length;b++)"Bottom Navigation"==r[b]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[b]?this.addGMDLBottomSheetsPalette():"Buttons"==r[b]?this.addGMDLButtonsPalette():"Cards"==r[b]?this.addGMDLCardsPalette(): -"Chips"==r[b]?this.addGMDLChipsPalette():"Dialogs"==r[b]?this.addGMDLDialogsPalette():"Dividers"==r[b]?this.addGMDLDividersPalette():"Grid Lists"==r[b]?this.addGMDLGridListsPalette():"Icons"==r[b]?this.addGMDLIconsPalette():"Lists"==r[b]?this.addGMDLListsPalette():"Menus"==r[b]?this.addGMDLMenusPalette():"Misc"==r[b]?this.addGMDLMiscPalette():"Pickers"==r[b]?this.addGMDLPickersPalette():"Selection Controls"==r[b]?this.addGMDLSelectionControlsPalette():"Sliders"==r[b]?this.addGMDLSlidersPalette(): -"Steppers"==r[b]?this.addGMDLSteppersPalette():"Tabs"==r[b]?this.addGMDLTabsPalette():"Text Fields"==r[b]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(b,a,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this, -function(b,a,c,e,l){if(null==m||0>mxUtils.indexOf(m,a))c=null!=q?q[a]:null,mxLog.debug('<shape style="shape='+b+a+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), +Router:"router switch",Router_Icon:"router switch"});this.addImagePalette("people","Clipart / People",a+"/lib/clip_art/people/","_128x128.png","Suit_Man Suit_Man_Black Suit_Man_Blue Suit_Man_Green Suit_Man_Green_Black Suit_Woman Suit_Woman_Black Suit_Woman_Blue Suit_Woman_Green Suit_Woman_Green_Black Construction_Worker_Man Construction_Worker_Man_Black Construction_Worker_Woman Construction_Worker_Woman_Black Doctor_Man Doctor_Man_Black Doctor_Woman Doctor_Woman_Black Farmer_Man Farmer_Man_Black Farmer_Woman Farmer_Woman_Black Nurse_Man Nurse_Man_Black Nurse_Woman Nurse_Woman_Black Military_Officer Military_Officer_Black Military_Officer_Woman Military_Officer_Woman_Black Pilot_Man Pilot_Man_Black Pilot_Woman Pilot_Woman_Black Scientist_Man Scientist_Man_Black Scientist_Woman Scientist_Woman_Black Security_Man Security_Man_Black Security_Woman Security_Woman_Black Tech_Man Tech_Man_Black Telesales_Man Telesales_Man_Black Telesales_Woman Telesales_Woman_Black Waiter Waiter_Black Waiter_Woman Waiter_Woman_Black Worker_Black Worker_Man Worker_Woman Worker_Woman_Black".split(" ")); +this.addImagePalette("telco","Clipart / Telecommunication",a+"/lib/clip_art/telecommunication/","_128x128.png","BlackBerry Cellphone HTC_smartphone iPhone Palm_Treo Signal_tower_off Signal_tower_on".split(" "),"BlackBerry;Cellphone;HTC smartphone;iPhone;Palm Treo;Signaltower off;Signaltower on".split(";"));for(a=0;a<c.length;a++)this.addStencilPalette("signs"+c[a],"Signs / "+c[a],b+"/signs/"+c[a].toLowerCase()+".xml",";html=1;fillColor=#000000;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;"); +for(a=0;a<e.length;a++)"cards"===e[a].toLowerCase()?this.addGoogleCloudPlatformCardsPalette():this.addStencilPalette("gcp"+e[a],"GCP / "+e[a],b+"/gcp/"+e[a].toLowerCase().replace(/ /g,"_")+".xml",";html=1;outlineConnect=0;fillColor=#4387FD;gradientColor=#4683EA;strokeColor=none;verticalLabelPosition=bottom;verticalAlign=top;align=center;");for(a=0;a<d.length;a++)"general"===d[a].toLowerCase()?this.addRackGeneralPalette():"f5"===d[a].toLowerCase()?this.addRackF5Palette():this.addStencilPalette("rack"+ +d[a],"Rack / "+d[a],b+"/rack/"+d[a].toLowerCase()+".xml",";html=1;labelPosition=right;align=left;spacingLeft=15;dashed=0;shadow=0;fillColor=#ffffff;");for(a=0;a<k.length;a++)"Instruments"==k[a]?this.addPidInstrumentsPalette():"Misc"==k[a]?this.addPidMiscPalette():"Valves"==k[a]?this.addPidValvesPalette():"Compressors"==k[a]?this.addPidCompressorsPalette():"Engines"==k[a]?this.addPidEnginesPalette():"Filters"==k[a]?this.addPidFiltersPalette():"Flow Sensors"==k[a]?this.addPidFlowSensorsPalette():"Piping"== +k[a]?this.addPidPipingPalette():this.addStencilPalette("pid"+k[a],"Proc. Eng. / "+k[a],b+"/pid/"+k[a].toLowerCase().replace(" ","_")+".xml",";html=1;align=center;"+mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;dashed=0;");for(a=0;a<q.length;a++)"Model Elements"==q[a]?this.addSysMLModelElementsPalette():"Blocks"==q[a]?this.addSysMLBlocksPalette():"Ports and Flows"==q[a]?this.addSysMLPortsAndFlowsPalette():"Constraint Blocks"==q[a]?this.addSysMLConstraintBlocksPalette(): +"Activities"==q[a]?this.addSysMLActivitiesPalette():"Interactions"==q[a]?this.addSysMLInteractionsPalette():"State Machines"==q[a]?this.addSysMLStateMachinesPalette():"Use Cases"==q[a]?this.addSysMLUseCasesPalette():"Allocations"==q[a]?this.addSysMLAllocationsPalette():"Requirements"==q[a]?this.addSysMLRequirementsPalette():"Profiles"==q[a]?this.addSysMLProfilesPalette():"Stereotypes"==q[a]&&this.addSysMLStereotypesPalette();for(a=0;a<p.length;a++)"Message Construction"==p[a]?this.addEipMessageConstructionPalette(): +"Message Routing"==p[a]?this.addEipMessageRoutingPalette():"Message Transformation"==p[a]?this.addEipMessageTransformationPalette():"Messaging Channels"==p[a]?this.addEipMessagingChannelsPalette():"Messaging Endpoints"==p[a]?this.addEipMessagingEndpointsPalette():"Messaging Systems"==p[a]?this.addEipMessagingSystemsPalette():"System Management"==p[a]&&this.addEipSystemManagementPalette();for(a=0;a<n.length;a++)this.addStencilPalette("cisco"+n[a],"Cisco / "+n[a],b+"/cisco/"+n[a].toLowerCase().replace(/ /g, +"_")+".xml",";html=1;dashed=0;fillColor=#036897;strokeColor=#ffffff;strokeWidth=2;verticalLabelPosition=bottom;verticalAlign=top;align=center;outlineConnect=0;",null,null,1.6);this.addCiscoSafePalette();this.addFloorplanPalette();this.addAtlassianPalette();this.addBootstrapPalette();for(a=0;a<r.length;a++)"Bottom Navigation"==r[a]?this.addGMDLBottomNavigationPalette():"Bottom Sheets"==r[a]?this.addGMDLBottomSheetsPalette():"Buttons"==r[a]?this.addGMDLButtonsPalette():"Cards"==r[a]?this.addGMDLCardsPalette(): +"Chips"==r[a]?this.addGMDLChipsPalette():"Dialogs"==r[a]?this.addGMDLDialogsPalette():"Dividers"==r[a]?this.addGMDLDividersPalette():"Grid Lists"==r[a]?this.addGMDLGridListsPalette():"Icons"==r[a]?this.addGMDLIconsPalette():"Lists"==r[a]?this.addGMDLListsPalette():"Menus"==r[a]?this.addGMDLMenusPalette():"Misc"==r[a]?this.addGMDLMiscPalette():"Pickers"==r[a]?this.addGMDLPickersPalette():"Selection Controls"==r[a]?this.addGMDLSelectionControlsPalette():"Sliders"==r[a]?this.addGMDLSlidersPalette(): +"Steppers"==r[a]?this.addGMDLSteppersPalette():"Tabs"==r[a]?this.addGMDLTabsPalette():"Text Fields"==r[a]&&this.addGMDLTextFieldsPalette();this.addCabinetsPalette();this.addArchimate3Palette();this.addArchiMatePalette();this.addWebIconsPalette();this.addWebLogosPalette();this.showEntries()};if("1"==urlParams.createindex){var e=Sidebar.prototype.addStencilPalette;Sidebar.prototype.addStencilPalette=function(a,b,c,d,m,k,n,q){e.apply(this,arguments);n=null!=n?n:1;mxStencilRegistry.loadStencilSet(c,mxUtils.bind(this, +function(a,b,c,e,l){if(null==m||0>mxUtils.indexOf(m,b))c=null!=q?q[b]:null,mxLog.debug('<shape style="shape='+a+b+d+'" w="'+Math.round(e*n)+'" h="'+Math.round(l*n)+'"'+(null!=c?' tags="'+c+'"':"")+"/>")}),!0)}}var b=Sidebar.prototype.searchEntries;Sidebar.prototype.searchEntries=function(a,c,e,d,m){var l=d;null!=this.searchFileData&&(this.addSearchFileData(mxUtils.parseXml(this.editorUi.editor.graph.decompress(this.searchFileData)).documentElement),this.searchFileData=null);null!=this.tagIndex&&(this.addTagIndex(this.editorUi.editor.graph.decompress(this.tagIndex)), this.tagIndex=null);this.editorUi.isOffline()||0!=e||this.editorUi.logEvent({category:"Sidebar",action:"search",label:a});null!=ICONSEARCH_PATH&&(d=mxUtils.bind(this,function(b,d,f,g){!this.editorUi.isOffline()&&b.length<=c/4?(f=e-Math.ceil((d-c/4)/c),mxUtils.get(ICONSEARCH_PATH+"?q="+encodeURIComponent(a)+"&p="+f+"&c="+c,mxUtils.bind(this,function(a){try{if(200<=a.getStatus()&&299>=a.getStatus())if(null!=a.getText()&&0<a.getText().length)try{var f=JSON.parse(a.getText());if(null==f||null==f.icons)l(b, d,!1,g),this.editorUi.handleError(f);else{for(a=0;a<f.icons.length;a++){for(var h=f.icons[a].raster_sizes,k=h.length-1;0<k&&128<h[k].size;)k--;var m=h[k].size,n=h[k].formats[0].preview_url;null!=m&&null!=n&&mxUtils.bind(this,function(a,c){b.push(mxUtils.bind(this,function(){return this.createVertexTemplate("shape=image;html=1;verticalAlign=top;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;imageAspect=0;aspect=fixed;image="+c,a,a,"")}))})(m,n)}l(b,(e-1)*c+b.length,f.icons.length==c,g)}}catch(z){l(b, -d,!1,g),this.editorUi.handleError(z)}else l(b,d,!1,g);else l(b,d,!1,g),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}},function(){l(b,d,!1,g)}))):l(b,d,f||!this.editorUi.isOffline(),g)}));b.apply(this,arguments)};var c=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(b,a,e){var d=this.editorUi.editor.graph,l=!1;if(null!=b&&1==d.getSelectionCount()&&d.getModel().isVertex(b[0])){var f=d.cloneCells(b)[0];if(d.getModel().isEdge(d.getSelectionCell())&& +d,!1,g),this.editorUi.handleError(z)}else l(b,d,!1,g);else l(b,d,!1,g),this.editorUi.handleError({message:mxResources.get("unknownError")})}catch(z){l(b,d,!1,g),this.editorUi.handleError(z)}},function(){l(b,d,!1,g)}))):l(b,d,f||!this.editorUi.isOffline(),g)}));b.apply(this,arguments)};var c=Sidebar.prototype.itemClicked;Sidebar.prototype.itemClicked=function(a,b,e){var d=this.editorUi.editor.graph,l=!1;if(null!=a&&1==d.getSelectionCount()&&d.getModel().isVertex(a[0])){var f=d.cloneCells(a)[0];if(d.getModel().isEdge(d.getSelectionCell())&& null==d.getModel().getTerminal(d.getSelectionCell(),!1)&&d.getModel().isVertex(f)){d.getModel().beginUpdate();try{var g=d.view.getState(d.getSelectionCell());if(null!=g){var q=d.view.translate,p=d.view.scale,r=g.absolutePoints[g.absolutePoints.length-1];f.geometry.x=r.x/p-q.x-f.geometry.width/2;f.geometry.y=r.y/p-q.y-f.geometry.height/2}d.addCell(f);d.getModel().setTerminal(d.getSelectionCell(),f,!1)}finally{d.getModel().endUpdate()}d.scrollCellToVisible(f);d.setSelectionCell(f);l=!0}}l||c.apply(this, arguments)}})();(function(){var a=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var d=a.apply(this,arguments),e=this,b=new mxCell("Vertical Flow Layout",new mxGeometry(0,0,270,280),"swimlane;html=1;startSize=20;horizontal=1;childLayout=flowLayout;flowOrientation=north;resizable=0;interRankCellSpacing=50;containerType=tree;");b.vertex=!0;var c=new mxCell("Start",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");c.vertex=!0;b.insert(c);var l=new mxCell("Task",new mxGeometry(20, 20,100,40),"whiteSpace=wrap;html=1;");l.vertex=!0;b.insert(l);var f=new mxCell("",new mxGeometry(0,0,0,0),"html=1;curved=1;");f.geometry.relative=!0;f.edge=!0;c.insertEdge(f,!0);l.insertEdge(f,!1);b.insert(f);var g=new mxCell("Task",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");g.vertex=!0;b.insert(g);f=f.clone();c.insertEdge(f,!0);g.insertEdge(f,!1);b.insert(f);c=new mxCell("End",new mxGeometry(20,20,100,40),"whiteSpace=wrap;html=1;");c.vertex=!0;b.insert(c);f=f.clone();l.insertEdge(f, @@ -3259,7 +3262,33 @@ this.addDataEntry("container swimlane pool horizontal",480,360,"Horizontal Pool this.addDataEntry("vertical tree layout",280,190,"Vertical Tree Layout","5ZXNUoMwEICfhjuQWvVaqL3oxXa8p7ADmQmECUspfXo3JNgirdMZ7UE9MGT/s182E49FxX6leZW/qBSkx5Yei7RSaFfFPgIpvdAXqcdiLwx9+rzw6YI16K1+xTWUeE1AaAN2XDZgNW+gUSTcOG00AP2eeacatI41dtI51q0oJC9JWuRY0M7jgJY1co1rcTBOVJtsSouDKpEPHkkuZOpyshipxiCc+PalWWwSaKjFgW/lICfGQZSgN10FLgOpXSO0e9hfhNGrHIkVqAJQd+TSihRzB+TBAvNzEFk+hD06Ja+tIvuIPbKlhcN7HjWboH41x/wZa5sLhHXFEyO3NBhjvle1GZ5v0wW4kfC7sXgCIfDPQJj9AIPZhEFkpoFUwf8CcTcBMekf0gzWTgS5Ve3yqFj0CjLshts6YqNVU6aQugtjM5t0X3Oi6qrRCYzGla5zBnhyelOaGiRHsRtn/w6c+cUpmVL601Ny/xunZH6bKSHx+Cz2ttGr+Q4="), this.addDataEntry("horizontal tree layout",310,160,"Horizontal Tree Layout","5ZXNUoMwEMefJncgtd4LVQ96sX2BtOxAZgJhwlJKn94NSQWkdTqjHtQDQ/a/X+THZsJ4XBwfjajyF52CYnzNeGy0RrcqjjEoxaJApownLIoCelj0cMUb9t6gEgZKvCUhcgkHoRpwypM28qRLFDZsawDo9Sw63aALrbFTPrRuZaFESdYqx4K+PQlpWaMwuJEnG0TdyTdU5IkV9rlUqa/JE6QeZ2MU27d2FQ3U8iR2fds+3wbIEsy2q8BXINlvBQzC8SqOXvIsHkEXgKajkFammLsIHjpkQQ4yy89pSy+K2gnZe+5AlxYe8GXYfAb71f7oj1jbXCJsKrG3dkujMeV70zajy9v0CX4ogm5qjiCEwQUIi29gsJgxiO00kBT+LxB3MxCz/UOawcaboHa6XQ/CqhfIMT5dYzpGN2UKqT8yrrYt+Dkp6q8bs4fJwNKBzgBH/2/O04ASKA/T6l/Bs7w6J3NOf3pO7n/nnCx/Zk7IHC7H3je5O98A"), this.addEntry("vertical flow layout",function(){return e.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Vertical Flow Layout",!0)}),this.addEntry("horizontal flow layout",function(){var a=e.graph.cloneCells([b])[0];a.geometry=new mxGeometry(0,0,460,150);a.style="swimlane;html=1;startSize=20;horizontal=0;childLayout=flowLayout;flowOrientation=west;resizable=0;interRankCellSpacing=50;containerType=tree;";a.value="Horizontal Flow Layout";return e.createVertexTemplateFromCells([a], -a.geometry.width,a.geometry.height,"Horizontal Flow Layout",!0)})])}})();(function(){Sidebar.prototype.addAndroidPalette=function(){var a=this,d=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.android.",e=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;strokeColor=none;shape=",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=2;shape=mxgraph.android.", +a.geometry.width,a.geometry.height,"Horizontal Flow Layout",!0)})])}})();(function(){Sidebar.prototype.addAlliedTelesysPalette=function(){this.addAlliedTelesysBuildingsPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysComputerTerminalsPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysMediaConvertersPalette(60,"allied telesys",this, +"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysSecurityPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysStoragePalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysSwitchPalette(60, +"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/");this.addAlliedTelesysWirelessPalette(60,"allied telesys",this,"aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/")};Sidebar.prototype.addAlliedTelesysBuildingsPalette=function(a,d,e,b){b+="buildings/";var c=[this.createVertexTemplateEntry(b+"Apartments.svg;",.9*a,1.75*a,"","Apartments",!1,null,this.getTagsForStencil("buildings", +"apartments",d).join(" ")),this.createVertexTemplateEntry(b+"Building_Cluster.svg;",2.02*a,1.85*a,"","Building Cluster",!1,null,this.getTagsForStencil("buildings","building cluster",d).join(" ")),this.createVertexTemplateEntry(b+"Large_Building.svg;",1.25*a,1.25*a,"","Large Building",!1,null,this.getTagsForStencil("buildings","large building",d).join(" ")),this.createVertexTemplateEntry(b+"Long_Building.svg;",2.09*a,2.16*a,"","Long Building",!1,null,this.getTagsForStencil("buildings","long building", +d).join(" ")),this.createVertexTemplateEntry(b+"Medium_Business_Building.svg;",.91*a,1.17*a,"","Medium Business Building",!1,null,this.getTagsForStencil("buildings","medium business building",d).join(" ")),this.createVertexTemplateEntry(b+"School_Building.svg;",2.75*a,2.78*a,"","School Building",!1,null,this.getTagsForStencil("buildings","school building",d).join(" ")),this.createVertexTemplateEntry(b+"Secure_Building.svg;",2.72*a,1.86*a,"","Secure Building",!1,null,this.getTagsForStencil("buildings", +"secure building",d).join(" "))];this.addPalette("allied_telesysBuildings","Allied Telesys / Buildings",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysComputerTerminalsPalette=function(a,d,e,b){b+="computer_and_terminals/";var c=[this.createVertexTemplateEntry(b+"IP_TV.svg;",.82*a,.84*a,"","IP TV",!1,null,this.getTagsForStencil("computer terminals","ip tv internet protocol television",d).join(" ")),this.createVertexTemplateEntry(b+ +"Keypad.svg;",.44*a,.8*a,"","Keypad",!1,null,this.getTagsForStencil("computer terminals","keypad",d).join(" ")),this.createVertexTemplateEntry(b+"Laptop.svg;",.7*a,.71*a,"","Laptop",!1,null,this.getTagsForStencil("computer terminals","laptop",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer.svg;",.76*a,1.03*a,"","Personal Computer",!1,null,this.getTagsForStencil("computer terminals","personal computer",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer_Wireless.svg;", +1.05*a,1.07*a,"","Personal Computer Wireless",!1,null,this.getTagsForStencil("computer terminals","personal computer wireless",d).join(" ")),this.createVertexTemplateEntry(b+"Personal_Computer_with_Server.svg;",1.04*a,1.04*a,"","Personal Computer with Server",!1,null,this.getTagsForStencil("computer terminals","Personal Computer Server",d).join(" ")),this.createVertexTemplateEntry(b+"POS_keypad.svg;",.62*a,.46*a,"","POS Keypad",!1,null,this.getTagsForStencil("computer terminals","pos keypad",d).join(" ")), +this.createVertexTemplateEntry(b+"POS_Printer.svg;",.62*a,.54*a,"","POS Printer",!1,null,this.getTagsForStencil("computer terminals","pos printer",d).join(" ")),this.createVertexTemplateEntry(b+"Server_Desktop.svg;",.71*a,.9*a,"","Server Desktop",!1,null,this.getTagsForStencil("computer terminals","server desktop",d).join(" ")),this.createVertexTemplateEntry(b+"Smartphone.svg;",.33*a,.72*a,"","Smartphone",!1,null,this.getTagsForStencil("computer terminals","smartphone",d).join(" ")),this.createVertexTemplateEntry(b+ +"Tablet.svg;",.45*a,.95*a,"","Tablet",!1,null,this.getTagsForStencil("computer terminals","tablet",d).join(" ")),this.createVertexTemplateEntry(b+"Tablet_Alternative.svg;",.58*a,.8*a,"","Tablet Alternative",!1,null,this.getTagsForStencil("computer terminals","tablet alternative",d).join(" ")),this.createVertexTemplateEntry(b+"Vdeo_Conference_Terminal.svg;",.53*a,.75*a,"","Vdeo Conference Terminal",!1,null,this.getTagsForStencil("computer terminals","vdeo conference terminal",d).join(" ")),this.createVertexTemplateEntry(b+ +"VOIP_IP_phone.svg;",.5*a,.76*a,"","VOIP IP Phone",!1,null,this.getTagsForStencil("computer terminals","voip ip phone voice over internet protocol",d).join(" "))];this.addPalette("allied_telesysComputer and Terminals","Allied Telesys / Computer and Terminals",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysMediaConvertersPalette=function(a,d,e,b){b+="media_converters/";var c=[this.createVertexTemplateEntry(b+"Industrial_Media_Converter.svg;", +.5*a,.95*a,"","Industrial Media Converter",!1,null,this.getTagsForStencil("media converters","industrial media converter",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Media_Converter_POE.svg;",.5*a,.95*a,"","Industrial Media Converter POE",!1,null,this.getTagsForStencil("media converters","industrial media converter poe",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Modular.svg;",1.18*a,.91*a,"","Media Converter Modular",!1,null,this.getTagsForStencil("media converters", +"media converter modular",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Standalone.svg;",.76*a,.62*a,"","Media Converter Standalone",!1,null,this.getTagsForStencil("media converters","media converter standalone",d).join(" ")),this.createVertexTemplateEntry(b+"Media_Converter_Standalone_POE.svg;",.76*a,.62*a,"","Media Converter Standalone POE",!1,null,this.getTagsForStencil("media converters","media converter standalone poe",d).join(" "))];this.addPalette("allied_telesysMedia Converters", +"Allied Telesys / Media Converters",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysSecurityPalette=function(a,d,e,b){b+="security/";var c=[this.createVertexTemplateEntry(b+"DVS_Surveillance_Monitor.svg;",.7*a,1*a,"","DVS Surveillance Monitor",!1,null,this.getTagsForStencil("security","dvs surveillance monitor",d).join(" ")),this.createVertexTemplateEntry(b+"EtherGRID.svg;",1.49*a,1.08*a,"","EtherGRID",!1,null,this.getTagsForStencil("security", +"ethergrid",d).join(" ")),this.createVertexTemplateEntry(b+"POE_DVS_Camera.svg;",.85*a,.67*a,"","POE DVS Camera",!1,null,this.getTagsForStencil("security","poe dvs camera",d).join(" ")),this.createVertexTemplateEntry(b+"POS.svg;",1.13*a,1.2*a,"","POS",!1,null,this.getTagsForStencil("security","pos",d).join(" ")),this.createVertexTemplateEntry(b+"Router_UTM.svg;",.93*a,.66*a,"","Router UTM",!1,null,this.getTagsForStencil("security","router utm",d).join(" ")),this.createVertexTemplateEntry(b+"Router_VPN.svg;", +.93*a,.66*a,"","Router VPN",!1,null,this.getTagsForStencil("security","router vpn",d).join(" ")),this.createVertexTemplateEntry(b+"Surveillance_Camera_Ceiling.svg;",.62*a,.59*a,"","Surveillance Camera Ceiling",!1,null,this.getTagsForStencil("security","surveillance camera ceiling",d).join(" "))];this.addPalette("allied_telesysSecurity","Allied Telesys / Security",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysStoragePalette= +function(a,d,e,b){b+="storage/";var c=[this.createVertexTemplateEntry(b+"Datacenter_Server_Half_Rack_ToR.svg;",1.47*a,1.91*a,"","Datacenter Server Half Rack ToR",!1,null,this.getTagsForStencil("storage","datacenter server half rack tor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack.svg;",1.47*a,2.98*a,"","Datacenter Server Rack",!1,null,this.getTagsForStencil("storage","datacenter server rack",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_EoR.svg;", +1.43*a,2.89*a,"","Datacenter Server Rack EoR",!1,null,this.getTagsForStencil("storage","datacenter server rack eor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_Storage_Unit_Small.svg;",1.29*a,1.12*a,"","Datacenter Server Rack Storage Unit Small",!1,null,this.getTagsForStencil("storage","datacenter server rack storage unit small",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Rack_ToR.svg;",1.47*a,2.98*a,"","Datacenter Server Rack ToR",!1,null,this.getTagsForStencil("storage", +"datacenter server rack tor",d).join(" ")),this.createVertexTemplateEntry(b+"Datacenter_Server_Storage_Unit_Large.svg;",1.28*a,1.32*a,"","Datacenter Server Storage Unit Large",!1,null,this.getTagsForStencil("storage","datacenter server storage unit large",d).join(" "))];this.addPalette("allied_telesysStorage","Allied Telesys / Storage",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))};Sidebar.prototype.addAlliedTelesysSwitchPalette=function(a,d,e,b){b+="switch/"; +var c=[this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE200.svg;",.67*a,.94*a,"","Industrial Ethernet IE200",!1,null,this.getTagsForStencil("switch","industrial ethernet ie200",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE200_POE.svg;",.67*a,.94*a,"","Industrial Ethernet IE200 POE",!1,null,this.getTagsForStencil("switch","industrial ethernet ie200 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Industrial_Ethernet_IE300.svg;",1.16*a,1.29*a,"","Industrial_Ethernet_IE300", +!1,null,this.getTagsForStencil("switch","industrial ethernet ie300",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SBx8106.svg;",1.43*a,1.23*a,"","Modular Switch SBx8106",!1,null,this.getTagsForStencil("switch","modular switch sbx8106",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SBx8112.svg;",1.49*a,1.53*a,"","Modular Switch SBx8112",!1,null,this.getTagsForStencil("switch","modular switch sbx8112",d).join(" ")),this.createVertexTemplateEntry(b+"Modular_Switch_SXx908GEN2.svg;", +1.3*a,1.11*a,"","Modular Switch SXx908GEN2",!1,null,this.getTagsForStencil("switch","modular switch sxx908gen2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L2.svg;",1.24*a,.85*a,"","Switch 24 port L2",!1,null,this.getTagsForStencil("switch","switch 24 port l2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L2_POE.svg;",1.24*a,.85*a,"","Switch 24 port L2 POE",!1,null,this.getTagsForStencil("switch","switch 24 port l2 poe",d).join(" ")),this.createVertexTemplateEntry(b+ +"Switch_24_port_L3.svg;",1.24*a,.85*a,"","Switch 24 port L3",!1,null,this.getTagsForStencil("switch","switch 24 port l3",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L3_Alternative.svg;",1.3*a,.88*a,"","Switch 24 port L3 Alternative",!1,null,this.getTagsForStencil("switch","switch 24 port l3 alternative",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_24_port_L3_POE.svg;",1.24*a,.85*a,"","Switch 24 port L3 POE",!1,null,this.getTagsForStencil("switch","switch 24 port l3 poe", +d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L2.svg;",1.3*a,.88*a,"","Switch 48 port L2",!1,null,this.getTagsForStencil("switch","switch 48 port l2",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L2_POE.svg;",1.3*a,.88*a,"","Switch 48 port L2 POE",!1,null,this.getTagsForStencil("switch","switch 48 port l2 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L3.svg;",1.3*a,.88*a,"","Switch 48 port L3",!1,null,this.getTagsForStencil("switch","switch 48 port l3", +d).join(" ")),this.createVertexTemplateEntry(b+"Switch_48_port_L3_POE.svg;",1.3*a,.88*a,"","Switch 48 port L3 POE",!1,null,this.getTagsForStencil("switch","switch 48 port l3 poe",d).join(" ")),this.createVertexTemplateEntry(b+"Switch_52_port_L3.svg;",1.3*a,.88*a,"","Switch 52 port L3",!1,null,this.getTagsForStencil("switch","switch 52 port l3",d).join(" "))];this.addPalette("allied_telesysSwitch","Allied Telesys / Switch",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}; +Sidebar.prototype.addAlliedTelesysWirelessPalette=function(a,d,e,b){b+="wireless/";var c=[this.createVertexTemplateEntry(b+"Access_Point_Indoor.svg;",.61*a,.91*a,"","Access Point Indoor",!1,null,this.getTagsForStencil("wireless","access point indoor",d).join(" ")),this.createVertexTemplateEntry(b+"Access_Point_Outdoor.svg;",.43*a,1.66*a,"","Access Point Outdoor",!1,null,this.getTagsForStencil("wireless","access point outdoor",d).join(" ")),this.createVertexTemplateEntry(b+"Laptop_Wireless.svg;",.96* +a,.79*a,"","Laptop Wireless",!1,null,this.getTagsForStencil("wireless","laptop wireless",d).join(" "))];this.addPalette("allied_telesysWireless","Allied Telesys / Wireless",!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addAndroidPalette=function(){var a=this,d=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;shape=mxgraph.android.",e=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=1;strokeColor=none;shape=",b=mxConstants.STYLE_VERTICAL_LABEL_POSITION+"=bottom;"+mxConstants.STYLE_VERTICAL_ALIGN+"=top;html=1;shadow=0;dashed=0;strokeWidth=2;shape=mxgraph.android.", c=[this.createVertexTemplateEntry(d+"phone2;fillColor=#ffffff;strokeColor=#c0c0c0;",200,390,"","Phone",null,null,"android phone mobile portrait"),this.createVertexTemplateEntry(d+"phone2;fillColor=#ffffff;strokeColor=#c0c0c0;direction=south;",390,200,"","Phone (landscape)",null,null,"android phone mobile landscape"),this.createVertexTemplateEntry(d+"tab2;fillColor=#ffffff;strokeColor=#c0c0c0;",472,686,"","Tab",null,null,"android tab tablet portrait"),this.createVertexTemplateEntry(d+"tab2;fillColor=#ffffff;strokeColor=#c0c0c0;direction=north;", 686,472,"","Tab (landscape)",null,null,"android tab tablet landscape"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar;fillColor=#1A1A1A;strokeColor=#c0c0c0;strokeWidth=2;fontColor=#FFFFFF;",185,30,"","Action Bar",null,null,"android action bar dark portrait"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar;fillColor=#E6E6E6;strokeColor=#c0c0c0;strokeWidth=2;",185,30,"","Action Bar (Bright)", null,null,"android action bar bright portrait"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar_landscape;fillColor=#1A1A1A;strokeColor=#c0c0c0;strokeWidth=2;fontColor=#FFFFFF;",320,30,"","Action Bar Landscape",null,null,"android action bar landscape dark"),this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxgraph.android.action_bar_landscape;fillColor=#E6E6E6;strokeColor=#c0c0c0;strokeWidth=2;",320,30,"","Action Bar Landscape (Bright)", @@ -3328,7 +3357,7 @@ this.createVertexTemplateEntry("strokeWidth=1;html=1;shadow=0;dashed=0;shape=mxg 174,30,"","Textfield Activated",null,null,"android textfield activated"),this.createVertexTemplateEntry(d+"text_insertion_point;",20,30,"","Text Insertion Point",null,null,"android textfield insertion point"),this.createVertexTemplateEntry(d+"textSelHandles;fillColor=#33b5e5;strokeColor=#0099cc;",168.8,42.2,"","Text Selection Handles",null,null,"android text selection handle"),this.createVertexTemplateEntry(d+"time_picker;",150,230,"","Time Picker (Bright)",null,null,"android time picker bright"), this.createVertexTemplateEntry(d+"time_picker_dark;",150,230,"","Time Picker (Dark)",null,null,"android time picker dark"),this.createVertexTemplateEntry(e+"rect;fillColor=#33b5e5;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#0099cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#aa66cc;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#9933cc;",50,50,"","Color", null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#99cc00;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#669900;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ffbb33;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ff8800;",50,50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#ff4444;",50, -50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#cc0000;",50,50,"","Color",null,null,"android color")];this.addPalette("android",mxResources.get("android"),!1,mxUtils.bind(this,function(b){for(var a=0;a<c.length;a++)b.appendChild(c[a](b))}))}})();(function(){Sidebar.prototype.addArchiMatePalette=function(){this.addPaletteFunctions("archimate",mxResources.get("archiMate21"),!1,[this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=actor",100,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate","application","archimate business actor").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=role", +50,"","Color",null,null,"android color"),this.createVertexTemplateEntry(e+"rect;fillColor=#cc0000;",50,50,"","Color",null,null,"android color")];this.addPalette("android",mxResources.get("android"),!1,mxUtils.bind(this,function(a){for(var b=0;b<c.length;b++)a.appendChild(c[b](a))}))}})();(function(){Sidebar.prototype.addArchiMatePalette=function(){this.addPaletteFunctions("archimate",mxResources.get("archiMate21"),!1,[this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=actor",100,75,"","Business Actor",null,null,this.getTagsForStencil("mxgraph.archimate","application","archimate business actor").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=role", 100,75,"","Business Role",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business role").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=collab",100,75,"","Business Collaboration",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business collaboration").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=interface", 100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.application;appType=interface2",100,75,"","Business Interface",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business interface").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.location", 100,75,"","Location",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate location").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.business;busType=process",100,75,"","Business Process",null,null,this.getTagsForStencil("mxgraph.archimate","","archimate business process").join(" ")),this.createVertexTemplateEntry("html=1;outlineConnect=0;whiteSpace=wrap;fillColor=#ffff99;shape=mxgraph.archimate.business;busType=function", @@ -4349,14 +4378,14 @@ null,null,this.getTagsForStencil("mxgraph.citrix","Role Synchronizer","").join(" "XenApp Web","").join(" ")),this.createVertexTemplateEntry(a+"xencenter;",76,89,"","XenCenter",null,null,this.getTagsForStencil("mxgraph.citrix","XenCenter","").join(" ")),this.createVertexTemplateEntry(a+"xenclient;",91,77,"","XenClient",null,null,this.getTagsForStencil("mxgraph.citrix","XenClient","").join(" ")),this.createVertexTemplateEntry(a+"xenclient_synchronizer;fillColor=#CCCCCC;gradientColor=#000000;gradientDirection=south;",76,91,"","XenClient Synchronizer",null,null,this.getTagsForStencil("mxgraph.citrix", "Synchronizer","").join(" ")),this.createVertexTemplateEntry(a+"xendesktop_server;",75,91,"","XenDesktop Server",null,null,this.getTagsForStencil("mxgraph.citrix","XenDesktop Server","").join(" ")),this.createVertexTemplateEntry(a+"xenmobile;fillColor=#CCCCCC;gradientColor=#000000;gradientDirection=south;",70,89,"","XenMobile",null,null,this.getTagsForStencil("mxgraph.citrix","XenMobile","").join(" ")),this.createVertexTemplateEntry(a+"xenserver;",76.5,90,"","XenServer",null,null,this.getTagsForStencil("mxgraph.citrix", "XenServer","").join(" "))])}})();(function(){Sidebar.prototype.addEipMessageConstructionPalette=function(a){var d=this,e=[this.createEdgeTemplateEntry("edgeStyle=none;html=1;strokeColor=#808080;endArrow=block;endSize=10;dashed=0;verticalAlign=bottom;strokeWidth=2;",160,0,"","Pipe",null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction pipe").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", -150,90,"","Filter",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction filter").join(" ")),this.addEntry("eip enterprise integration pattern message construction command message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("C",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#FF8080;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Command Message")}),this.addDataEntry("eip enterprise integration pattern message construction correlation identifier",78,30,"Correlation Identifier","5ZZLT8JAEIB/Ta+mDwv1KAicTEw8qMeVDu2GpUO2ixZ/vbPdAVorilExkTZN5rEznf1mtqkXDRfVRItlfo0pKC8aedFQIxonLaohKOWFvky96MoLQ58eLxzv8Qa1118KDYU5JCB0AU9CrcBZnKE0a8UGSDO4ZRW1yTHDQqjRzjrQuCpSsBl90qCS5r4hP1j5LLZakV5qjc9kKLCwkako821gbha0/6uAxNJonMMQFeq6iCjx7b313MnU5OQJyeIKtlW2GJS40lM29ZzJCJ0BY4m7pOpAxjQBXIDRa1qiQQkjn9rZRenUbLtuB5kE5vw+8+gkmCdd5v2/Y35+APMdqUeF03mbDnnHUrVZNYl06I3HF4RwD6ifRMChNygpY+hXvGEe8HXrBGziXaM4pPl5eJMl6H+UxfW2k6XuxXYnB7Un/rw9XeStQRZKZgXJU+IK1ILBDAtzK19sdGL7k4ullem9clnaczCjdu6f9o2HDw3XB9pA9dVOPnPNdgXvKweZ5aZt+8549zr8Ln8LoIap6dLjaX/nHPj1tcnH5QSsN9bN6uubqDcBvdbYBnwMj9CI/n8eZA6I/aPhTDo4B6c8171jzTWpu39Q9z1v/qK+Ag=="), -this.addEntry("eip enterprise integration pattern message construction document message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("D",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#C7A0FF;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Document Message")}),this.addEntry("eip enterprise integration pattern message construction event message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("E",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#83BEFF;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Event Message")}),this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messExp;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top", +150,90,"","Filter",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction filter").join(" ")),this.addEntry("eip enterprise integration pattern message construction command message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("C",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#FF8080;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Command Message")}),this.addDataEntry("eip enterprise integration pattern message construction correlation identifier",78,30,"Correlation Identifier","5ZZLT8JAEIB/Ta+mDwv1KAicTEw8qMeVDu2GpUO2ixZ/vbPdAVorilExkTZN5rEznf1mtqkXDRfVRItlfo0pKC8aedFQIxonLaohKOWFvky96MoLQ58eLxzv8Qa1118KDYU5JCB0AU9CrcBZnKE0a8UGSDO4ZRW1yTHDQqjRzjrQuCpSsBl90qCS5r4hP1j5LLZakV5qjc9kKLCwkako821gbha0/6uAxNJonMMQFeq6iCjx7b313MnU5OQJyeIKtlW2GJS40lM29ZzJCJ0BY4m7pOpAxjQBXIDRa1qiQQkjn9rZRenUbLtuB5kE5vw+8+gkmCdd5v2/Y35+APMdqUeF03mbDnnHUrVZNYl06I3HF4RwD6ifRMChNygpY+hXvGEe8HXrBGziXaM4pPl5eJMl6H+UxfW2k6XuxXYnB7Un/rw9XeStQRZKZgXJU+IK1ILBDAtzK19sdGL7k4ullem9clnaczCjdu6f9o2HDw3XB9pA9dVOPnPNdgXvKweZ5aZt+8549zr8Ln8LoIap6dLjaX/nHPj1tcnH5QSsN9bN6uubqDcBvdbYBnwMj9CI/n8eZA6I/aPhTDo4B6c8171jzTWpu39Q9z1v/qK+Ag=="), +this.addEntry("eip enterprise integration pattern message construction document message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("D",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#C7A0FF;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Document Message")}),this.addEntry("eip enterprise integration pattern message construction event message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("E",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#83BEFF;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Event Message")}),this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messExp;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top", 48,48,"","Message Expiration",null,null,this.getTagsForStencil("mxgraph.eip","","eip enterprise integration pattern message construction message expiration").join(" ")),this.addDataEntry("eip enterprise integration pattern message construction message sequence",60,24,"Message Sequence","5VVdb4MgFP01vKtY4+vKZp+WLNnDnpneKSmKQWp1v34gtKWhXfawNPswMbn33A+45xBAmLTTRtK+eRQVcIQfECZSCGWtdiLAOUoiViF8j5Ik0j9KiivReIlGPZXQqa8UJLZgpHwHFrHAoGbugHInRzDpMcJr6Ko7KcVeu69clFsNNarlLjooKbZABBdyqcUxIUUUHSMvrFKNjiS20zN7N2tg7dlVoarhbJBB7GTpoJWFFJU1uNnScNyl0M26AdGCkrNOkcCpYuN5dzpYtz7muVI9Ip29hF6wTg1e5ycD6ITJ9ct9krVhGxw8bycnaBHisij494iShaKsfogoafKtoqSBKHGgSkhoRYdm0cnwTTmrO22XmhjQYqzfRKcc37nRo6G9sSWUykQZ555seVQUGbkkaLR8h35uO/FRwBGkgglduyCuiDO7qDt7ezeUBzXA6kadY5fU8yT4lOFVwHB47v8Sw67gcLJuT3gWEI7/A+FpfiPCtXt6ye2V4z/0Hw=="), -this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.retAddr;html=1;verticalLabelPosition=bottom;fillColor=#FFE040;strokeColor=#000000;verticalAlign=top;",78,48,"","Return Address",null,null,this.getTagsForStencil("mxgraph.eip","retAddr","eip enterprise integration pattern message construction return address").join(" "))];this.addPalette("eipMessage Construction","EIP / Message Construction",a||!1,mxUtils.bind(this,function(b){for(var a= -0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addEipMessageRoutingPalette=function(a){var d=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.aggregator;",150,90,"","Aggregator",null,null,this.getTagsForStencil("mxgraph.eip","aggregator","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.composed_message_processor;", +this.createVertexTemplateEntry("strokeWidth=3;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.retAddr;html=1;verticalLabelPosition=bottom;fillColor=#FFE040;strokeColor=#000000;verticalAlign=top;",78,48,"","Return Address",null,null,this.getTagsForStencil("mxgraph.eip","retAddr","eip enterprise integration pattern message construction return address").join(" "))];this.addPalette("eipMessage Construction","EIP / Message Construction",a||!1,mxUtils.bind(this,function(a){for(var b= +0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addEipMessageRoutingPalette=function(a){var d=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.aggregator;",150,90,"","Aggregator",null,null,this.getTagsForStencil("mxgraph.eip","aggregator","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.composed_message_processor;", 150,90,"","Composed Message Processor",null,null,this.getTagsForStencil("mxgraph.eip","composed_message_processor","eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.content_based_router;",150,90,"","Content Based Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router", "eip enterprise integration pattern message routing ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;fillColor=#c0f5a9;verticalLabelPosition=bottom;verticalAlign=top;strokeColor=#000000;shape=mxgraph.eip.dynamic_router;",150,90,"","Dynamic Router",null,null,this.getTagsForStencil("mxgraph.eip","dynamic_router","eip enterprise integration pattern message routing ").join(" ")),this.addDataEntry("eip enterprise integration pattern message routing message broker", 120,90,"Message Broker","5ZjJboMwEIafxneDWZJjQ9qcesqhZxcGjGpwZJytT1+DnQUpUZEqmYQiIWb+YcbMZySwEUmqw0rSDXsXGXBEXhFJpBDKWNUhAc6Rj8sMkSXyfaxP5L/diXpdFG+ohFoNSfBNwo7yLRjFCI06cis0Soov+CgzxbTgI7LIaMOgLYC1Q3lZ1NpO9YggtZCLWq3L7zZ7pt2G0U1rS0hVGy05TwQXsitO8jz/TNsyZpSrCO4OHbFPCFLB4W6XnWRbXIGoQMmjvsUmBLHJ2Nsm2sYjIzEoC3YqMjMabYxfnAtdCGrDQrwNlEwb6LFPygHQYNpAbcLctumebzhtvhZoGDgDGk0b6O0X1iHf+F/wPX2yLN/Yd8Z3NjLfFOchnTvmSyJnfOe/84WsgLV1a1HrywLq7EVKsb8oPeRMVXq8pXfGdj05pn5btAerEVuZQm/SFZUFqN6v4QCkEjhV5a5f/S+IPPwkjMiIjLwnYRSMyGjA8uYhGIUjMhqwYnkIRtGIjAYsQh6CUeyMkXYvuxRdrLeJ8QM="), @@ -4383,16 +4412,16 @@ this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;stro 150,90,"","Selective Consumer",null,null,this.getTagsForStencil("mxgraph.eip","selective_consumer","eip enterprise integration pattern messaging endpoint ").join(" ")),this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;strokeWidth=2;strokeColor=#000000;html=1;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.service_activator;",150,90,"","Service Activator",null,null,this.getTagsForStencil("mxgraph.eip","service_activator","eip enterprise integration pattern messaging endpoint ").join(" ")), this.createVertexTemplateEntry("fillColor=#c0f5a9;dashed=0;outlineConnect=0;strokeWidth=2;strokeColor=#000000;html=1;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.transactional_client;",150,90,"","Transactional Client",null,null,this.getTagsForStencil("mxgraph.eip","transactional_client","eip enterprise integration pattern messaging endpoint ").join(" "))])};Sidebar.prototype.addEipMessagingSystemsPalette=function(a){var d=this,e=[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.content_based_router;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Message Router",null,null,this.getTagsForStencil("mxgraph.eip","content_based_router","eip enterprise integration pattern messaging system ").join(" ")),this.createVertexTemplateEntry("strokeWidth=1;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.messageChannel;html=1;verticalLabelPosition=bottom;strokeColor=#000000;verticalAlign=top;",100,20,"","Message Channel",null,null,this.getTagsForStencil("mxgraph.eip","messageChannel","eip enterprise integration pattern messaging system ").join(" ")), -this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var b=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");b.vertex=!0;var a=new mxCell("",new mxGeometry(85,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -b.geometry.width,b.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var b=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");b.vertex=!0;var a=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Message Endpoint")}),this.addDataEntry("eip enterprise integration pattern messaging system message endpoint",400,90,"Message Endpoint","zVXLbsIwEPwa300eFRwhbbm0UiUOPZtkSSycbOQsr3597cRAIkILKhUkiuSd9fgxs46ZH+XbqRZl9o4JKOa/MD/SiNS08m0ESjGPy4T5z8zzuPmY93omO6izvBQaCrqE4DWEtVAraJAGqGinHFCRxiV8yoQyA3jMnySiysAOwE0glEwL047NjKANsMCCZvLLsocmrDJR2raGmGxWKhWhQl0P7sd8EYqR7VbP0srw+jGZNWiSsVBvYg7qAytJEu2EcyTCvNVh7FZCWBrUbczkYHtWnBpyykwBcyC9M102brO2R9gIyDOQaeZoI4eJqonTA/UotWk4tfuV969VfnBb5Rf1czflvX7lHcELG8auG7Z8CXpsCW5gS/D4B+IvlX3Ql58o+m+VHj5+pV8kafCjpMO7lezT7/pCksLMhaDmuHk5ApPTeta4KpKD+lAkY61xY0++wnhZU4SmPVhgAXvMmTJwvHbYcTSjXDmnT1wZcvv2LqzZmN1Nx6UKVzqGzn/VLCYF6hTgBcdDgxIk193Rr/DGhMe7u851rvZv"), +this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");a.vertex=!0;var c=new mxCell("",new mxGeometry(85,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addEntry("eip enterprise integration pattern messaging system message endpoint",function(){var a=new mxCell("",new mxGeometry(0,0,150,90),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;verticalLabelPosition=bottom;verticalAlign=top;fillColor=#c0f5a9;strokeColor=#000000;");a.vertex=!0;var c=new mxCell("",new mxGeometry(25,25,40,40),"strokeWidth=1;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#ffffff;strokeColor=#000000;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,"Message Endpoint")}),this.addDataEntry("eip enterprise integration pattern messaging system message endpoint",400,90,"Message Endpoint","zVXLbsIwEPwa300eFRwhbbm0UiUOPZtkSSycbOQsr3597cRAIkILKhUkiuSd9fgxs46ZH+XbqRZl9o4JKOa/MD/SiNS08m0ESjGPy4T5z8zzuPmY93omO6izvBQaCrqE4DWEtVAraJAGqGinHFCRxiV8yoQyA3jMnySiysAOwE0glEwL047NjKANsMCCZvLLsocmrDJR2raGmGxWKhWhQl0P7sd8EYqR7VbP0srw+jGZNWiSsVBvYg7qAytJEu2EcyTCvNVh7FZCWBrUbczkYHtWnBpyykwBcyC9M102brO2R9gIyDOQaeZoI4eJqonTA/UotWk4tfuV969VfnBb5Rf1czflvX7lHcELG8auG7Z8CXpsCW5gS/D4B+IvlX3Ql58o+m+VHj5+pV8kafCjpMO7lezT7/pCksLMhaDmuHk5ApPTeta4KpKD+lAkY61xY0++wnhZU4SmPVhgAXvMmTJwvHbYcTSjXDmnT1wZcvv2LqzZmN1Nx6UKVzqGzn/VLCYF6hTgBcdDgxIk193Rr/DGhMe7u851rvZv"), this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","5ZVRb4IwEMc/Da8LghJ9nCg+7cmHbY+NHLRZ6ZGjKu7Tr6VVR5RsiZlbMgjJ3f965d8fJQ3itGpXxGr+hDnIIF4GcUqI2kVVm4KUQRSKPIgXQRSF5gmibKA66qphzQiU/k5D5Bp2TG7BKU5o9EF6AfIS1j5F0hxLVEwuz+qccKtysDOGJoNW6JdP8auNHyY2U/kjEe6NoFDZzpw1/NTIdWXWvxiZsNGEb5CiROpMxNPQ3qfKs8g1N5XIKM6wddlj0OCWNl6aOEkzKsFjGV+S6ho9phVgBZoOZgiBZFrs+rOzxqXladwZsgk85+vM43/BPPlTzMdfM79cZY8Uk6JUJt4Y72AIzQtUei3ebffUQuKstrF5r6gbC7oQUg7jPFb8V/H+gDS0g//yAK2992xH+HVxECXXfe0WfpO78SPY6GvwsixJr+3SsLuO83k7oxuJHhv8Jj74dOrSO/BOfpl3Ucxm4eVmvS/vOPkp3iY9n7FdrXcEfwA="), -this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#80FF6C;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","vZRNb4MwDIZ/DdeJj25qjyvtetqph23HqBgSLcTIuC3dr19C0naIoU3qNBCS/TqvcR5Qoiyvuw2JRj5jATrK1lGWEyL7qO5y0DpKY1VE2SpK09g+Ufo0UU36atwIAsO/MaTecBB6D17xQssnHQQoKtiGFIklVmiEXl/VJeHeFOA6xjaDTvHrl/jNxXf3LjPFIxEerWDQOGchWnkxSq7t/leJDVsmfIccNVI/RDaP3X2pvKiCpa2kVvEDuykHDFrc0y5IMy+xoAoClmxMqjcGTBvAGphOdgmBFqwOw+6i9Wl1WXeFbIPA+Xvm2c/Mx7sckBJaVcbGOzs7WELLEg1v1Ydzzx0kKRoX2/eqpnWgS6X1NM5zJXyVMB8QQzf5X03QOoaZ3YqwLwmqkjzUbuE3+zd+BDsewyvLxSIew7OVuL/O/cI4yY1Ez4YH7ziFdO7Tv+dt0+v509cGx9Mn"), -this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_1;fillColor=#ff5500;strokeColor=#000000;fontStyle=1;");a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); -e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var b=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_2;fillColor=#00cc00;strokeColor=#000000;fontStyle=1;"); -a.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;b.insertEdge(e,!1);a.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,b,a],28,30,"Message")}),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_translator;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", -150,90,"","Message-Translator",null,null,this.getTagsForStencil("mxgraph.eip","message_translator","eip enterprise integration pattern messaging system ").join(" "))];this.addPalette("eipMessaging Systems","EIP / Messaging Systems",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addEipSystemManagementPalette=function(a){this.addPaletteFunctions("eipSystem Management","EIP / System Management",!1,[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.channel_purger;fillColor=#c0f5a9;strokeColor=#000000;", +this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=rect;fillColor=#80FF6C;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.addDataEntry("eip enterprise integration pattern messaging system message",28,48,"Message","vZRNb4MwDIZ/DdeJj25qjyvtetqph23HqBgSLcTIuC3dr19C0naIoU3qNBCS/TqvcR5Qoiyvuw2JRj5jATrK1lGWEyL7qO5y0DpKY1VE2SpK09g+Ufo0UU36atwIAsO/MaTecBB6D17xQssnHQQoKtiGFIklVmiEXl/VJeHeFOA6xjaDTvHrl/jNxXf3LjPFIxEerWDQOGchWnkxSq7t/leJDVsmfIccNVI/RDaP3X2pvKiCpa2kVvEDuykHDFrc0y5IMy+xoAoClmxMqjcGTBvAGphOdgmBFqwOw+6i9Wl1WXeFbIPA+Xvm2c/Mx7sckBJaVcbGOzs7WELLEg1v1Ydzzx0kKRoX2/eqpnWgS6X1NM5zJXyVMB8QQzf5X03QOoaZ3YqwLwmqkjzUbuE3+zd+BDsewyvLxSIew7OVuL/O/cI4yY1Ez4YH7ziFdO7Tv+dt0+v509cGx9Mn"), +this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_1;fillColor=#ff5500;strokeColor=#000000;fontStyle=1;");c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;"); +e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.addEntry("eip enterprise integration pattern messaging system message",function(){var a=new mxCell("",new mxGeometry(0,0,12,12),"strokeWidth=2;dashed=0;align=center;fontSize=8;shape=ellipse;fillColor=#808080;strokeColor=none;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,18,12,12),"strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_2;fillColor=#00cc00;strokeColor=#000000;fontStyle=1;"); +c.vertex=!0;var e=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;rounded=0;exitX=0;exitY=0.5;endArrow=none;dashed=0;html=1;strokeColor=#808080;strokeWidth=2;");e.geometry.relative=!0;e.edge=!0;a.insertEdge(e,!1);c.insertEdge(e,!0);return d.createVertexTemplateFromCells([e,a,c],28,30,"Message")}),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;shape=mxgraph.eip.message_translator;fillColor=#c0f5a9;strokeColor=#000000;verticalLabelPosition=bottom;verticalAlign=top;", +150,90,"","Message-Translator",null,null,this.getTagsForStencil("mxgraph.eip","message_translator","eip enterprise integration pattern messaging system ").join(" "))];this.addPalette("eipMessaging Systems","EIP / Messaging Systems",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addEipSystemManagementPalette=function(a){this.addPaletteFunctions("eipSystem Management","EIP / System Management",!1,[this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.channel_purger;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Channel Purger",null,null,this.getTagsForStencil("mxgraph.eip","channel_purger","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.control_bus;fillColor=#c0f5a9;strokeColor=#000000;",60,40,"","Control Bus",null,null,this.getTagsForStencil("mxgraph.eip","control_bus","eip enterprise integration pattern system management ").join(" ")), this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.detour;fillColor=#c0f5a9;strokeColor=#000000;",150,90,"","Detour",null,null,this.getTagsForStencil("mxgraph.eip","detour","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.message_store;fillColor=#c0f5a9;strokeColor=#000000;", 150,90,"","Message Store",null,null,this.getTagsForStencil("mxgraph.eip","message_store","eip enterprise integration pattern system management ").join(" ")),this.createVertexTemplateEntry("strokeWidth=2;outlineConnect=0;dashed=0;align=center;fontSize=8;verticalLabelPosition=bottom;verticalAlign=top;shape=mxgraph.eip.smart_proxy;fillColor=#c0f5a9;strokeColor=#000000;",70,90,"","Smart Proxy",null,null,this.getTagsForStencil("mxgraph.eip","smart_proxy","eip enterprise integration pattern system management ").join(" ")), @@ -4553,7 +4582,7 @@ this.getTagsForStencil("mxgraph.electrical.transmission","overground enclosure", this.createVertexTemplateEntry(v+"2_line_bus;",130,25,"","2-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","2 two line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"3_line_bus;",130,30,"","3-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"4_line_bus;",130,75,"","4-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission", "3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"8_line_bus;",130,180,"","8-Line Bus",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 three line bus","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"twoLineBusElbow;notch=25;",120,120,"","2-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","2 two line bus elbow","electrical transmission paths bus buses").join(" ")), this.createVertexTemplateEntry(v+"threeLineBusElbow;notch=30;",120,120,"","3-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","3 two line bus elbow","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+"fourLineBusElbow;notch=75;",120,120,"","4-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","4 two line bus elbow","electrical transmission paths bus buses").join(" ")),this.createVertexTemplateEntry(v+ -"eightLineBusElbow;notch=180;",200,200,"","8-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","8 two line bus elbow","electrical transmission paths bus buses").join(" "))];this.addPalette("electricalTransmission","Electrical / Transmission Paths",!1,mxUtils.bind(this,function(b){for(var a=0;a<z.length;a++)b.appendChild(z[a](b))}))}})();(function(){Sidebar.prototype.addErPalette=function(){var a=this,d=new mxCell("Row",new mxGeometry(0,0,40,26),"text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;");d.vertex=!0;var e=[this.addEntry("er entity relation table",function(){var b=new mxCell("Table",new mxGeometry(0,0,160,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); +"eightLineBusElbow;notch=180;",200,200,"","8-Line Bus Elbow",null,null,this.getTagsForStencil("mxgraph.electrical.transmission","8 two line bus elbow","electrical transmission paths bus buses").join(" "))];this.addPalette("electricalTransmission","Electrical / Transmission Paths",!1,mxUtils.bind(this,function(a){for(var b=0;b<z.length;b++)a.appendChild(z[b](a))}))}})();(function(){Sidebar.prototype.addErPalette=function(){var a=this,d=new mxCell("Row",new mxGeometry(0,0,40,26),"text;strokeColor=none;fillColor=none;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;fontSize=12;");d.vertex=!0;var e=[this.addEntry("er entity relation table",function(){var b=new mxCell("Table",new mxGeometry(0,0,160,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); b.vertex=!0;b.insert(a.cloneCell(d,"Row 1"));b.insert(a.cloneCell(d,"Row 2"));b.insert(a.cloneCell(d,"Row 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Table")}),this.addEntry("er entity relation table section subsection",function(){var b=new mxCell("Section",new mxGeometry(0,0,140,110),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=22;fillColor=none;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;fontSize=14;"); b.vertex=!0;b.insert(a.cloneCell(d,"Row 1"));b.insert(a.cloneCell(d,"Row 2"));b.insert(a.cloneCell(d,"Row 3"));return a.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height,"Section")}),this.addDataEntry("er entity relation table section subsection",160,144,"ER Table 1","7ZjbbqMwEIafhtuVDSHdXBZ60GpTqWr6AgYcsNbYrHE2SZ9+x8a0SUmURCnZdkUOEjMeH2bm44+CF8Tl6l6RqniQGeVecOuhaw9NvCBWUuo327rKVUw593zEMi+48Xwfwdfz7w6FYRuGKqKo0CfN9JuZfwhf0MbzTBJOG2+t19x56yUrORFgRXMp9MyNILDTgvFsStZyYbauNUl/tVZUSMVeIJ5A5jcYHDCs9Iy9mMn+2KzGOI8ll8ruE1Bk3lszZ2ZFt5eiNcx9bPPE71wPZLUVOCW1bk8pOSdVzRJ7bjOxJCpnIpJay9IFtVnebR9qbl8wTjjLBfhS2IuqthZNNngEtqsmVZqu9rbGujb74lpzT2VJtVpD+JJlunDR46aVqKAsL9olRqPGSerGkb/O3dF18LjGH6Ah6NCwEOz3gv7IukAUpDKXkJhmhD/RVBORm9FIy8rVk9N5W3/lDm+uk7bmeKOmTWxkasdSwq+du2RZZlfdBEVIS2JdkZSJfNrsEozeXE9uN+OSsOScyyWYBSxGhTmN1EST5JXhSjKhbSnDCD5Q8Rh9C70QMo3Bxm82fEy40rEUtVaE2a5SAG1JDWxRpmT1DGjRNtvN+yV8x4x/LDP+ScxMdiAToD6IGXWIefx5NivJ5j25o+/HIrPNx4fhcYgAk6aD++hep1IIU5akrRnqMhCcxEBwMQbCDgMKyukj3I9ooMME2MW+uGJcXiHg97gHOsYdOv61PjR0/GfiEJ4tDv20/2qPOJxPwSAOX18cvg/icAlxuPqk4jDZIw7BIA6DOPgYDepwCXWYfFJ1wPjj+z/owiV1AffyfxN3H1oOutCDLuDTHlTuEoZzAbDOjQflLmjrgfpf"), this.addDataEntry("er entity relation table section subsection",160,112,"ER Table 2","7ZdRb+IwDIB/TV9Pabuy2+Najj2MSdPYHzBtaKNLkyrNDtivPydNRjtAwLFN22lQpNqxndj+atEgzurVjYKmupMF5UH8KyDXAbkK4kxJqTeyVdWrjHIeRIQVQTwOoojgL4gmh8xCa0YaUFTokzyjzvMP8CfaaR5hzmmnbfWaO227ZDUHgVK6kELP3ApBOa8YL6awlk9m61ZD/ttLaSUVe0Z7wMzHISpwWekZezbO0chEY5xnkktl94kpMd+B58xEdHsp2qLvvc8zfKW6g9XAcAqt9qeUnEPTsrk9t3GsQZVMpFJrWTsjn+VkeKiF/eA6cFYK1OW4F1W+Fl024QXKrppUabra2xqr6vfFteaGyppqtUbzJSt05axHXStJRVlZ+RChaxy0naJ88d3RddS4xh+gId6iQcklKsJtHipozC3mpRnwB5prEKVZTbVsXDk5XfjyK3d2cz/vl9yXtLNNTelYDvzaqWtWFDZqnxMhLYhtAzkT5bTbZUQ2qge3m2mJxJALjmnE4wqDUWFOIzVomL8g3EgmtK1kkuKFBc/IjyRIMNMM5XAj42XMlc6kaLUCZptKkbMlNaylhZLNI5JFfbb9xyV5hUx0LDLRSchc7SAmJu8BzMUWMPe3WKzJ7UnE9EsU7iNoQM0OGo4FaUjNxVtBc4gLk7ZL72gCcimEKdPc15BskxGfREYy+igykj2jJHqfURJ+j5IvPkpG+0bJScR8j5J/HyXJJx0ll5/uX4kN9sXnyMfPDf+Ivy0dP7foOBuLM+dDR8d/Nhwuzx4O57bfKnsvzc5o8HL9Fw=="), @@ -4659,48 +4688,48 @@ this.addDataEntry("gmdl google media design library button dropdown button selec this.addDataEntry("gmdl google media design library button dropdown button selected editable",100,150,"Dropdown Button (Selected, Editable)","7ZZRT4MwEMc/DY8uQJn66lDngyYmJvpc6QGNhS6l6uan90rLNkARFX1aE5L2endtf/9y4JG4WC8VXeU3koHwyIVHYiWltr1iHYMQXuhz5pFzLwx9fLzw8pPZoJ71V1RBqccEhDbghYpnsBZrqPRGOAOjVQ7G3ffIggqeldhPMD8oNKSy1Hf8zfgGIY6rnK7MQEGizTQXIpZCqjoXSetm3LSST7A3k9TNJmDy1aTDgdsdKA3rT09Ym9zxliAL0GqDLq+c6dx5+JaCnwPP8iZs7oy0soZsG7sDhh3H7GN+pMfvTHEqehC7WJDa3uH9uqHdnJQnVJw5zAVnzKRYVCua8DK7htTsPiAd8tEg0kY0UUcvFFQY9uDwjMYc/gxz5GwKBNX8BVr5f4M++vrqDlzGUpYwCM1SumpOMhoT+RhTO2APWjQFM7fereS4je1iR1Hnhss0rUD3IG+3OYr7/JslI9eFcAAbPYp1ZireLCuYmGl8YcqsvuWdarGrCS2VnHSj1IgG1fBn7jCbzrh1qfv6zKeRp734UdisPqlcxz25YqwHj4r3VEOOf1Wb/rfkkF++Pk6Q7vdhEjlO+nLIZ8XxW3qQY1iO07+Q47Qnxz0oRkt6kOMLOYJgAj1wuPvXte77v8Lv"), this.addDataEntry("gmdl google media design library button persistent footer button",300,40,"Persistent Footer Buttons","3ZXRTsMgFIafhnsK64y3q25X6oXzAYicDSLtaQBd59NLAbdVXabJ3EVJSM75f/4WvpBAeFV3CytadYcSDOG3hFcW0aeq7iowhjCqJeE3hDEaJmHzI24RXdoKC43/TYClwJswr5CUJDi/NVlwSrR9aeE5fHK20sZUaNBGl6/iCLrzFl/gwIE4ekcJiZsg0tDk/4H10B3dc5TyhheANXi7DUs2WnqVVnCazkUV6LXKsUnWhEv9ehfdEwhFhvAzEP4NyOxpuXy4P4VlePwGG/jC6lPCxj/q9z5ZsNwfQGPF9XTOgy6FUyD/Ao2dhHZV/g+zydiYdUNeF0BYjhRhUdKLMZyOlOHudpyfYWj3b030Bk/RBw=="),this.addDataEntry("gmdl google media design library button persistent footer button fixed", 300,40,"Persistent Footer Buttons (fixed)","7ZXfboMgFMafhnuEtstu69buZn+SdQ9A5rGQoRhgrd3TDwWtrjN1aXcniQnnO5wD/D4TEI2zcq1ZwR9VAhLRe0RjrZT1s6yMQUpEsEgQvUOEYPchshrIRnUWF0xDbscUEF+wY/ITvOIFYw8yCIazoppqeHctl6mQMlZS6TpL03o43VitPqCTgXpUGc4StXcidkHYD7SFcvDMtRQOvAaVgdUHt2QvEsv9Cor9vTAHseWhbBY0Zny8bUuPBNwkQPgdCD0BsnzbbJ6fzmHpXz9XOfxg1Ugqt6/iq6qMSIg70Eh0u1hRpyfMcEgCNA3GlTw0V43GciRnOd7MhzFqkMyKHfTaX8J2NrH9M9uww4sSbmOCy37rpkKlqQF74kV7rlH2zCd7rmRPNMf/4M9i8udK/rT/+iX+uPD4Tvvl3Wf8Gw=="),this.addEntry("gmdl google media design library button floating action button", -function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;fillColor=#FF4081;strokeColor=none;shadow=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#ffffff;strokeWidth=2;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0, -0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button", -function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}), -this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;");a.vertex=!0;b.insert(a); -return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.users;strokeColor=#ffffff;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.chat;strokeColor=#737373;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,16,16,24),"dashed=0;html=1;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.x;strokeColor=#737373;strokeWidth=2;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(17,20,22,16),"dashed=0;html=1;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;strokeWidth=1;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(20,18,16,20),"dashed=0;html=1;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var b=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;direction=south;shadow=0;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button mini",function(){var b=new mxCell("",new mxGeometry(0,0,40,40),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");b.vertex=!0;var a=new mxCell("",new mxGeometry(12,12,16,16), -"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#737373;strokeWidth=2;shadow=0;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],40,40,"Floating Action Button (Mini)")}),this.addDataEntry("gmdl google media design library button toolbar",358,64,"Toolbar","3ZXRboMgFIafhssaBLtut7Vbr5bsbtekHoUMxCDr7NsPhdpaa2bSZlmmMYHD+TmH7zcB0VQ1W8Mq/qozkIg+I5oara0fqSYFKRHBIkN0gwjB7kPkZWI17lZxxQyUdo6AeMGeyU/wER+o7UGGQM1Z1Q4N7NyW61xImWqpTbdK8+5x8doa/QHHlVKXTrMuDBOuk4toqAnGQjPZdxcKTW9BK7Dm4FK+RGa5z6DLRy/jIAoeZA+Jj7Haz4teeqLgBgHEdSj0ZygZqzm06didh1vlttrELYUASzVF62lUqExGO6bAsBGjc3oXVFfd2yvew6HJXHjkOrwgwBFZes3hGAjzM7okGcONA3ADklmxh0H9a8RDC29auM76+ouYDMovnoY76DyvwY4c6w8yy8TkzibuRQZ66j//Zfv+v3vLO7tXMCmhLf4n/FvNMBCPDTxCuNlAPDQwjm930E1Pt5ZPP7/UvgE="), +function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;fillColor=#FF4081;strokeColor=none;shadow=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#ffffff;strokeWidth=2;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0, +0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.edit;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button", +function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.star;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}), +this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.heart;strokeColor=none;fillColor=#737373;shadow=0;");c.vertex=!0;a.insert(c); +return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.reply;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.users;strokeColor=#ffffff;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.gps;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.share2;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.navigate;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.chat;strokeColor=#737373;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.voice;strokeColor=#737373;fillColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,16,16,24),"dashed=0;html=1;shape=mxgraph.gmdl.google;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.video;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.gallery;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,17,24,22),"dashed=0;html=1;shape=mxgraph.gmdl.birthday;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,20,24,16),"dashed=0;html=1;shape=mxgraph.gmdl.cloud;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,20,16,16),"dashed=0;html=1;shape=mxgraph.gmdl.x;strokeColor=#737373;strokeWidth=2;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(22,18,12,20),"dashed=0;html=1;shape=mxgraph.gmdl.bookmark;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.calendar;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(17,20,22,16),"dashed=0;html=1;shape=mxgraph.gmdl.attractions;strokeColor=#ffffff;fillColor=#737373;strokeWidth=1;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(20,18,16,20),"dashed=0;html=1;shape=mxgraph.gmdl.dining;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.education;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.family;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,19,20,18),"dashed=0;html=1;shape=mxgraph.gmdl.health;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.office;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.promotions;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.radio;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.recipes;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.sports;strokeColor=none;fillColor=#737373;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button",function(){var a=new mxCell("",new mxGeometry(0,0,56,56),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(18,18,20,20),"dashed=0;html=1;shape=mxgraph.gmdl.travel;strokeColor=none;fillColor=#737373;direction=south;shadow=0;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],56,56,"Floating Action Button")}),this.addEntry("gmdl google media design library button floating action button mini",function(){var a=new mxCell("",new mxGeometry(0,0,40,40),"shape=ellipse;dashed=0;fillColor=#ffffff;strokeColor=none;shadow=1;fontSize=13;fontColor=#000000;align=center;verticalAlign=top;labelPosition=center;verticalLabelPosition=bottom;html=1;aspect=fixed;");a.vertex=!0;var c=new mxCell("",new mxGeometry(12,12,16,16), +"dashed=0;html=1;shape=mxgraph.gmdl.plus;strokeColor=#737373;strokeWidth=2;shadow=0;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],40,40,"Floating Action Button (Mini)")}),this.addDataEntry("gmdl google media design library button toolbar",358,64,"Toolbar","3ZXRboMgFIafhssaBLtut7Vbr5bsbtekHoUMxCDr7NsPhdpaa2bSZlmmMYHD+TmH7zcB0VQ1W8Mq/qozkIg+I5oara0fqSYFKRHBIkN0gwjB7kPkZWI17lZxxQyUdo6AeMGeyU/wER+o7UGGQM1Z1Q4N7NyW61xImWqpTbdK8+5x8doa/QHHlVKXTrMuDBOuk4toqAnGQjPZdxcKTW9BK7Dm4FK+RGa5z6DLRy/jIAoeZA+Jj7Haz4teeqLgBgHEdSj0ZygZqzm06didh1vlttrELYUASzVF62lUqExGO6bAsBGjc3oXVFfd2yvew6HJXHjkOrwgwBFZes3hGAjzM7okGcONA3ADklmxh0H9a8RDC29auM76+ouYDMovnoY76DyvwY4c6w8yy8TkzibuRQZ66j//Zfv+v3vLO7tXMCmhLf4n/FvNMBCPDTxCuNlAPDQwjm930E1Pt5ZPP7/UvgE="), this.addDataEntry("gmdl google media design library button floating action button",50,156,"Floating action buttons","3ZZPb4MgGMY/Dcc2iH/mrtO1pyW77UwmChkWg6zVbz8Uamu1m5m2h5KYwCMv8P54IAA3yqutxAV9EwnhwH0FbiSFUKaWVxHhHCDIEuDGACGoP4A2V/467V9YYEl2akoAMgF7zL+JUYxQqppboaS4aKo6kBWlrr2USoovEgkupNZ3YteIKeP8KAHkxk7sxl7TmeJEHLTo6EYmccL00i5i7SKIVKS6mkgr2Sy2ROREyVp3sQGhCTiwRFGjeCZzSAnLqOpruDTtrBvnxEhXLKZxZO7fyBJcUtJ0hzo5qnJu0z+izKus2fF1lid8/SmKegBVEwzaMiTb6Sbiw2aMpnJEv3KEa9+E1BftM7IOGpJ1AqNJwrFie9Kbfgy3XcG7YHph3fSroDf7KuwPINK0JGqwW10akzbQezDPW1Y+vNsR8Bc+AoVsTDAN8lz7e/PtH97O/s+3t39wK/tvNh4MnTvY39Jx4NDxfjDcm6M2x/FPCzu+Grvx07b839rBfGuP4FvK2v3baglr6+bppWS6nz+kfgA="), this.addDataEntry("gmdl google media design library button related actions",200,40,"Related actions","3VbRboMgFP0aHtsgWtu9zm19WrK3PZNxFTIsBlhr/34o1NbqMpO1zTaNyb2He4R77nkAxVlZrzWt+LNiIFH8iOJMK2V9VNYZSIkIFgzFD4gQ7D5Enr5YjdpVXFENGzuFQDxhS+UHeMQDxu5lAAynVRM6oqiMi+6N1eodMiWVdvhGbRowF1IeIETivH2aYk6Z2jkwckmhKRPuaGfccAjQFuovG2mh0MUaVAlW713JTjDLfUXie8UcRMFtH6PG50XHPKrigiDMuEjx9yIxajg05di1w20pQ8MH8cq6aGY8L0om50y9DVQ8lexMymX7dozX0DCZKhwZFy4Q8HzhKfuz/ETYKBkKG6Ue0yCpFVvobT+mdjjBixLuYN32s2Vv99mq/wOV5wbsYFhdG5Pml/x5kwfCCg9Gcy3PLy7seVNpoMwR3DRv6P3k595Pr+f9u+t7P/0v3o/S25l/eWnzj9p+XNfO8ZM0S3+1v1cX97dLj5cjX356d/oE"), this.addDataEntry("gmdl google media design library button floating action button",50,456,"Floating action buttons","5ZZNj4MgEIZ/DcdtEPp1ru32tMne9mzCKGSxGKCt/vtFQVtXu9tkN16UmDAvM8PwMAcQjfPyqJOCvykGEtEDorFWyvpZXsYgJSJYMET3iBDsfkReH6xGzSouEg0n+0wA8QGXRJ7BK14wtpJBYInhULtjRHfc5q7GfeSmhidF7ZKXWV3+IsuZXJwN6HrNavUJsZLKWfuTOjnHXSqkbCVE6BbXwydi6hqyulxMuOK/xYYyQVsoHx61kcI5j6BysLpyLiFg6wOuglnulaVngzmIjNu+lhhvZ12eG0U3CSDHodLZQa2ChSdjvJwr42g9HeTVXCF39CaAvJ4rZEqmg7z5HXIL0wWKwsCTCNPmmwBh1cIYQluth9Ba7S/Qtv/cmeWAqQO4aUa38hGORZ7Ftfmx4/Bi1eu5zr7DF43gazUNMrHiAr3tx5iGCt6VcIV127/0O7412wQqTQ3YwZV0xxi7JWfenofe/f71+AU=")]; -this.addPalette("gmdlButtons","GMDL / Buttons",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLCardsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library card card",342,356,"Card","5VZdb5swFP01PDbiu91jPhtp2VY107pXDy7BmrGRcUqyX7/r4ISkQEsXtD0sURT7+Nr3+pzDFZY3zXb3kuTpJxEDs7y55U2lEKoaZbspMGa5No0tb2a5ro0/y110rDqHVTsnErjqs8GtNjwTtoUKqYBC7ZkBipTkeighwiMnCWVsKpiQh1UvOXwQL5QUP+G4wgUHDaYkFiXOHZyYVCAV7DrLPUCm1nsQGSi5x5CSxiqtIjzf1JgC3aRmmxeEFUiKCtic9ta3x4EhoJ0M791ktF76BUOTmf4iXqZUwTonkT6gRMn7cuL+GSfOhwE48RucfCR8Q9ChiH4jjIEuZU0SImmDLbyUZklfj0aEjRndcFz5IZQSmWZKcLWmv3Q0ko90IjmUb1aQ6Cs4YQ3h1K5nE3PA7CZAUEKBZzwZNno7rYPVvXlsRkFgG/7eItoPKkwCI4o+w0XKa8gPGuSvREQUxAiqUiuQiq0sNOliiyW6tki0GvuYH2ShXAemoDEdAFIDS6ycER4Xx/jPUJoI/HsiDHAFa7NHo1GXpG1e7lbv0XDVouiZBRy/VcwKWR75/gf63obv1NdkfRCUqzplYF/uEElSgGr44VRrL4uEVzXwY5tua2MDkDxIV75t3HC9HD/Ou5x5bijXzM+68WIxDjy/tuFXkRsnvmJpE/Gyj2U0jnX2CTFAhLyAPBZhSutt2PBVLm98v+HWO7ulGfmDmPWUblC33jW0nH9/WH35j9TcXSr3l8V9I/s1WuO0fm2tws/fan8D"), +this.addPalette("gmdlButtons","GMDL / Buttons",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLCardsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library card card",342,356,"Card","5VZdb5swFP01PDbiu91jPhtp2VY107pXDy7BmrGRcUqyX7/r4ISkQEsXtD0sURT7+Nr3+pzDFZY3zXb3kuTpJxEDs7y55U2lEKoaZbspMGa5No0tb2a5ro0/y110rDqHVTsnErjqs8GtNjwTtoUKqYBC7ZkBipTkeighwiMnCWVsKpiQh1UvOXwQL5QUP+G4wgUHDaYkFiXOHZyYVCAV7DrLPUCm1nsQGSi5x5CSxiqtIjzf1JgC3aRmmxeEFUiKCtic9ta3x4EhoJ0M791ktF76BUOTmf4iXqZUwTonkT6gRMn7cuL+GSfOhwE48RucfCR8Q9ChiH4jjIEuZU0SImmDLbyUZklfj0aEjRndcFz5IZQSmWZKcLWmv3Q0ko90IjmUb1aQ6Cs4YQ3h1K5nE3PA7CZAUEKBZzwZNno7rYPVvXlsRkFgG/7eItoPKkwCI4o+w0XKa8gPGuSvREQUxAiqUiuQiq0sNOliiyW6tki0GvuYH2ShXAemoDEdAFIDS6ycER4Xx/jPUJoI/HsiDHAFa7NHo1GXpG1e7lbv0XDVouiZBRy/VcwKWR75/gf63obv1NdkfRCUqzplYF/uEElSgGr44VRrL4uEVzXwY5tua2MDkDxIV75t3HC9HD/Ou5x5bijXzM+68WIxDjy/tuFXkRsnvmJpE/Gyj2U0jnX2CTFAhLyAPBZhSutt2PBVLm98v+HWO7ulGfmDmPWUblC33jW0nH9/WH35j9TcXSr3l8V9I/s1WuO0fm2tws/fan8D"), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card Collection","7Zlbb5swFIB/DY+JbG4hj7n0Mq3dqrZa9zY5wQRUgyNDmmS/fjaYBGLISAJrVY0oUnywsX0+nwsnmjEJNzcMLf176mKiGVeaMWGUJtmvcDPBhGg6CFzNmGq6DvhX069r7sL0LlgihqOkyQA9G/CGyApnkkwQJ1siBS6KfSy6A80Yxz5aCjnDc/78sRcQMqGEsrSr4aWX6JYw+orzOxGN+JixnAqzBG9ql5uK5FpvMA1xwra8yzpwEz/rYVhONszHwcKXw2xTLhzFmWCxG7vfPf8hFVCtDENRBuRrGRngJJ0gEiwi0cxWd6gj07JGtlmnI49GSaHzdXqJzks0D6LFo9yxuRc90yUXQDn2Sa4R5O3gt2hCg7cZjnnrRWoSNiWin0dENzMZwwQlwRsuPf8SSuaZRzbcLISZ9RehS/oJXf6aIabi0afG0LEvOsJGtcLKA7bSOvtW1i6o07RVbcJTtSnnf6ABX9Zu8t5QL03fG5SfQD0vxolCY7eLRoAsBdAzQ2+YpIwYRuFJ5lRtJmVoNhhMnXHlES8YgdDK3wwss6aeMBdBOZgjMpL2HAauKxacd73DnoAz0As2T1JZp3ZlDS47CduyebZK3m7DNJcMe5iraY7jhvh3YaeR3q1qvR8xyFxXJYO0WzHI/DG5PTodUBm0QSXGiM19BUhR+0UqElTWObdH/UJEjT0orPKg7QDr5dlAl8ScNoiFiC2C6DHzosKZ3qcC3s05NXPjz3fpWnpU1cdmkttc2V1nFoZ9IUqJzoEdoBuqwY+HFB1AfmzAaMXVy2MFinhjhtHc5z6ubbJ7wZgmCQ1FPHMaetLxVHy4fO0HCX7igU5MvuZTHwmdh4FyJqc9jIrFUFxIYMWJsZseGee8I6MDs/50NE08IVDYfluFM8wk3gOOfBvJsTSimJ4X1CHTigMNgX1rT9VSoQzT6/xkv0a/e19rqd622ki7Sv8hVCi8iMPqY55jCrsaC7vSRC5iQKE2cTdeRS4SG/kSExS5ms6nARU3VGuUFKvsoR5Y/pqWnusyxEPq783JAq34UqOLdBKq1Ymn29HjVR2kom4rc/2RZShvzuA4Xdmj1opzHzfnaDA7eAtvCSdUUDpAJWm284rolNMbS+8CrFppufr5cPf9P9pu0f4Ttmp95iuKFohRyqU/ECFY7P8JeYgFrSc/Hz3JOYzhenUMaDmj3oUFe9gwLEDn1LjQOH6r5aFmp+CEehBIr9ZLnrU2W6lC02klsvbMLt4wYSulmhmavzYuCRS5nFkXgMcLA6Cf1x6P1QaqijktVVcHZf/aRXEVNqjm5Kz4yGAZ4w9F6PMDalC8OerS3pPO4LPh4c39n6lZ9+J/rX8A"), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card Collection","3Vpdb6M4FP01eUyE+e5jk6adlaazo+ms5nFFwQloDEbGaZL99WuDnQAGhgToV6oq+MbG5hzfc69tZsYqPjwQLw0fcQDRzFjPjBXBmBZX8WEFEZrpWhTMjLuZrmvsf6bft/wK8l+11CMwoX0a6EWDFw/tYGEpDBk9ImEIvCyEvLo2M5ZZ6KXcTqDP7r/cRAitMMIkr2ps8g+vRgn+DeUvCU5Ym6XoChIKD63DzU1irA8Qx5CSI6uyjwIaFjUMyy2ahTDahqKZbYqBe1lh2J7anp+eXQgAmsEwFDAAG8utoV2EiYeibcKLxejqGK104FrLNow2OKGlyvf5h1dOPT9Ktj/EE5tn00+cMgMQbZ/EGDVZjv7jRWCwMoEZK/0SSIK+jOjXMaKbhY1A5NHoBVbuP4Ql88opGx+23M0W2zhAC4rTf589MmiqGs3AVBschRcurKJcgs20VdTApaiJ/r/jiA3r1Pn8Rq90P3eqd8CbTQapgvrpKXoRYSlEPPLnj3dZ5F/kMc2eUHWb9Q1Y282zuDTPOSB/8qHCYeb8XpzgyPfQrXDZOAoCPmBZ9SvccF4cveTWKLdN6jqWM2wSHKseOCrp9hjelxK4gQwmH2Y96bfvtTUfdT/crWbcO3xRYlXxRXsUX5S3ka7oTsCKMwYrGfSIHyqEMPT1O8u2lzVWBFFFZemP+kCKeosnaBLPcQiby4A/JWPuGIzFHtlGyY9CRbmYPuYGVs2tGJaYUhxz1TNV1zqR2+iHrN8A74XSqtpbWL5IEqZOKoCjjyKNLpiA0huF0n8SFMURZSSewqKWMDTrTDOkOIP7kNV9YqGHm/eM5o5gVg9dz4LiepwqB8dS1si5ss/F8wRxr08U3T9zKrP0SuquXUhp30QRaAohX6OMwoTZKOaTAe8I+9p4L5gw5Hl3DNSMZvwq4aR56HkX8+I+hAlkz19cEnGJGb8JPNVms4iXF5fwW800ypzIXL9sa8jszY5J8rpEWpcS2eybljWBbwKgzoW/nn6uvzHbt79/tTHWmiDW11ZVGjWFsbqfaR2sSQ/2GSGQDCTtWGlQDqBiZ6BK4UB5PVSCm4yf8q7jMnrt1sVVEVQsGswLwqruWK7dK6wOiZgy17fUFKk5glr2CMqq7pQ87VJI4nwL651Ht15ogx4JSlcwG4SuusNxjzOaRxwa8nDzHeKUoftewswgRGuq3zfIDAJY3bkYVTr0qkxIhF1VJJZ3/G/YhmkLrrLFjalKv9202u0ShpaFEqhP93GUfZQ9humU3XXA2r59LWU3gRq7J1R2dSfhi4f8I+ZJ8513zD6HuttvqO7qyn+NUMRl/QHvUMAf8GMJewuYbyHs6hL8Awt7C64fV9h1dUH+roT9dgls69VSdst2+gm7YbXz19czdHX9+3E9o5hHwz2jC9jXdYxr17IXHKBp+ef6TaHuydwzRzGFbeAW0dycYku+4fz/Ch959vzfTWcop3cj2ni58iCljRjRQlvIc9quw5SmsDHSSbRT6X2Sg+g+rwRIrljLKM3gu2Lo8xPUY8HdKWlvyY7z2ehhxfMLZkX18vtn/wM="), this.addDataEntry("gmdl google media design library card card collection varied layouts",358,642,"Card collection with varied layouts","7Vtdb5swFP01PKbCGEjyuLRL97BK1TZpj5MTnGCVxMiwNt2vnw12woeTEWIoTUdVKVxsMPfce3x841jwdrO7ZygOH2iAIwt+tuAtozTNP212tziKLMcmgQXvLMex+b/lzI9cBdlVO0YMb9MmHZy8wzOKfuPckhuS9DWShgAlIRbNbQvOkhDFws7wkt9/tiJRdEsjyrKmcJUdolnK6BNWV7Z0y/vM5KMwS/Hu6HAzkxzrPaYbnLJX3uSFBGmYt4DeJO8WYrIOZTfflQNHSW5Y7/se3p5/kA7QOwPWnAH4WD5B+yyfoIist+I0H13VR9CG8+n8mI9WdJsWGs+zQzSO0ZJs19/kG7sH0w8acwOQfb/LMdrqnPwRpwDyc4YTfvZTehI0RcRph4jj5jaGI5SSZ1y6/yUouS1DdrNbizS7WW+C6Cal8a8FYheFKtQ7ptzhVWbhjZefF9zm+nWvgXO9Jp//SAkf1v7ho6lTevxoXL4DXa0SnNa8vn+LRkB4NSDuSLKk3Gtn5Ys+DypJM/fAzBPA6MK4EOjCI/9KojxjRiIlBMJkiaJPMmc3JAjEmFXTr3glgBk7hbyOMlunueONL4uC13IKGkXdN5F+McMrzN20xEnDCNhPLY387un9fiIZla9KyegbSUZ1G5WLkw5QGZtAJcGILcMaIEXvF1GRQOWNVT46F0LUmD2Bjj3NADZSM36XiE1qiD0yPFqhhXgnfqOkBYAbxNZk+y3nVUGvD5mBN/NLhhlNU7pRJFjJtNmd+DuWlvy5AX0pEK+OaIuE7GpodiGfr2h2Px6vIGwUm1d4t07/ueWLioPOhQ2ERth5AjqIqqkJHjASRqfXAi216OQkr4MaSehnV2AEv5HXBYDANoFgyJlcs/Y4ndrF9YMmu6fZUVlXNKb76aV0rwHSFN0Dz+ue7wEwAeyC0ieenk/Xha1mKpd1i8uxtSsrIZVgZsFtW0cp66+QO7UxssUrbeFtqd2GDLg77QPveqlojp4pIym2xAoJAgEyoyjgjVJGYrNqDpYMcpFqVModBH9Fyr2E/B2/c4UmLC98sCXBBvxTaq+i5Kriz530Ie/2YQl9z69H5niqCU2VzUNUfMBIPayd5DvYVWGyNyUIjlTfjkpBLbLDloL1AlsLZIcnBfOI/dBa0EgRbZBa8HJw378YNFOMey9icNCI96MG67W8GU7SghJEhEVka7imp5+B/8vARjJwV4nHq5OFb1gJrC1N+lOF5xYI358qdK60QAg+fIVQjesaVeGQK0b9qEIF5kdRhUNGvBdVqNlO1tsM3F4A9ld/Gzf8us6/EPQuVVbrzWhn7H2ys6O9JjqNQ0MQ3IkREEZuJxOnkULZAi2fdAyq3ftSxKUlQzqn1832jVNdmmhIUrdrydAWwnGZI7vYQdhkM5nCivckcYIHhdD1A9SglHWS0t4SnfG1wcNPD78MyJsXfzjwFw=="), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card collection","5Vptk6I4EP41ftSCAKIfR+dmb6tu9652rbraT1dRoqQGCAVx1Pv110mAAQMzKLA7emztaJp0XvrpTvqJGVnL8PgpwbH/hXkkGFm/jaxlwhhX38LjkgTBCBnUG1mPI4QM+D9CTw1vTfnWiHFCIt5GASmFFxzsiZIoQcpPQSbwcOoTUd0YWYvUx7GQJ2QD7S+2NAiWLGCJrGpt5SOq8YQ9k/xNxCLQWWRdkYSTY+NwpSgb6yfCQsKTE1Q5UI/7qoblzJSaT+jOz9SmdjZwnCrBrtB9nT18yQxQbwxLM4YJY3mwjItsggO6i0RRje7cRobhzqeLJhttWcRLlZ/kIyrHeEOj3bdsxvaraMViEJiZ7vdsjEZepv+KomlBOSEplP7OLGm2RQRdhwiylSwhAeb0hVTa74KSfaXLhsedCLPJLvSCCWfxP2ucdHJVq94wVYVTFoUTR5VLZrOnutXMS62W9f8XozCsovPxHFW6H7vVFth2mxKuWb2YRSsgHA2IJwJWF4PHHkkuCpr6YDiPnPl0NhPo1PlyyduR8X4kqbAZi7gQMNMNDh6ywA2p54kx51X/IFuBjotKwR1I2aAB5LjdXOFUjcNeoZ/2EYNxQrYEzLQhaWsPsJGEv5XdnXq7vxGRua0qETntJSLzZvKAnA2AitsHKgAKBJevIVI2fxMsSiOPStQRqNYLqVm3kPYD23jqDI/brA/cYBgcFqufGkqtEXKGAyiP2SEBmvcBUIiTHY2+qf1ObHtfpACqzSqCBeOchWJzsltn2PCGyEd17rFDtiuqffL33O5m7dY55C6GXNTLNjYzB8DVNN4H9m3Gs3gU/zqlkfM2sVUys1uz2rk9BdO8uktl5LFno5ua0VcJfgHue256sBqvyc/WWYCc5WfIruE8Z1ngXD7XB0EDVuUUwjF0eGyjnxgYAg39BOArOYDgB0ue4WNJ+aktMA2J8zkwYn7nwBjyuVVgzg8f+kFGP454xCdFr+KYwOS9CZRWPoG/nIQxSbmEicpmEryTZOxAwQLI2EceDWlE5S6FjO1eDANsa6z3QovLVg40EluH6ILvk0jW5Kx4nbI998cEp1x0/FnoHWDKMG/RIn5h+wSvA1Fz4+NoJ77gyCvUVzh6FsRQyneYRpMmxzr4lBPhREJ8gC00l32vyjI/E44yPQt+u8Y/OSspFdusoZFCc1BHtHJvKTvibNaLI5rGIGuEfuTysFx9/vMryMyOi0PdQdXZ2mAvncfFQ4l8b8DaJKngXzSTjaMrXqeKQgm9eU2OY/cD3tgZZBnRj2kK8PRs5zLwZkOBNwhydet/R+SOVacYFsheDl3aspBsKbwFClLwThvpzLOelOSm+5CkpMUxzuCkRDnb/4mV6IcwECSQanHKorbL5C9kJk2A3TI10Y9dnvaR6OU1Y10QvPE77mI/g5/8YngGIShIPz0BMiLT+4P6SKE58QHmFzSBbTOuAJiEOY4RY1GZKKRCY002WKqGTDbkUaA10YarKRR8ZH+XFKKFr9weh0D6qc/dcIgmwO6HROQpyN2RiMuhu3EWUXPJRcOvK4u4Jc6Q56jvUYa+8qQhGMPVV2IuunzRLQF6Gwc9zupB6GmNtAfZ4fSDlisia403z3VxUkRQEy5X/vaufKeR6BkTVP0BvPb397prEz1dZHKra+IQ95ja3GbJsQJNGqfkQyF0/wBdfiLycdBx7w0eKL7eT1bVy9eX/wM="), this.addDataEntry("gmdl google media design library card card collection",358,642,"Card collection","7Vtbj5s4GP01eczINrfkcZJJulq1VdVWu+rTyiFOggKYBdLJ7K9fm9sANgkDdmZaTaLRBGPAfOe7HB/MxFgG5w8xjg6f6Jb4E2M1MZYxpWn+Kzgvie9PEPC2E+NhghBgfxO07tgLs70gwjEJ0z4HoPyAn9g/kbwlb0jSJ79o2OLkQHh3MDEWyQFHvD0mLjv/Yuf5/pL6NM66Gqsl//JuaUyPpNwT0pAdsyguReKUnDuHmzUVY/1AaEDS+Il1efS26SHvYViz/LAD8faH4jDbLAaOk7xhXx37fPfsR2EAuTEMwRiQjeXeAC+yCfa9fcg389G1bbQw+bfLRjsaprXO6+zDO0fY9cL91+KOzeem7zRiDbA49lsxRlBue//xTWiw7ZgkbOvvwpKwLyJoGCLIzNti4uPU+0ka5x+DkjnQZYPznofZ3T7Y+ncpjf7Z4HiUqxpywzQPeCqi8M7Kt2tmM23RavClViuu/4V6bFjVxadz1Lj81Gmege52CUkFq1d30QsISwDiM01JIqDBbJh2+nstOIom0U1rjoyAGCT5px0RU97CEfRc7N8XMRl42y0fVtn1I9lxwzuoFrd+1qY1NixnHMpPzRBTiqqtIryimOwIM5PL3KEH8nUQe9ndktv9QrCVtmoEm60k2MrTlLE204CKowKVhODYPQiA1K0vice8cxmPaCREvbMjlGVHNYBNy4quE7GZgNgS8w7sFgzIIfqThKHHomQAkAGO9174NecbnHZ8yhoKYvDckGfCZluR8kwxBAFYLB86mQkbyJY+1jKyjKa0cmg7/aZ8PI10bgq5GIncxqyqwh+lM0CdfAY6c1llBkqS9gxqcLb59fRQOpLv1aK6gf79amnWgQbDbTy7mJ+hJNgd0eJopMHPjUAsY93SUTQhEAD4hPkd87Kz5P8BdLqIUVcw9SQvWcDoQUUWB4rCYGpqwQGqqJMp8Ul0kNKUXfYZNW3oQEFaGEVMyqAYNdXqKotGM1QMWwdEouTwnbLtTcxcms22axWy9nPKerg4iHgfBPaMyLR2+jhMSRy2WpOAxnxG0mhkURdjfkV2zJGk7d0pfSR8wDuGLEPuFLX2P+I44Kem7rF96M6LE25QzG4WgaOXaqzt3XXcWFtwYd20jkNDnpaadfy5oGis4xWlRGXGvVrZ5yNppc7KDkVR6scpxDXHY8jkXgxo3f0TzHwOAba9LvPDjf3QBs7DbPEG+eRt/dBCPd3Qnr1hN+yhul1jmNbcMWdQEcOEHerb70sxRbmNBeDhNhyTTby14fLrkUwlEhkzOgm3mQStnmN2odCTZEKZnq8mVKYGapFMLRCJetk7yVRa3Nfr1cK4bXGXkMwsLzWKu62vkDuzmyYvPXVclCU/xNQlsSd5cKNXiKw/y2w5l2lZ9/YgJXKTfRTNYMDrKJHnijn28zdkvOX5iwJpUi1xfLk2qa8amjcgjkjUJrEf0JBXj8Dzj0O4y4G4xw09y8B6Zi91sLpqQK/nTT7eEP8LTbzUo/WVFWVQf2ztr0jslSTQRXZliydG+dYVagVHTvzOTaALbyrnnWqdSRRYXerS8JRmpCUd9Djr3Z1+AXea6RCDy2JQd6eTewo2av2oTRz6uhB/LDabzy3j3Y+U+REst9U6kiiT7mNCQn6dKPIHkdv3tPQruJMeziTKnUscRJuslxaFDYHbEtg3rbBJlhYOiF+fujiPFR0K27jHuKWe3phTICUBUj22rRQ2SwdEogi69AnmCXdLkiGTir5awgXdQMETp/bDpFZyvaYQTJF0ZirRDHp5WU+FoJKoDLunZmCP9DWdkoGaxY4K3GnxwL+93On1IC9XkV9Xid6wLClZLfmZPLIGcj54m5zxsEvyYTzgsKne/3viL8ss1pRyRSPlMv9Hym6v2lPrbt8h6w6aU/bfnvIcXO1xeEEEf/GHMq7Hhftv6d2NvE4gl+u1A8z2atx6ey/S2cpcdaoH5Jmsn386l+kH6umPEJjdrtf3XZCXLHxkR3pRIgqM8vXoq9V6bQqao4IIvsYMLMm6Z2ukwFsyA6eZPKYQ6Vj5bIiC44BIivyT+O4AA8axnRVcS2dQA6CaX8SqBVZPHgcVOLYxdCFj8RJaHxcH2Uf544tOz5a+CmOqWfQyNbV4sihPDfDkDXaPFzWELlwGvnlhdLxDWVEI1OYQEtJ4wa9HZ6FmEtLxapohykEvrguvidDvD9AL1pNJU9prouP8bvCwzedXzvPu9TfS/wc="), -this.addEntry("gmdl google media design library card card",function(){var b=new mxCell("",new mxGeometry(0,0,344,254),"shape=rect;fillColor=#BDBDBD;strokeColor=#BDBDBD;shadow=1;");b.vertex=!0;var a=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",new mxGeometry(0,172,344,82),"shape=rect;strokeColor=none;fillColor=#ffffff;;whiteSpace=wrap;align=left;spacingLeft=16;fontColor=#666666;fontSize=14;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], +this.addEntry("gmdl google media design library card card",function(){var a=new mxCell("",new mxGeometry(0,0,344,254),"shape=rect;fillColor=#BDBDBD;strokeColor=#BDBDBD;shadow=1;");a.vertex=!0;var c=new mxCell("Greyhound divisively hello couldly wonderfully marginally far upon excluding.",new mxGeometry(0,172,344,82),"shape=rect;strokeColor=none;fillColor=#ffffff;;whiteSpace=wrap;align=left;spacingLeft=16;fontColor=#666666;fontSize=14;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], 300,230,"Card")}),this.addDataEntry("gmdl google media design library card card",342,378,"Card","3Zhtb5swEIB/DR9Tgc1bPzYkrSbtTWulfXaDAWsORsYkYb9+h3GaEohCG9JpIy9wZ59tnjt8NhaO1rsHSYrsi4gpt/DSwpEUQrVX611EObeQzWILLyyEbPhZ6P5EqaNL7YJImqsxBqg12BBe0VbTKkpVc6MoM1I0l5KuoMl5wjiPBBdSl+L5ovmAvlRS/KKvSqg+mpKMxGILSgcE0x+Viu5OjlmrzIAfqFhTJWuosmWxytoa2DUDzShLM2OGg7BVkrJVpC+2BwRwYSgME8FvJnL6zo9YJfoAvaQl+01/mtsZjQW9D0vQhoAtKSeKbWin/UtQueNRgSErStqjlYt8ANStPsZiwWexuHafivtWKqaH74JBx8jej8drLequuG9AJElJVQ/qyzBHcfZ6nJ+YAsLHsAGSmg4awl6fGpqGmv8B1PwetcfqOaMkPsUtEbm6YhB+IE98DZ5Bj+eDpHUmqhyI2jHbsBJugNf6DjkXcF6JisdasxV5TGVScS2tiUxZTlohIRL+q0LkcKK7Fa9ilqc308+68N1mTNHHgqyahraQdUFHOEtzEDlNdLtQCv1/1tLC8fuB4esD9E1IsBXhd6YFJYpDA0+NsHBsY/8IE34j40ONHyYMdB+XJADjdeSZYDqXEBw0QZ4MPyBPvstjbt9jL4uUaRNv3TE4R90NL3vUTW8z98h5kzzctxd6cziP36MgitBYyuEbKe/XH5351L1GVp/hazB37PPQY1JmtKlvtwtp7YH1Lm02DDfpOuY3kNHkWH/MPbwMvbH+uB32x66zTq47S8FX3nHCgYnHv3zecZzrhKo/ny+W/2Co+l1HXClUR+wTz4eqpAVk/LFbAG8Zjt8wntgx/u1Y7W8m76KnT9++Thqxx8uTO3Tvof2yw3ThDCxDLon0rsHJuA8GNl7YnyTuZ46HupG/T7rTRn5/kzuhC3GwiHDfhWHkeF70/7sw8Kb3IIiH12dt9ddv1/4A"), this.addDataEntry("gmdl google media design library card card",344,420,"Card","7Znvj5sgGMf/Gl9uQdRqX27edluyX0kv2WvufKxkVAxy13Z//ShibYfm7K69VDLaJvDgg/D9WB4BL0hXm1tBquIrz4B5wQcvSAXnssmtNikw5mFEMy+48TBG6ufhjwO1vq5FFRFQyjEOuHF4IuwRGktjqOWWGUNdkGqXFfCgmnyfU8ZSzrjQtUGuk7LXUvBfcFADOu1qCpLxtTL6qmDuB0LCZrDP2mQ6fAt8BVJs1SVrmsmiuSIIw8atALosjFtoBotI3RiWe99OApUxKvQrEoxXRDnSqgZr8CUvwVZqrtNYCfCzEoSoRwFjE8CIpE9w1HyfKuYOPzhVN8ao7U/UeGyPi20DPM9rkJao+26O0jm0dL6jUin8t9hKJHk+0XAQ2arh86g2ewXVIku1xeN9ASQb0i3npbzgQ/iKegaX0HN28vw35q8+00nZBdT0N/w0evl7y6dWrdFT4gAK44DeIt83Yzmgk/g2nNb2r3AMjRhdgEbsCg0cJfHkaSSu0IhQlEyextwVGnHUjmXCNHzkCo4ucGz3sxdq386mTMh3hVAXTBwjdPri80oJdQHGMUInLIavm1AXdBwjZC+jJ0qoJw6FKJz+e5tvL9knSqgnDrlByJlNgJ445AYhZzYGeuKQG4TszYJ36d3n799O43R4bDB00KC+64JKWFTkYdfQWpBK2Qijy1IVGeS6XVVLy+UXXbpRYdLaCo31x9gXpoN+W1b0Wz/76XjJo7A9cnj2SCM5C/M389kloNt7Ev+hXxH0tp2XQFfF7jSyufzwsPIP"), this.addDataEntry("gmdl google media design library card card",344,162,"Card","5ZfbjpswEIafhstKYAeSXCbOQZV220obqdduGIJVByPjZEOfvgYMIWtQQbtIVUsUYY9n8Mz3Y1s4mJxve0nT+FmEwB28dTCRQqiqdb4R4NxBLgsdvHEQcvXfQbueUa8cdVMqIVFDAlAVcKX8ApWlMmQq58aQxTQtmhKO+pHriHFOBBeyHMVReWl7pqT4Ca0RKK9iJKaheNVGT3fMfCAV3HpzLk0m4T2IMyiZa5dXFqq48sCzWRUWAzvFdVhgsqdZZTg1sXcEumEodBPBo4n0V97HSkLGfsF3U85gLKgbS/4Q8CdIs0Vlk8CpYld4CO4CZyb8JpjOo5ntU/2cOkREUQbKIt3kOQj+zIK/OiomkmIeCVTf8Mj3c4fnG4ItlRKRlAKJRLWct8RbLgNtFyk9MlWUil3j9qIVK8Rq+iYD7z3SmYBGlJZ4Oo9pXnDfYnxgSpfylqsuRz3WjlwbWVBeBd8CWXI6iLSmVCBhR8pXnJ0SbTyzMORwd32CSNW+H7siWhgbtA9rwB25BoayDSy2L5cfMdBwAF0PDaX7d8NFY+F2bzC1Rh+6v8wtffYS8lhcEq2QG7Iry3TGPC9L4lwMkQ3bsmFS/P5L2QJ/AtkW9rFADp+/fhl3Mtd7fs8B8UbDBfF8n1ibvb1kJzm6566tEA7ep9DtYf9vznE0gWDLKQUL1uvNtmOvXKGdj/5BwRYTKKa794+Myr39DfIb"), @@ -4720,11 +4749,11 @@ this.addDataEntry("gmdl google media design library card card",342,146,"Card","7 this.addDataEntry("gmdl google media design library card card",300,176,"Card","7VbbbqMwEP0aHiv5Qmjz2NBtVKl7kZofcMMQrBqMjJsm+/XrW5oQhwZt07eOhITPzPGYcxhEQvN6M1esrX7KAkRCfyQ0V1Jqf1dvchAiIYgXCb1LCEHmSsj9QBa7LGqZgkaPIRBPWDPxCh5ZcC3AQBUo8MlOb0VIFqyrwFJRQmddxVqLK1iaXrOSC5FLIZUrpaULW6aVfIGDDLjwGxTyzYDY0mWjD4qQi4A/8b+2EUl363Aim1+D0nzJxK3gq8ZgWrZ265YtebOaSa1lvTuvxx6htNLgbA8tLOcOTwzCwjbCVc2CPKYHbAYldlDQdw6yBq22puSNF7ryFTQNQlfAV9WOdp15kHUeWL1z946Zm2DaaQNpZODT67P+yEPzJDrWe+qirzemI/SueVEIGC/5KEXJWUVJmsWKhpcdKRBM8zX09j+lcmjxR3LTmaCtr5hM+wxZlh3oyJX3g40yKo2Mipz5eKCeXUQD1cgGPilrn3AgMsanXtsd+L8qh3ZXmNx4TpAdZ18g+ySS/TZfPPz+ZTB81oCjUTgp/NBn72i+UhdH84Q/adx2yLgbFPtGL2Nb37OrFH2Badmwaeen5tu02LRpdnnXzHL/n+LLD39j/gE="), this.addDataEntry("gmdl google media design library card card",300,224,"Card","7VbbbqMwEP0aHiv5QlDz2NCLKnW3lZofcMMQrDUYGTdN9uvXtyYhhgb18rYjIcGZOR5zjgeR0Lze3inWVr9kASKhNwnNlZTa39XbHIRICOJFQq8TQpC5EnI7ksUui1qmoNFTCMQTNky8gkeWXAswUAUKfLLTOxGSBesqsFSU0EVXsdbiClam16LkQuRSSOVKaenClmkl/8BRBlz4BQr5ZkBs6bLRR0XIRcCf+V/biKTvz2FHNr8BpfmKiSvB143BtGzt0i1b8Wa9kFrL+n2/HnuA0kqDswO0tJxrPDMIC8sIV7UI8pgesB2V2EFB3zuQNWi1MyVvvNCVr6BpELoCvq4CjZBLD7LOA+s99+CYuQmmDRtIIwOfX1/0Rx6aN9Gx3nMXfb0xnaB3zYtCwHTJJylKzipK0mxAUX/YkQLBNN9Ab/0hlUOLJ8lNZ4J2vmI27zNkWXagI1f2G5tkVBoZFTnz8UC9uIgGqpENfFHWPuFIZDwbOLZ78LMqh3YXOAvnP8iOsx+QfRbJfpUv7x9/GwyfNeBkFAaFH/vsncxX6uJknvAXjduNGXeJYt/o99jW9+wiRT9gWjZu2vmp+W9abNo8+37XzOPhP8WXH//G/AM="), this.addDataEntry("gmdl google media design library card card",342,272,"Card","zVXbboMwDP2aPLaCBLo+j219mrRfSIchqAGjkLXw9wtJemGlaqXSqZaQkmM7ds7BCmFJ2a4Ur8UnpiAJeycsUYjarco2ASkJDYqUsDdCaWA+Qj8ueEPrDWquoNK3JFCXsOXyBxzigEZ30gON4HW/VPBtjnzNCikTlKisl2XWDN5ohRs48YC13iN4ijsDhmbj64HS0F7s2UK+4RVgCVp1JmRXpFq4CBb5RgUUufBp9MWDvHFAfsg9UmAWnoVxRti9jKytnTFSYQW33p9evT+NgpH770EFkutiC4MCY6T4Gl9YmNI02He0cBndcLs/ALOsAX3G6aHRm2iOrtOc8kZAHx64n8hyXrZ5PyzzvEzlXABX+hLTf2RZWLtTgWHCqR4jcoTLSdSYxWwgB1s+QI54CjnWiJuSq81TKBJGIwMyzXzM4nCgyPIRA7KYQhEFteyeQo5/HJCQxffrYbbHV9iFnz7Svw==")]; -this.addPalette("gmdlCards","GMDL / Cards",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLChipsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library chip chip",170,32,"Chip with text and icon","rZRfT4MwEMA/TR+3sHZMXx3T+aCJiSY+N3BAY2lJ203mp7cthY0wHWaWkPTuen/6uwNEkqrZKlqXzzIDjsg9IomS0rS7qkmAc4QjliGyQRhH9kX44QfrwlujmioQZooDbh32lO+g1bwp2EtldY9UaBCtXZsDD3Zd0tptFaQ2w5qq9JV9OUUcWVEbJT8gkdyGIBshhbWsc8Z5p0KYgF9Wr+ROZOAqWTjXmqZMFE+Qu8rx0jlKYUL0BXHJOCuEFVJ7O7DR1qF6UAaaHwl4Vbj+FmQFRh3skU+WmTKcuGkpRSWwogxuJLChupWL3vXI024C0vN4yQjviGdGdekZeHwBbtUUbiTmRZXx+U77u05Bu/JrKhh8EUzH4BwXBZwatodB+GtgLS/D6vhYR1ZrmEjlLnaPmx9d+6nd5KxxzK/CNHQ4hK9tHrfy6XStxhA73WSIIf+LZLasPvmsgxbSz26HEWSeazCjJvS3mNSX+D+GuBn1yjYm96u3vAdmeGpnlr92Jh6gGfflTFtWf55iKx7/1i3c05/5Nw=="), -this.addEntry("gmdl google media design library chip chip",function(){var b=new mxCell("ANZ Bank",new mxGeometry(0,0,170,32),"shape=rect;arcSize=50;strokeColor=none;fillColor=#eeeeee;rounded=1;spacingLeft=24;fontSize=13;align=center;");b.vertex=!0;var a=new mxCell("A",new mxGeometry(0,0,32,32),"shape=ellipse;strokeColor=none;fillColor=#009587;fontColor=#ffffff;fontSize=14;");a.geometry.relative=!0;a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],b.geometry.width,b.geometry.height, +this.addPalette("gmdlCards","GMDL / Cards",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLChipsPalette=function(a){var d=this,e=[this.addDataEntry("gmdl google media design library chip chip",170,32,"Chip with text and icon","rZRfT4MwEMA/TR+3sHZMXx3T+aCJiSY+N3BAY2lJ203mp7cthY0wHWaWkPTuen/6uwNEkqrZKlqXzzIDjsg9IomS0rS7qkmAc4QjliGyQRhH9kX44QfrwlujmioQZooDbh32lO+g1bwp2EtldY9UaBCtXZsDD3Zd0tptFaQ2w5qq9JV9OUUcWVEbJT8gkdyGIBshhbWsc8Z5p0KYgF9Wr+ROZOAqWTjXmqZMFE+Qu8rx0jlKYUL0BXHJOCuEFVJ7O7DR1qF6UAaaHwl4Vbj+FmQFRh3skU+WmTKcuGkpRSWwogxuJLChupWL3vXI024C0vN4yQjviGdGdekZeHwBbtUUbiTmRZXx+U77u05Bu/JrKhh8EUzH4BwXBZwatodB+GtgLS/D6vhYR1ZrmEjlLnaPmx9d+6nd5KxxzK/CNHQ4hK9tHrfy6XStxhA73WSIIf+LZLasPvmsgxbSz26HEWSeazCjJvS3mNSX+D+GuBn1yjYm96u3vAdmeGpnlr92Jh6gGfflTFtWf55iKx7/1i3c05/5Nw=="), +this.addEntry("gmdl google media design library chip chip",function(){var a=new mxCell("ANZ Bank",new mxGeometry(0,0,170,32),"shape=rect;arcSize=50;strokeColor=none;fillColor=#eeeeee;rounded=1;spacingLeft=24;fontSize=13;align=center;");a.vertex=!0;var c=new mxCell("A",new mxGeometry(0,0,32,32),"shape=ellipse;strokeColor=none;fillColor=#009587;fontColor=#ffffff;fontSize=14;");c.geometry.relative=!0;c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height, "Chip with text and icon")}),this.addDataEntry("gmdl google media design library chip list style",358,642,"List Style","5Vldj5s6EP01qE8b2YYk5HE3u+1WaquqrdTHKzcMwY2DETibpL++HgNJCCQhG6iqXqTVwthjhjnnjD/iuNPl5l3Kk+ijCkA67pPjTlOldH633ExBSocRETjuo8MYMX8Oe3uildpWkvAUYt3GgeUOL1yuILfkhkxvZWEIeBYBdieO+5BFPEF7CjMz/kMopJwqqVLb1Q3thd10qhZQtsQqNj4Pxasg1bA5Ga41FbG+A7UEnW5Nl7UIdJT3cId+7haBmEeF28grAudZbpjvfPdfb26KBDQnw60lg5pY7l1yXU5UrL+KX2ihrnnmUsxjbM6jPc7ZlFF/+HAqZzjYQee39sLOCZ+JeP6lyIC3N31TCb65DKSIGeNMITNhfS8ySdsiwl6HCPNyWwqSa/EClfFvQcl7JWWXmznKbDBfBnKgVfLfD57eRFW3OTFVh22hwsEwfz5ImzeqZ41em7Xi/Z+VMGHtXn43YZXX342rI6gwzEDXsr77ilZADGtATNUyURlcJZdm2lc18jShTyO3kcIHamPksmByddwd6lJCqPcdPtinxzHrWR7D8W1Ab6sq6xTYURcKK9Nagbc+R5RYts73sDnfZ3RGm3Q26kRnpQZKmfk9oDHuAo0M4qCl2HYA3QJH6yJYfk1l6mDdFEH3CB1Ke4DHr8HzTd1QAA0AYK8zwJytgobZtSo4sdf1VdCO1WsVvHG6K5D1+wB2Ugc2hReTUkaeeWwEVUP5CFiezgpMhqSl9nbQp2oVB5YxtIYK8xpWma1Q8q+vneXi9xA1txt9jsmRPEc9oEhJF+VzlcHJteIRhCN7IfxZYnnwGIoNjt4OosllITVUzNJ2y7q6rI4HmbqXJlJGPoHM1P+D7qw/ujPi/wm+v3ZH3zXfW232W+z2+2J7fbP/WZqybkyhrfE6AowEYIFLpwvcP6bn9XP65Xn4z27fO5qZabkG65bk9TOAZ+Ew42ck5VKk9XvT/HOVYShrHmskJNFmYUZmEcwWOFaMUSG0JAOEWoQYtlphInhgGzFRScEKHQn8t0pmammQ2XNjYG6/4wAm6Xm/eJF3UKFNKg/yx1VSxvCJJxzdPmAmyArHXcRqfRDEGwxAigWULnO1C3cNb2w2ltw2G15A+mJAUnE2uIaoXhuFF6Z1JDR8NaREz7UpFMaGxBMzLu8L6mpcVZ4g8mkS55bnknp989ojpBti+5M+iF0/U2lXva84TCH26rygbCsOF2HwO0Hhzutjx007OQD5wU2dOXcAcgqXVx6M0PNbcTI4OqxoXP94dai6OpIcV1c/fZxI0hZnJSVWxlMkGfxVCP37ANVPSy7NWH8POuN/DR7zuP+lMe9++EPkbw=="), this.addDataEntry("gmdl google media design library chip list style",358,642,"List Style","5Vpdb6M4FP01aJ4aGUMIeWzSznSl2dnRzkjzWLnBCWwAI3CaZH/92gaSgE3Ch2k1XaSqibGdm3POvb73BsNaRocvKUr8P4mHQ8N6NKxlSgjNX0WHJQ5DA4LAM6wHA0LA/gz4ueGuKe6CBKU4pm0WwHzBKwp3OB/JBzJ6DIsBD2U+5tOBYS0yHyV8PMUrtv9iHYThkoQkFVOttbj4NJqSLS7vxCRmaxbFR+GU4kOjuWKosPULJhGm6ZFN2Qce9fMZ1tTNl/k42PjFMscuDEdZPrA5rT1/e/aiAEANhiWBYTJb7i3QDRMS0x/Bv3zEtNh7FAabmN/Ora1jtoSmO100YcY3u5j8WVx8coJWQbz5u0DAPg/9JAn/5NKQwmZuZ4ozZtavAkmzLSOwHyPQzsdSHCIavOLK/kNYsntKNjpsuJtNNpEXTihJnl9QOkiqlhqY6oJj4YWTaf7+AjbbkVEzu6JWfP53EjCzTh9+N4eVj7+bVXcg63WGqYT66Vu0ImIqEbEkUUIy3Mld1LKv+sjj3Hx0LKWEL7wNgtsOk3vH3aVfhnhNzxO+incPMziye0xnw4g+Vr1MK7GODg8rYa3QK58RJZet8Z6q8b7iZ6bKzxwtflb6QOlm7ghszHSwkeHYa+lsJ4KG0NE6CJbfpnJ0QD1B0KqxY5oj0ONK9PwkAwIgIwCL6woxV6MgU7YUBefi6h4FxV6jRsGBx13BrDsGsXOZ2BS/MkgheEIxcyiJ5RqxKF0VnExBS987UZ+SXewJxZgSK9BWZJmtWHK7x84y+b1kzdLjnzNQc09nBBZNoCN87jLcmCvWKHTExenPEqGDh3Vw4Lu3o2h+25EUEbMcG5JXl9HxAqn7kFkKwTccZuT/IXc4ntwhcN9C730ret16b1Xst6j2x1K7XOx/D1lYZ0NrEeOpj7klGG956nRD+3V5dj/Tb5/Db1u+azqZzTIH0ytyuQfwFBiQrWMuZZlc1n+w2//sMm7KHsWUCxJQlpiBlY9XW75XzK3i1IIMc6qDNTeb7DgQyBM3OVBJoQrqB/zfLlmRiDFz1saEvfzFN2Cg5/PibT6BrAWoyMvf7pLShm8oQXzZV44E2PF9tzHZXxjxiRsQBltcLtmQk7l7/EmgESFxm+kCp6+MJBJnky5Ctdt4eDG09wOKfzBR8pV7FijYGBdesELhfSFdyrPKBiE3izgfeSqlN7aubQD0CNudjyFsuafSLnp3aKacC3Amcya6SxpGiC5wbsssmK6ePtfUqRyp7hj1t9m3HdKBEwAWrmjitjs2G4ruW6jPdJybWtoRffKLdtA4nXM+S9EesvS0h8x6hTOKPuUOxJJFebTihsQoktuxDMD6WaBoGpzjhNQ0qEf+F0IpiaS0ZTrVRJstkabUd1mrDtK3XPZTUfY/+4YN8AFFSYgnLAdog6o9CNX8POXb/sXnUg6GA8ZD2XpDmGHfspxtEyQZHqWX2YRP+2amonqEA/ONUzMT1mJJjQUtsQTKPYAe0f2gqoBOR1zPvn+OYyM51UTAkahRpIJuMwetZfxu1fagROEsYevjnYeKn/HzCN4jgFtte+lAEb+jwPNCPCReX6fPVQSg0eK1ll/d30/orny2/fY6l2tFX/wu8Uw/mNBNG7yh0t+k3OOX9qr7WFlwsxPiDtN6KW57FHFrKTNf0Gp79RmEJl765ijXE0gwqT0voPwJQtUu0fRU0KwalsZ4KEjxe7hE3K1c/j0Z+vgEyQVuI0FNTyi8Gzuzj0YPe3t+2Deffvks8H8=")]; -this.addPalette("gmdlChips","GMDL / Chips",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLDialogsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library dialog dialog persistent footer",280,472,"Dialog with persistent footer button","5ZhdU6MwFIZ/DZd1QigfvVSsvem6ndEZr2NJS2ZTwoSo7f76TUJAaMCtCnXWxXGmnHzAed5zThIcL97tFxzl6Q+WYOp4c8eLOWOi/LXbx5hSBwKSON61AyGQ/w686Wl1dSvIEceZOGUALAc8I/qES0tpKMSBGkOCihSr7sDxrooU5crO8VrOf7UhlMaMMq67eht9qW6Cs1+40YL1VU6QsBdpdOWNeTjmAu97HdAm8/YLzHZY8IPs8kISkRonotJJkGKyTc2waWhcQUVp2NZjX3nIHwZJNx7PwrNgbCvJQPBAJjfEgiUdUVyUS2SN6CUl20y27EiSUO1+jtYk2yr/A8WPZeKO/FaDIajuzWwKEMeFbH0wrp6MDH4MWWBsHFMkyDNuzf8ZjFML453kgqhmJ197K1+rh6QBtsQb0YTWCK0IqL82TNd9HXrPcmkJzk7Tey9N84gVI/LJEBzaolQj2GZTYGHRr1/sJEF8S5D5fi27KJ97hGjS9VuRDPtl+rpYHoj+bAz6gZ0OeP3EiTicWk8emRBs183dmK5Ml2u/IzX6Uui8GvnDaOTCMUQKLZEiAC/cvbTNL1fvLFfNxPnavJgOxDwcg3lkMV+honhhPPnoQvvGugHALIiif7UwQXcMAWaWAE4Yf7Qo1RUI/DUx6s3P99HH80fQpxL9rf16tUWnJMP1Vryip9bqjC3RozpqaJbWVn0k7mYAuAB+aEY1pZhG40kxyhbKde1VPJUnGwWjp2YdHZ5sZajSZcUKIghTGcVLFnWmLY/a62qHTApSnV6fq4rq6oqLQF9HC9pUxQl7yhJ9QtTxZDJ6wDTtyFL4ydDYt6c5VAE3StLah2wTKSh5RtlaooOA5UrT4r+PmbroaKWHLPbniyJ/lHpjf4uIL2/j+bJveW4i9zr2nX3LbW8gDFD93RYoexkIfVukKRxEpIkbtGWaVBMPK5P9rSP+eXs7j++/k07RiDpVcw8pk7x9/aZadm9+cv0D"), +this.addPalette("gmdlChips","GMDL / Chips",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLDialogsPalette=function(a){var d=[this.addDataEntry("gmdl google media design library dialog dialog persistent footer",280,472,"Dialog with persistent footer button","5ZhdU6MwFIZ/DZd1QigfvVSsvem6ndEZr2NJS2ZTwoSo7f76TUJAaMCtCnXWxXGmnHzAed5zThIcL97tFxzl6Q+WYOp4c8eLOWOi/LXbx5hSBwKSON61AyGQ/w686Wl1dSvIEceZOGUALAc8I/qES0tpKMSBGkOCihSr7sDxrooU5crO8VrOf7UhlMaMMq67eht9qW6Cs1+40YL1VU6QsBdpdOWNeTjmAu97HdAm8/YLzHZY8IPs8kISkRonotJJkGKyTc2waWhcQUVp2NZjX3nIHwZJNx7PwrNgbCvJQPBAJjfEgiUdUVyUS2SN6CUl20y27EiSUO1+jtYk2yr/A8WPZeKO/FaDIajuzWwKEMeFbH0wrp6MDH4MWWBsHFMkyDNuzf8ZjFML453kgqhmJ197K1+rh6QBtsQb0YTWCK0IqL82TNd9HXrPcmkJzk7Tey9N84gVI/LJEBzaolQj2GZTYGHRr1/sJEF8S5D5fi27KJ97hGjS9VuRDPtl+rpYHoj+bAz6gZ0OeP3EiTicWk8emRBs183dmK5Ml2u/IzX6Uui8GvnDaOTCMUQKLZEiAC/cvbTNL1fvLFfNxPnavJgOxDwcg3lkMV+honhhPPnoQvvGugHALIiif7UwQXcMAWaWAE4Yf7Qo1RUI/DUx6s3P99HH80fQpxL9rf16tUWnJMP1Vryip9bqjC3RozpqaJbWVn0k7mYAuAB+aEY1pZhG40kxyhbKde1VPJUnGwWjp2YdHZ5sZajSZcUKIghTGcVLFnWmLY/a62qHTApSnV6fq4rq6oqLQF9HC9pUxQl7yhJ9QtTxZDJ6wDTtyFL4ydDYt6c5VAE3StLah2wTKSh5RtlaooOA5UrT4r+PmbroaKWHLPbniyJ/lHpjf4uIL2/j+bJveW4i9zr2nX3LbW8gDFD93RYoexkIfVukKRxEpIkbtGWaVBMPK5P9rSP+eXs7j++/k07RiDpVcw8pk7x9/aZadm9+cv0D"), this.addDataEntry("gmdl google media design library dialog scrollable dialog persistent footer",280,345,"Scrollable dialog with persistent footer button","3Zjfb6owFMf/Gh5dShHER2XOF6/XZEv23EmF5lZqSjf1/vW3hYKYwuYcdbnDmMBpz2nP50t/4XjR9jDnaJf+YjGmjjdzvIgzJsq77SHClDoQkNjx7h0Igfw78KGj1C1KwQ5xnIlLHGDp8IboKy4tpSEXR6oNMcpTrKoDx5vmKdopO8drGX+6IZRGjDJeVPU2xaWqCc7+4EYJLq4yQMz20ujKB9045gIfOhMoTLr3c8y2WPCjrLInsUh1EmGZJEgxSVLt5g390ojy0pDUvice8kYjacfjGXjmjCWSDATPZPBADFgyEcVFpUTWiE4oSTJZsiVxTIv0d2hNskTlHyh+LBOP5K9yhqB61tEUII5zWfqsU70YGbwOWaBtHFMkyBs+i/8VjEMD46PkgmjBTnY7kd3qIKmBLfBGNKE1Xq0QqN85TNc9uT6xnbQEN6fpfZambmLFiGwZguO5KJUH22xyLAz6dccuEsQ3BJkd1rKKyrlDiCZd/+xNht0yfd+73BP9sQ36gTkc8PqVE3G8dD55YUKwbTt3bZrqKvd+y9DoGkK31cjvRyMX2hBpZIgUAnjnHqRtNll9crpqDpzvHRfDnpiPbDAPDeYrlOd7xuNrF9p31g0AxkEY/q8TE3RtCDA2BHBG0bWTUj0DgQ8HRr35+Tn6eL4FfSrR39uvV1t0SjJcb8UremqtztgCvaijRsHS2Kpb4q4dwB3wR9qrKcUwtCeFlS2U69qXoj41WZfieBbjRsIM/MCGMOaZNposo9miax5rLtBeywLdNS91rj09aPORLCO/ZWmHX1NFNz1wq/FSyVQF7lcm82wd/V4uZ9HTT9IptKhTFbtPmeTj6eNTWb35beof"), this.addDataEntry("gmdl google media design library dialog message dialog",480,480,"Message dialog","1Zhdc6IwFIZ/DZc6gSjqZau2N91OZ9qZvY4QIbuBMBCr7q/fhCQoBC1WmNnFcUZOvsj7nJNzxIHL5PCcoyz+wUJMHbh24DJnjKtfyWGJKXU8QEIHrhzPA+LreE8XWt2yFWQoxynvMsBTAz4R3WFlUYaCH6k2hKiIsewOHPhYxCiT9hwHYv7HLaF0ySjLy65wW16yG8/Zb3zWgstLTRCyvTC64kYvjnOODxc3UJr00z9jlmCeH0WXPQl5rHpM5mqTIMYkinnDiApliKqxJz3EDy1JuzzQkucV74UhwUWBInyTVnKbJED0gZIoFeaEhCEtJclQQNJIauJLTVnK38kfOdKF5l4vIUXLcSFaf+rtuw0KKUvxVQBIL0/xlndF4H0XgbLlmCJOPnFt/nuwTL7ptckhkpE2jpKQjg+VTEZLr004v7y6KgXblaoPOOrIHE/V/ZmO7sSW0dg6y6jXf2NEPFa1+AhOasuPZvUZ2HZbYG5hqHbRiczUIvPBLDZCQH7y+5fSEU++f6b9HMhPS0zooR8sExa/NSiGdGwI7iOiCfhgAAK+ReB9t/klj6ALGC5oa+KhHZI5kMAVaP8BARdMB0Aw6+N40lmjfkK5V4/2ljzQb1wcawO+YuRPe2E08odgNLcYPViQGgn8q2ShJadog+kbKwgnTCbaQKiK87MC4KXRgctTrMrLVndTL2wY5yypB6wHTiH6qNtXI2gHZZXFGhVbUF4tQd3JTWY3uonXkt36SW4m8RifMdP26jOLPuIacY6COCk17L/+uJXIwgbSE5FZo9qYDEHEBX0gyeiu+BdgDFj8uUYpgwMuhsDh2sXH+nXVtfJo/tNpnGHeejZ/OqtJVPUHrv21sg7Ve7JfaxHfElIDpEJTwi8aFPtIjeL29L5BdT9/HfEX"), this.addDataEntry("gmdl google media design library dialog dialog",280,273,"Dialog","7ZZRb9owEMc/TbQnKifpgD4WCmzSJk2j056t+JJYc+zINgns0+8cmxAI1VC77WmWIPbd/e+s+12kROmy2m80rcvPioGI0lWULrVS1u+q/RKEiBLCWZQ+RUlC8Bcl6xe8ceclNdUg7S2CxAsaKnbgLd8MoGGjVCHgncGtUBm1XEncGtANzzBw7WXGHkSQMWpKcElJlC5MSWtn15DhLRY5F2KphNJdaJp3y4VZrX7A0SOVBK9lqsVz7JRK2i3/6XLFD+E8yES65UQ1zbgsnlWNjskULW3JLWzR7LQt9vcU5ZK5ECp4IfEgIHe3bEBbnlHxGMzWJVuE/qAP9i/2uDOFBm9AVWD1AUNazmwZ+jz3HEgJvCiDLJml3kiNNxS99oQMN4HadYLpiOAnsD3BrqKoXY26djQZWNAVlzAge4f755I7dwVUmo60ZK5VqEMuh0rtLkaBUUvxYdWgFN6VQAPO3ZbdQ6pTZewX/uudlJj4bjRA2F97QXw6Jv7QrdcS12Aw9feAJe4tH45Q4luJJ68jHk+DUYPATjZwVuDaGIQaXxSXjurBR8zIuULluXHUL8amv9lNk3Q/mqSnj9vHzdfV6hZY6RhWsprN18klLPJbVuTK21hxxlz1/q3NkAXo4yXC1d7K71xwODsN2F5Dez9/G9lQetKPSKg+OSb+o6zfj1j/B/2PQc//Amc8nr4dfPjw0+IX"), @@ -4794,8 +4823,8 @@ this.addDataEntry("gmdl google media design library menu scrollable menu",272,42 this.addDataEntry("gmdl google media design library menu cascading menu",604,590,"Cascading menu","7VvRbqs4EP0aHoswTkjuY5O7e7VSd1VttNpnEpxg1eDIkHvb/fo12NDAQEoDTtVCpKrBYIPPmTP2zBALr6PnH8I/hn/ygDAL/2bhteA8Vd+i5zVhzHIdGlj4u+W6jvyz3N9bzqL8rHP0BYnTLh1c1eGnz05EtaiGJH1huuFIBI1ISoQ8jHksW1eBn4QkG8GRB0noH7NLBdnJW672lLE1Z1zkvfE+/2SXpYI/kbMzJP+oAQL+SzYieaCfh4iUPLfOKW/SE/pBuHw68SIvKTogT3X5RYM0VG0YLVVbSOgh1MPMsL7QT1TDoRzrFTL5RaPWjCAGCK44CwCKcjoZOtnE6M5n94weYnkmokHAchCO/o7GhwJTdfRA9tmjyvlIXHmcbuh/2XBoLo8FSeTRv3qKnaFzm6F7EyptF4IwP6U/SWX8PvDNIHxXW2D0fMiEZB+igNk7HkV+LC9ZMX9L2CNPaEp5hrlQ0yq5eKidLznxNUksp6Gduzo1nYjAl21YdXjRGrbnwKKRC1lC72VJ3/+RU/lY5c3vZtXb39Vkwvf7hKSA5XIWnYifA+L/SCXgu9Erp8bJS3WYQTnwIAfjEN985OJbAOL/iQMiGJX8Tvpr0t9yZoCGJaRhHPpbjFx/3wDxm1TQJzkAPx3CSYKNEkSuCSqQA7i4Z3LQ1Sak++z/vI2OurR2EqdMpt21VRfjMOL61ldcjgc51HFkb3WhYqBCXgX+w5KKoMBO0pMmO0GP6aSvZn15SxNUwBSDPY5FDr2RpvjyqxyCuZHNaTtp8IIGXTPuEGZZLHc9EhWOPdGCYKYFMF8wmweAl3K1txUV6rnpKEQ1N5E8QTB78ugLP5dGgW7ybjdXt/FXt5c7uc/p1Dwj+MMkxjAeTUZifnxgUAh6hFqFw8s/2cg0K4Eo3xZzkSHb0UV5PV3UfHjpFB4KL6seam6CSZgHecgzUU5h/S0qqjFReqlRqQs7JlJTCKYo/jpFWyKkdlyH0eT9O7gvCf7MxJLtwpzEQ464w4+Zg5mWlXzspYl41YWpA4D2194uzVwTMUgBYxdc9asE7bi2vmQw8KsE7tKrLH+lr32LirJjn9p4w7sFG5rvTAaWfzWaXrg9LPdWLqEzhjD0RTZqzemOCMEb1pkbiv3f+Wk7GXIrDUbKjQ31/vUpSXlk4XvZjGzokYfno23P/jl5MlOTaqjPA2auS9aFZPdUI0F3Vottgb/btPyWkW43Zlqi2kuptqZNzawfUfoBcXUhv1uYoA3GscPQdvOMRBt3Y8lINBToAZPGg4CPjQLMVANxQ7U9CCyV6ckyPluy54IoKIpcqsk1qVf4eyVDeKC1Z2GEIRj/Vhny95n3mgj6qGJe8XAj9k1mohQMw229PS4T0bYN3134/Nbec4dltMqGYfzeau0fnzYqg2gN8xn0ZUaoWkdetsPc+RcoMLruVj65wmRb3r240mIVuRcttsyF3yRbhGGEPGxUfIbf33o+OYD1NwJ7wVftcQam12CCfQPhYlvumQiEMQyEKzX2wr7LbePYDf2GST0Mo91JK+/TilF6YAjbLB29n5+Uc7M87AwGwcgesiQxGuUMQY88fP29tbr8/OfY/wM=")]; this.addPalette("gmdlMenus","GMDL / Menus",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLMiscPalette=function(a){var d=this,e=[this.createVertexTemplateEntry("shape=rect;fillColor=#eeeeee;strokeColor=none;",358,642,"","Background (Light)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),this.createVertexTemplateEntry("shape=rect;fillColor=#333333;strokeColor=none;", 358,642,"","Background (Dark)",null,null,this.getTagsForStencil("mxgraph.gmdl","background","gmdl google media design library misc ").join(" ")),this.addDataEntry("gmdl google media design library misc keyboard",358,224,"Keyboard","1dvLcpswFAbgp2GbQRLXpU2arLrqomsCsqHmViCJnaevuCi1OXhKYw9njmcyYwvkwGfQ0Y+xIYL8+FyHVfK9jGVmiG+GCOqybIdn+TGQWWZwM40N8Whwbqo/gz9dWcr6pWYV1rJol3TgQ4e3MHuVQ8vQ0LSnbGyIwyaR3eqmIbZNElZdey0j9f7bXZplQZmVdb+q4I7gwutWa+vyIPWSoixUn23YVH2vx1167N5wO/5vWbfyeHX7+6Zx459lmcu2PqlV3tO4TYY1hO0N3RKZ7pOxG+fW0Bg2Q8P+s+9fDvVkFJnXEUDnN+BR295LlEV7JvHSP8b2H+lHt7LaIrHt9jaNwmyTpftCNeZpHGe9ztgQqT2X9VIdPq+jO4yf5kmbDC/P7UxIp9tukbOA3DspOcvBkrOBnCQl55lYcg6Qq0nJMWZh0bmArqVFZ3lYdB6gO9Gi89CKhA/oXknRcYZWJZgJ7FJadjZanWAM2JW07Dy0QqFnlGd2FSk7wdAqBYNxIiRlp6cJI51rr0cH80RDis5haHQwUMSk6HwbjQ4mih0pOqanWAh2MFLsadk5As0OZoqElp2PVylgqPhFyk7NULDsOAwVB1p2Dlqt4DBUZLTsfLRaoefgZ3YfpOwmszumL0WuYQdDxZGU3WR6t6odTBURKbvp/G5VPJgr3mjhTSZ4q+LBZPFCC28yw1sVD0aLghTedIq3Kh7MFjktPAexYMBwwRbi+f3jEo+Zq+Pxid1qdAJmC06KznbQ6GC0EKTofBONDiYLixQd4xaaHUwWNi0720Ozg8nCoWXn41UKGCxcUnafnzWCHcwVHi07B69WwFjh07Lz8WoFTBUmKTvB8WoFDBWAbvYe7Py47+4bf9jncfbQJOmu052983pym/aGbdyNf6eDbhJlBbxsrPfn8vbs2+EsGCm+APcSRoemCiOJgCfYZLQT8LDTxeRcT39BeJMeTBWGeGKLo8Xc1QC2/nWoyWUo113tvLVgtjB4cIMewvcWk0mea62nB9PFAyk7cB3KNdfDg/EC2OnBTvVMq2bp6GYFW3uzvdPoZk5qqjNzcs6MbrrtJiEYIr5QG6JERgcgp5h2/eNzyc9xh/hSuOEDvD6q/XMSzOaqwj1qKgwQV4+s8TdgSw4rEViuFaj2unwt4h6ddV2Hk1fcqRaY0zMSDmdMHxgXkxH7v+HUy78/0uuXXfyG7w8="), -this.addEntry("gmdl google media design library misc snackbar",function(){var b=new mxCell("Archived",new mxGeometry(0,0,358,48),"shape=rect;strokeColor=none;fillColor=#333333;fontColor=#FFFFFF;align=left;spacing=16;fontSize=13;spacingLeft=8;");b.vertex=!0;var a=new mxCell("UNDO",new mxGeometry(1,0,88,48),"text;verticalAlign=middle;align=center;fontColor=#EEFF41;fontSize=14;resizeHeight=1;");a.geometry.relative=!0;a.geometry.offset=new mxPoint(-88,0);a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -358,48,"Snackbar")})];this.addPalette("gmdlMisc","GMDL / Misc",a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLPickersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library picker date picker portrait",328,484,"Date picker (portrait)","7Zxdc6IwFIZ/DZfdSQgiXHbtx8VutzvTzvSa1SjMojCQ1rq/fhNBiz3YVsuJe5jVqSMhATyPoed9OeiI0fz5uojy+CabyNQRl44YFVmmqnfz55FMU8dlycQRF47rMv3nuFd71vL1WpZHhVyojwxwqwFPUfooq5aqoVSrtG4o4yg3bws51pv8Ok3SdJSlWbFeK6brh24vVZH9lo01cv0wa+Joki11I9cL9f5koeTz3mNeN9UHfC2zuVTFSndZJhMVVz2EG1TDYpnM4nqYF3hVY1RWDbPt2JcQ6Dd1FNojIkBE7uNHx9Xj2Hle6FcuDgwRY6EfBKY9W6j3Q7fIFiZqUZrMFnoxlVOzzTKPxsliZqLo15u6S/6YnQqhl01Ak3GUntejfmVKZXO9opCl7vZQR+7DBNzjCIR+1VbINFLJk9zZ/meoeICKBjEEIPRHUi3RmCeTienymsDV+vES3fss1yv8N8PNB3rZ7OfWdFEr3TRkxwdaHPlVZ0iBHrScEPxUbT/O8cH2LszzsGC7rDETxjpossD8TntdRLrew88s0Tt22Wp3ZmxGZNNpKRUgsz2uD8HyASx9ikpMjy5mxzHAuGgDtu5QHwfvHGA9gH3hnl+fmxtM9fyhBXXYNgNnfZ6BW4DBQAwBQGqTMgD87g4G1zqDGiQDZp6op8IQLep6miKEPQRhv6ES9rdPYJtokSHBGUBxTw6FG2xODqRRcIDigRwKzw3DHqCAUpverBgMGe8BCqjxr8ihGHLm9QAFFPZksqVG2spa/ldQS6A4lP68cxRbCWJJElpHE6CggULfpYrGDoetN9ItB6jNoRlMhMPJRAcSGii7PfJobIsQJDRQmg/Io7EtSnDQuFCq++TR2BYpSGigdD/c0X8Pzc6lSQtobIsWJDRQygfkZ43tTBkJDZT2IVU0ljj4KBygrt/YwvRAnC5VxmHTIvTpK33ruTIOG6j0N8YxYTbWk2UcNlD9v1ELpscmeWlo7CsHay37OprptprsNdNOCPoecyFB1j3Beo9nG2WCSxSaBpy+a2A9ycZhA10DTt82sJ5lo7AR0DbgZH0DOyAEQwEBTYIj6v7+ERAnS7OR2ECXgNO3CWyn2UhsoE3AyfoEJ0uzkdi01fqTZ2PblEZiA62DHhQJ2E6Ykdi0FAnQtw5sJ8xIbKB1QLdywBIIlCInARV/D+oErCfMOGyg4u9BoYD1hBmFjQcVfw8qBawnzDhsoAmAUCrQ+4QZhw00AXpQK2A9YcZhA00AusUCp0uYcdhAE0CQNQEsgUApPfeg4h+d/xhdft8H4/XN4PsqznbuQTY3ZyzjRMk73WqGLosod5r3JbODOXd8DbQesNpZapAdtlwMHXR0MZT7u1dDzzYb7hY1NBBuv/3HvIs5RMQcIlDWiy+/JlR1b/7Y0F8="), +this.addEntry("gmdl google media design library misc snackbar",function(){var a=new mxCell("Archived",new mxGeometry(0,0,358,48),"shape=rect;strokeColor=none;fillColor=#333333;fontColor=#FFFFFF;align=left;spacing=16;fontSize=13;spacingLeft=8;");a.vertex=!0;var c=new mxCell("UNDO",new mxGeometry(1,0,88,48),"text;verticalAlign=middle;align=center;fontColor=#EEFF41;fontSize=14;resizeHeight=1;");c.geometry.relative=!0;c.geometry.offset=new mxPoint(-88,0);c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +358,48,"Snackbar")})];this.addPalette("gmdlMisc","GMDL / Misc",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLPickersPalette=function(a){var d=[this.addDataEntry("gmdl google media design library picker date picker portrait",328,484,"Date picker (portrait)","7Zxdc6IwFIZ/DZfdSQgiXHbtx8VutzvTzvSa1SjMojCQ1rq/fhNBiz3YVsuJe5jVqSMhATyPoed9OeiI0fz5uojy+CabyNQRl44YFVmmqnfz55FMU8dlycQRF47rMv3nuFd71vL1WpZHhVyojwxwqwFPUfooq5aqoVSrtG4o4yg3bws51pv8Ok3SdJSlWbFeK6brh24vVZH9lo01cv0wa+Joki11I9cL9f5koeTz3mNeN9UHfC2zuVTFSndZJhMVVz2EG1TDYpnM4nqYF3hVY1RWDbPt2JcQ6Dd1FNojIkBE7uNHx9Xj2Hle6FcuDgwRY6EfBKY9W6j3Q7fIFiZqUZrMFnoxlVOzzTKPxsliZqLo15u6S/6YnQqhl01Ak3GUntejfmVKZXO9opCl7vZQR+7DBNzjCIR+1VbINFLJk9zZ/meoeICKBjEEIPRHUi3RmCeTienymsDV+vES3fss1yv8N8PNB3rZ7OfWdFEr3TRkxwdaHPlVZ0iBHrScEPxUbT/O8cH2LszzsGC7rDETxjpossD8TntdRLrew88s0Tt22Wp3ZmxGZNNpKRUgsz2uD8HyASx9ikpMjy5mxzHAuGgDtu5QHwfvHGA9gH3hnl+fmxtM9fyhBXXYNgNnfZ6BW4DBQAwBQGqTMgD87g4G1zqDGiQDZp6op8IQLep6miKEPQRhv6ES9rdPYJtokSHBGUBxTw6FG2xODqRRcIDigRwKzw3DHqCAUpverBgMGe8BCqjxr8ihGHLm9QAFFPZksqVG2spa/ldQS6A4lP68cxRbCWJJElpHE6CggULfpYrGDoetN9ItB6jNoRlMhMPJRAcSGii7PfJobIsQJDRQmg/Io7EtSnDQuFCq++TR2BYpSGigdD/c0X8Pzc6lSQtobIsWJDRQygfkZ43tTBkJDZT2IVU0ljj4KBygrt/YwvRAnC5VxmHTIvTpK33ruTIOG6j0N8YxYTbWk2UcNlD9v1ELpscmeWlo7CsHay37OprptprsNdNOCPoecyFB1j3Beo9nG2WCSxSaBpy+a2A9ycZhA10DTt82sJ5lo7AR0DbgZH0DOyAEQwEBTYIj6v7+ERAnS7OR2ECXgNO3CWyn2UhsoE3AyfoEJ0uzkdi01fqTZ2PblEZiA62DHhQJ2E6Ykdi0FAnQtw5sJ8xIbKB1QLdywBIIlCInARV/D+oErCfMOGyg4u9BoYD1hBmFjQcVfw8qBawnzDhsoAmAUCrQ+4QZhw00AXpQK2A9YcZhA00AusUCp0uYcdhAE0CQNQEsgUApPfeg4h+d/xhdft8H4/XN4PsqznbuQTY3ZyzjRMk73WqGLosod5r3JbODOXd8DbQesNpZapAdtlwMHXR0MZT7u1dDzzYb7hY1NBBuv/3HvIs5RMQcIlDWiy+/JlR1b/7Y0F8="), this.addDataEntry("gmdl google media design library picker date picker portrait dark",328,484,"Date picker (portrait, dark)","7Zxdc5pAFIZ/DZfp7LKIcJnSJBdtms4kM7mmugpTFAZIjP313QVU9GCqlrPmOCWTDOwH4Puw5LycRUsEs7e7PMyi+3QsE0vcWCLI07Ss12ZvgUwSy2bx2BJfLNtm6teyb/fU8qqWZWEu5+UhHey6w2uYvMi6pC4oymXSFBRRmOnVXI7ULj9P4iQJ0iTNq1rh2PpHlRdlnv6SrRpZLbomCsfpQhVytdEcT+alfNt7zlVRc8J3Mp3JMl+qJot4XEZ1C2F7dbdIxtOo6eZ4Tl0YFnXBdN13I4FaaVToVkQARZ6iF8tW/dh1lqu/XBwp0aBadHk6L1vlk2oB0s3TuVYtTOLpXG0mcqL3WWThKJ5PtYpus6vH+Lc+qBBqWwsaj8Lkuun1My3LdKYqclmoZs+NcgcTsE8j4Lt1WS6TsIxf5db+/4WKA6goEEMAQn2kskONWTwe6ya7BG6rZaPuU5qpCvddubkmqY/zoJuUS1U0ZKcLLU681BmS0IOOG4KblOuPc7rYm8v9cLFt1hoJIyWazDGvaacPpZsj/EhjdWCbLbdHxqpHOpkUsgRk1ud1ECwXwFK3qFi36GN0nAKMiy5gVYPmPHjvAJsO7BN33Obe3GKqxg8tqMOuETi95BG4BugNxBAApDYoPcDv8WhwnSOoRXJULai3Qh9NdTVMEWT3gez3VGR//wa2UosMCc4AiidyKGxvdXMgjYIDFM/kUDi2718ACmi16Y2KwZDxC0ABPf4tORRDzpwLQAGNPZloqRW2so7/FdQCKA6tP+8dxdqCXAoKDwUFNPY2FRRmdF8/++hXd+i94cPeD6r72UwEEgpoox1yKEybCCQU0FoPyKEwbSJwUNjQWrvkUJg2EUgooLU+/on731B4LPgcOJdjIpBQQGvtkRsVpiNXJBTQWvtUUBjS3UXRHfro1WPYjy/8+UJXHBYdRpqekzYeu+KwgE569SCWEAvjwSsOC+iu35lLpfrGWaHV35lOtY6JOqdNncxwPZFtd7JCLwRdh9mQIOufYHPEq5VTwCUKTTqn59KNB8E4LKBL5/RsuvEoGIWFgDadk/HpZoQXDEV4aMpPmAd37kFgOgxGYgFdOadny02HwUgsoC3nZHz52cJgJBZdc9nJsTD9EBeJBbTqBJPepgNYJBYdSW96Vt10AIvEAlp1OplwQ8KjTMIR0FETzHsbD2BxWEBHTTDxbTyARWHhQEdNMPNtPIDFYQFNNkLq++ICWBwW0GQTzH0bD2BxWECTTSf5fb4AFocFNNmCjMk2JDzK1GUHOurg+ntw822f+LsvD++bAbX1zqp+KXURxaV8VKW66yIPM6v9His7mmvPOb+mw3Jrq0V22JH8G/SU/OPudvbvarXjflFDw/7w9T/mbcw+ImYfgbLa3Hz7TN28/eU0fwA="), this.addDataEntry("gmdl google media design library picker date picker landscape",512,304,"Date picker (landscape)","7Zxbb9owFMc/TR47+ZLrY0cvD1vXSa205wgMiRYIStJS9ulnE0OBY1pgsdeTjaoScexc/r/EnPPnBI8Ppi+3VTrP7sqRKDx+7fFBVZZN+276MhBF4TGSjzx+5TFG5L/Hbg6spau1ZJ5WYtYcM4C1A57T4km0LW1D3SwL3VBn6Vy9rcRQbvLzOC+KQVmU1WotH69esr1uqvKn2FojVi+1JktH5UI2Urmg9yeqRrwcPOZVkz7gW1FORVMtZZdFPmqytkdA9YFmIp9kehgnftuY1m3DZDP2VQL5RqtgVoQDRR6zJ4/JcaE8KUrkOVzOK9mD8hOlIiQJ41i1l7PmfQln5Uyplxb5ZCYXCzFW26zn6TCfTZSaod7UQ/5L7ZRzuayEzYdpcalHNeX8ddCjWrii/rEY2LsYaBhbwuADDFLxCCguD78xnPY0H41Ul32pb1avfUXCN3WlgVxW+7lXXZqlbIrUVVCJWnb4ocU4+trm54nqt/cxqUSRNvmz2Nn+nwgdGGaAsGg2p3O+2P6V+jtNbEa2LvmhFE1U50t94PrVA8gnzkI9i2zPLMSh+CEQX84tuerRxdV+DgDKTQBWHfRxUHtAfJZEAAjzDVO9NSKR6XaY/BO3Q0LWH35/63aIgfgPJ6tuvHa3MMRE/bmeVEzRCjtRRb3T72Uuj4WRpd5MuDuiHI9r0QDVN4d6FIgEgLhDB8I4mfimeOUDg6AEkHhERyKQkx9+EhSQ+IGOREgjODmhIwGTVnz3RERJgp8ETJZv0JGIid+DzwmYL+MLneIkhp8T2EInChNq2jmJTS7hKDEzkvETa2TWDki3ZGC2zdCTMaYbFslQQmyggWk3dFexoTEnICE2NDAp99GjMWck6NDAND1Aj8acomBDw2DeHqJHY85Z0KGBifzpTvt7aHa+63MRoBmTGHRoYGYfo79rXMfOltDAVD9Bj8Z58LzeTrdoYO6/to0Rs3EePdthY3AD8NsBzsNnO2ygH7C2lhGzcR4/22EDDYE36q3k2HxeKxqHSq6MpVVnM91UbO0z7YRgFAQA4FrkLgHqHV6sfTG7QKGNQPH7CM7DbjtsoI9A8RsJzuNuK2w4NBIofifBeeAd+jbYQCfhjKK9j8bGeeBthw2DbPB7Cc4DbztsoJdA8ZsJzgNvO2xMhffo2Th3ru2wgWZCH2oLXMfQdtgYigsYfjauY2g7bKCZ0IPyAucxdGKjXIpDX6AH9QXOY2g7bKAv0IMCA+cxtBU2PvQFelBh4DyGtsMG+gIWSgx6H0PbYQN9gT7UGLiOoe2wgb5AD4oMnMfQdthAX4Dj9wVcx9CbuaZbNtAXGFx+G1x/PcRn/3nvQ8VrO08qqwc/FlneiAfZqoYuqnTrxyV0j9PQd/zdqR6w3FnaIhsZHmYOTn2Y+eC3qGRn7xeBjTIsH9oM91/+Y97FnFjEnFigLBdff/Gn7b79g0C/AQ=="), this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7Zxdb5swFIZ/DZed/MFHuOzox8XWdVIr9RolTkAjIQLaNPv1s8FJkxynTTLs9nSjqgTGBvM+xpwXm3g8mT5fV+k8uylHovD4pceTqiybbm36nIii8BjJRx6/8Bgj8t9jV3v20nYvmaeVmDWHFGBdgae0eBRdSpdQN8tCJ9RZOlerlRjKQ34d50WRlEVZtXu5z9SfTK+bqvwlNvaIdlF7snRULmQilRv6fKJqxPPeOrdJusLXopyKplrKLIt81GRdjoDqimYin2S6GCd+l5jWXcJkXfZFArmiVTArwoEi99mjx2S5UF4UJfIazueVzEH5kVIF7aLSy1mzkT5uFyDhrJwp9dIin8zkZiHG6pj1PB3ms4lSM9SHust/q5NyLreVsPkwLc51qaacvxS6VxsX1D8UA3sTAw0HljD4AINUPAKKy+o3hsue5qORyrIr9VW77CoSvqorVcjUeW5VlmYpkyLVCipRywwPWoyD2zY/TVS/u49JJYq0yZ/E1vH/RujA0AOERbO+nNPFfmnXh4vNyEaTH0rRRHW61Hvary5AvnAW6l5ks2chDsUPgfiyb8lVjj5a+ykAKDcBaDPoelB7QHwWRwCIery4IxKZbofJP3E7xGT18Huv22EAxL87WnVj293AMGwX152KKVphR6qoT/qzzGVdGFnqw4TbJcrxuBYNUH1d1YNAxADEDToQxs7EN8UrHxgEJYDEPToSgbQJ+ElQQOIBHYmQRrBzQkcCmlZ890RESYyfBDTLV+hIDIj/CZ4T0C/jC50G8QA+J7CFThQaato7ibWXcEnCj62RWL3x6JcEdNcMHQmjnbBIghJiAwW01fDt6UdHYTYUITYU0GT76FCYHQU6FNBmB+hQmC0FNhQM+uwQHQqzp0CHAhrt49+Ev4ViQJKvie/aVKBDAZ32AN1d4TqWtYQCWu0YHQrnwezqOP2igF579ZoWEQvn0awdFga3jc9uOw9n7bCAfnv1qhYRC+fxrB0W0HC/Ml9Jls3ntVJ/Z8rSOkwyTk06meF60tjuvIJeCEZBAACuRO4ToD7h2eo9k12g0LZTfL7deVhshwX07RSfcXceF1thwaFxp/icu/PAOPRtsIDO/YRJbO/NwnlgbIcFgyzweXfngbEdFtC7U3zm3XlgbIeFaWI5OhbO3/TaYQHNO8axctcxrR0WhsFyho+F65jWDgto3hEOlzuPaWMb03k49N0Ix8udx7R2WEDfjXDA3HlMa4WFD303whFz5zGtHRbQd1sYMv90Ma0dFtB3Yxwzdx3T2mEBfTfCQXPnMa0dFtB3c3y+23VMu+47+mUBfXdy/iO5/L6Px+73wfsmU2192ao+XV1keSPuZKoquqjSjR8j0DmOQ93zWKEusNza2iAbGT5+DY79+HXvqCHZOvtZYGPakA9t/e23/5i3MccWMccWKMvNl1+I6bJv/oDMHw=="), @@ -4807,34 +4836,34 @@ this.addDataEntry("gmdl google media design library picker year picker light",32 this.addDataEntry("gmdl google media design library picker year picker dark",328,484,"Year picker (dark)","7ZjLbuIwFIafJstKviQhWdK008VcOhKVZp0hhlhj4shxC8zTzzE2lDSXIS3pKiBQ/NvHdv7P6HDi0WSze1BpmX+XGRMevfdooqTU9mqzS5gQHkE88+idRwiCj0e+dPTiQy8qU8UKfUkAsQEvqXhmVrFCpffCCVWeluZSsSVMebviQiRSSHXopT4xb9ArreQfduwpZMGMmKeZ3EIbQ8MtxZRmu87tHiS31wcmN0yrPQzZ8kzndgQlkQ3LGV/nLsyPfCumlRXWp9jXu4cLZ0C7GbRhxlP+7BGIQ/NSwTemA90JDi+jy0Kf6avDq8u1VPB1AU3BVmbOqkyXvFgbF0M31YL/NYtSCm1jKF+mYu6ifkut5QY6wGb9aGL1HuQZAkmxCiJ/OTMvhkLeByUOraaYSDV/YbX5PwLKb4ACNrMGG2NAi0EbnmVmSDcUa/iTLKEj7CWAj3CvYzR95+lHIxkdtBntDzb6eKCXcKNM9Tj/1tnPPa9+NNBGt8RPyWFlgvb1Y3+MkKtVxXTD9tPGLiIRtpEIJhK9JLDvj4Bi1oYinFD0o4jJCCii6ySC/6GIUHKb+HUUJP50FMHQfNqO4pQurooibkMRTb+KfhSj5AqM2ljEE4teFnSUZIFxCwtXlE0sOlmMki1ws9pN5j+S+29dNM69pD1poVYwmL//25xrtgDVhG6huq8VEWgw6IXb2kfx1QP2tdYZ2hlqST5Da4w3ZN3SNzhEtdVvgjGyEW7W8o9fJ8x1zPGImOMRKEPz9cmYHX7+4Owf"), this.addDataEntry("gmdl google media design library picker date picker landscape light",512,304,"Date picker (landscape, light)","7ZhNb6MwEIZ/DceubAwEjlnS9rDbdqVU2rMVnGCtg5Fxm2R//Y7BSSCQJrRB2gNEkZjxjD/exwYNDonX20dF8/RJJkw45N4hsZJSV3frbcyEcFzEE4fMHNdF8HfchzOtuGxFOVUs09ckuFXCOxVvrPJUjkLvhHUUKc3NrWIL6PL7kgsRSyFV2UqW5QX+Qiv5h9VaWHmZlpQmcgNODIYdjynNtmfnXLrshB+ZXDOtdhCy4YlOqwgf24mmjK9Sm0aQVzlpUTlWh9yjBHBjVehWhLQUeU3fHBfyAlgURrCGaa4gApOeUiEUBWFo/DLTlyXMZGbUo4KvMjAFW5o+i5wueLYyaga2qzn/awYlBGwjLF9QMbVZWubHpFdjzLB3LQb3IgYchANh8FoYQPFJS3GYvu5Y9poniQk5lfqhvE4VCT7UFftgm3FeTIjegWtidoFiBQT8tmJcvbfJ50T1qnOMFBNU83fW6P8rQvtdQnu9hd5v0wUslKm28t7M/DqU/aSMZ/amTUDfiBvarJqyxPM6tmswkLJBl7L+qOx5Ze2ovySHybho1+xmnyGXy4LpFonDXK+CM+mCE4xw+sKZuAPACW/z8L8Ep/FCtnDc6H+As/d9EQ5G4QB0oi464Xh0etPxhzg7GHXhiUY8vfGEQxwejDvw2CJtxNMDz6FEuC2edkEcT5/j+5/nANXlJR+8YhoFhykfNinXbA5ek7pRtFan2Yh+7Od2ajciahN2DauGdoLaZP2+NcoJWTv0HQ5QY/S7fce3Rd2u9F9+jJibmKMBMUcDUAbz+PGsCq9/W/sH"), this.addDataEntry("gmdl google media design library picker date picker landscape dark",512,304,"Date picker (landscape, dark)","7ZhLb+IwEMc/TY5d+ZGEcKTp47CPrkSlPVvEEGtNHDlugf30O04MTUigpCVSDzFCiscz9vj/s0ETj8br7aNmefpTJVx69N6jsVbKVE/rbcyl9AgSiUfvPEIQfD3ycGIUl6MoZ5pn5pIAUgW8MvnCK0tlKMxOOkORstw+ar6AKW+XQspYSaXLUeoT+wF7YbT6y2sjvGx2JGWJ2oARQ8etx7Xh25M5lyaX8CNXa270Dlw2IjFp5RFgl2jKxSp1YRT5lZEVlWF1iH2TAB6cCt2K0JYiz+mLRyAuhE1hBHuY5Ro8MO0pVVA2a1eZqdmXZWtJmKnMqsekWGXQlXxp5yxythDZyqoZuqnm4p9dlFLoW2HFgsmZizIqfwt6tp077F+KgbyLAYfRQBj8FgZQfNJSHNI3HdteiySxLsdSP5TtWJHwrK7YIrPrPFkXswPTxJ4CzQtw+OPEuPhs04+J6lf3GGkumRGvvDH/Z4QOuoT2ewu9P6YL2CjXZw75sbIflPHE2XQB6BslkYuqKUt9v+O4hgMpG3YpG4zKnlbWrfpbCUiGoF1zmn2EWi4LblokDrleBGfSBScc4fSFMyEDwImu8+P/HpwIxbex34RDpl8Bzt72STgYRQPQmXbRicar05tOMMTdwagLz3TE0xtPNMTlwbgDjyvSRjw98BxKhOviaRfE8exXfP/jFKC6vPTMX0yj4LDlwyYVhs/BakM3mtXqNOfRj/3cpXYloi5g1+jV0E5Qm2zQt0Y5IuuWvsEhaqx+s5/4uqjblf7T9xFzE/N0QMzTAShD9+3lWeVef7f2Hw==")]; -this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");b.vertex= -!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (on, disabled, dark))")}), -this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, light))")}), -this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light", -function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); -b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;"); -a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, hover, dark))")}), -this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b], -48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var b=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");b.vertex=!0;return d.createVertexTemplateFromCells([b],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark", -function(){var b=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");b.vertex=!0;var a=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");a.vertex=!0;b.insert(a);return d.createVertexTemplateFromCells([b],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light", -function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;"); -b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var b=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");b.vertex=!0;return d.createVertexTemplateFromCells([b],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls", -a||!1,mxUtils.bind(this,function(b){for(var a=0;a<e.length;a++)b.appendChild(e[a](b))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")), +this.addPalette("gmdlPickers","GMDL / Pickers",a||!1,mxUtils.bind(this,function(a){for(var b=0;b<d.length;b++)a.appendChild(d[b](a))}))};Sidebar.prototype.addGMDLSelectionControlsPalette=function(a){var d=this,e=[this.addEntry("gmdl google media design library selection control checkbox on hover light dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;aspect=fixed;");a.vertex= +!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, hover))")}),this.addEntry("gmdl google media design library selection control checkbox on focused pressed light dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#009587;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled focused light", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#B0B0B0;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox off hover light", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, light))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control checkbox on disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (on, disabled, dark))")}), +this.addEntry("gmdl google media design library selection control checkbox on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=none;fillColor=#676767;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Checkbox (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, hover, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off focused pressed dark", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled dark", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Checkbox (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control checkbox off disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.checkbox;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Checkbox (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button on hover light dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, hover))")}),this.addEntry("gmdl google media design library selection control radio button on focused pressed light dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#009587;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#009587;fillColor=#009587;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (on, focused or pressed))")}),this.addEntry("gmdl google media design library selection control radio button on disabled light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, light))")}), +this.addEntry("gmdl google media design library selection control radio button on disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=#B0B0B0;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Radio button (on, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button off hover light",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, light))")}),this.addEntry("gmdl google media design library selection control radio button off focused pressed light", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, focused or pressed, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled light", +function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, light))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused light",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;"); +a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#B0B0B0;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, light))")}),this.addEntry("gmdl google media design library selection control radio button on disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;aspect=fixed;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (on, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button on disabled focused dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#B0B0B0;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#676767;fillColor=#676767;strokeWidth=2;"); +c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (on, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control radio button off hover dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, hover, dark))")}), +this.addEntry("gmdl google media design library selection control radio button off focused pressed dark",function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#ffffff;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a], +48,48,"Radio button (off, focused or pressed, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled dark",function(){var a=new mxCell("",new mxGeometry(0,0,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;aspect=fixed;");a.vertex=!0;return d.createVertexTemplateFromCells([a],16,16,"Radio button (off, disabled, dark))")}),this.addEntry("gmdl google media design library selection control radio button off disabled focused dark", +function(){var a=new mxCell("",new mxGeometry(0,0,48,48),"shape=ellipse;labelPosition=right;align=left;strokeColor=none;fillColor=#666666;opacity=10;");a.vertex=!0;var c=new mxCell("",new mxGeometry(16,16,16,16),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.radiobutton;strokeColor=#666666;fillColor=none;strokeWidth=2;");c.vertex=!0;a.insert(c);return d.createVertexTemplateFromCells([a],48,48,"Radio button (off, disabled, focused, dark))")}),this.addEntry("gmdl google media design library selection control switch on light", +function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#0E9D57;");a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (on, light)")}),this.addEntry("gmdl google media design library selection control switch on dark",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=on;strokeColor=none;fillColor=#80CBC4;"); +a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (on, dark)")}),this.addEntry("gmdl google media design library selection control switch off light dark",function(){var a=new mxCell("",new mxGeometry(0,0,36,20),"dashed=0;labelPosition=right;align=left;shape=mxgraph.gmdl.switch;aspect=fixed;switchState=off;strokeColor=none;fillColor=#0E9D57;");a.vertex=!0;return d.createVertexTemplateFromCells([a],36,20,"Switch (off)")})];this.addPalette("gmdlSelection Controls","GMDL / Selection Controls", +a||!1,mxUtils.bind(this,function(a){for(var b=0;b<e.length;b++)a.appendChild(e[b](a))}))};Sidebar.prototype.addGMDLSlidersPalette=function(a){var d=[this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")), this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;",200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.slider2;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=10;shadow=0;", 200,10,"","Slider (normal)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider normal","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=0;strokeColor=#bbbbbb;opacity=100;strokeWidth=2;fillColor=#ffffff;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")), this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=50;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;",200,30,"","Slider (focused)",null,null,this.getTagsForStencil("mxgraph.gmdl","slider focused","gmdl google media design library slider ").join(" ")),this.createVertexTemplateEntry("dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;shape=mxgraph.gmdl.sliderFocused;barPos=100;strokeColor=#3F51B5;opacity=100;strokeWidth=2;fillColor=#3F51B5;handleSize=30;shadow=0;", @@ -6841,275 +6870,274 @@ this.getTagsForStencil("mxgraph.weblogos","xanga","web logos logo").join(" ")),t 74.4,43.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yahoo_2;fillColor=#65106E;strokeColor=none",80,46.6,"","Yahoo",null,null,this.getTagsForStencil("mxgraph.weblogos","yahoo","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yammer;fillColor=#0093BE;strokeColor=none",.2*348,59.6,"","Yammer",null,null,this.getTagsForStencil("mxgraph.weblogos","yammer","web logos logo").join(" ")),this.createVertexTemplateEntry(a+ "yandex",31.8,66.4,"","Yandex",null,null,this.getTagsForStencil("mxgraph.weblogos","yandex","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yelp;fillColor=#C41200;strokeColor=none",.2*317,83,"","Yelp",null,null,this.getTagsForStencil("mxgraph.weblogos","yelp","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"yoolink",79.2,79.2,"","Yoolink",null,null,this.getTagsForStencil("mxgraph.weblogos","yoolink","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youmob", 76,76.2,"","Youmob",null,null,this.getTagsForStencil("mxgraph.weblogos","youmob","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube;fillColor=#FF2626;gradientColor=#B5171F",.2*786,65.8,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" ")),this.createVertexTemplateEntry(a+"youtube_2;fillColor=#FF2626;gradientColor=#B5171F",.2*232,32.6,"","Youtube",null,null,this.getTagsForStencil("mxgraph.weblogos","youtube","web logos logo").join(" "))])}})(); -DrawioFile=function(a,f){mxEventSource.call(this);this.ui=a;this.data=f||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))}; -DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,f,d,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,f,d){};DrawioFile.prototype.saveFile=function(a,f,d,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; -DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,f,d){};DrawioFile.prototype.isMovable=function(){return!1}; -DrawioFile.prototype.move=function(a,f,d){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data}; -DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,f){var d=null!=f?f.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=d&&d.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this|| +DrawioFile=function(a,d){mxEventSource.call(this);this.ui=a;this.data=d||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))}; +DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,d,f,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,d,f){};DrawioFile.prototype.saveFile=function(a,d,f,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; +DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,d,f){};DrawioFile.prototype.isMovable=function(){return!1}; +DrawioFile.prototype.move=function(a,d,f){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data}; +DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,d){var f=null!=d?d.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=f&&f.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this|| this.isModified()||this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")))}),mxUtils.bind(this,function(a){this.ui.getCurrentFile()==this&&this.addUnsavedStatus(a)}))):this.addUnsavedStatus())});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener);this.ui.editor.graph.addListener("gridSizeChanged",this.changeListener);this.ui.editor.graph.addListener("shadowVisibleChanged",this.changeListener);this.ui.addListener("pageFormatChanged",this.changeListener); this.ui.addListener("pageScaleChanged",this.changeListener);this.ui.addListener("backgroundColorChanged",this.changeListener);this.ui.addListener("backgroundImageChanged",this.changeListener);this.ui.addListener("foldingEnabledChanged",this.changeListener);this.ui.addListener("mathEnabledChanged",this.changeListener);this.ui.addListener("gridEnabledChanged",this.changeListener);this.ui.addListener("guidesEnabledChanged",this.changeListener);this.ui.addListener("pageViewChanged",this.changeListener)}; DrawioFile.prototype.addUnsavedStatus=function(a){a instanceof Error&&null!=a.message?this.ui.editor.setStatus('<div class="geStatusAlert" style="overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChanges"))+" ("+mxUtils.htmlEntities(a.message)+")</div>"):(this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+"</div>"),null!=this.ui.statusContainer&&(a=this.ui.statusContainer.getElementsByTagName("div"), 0<a.length&&mxEvent.addListener(a[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))}; -DrawioFile.prototype.autosave=function(a,f,d,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<f?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=d&&d(a)}), -mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=d&&d(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; -DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,f){if(null!=a&&null!=f){var d=a.lastIndexOf("."),c=0<d?a.substring(d):"",d=f.lastIndexOf(".");return c===(0<d?f.substring(d):"")}return a==f}; -DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,f,d,c){DrawioFile.call(this,a,f);this.title=d;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,f,d){this.saveAs(this.title,f,d)};LocalFile.prototype.saveAs=function(a,f,d){this.saveFile(a,!1,f,d)}; -LocalFile.prototype.saveFile=function(a,f,d,c){this.title=a;this.updateFileData();f=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),h=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,a,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var f=a.lastIndexOf("."),f=0<f?a.substring(f+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+f+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(a)+ -(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=d&&d()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){h(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):h(f)};LocalFile.prototype.rename=function(a,f,d){this.title=a;this.descriptorChanged();null!=f&&f()}; -LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,f){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,f,d){LocalFile.call(this,a,f,d)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,f,d){this.saveFile(a,!1,f,d)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,f,d){DrawioFile.call(this,a,f);this.title=d};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title}; -StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,f,d){this.saveAs(this.getTitle(),f,d)};StorageFile.prototype.saveAs=function(a,f,d){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,f,d)}; -StorageFile.prototype.saveFile=function(a,f,d,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=d&&d()}))}catch(h){null!=c&&c(h)}});this.isRenamable()&&"."==a.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(d){this.isRenamable()&&this.getTitle()!=a&&null!=d?this.ui.confirm(mxResources.get("replaceIt", -[a]),g,c):g()}))}else null!=d&&d()};StorageFile.prototype.rename=function(a,f,d){var c=this.getTitle();c!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(g){var h=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(c,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,f)}),d)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[a]),h,d):h()})):f()}; -StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,f,d){StorageFile.call(this,a,f,d)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,f,d){this.saveFile(a,!1,f,d)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title}; -StorageLibrary.prototype.isRenamable=function(a,f,d){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,f,d){StorageFile.call(this,a,f,d);a=d;f=a.lastIndexOf("/");0<=f&&(a=a.substring(f+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,f,d){return!1};UrlLibrary.prototype.saveAs=function(a,f,d){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,f,d){function c(c,q,u,k,v,t){function w(){mxEvent.addListener(x,"click",null!=t?t:function(){u!=App.MODE_GOOGLE||a.isDriveDomain()?u==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(u,b.checked);f()})):(a.setMode(u,b.checked),f()):window.location.hostname=DriveClient.prototype.newAppHostname})}var x=document.createElement("a");x.style.overflow="hidden";x.style.display= -mxClient.IS_QUIRKS?"inline":"inline-block";x.className="geBaseButton";x.style.boxSizing="border-box";x.style.fontSize="11px";x.style.position="relative";x.style.margin="4px";x.style.padding="8px 10px 12px 10px";x.style.width="88px";x.style.height="100px";x.style.whiteSpace="nowrap";x.setAttribute("title",q);mxClient.IS_QUIRKS&&(x.style.cssFloat="left",x.style.zoom="1");var g=document.createElement("div");g.style.textOverflow="ellipsis";g.style.overflow="hidden";if(null!=c){var B=document.createElement("img"); -B.setAttribute("src",c);B.setAttribute("border","0");B.setAttribute("align","absmiddle");B.style.width="60px";B.style.height="60px";B.style.paddingBottom="6px";x.appendChild(B)}else g.style.paddingTop="5px",g.style.whiteSpace="normal",mxClient.IS_IOS?(x.style.padding="0px 10px 20px 10px",x.style.top="6px"):mxClient.IS_FF&&(g.style.paddingTop="0px",g.style.marginTop="-2px");x.appendChild(g);mxUtils.write(g,q);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(g),mxUtils.write(g,v[c]);if(null!=k&&null==a[k]){B.style.visibility= -"hidden";mxUtils.setOpacity(g,10);var h=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});h.spin(x);var F=window.setTimeout(function(){null==a[k]&&(h.stop(),x.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(F),mxUtils.setOpacity(g,100),B.style.visibility="",h.stop(),w(),"drive"==k&&null!=l.parentNode&&l.parentNode.removeChild(l))}))}else w(); -p.appendChild(x);++e>=d&&(mxUtils.br(p),e=0)}d=null!=d?d:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var h=a.addLanguageMenu(g,!0);null!=h&&(h.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){h=document.createElement("a");h.setAttribute("href","https://about.draw.io/support/");h.setAttribute("title",mxResources.get("help"));h.setAttribute("target","_blank");h.style.position= +DrawioFile.prototype.autosave=function(a,d,f,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<d?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=f&&f(a)}), +mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=f&&f(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; +DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,d){if(null!=a&&null!=d){var f=a.lastIndexOf("."),c=0<f?a.substring(f):"",f=d.lastIndexOf(".");return c===(0<f?d.substring(f):"")}return a==d}; +DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,d,f,c){DrawioFile.call(this,a,d);this.title=f;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,d,f){this.saveAs(this.title,d,f)};LocalFile.prototype.saveAs=function(a,d,f){this.saveFile(a,!1,d,f)}; +LocalFile.prototype.saveFile=function(a,d,f,c){this.title=a;this.updateFileData();d=this.getData();var g=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),h=mxUtils.bind(this,function(c){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(c,a,g?"image/png":"text/xml",g);else if(c.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(c)+"&filename="+encodeURIComponent(a)+ +(g?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(c)}));this.setModified(!1);this.contentChanged();null!=f&&f()});g?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){h(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):h(d)};LocalFile.prototype.rename=function(a,d,f){this.title=a;this.descriptorChanged();null!=d&&d()}; +LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,d){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};LocalLibrary=function(a,d,f){LocalFile.call(this,a,d,f)};mxUtils.extend(LocalLibrary,LocalFile);LocalLibrary.prototype.getHash=function(){return"F"+this.getTitle()};LocalLibrary.prototype.isAutosave=function(){return!1};LocalLibrary.prototype.saveAs=function(a,d,f){this.saveFile(a,!1,d,f)};LocalLibrary.prototype.updateFileData=function(){};LocalLibrary.prototype.open=function(){};StorageFile=function(a,d,f){DrawioFile.call(this,a,d);this.title=f};mxUtils.extend(StorageFile,DrawioFile);StorageFile.prototype.autosaveDelay=2E3;StorageFile.prototype.maxAutosaveDelay=2E4;StorageFile.prototype.getMode=function(){return App.MODE_BROWSER};StorageFile.prototype.isAutosaveOptional=function(){return!0};StorageFile.prototype.getHash=function(){return"L"+encodeURIComponent(this.getTitle())};StorageFile.prototype.getTitle=function(){return this.title}; +StorageFile.prototype.isRenamable=function(){return!0};StorageFile.prototype.save=function(a,d,f){this.saveAs(this.getTitle(),d,f)};StorageFile.prototype.saveAs=function(a,d,f){DrawioFile.prototype.save.apply(this,arguments);this.saveFile(a,!1,d,f)}; +StorageFile.prototype.saveFile=function(a,d,f,c){if(this.isEditable()){var g=mxUtils.bind(this,function(){this.isRenamable()&&(this.title=a);try{this.ui.setLocalData(this.title,this.getData(),mxUtils.bind(this,function(){this.setModified(!1);this.contentChanged();null!=f&&f()}))}catch(h){null!=c&&c(h)}});this.isRenamable()&&"."==a.charAt(0)&&null!=c?c({message:mxResources.get("invalidName")}):this.ui.getLocalData(a,mxUtils.bind(this,function(f){this.isRenamable()&&this.getTitle()!=a&&null!=f?this.ui.confirm(mxResources.get("replaceIt", +[a]),g,c):g()}))}else null!=f&&f()};StorageFile.prototype.rename=function(a,d,f){var c=this.getTitle();c!=a?this.ui.getLocalData(a,mxUtils.bind(this,function(g){var h=mxUtils.bind(this,function(){this.title=a;this.hasSameExtension(c,a)||this.setData(this.ui.getFileData());this.saveFile(a,!1,mxUtils.bind(this,function(){this.ui.removeLocalData(c,d)}),f)});null!=g?this.ui.confirm(mxResources.get("replaceIt",[a]),h,f):h()})):d()}; +StorageFile.prototype.open=function(){DrawioFile.prototype.open.apply(this,arguments);this.saveFile(this.getTitle())};StorageFile.prototype.destroy=function(){DrawioFile.prototype.destroy.apply(this,arguments);null!=this.storageListener&&(mxEvent.removeListener(window,"storage",this.storageListener),this.storageListener=null)};StorageLibrary=function(a,d,f){StorageFile.call(this,a,d,f)};mxUtils.extend(StorageLibrary,StorageFile);StorageLibrary.prototype.isAutosave=function(){return!0};StorageLibrary.prototype.saveAs=function(a,d,f){this.saveFile(a,!1,d,f)};StorageLibrary.prototype.getHash=function(){return"L"+encodeURIComponent(this.title)};StorageLibrary.prototype.getTitle=function(){return".scratchpad"==this.title?mxResources.get("scratchpad"):this.title}; +StorageLibrary.prototype.isRenamable=function(a,d,f){return".scratchpad"!=this.title};StorageLibrary.prototype.open=function(){};UrlLibrary=function(a,d,f){StorageFile.call(this,a,d,f);a=f;d=a.lastIndexOf("/");0<=d&&(a=a.substring(d+1));this.fname=a};mxUtils.extend(UrlLibrary,StorageFile);UrlLibrary.prototype.getHash=function(){return"U"+encodeURIComponent(this.title)};UrlLibrary.prototype.getTitle=function(){return this.fname};UrlLibrary.prototype.isAutosave=function(){return!1};UrlLibrary.prototype.isEditable=function(a,d,f){return!1};UrlLibrary.prototype.saveAs=function(a,d,f){};UrlLibrary.prototype.open=function(){};var StorageDialog=function(a,d,f){function c(c,x,u,k,v,q){function w(){mxEvent.addListener(t,"click",null!=q?q:function(){u!=App.MODE_GOOGLE||a.isDriveDomain()?u==App.MODE_GOOGLE&&a.spinner.spin(document.body,mxResources.get("authorizing"))?a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();a.setMode(u,b.checked);d()})):(a.setMode(u,b.checked),d()):window.location.hostname=DriveClient.prototype.newAppHostname})}var t=document.createElement("a");t.style.overflow="hidden";t.style.display= +mxClient.IS_QUIRKS?"inline":"inline-block";t.className="geBaseButton";t.style.boxSizing="border-box";t.style.fontSize="11px";t.style.position="relative";t.style.margin="4px";t.style.padding="8px 10px 12px 10px";t.style.width="88px";t.style.height="100px";t.style.whiteSpace="nowrap";t.setAttribute("title",x);mxClient.IS_QUIRKS&&(t.style.cssFloat="left",t.style.zoom="1");var A=document.createElement("div");A.style.textOverflow="ellipsis";A.style.overflow="hidden";if(null!=c){var g=document.createElement("img"); +g.setAttribute("src",c);g.setAttribute("border","0");g.setAttribute("align","absmiddle");g.style.width="60px";g.style.height="60px";g.style.paddingBottom="6px";t.appendChild(g)}else A.style.paddingTop="5px",A.style.whiteSpace="normal",mxClient.IS_IOS?(t.style.padding="0px 10px 20px 10px",t.style.top="6px"):mxClient.IS_FF&&(A.style.paddingTop="0px",A.style.marginTop="-2px");t.appendChild(A);mxUtils.write(A,x);if(null!=v)for(c=0;c<v.length;c++)mxUtils.br(A),mxUtils.write(A,v[c]);if(null!=k&&null==a[k]){g.style.visibility= +"hidden";mxUtils.setOpacity(A,10);var h=new Spinner({lines:12,length:12,width:5,radius:10,rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});h.spin(t);var F=window.setTimeout(function(){null==a[k]&&(h.stop(),t.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[k]&&(window.clearTimeout(F),mxUtils.setOpacity(A,100),g.style.visibility="",h.stop(),w(),"drive"==k&&null!=l.parentNode&&l.parentNode.removeChild(l))}))}else w(); +p.appendChild(t);++e>=f&&(mxUtils.br(p),e=0)}f=null!=f?f:2;var g=document.createElement("div");g.style.textAlign="center";g.style.whiteSpace="nowrap";g.style.paddingTop="0px";g.style.paddingBottom="20px";var h=a.addLanguageMenu(g,!0);null!=h&&(h.style.bottom=parseInt("28px")-2+"px");if(!a.isOffline()&&1<a.getServiceCount()){h=document.createElement("a");h.setAttribute("href","https://about.draw.io/support/");h.setAttribute("title",mxResources.get("help"));h.setAttribute("target","_blank");h.style.position= "absolute";h.style.textDecoration="none";h.style.cursor="pointer";h.style.fontSize="12px";h.style.bottom="28px";h.style.left="26px";h.style.color="gray";var m=document.createElement("img");m.setAttribute("border","0");m.setAttribute("valign","bottom");m.setAttribute("src",Editor.helpImage);m.style.marginRight="2px";h.appendChild(m);mxUtils.write(h,mxResources.get("help"));g.appendChild(h)}var n=document.createElement("div");n.style.position="absolute";n.style.cursor="pointer";n.style.fontSize="12px"; n.style.bottom="28px";n.style.color="gray";mxUtils.write(n,mxResources.get("decideLater"));a.isOfflineApp()?n.style.right="20px":(mxUtils.setPrefixedStyle(n.style,"transform","translate(-50%,0)"),n.style.left="50%");this.init=function(){if(mxClient.IS_QUIRKS||8==document.documentMode)n.style.marginLeft=-Math.round(n.clientWidth/2)+"px"};g.appendChild(n);mxEvent.addListener(n,"click",function(){a.hideDialog();var b=Editor.useLocalStorage;a.createFile(a.defaultFilename,null,null,null,null,null,null, !0);Editor.useLocalStorage=b});var p=document.createElement("div");mxClient.IS_QUIRKS&&(p.style.whiteSpace="nowrap",p.style.cssFloat="left");p.style.border="1px solid #d3d3d3";p.style.borderWidth="1px 0px 1px 0px";p.style.padding="12px 0px 12px 0px";var b=document.createElement("input");b.setAttribute("type","checkbox");b.setAttribute("checked","checked");b.defaultChecked=!0;var e=0,l=document.createElement("p"),h=document.createElement("p");h.style.fontSize="16pt";h.style.padding="0px";h.style.paddingTop= "4px";h.style.paddingBottom="16px";h.style.margin="0px";h.style.color="gray";mxUtils.write(h,mxResources.get("saveDiagramsTo")+":");g.appendChild(h);"function"===typeof window.DriveClient&&c(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive");"function"===typeof window.OneDriveClient&&c(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive");mxClient.IS_IOS&&"device"!=urlParams.storage||c(IMAGE_PATH+"/osa_drive-harddisk.png", -mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(p);h=document.createElement("p");h.style.marginTop="12px";h.style.marginBottom="6px";h.appendChild(b);m=document.createElement("span");m.style.color="gray";m.style.fontSize="12px";mxUtils.write(m," "+mxResources.get("rememberThisSetting"));h.appendChild(m);mxUtils.br(h);var u=a.getRecent();if(null!=u&& -0<u.length){var q=document.createElement("select");q.style.marginTop="8px";q.style.width="140px";var t=document.createElement("option");t.setAttribute("value","");t.setAttribute("selected","selected");t.style.textAlign="center";mxUtils.write(t,mxResources.get("openRecent")+"...");q.appendChild(t);for(t=0;t<u.length;t++)(function(b){var a=b.mode;a==App.MODE_GOOGLE?a="googleDrive":a==App.MODE_ONEDRIVE&&(a="oneDrive");var e=document.createElement("option");e.setAttribute("value",b.id);mxUtils.write(e, -b.title+" ("+mxResources.get(a)+")");q.appendChild(e)})(u[t]);h.appendChild(q);mxEvent.addListener(q,"change",function(b){""!=q.value&&a.loadFile(q.value)})}else h.style.marginTop="20px",p.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(u=document.createElement("div"),u.style.cursor="pointer",u.style.padding="18px 0px 6px 0px",u.style.fontSize="12px",u.style.color="gray",mxUtils.write(u,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+ -", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(u,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),h.appendChild(u),p.style.paddingBottom="4px");p.appendChild(h);mxEvent.addListener(m,"click",function(a){b.checked=!b.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null== +mxResources.get("device"),App.MODE_DEVICE);!isLocalStorage||"1"!=urlParams.browser&&"1"!=urlParams.offline||c(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER);g.appendChild(p);h=document.createElement("p");h.style.marginTop="12px";h.style.marginBottom="6px";h.appendChild(b);m=document.createElement("span");m.style.color="gray";m.style.fontSize="12px";mxUtils.write(m," "+mxResources.get("rememberThisSetting"));h.appendChild(m);mxUtils.br(h);var q=a.getRecent();if(null!=q&& +0<q.length){var u=document.createElement("select");u.style.marginTop="8px";u.style.width="140px";var t=document.createElement("option");t.setAttribute("value","");t.setAttribute("selected","selected");t.style.textAlign="center";mxUtils.write(t,mxResources.get("openRecent")+"...");u.appendChild(t);for(t=0;t<q.length;t++)(function(b){var a=b.mode;a==App.MODE_GOOGLE?a="googleDrive":a==App.MODE_ONEDRIVE&&(a="oneDrive");var e=document.createElement("option");e.setAttribute("value",b.id);mxUtils.write(e, +b.title+" ("+mxResources.get(a)+")");u.appendChild(e)})(q[t]);h.appendChild(u);mxEvent.addListener(u,"change",function(b){""!=u.value&&a.loadFile(u.value)})}else h.style.marginTop="20px",p.style.padding="30px 0px 26px 0px";!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11||(q=document.createElement("div"),q.style.cursor="pointer",q.style.padding="18px 0px 6px 0px",q.style.fontSize="12px",q.style.color="gray",mxUtils.write(q,mxResources.get("import")+": "+mxResources.get("gliffy")+", "+mxResources.get("formatVssx")+ +", "+mxResources.get("formatVsdx")+", "+mxResources.get("lucidchart")+"..."),mxEvent.addListener(q,"click",function(){var b=document.createElement("input");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(){null!=b.files&&(a.hideDialog(),a.openFiles(b.files,!0))});b.click()}),h.appendChild(q),p.style.paddingBottom="4px");p.appendChild(h);mxEvent.addListener(m,"click",function(a){b.checked=!b.checked;mxEvent.consume(a)});mxClient.IS_SVG&&isLocalStorage&&"0"!=urlParams.gapi&&(null== document.documentMode||10<=document.documentMode)&&window.setTimeout(function(){null==a.drive&&(l.style.padding="8px",l.style.fontSize="9pt",l.style.marginTop="-14px",l.innerHTML='<a style="background-color:#dcdcdc;padding:5px;color:black;text-decoration:none;" href="https://plus.google.com/u/0/+DrawIo1/posts/1HTrfsb5wDN" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top"> '+mxResources.get("googleDriveMissingClickHere")+"</a>",g.appendChild(l))},5E3);this.container= -g},SplashDialog=function(a){var f=document.createElement("div");f.style.textAlign="center";a.addLanguageMenu(f,!0);var d=null,d=a.getServiceCount();if(!a.isOffline()&&1<d){d=document.createElement("a");d.setAttribute("href","https://about.draw.io/support/");d.setAttribute("title",mxResources.get("help"));d.setAttribute("target","_blank");d.style.position="absolute";d.style.fontSize="12px";d.style.textDecoration="none";d.style.cursor="pointer";d.style.bottom="22px";d.style.left="26px";d.style.color= -"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";d.appendChild(c);mxUtils.write(d,mxResources.get("help"));f.appendChild(d)}d=document.createElement("p");d.style.fontSize="16pt";d.style.padding="0px";d.style.paddingTop="2px";d.style.margin="0px";d.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px"; +g},SplashDialog=function(a){var d=document.createElement("div");d.style.textAlign="center";a.addLanguageMenu(d,!0);var f=null,f=a.getServiceCount();if(!a.isOffline()&&1<f){f=document.createElement("a");f.setAttribute("href","https://about.draw.io/support/");f.setAttribute("title",mxResources.get("help"));f.setAttribute("target","_blank");f.style.position="absolute";f.style.fontSize="12px";f.style.textDecoration="none";f.style.cursor="pointer";f.style.bottom="22px";f.style.left="26px";f.style.color= +"gray";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);c.style.marginRight="2px";f.appendChild(c);mxUtils.write(f,mxResources.get("help"));d.appendChild(f)}f=document.createElement("p");f.style.fontSize="16pt";f.style.padding="0px";f.style.paddingTop="2px";f.style.margin="0px";f.style.color="gray";c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("align","absmiddle");c.style.width="40px"; c.style.height="40px";c.style.marginRight="12px";c.style.paddingBottom="4px";var g="";a.mode==App.MODE_GOOGLE?(c.src=IMAGE_PATH+"/google-drive-logo.svg",g=mxResources.get("googleDrive")):a.mode==App.MODE_DROPBOX?(c.src=IMAGE_PATH+"/dropbox-logo.svg",g=mxResources.get("dropbox")):a.mode==App.MODE_ONEDRIVE?(c.src=IMAGE_PATH+"/onedrive-logo.svg",g=mxResources.get("oneDrive")):a.mode==App.MODE_GITHUB?(c.src=IMAGE_PATH+"/github-logo.svg",g=mxResources.get("github")):a.mode==App.MODE_TRELLO?(c.src=IMAGE_PATH+ "/trello-logo.svg",g=mxResources.get("trello")):a.mode==App.MODE_BROWSER?(c.src=IMAGE_PATH+"/osa_database.png",g=mxResources.get("browser")):(c.src=IMAGE_PATH+"/osa_drive-harddisk.png",g=mxResources.get("device"));var h=document.createElement("div");h.style.margin="4px 0px 0px 0px";var m=document.createElement("button");m.className="geBigButton";m.style.overflow="hidden";m.style.width="340px";mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?(h.style.padding="42px 0px 56px 0px",m.style.marginBottom="12px"): -(d.appendChild(c),mxUtils.write(d,g),f.appendChild(d),h.style.border="1px solid #d3d3d3",h.style.borderWidth="1px 0px 1px 0px",h.style.padding="18px 0px 24px 0px",m.style.marginBottom="8px");mxClient.IS_QUIRKS&&(h.style.whiteSpace="nowrap",h.style.cssFloat="left");mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("createNewDiagram"));mxEvent.addListener(m,"click",function(){a.hideDialog();a.actions.get("new").funct()});h.appendChild(m);mxUtils.br(h);m=document.createElement("button"); -m.className="geBigButton";m.style.marginBottom="22px";m.style.overflow="hidden";m.style.width="340px";mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("openExistingDiagram"));mxEvent.addListener(m,"click",function(){a.actions.get("open").funct()});h.appendChild(m);d="undefined";a.mode==App.MODE_GOOGLE?d=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?d=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?d=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?d=mxResources.get("github"): -a.mode==App.MODE_TRELLO?d=mxResources.get("trello"):a.mode==App.MODE_DEVICE?d=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(d=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){m.style.marginBottom="24px";var d=document.createElement("a");d.setAttribute("href","javascript:void(0)");d.style.display="block";d.style.marginTop="6px";mxUtils.write(d,mxResources.get("signOut"));m.style.marginBottom="16px";h.style.paddingBottom="18px";mxEvent.addListener(d,"click", -function(){a.confirm(mxResources.get("areYouSure"),function(){c()})});h.appendChild(d)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(m.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),m.style.marginBottom="16px",h.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){a.hideDialog();a.drive.clearUserId(); +(f.appendChild(c),mxUtils.write(f,g),d.appendChild(f),h.style.border="1px solid #d3d3d3",h.style.borderWidth="1px 0px 1px 0px",h.style.padding="18px 0px 24px 0px",m.style.marginBottom="8px");mxClient.IS_QUIRKS&&(h.style.whiteSpace="nowrap",h.style.cssFloat="left");mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("createNewDiagram"));mxEvent.addListener(m,"click",function(){a.hideDialog();a.actions.get("new").funct()});h.appendChild(m);mxUtils.br(h);m=document.createElement("button"); +m.className="geBigButton";m.style.marginBottom="22px";m.style.overflow="hidden";m.style.width="340px";mxClient.IS_QUIRKS&&(m.style.width="340px");mxUtils.write(m,mxResources.get("openExistingDiagram"));mxEvent.addListener(m,"click",function(){a.actions.get("open").funct()});h.appendChild(m);f="undefined";a.mode==App.MODE_GOOGLE?f=mxResources.get("googleDrive"):a.mode==App.MODE_DROPBOX?f=mxResources.get("dropbox"):a.mode==App.MODE_ONEDRIVE?f=mxResources.get("oneDrive"):a.mode==App.MODE_GITHUB?f=mxResources.get("github"): +a.mode==App.MODE_TRELLO?f=mxResources.get("trello"):a.mode==App.MODE_DEVICE?f=mxResources.get("device"):a.mode==App.MODE_BROWSER&&(f=mxResources.get("browser"));mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||(g=function(c){m.style.marginBottom="24px";var f=document.createElement("a");f.setAttribute("href","javascript:void(0)");f.style.display="block";f.style.marginTop="6px";mxUtils.write(f,mxResources.get("signOut"));m.style.marginBottom="16px";h.style.paddingBottom="18px";mxEvent.addListener(f,"click", +function(){a.confirm(mxResources.get("areYouSure"),function(){c()})});h.appendChild(f)},c=null!=a.drive?a.drive.getUser():null,a.mode==App.MODE_GOOGLE&&null!=c?(m.style.marginBottom="24px",g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="6px",mxUtils.write(g,mxResources.get("changeUser")+" ("+c.displayName+")"),m.style.marginBottom="16px",h.style.paddingBottom="18px",mxEvent.addListener(g,"click",function(){a.hideDialog();a.drive.clearUserId(); a.drive.setUser(null);gapi.auth.signOut();a.setMode(App.MODE_GOOGLE);a.hideDialog();a.showSplash();a.drive.authorize(!1,mxUtils.bind(this,mxUtils.bind(this,function(){a.hideDialog();a.showSplash()})),mxUtils.bind(this,function(c){a.handleError(c,null,function(){a.hideDialog();a.showSplash()})}))}),h.appendChild(g)):a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?g(function(){a.oneDrive.logout()}):a.mode==App.MODE_GITHUB&&null!=a.gitHub?g(function(){a.gitHub.logout();a.openLink("https://www.github.com/logout")}): -a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&g(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&g(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[d])),mxEvent.addListener(g,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}), -h.appendChild(g));f.appendChild(h);this.container=f},ConfirmDialog=function(a,f,d,c,g,h,m,n,p){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("div");e.style.padding="6px";e.style.overflow="auto";e.style.maxHeight="44px";mxClient.IS_QUIRKS&&(e.style.height="60px");mxUtils.write(e,f);b.appendChild(e);e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";var l=document.createElement("input");l.setAttribute("type","checkbox"); -h=mxUtils.button(h||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(l.checked)});h.className="geBtn";null!=n&&(h.innerHTML=n+"<br>"+h.innerHTML,h.style.paddingBottom="8px",h.style.paddingTop="8px",h.style.height="auto",h.style.width="40%");a.editor.cancelFirst&&e.appendChild(h);g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=d&&d(l.checked)});e.appendChild(g);null!=m?(g.innerHTML=m+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px", +a.mode==App.MODE_TRELLO&&null!=a.trello?a.trello.isAuthorized()&&g(function(){a.trello.logout()}):a.mode==App.MODE_DROPBOX&&null!=a.dropbox&&g(function(){a.dropbox.logout();a.openLink("https://www.dropbox.com/logout")}),g=document.createElement("a"),g.setAttribute("href","javascript:void(0)"),g.style.display="block",g.style.marginTop="8px",mxUtils.write(g,mxResources.get("notUsingService",[f])),mxEvent.addListener(g,"click",function(){a.hideDialog(!1);a.setMode(null);a.clearMode();a.showSplash(!0)}), +h.appendChild(g));d.appendChild(h);this.container=d},ConfirmDialog=function(a,d,f,c,g,h,m,n,p){var b=document.createElement("div");b.style.textAlign="center";var e=document.createElement("div");e.style.padding="6px";e.style.overflow="auto";e.style.maxHeight="44px";mxClient.IS_QUIRKS&&(e.style.height="60px");mxUtils.write(e,d);b.appendChild(e);e=document.createElement("div");e.style.textAlign="center";e.style.whiteSpace="nowrap";var l=document.createElement("input");l.setAttribute("type","checkbox"); +h=mxUtils.button(h||mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c(l.checked)});h.className="geBtn";null!=n&&(h.innerHTML=n+"<br>"+h.innerHTML,h.style.paddingBottom="8px",h.style.paddingTop="8px",h.style.height="auto",h.style.width="40%");a.editor.cancelFirst&&e.appendChild(h);g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f(l.checked)});e.appendChild(g);null!=m?(g.innerHTML=m+"<br>"+g.innerHTML+"<br>",g.style.paddingBottom="8px",g.style.paddingTop="8px", g.style.height="auto",g.className="geBtn",g.style.width="40%"):g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||e.appendChild(h);b.appendChild(e);p?(e.style.marginTop="10px",e=document.createElement("p"),e.style.marginTop="20px",e.appendChild(l),m=document.createElement("span"),mxUtils.write(m," "+mxResources.get("rememberThisSetting")),e.appendChild(m),b.appendChild(e),mxEvent.addListener(m,"click",function(b){l.checked=!l.checked;mxEvent.consume(b)})):e.style.marginTop="16px";this.container= -b},ErrorDialog=function(a,f,d,c,g,h,m,n,p,b,e){p=null!=p?p:!0;var l=document.createElement("div");l.style.textAlign="center";if(null!=f){var u=document.createElement("div");u.style.padding="0px";u.style.margin="0px";u.style.fontSize="18px";u.style.paddingBottom="16px";u.style.marginBottom="16px";u.style.borderBottom="1px solid #c0c0c0";u.style.color="gray";mxUtils.write(u,f);l.appendChild(u)}f=document.createElement("div");f.style.padding="6px";f.innerHTML=d;l.appendChild(f);d=document.createElement("div"); -d.style.marginTop="16px";d.style.textAlign="center";null!=h&&(f=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();h()}),f.className="geBtn",d.appendChild(f),d.style.textAlign="center");null!=b&&(b=mxUtils.button(b,function(){null!=e&&e()}),b.className="geBtn",d.appendChild(b));var q=mxUtils.button(c,function(){p&&a.hideDialog();null!=g&&g()});q.className="geBtn";d.appendChild(q);null!=m&&(c=mxUtils.button(m,function(){p&&a.hideDialog();null!=n&&n()}),c.className="geBtn gePrimaryBtn", -d.appendChild(c));this.init=function(){q.focus()};l.appendChild(d);this.container=l},EmbedDialog=function(a,f,d,c,g){c=document.createElement("div");var h=/^https?:\/\//.test(f)||/^mailto:\/\//.test(f);mxUtils.write(c,mxResources.get(5E5>f.length?h?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var m=document.createElement("div");m.style.position="absolute";m.style.top="30px";m.style.right="30px";m.style.color="gray";mxUtils.write(m,a.formatFileSize(f.length));c.appendChild(m);var n=document.createElement("textarea"); -n.setAttribute("autocomplete","off");n.setAttribute("autocorrect","off");n.setAttribute("autocapitalize","off");n.setAttribute("spellcheck","false");n.style.marginTop="10px";n.style.resize="none";n.style.height="150px";n.style.width="440px";n.style.border="1px solid gray";n.value=mxResources.get("updatingDocument");c.appendChild(n);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>f.length?(n.value=f,n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? -n.select():document.execCommand("selectAll",!1,null)):(n.setAttribute("readonly","true"),n.value=f.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};m=document.createElement("div");m.style.position="absolute";m.style.bottom="36px";m.style.right="32px";var p=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!h||navigator.standalone||!(h||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(p=mxUtils.button(mxResources.get(5E5>f.length?"preview":"openInNewWindow"), -function(){var b=5E5>f.length?n.value:f;if(null!=g)g(b);else if(h)try{var e=a.openLink(b);null!=e&&(null==d||0<d)&&window.setTimeout(mxUtils.bind(this,function(){null!=e&&null!=e.location.href&&e.location.href.substring(0,8)!=b.substring(0,8)&&(e.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),d||500)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+ -'</title><meta charset="utf-8"></head><body>'+f+"</body></html>");c.close()}}),p.className="geBtn",m.appendChild(p));if(!h||7500<f.length){var b=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",f,"text/plain")});b.className="geBtn";m.appendChild(b)}if(h&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>f.length){var e=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(n.value);a.openLink(b)}catch(u){a.handleError({message:u.message|| -mxResources.get("drawingTooLarge")})}}),b=document.createElement("img");b.setAttribute("src",Editor.facebookImage);b.setAttribute("width","18");b.setAttribute("height","18");b.setAttribute("border","0");e.appendChild(b);e.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");e.style.verticalAlign="bottom";e.style.paddingTop="4px";e.style.minWidth="46px";e.className="geBtn";m.appendChild(e)}7168>f.length&&(e=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+ -encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(n.value);a.openLink(b)}catch(u){a.handleError({message:u.message||mxResources.get("drawingTooLarge")})}}),b=document.createElement("img"),b.setAttribute("src",Editor.tweetImage),b.setAttribute("width","18"),b.setAttribute("height","18"),b.setAttribute("border","0"),b.style.marginBottom="5px",e.appendChild(b),e.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),e.style.verticalAlign= -"bottom",e.style.paddingTop="4px",e.style.minWidth="46px",e.className="geBtn",m.appendChild(e))}b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.appendChild(b);e=mxUtils.button(mxResources.get("copy"),function(){n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>f.length?mxClient.IS_SF||null!=document.documentMode? +b},ErrorDialog=function(a,d,f,c,g,h,m,n,p,b,e){p=null!=p?p:!0;var l=document.createElement("div");l.style.textAlign="center";if(null!=d){var q=document.createElement("div");q.style.padding="0px";q.style.margin="0px";q.style.fontSize="18px";q.style.paddingBottom="16px";q.style.marginBottom="16px";q.style.borderBottom="1px solid #c0c0c0";q.style.color="gray";mxUtils.write(q,d);l.appendChild(q)}d=document.createElement("div");d.style.padding="6px";d.innerHTML=f;l.appendChild(d);f=document.createElement("div"); +f.style.marginTop="16px";f.style.textAlign="center";null!=h&&(d=mxUtils.button(mxResources.get("tryAgain"),function(){a.hideDialog();h()}),d.className="geBtn",f.appendChild(d),f.style.textAlign="center");null!=b&&(b=mxUtils.button(b,function(){null!=e&&e()}),b.className="geBtn",f.appendChild(b));var u=mxUtils.button(c,function(){p&&a.hideDialog();null!=g&&g()});u.className="geBtn";f.appendChild(u);null!=m&&(c=mxUtils.button(m,function(){p&&a.hideDialog();null!=n&&n()}),c.className="geBtn gePrimaryBtn", +f.appendChild(c));this.init=function(){u.focus()};l.appendChild(f);this.container=l},EmbedDialog=function(a,d,f,c,g){c=document.createElement("div");var h=/^https?:\/\//.test(d)||/^mailto:\/\//.test(d);mxUtils.write(c,mxResources.get(5E5>d.length?h?"link":"mainEmbedNotice":"preview")+":");mxUtils.br(c);var m=document.createElement("div");m.style.position="absolute";m.style.top="30px";m.style.right="30px";m.style.color="gray";mxUtils.write(m,a.formatFileSize(d.length));c.appendChild(m);var n=document.createElement("textarea"); +n.setAttribute("autocomplete","off");n.setAttribute("autocorrect","off");n.setAttribute("autocapitalize","off");n.setAttribute("spellcheck","false");n.style.marginTop="10px";n.style.resize="none";n.style.height="150px";n.style.width="440px";n.style.border="1px solid gray";n.value=mxResources.get("updatingDocument");c.appendChild(n);mxUtils.br(c);this.init=function(){window.setTimeout(function(){5E5>d.length?(n.value=d,n.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? +n.select():document.execCommand("selectAll",!1,null)):(n.setAttribute("readonly","true"),n.value=d.substring(0,340)+"... ("+mxResources.get("drawingTooLarge")+")")},0)};m=document.createElement("div");m.style.position="absolute";m.style.bottom="36px";m.style.right="32px";var p=null;!EmbedDialog.showPreviewOption||mxClient.IS_CHROMEAPP&&!h||navigator.standalone||!(h||mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode))||(p=mxUtils.button(mxResources.get(5E5>d.length?"preview":"openInNewWindow"), +function(){var b=5E5>d.length?n.value:d;if(null!=g)g(b);else if(h)try{var e=a.openLink(b);null!=e&&(null==f||0<f)&&window.setTimeout(mxUtils.bind(this,function(){null!=e&&null!=e.location.href&&e.location.href.substring(0,8)!=b.substring(0,8)&&(e.close(),a.handleError({message:mxResources.get("drawingTooLarge")}))}),f||500)}catch(t){a.handleError({message:t.message||mxResources.get("drawingTooLarge")})}else{var c=window.open().document;c.writeln("<html><head><title>"+encodeURIComponent(mxResources.get("preview"))+ +'</title><meta charset="utf-8"></head><body>'+d+"</body></html>");c.close()}}),p.className="geBtn",m.appendChild(p));if(!h||7500<d.length){var b=mxUtils.button(mxResources.get("download"),function(){a.hideDialog();a.saveData("embed.txt","txt",d,"text/plain")});b.className="geBtn";m.appendChild(b)}if(h&&(!a.isOffline()||mxClient.IS_CHROMEAPP)){if(51200>d.length){var e=mxUtils.button("",function(){try{var b="https://www.facebook.com/sharer.php?p[url]="+encodeURIComponent(n.value);a.openLink(b)}catch(q){a.handleError({message:q.message|| +mxResources.get("drawingTooLarge")})}}),b=document.createElement("img");b.setAttribute("src",Editor.facebookImage);b.setAttribute("width","18");b.setAttribute("height","18");b.setAttribute("border","0");e.appendChild(b);e.setAttribute("title",mxResources.get("facebook")+" ("+a.formatFileSize(51200)+" max)");e.style.verticalAlign="bottom";e.style.paddingTop="4px";e.style.minWidth="46px";e.className="geBtn";m.appendChild(e)}7168>d.length&&(e=mxUtils.button("",function(){try{var b="https://twitter.com/intent/tweet?text="+ +encodeURIComponent("Check out the diagram I made using @drawio")+"&url="+encodeURIComponent(n.value);a.openLink(b)}catch(q){a.handleError({message:q.message||mxResources.get("drawingTooLarge")})}}),b=document.createElement("img"),b.setAttribute("src",Editor.tweetImage),b.setAttribute("width","18"),b.setAttribute("height","18"),b.setAttribute("border","0"),b.style.marginBottom="5px",e.appendChild(b),e.setAttribute("title",mxResources.get("twitter")+" ("+a.formatFileSize(7168)+" max)"),e.style.verticalAlign= +"bottom",e.style.paddingTop="4px",e.style.minWidth="46px",e.className="geBtn",m.appendChild(e))}b=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.appendChild(b);e=mxUtils.button(mxResources.get("copy"),function(){n.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?n.select():document.execCommand("selectAll",!1,null);document.execCommand("copy");a.alert(mxResources.get("copiedToClipboard"))});5E5>d.length?mxClient.IS_SF||null!=document.documentMode? b.className="geBtn gePrimaryBtn":(m.appendChild(e),e.className="geBtn gePrimaryBtn",b.className="geBtn"):(m.appendChild(p),b.className="geBtn",p.className="geBtn gePrimaryBtn");c.appendChild(m);this.container=c};EmbedDialog.showPreviewOption=!0; -var GoogleSitesDialog=function(a,f){function d(){var a=null!=y.getTitle()?y.getTitle():this.defaultFilename;if(F.checked&&""!=u.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(u.value));null!=a&&(c+="&title="+encodeURIComponent(a));0<C.length&&(c+="&s="+C);""!=q.value&&"0"!=q.value&&(c+="&border="+q.value);""!=l.value&&(c+="&height="+l.value);c+="&pan="+(t.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+ -(k.checked?"1":"0");c+="&x0="+Number(e.value);c+="&y0="+p;g.mathEnabled&&(c+="&math=1");B.checked?c+="&edit=_blank":x.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));b.value=c}else y.constructor==DriveFile||y.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=u.value?c+=encodeURIComponent(mxUtils.htmlEntities(u.value))+"&type=3":(c+=y.getHash().substring(1),c=y.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=a&&(c+="&title="+ +var GoogleSitesDialog=function(a,d){function f(){var a=null!=y.getTitle()?y.getTitle():this.defaultFilename;if(F.checked&&""!=q.value){var c="https://www.draw.io/gadget.xml?type=4&diagram="+encodeURIComponent(mxUtils.htmlEntities(q.value));null!=a&&(c+="&title="+encodeURIComponent(a));0<C.length&&(c+="&s="+C);""!=u.value&&"0"!=u.value&&(c+="&border="+u.value);""!=l.value&&(c+="&height="+l.value);c+="&pan="+(t.checked?"1":"0");c+="&zoom="+(w.checked?"1":"0");c+="&fit="+(v.checked?"1":"0");c+="&resize="+ +(k.checked?"1":"0");c+="&x0="+Number(e.value);c+="&y0="+p;g.mathEnabled&&(c+="&math=1");A.checked?c+="&edit=_blank":x.checked&&(c+="&edit="+encodeURIComponent(mxUtils.htmlEntities(window.location.href)));b.value=c}else y.constructor==DriveFile||y.constructor==DropboxFile?(c="https://www.draw.io/gadget.xml?embed=0&diagram=",""!=q.value?c+=encodeURIComponent(mxUtils.htmlEntities(q.value))+"&type=3":(c+=y.getHash().substring(1),c=y.constructor==DropboxFile?c+"&type=2":c+"&type=1"),null!=a&&(c+="&title="+ encodeURIComponent(a)),""!=l.value&&(a=parseInt(l.value)+parseInt(e.value),c+="&height="+a),b.value=c):b.value=""}var c=document.createElement("div"),g=a.editor.graph,h=g.getGraphBounds(),m=g.view.scale,n=Math.floor(h.x/m-g.view.translate.x),p=Math.floor(h.y/m-g.view.translate.y);mxUtils.write(c,mxResources.get("googleGadget")+":");mxUtils.br(c);var b=document.createElement("input");b.setAttribute("type","text");b.style.marginBottom="8px";b.style.marginTop="2px";b.style.width="410px";c.appendChild(b); mxUtils.br(c);this.init=function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)};mxUtils.write(c,mxResources.get("top")+":");var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size","4");e.style.marginRight="16px";e.style.marginLeft="4px";e.value=n;c.appendChild(e);mxUtils.write(c,mxResources.get("height")+":");var l=document.createElement("input");l.setAttribute("type", -"text");l.setAttribute("size","4");l.style.marginLeft="4px";l.value=Math.ceil(h.height/m);c.appendChild(l);mxUtils.br(c);h=document.createElement("hr");h.setAttribute("size","1");h.style.marginBottom="16px";h.style.marginTop="16px";c.appendChild(h);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","28");u.style.marginBottom="8px";u.style.marginTop="2px";u.style.width="410px";u.value=f||""; -c.appendChild(u);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","3");q.style.marginBottom="8px";q.style.marginLeft="4px";q.value="0";c.appendChild(q);mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";c.appendChild(t);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input"); -w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var B=document.createElement("input");B.setAttribute("type","checkbox");B.style.marginLeft="8px";c.appendChild(B);mxUtils.write(c, +"text");l.setAttribute("size","4");l.style.marginLeft="4px";l.value=Math.ceil(h.height/m);c.appendChild(l);mxUtils.br(c);h=document.createElement("hr");h.setAttribute("size","1");h.style.marginBottom="16px";h.style.marginTop="16px";c.appendChild(h);mxUtils.write(c,mxResources.get("publicDiagramUrl")+":");mxUtils.br(c);var q=document.createElement("input");q.setAttribute("type","text");q.setAttribute("size","28");q.style.marginBottom="8px";q.style.marginTop="2px";q.style.width="410px";q.value=d||""; +c.appendChild(q);mxUtils.br(c);mxUtils.write(c,mxResources.get("borderWidth")+":");var u=document.createElement("input");u.setAttribute("type","text");u.setAttribute("size","3");u.style.marginBottom="8px";u.style.marginLeft="4px";u.value="0";c.appendChild(u);mxUtils.br(c);var t=document.createElement("input");t.setAttribute("type","checkbox");t.setAttribute("checked","checked");t.defaultChecked=!0;t.style.marginLeft="16px";c.appendChild(t);mxUtils.write(c,mxResources.get("pan")+" ");var w=document.createElement("input"); +w.setAttribute("type","checkbox");w.setAttribute("checked","checked");w.defaultChecked=!0;w.style.marginLeft="8px";c.appendChild(w);mxUtils.write(c,mxResources.get("zoom")+" ");var x=document.createElement("input");x.setAttribute("type","checkbox");x.style.marginLeft="8px";x.setAttribute("title",window.location.href);c.appendChild(x);mxUtils.write(c,mxResources.get("edit")+" ");var A=document.createElement("input");A.setAttribute("type","checkbox");A.style.marginLeft="8px";c.appendChild(A);mxUtils.write(c, mxResources.get("asNew")+" ");mxUtils.br(c);var k=document.createElement("input");k.setAttribute("type","checkbox");k.setAttribute("checked","checked");k.defaultChecked=!0;k.style.marginLeft="16px";c.appendChild(k);mxUtils.write(c,mxResources.get("resize")+" ");var v=document.createElement("input");v.setAttribute("type","checkbox");v.style.marginLeft="8px";c.appendChild(v);mxUtils.write(c,mxResources.get("fit")+" ");var F=document.createElement("input");F.setAttribute("type","checkbox");F.style.marginLeft= -"8px";c.appendChild(F);mxUtils.write(c,mxResources.get("embed")+" ");var C=a.getBasenames().join(";"),y=a.getCurrentFile();mxEvent.addListener(t,"change",d);mxEvent.addListener(w,"change",d);mxEvent.addListener(k,"change",d);mxEvent.addListener(v,"change",d);mxEvent.addListener(x,"change",d);mxEvent.addListener(B,"change",d);mxEvent.addListener(F,"change",d);mxEvent.addListener(l,"change",d);mxEvent.addListener(e,"change",d);mxEvent.addListener(q,"change",d);mxEvent.addListener(u,"change",d);d(); -mxEvent.addListener(b,"click",function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)});h=document.createElement("div");h.style.paddingTop="12px";h.style.textAlign="right";m=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.className="geBtn gePrimaryBtn";h.appendChild(m);c.appendChild(h);this.container=c},CreateGraphDialog=function(a,f,d){var c=document.createElement("div");c.style.textAlign= -"right";this.init=function(){var f=document.createElement("div");f.style.position="relative";f.style.border="1px solid gray";f.style.width="100%";f.style.height="360px";f.style.overflow="hidden";f.style.marginBottom="16px";mxEvent.disableContextMenu(f);c.appendChild(f);var h=new Graph(f);h.setCellsCloneable(!0);h.setPanning(!0);h.setAllowDanglingEdges(!1);h.connectionHandler.select=!1;h.view.setTranslate(20,20);h.border=20;h.panningHandler.useLeftButtonForPanning=!0;var m="curved=1;";h.cellRenderer.installCellOverlayListeners= -function(b,a,e){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(e.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(e){a.fireEvent(new mxEventObject("pointerdown","event",e,"state",b))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(e.node,"touchstart",function(e){a.fireEvent(new mxEventObject("pointerdown","event",e,"state",b))})};h.getAllConnectionConstraints=function(){return null};h.connectionHandler.marker.highlight.keepOnTop= -!1;h.connectionHandler.createEdgeState=function(b){b=h.createEdge(null,null,null,null,null,m);return new mxCellState(this.graph.view,b,this.graph.getCellStyle(b))};var n=h.getDefaultParent(),p=mxUtils.bind(this,function(b){var a=new mxCellOverlay(this.connectImage,"Add outgoing");a.cursor="hand";a.addListener(mxEvent.CLICK,function(a,e){h.connectionHandler.reset();h.clearSelection();var k=h.getCellGeometry(b),c;l(function(){c=h.insertVertex(n,null,"Entry",k.x,k.y,80,30,"rounded=1;");p(c);h.view.refresh(c); +"8px";c.appendChild(F);mxUtils.write(c,mxResources.get("embed")+" ");var C=a.getBasenames().join(";"),y=a.getCurrentFile();mxEvent.addListener(t,"change",f);mxEvent.addListener(w,"change",f);mxEvent.addListener(k,"change",f);mxEvent.addListener(v,"change",f);mxEvent.addListener(x,"change",f);mxEvent.addListener(A,"change",f);mxEvent.addListener(F,"change",f);mxEvent.addListener(l,"change",f);mxEvent.addListener(e,"change",f);mxEvent.addListener(u,"change",f);mxEvent.addListener(q,"change",f);f(); +mxEvent.addListener(b,"click",function(){b.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?b.select():document.execCommand("selectAll",!1,null)});h=document.createElement("div");h.style.paddingTop="12px";h.style.textAlign="right";m=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});m.className="geBtn gePrimaryBtn";h.appendChild(m);c.appendChild(h);this.container=c},CreateGraphDialog=function(a,d,f){var c=document.createElement("div");c.style.textAlign= +"right";this.init=function(){var d=document.createElement("div");d.style.position="relative";d.style.border="1px solid gray";d.style.width="100%";d.style.height="360px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);c.appendChild(d);var h=new Graph(d);h.setCellsCloneable(!0);h.setPanning(!0);h.setAllowDanglingEdges(!1);h.connectionHandler.select=!1;h.view.setTranslate(20,20);h.border=20;h.panningHandler.useLeftButtonForPanning=!0;var m="curved=1;";h.cellRenderer.installCellOverlayListeners= +function(b,a,e){mxCellRenderer.prototype.installCellOverlayListeners.apply(this,arguments);mxEvent.addListener(e.node,mxClient.IS_POINTER?"pointerdown":"mousedown",function(k){a.fireEvent(new mxEventObject("pointerdown","event",k,"state",b))});!mxClient.IS_POINTER&&mxClient.IS_TOUCH&&mxEvent.addListener(e.node,"touchstart",function(k){a.fireEvent(new mxEventObject("pointerdown","event",k,"state",b))})};h.getAllConnectionConstraints=function(){return null};h.connectionHandler.marker.highlight.keepOnTop= +!1;h.connectionHandler.createEdgeState=function(b){b=h.createEdge(null,null,null,null,null,m);return new mxCellState(this.graph.view,b,this.graph.getCellStyle(b))};var n=h.getDefaultParent(),p=mxUtils.bind(this,function(b){var a=new mxCellOverlay(this.connectImage,"Add outgoing");a.cursor="hand";a.addListener(mxEvent.CLICK,function(a,k){h.connectionHandler.reset();h.clearSelection();var e=h.getCellGeometry(b),c;l(function(){c=h.insertVertex(n,null,"Entry",e.x,e.y,80,30,"rounded=1;");p(c);h.view.refresh(c); h.insertEdge(n,null,"",b,c,m)},function(){h.scrollCellToVisible(c)})});a.addListener("pointerdown",function(b,a){var e=a.getProperty("event"),k=a.getProperty("state");h.popupMenuHandler.hideMenu();h.stopEditing(!1);var c=mxUtils.convertPoint(h.container,mxEvent.getClientX(e),mxEvent.getClientY(e));h.connectionHandler.start(k,c.x,c.y);h.isMouseDown=!0;h.isMouseTrigger=mxEvent.isMouseEvent(e);mxEvent.consume(e)});h.addCellOverlay(b,a)});h.getModel().beginUpdate();var b;try{b=h.insertVertex(n,null,"Start", -0,0,80,30,"ellipse"),p(b)}finally{h.getModel().endUpdate()}var e;"horizontalTree"==d?(e=new mxCompactTreeLayout(h),e.edgeRouting=!1,e.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==d?(e=new mxCompactTreeLayout(h,!1),e.edgeRouting=!1,e.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==d?(e=new mxRadialTreeLayout(h,!1),e.edgeRouting=!1,e.levelDistance=80):"verticalFlow"==d?e=new mxHierarchicalLayout(h,mxConstants.DIRECTION_NORTH):"horizontalFlow"== -d?e=new mxHierarchicalLayout(h,mxConstants.DIRECTION_WEST):"organic"==d?(e=new mxFastOrganicLayout(h,!1),e.forceConstant=80):"circle"==d&&(e=new mxCircleLayout(h));if(null!=e){var l=function(a,c){h.getModel().beginUpdate();try{null!=a&&a(),e.execute(h.getDefaultParent(),b)}catch(k){throw k;}finally{var l=new mxMorphing(h);l.addListener(mxEvent.DONE,mxUtils.bind(this,function(){h.getModel().endUpdate();null!=c&&c()}));l.startAnimation()}},u=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect= -function(b,a,e,k,c){u.apply(this,arguments);l()};h.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);l()};h.connectionHandler.addListener(mxEvent.CONNECT,function(){l()})}var q=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=f.parentNode&&(h.destroy(),f.parentNode.removeChild(f));a.hideDialog()})});q.className="geBtn";a.editor.cancelFirst&&c.appendChild(q);var t=mxUtils.button(mxResources.get("insert"),function(){h.clearCellOverlays(); -var b=a.editor.graph.getFreeInsertPoint(),b=a.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),b.x,b.y),e=a.editor.graph.view,c=e.getBounds(b);c.x-=e.translate.x;c.y-=e.translate.y;a.editor.graph.scrollRectToVisible(c);a.editor.graph.setSelectionCells(b);null!=f.parentNode&&(h.destroy(),f.parentNode.removeChild(f));a.hideDialog()});c.appendChild(t);t.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(q)};this.container=c}; +0,0,80,30,"ellipse"),p(b)}finally{h.getModel().endUpdate()}var e;"horizontalTree"==f?(e=new mxCompactTreeLayout(h),e.edgeRouting=!1,e.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=horizontal;"):"verticalTree"==f?(e=new mxCompactTreeLayout(h,!1),e.edgeRouting=!1,e.levelDistance=30,m="edgeStyle=elbowEdgeStyle;elbow=vertical;"):"radialTree"==f?(e=new mxRadialTreeLayout(h,!1),e.edgeRouting=!1,e.levelDistance=80):"verticalFlow"==f?e=new mxHierarchicalLayout(h,mxConstants.DIRECTION_NORTH):"horizontalFlow"== +f?e=new mxHierarchicalLayout(h,mxConstants.DIRECTION_WEST):"organic"==f?(e=new mxFastOrganicLayout(h,!1),e.forceConstant=80):"circle"==f&&(e=new mxCircleLayout(h));if(null!=e){var l=function(a,c){h.getModel().beginUpdate();try{null!=a&&a(),e.execute(h.getDefaultParent(),b)}catch(k){throw k;}finally{var l=new mxMorphing(h);l.addListener(mxEvent.DONE,mxUtils.bind(this,function(){h.getModel().endUpdate();null!=c&&c()}));l.startAnimation()}},q=mxEdgeHandler.prototype.connect;mxEdgeHandler.prototype.connect= +function(b,a,e,k,c){q.apply(this,arguments);l()};h.resizeCell=function(){mxGraph.prototype.resizeCell.apply(this,arguments);l()};h.connectionHandler.addListener(mxEvent.CONNECT,function(){l()})}var u=mxUtils.button(mxResources.get("close"),function(){a.confirm(mxResources.get("areYouSure"),function(){null!=d.parentNode&&(h.destroy(),d.parentNode.removeChild(d));a.hideDialog()})});u.className="geBtn";a.editor.cancelFirst&&c.appendChild(u);var t=mxUtils.button(mxResources.get("insert"),function(){h.clearCellOverlays(); +var b=a.editor.graph.getFreeInsertPoint(),b=a.editor.graph.importCells(h.getModel().getChildren(h.getDefaultParent()),b.x,b.y),e=a.editor.graph.view,c=e.getBounds(b);c.x-=e.translate.x;c.y-=e.translate.y;a.editor.graph.scrollRectToVisible(c);a.editor.graph.setSelectionCells(b);null!=d.parentNode&&(h.destroy(),d.parentNode.removeChild(d));a.hideDialog()});c.appendChild(t);t.className="geBtn gePrimaryBtn";a.editor.cancelFirst||c.appendChild(u)};this.container=c}; CreateGraphDialog.prototype.connectImage=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjQ3OTk0QjMyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjQ3OTk0QjQyRDcyMTFFNThGQThGNDVBMjNBMjFDMzkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoyRjA0N0I2MjJENzExMUU1OEZBOEY0NUEyM0EyMUMzOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDc5OTRCMjJENzIxMUU1OEZBOEY0NUEyM0EyMUMzOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjIf+MgAAATlSURBVHjanFZraFxFFD735u4ru3ls0yZG26ShgmJoKK1J2vhIYzBgRdtIURHyw1hQUH9IxIgI2h8iCEUF/1RRlNQYCsYfCTHVhiTtNolpZCEStqSC22xIsrs1bDfu7t37Gs/cO3Ozxs1DBw73zpk555vzmHNGgJ0NYatFgmNLYUHYUoHASMz5ijmgVLmxgfKCUiBxC4ACJAeSG8nb1dVVOTc3dyoSibwWDofPBIPBJzo7O8vpGtvjpDICGztxkciECpF2LS0tvZtOpwNkk5FKpcYXFxffwL1+JuPgllPj8nk1F6RoaGjoKCqZ5ApljZDZO4SMRA0SuG2QUJIQRV8HxMOM9vf3H0ZZH9Nhg20MMl2QkFwjIyNHWlpahtADnuUMwLcRHX5aNSBjCJYEsSSLUeLEbhGe3ytCmQtA1/XY+Pj46dbW1iDuyCJp9BC5ycBj4hoeHq5ra2sbw0Xn1ZgBZ+dVkA1Lc+6p0Ck2p0QS4Ox9EhwpEylYcmBg4LH29vYQLilIOt0u5FhDfevNZDI/u93uw6PLOrwTUtjxrbPYbhD42WgMrF8JmR894ICmCgnQjVe8Xu8pXEkzMJKbuo5oNPomBbm1ZsD7s2kwFA1JZ6QBUXWT1nmGNc/qoMgavDcrQzxjQGFh4aOYIJ0sFAXcEtui4uLiVjr5KpSBVFYDDZVrWUaKRRWSAYeK0fmKykgDXbVoNaPChRuyqdDv97czL5nXxQbq6empQmsaklkDBiNpSwFVrmr2P6UyicD5piI4f8wHh0oEm8/p4h8pyGiEWvVQd3e3nxtjAzU1NR2jP7NRBWQ8GbdEzzJAmc0V3RR4cI8Dvmwuhc8fKUFA0d6/ltHg5p+Kuaejo6OeY0jcNJ/PV00ZS0nFUoZRvvFS1bZFsKHCCQ2Pl8H0chY+C96B6ZUsrCQ1qKtwQVFRURW/QhIXMAzDPAZ6BgOr8tTa8dDxCmiYGApaJbJMxSzV+brE8pdgWkcpY5dbMF1AR9XH8/xu2ilef48bvn92n82ZwHh+8ssqTEXS9p7dHisiiURikd8PbpExNTU1UVNTA3V3Y7lC16n0gpB/NwpNcZjfa7dScC4Qh0kOQCwnlEgi3F/hMVl9fX0zvKrzSk2lfXjRhj0eT/2rvWG4+Pta3oJY7XfC3hInXAv/ldeFLx8shQ+eqQL0UAAz7ylkpej5eNZRVBWL6BU6ef14OYiY1oqyTtmsavr/5koaRucT1pzx+ZpL1+GV5nLutksUgIcmtwTRiuuVZXnU5XId7A2swJkfFsymRWC91hHg1Viw6x23+7vn9sPJ+j20BE1hCXqSWaNSQ8ScbknRZWxub1PGCw/fBV+c3AeijlUbY5bBjEqr9GuYZP4jP41WudGSC6erTRCqdGZm5i1WvXWeDHnbBCZGc2Nj4wBl/hZOwrmBBfgmlID1HmGJutHaF+tKoevp/XCgstDkjo2NtWKLuc6AVN4mNjY+s1XQxoenOoFuDPHGtnRbJj9ej5GvL0dI7+giuRyMk1giazc+DP6vgUDgOJVlOv7R+PJ12QIeL6SyeDz+Kfp8ZrNWjgDTsVjsQ7qXyTjztXJhm9ePxFLfMTg4eG9tbe1RTP9KFFYQfHliYmIS69kCC7jKYmKwxxD5P88tkVkqbPPcIps9t4T/+HjcuJ/s5BFJgf4WYABCtxGuxIZ90gAAAABJRU5ErkJggg==": IMAGE_PATH+"/handle-connect.png",26,26); -var BackgroundImageDialog=function(a,f){var d=document.createElement("div");d.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";d.appendChild(c);mxUtils.write(d,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(d);var c=a.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value= -null!=c?c.src:"";var h=!1,m=function(){h||""==g.value||a.isOffline()?(n.value="",p.value=""):a.loadImage(mxUtils.trim(g.value),function(b){n.value=b.width;p.value=b.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";n.value="";p.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=d.parentNode,e=null;mxEvent.addListener(b,"dragleave",function(b){null!= +var BackgroundImageDialog=function(a,d){var f=document.createElement("div");f.style.whiteSpace="nowrap";var c=document.createElement("h2");mxUtils.write(c,mxResources.get("backgroundImage"));c.style.marginTop="0px";f.appendChild(c);mxUtils.write(f,mxResources.get("image")+" "+mxResources.get("url")+":");mxUtils.br(f);var c=a.editor.graph.backgroundImage,g=document.createElement("input");g.setAttribute("type","text");g.style.marginTop="4px";g.style.marginBottom="4px";g.style.width="350px";g.value= +null!=c?c.src:"";var h=!1,m=function(){h||""==g.value||a.isOffline()?(n.value="",p.value=""):a.loadImage(mxUtils.trim(g.value),function(b){n.value=b.width;p.value=b.height},function(){a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"));g.value="";n.value="";p.value=""})};this.init=function(){g.focus();if(Graph.fileSupport){g.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=f.parentNode,e=null;mxEvent.addListener(b,"dragleave",function(b){null!= e&&(e.parentNode.removeChild(e),e=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(c){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=a.highlightElement(b));c.stopPropagation();c.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxBackgroundSize,function(b,a,e,k,c,l){g.value=b;m()},function(){}, -function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(g.value=decodeURIComponent(c),m())}b.stopPropagation();b.preventDefault()}),!1)}};d.appendChild(g);mxUtils.br(d);mxUtils.br(d);mxUtils.write(d,mxResources.get("width")+":");var n=document.createElement("input"); -n.setAttribute("type","text");n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="16px";n.value=null!=c?c.width:"";d.appendChild(n);mxUtils.write(d,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.height:"";d.appendChild(p);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";n.value="";p.value="";h=!1});mxEvent.addListener(c,"mousedown", -function(){h=!0});mxEvent.addListener(c,"touchstart",function(){h=!0});c.className="geBtn";c.width="100";d.appendChild(c);mxUtils.br(d);mxEvent.addListener(g,"change",m);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(g.value=b.url,m()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}); +function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0,a.maxBackgroundBytes,a.maxBackgroundBytes);else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)&&(g.value=decodeURIComponent(c),m())}b.stopPropagation();b.preventDefault()}),!1)}};f.appendChild(g);mxUtils.br(f);mxUtils.br(f);mxUtils.write(f,mxResources.get("width")+":");var n=document.createElement("input"); +n.setAttribute("type","text");n.style.width="60px";n.style.marginLeft="4px";n.style.marginRight="16px";n.value=null!=c?c.width:"";f.appendChild(n);mxUtils.write(f,mxResources.get("height")+":");var p=document.createElement("input");p.setAttribute("type","text");p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight="16px";p.value=null!=c?c.height:"";f.appendChild(p);c=mxUtils.button(mxResources.get("reset"),function(){g.value="";n.value="";p.value="";h=!1});mxEvent.addListener(c,"mousedown", +function(){h=!0});mxEvent.addListener(c,"touchstart",function(){h=!0});c.className="geBtn";c.width="100";f.appendChild(c);mxUtils.br(f);mxEvent.addListener(g,"change",m);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(g.value=b.url,m()));g.focus()};c=document.createElement("div");c.style.marginTop="40px";c.style.textAlign="right";var b=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}); b.className="geBtn";a.editor.cancelFirst&&c.appendChild(b);if(!a.isOffline()&&"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top){var e=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN);a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)}); e.className="geBtn";c.appendChild(e);null!=a.drive&&"1"==urlParams.photos&&(e=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),e.className="geBtn",c.appendChild(e))}e=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();f(""!=g.value?new mxImage(mxUtils.trim(g.value),n.value,p.value):null)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(b);d.appendChild(c);this.container=d},ParseDialog=function(a,f,d){function c(b,e){var c=b.split("\n");if("plantUmlPng"==e||"plantUmlSvg"== -e||"plantUmlTxt"==e){var c="plantUmlTxt"==e?PLANT_URL+"/txt/":"plantUmlPng"==e?PLANT_URL+"/png/":PLANT_URL+"/svg/",l=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var d=function(b){if(10>b)return String.fromCharCode(48+b);b-=10;if(26>b)return String.fromCharCode(65+b);b-=26;if(26>b)return String.fromCharCode(97+b);b-=26;return 0==b?"-":1==b?"_":"?"},q=function(b,a,e){c1=b>>2;c2=(b&3)<<4|a>>4;c3=(a&15)<<2|e>>6;c4=e&63;r="";r+=d(c1&63);r+=d(c2&63);r+=d(c3&63);return r+= -d(c4&63)},k=new XMLHttpRequest;k.open("GET",c+function(b){r="";for(g=0;g<b.length;g+=3)r=g+2==b.length?r+q(b.charCodeAt(g),b.charCodeAt(g+1),0):g+1==b.length?r+q(b.charCodeAt(g),0,0):r+q(b.charCodeAt(g),b.charCodeAt(g+1),b.charCodeAt(g+2));return r}(l.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=e&&(k.responseType="blob");k.onload=function(k){if(200<=this.status&&300>this.status)if("plantUmlTxt"==e){a.spinner.stop();l.getModel().beginUpdate();try{cell=l.insertVertex(null, -null,"<pre>"+this.response+"</pre>",h.x,h.y,1,1,"text;html=1;overflow=fill;"),l.updateCellSize(cell,!0)}finally{l.getModel().endUpdate()}l.setSelectionCell(cell);l.scrollCellToVisible(l.getSelectionCell())}else k=new FileReader,k.readAsDataURL(this.response),k.onload=function(e){var k=new Image;k.onload=function(){a.spinner.stop();var c=k.width,v=k.height;if(0==c&&0==v){var d=e.target.result,x=d.indexOf(","),d=decodeURIComponent(escape(atob(d.substring(x+1)))),d=mxUtils.parseXml(d).getElementsByTagName("svg"); -0<d.length&&(c=parseFloat(d[0].getAttribute("width")),v=parseFloat(d[0].getAttribute("height")))}l.getModel().beginUpdate();try{cell=l.insertVertex(null,null,b,h.x,h.y,c,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(e.target.result)+";")}finally{l.getModel().endUpdate()}l.setSelectionCell(cell);l.scrollCellToVisible(l.getSelectionCell())};k.src=e.target.result},k.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(k)};k.onerror= -function(b){a.handleError(b)};k.send()}}else if("table"==e){for(var v=null,f=[],u=0,g=0;g<c.length;g++)if(k=mxUtils.trim(c[g]),"create table"==k.substring(0,12).toLowerCase())k=mxUtils.trim(k.substring(12)),"("==k.charAt(k.length-1)&&(k=k.substring(0,k.lastIndexOf(" "))),v=new mxCell(k,new mxGeometry(u,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), -v.vertex=!0,f.push(v),k=a.editor.graph.getPreferredSizeForCell(n),null!=k&&(v.geometry.width=k.width+10);else if(null!=v&&")"==k.charAt(0))u+=v.geometry.width+40,v=null;else if("("!=k&&null!=v&&(k=k.substring(0,","==k.charAt(k.length-1)?k.length-1:k.length),"primary key"!=k.substring(0,11).toLowerCase())){var m=k.toLowerCase().indexOf("primary key"),k=k.replace(/primary key/i,""),n=new mxCell(k,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;"); -n.vertex=!0;k=sb.cloneCell(n,0<m?"PK":"");k.connectable=!1;k.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";k.geometry.width=30;k.geometry.height=26;n.insert(k);k=a.editor.graph.getPreferredSizeForCell(n);null!=k&&v.geometry.width<k.width+10&&(v.geometry.width=Math.min(220,k.width+10));v.insert(n);v.geometry.height+=26}0<f.length&&(l=a.editor.graph, -c=l.view,k=l.getGraphBounds(),l.setSelectionCells(l.importCells(f,Math.ceil(Math.max(0,k.x/c.scale-c.translate.x)+4*l.gridSize),Math.ceil(Math.max(0,(k.y+k.height)/c.scale-c.translate.y)+4*l.gridSize))),l.scrollCellToVisible(l.getSelectionCell()))}else if("list"==e){if(0<c.length){l=a.editor.graph;v=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;"); -v.vertex=!0;k=l.getPreferredSizeForCell(v);null!=k&&v.geometry.width<k.width+10&&(v.geometry.width=k.width+10);n=[v];if(1<c.length)for(g=1;g<c.length;g++)"--"==c[g]?(k=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),k.vertex=!0,v.geometry.height+=k.geometry.height,v.insert(k),n.push(k)):0<c[g].length&&";"!=c[g].charAt(0)&&(u=new mxCell(c[g], -new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),u.vertex=!0,k=l.getPreferredSizeForCell(u),null!=k&&u.geometry.width<k.width&&(u.geometry.width=k.width),v.geometry.width=Math.max(v.geometry.width,u.geometry.width),v.geometry.height+=u.geometry.height,v.insert(u),n.push(u));l.getModel().beginUpdate();try{v=l.importCells([v],h.x,h.y)[0],l.fireEvent(new mxEventObject("cellsInserted", -"cells",[v].concat(v.children)))}finally{l.getModel().endUpdate()}l.setSelectionCell(v);l.scrollCellToVisible(l.getSelectionCell())}}else{for(var n=function(b){var a=p[b];null==a&&(a=new mxCell(b,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),a.vertex=!0,p[b]=a,f.push(a));return a},p={},f=[],g=0;g<c.length;g++)if(";"!=c[g].charAt(0)){var I=c[g].split("->");2<=I.length&&(u=n(I[0]),m=n(I[I.length-1]),I=new mxCell(2<I.length?I[1]:"",new mxGeometry),I.edge=!0,u.insertEdge(I,!0),m.insertEdge(I,!1), -f.push(I))}if(0<f.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);l=new Graph(c);l.getModel().beginUpdate();try{f=l.importCells(f);for(g=0;g<f.length;g++)l.getModel().isVertex(f[g])&&(k=l.getPreferredSizeForCell(f[g]),f[g].geometry.width=Math.max(f[g].geometry.width,k.width),f[g].geometry.height=Math.max(f[g].geometry.height,k.height));v=new mxFastOrganicLayout(l);v.disableEdgeStyle=!1;v.forceConstant=120;v.execute(l.getDefaultParent())}finally{l.getModel().endUpdate()}l.clearCellOverlays(); -n=[];a.editor.graph.getModel().beginUpdate();try{n=a.editor.graph.importCells(l.getModel().getChildren(l.getDefaultParent()),h.x,h.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",n))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(n);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());l.destroy();c.parentNode.removeChild(c)}}}function g(){return"list"==n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean": +a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),e.className="geBtn",c.appendChild(e))}e=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d(""!=g.value?new mxImage(mxUtils.trim(g.value),n.value,p.value):null)});e.className="geBtn gePrimaryBtn";c.appendChild(e);a.editor.cancelFirst||c.appendChild(b);f.appendChild(c);this.container=f},ParseDialog=function(a,d,f){function c(b,e){var c=b.split("\n");if("plantUmlPng"==e||"plantUmlSvg"== +e||"plantUmlTxt"==e){var c="plantUmlTxt"==e?PLANT_URL+"/txt/":"plantUmlPng"==e?PLANT_URL+"/png/":PLANT_URL+"/svg/",l=a.editor.graph;if(a.spinner.spin(document.body,mxResources.get("inserting"))){var x=function(b){if(10>b)return String.fromCharCode(48+b);b-=10;if(26>b)return String.fromCharCode(65+b);b-=26;if(26>b)return String.fromCharCode(97+b);b-=26;return 0==b?"-":1==b?"_":"?"},f=function(b,a,e){c1=b>>2;c2=(b&3)<<4|a>>4;c3=(a&15)<<2|e>>6;c4=e&63;r="";r+=x(c1&63);r+=x(c2&63);r+=x(c3&63);return r+= +x(c4&63)},k=new XMLHttpRequest;k.open("GET",c+function(b){r="";for(q=0;q<b.length;q+=3)r=q+2==b.length?r+f(b.charCodeAt(q),b.charCodeAt(q+1),0):q+1==b.length?r+f(b.charCodeAt(q),0,0):r+f(b.charCodeAt(q),b.charCodeAt(q+1),b.charCodeAt(q+2));return r}(l.bytesToString(pako.deflateRaw(unescape(encodeURIComponent(b))))),!0);"plantUmlTxt"!=e&&(k.responseType="blob");k.onload=function(k){if(200<=this.status&&300>this.status)if("plantUmlTxt"==e){a.spinner.stop();l.getModel().beginUpdate();try{cell=l.insertVertex(null, +null,"<pre>"+this.response+"</pre>",h.x,h.y,1,1,"text;html=1;overflow=fill;"),l.updateCellSize(cell,!0)}finally{l.getModel().endUpdate()}l.setSelectionCell(cell);l.scrollCellToVisible(l.getSelectionCell())}else k=new FileReader,k.readAsDataURL(this.response),k.onload=function(e){var k=new Image;k.onload=function(){a.spinner.stop();var c=k.width,v=k.height;if(0==c&&0==v){var x=e.target.result,f=x.indexOf(","),x=decodeURIComponent(escape(atob(x.substring(f+1)))),x=mxUtils.parseXml(x).getElementsByTagName("svg"); +0<x.length&&(c=parseFloat(x[0].getAttribute("width")),v=parseFloat(x[0].getAttribute("height")))}l.getModel().beginUpdate();try{cell=l.insertVertex(null,null,b,h.x,h.y,c,v,"shape=image;noLabel=1;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a.convertDataUri(e.target.result)+";")}finally{l.getModel().endUpdate()}l.setSelectionCell(cell);l.scrollCellToVisible(l.getSelectionCell())};k.src=e.target.result},k.onerror=function(b){a.handleError(b)};else a.spinner.stop(),a.handleError(k)};k.onerror= +function(b){a.handleError(b)};k.send()}}else if("table"==e){for(var v=null,d=[],u=0,q=0;q<c.length;q++)if(k=mxUtils.trim(c[q]),"create table"==k.substring(0,12).toLowerCase())k=mxUtils.trim(k.substring(12)),"("==k.charAt(k.length-1)&&(k=k.substring(0,k.lastIndexOf(" "))),v=new mxCell(k,new mxGeometry(u,0,160,26),"swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=26;fillColor=#e0e0e0;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;align=center;"), +v.vertex=!0,d.push(v),k=a.editor.graph.getPreferredSizeForCell(m),null!=k&&(v.geometry.width=k.width+10);else if(null!=v&&")"==k.charAt(0))u+=v.geometry.width+40,v=null;else if("("!=k&&null!=v&&(k=k.substring(0,","==k.charAt(k.length-1)?k.length-1:k.length),"primary key"!=k.substring(0,11).toLowerCase())){var g=k.toLowerCase().indexOf("primary key"),k=k.replace(/primary key/i,""),m=new mxCell(k,new mxGeometry(0,0,90,26),"shape=partialRectangle;top=0;left=0;right=0;bottom=0;align=left;verticalAlign=top;spacingTop=-2;fillColor=none;spacingLeft=34;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;dropTarget=0;"); +m.vertex=!0;k=sb.cloneCell(m,0<g?"PK":"");k.connectable=!1;k.style="shape=partialRectangle;top=0;left=0;bottom=0;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[];portConstraint=eastwest;part=1;";k.geometry.width=30;k.geometry.height=26;m.insert(k);k=a.editor.graph.getPreferredSizeForCell(m);null!=k&&v.geometry.width<k.width+10&&(v.geometry.width=Math.min(220,k.width+10));v.insert(m);v.geometry.height+=26}0<d.length&&(l=a.editor.graph, +c=l.view,k=l.getGraphBounds(),l.setSelectionCells(l.importCells(d,Math.ceil(Math.max(0,k.x/c.scale-c.translate.x)+4*l.gridSize),Math.ceil(Math.max(0,(k.y+k.height)/c.scale-c.translate.y)+4*l.gridSize))),l.scrollCellToVisible(l.getSelectionCell()))}else if("list"==e){if(0<c.length){l=a.editor.graph;v=new mxCell(c[0],new mxGeometry(0,0,160,30),"swimlane;fontStyle=1;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;swimlaneFillColor=#ffffff;"); +v.vertex=!0;k=l.getPreferredSizeForCell(v);null!=k&&v.geometry.width<k.width+10&&(v.geometry.width=k.width+10);m=[v];if(1<c.length)for(q=1;q<c.length;q++)"--"==c[q]?(k=new mxCell("",new mxGeometry(0,0,40,8),"line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;"),k.vertex=!0,v.geometry.height+=k.geometry.height,v.insert(k),m.push(k)):0<c[q].length&&";"!=c[q].charAt(0)&&(u=new mxCell(c[q], +new mxGeometry(0,0,60,26),"text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;"),u.vertex=!0,k=l.getPreferredSizeForCell(u),null!=k&&u.geometry.width<k.width&&(u.geometry.width=k.width),v.geometry.width=Math.max(v.geometry.width,u.geometry.width),v.geometry.height+=u.geometry.height,v.insert(u),m.push(u));l.getModel().beginUpdate();try{v=l.importCells([v],h.x,h.y)[0],l.fireEvent(new mxEventObject("cellsInserted", +"cells",[v].concat(v.children)))}finally{l.getModel().endUpdate()}l.setSelectionCell(v);l.scrollCellToVisible(l.getSelectionCell())}}else{for(var m=function(b){var a=n[b];null==a&&(a=new mxCell(b,new mxGeometry(0,0,80,30),"whiteSpace=wrap;html=1;"),a.vertex=!0,n[b]=a,d.push(a));return a},n={},d=[],q=0;q<c.length;q++)if(";"!=c[q].charAt(0)){var p=c[q].split("->");2<=p.length&&(u=m(p[0]),g=m(p[p.length-1]),p=new mxCell(2<p.length?p[1]:"",new mxGeometry),p.edge=!0,u.insertEdge(p,!0),g.insertEdge(p,!1), +d.push(p))}if(0<d.length){c=document.createElement("div");c.style.visibility="hidden";document.body.appendChild(c);l=new Graph(c);l.getModel().beginUpdate();try{d=l.importCells(d);for(q=0;q<d.length;q++)l.getModel().isVertex(d[q])&&(k=l.getPreferredSizeForCell(d[q]),d[q].geometry.width=Math.max(d[q].geometry.width,k.width),d[q].geometry.height=Math.max(d[q].geometry.height,k.height));v=new mxFastOrganicLayout(l);v.disableEdgeStyle=!1;v.forceConstant=120;v.execute(l.getDefaultParent())}finally{l.getModel().endUpdate()}l.clearCellOverlays(); +m=[];a.editor.graph.getModel().beginUpdate();try{m=a.editor.graph.importCells(l.getModel().getChildren(l.getDefaultParent()),h.x,h.y),a.editor.graph.fireEvent(new mxEventObject("cellsInserted","cells",m))}finally{a.editor.graph.getModel().endUpdate()}a.editor.graph.setSelectionCells(m);a.editor.graph.scrollCellToVisible(a.editor.graph.getSelectionCell());l.destroy();c.parentNode.removeChild(c)}}}function g(){return"list"==n.value?"Person\n-name: String\n-birthDate: Date\n--\n+getName(): String\n+setName(String): void\n+isBirthday(): boolean": "table"==n.value?"CREATE TABLE Suppliers\n(\nsupplier_id int NOT NULL PRIMARY KEY,\nsupplier_name char(50) NOT NULL,\ncontact_name char(50),\n);\nCREATE TABLE Customers\n(\ncustomer_id int NOT NULL PRIMARY KEY,\ncustomer_name char(50) NOT NULL,\naddress char(50),\ncity char(50),\nstate char(25),\nzip_code char(10)\n);\n":"plantUmlPng"==n.value?"@startuml\nskinparam backgroundcolor transparent\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml": -"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var h=a.editor.graph.getFreeInsertPoint();f=document.createElement("div");f.style.textAlign="right";var m=document.createElement("textarea");m.style.resize="none";m.style.width="100%";m.style.height= -"354px";m.style.marginBottom="16px";var n=document.createElement("select");"formatSql"==d&&(n.style.display="none");var p=document.createElement("option");p.setAttribute("value","list");mxUtils.write(p,mxResources.get("list"));"plantUml"!=d&&n.appendChild(p);null!=d&&"fromText"!=d||p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value","table");mxUtils.write(p,mxResources.get("formatSql"));"formatSql"==d&&(n.appendChild(p),p.setAttribute("selected","selected")); -p=document.createElement("option");p.setAttribute("value","diagram");mxUtils.write(p,mxResources.get("diagram"));"plantUml"!=d&&n.appendChild(p);p=document.createElement("option");p.setAttribute("value","plantUmlSvg");mxUtils.write(p,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==d&&p.setAttribute("selected","selected");var b=document.createElement("option");b.setAttribute("value","plantUmlPng");mxUtils.write(b,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ -")");var e=document.createElement("option");e.setAttribute("value","plantUmlTxt");mxUtils.write(e,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==d&&(n.appendChild(p),n.appendChild(b),n.appendChild(e));var l=g();m.value=l;f.appendChild(m);this.init=function(){m.focus()};Graph.fileSupport&&(m.addEventListener("dragover",function(b){b.stopPropagation();b.preventDefault()},!1),m.addEventListener("drop",function(b){b.stopPropagation(); -b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var a=new FileReader;a.onload=function(b){m.value=b.target.result};a.readAsText(b)}},!1));f.appendChild(n);mxEvent.addListener(n,"change",function(){var b=g();if(0==m.value.length||m.value==l)l=b,m.value=l});d=mxUtils.button(mxResources.get("close"),function(){m.value==l?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});d.className="geBtn";a.editor.cancelFirst&&f.appendChild(d);p=mxUtils.button(mxResources.get("insert"), -function(){a.hideDialog();c(m.value,n.value)});f.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||f.appendChild(d);this.container=f},NewDialog=function(a,f,d,c,g,h,m,n,p,b,e,l,u,q,t){function w(){for(var b=!0;z<Q.length&&(b||0!=mxUtils.mod(z,30));)b=Q[z++],k(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick),b=!1}function x(){if(S)d||a.hideDialog(),q(S,O,L.value);else if(c)d||a.hideDialog(),c(Z,L.value);else{var b=L.value;null!=b&&0<b.length&& -a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(e){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,e)})}}function B(b,a,e,k,c){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");D.removeAttribute("disabled");Z=a;X=e;N=b;S=k;O=c;N.style.backgroundColor=n;N.style.border=p}function k(b,a,e,k,c,l,v,d){var q=document.createElement("div"); -q.className="geTemplate";q.style.height=R+"px";q.style.width=T+"px";null!=k&&0<k.length&&q.setAttribute("title",k);if(null!=l)q.style.backgroundImage="url("+l+")",q.style.backgroundSize="contain",q.style.backgroundPosition="center center",q.style.backgroundRepeat="no-repeat",mxEvent.addListener(q,"click",function(a){B(q,null,null,b,v)}),mxEvent.addListener(q,"dblclick",function(b){x()});else if(null!=b&&0<b.length){b.substring(0,b.length-4);q.style.backgroundImage="url("+TEMPLATE_PATH+"/"+b.substring(0, -b.length-4)+".png)";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";var f=!1;mxEvent.addListener(q,"click",function(e){D.setAttribute("disabled","disabled");q.style.backgroundColor="transparent";q.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+b,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(B(q,b.getText(),a),f&&x())}))});mxEvent.addListener(q,"dblclick",function(b){f=!0})}else q.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+ -mxResources.get(e)+"</td></tr></table>",c&&B(q),null!=d?mxEvent.addListener(q,"click",d):(mxEvent.addListener(q,"click",function(b){B(q)}),mxEvent.addListener(q,"dblclick",function(b){x()}));G.appendChild(q)}function v(){mxEvent.addListener(G,"scroll",function(b){G.scrollTop+G.clientHeight>=G.scrollHeight&&(w(),mxEvent.consume(b))});var a=null,e;for(e in V){var k=document.createElement("div"),c=mxResources.get(e),l=V[e];null==c&&(c=e.substring(0,1).toUpperCase()+e.substring(1));18<c.length&&(c=c.substring(0, -18)+"…");k.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";k.setAttribute("title",c+" ("+l.length+")");mxUtils.write(k,k.getAttribute("title"));null!=b&&(k.style.padding=b);W.appendChild(k);null==a&&(a=k,a.style.backgroundColor=m);(function(b,e){mxEvent.addListener(k,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=m,G.scrollTop=0,G.innerHTML="",z=0,Q=V[b],A=null,w())})})(e, -k)}w()}d=null!=d?d:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"#e6eff8";p=null!=p?p:"1px solid #ccd9ea";e=null!=e?e:TEMPLATE_PATH+"/index.xml";var F=document.createElement("div");F.style.height="100%";var C=document.createElement("div");C.style.whiteSpace="nowrap";C.style.height="46px";d&&F.appendChild(C);var y=document.createElement("img");y.setAttribute("border","0");y.setAttribute("align","absmiddle");y.style.width="40px";y.style.height="40px";y.style.marginRight="10px";y.style.paddingBottom= -"4px";y.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!f&&d&&C.appendChild(y);d&&mxUtils.write(C,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"): -mxResources.get("filename"))+":");y=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?y=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?y=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?y=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?y=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(y=a.trello.extension);var L=document.createElement("input");L.setAttribute("value",a.defaultFilename+y);L.style.marginRight="20px";L.style.marginLeft="10px";L.style.width= -f?"220px":"430px";this.init=function(){d&&(L.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?L.select():document.execCommand("selectAll",!1,null))};d&&C.appendChild(L);var C=!1,z=0,D=mxUtils.button(mxResources.get("create"),function(){D.setAttribute("disabled","disabled");x();D.removeAttribute("disabled")});D.className="geBtn gePrimaryBtn";if(l||u){var I=[],A=null,H=function(b){D.setAttribute("disabled","disabled");for(var a=0;a<I.length;a++)I[a].className=a== -b?"geBtn gePrimaryBtn":"geBtn"},C=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";F.appendChild(y);var E=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";G.style.left="160px";H(0);G.scrollTop=0;G.innerHTML="";z=0;A!=Q&&(Q=A,w(),A=null)});I.push(E);y.appendChild(E);var K=function(b){W.style.display="none";G.style.left="30px";H(b?-1:1);null==A&&(A=Q);G.scrollTop=0;G.innerHTML="";var a=new Spinner({lines:12,length:10,width:5, -radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});a.spin(G);z=0;var e=function(b,e){a.stop();Q=b;e?G.innerHTML=e:0==b.length?G.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(G.innerHTML="",w())};b?u(M.value,e):l(e)};l&&(E=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){K()}),y.appendChild(E),I.push(E));if(u){E=document.createElement("span");E.style.marginLeft="10px";E.innerHTML=mxResources.get("search")+":";y.appendChild(E); -var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(b){13==b.keyCode&&K(!0)});y.appendChild(M);E=mxUtils.button(mxResources.get("search"),function(){K(!0)});E.className="geBtn";y.appendChild(E)}H(0)}var X=null,Z=null,N=null,S=null,O=null,G=document.createElement("div");G.style.border="1px solid #d3d3d3";G.style.position="absolute";G.style.left="160px";G.style.right="34px";C=(d?72:40)+(C?30:0);G.style.top= -C+"px";G.style.bottom="68px";G.style.margin="6px 0 0 -1px";G.style.padding="6px";G.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+C+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},J=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!f){F.appendChild(W);F.appendChild(G);var P=!1;mxUtils.get(e,function(b){if(!P){P=!0;for(b=b.getXml().documentElement.firstChild;null!=b;){if("undefined"!== -typeof b.getAttribute){var a=b.getAttribute("url");if(null!=a){var e=a.indexOf("/"),a=a.substring(0,e),e=V[a];null==e&&(J++,e=[],V[a]=e);e.push({url:b.getAttribute("url"),libs:b.getAttribute("libs"),title:b.getAttribute("title"),tooltip:b.getAttribute("url")})}}b=b.nextSibling}v()}})}mxEvent.addListener(L,"keypress",function(b){13==b.keyCode&&x()});e=document.createElement("div");e.style.marginTop=f?"4px":"16px";e.style.textAlign="right";e.style.position="absolute";e.style.left="40px";e.style.bottom= -"24px";e.style.right="40px";C=mxUtils.button(mxResources.get("cancel"),function(){null!=h&&h();a.hideDialog(!0)});C.className="geBtn";!a.editor.cancelFirst||g&&null==h||e.appendChild(C);f||a.isOffline()||!d||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",e.appendChild(y));f||"1"==urlParams.embed||g||(f=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a, -"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(L.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),f.className="geBtn",e.appendChild(f));Graph.fileSupport&&t&&(t=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple", -"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(e){a.openFiles(b.files,!0)});b.click()}),t.className="geBtn",e.appendChild(t));e.appendChild(D);a.editor.cancelFirst||null!=c||g&&null==h||e.appendChild(C);F.appendChild(e);this.container=F},CreateDialog=function(a,f,d,c,g,h,m,n,p,b,e,l,u,q,t){function w(b,e,k,c){function d(){mxEvent.addListener(q,"click",function(){var b=k;if(m){var e=v.value,c=e.lastIndexOf(".");if(0>f.lastIndexOf(".")&&0>c){var b=null!=b?b:y.value, +"plantUmlSvg"==n.value||"plantUmlTxt"==n.value?"@startuml\nskinparam shadowing false\nAlice -> Bob: Authentication Request\nBob --\x3e Alice: Authentication Response\n\nAlice -> Bob: Another authentication Request\nAlice <-- Bob: another authentication Response\n@enduml":";Example:\na->b\nb->edge label->c\nc->a\n"}var h=a.editor.graph.getFreeInsertPoint();d=document.createElement("div");d.style.textAlign="right";var m=document.createElement("textarea");m.style.resize="none";m.style.width="100%";m.style.height= +"354px";m.style.marginBottom="16px";var n=document.createElement("select");"formatSql"==f&&(n.style.display="none");var p=document.createElement("option");p.setAttribute("value","list");mxUtils.write(p,mxResources.get("list"));"plantUml"!=f&&n.appendChild(p);null!=f&&"fromText"!=f||p.setAttribute("selected","selected");p=document.createElement("option");p.setAttribute("value","table");mxUtils.write(p,mxResources.get("formatSql"));"formatSql"==f&&(n.appendChild(p),p.setAttribute("selected","selected")); +p=document.createElement("option");p.setAttribute("value","diagram");mxUtils.write(p,mxResources.get("diagram"));"plantUml"!=f&&n.appendChild(p);p=document.createElement("option");p.setAttribute("value","plantUmlSvg");mxUtils.write(p,mxResources.get("plantUml")+" ("+mxResources.get("formatSvg")+")");"plantUml"==f&&p.setAttribute("selected","selected");var b=document.createElement("option");b.setAttribute("value","plantUmlPng");mxUtils.write(b,mxResources.get("plantUml")+" ("+mxResources.get("formatPng")+ +")");var e=document.createElement("option");e.setAttribute("value","plantUmlTxt");mxUtils.write(e,mxResources.get("plantUml")+" ("+mxResources.get("text")+")");EditorUi.enablePlantUml&&Graph.fileSupport&&!a.isOffline()&&"plantUml"==f&&(n.appendChild(p),n.appendChild(b),n.appendChild(e));var l=g();m.value=l;d.appendChild(m);this.init=function(){m.focus()};Graph.fileSupport&&(m.addEventListener("dragover",function(b){b.stopPropagation();b.preventDefault()},!1),m.addEventListener("drop",function(b){b.stopPropagation(); +b.preventDefault();if(0<b.dataTransfer.files.length){b=b.dataTransfer.files[0];var a=new FileReader;a.onload=function(b){m.value=b.target.result};a.readAsText(b)}},!1));d.appendChild(n);mxEvent.addListener(n,"change",function(){var b=g();if(0==m.value.length||m.value==l)l=b,m.value=l});f=mxUtils.button(mxResources.get("close"),function(){m.value==l?a.hideDialog():a.confirm(mxResources.get("areYouSure"),function(){a.hideDialog()})});f.className="geBtn";a.editor.cancelFirst&&d.appendChild(f);p=mxUtils.button(mxResources.get("insert"), +function(){a.hideDialog();c(m.value,n.value)});d.appendChild(p);p.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(f);this.container=d},NewDialog=function(a,d,f,c,g,h,m,n,p,b,e,l,q,u,t){function w(){for(var b=!0;z<Q.length&&(b||0!=mxUtils.mod(z,30));)b=Q[z++],k(b.url,b.libs,b.title,b.tooltip?b.tooltip:b.title,b.select,b.imgUrl,b.info,b.onClick),b=!1}function x(){if(S)f||a.hideDialog(),u(S,O,K.value);else if(c)f||a.hideDialog(),c(Z,K.value);else{var b=K.value;null!=b&&0<b.length&& +a.pickFolder(a.mode==App.MODE_ONEDRIVE||a.mode==App.MODE_TRELLO||a.mode==App.MODE_GOOGLE&&(null==a.stateArg||null==a.stateArg.folderId)?a.mode:null,function(e){a.createFile(b,Z,null!=X&&0<X.length?X:null,null,function(){a.hideDialog()},null,e)})}}function A(b,a,e,k,c){null!=N&&(N.style.backgroundColor="transparent",N.style.border="1px solid transparent");D.removeAttribute("disabled");Z=a;X=e;N=b;S=k;O=c;N.style.backgroundColor=n;N.style.border=p}function k(b,a,e,k,c,l,v,f){var d=document.createElement("div"); +d.className="geTemplate";d.style.height=R+"px";d.style.width=T+"px";null!=k&&0<k.length&&d.setAttribute("title",k);if(null!=l)d.style.backgroundImage="url("+l+")",d.style.backgroundSize="contain",d.style.backgroundPosition="center center",d.style.backgroundRepeat="no-repeat",mxEvent.addListener(d,"click",function(a){A(d,null,null,b,v)}),mxEvent.addListener(d,"dblclick",function(b){x()});else if(null!=b&&0<b.length){b.substring(0,b.length-4);d.style.backgroundImage="url("+TEMPLATE_PATH+"/"+b.substring(0, +b.length-4)+".png)";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";var q=!1;mxEvent.addListener(d,"click",function(e){D.setAttribute("disabled","disabled");d.style.backgroundColor="transparent";d.style.border="1px solid transparent";mxUtils.get(TEMPLATE_PATH+"/"+b,mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()&&(A(d,b.getText(),a),q&&x())}))});mxEvent.addListener(d,"dblclick",function(b){q=!0})}else d.innerHTML='<table width="100%" height="100%"><tr><td align="center" valign="middle">'+ +mxResources.get(e)+"</td></tr></table>",c&&A(d),null!=f?mxEvent.addListener(d,"click",f):(mxEvent.addListener(d,"click",function(b){A(d)}),mxEvent.addListener(d,"dblclick",function(b){x()}));G.appendChild(d)}function v(){mxEvent.addListener(G,"scroll",function(b){G.scrollTop+G.clientHeight>=G.scrollHeight&&(w(),mxEvent.consume(b))});var a=null,e;for(e in V){var k=document.createElement("div"),c=mxResources.get(e),l=V[e];null==c&&(c=e.substring(0,1).toUpperCase()+e.substring(1));18<c.length&&(c=c.substring(0, +18)+"…");k.style.cssText="display:block;cursor:pointer;padding:6px;white-space:nowrap;margin-bottom:-1px;overflow:hidden;text-overflow:ellipsis;";k.setAttribute("title",c+" ("+l.length+")");mxUtils.write(k,k.getAttribute("title"));null!=b&&(k.style.padding=b);W.appendChild(k);null==a&&(a=k,a.style.backgroundColor=m);(function(b,e){mxEvent.addListener(k,"click",function(){a!=e&&(a.style.backgroundColor="",a=e,a.style.backgroundColor=m,G.scrollTop=0,G.innerHTML="",z=0,Q=V[b],B=null,w())})})(e, +k)}w()}f=null!=f?f:!0;g=null!=g?g:!1;m=null!=m?m:"#ebf2f9";n=null!=n?n:"#e6eff8";p=null!=p?p:"1px solid #ccd9ea";e=null!=e?e:TEMPLATE_PATH+"/index.xml";var F=document.createElement("div");F.style.height="100%";var C=document.createElement("div");C.style.whiteSpace="nowrap";C.style.height="46px";f&&F.appendChild(C);var y=document.createElement("img");y.setAttribute("border","0");y.setAttribute("align","absmiddle");y.style.width="40px";y.style.height="40px";y.style.marginRight="10px";y.style.paddingBottom= +"4px";y.src=a.mode==App.MODE_GOOGLE?IMAGE_PATH+"/google-drive-logo.svg":a.mode==App.MODE_DROPBOX?IMAGE_PATH+"/dropbox-logo.svg":a.mode==App.MODE_ONEDRIVE?IMAGE_PATH+"/onedrive-logo.svg":a.mode==App.MODE_GITHUB?IMAGE_PATH+"/github-logo.svg":a.mode==App.MODE_TRELLO?IMAGE_PATH+"/trello-logo.svg":a.mode==App.MODE_BROWSER?IMAGE_PATH+"/osa_database.png":IMAGE_PATH+"/osa_drive-harddisk.png";!d&&f&&C.appendChild(y);f&&mxUtils.write(C,(null==a.mode||a.mode==App.MODE_GOOGLE||a.mode==App.MODE_BROWSER?mxResources.get("diagramName"): +mxResources.get("filename"))+":");y=".xml";a.mode==App.MODE_GOOGLE&&null!=a.drive?y=a.drive.extension:a.mode==App.MODE_DROPBOX&&null!=a.dropbox?y=a.dropbox.extension:a.mode==App.MODE_ONEDRIVE&&null!=a.oneDrive?y=a.oneDrive.extension:a.mode==App.MODE_GITHUB&&null!=a.gitHub?y=a.gitHub.extension:a.mode==App.MODE_TRELLO&&null!=a.trello&&(y=a.trello.extension);var K=document.createElement("input");K.setAttribute("value",a.defaultFilename+y);K.style.marginRight="20px";K.style.marginLeft="10px";K.style.width= +d?"220px":"430px";this.init=function(){f&&(K.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?K.select():document.execCommand("selectAll",!1,null))};f&&C.appendChild(K);var C=!1,z=0,D=mxUtils.button(mxResources.get("create"),function(){D.setAttribute("disabled","disabled");x();D.removeAttribute("disabled")});D.className="geBtn gePrimaryBtn";if(l||q){var L=[],B=null,H=function(b){D.setAttribute("disabled","disabled");for(var a=0;a<L.length;a++)L[a].className=a== +b?"geBtn gePrimaryBtn":"geBtn"},C=!0,y=document.createElement("div");y.style.whiteSpace="nowrap";y.style.height="30px";F.appendChild(y);var E=mxUtils.button(mxResources.get("Templates",null,"Templates"),function(){W.style.display="";G.style.left="160px";H(0);G.scrollTop=0;G.innerHTML="";z=0;B!=Q&&(Q=B,w(),B=null)});L.push(E);y.appendChild(E);var J=function(b){W.style.display="none";G.style.left="30px";H(b?-1:1);null==B&&(B=Q);G.scrollTop=0;G.innerHTML="";var a=new Spinner({lines:12,length:10,width:5, +radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});a.spin(G);z=0;var e=function(b,e){a.stop();Q=b;e?G.innerHTML=e:0==b.length?G.innerHTML=mxResources.get("noDiagrams",null,"No Diagrams Found"):(G.innerHTML="",w())};b?q(M.value,e):l(e)};l&&(E=mxUtils.button(mxResources.get("Recent",null,"Recent"),function(){J()}),y.appendChild(E),L.push(E));if(q){E=document.createElement("span");E.style.marginLeft="10px";E.innerHTML=mxResources.get("search")+":";y.appendChild(E); +var M=document.createElement("input");M.style.marginRight="10px";M.style.marginLeft="10px";M.style.width="220px";mxEvent.addListener(M,"keypress",function(b){13==b.keyCode&&J(!0)});y.appendChild(M);E=mxUtils.button(mxResources.get("search"),function(){J(!0)});E.className="geBtn";y.appendChild(E)}H(0)}var X=null,Z=null,N=null,S=null,O=null,G=document.createElement("div");G.style.border="1px solid #d3d3d3";G.style.position="absolute";G.style.left="160px";G.style.right="34px";C=(f?72:40)+(C?30:0);G.style.top= +C+"px";G.style.bottom="68px";G.style.margin="6px 0 0 -1px";G.style.padding="6px";G.style.overflow="auto";var W=document.createElement("div");W.style.cssText="position:absolute;left:30px;width:128px;top:"+C+"px;bottom:68px;margin-top:6px;overflow:auto;border:1px solid #d3d3d3;";var R=140,T=140,V={},I=1;V.basic=[{title:"blankDiagram",select:!0}];var Q=V.basic;if(!d){F.appendChild(W);F.appendChild(G);var P=!1;mxUtils.get(e,function(b){if(!P){P=!0;for(b=b.getXml().documentElement.firstChild;null!=b;){if("undefined"!== +typeof b.getAttribute){var a=b.getAttribute("url");if(null!=a){var e=a.indexOf("/"),a=a.substring(0,e),e=V[a];null==e&&(I++,e=[],V[a]=e);e.push({url:b.getAttribute("url"),libs:b.getAttribute("libs"),title:b.getAttribute("title"),tooltip:b.getAttribute("url")})}}b=b.nextSibling}v()}})}mxEvent.addListener(K,"keypress",function(b){13==b.keyCode&&x()});e=document.createElement("div");e.style.marginTop=d?"4px":"16px";e.style.textAlign="right";e.style.position="absolute";e.style.left="40px";e.style.bottom= +"24px";e.style.right="40px";C=mxUtils.button(mxResources.get("cancel"),function(){null!=h&&h();a.hideDialog(!0)});C.className="geBtn";!a.editor.cancelFirst||g&&null==h||e.appendChild(C);d||a.isOffline()||!f||null!=c||g||(y=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://support.draw.io/display/DO/Creating+and+Opening+Files")}),y.className="geBtn",e.appendChild(y));d||"1"==urlParams.embed||g||(d=mxUtils.button(mxResources.get("fromTemplateUrl"),function(){var b=new FilenameDialog(a, +"",mxResources.get("create"),function(b){null!=b&&0<b.length&&(b=a.getUrl(window.location.pathname+"?mode="+a.mode+"&title="+encodeURIComponent(K.value)+"&create="+encodeURIComponent(b)),null==a.getCurrentFile()?window.location.href=b:window.openWindow(b))},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()}),d.className="geBtn",e.appendChild(d));Graph.fileSupport&&t&&(t=mxUtils.button(mxResources.get("import"),function(){var b=document.createElement("input");b.setAttribute("multiple", +"multiple");b.setAttribute("type","file");mxEvent.addListener(b,"change",function(e){a.openFiles(b.files,!0)});b.click()}),t.className="geBtn",e.appendChild(t));e.appendChild(D);a.editor.cancelFirst||null!=c||g&&null==h||e.appendChild(C);F.appendChild(e);this.container=F},CreateDialog=function(a,d,f,c,g,h,m,n,p,b,e,l,q,u,t){function w(b,e,k,c){function f(){mxEvent.addListener(q,"click",function(){var b=k;if(m){var e=v.value,c=e.lastIndexOf(".");if(0>d.lastIndexOf(".")&&0>c){var b=null!=b?b:y.value, l="";b==App.MODE_GOOGLE?l=a.drive.extension:b==App.MODE_GITHUB?l=a.gitHub.extension:b==App.MODE_TRELLO?l=a.trello.extension:b==App.MODE_DROPBOX?l=a.dropbox.extension:b==App.MODE_ONEDRIVE?l=a.oneDrive.extension:b==App.MODE_DEVICE&&(l=".xml");0<=c&&(e=e.substring(0,c));v.value=e+l}}x(k)})}var q=document.createElement("a");q.style.overflow="hidden";var u=document.createElement("img");u.src=b;u.setAttribute("border","0");u.setAttribute("align","absmiddle");u.style.width="60px";u.style.height="60px";u.style.paddingBottom= -"6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 8px 10px 8px";q.style.whiteSpace="nowrap";q.appendChild(u);mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.style.color="gray";q.style.fontSize="11px";var g=document.createElement("div");q.appendChild(g);mxUtils.write(g,e);if(null!=c&&null==a[c]){u.style.visibility="hidden";mxUtils.setOpacity(g,10);var t=new Spinner({lines:12, -length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});t.spin(q);var w=window.setTimeout(function(){null==a[c]&&(t.stop(),q.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[c]&&(window.clearTimeout(w),mxUtils.setOpacity(g,100),u.style.visibility="",t.stop(),d())}))}else d();F.appendChild(q);++C==l&&(mxUtils.br(F),C=0)}function x(b){var e=v.value;if(null==b||null!=e&&0<e.length)a.hideDialog(),d(e, -b)}m=null!=m?m:!0;n=null!=n?n:!0;l=null!=l?l:4;var B=document.createElement("div");null==c&&a.addLanguageMenu(B);var k=document.createElement("h2");mxUtils.write(k,g||mxResources.get("create"));k.style.marginTop="0px";k.style.marginBottom="24px";B.appendChild(k);mxUtils.write(B,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",f);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF|| -5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};B.appendChild(v);null!=u&&null!=q&&"image/"==q.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==q&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(u),u=g.getElementsByTagName("svg")[0],q=parseInt(u.getAttribute("width")),t=parseInt(u.getAttribute("height")),u.setAttribute("viewBox","0 0 "+q+" "+t),u.setAttribute("width","120px"),u.setAttribute("height","80px")): -(g=document.createElement("img"),g.setAttribute("src","data:"+q+(t?";base64,":";utf8,")+u)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),B.appendChild(g),p&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){x("_blank")})));mxUtils.br(B);var F=document.createElement("div");F.style.textAlign="center";var C=0;F.style.marginTop= -"6px";B.appendChild(F);var y=document.createElement("select");y.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),y.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE), +"6px";q.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";q.className="geBaseButton";q.style.position="relative";q.style.margin="4px";q.style.padding="8px 8px 10px 8px";q.style.whiteSpace="nowrap";q.appendChild(u);mxClient.IS_QUIRKS&&(q.style.cssFloat="left",q.style.zoom="1");q.style.color="gray";q.style.fontSize="11px";var t=document.createElement("div");q.appendChild(t);mxUtils.write(t,e);if(null!=c&&null==a[c]){u.style.visibility="hidden";mxUtils.setOpacity(t,10);var w=new Spinner({lines:12, +length:12,width:5,radius:10,rotate:0,color:"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"40%",zIndex:2E9});w.spin(q);var g=window.setTimeout(function(){null==a[c]&&(w.stop(),q.style.display="none")},3E4);a.addListener("clientLoaded",mxUtils.bind(this,function(){null!=a[c]&&(window.clearTimeout(g),mxUtils.setOpacity(t,100),u.style.visibility="",w.stop(),f())}))}else f();F.appendChild(q);++C==l&&(mxUtils.br(F),C=0)}function x(b){var e=v.value;if(null==b||null!=e&&0<e.length)a.hideDialog(),f(e, +b)}m=null!=m?m:!0;n=null!=n?n:!0;l=null!=l?l:4;var A=document.createElement("div");null==c&&a.addLanguageMenu(A);var k=document.createElement("h2");mxUtils.write(k,g||mxResources.get("create"));k.style.marginTop="0px";k.style.marginBottom="24px";A.appendChild(k);mxUtils.write(A,mxResources.get("filename")+":");var v=document.createElement("input");v.setAttribute("value",d);v.style.width="280px";v.style.marginLeft="10px";v.style.marginBottom="20px";this.init=function(){v.focus();mxClient.IS_GC||mxClient.IS_FF|| +5<=document.documentMode||mxClient.IS_QUIRKS?v.select():document.execCommand("selectAll",!1,null)};A.appendChild(v);null!=q&&null!=u&&"image/"==u.substring(0,6)&&(v.style.width="160px",g=null,"image/svg+xml"==u&&mxClient.IS_SVG?(g=document.createElement("div"),g.innerHTML=mxUtils.trim(q),q=g.getElementsByTagName("svg")[0],u=parseInt(q.getAttribute("width")),t=parseInt(q.getAttribute("height")),q.setAttribute("viewBox","0 0 "+u+" "+t),q.setAttribute("width","120px"),q.setAttribute("height","80px")): +(g=document.createElement("img"),g.setAttribute("src","data:"+u+(t?";base64,":";utf8,")+q)),g.style.position="absolute",g.style.top="70px",g.style.right="100px",g.style.maxWidth="120px",g.style.maxHeight="80px",mxUtils.setPrefixedStyle(g.style,"transform","translate(50%,-50%)"),A.appendChild(g),p&&Editor.popupsAllowed&&(g.style.cursor="pointer",mxEvent.addListener(g,"click",function(){x("_blank")})));mxUtils.br(A);var F=document.createElement("div");F.style.textAlign="center";var C=0;F.style.marginTop= +"6px";A.appendChild(F);var y=document.createElement("select");y.style.marginLeft="10px";a.isOfflineApp()||a.isOffline()||("function"===typeof window.DriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GOOGLE),mxUtils.write(g,mxResources.get("googleDrive")),y.appendChild(g),w(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googleDrive"),App.MODE_GOOGLE,"drive")),"function"===typeof window.OneDriveClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_ONEDRIVE), mxUtils.write(g,mxResources.get("oneDrive")),y.appendChild(g),a.mode==App.MODE_ONEDRIVE&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),App.MODE_ONEDRIVE,"oneDrive")),"function"===typeof window.DropboxClient&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_DROPBOX),mxUtils.write(g,mxResources.get("dropbox")),y.appendChild(g),a.mode==App.MODE_DROPBOX&&g.setAttribute("selected","selected"),w(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"), App.MODE_DROPBOX,"dropbox")),null!=a.gitHub&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_GITHUB),mxUtils.write(g,mxResources.get("github")),y.appendChild(g),w(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),App.MODE_GITHUB,"gitHub")),null!=a.trello&&(g=document.createElement("option"),g.setAttribute("value",App.MODE_TRELLO),mxUtils.write(g,mxResources.get("trello")),y.appendChild(g),w(IMAGE_PATH+"/trello-logo.svg",mxResources.get("trello"),App.MODE_TRELLO,"trello"))); if(!Editor.useLocalStorage||"device"==urlParams.storage||null!=a.getCurrentFile()&&!mxClient.IS_IOS)g=document.createElement("option"),g.setAttribute("value",App.MODE_DEVICE),mxUtils.write(g,mxResources.get("device")),y.appendChild(g),a.mode!=App.MODE_DEVICE&&n||g.setAttribute("selected","selected"),e&&w(IMAGE_PATH+"/osa_drive-harddisk.png",mxResources.get("device"),App.MODE_DEVICE);n&&isLocalStorage&&"0"!=urlParams.browser&&(n=document.createElement("option"),n.setAttribute("value",App.MODE_BROWSER), mxUtils.write(n,mxResources.get("browser")),y.appendChild(n),a.mode==App.MODE_BROWSER&&n.setAttribute("selected","selected"),w(IMAGE_PATH+"/osa_database.png",mxResources.get("browser"),App.MODE_BROWSER));n=document.createElement("div");n.style.marginTop="26px";n.style.textAlign="center";null!=b&&(g=mxUtils.button(mxResources.get("help"),function(){a.openLink(b)}),g.className="geBtn",n.appendChild(g));g=mxUtils.button(mxResources.get("cancel"),function(){null!=c?c():(a.fileLoaded(null),a.hideDialog(), -window.close(),window.location.href=a.getUrl())});g.className="geBtn";a.editor.cancelFirst&&n.appendChild(g);null==c&&(u=mxUtils.button(mxResources.get("decideLater"),function(){x(null)}),u.className="geBtn",n.appendChild(u));p&&Editor.popupsAllowed&&(p=mxUtils.button(mxResources.get("openInNewWindow"),function(){x("_blank")}),p.className="geBtn",n.appendChild(p));mxClient.IS_IOS||(h=mxUtils.button(h||mxResources.get("create"),function(){x(e?"download":App.MODE_DEVICE)}),h.className="geBtn gePrimaryBtn", -n.appendChild(h));a.editor.cancelFirst||n.appendChild(g);mxEvent.addListener(v,"keypress",function(b){13==b.keyCode?x(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});B.appendChild(n);this.container=B},PopupDialog=function(a,f,d,c,g){g=null!=g?g:!0;var h=document.createElement("div");h.style.textAlign="left";mxUtils.write(h,mxResources.get("fileOpenLocation"));mxUtils.br(h);mxUtils.br(h);var m=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&a.hideDialog(); -null!=c&&c()});m.className="geBtn";m.style.marginBottom="8px";m.style.width="280px";h.appendChild(m);mxUtils.br(h);var n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=d&&d();a.openLink(f)});n.className="geBtn gePrimaryBtn";n.style.width=m.style.width;h.appendChild(n);mxUtils.br(h);mxUtils.br(h);mxUtils.write(h,mxResources.get("allowPopups"));this.container=h},ImageDialog=function(a,f,d,c,g,h){h=null!=h?h:!0;var m=a.editor.graph,n=document.createElement("div"); -mxUtils.write(n,f);f=document.createElement("div");f.className="geTitle";f.style.backgroundColor="transparent";f.style.borderColor="transparent";f.style.whiteSpace="nowrap";f.style.textOverflow="clip";f.style.cursor="default";mxClient.IS_VML||(f.style.paddingRight="20px");var p=document.createElement("input");p.setAttribute("value",d);p.setAttribute("type","text");p.setAttribute("spellcheck","false");p.setAttribute("autocorrect","off");p.setAttribute("autocomplete","off");p.setAttribute("autocapitalize", -"off");p.style.marginTop="6px";p.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";d=document.createElement("div");d.setAttribute("title",mxResources.get("reset"));d.style.position="relative";d.style.left="-16px";d.style.width="12px";d.style.height="14px";d.style.cursor="pointer";d.style.display=mxClient.IS_VML? -"inline":"inline-block";d.style.top=(mxClient.IS_VML?0:3)+"px";d.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(d,"click",function(){p.value="";p.focus()});f.appendChild(p);f.appendChild(d);n.appendChild(f);var b=function(b,e,l,d){var q="data:"==b.substring(0,5);!a.isOffline()||q&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(k){a.spinner.stop();a.hideDialog();var v=!1===d?1:null!=e&&null!=l?Math.max(e/ -k.width,l/k.height):Math.min(1,Math.min(520/k.width,520/k.height));h&&(b=a.convertDataUri(b));c(b,Math.round(Number(k.width)*v),Math.round(Number(k.height)*v))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),c(b)):(b=a.convertDataUri(b),e=null==e?120:e,l=null==l?100:l,a.hideDialog(),c(b,e,l))},e=function(e,l){if(null!=e){var d=g?null:m.getModel().getGeometry(m.getSelectionCell());null!=d?b(e,d.width, -d.height,l):b(e,null,null,l)}else a.hideDialog(),c(null)};this.init=function(){p.focus();if(Graph.fileSupport){p.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()})); -mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(b,a,c,l,d,q,x,f){e(b,f)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var l=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(l)&& -e(decodeURIComponent(l))}b.stopPropagation();b.preventDefault()}),!1)}};d=document.createElement("div");d.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";d.style.textAlign="right";f=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});f.className="geBtn";a.editor.cancelFirst&&d.appendChild(f);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(p.value= -b.url));p.focus()};if(Graph.fileSupport){var l=document.createElement("input");l.setAttribute("multiple","multiple");l.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(l,"change",function(b){a.importFiles(l.files,0,0,a.maxImageSize,function(b,a,c,l,k,v){e(b)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0)});var u=mxUtils.button(mxResources.get("open"),function(){l.click()});u.className="geBtn";d.appendChild(u)}}document.createElement("canvas").getContext&& -"data:image/"==p.value.substring(0,11)&&"data:image/svg"!=p.value.substring(0,14)&&(u=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,p.value,function(b){p.value=b});a.showDialog(b.container,200,180,!0,!0);b.init()}),u.className="geBtn",d.appendChild(u));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(u=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN); -a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)}),u.className="geBtn",d.appendChild(u),null!=a.drive&&"1"==urlParams.photos&&(u=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),u.className="geBtn",d.appendChild(u)));mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&e(p.value)});u=mxUtils.button(mxResources.get("apply"),function(){e(p.value)});u.className="geBtn gePrimaryBtn";d.appendChild(u);a.editor.cancelFirst||d.appendChild(f);Graph.fileSupport&&(d.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition= -"center 65%",n.style.backgroundRepeat="no-repeat",f=document.createElement("div"),f.style.position="absolute",f.style.width="420px",f.style.top="58%",f.style.textAlign="center",f.style.fontSize="18px",f.style.color="#a0c3ff",mxUtils.write(f,mxResources.get("dragImagesHere")),n.appendChild(f));n.appendChild(d);this.container=n},LinkDialog=function(a,f,d,c,g){function h(b,a,e){e=mxUtils.button("",e);e.className="geBtn";e.setAttribute("title",a);a=document.createElement("img");a.style.height="26px"; +window.close(),window.location.href=a.getUrl())});g.className="geBtn";a.editor.cancelFirst&&n.appendChild(g);null==c&&(q=mxUtils.button(mxResources.get("decideLater"),function(){x(null)}),q.className="geBtn",n.appendChild(q));p&&Editor.popupsAllowed&&(p=mxUtils.button(mxResources.get("openInNewWindow"),function(){x("_blank")}),p.className="geBtn",n.appendChild(p));mxClient.IS_IOS||(h=mxUtils.button(h||mxResources.get("create"),function(){x(e?"download":App.MODE_DEVICE)}),h.className="geBtn gePrimaryBtn", +n.appendChild(h));a.editor.cancelFirst||n.appendChild(g);mxEvent.addListener(v,"keypress",function(b){13==b.keyCode?x(App.MODE_DEVICE):27==b.keyCode&&(a.fileLoaded(null),a.hideDialog(),window.close())});A.appendChild(n);this.container=A},PopupDialog=function(a,d,f,c,g){g=null!=g?g:!0;var h=document.createElement("div");h.style.textAlign="left";mxUtils.write(h,mxResources.get("fileOpenLocation"));mxUtils.br(h);mxUtils.br(h);var m=mxUtils.button(mxResources.get("openInThisWindow"),function(){g&&a.hideDialog(); +null!=c&&c()});m.className="geBtn";m.style.marginBottom="8px";m.style.width="280px";h.appendChild(m);mxUtils.br(h);var n=mxUtils.button(mxResources.get("openInNewWindow"),function(){g&&a.hideDialog();null!=f&&f();a.openLink(d)});n.className="geBtn gePrimaryBtn";n.style.width=m.style.width;h.appendChild(n);mxUtils.br(h);mxUtils.br(h);mxUtils.write(h,mxResources.get("allowPopups"));this.container=h},ImageDialog=function(a,d,f,c,g,h){h=null!=h?h:!0;var m=a.editor.graph,n=document.createElement("div"); +mxUtils.write(n,d);d=document.createElement("div");d.className="geTitle";d.style.backgroundColor="transparent";d.style.borderColor="transparent";d.style.whiteSpace="nowrap";d.style.textOverflow="clip";d.style.cursor="default";mxClient.IS_VML||(d.style.paddingRight="20px");var p=document.createElement("input");p.setAttribute("value",f);p.setAttribute("type","text");p.setAttribute("spellcheck","false");p.setAttribute("autocorrect","off");p.setAttribute("autocomplete","off");p.setAttribute("autocapitalize", +"off");p.style.marginTop="6px";p.style.width=(Graph.fileSupport?420:340)+(mxClient.IS_QUIRKS?20:-20)+"px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";f=document.createElement("div");f.setAttribute("title",mxResources.get("reset"));f.style.position="relative";f.style.left="-16px";f.style.width="12px";f.style.height="14px";f.style.cursor="pointer";f.style.display=mxClient.IS_VML? +"inline":"inline-block";f.style.top=(mxClient.IS_VML?0:3)+"px";f.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(f,"click",function(){p.value="";p.focus()});d.appendChild(p);d.appendChild(f);n.appendChild(d);var b=function(b,e,l,x){var f="data:"==b.substring(0,5);!a.isOffline()||f&&"undefined"===typeof chrome?0<b.length&&a.spinner.spin(document.body,mxResources.get("inserting"))?a.loadImage(b,function(k){a.spinner.stop();a.hideDialog();var v=!1===x?1:null!=e&&null!=l?Math.max(e/ +k.width,l/k.height):Math.min(1,Math.min(520/k.width,520/k.height));h&&(b=a.convertDataUri(b));c(b,Math.round(Number(k.width)*v),Math.round(Number(k.height)*v))},function(){a.spinner.stop();c(null);a.showError(mxResources.get("error"),mxResources.get("fileNotFound"),mxResources.get("ok"))}):(a.hideDialog(),c(b)):(b=a.convertDataUri(b),e=null==e?120:e,l=null==l?100:l,a.hideDialog(),c(b,e,l))},e=function(e,l){if(null!=e){var f=g?null:m.getModel().getGeometry(m.getSelectionCell());null!=f?b(e,f.width, +f.height,l):b(e,null,null,l)}else a.hideDialog(),c(null)};this.init=function(){p.focus();if(Graph.fileSupport){p.setAttribute("placeholder",mxResources.get("dragImagesHere"));var b=n.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover",mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()})); +mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,function(b,a,c,l,x,f,d,q){e(b,q)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var l=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)($|\?)/i.test(l)&& +e(decodeURIComponent(l))}b.stopPropagation();b.preventDefault()}),!1)}};f=document.createElement("div");f.style.marginTop=mxClient.IS_QUIRKS?"22px":"14px";f.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){a.spinner.stop();a.hideDialog()});d.className="geBtn";a.editor.cancelFirst&&f.appendChild(d);ImageDialog.filePicked=function(b){b.action==google.picker.Action.PICKED&&null!=b.docs[0].thumbnails&&(b=b.docs[0].thumbnails[b.docs[0].thumbnails.length-1],null!=b&&(p.value= +b.url));p.focus()};if(Graph.fileSupport){var l=document.createElement("input");l.setAttribute("multiple","multiple");l.setAttribute("type","file");if(null==document.documentMode){mxEvent.addListener(l,"change",function(b){a.importFiles(l.files,0,0,a.maxImageSize,function(b,a,c,l,k,v){e(b)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},!0)});var q=mxUtils.button(mxResources.get("open"),function(){l.click()});q.className="geBtn";f.appendChild(q)}}document.createElement("canvas").getContext&& +"data:image/"==p.value.substring(0,11)&&"data:image/svg"!=p.value.substring(0,14)&&(q=mxUtils.button(mxResources.get("crop"),function(){var b=new CropImageDialog(a,p.value,function(b){p.value=b});a.showDialog(b.container,200,180,!0,!0);b.init()}),q.className="geBtn",f.appendChild(q));"undefined"!=typeof google&&"undefined"!=typeof google.picker&&window.self===window.top&&(q=mxUtils.button(mxResources.get("search"),function(){if(null==a.imageSearchPicker){var b=(new google.picker.PickerBuilder).setLocale(mxLanguage).addView(google.picker.ViewId.IMAGE_SEARCH).enableFeature(google.picker.Feature.NAV_HIDDEN); +a.imageSearchPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.imageSearchPicker.setVisible(!0)}),q.className="geBtn",f.appendChild(q),null!=a.drive&&"1"==urlParams.photos&&(q=mxUtils.button(mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.photoPicker){var b=gapi.auth.getToken().access_token,b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); +a.photoPicker=b.setCallback(function(b){ImageDialog.filePicked(b)}).build()}a.photoPicker.setVisible(!0)}))}),q.className="geBtn",f.appendChild(q)));mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&e(p.value)});q=mxUtils.button(mxResources.get("apply"),function(){e(p.value)});q.className="geBtn gePrimaryBtn";f.appendChild(q);a.editor.cancelFirst||f.appendChild(d);Graph.fileSupport&&(f.style.marginTop="120px",n.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",n.style.backgroundPosition= +"center 65%",n.style.backgroundRepeat="no-repeat",d=document.createElement("div"),d.style.position="absolute",d.style.width="420px",d.style.top="58%",d.style.textAlign="center",d.style.fontSize="18px",d.style.color="#a0c3ff",mxUtils.write(d,mxResources.get("dragImagesHere")),n.appendChild(d));n.appendChild(f);this.container=n},LinkDialog=function(a,d,f,c,g){function h(b,a,e){e=mxUtils.button("",e);e.className="geBtn";e.setAttribute("title",a);a=document.createElement("img");a.style.height="26px"; a.style.width="26px";a.setAttribute("src",b);e.style.minWidth="42px";e.style.verticalAlign="middle";e.appendChild(a);x.appendChild(e)}var m=document.createElement("div");mxUtils.write(m,mxResources.get("editLink")+":");var n=document.createElement("div");n.className="geTitle";n.style.backgroundColor="transparent";n.style.borderColor="transparent";n.style.whiteSpace="nowrap";n.style.textOverflow="clip";n.style.cursor="default";mxClient.IS_VML||(n.style.paddingRight="20px");var p=document.createElement("input"); -p.setAttribute("placeholder",mxResources.get("dragUrlsHere"));p.setAttribute("type","text");p.style.marginTop="6px";p.style.width="400px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";var b=document.createElement("div");b.setAttribute("title",mxResources.get("reset"));b.style.position="relative";b.style.left="-16px";b.style.width="12px";b.style.height="14px";b.style.cursor="pointer"; +p.setAttribute("placeholder",mxResources.get("dragUrlsHere"));p.setAttribute("type","text");p.style.marginTop="6px";p.style.width="440px";p.style.backgroundImage="url('"+Dialog.prototype.clearImage+"')";p.style.backgroundRepeat="no-repeat";p.style.backgroundPosition="100% 50%";p.style.paddingRight="14px";var b=document.createElement("div");b.setAttribute("title",mxResources.get("reset"));b.style.position="relative";b.style.left="-16px";b.style.width="12px";b.style.height="14px";b.style.cursor="pointer"; b.style.display=mxClient.IS_VML?"inline":"inline-block";b.style.top=(mxClient.IS_VML?0:3)+"px";b.style.background="url('"+a.editor.transparentImage+"')";mxEvent.addListener(b,"click",function(){p.value="";p.focus()});var e=document.createElement("input");e.style.cssText="margin-right:8px;margin-bottom:8px;";e.setAttribute("value","url");e.setAttribute("type","radio");e.setAttribute("name","current-linkdialog");var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-bottom:8px;"; -l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","current-linkdialog");var u=document.createElement("select");u.style.width="380px";if(g&&null!=a.pages){null!=f&&"data:page/id,"==f.substring(0,13)?(l.setAttribute("checked","checked"),l.defaultChecked=!0):(p.setAttribute("value",f),e.setAttribute("checked","checked"),e.defaultChecked=!0);p.style.width="380px";n.appendChild(e);n.appendChild(p);n.appendChild(b);mxUtils.br(n);n.appendChild(l);g=!1;for(b=0;b<a.pages.length;b++){var q= -document.createElement("option");mxUtils.write(q,a.pages[b].getName()||mxResources.get("pageWithNumber",[b+1]));q.setAttribute("value","data:page/id,"+a.pages[b].getId());f==q.getAttribute("value")&&(q.setAttribute("selected","selected"),g=!0);u.appendChild(q)}if(!g&&l.checked){var t=document.createElement("option");mxUtils.write(t,mxResources.get("pageNotFound"));t.setAttribute("disabled","disabled");t.setAttribute("selected","selected");t.setAttribute("value","pageNotFound");u.appendChild(t);mxEvent.addListener(u, -"change",function(){null==t.parentNode||t.selected||t.parentNode.removeChild(t)})}n.appendChild(u)}else p.setAttribute("value",f),n.appendChild(p),n.appendChild(b);m.appendChild(n);var w=mxUtils.button(d,function(){a.hideDialog();c(l.checked?"pageNotFound"!==u.value?u.value:f:p.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){l.checked?u.focus():(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? -p.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(u,"focus",function(){e.removeAttribute("checked");l.setAttribute("checked","checked");l.checked=!0});mxEvent.addListener(p,"focus",function(){l.removeAttribute("checked");e.setAttribute("checked","checked");e.checked=!0});if(Graph.fileSupport){var b=m.parentNode,c=null;mxEvent.addListener(b,"dragleave",function(b){null!=c&&(c.parentNode.removeChild(c),c=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover", -mxUtils.bind(this,function(e){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=a.highlightElement(b));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=c&&(c.parentNode.removeChild(c),c=null);0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")&&(p.value=decodeURIComponent(b.dataTransfer.getData("text/uri-list")),e.setAttribute("checked","checked"),e.checked=!0,w.click());b.stopPropagation();b.preventDefault()}),!1)}};var x=document.createElement("div"); -x.style.marginTop="20px";x.style.textAlign="right";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.style.verticalAlign="middle";d.className="geBtn";a.editor.cancelFirst&&x.appendChild(d);LinkDialog.selectedDocs=null;LinkDialog.filePicked=function(b){if(b.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=b.docs;var a=b.docs[0].url;"application/mxe"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile"==b.docs[0].mimeType?(a=DriveClient.prototype.oldAppHostname,a= -"https://"+a+"/#G"+b.docs[0].id):"application/mxr"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==b.docs[0].mimeType?(a=DriveClient.prototype.newAppHostname,a="https://"+a+"/#G"+b.docs[0].id):"application/vnd.google-apps.folder"==b.docs[0].mimeType&&(a="https://drive.google.com/#folders/"+b.docs[0].id);p.value=a;p.focus()}else LinkDialog.selectedDocs=null;p.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&h(IMAGE_PATH+"/google-drive-logo.svg", -mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,e=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0),c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),l=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0), -b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(e).addView(c).addView(l).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS);"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD); -a.linkPicker=b.setCallback(function(b){LinkDialog.filePicked(b)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&h(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(b){p.value=b[0].link;p.focus()}})});null!=a.oneDrive&&h(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(b,a){p.value=a.value[0].webUrl; -p.focus()})});null!=a.gitHub&&h(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(b){if(null!=b){b=b.split("/");var a=b[0],e=b[1],c=b[2];b=b.slice(3,b.length).join("/");p.value="https://github.com/"+a+"/"+e+"/blob/"+c+"/"+b;p.focus()}})});mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&(a.hideDialog(),c(l.checked?u.value:p.value,LinkDialog.selectedDocs))});x.appendChild(w);a.editor.cancelFirst||x.appendChild(d);m.appendChild(x);this.container= -m},AboutDialog=function(a){var f=document.createElement("div");f.style.marginTop="6px";f.setAttribute("align","center");var d=document.createElement("img");d.style.border="0px";mxClient.IS_SVG?(d.setAttribute("width","164"),d.setAttribute("height","221"),d.style.width="164px",d.style.height="221px",d.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")):(d.setAttribute("width","176"),d.setAttribute("height","219"),d.style.width="170px",d.style.height="219px",d.setAttribute("src",IMAGE_PATH+ -"/logo-flat.png"));f.appendChild(d);mxUtils.br(f);d=document.createElement("small");d.innerHTML="v "+EditorUi.VERSION;d.style.color="#505050";f.appendChild(d);mxUtils.br(f);mxUtils.br(f);d=document.createElement("small");d.style.color="#505050";d.innerHTML='© 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.';f.appendChild(d);mxEvent.addListener(f,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&a.hideDialog()});this.container= -f},FeedbackDialog=function(a){var f=document.createElement("div"),d=document.createElement("div");mxUtils.write(d,mxResources.get("sendYourFeedbackToDrawIo"));d.style.fontSize="18px";d.style.marginBottom="18px";f.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");f.appendChild(d);var c=document.createElement("input");c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"), -function(){var b=(m.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+p.value+b), -function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});g.className="geBtn gePrimaryBtn";g.setAttribute("disabled","disabled");var h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;mxEvent.addListener(c,"change", -function(){0<c.value.length&&0<h.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&h.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});f.appendChild(c);this.init=function(){c.focus()};var m=document.createElement("input");m.setAttribute("type","checkbox");m.setAttribute("checked","checked");m.defaultChecked=!0;d=document.createElement("p");d.style.marginTop="14px";d.appendChild(m); -var n=document.createElement("span");mxUtils.write(n," "+mxResources.get("includeCopyOfMyDiagram"));d.appendChild(n);mxEvent.addListener(n,"click",function(b){m.checked=!m.checked;mxEvent.consume(b)});f.appendChild(d);d=document.createElement("div");mxUtils.write(d,mxResources.get("feedback"));f.appendChild(d);var p=document.createElement("textarea");p.style.resize="none";p.style.width="600px";p.style.height="140px";p.style.marginTop="6px";p.setAttribute("placeholder",mxResources.get("commentsNotes")); -f.appendChild(p);d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst?(d.appendChild(n),d.appendChild(g)):(d.appendChild(g),d.appendChild(n));f.appendChild(d);this.container=f};FeedbackDialog.maxAttachmentSize=1E6; -var RevisionDialog=function(a,f,d){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var h=document.createElement("div");h.style.position="absolute";h.style.overflow="auto";h.style.width="170px";h.style.height="378px";c.appendChild(h);var m=document.createElement("div");m.style.position="absolute";m.style.border="1px solid lightGray";m.style.left="199px";m.style.width="470px";m.style.height= +l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","current-linkdialog");var q=document.createElement("select");q.style.width="420px";if(g&&null!=a.pages){null!=d&&"data:page/id,"==d.substring(0,13)?(l.setAttribute("checked","checked"),l.defaultChecked=!0):(p.setAttribute("value",d),e.setAttribute("checked","checked"),e.defaultChecked=!0);p.style.width="420px";n.appendChild(e);n.appendChild(p);n.appendChild(b);mxUtils.br(n);n.appendChild(l);g=!1;for(b=0;b<a.pages.length;b++){var u= +document.createElement("option");mxUtils.write(u,a.pages[b].getName()||mxResources.get("pageWithNumber",[b+1]));u.setAttribute("value","data:page/id,"+a.pages[b].getId());d==u.getAttribute("value")&&(u.setAttribute("selected","selected"),g=!0);q.appendChild(u)}if(!g&&l.checked){var t=document.createElement("option");mxUtils.write(t,mxResources.get("pageNotFound"));t.setAttribute("disabled","disabled");t.setAttribute("selected","selected");t.setAttribute("value","pageNotFound");q.appendChild(t);mxEvent.addListener(q, +"change",function(){null==t.parentNode||t.selected||t.parentNode.removeChild(t)})}n.appendChild(q)}else p.setAttribute("value",d),n.appendChild(p),n.appendChild(b);m.appendChild(n);var w=mxUtils.button(f,function(){a.hideDialog();c(l.checked?"pageNotFound"!==q.value?q.value:d:p.value,LinkDialog.selectedDocs)});w.style.verticalAlign="middle";w.className="geBtn gePrimaryBtn";this.init=function(){l.checked?q.focus():(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS? +p.select():document.execCommand("selectAll",!1,null));mxEvent.addListener(q,"focus",function(){e.removeAttribute("checked");l.setAttribute("checked","checked");l.checked=!0});mxEvent.addListener(p,"focus",function(){l.removeAttribute("checked");e.setAttribute("checked","checked");e.checked=!0});if(Graph.fileSupport){var b=m.parentNode,k=null;mxEvent.addListener(b,"dragleave",function(b){null!=k&&(k.parentNode.removeChild(k),k=null);b.stopPropagation();b.preventDefault()});mxEvent.addListener(b,"dragover", +mxUtils.bind(this,function(e){null==k&&(!mxClient.IS_IE||10<document.documentMode)&&(k=a.highlightElement(b));e.stopPropagation();e.preventDefault()}));mxEvent.addListener(b,"drop",mxUtils.bind(this,function(b){null!=k&&(k.parentNode.removeChild(k),k=null);0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")&&(p.value=decodeURIComponent(b.dataTransfer.getData("text/uri-list")),e.setAttribute("checked","checked"),e.checked=!0,w.click());b.stopPropagation();b.preventDefault()}),!1)}};var x=document.createElement("div"); +x.style.marginTop="20px";x.style.textAlign="right";f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.style.verticalAlign="middle";f.className="geBtn";a.editor.cancelFirst&&x.appendChild(f);n=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/solution/articles/16000080137")});n.style.verticalAlign="middle";n.className="geBtn";x.appendChild(n);a.isOffline()&&!mxClient.IS_CHROMEAPP&&(n.style.display="none");LinkDialog.selectedDocs=null;LinkDialog.filePicked= +function(b){if(b.action==google.picker.Action.PICKED){LinkDialog.selectedDocs=b.docs;var a=b.docs[0].url;"application/mxe"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile"==b.docs[0].mimeType?(a=DriveClient.prototype.oldAppHostname,a="https://"+a+"/#G"+b.docs[0].id):"application/mxr"==b.docs[0].mimeType||"application/vnd.jgraph.mxfile.realtime"==b.docs[0].mimeType?(a=DriveClient.prototype.newAppHostname,a="https://"+a+"/#G"+b.docs[0].id):"application/vnd.google-apps.folder"==b.docs[0].mimeType&& +(a="https://drive.google.com/#folders/"+b.docs[0].id);p.value=a;p.focus()}else LinkDialog.selectedDocs=null;p.focus()};"undefined"!=typeof google&&"undefined"!=typeof google.picker&&null!=a.drive&&h(IMAGE_PATH+"/google-drive-logo.svg",mxResources.get("googlePlus"),function(){a.spinner.spin(document.body,mxResources.get("authorizing"))&&a.drive.checkToken(mxUtils.bind(this,function(){a.spinner.stop();if(null==a.linkPicker){var b=gapi.auth.getToken().access_token,e=(new google.picker.DocsView(google.picker.ViewId.FOLDERS)).setParent("root").setIncludeFolders(!0).setSelectFolderEnabled(!0), +c=(new google.picker.DocsView).setIncludeFolders(!0).setSelectFolderEnabled(!0),l=(new google.picker.DocsView).setIncludeFolders(!0).setEnableTeamDrives(!0).setSelectFolderEnabled(!0),b=(new google.picker.PickerBuilder).setAppId(a.drive.appId).setLocale(mxLanguage).setOAuthToken(b).enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES).addView(e).addView(c).addView(l).addView(google.picker.ViewId.RECENTLY_PICKED).addView(google.picker.ViewId.IMAGE_SEARCH).addView(google.picker.ViewId.VIDEO_SEARCH).addView(google.picker.ViewId.MAPS); +"1"==urlParams.photos&&b.addView(google.picker.ViewId.PHOTOS).addView(google.picker.ViewId.PHOTO_ALBUMS).addView(google.picker.ViewId.PHOTO_UPLOAD);a.linkPicker=b.setCallback(function(b){LinkDialog.filePicked(b)}).build()}a.linkPicker.setVisible(!0)}))});"undefined"!=typeof Dropbox&&"undefined"!=typeof Dropbox.choose&&h(IMAGE_PATH+"/dropbox-logo.svg",mxResources.get("dropbox"),function(){Dropbox.choose({linkType:"direct",cancel:function(){},success:function(b){p.value=b[0].link;p.focus()}})});null!= +a.oneDrive&&h(IMAGE_PATH+"/onedrive-logo.svg",mxResources.get("oneDrive"),function(){a.oneDrive.pickFile(function(b,a){p.value=a.value[0].webUrl;p.focus()})});null!=a.gitHub&&h(IMAGE_PATH+"/github-logo.svg",mxResources.get("github"),function(){a.gitHub.pickFile(function(b){if(null!=b){b=b.split("/");var a=b[0],e=b[1],c=b[2];b=b.slice(3,b.length).join("/");p.value="https://github.com/"+a+"/"+e+"/blob/"+c+"/"+b;p.focus()}})});mxEvent.addListener(p,"keypress",function(b){13==b.keyCode&&(a.hideDialog(), +c(l.checked?q.value:p.value,LinkDialog.selectedDocs))});x.appendChild(w);a.editor.cancelFirst||x.appendChild(f);m.appendChild(x);this.container=m},AboutDialog=function(a){var d=document.createElement("div");d.style.marginTop="6px";d.setAttribute("align","center");var f=document.createElement("img");f.style.border="0px";mxClient.IS_SVG?(f.setAttribute("width","164"),f.setAttribute("height","221"),f.style.width="164px",f.style.height="221px",f.setAttribute("src",IMAGE_PATH+"/drawlogo-text-bottom.svg")): +(f.setAttribute("width","176"),f.setAttribute("height","219"),f.style.width="170px",f.style.height="219px",f.setAttribute("src",IMAGE_PATH+"/logo-flat.png"));d.appendChild(f);mxUtils.br(d);f=document.createElement("small");f.innerHTML="v "+EditorUi.VERSION;f.style.color="#505050";d.appendChild(f);mxUtils.br(d);mxUtils.br(d);f=document.createElement("small");f.style.color="#505050";f.innerHTML='© 2005-2018 <a href="https://about.draw.io/" style="color:inherit;" target="_blank">JGraph Ltd</a>.<br>All Rights Reserved.'; +d.appendChild(f);mxEvent.addListener(d,"click",function(c){"A"!=mxEvent.getSource(c).nodeName&&a.hideDialog()});this.container=d},FeedbackDialog=function(a){var d=document.createElement("div"),f=document.createElement("div");mxUtils.write(f,mxResources.get("sendYourFeedbackToDrawIo"));f.style.fontSize="18px";f.style.marginBottom="18px";d.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("yourEmailAddress")+" ("+mxResources.get("required")+")");d.appendChild(f);var c=document.createElement("input"); +c.setAttribute("type","text");c.style.marginTop="6px";c.style.width="600px";var g=mxUtils.button(mxResources.get("sendMessage"),function(){var b=(m.checked?"\nDiagram:\n"+a.getFileData():"")+"\nBrowser:\n"+navigator.userAgent;b.length>FeedbackDialog.maxAttachmentSize?a.alert(mxResources.get("drawingTooLarge")):(a.hideDialog(),a.spinner.spin(document.body)&&mxUtils.post(null!=FeedbackDialog.feedbackUrl?FeedbackDialog.feedbackUrl:"/email","email="+encodeURIComponent(c.value)+"&version="+encodeURIComponent(EditorUi.VERSION)+ +"&url="+encodeURIComponent(window.location.href)+"&body="+encodeURIComponent("Feedback:\n"+p.value+b),function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()?a.alert(mxResources.get("feedbackSent")):a.alert(mxResources.get("errorSendingFeedback"))},function(){a.spinner.stop();a.alert(mxResources.get("errorSendingFeedback"))}))});g.className="geBtn gePrimaryBtn";g.setAttribute("disabled","disabled");var h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; +mxEvent.addListener(c,"change",function(){0<c.value.length&&0<h.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});mxEvent.addListener(c,"keyup",function(){0<c.value.length&&h.test(c.value)?g.removeAttribute("disabled"):g.setAttribute("disabled","disabled")});d.appendChild(c);this.init=function(){c.focus()};var m=document.createElement("input");m.setAttribute("type","checkbox");m.setAttribute("checked","checked");m.defaultChecked=!0;f=document.createElement("p");f.style.marginTop= +"14px";f.appendChild(m);var n=document.createElement("span");mxUtils.write(n," "+mxResources.get("includeCopyOfMyDiagram"));f.appendChild(n);mxEvent.addListener(n,"click",function(b){m.checked=!m.checked;mxEvent.consume(b)});d.appendChild(f);f=document.createElement("div");mxUtils.write(f,mxResources.get("feedback"));d.appendChild(f);var p=document.createElement("textarea");p.style.resize="none";p.style.width="600px";p.style.height="140px";p.style.marginTop="6px";p.setAttribute("placeholder",mxResources.get("commentsNotes")); +d.appendChild(p);f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst?(f.appendChild(n),f.appendChild(g)):(f.appendChild(g),f.appendChild(n));d.appendChild(f);this.container=d};FeedbackDialog.maxAttachmentSize=1E6; +var RevisionDialog=function(a,d,f){var c=document.createElement("div"),g=document.createElement("h3");g.style.marginTop="0px";mxUtils.write(g,mxResources.get("revisionHistory"));c.appendChild(g);var h=document.createElement("div");h.style.position="absolute";h.style.overflow="auto";h.style.width="170px";h.style.height="378px";c.appendChild(h);var m=document.createElement("div");m.style.position="absolute";m.style.border="1px solid lightGray";m.style.left="199px";m.style.width="470px";m.style.height= "376px";m.style.overflow="hidden";mxEvent.disableContextMenu(m);c.appendChild(m);var n=new Graph(m);n.setEnabled(!1);n.setPanning(!0);n.panningHandler.ignoreCell=!0;n.panningHandler.useLeftButtonForPanning=!0;n.minFitScale=null;n.maxFitScale=null;n.centerZoom=!0;var p=0,b=null,e=0,l=n.getGlobalVariable;n.getGlobalVariable=function(a){return"page"==a&&null!=b&&null!=b[e]?b[e].getAttribute("name"):"pagenumber"==a?e+1:l.apply(this,arguments)};n.getLinkForCell=function(){return null};Editor.MathJaxRender&& -n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,e){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));var u=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),q=a.getCurrentFile(),t=null,w=null,x=null,B=null,k=mxUtils.button("",function(){null!=x&&n.zoomIn()});k.className="geSprite geSprite-zoomin";k.setAttribute("title",mxResources.get("zoomIn")); +n.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,e){a.editor.graph.mathEnabled&&Editor.MathJaxRender(n.container)}));var q=new Spinner({lines:11,length:15,width:6,radius:10,corners:1,rotate:0,direction:1,color:"#000",speed:1.4,trail:60,shadow:!1,hwaccel:!1,className:"spinner",zIndex:2E9,top:"50%",left:"50%"}),u=a.getCurrentFile(),t=null,w=null,x=null,A=null,k=mxUtils.button("",function(){null!=x&&n.zoomIn()});k.className="geSprite geSprite-zoomin";k.setAttribute("title",mxResources.get("zoomIn")); k.style.outline="none";k.style.border="none";k.style.margin="2px";k.setAttribute("disabled","disabled");mxUtils.setOpacity(k,20);var v=mxUtils.button("",function(){null!=x&&n.zoomOut()});v.className="geSprite geSprite-zoomout";v.setAttribute("title",mxResources.get("zoomOut"));v.style.outline="none";v.style.border="none";v.style.margin="2px";v.setAttribute("disabled","disabled");mxUtils.setOpacity(v,20);var F=mxUtils.button("",function(){null!=x&&(n.maxFitScale=8,n.fit(8),n.center())});F.className= "geSprite geSprite-fit";F.setAttribute("title",mxResources.get("fit"));F.style.outline="none";F.style.border="none";F.style.margin="2px";F.setAttribute("disabled","disabled");mxUtils.setOpacity(F,20);var C=mxUtils.button("",function(){null!=x&&(n.zoomActual(),n.center())});C.className="geSprite geSprite-actualsize";C.setAttribute("title",mxResources.get("actualSize"));C.style.outline="none";C.style.border="none";C.style.margin="2px";C.setAttribute("disabled","disabled");mxUtils.setOpacity(C,20);var y= -document.createElement("div");y.style.position="absolute";y.style.textAlign="right";y.style.color="gray";y.style.marginTop="10px";y.style.backgroundColor="transparent";y.style.top="440px";y.style.right="32px";y.style.maxWidth="380px";y.style.cursor="default";var L=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,e=mxUtils.getXml(x.documentElement);a.isLocalFileSave()?a.saveLocalFile(e,b,"text/xml"): -(e="undefined"===typeof pako?"&xml="+encodeURIComponent(e):"&data="+encodeURIComponent(a.editor.graph.compress(e)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+e)).simulate(document,"_blank"))}});L.className="geBtn";L.setAttribute("disabled","disabled");var z=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=B&&a.confirm(mxResources.get("areYouSure"),function(){null!=d?d(B):a.spinner.spin(document.body,mxResources.get("restoring"))&&q.save(!0,function(b){a.spinner.stop(); -a.replaceFileData(B);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});z.className="geBtn";z.setAttribute("disabled","disabled");var D=document.createElement("select");D.setAttribute("disabled","disabled");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";D.style.display="none";var I=null;mxEvent.addListener(D,"change",function(b){null!= -I&&(I(b),mxEvent.consume(b))});var A=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),window.openWindow(a.getUrl()))});A.className="geBtn";A.setAttribute("disabled","disabled");null!=d&&(A.style.display="none");var H=mxUtils.button(mxResources.get("show"),function(){null!=w&&a.openLink(w.getUrl())});H.className="geBtn gePrimaryBtn";H.setAttribute("disabled", -"disabled");null!=d&&(H.style.display="none",z.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var E=document.createElement("div");E.className="geToolbarContainer";E.style.backgroundColor="transparent";E.style.padding="2px";E.style.border="none";E.style.left="199px";E.style.top="442px";var K=null;if(null!=f&&0<f.length){m.style.cursor="move";var M=document.createElement("table");M.style.border= -"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(p=mxUtils.indexOf(a.pages,a.currentPage));for(var N=f.length-1;0<=N;N--){var S=function(c){var l=new Date(c.modifiedDate),d=null;if(0<=l.getTime()){var g=function(c){u.stop();var f=mxUtils.parseXml(c),g=a.editor.extractGraphModel(f.documentElement,!0);if(null!=g){var t=function(b){null!=b&&(b= -w(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},w=function(b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";m.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return b};D.style.display="none";D.innerHTML="";x=f;B=c;b=parseSelectFunction=null;e=0;if("mxfile"==g.nodeName){f=g.getElementsByTagName("diagram");b=[];for(c=0;c<f.length;c++)b.push(f[c]); -e=Math.min(p,b.length-1);0<b.length&&t(b[e]);if(1<b.length)for(D.removeAttribute("disabled"),D.style.display="",c=0;c<b.length;c++)f=document.createElement("option"),mxUtils.write(f,b[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),f.setAttribute("value",c),c==e&&f.setAttribute("selected","selected"),D.appendChild(f);I=function(){e=p=parseInt(D.value);t(b[p])}}else w(g);y.innerHTML="";mxUtils.write(y,l.toLocaleDateString()+" "+l.toLocaleTimeString());y.setAttribute("title",d.getAttribute("title")); -k.removeAttribute("disabled");v.removeAttribute("disabled");F.removeAttribute("disabled");C.removeAttribute("disabled");null!=q&&q.isRestricted()||(a.editor.graph.isEnabled()&&z.removeAttribute("disabled"),L.removeAttribute("disabled"),H.removeAttribute("disabled"),A.removeAttribute("disabled"));mxUtils.setOpacity(k,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(C,60)}else D.style.display="none",D.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))}, -d=document.createElement("tr");d.style.borderBottom="1px solid lightGray";d.style.fontSize="12px";d.style.cursor="pointer";var h=document.createElement("td");h.style.padding="6px";h.style.whiteSpace="nowrap";c==f[f.length-1]?mxUtils.write(h,mxResources.get("current")):l.toDateString()===Z?mxUtils.write(h,l.toLocaleTimeString()):mxUtils.write(h,l.toLocaleDateString()+" "+l.toLocaleTimeString());d.appendChild(h);d.setAttribute("title",l.toLocaleDateString()+" "+l.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+ -(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(d,"click",function(b){w!=c&&(u.stop(),null!=t&&(t.style.backgroundColor=""),w=c,t=d,t.style.backgroundColor="#ebf2f9",B=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",m.style.backgroundColor="#ffffff",n.getModel().clear(),z.setAttribute("disabled","disabled"),L.setAttribute("disabled","disabled"),k.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),C.setAttribute("disabled", -"disabled"),F.setAttribute("disabled","disabled"),A.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(k,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(F,20),mxUtils.setOpacity(C,20),u.spin(m),c.getXml(function(b){w==c&&g(b)},function(b){u.stop();D.style.display="none";D.innerHTML="";y.innerHTML="";mxUtils.write(y,mxResources.get("errorLoadingFile"))}),mxEvent.consume(b))});mxEvent.addListener(d,"dblclick",function(b){H.click(); -window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(b)},!1);X.appendChild(d)}return d}(f[N]);null!=S&&N==f.length-1&&(K=S)}M.appendChild(X);h.appendChild(M)}else null==q||null==a.drive&&q.constructor==window.DriveFile||null==a.dropbox&&q.constructor==window.DropboxFile?(m.style.display="none",E.style.display="none",mxUtils.write(h,mxResources.get("notAvailable"))):(m.style.display="none",E.style.display="none",mxUtils.write(h, -mxResources.get("noRevisions")));this.init=function(){null!=K&&K.click()};h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn";E.appendChild(D);E.appendChild(k);E.appendChild(v);E.appendChild(C);E.appendChild(F);a.editor.cancelFirst?(g.appendChild(h),g.appendChild(L),g.appendChild(A),g.appendChild(z),g.appendChild(H)):(g.appendChild(L),g.appendChild(A),g.appendChild(z),g.appendChild(H),g.appendChild(h));c.appendChild(g);c.appendChild(E);c.appendChild(y);this.container= -c},DraftDialog=function(a,f,d,c,g,h,m,n){var p=document.createElement("div"),b=document.createElement("div");b.style.marginTop="0px";b.style.whiteSpace="nowrap";b.style.overflow="auto";mxUtils.write(b,f);p.appendChild(b);var e=document.createElement("div");e.style.position="absolute";e.style.border="1px solid lightGray";e.style.marginTop="10px";e.style.width="640px";e.style.top="46px";e.style.bottom="74px";e.style.overflow="hidden";mxEvent.disableContextMenu(e);p.appendChild(e);var l=new Graph(e); -l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;f=mxUtils.parseXml(d);var u=a.editor.extractGraphModel(f.documentElement,!0),q=0,t=null,w=l.getGlobalVariable;l.getGlobalVariable=function(b){return"page"==b&&null!=t&&null!=t[q]?t[q].getAttribute("name"):"pagenumber"==b?q+1:w.apply(this,arguments)};l.getLinkForCell=function(){return null};f=mxUtils.button("",function(){l.zoomIn()});f.className= -"geSprite geSprite-zoomin";f.setAttribute("title",mxResources.get("zoomIn"));f.style.outline="none";f.style.border="none";f.style.margin="2px";mxUtils.setOpacity(f,60);d=mxUtils.button("",function(){l.zoomOut()});d.className="geSprite geSprite-zoomout";d.setAttribute("title",mxResources.get("zoomOut"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);b=mxUtils.button("",function(){l.maxFitScale=8;l.fit(8);l.center()});b.className="geSprite geSprite-fit";b.setAttribute("title", -mxResources.get("fit"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);var x=mxUtils.button("",function(){l.zoomActual();l.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);g=mxUtils.button(m||mxResources.get("discard"),g);g.className="geBtn";var B=document.createElement("select");B.style.maxWidth="80px";B.style.position= -"relative";B.style.top="-2px";B.style.verticalAlign="bottom";B.style.marginRight="6px";B.style.display="none";c=mxUtils.button(h||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";h=document.createElement("div");h.style.position="absolute";h.style.bottom="30px";h.style.width="640px";h.style.textAlign="right";m=document.createElement("div");m.className="geToolbarContainer";m.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;"; -this.init=function(){function b(b){if(null!=b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";e.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,l.getModel());l.maxFitScale=1;l.fit(8);l.center()}}function c(e){null!=e&&(e=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(e))).documentElement));return e}mxEvent.addListener(B,"change",function(b){q=parseInt(B.value);c(t[q]);mxEvent.consume(b)});if("mxfile"==u.nodeName){var d=u.getElementsByTagName("diagram"); -t=[];for(var f=0;f<d.length;f++)t.push(d[f]);0<t.length&&c(t[q]);if(1<t.length)for(B.style.display="",f=0;f<t.length;f++)d=document.createElement("option"),mxUtils.write(d,t[f].getAttribute("name")||mxResources.get("pageWithNumber",[f+1])),d.setAttribute("value",f),f==q&&d.setAttribute("selected","selected"),B.appendChild(d)}else b(u)};m.appendChild(B);m.appendChild(f);m.appendChild(d);m.appendChild(x);m.appendChild(b);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});f.className= -"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(h.appendChild(f),null!=n&&h.appendChild(n),h.appendChild(g),h.appendChild(c)):(h.appendChild(c),h.appendChild(g),null!=n&&h.appendChild(n),h.appendChild(f));p.appendChild(h);p.appendChild(m);this.container=p},FindWindow=function(a,f,d,c,g){function h(b,a,e){if("object"===typeof a.value&&null!=a.value.attributes){a=a.value.attributes;for(var c=0;c<a.length;c++)if("label"!=a[c].nodeName){var k= -mxUtils.trim(a[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==b&&k.substring(0,e.length)===e||null!=b&&b.test(k))return!0}}return!1}function m(){var a=p.model.getDescendants(p.model.getRoot()),c=u.value.toLowerCase(),k=q.checked?new RegExp(c):null,l=null;b!=c&&(b=c,e=null);var d=null==e;if(0<c.length)for(var f=0;f<a.length;f++){var g=p.view.getState(a[f]);if(null!=g&&null!=g.cell.value&&(d||null==l)&&(p.model.isVertex(g.cell)||p.model.isEdge(g.cell))&&(p.isHtmlLabel(g.cell)? -(t.innerHTML=p.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([t])):label=p.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==k&&(label.substring(0,c.length)===c||h(k,g.cell,c))||null!=k&&(k.test(label)||h(k,g.cell,c))))if(d){l=g;break}else null==l&&(l=g);d=d||g==e}null!=l?(e=l,p.scrollCellToVisible(e.cell),p.isEnabled()?p.setSelectionCell(e.cell):p.highlightCell(e.cell)):p.isEnabled()&&p.clearSelection();return 0==c.length||null!=l} -var n=a.actions.get("find"),p=a.editor.graph,b=null,e=null,l=document.createElement("div");l.style.userSelect="none";l.style.overflow="hidden";l.style.padding="10px";l.style.height="100%";var u=document.createElement("input");u.setAttribute("placeholder",mxResources.get("find"));u.setAttribute("type","text");u.style.marginTop="4px";u.style.marginBottom="6px";u.style.width="200px";u.style.fontSize="12px";u.style.borderRadius="4px";u.style.padding="6px";l.appendChild(u);mxUtils.br(l);var q=document.createElement("input"); -q.setAttribute("type","checkbox");q.style.marginRight="4px";l.appendChild(q);mxUtils.write(l,mxResources.get("regularExpression"));var t=document.createElement("div");mxUtils.br(l);var w=mxUtils.button(mxResources.get("reset"),function(){u.value="";u.style.backgroundColor="";b=e=null;u.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";l.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{u.style.backgroundColor= -m()?"":"#ffcfcf"}catch(x){a.handleError(x)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";l.appendChild(w);mxEvent.addListener(u,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)n.funct();else if(b!=u.value.toLowerCase()||13==a.keyCode)try{u.style.backgroundColor=m()?"":"#ffcfcf"}catch(B){u.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(l,"keydown",function(b){70==b.keyCode&& -a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(n.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),l,f,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))}, -TagsWindow=function(a,f,d,c,g){function h(b){b=null!=b?b:n.model.getDescendants(n.model.getRoot());for(var a=e.value.split(" "),c=[],l=0;l<b.length;l++)if(n.model.isVertex(b[l])||n.model.isEdge(b[l])){var d=null!=b[l].value&&"object"==typeof b[l].value?mxUtils.trim(b[l].value.getAttribute(p)||""):"",k=!0;if(0<d.length)for(var d=d.toLowerCase().split(" "),v=0;v<a.length&&k;v++)var f=mxUtils.trim(a[v]).toLowerCase(),k=k&&(0==f.length||0<=mxUtils.indexOf(d,f));else k=0==mxUtils.trim(e.value).length; -k&&c.push(b[l])}return c}function m(b,a){n.model.beginUpdate();try{for(var e=0;e<b.length;e++)n.model.setVisible(b[e],a)}finally{n.model.endUpdate()}}var n=a.editor.graph,p="tags",b=document.createElement("div");b.style.userSelect="none";b.style.overflow="hidden";b.style.padding="10px";b.style.height="100%";var e=document.createElement("input");e.setAttribute("placeholder",mxResources.get("allTags"));e.setAttribute("type","text");e.style.marginTop="4px";e.style.width="260px";e.style.fontSize="12px"; -e.style.borderRadius="4px";e.style.padding="6px";b.appendChild(e);if(!a.isOffline()||mxClient.IS_CHROMEAPP){e.style.width="240px";var l=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");l.firstChild.style.marginBottom="6px";l.style.marginLeft="6px";b.appendChild(l)}mxEvent.addListener(e,"dblclick",function(){var b=new FilenameDialog(a,p,mxResources.get("ok"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&(p=b)}),mxResources.get("enterPropertyName"));a.showDialog(b.container, -300,80,!0,!0);b.init()});e.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(b);l=mxUtils.button(mxResources.get("hide"),function(){m(h(),!1)});l.setAttribute("title",mxResources.get("hide"));l.style.marginTop="8px";l.style.marginRight="4px";l.className="geBtn";b.appendChild(l);l=mxUtils.button(mxResources.get("show"),function(){var b=h();m(b,!0);n.isEnabled()&&n.setSelectionCells(b)});l.setAttribute("title",mxResources.get("show"));l.style.marginTop="8px";l.style.marginRight= -"4px";l.className="geBtn";b.appendChild(l);var u=a.actions.get("tags"),l=mxUtils.button(mxResources.get("close"),function(){u.funct()});l.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");l.style.marginTop="8px";l.className="geBtn gePrimaryBtn";b.appendChild(l);mxEvent.addListener(e,"keyup",function(b){13!=b.keyCode&&27!=b.keyCode||u.funct()});this.window=new mxWindow(mxResources.get("tags"),b,f,d,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1); -this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(e.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?e.select():document.execCommand("selectAll",!1,null)):n.container.focus()}))},AuthDialog=function(a,f,d,c){var g=document.createElement("div");g.style.textAlign="center";var h=document.createElement("p");h.style.fontSize="16pt";h.style.padding="0px";h.style.margin="0px";h.style.color="gray";mxUtils.write(h, -mxResources.get("authorizationRequired"));var m="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";f==a.drive?(m=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):f==a.dropbox?(m=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):f==a.oneDrive?(m=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):f==a.gitHub?(m=mxResources.get("github"),n.src=IMAGE_PATH+ -"/github-logo-white.svg"):f==a.trello&&(m=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[m]));var p=document.createElement("input");p.setAttribute("type","checkbox");m=mxUtils.button(mxResources.get("authorize"),function(){c(p.checked)});m.insertBefore(n,m.firstChild);m.style.marginTop="6px";m.className="geBigButton";g.appendChild(h);g.appendChild(a);g.appendChild(m);d&&(d=document.createElement("p"), -d.style.marginTop="20px",d.appendChild(p),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberMe")),d.appendChild(h),g.appendChild(d),p.checked=!0,p.defaultChecked=!0,mxEvent.addListener(h,"click",function(b){p.checked=!p.checked;mxEvent.consume(b)}));this.container=g},MoreShapesDialog=function(a,f,d){d=null!=d?d:a.sidebar.entries;var c=document.createElement("div");if(f){f=document.createElement("div");f.className="geDialogTitle";mxUtils.write(f,mxResources.get("shapes")); -f.style.position="absolute";f.style.top="0px";f.style.left="0px";f.style.lineHeight="40px";f.style.height="40px";f.style.right="0px";mxClient.IS_QUIRKS&&(f.style.width="718px");var g=document.createElement("div"),h=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");h.style.position="absolute";h.style.left="202px";h.style.right= -"0px";h.style.top="40px";h.style.bottom="60px";h.style.overflow="auto";h.style.borderLeft="1px solid rgb(211, 211, 211)";h.style.textAlign="center";mxClient.IS_QUIRKS&&(h.style.width=parseInt(f.style.width)-202+"px",h.style.height=g.style.height,h.style.marginTop=g.style.marginTop);var m=null,n=[],p=document.createElement("div");p.style.position="relative";p.style.left="0px";p.style.right="0px";for(var b=0;b<d.length;b++)(function(e){var c=p.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor= -"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,e.title);g.appendChild(c);for(var k=0;k<e.entries.length;k++)(function(e){var c=p.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var l=document.createElement("input");l.setAttribute("type","checkbox");l.checked=a.sidebar.isEntryVisible(e.id);l.defaultChecked=l.checked;c.appendChild(l);mxUtils.write(c," "+e.title);g.appendChild(c);var d=function(b){if(null==b||"INPUT"!=mxEvent.getSource(b).nodeName)null!= -e.imageCallback?e.imageCallback(h):null!=e.image?h.innerHTML='<img border="0" src="'+e.image+'"/>':(h.innerHTML="<br>",mxUtils.write(h,mxResources.get("noPreview"))),null!=m&&(m.style.backgroundColor=""),m=c,m.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=b&&mxEvent.consume(b)};mxEvent.addListener(c,"click",d);mxEvent.addListener(c,"dblclick",function(b){l.checked=!l.checked;mxEvent.consume(b)});n.push(function(){return l.checked?e.id:null});0==b&&0==k&&d()})(e.entries[k])})(d[b]); -c.style.padding="30px";c.appendChild(f);c.appendChild(g);c.appendChild(h);d=document.createElement("div");d.className="geDialogFooter";d.style.position="absolute";d.style.paddingRight="16px";d.style.color="gray";d.style.left="0px";d.style.right="0px";d.style.bottom="0px";d.style.height="60px";d.style.lineHeight="52px";mxClient.IS_QUIRKS&&(d.style.width=f.style.width,d.style.paddingTop="12px");var e=document.createElement("input");e.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)f= -document.createElement("span"),f.style.paddingRight="20px",f.appendChild(e),mxUtils.write(f," "+mxResources.get("rememberThisSetting")),e.checked=!0,e.defaultChecked=!0,mxEvent.addListener(f,"click",function(b){mxEvent.getSource(b)!=e&&(e.checked=!e.checked,mxEvent.consume(b))}),mxClient.IS_QUIRKS&&(f.style.position="relative",f.style.top="-6px"),d.appendChild(f);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";var l=mxUtils.button(mxResources.get("apply"), -function(){a.hideDialog();for(var b=[],c=0;c<n.length;c++){var k=n[c].apply(this,arguments);null!=k&&b.push(k)}a.sidebar.showEntries(b.join(";"),e.checked,!0)});l.className="geBtn gePrimaryBtn"}else{var u=document.createElement("table"),q=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var t=document.createElement("tr");u.style.width="100%";f=document.createElement("td");var l=document.createElement("td"),w=document.createElement("td"),x=mxUtils.bind(this,function(b, -e,c){var k=document.createElement("input");k.type="checkbox";u.appendChild(k);k.checked=a.sidebar.isEntryVisible(c);var l=document.createElement("span");mxUtils.write(l,e);e=document.createElement("div");e.style.display="block";e.appendChild(k);e.appendChild(l);mxEvent.addListener(l,"click",function(b){k.checked=!k.checked;mxEvent.consume(b)});b.appendChild(e);return function(){return k.checked?c:null}});t.appendChild(f);t.appendChild(l);t.appendChild(w);q.appendChild(t);u.appendChild(q);for(var n= -[],B=0,b=0;b<d.length;b++)for(q=0;q<d[b].entries.length;q++)B++;for(var k=[f,l,w],v=0,b=0;b<d.length;b++)(function(b){for(var a=0;a<b.entries.length;a++){var e=b.entries[a];n.push(x(k[Math.floor(v/(B/3))],e.title,e.id));v++}})(d[b]);c.appendChild(u);d=document.createElement("div");d.style.marginTop="18px";d.style.textAlign="center";e=document.createElement("input");isLocalStorage&&(e.setAttribute("type","checkbox"),e.checked=!0,e.defaultChecked=!0,d.appendChild(e),f=document.createElement("span"), -mxUtils.write(f," "+mxResources.get("rememberThisSetting")),d.appendChild(f),mxEvent.addListener(f,"click",function(b){e.checked=!e.checked;mxEvent.consume(b)}));c.appendChild(d);f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});f.className="geBtn";l=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<n.length;c++){var k=n[c].apply(this,arguments);null!=k&&b.push(k)}a.sidebar.showEntries(0<b.length?b.join(";"):"",e.checked);a.hideDialog()});l.className= -"geBtn gePrimaryBtn";d=document.createElement("div");d.style.marginTop="26px";d.style.textAlign="right"}a.editor.cancelFirst?(d.appendChild(f),d.appendChild(l)):(d.appendChild(l),d.appendChild(f));c.appendChild(d);this.container=c},PluginsDialog=function(a){function f(){if(0==g.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var b=0;b<g.length;b++){var l=document.createElement("span");l.style.whiteSpace="nowrap";var d=document.createElement("span");d.className="geSprite geSprite-delete"; -d.style.position="relative";d.style.cursor="pointer";d.style.top="5px";d.style.marginRight="4px";d.style.display="inline-block";l.appendChild(d);mxUtils.write(l,g[b]);c.appendChild(l);mxUtils.br(c);mxEvent.addListener(d,"click",function(b){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+g[b]+'"?',function(){g.splice(b,1);f()})}}(b))}}}var d=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice(); -d.appendChild(c);f();var h=mxUtils.button(mxResources.get("add"),function(){var b="",c=urlParams.p;if(null!=c&&0<c.length){for(var d=c.split(";"),c=0;c<d.length;c++){var q=App.pluginRegistry[d[c]];null!=q&&(b+=q+";")}";"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1))}b=new FilenameDialog(a,b,mxResources.get("add"),function(b){if(null!=b&&0<b.length){d=b.split(";");for(b=0;b<d.length;b++){var a=d[b],e=App.pluginRegistry[a];null!=e&&(a=e);0<a.length&&0>mxUtils.indexOf(g,a)&&g.push(a)}f()}},mxResources.get("enterValue")+ +document.createElement("div");y.style.position="absolute";y.style.textAlign="right";y.style.color="gray";y.style.marginTop="10px";y.style.backgroundColor="transparent";y.style.top="440px";y.style.right="32px";y.style.maxWidth="380px";y.style.cursor="default";var K=mxUtils.button(mxResources.get("download"),function(){if(null!=x){var b=a.getCurrentFile(),b=null!=b&&null!=b.getTitle()?b.getTitle():a.defaultFilename,e=mxUtils.getXml(x.documentElement);a.isLocalFileSave()?a.saveLocalFile(e,b,"text/xml"): +(e="undefined"===typeof pako?"&xml="+encodeURIComponent(e):"&data="+encodeURIComponent(a.editor.graph.compress(e)),(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(b)+"&format=xml"+e)).simulate(document,"_blank"))}});K.className="geBtn";K.setAttribute("disabled","disabled");var z=mxUtils.button(mxResources.get("restore"),function(){null!=x&&null!=A&&a.confirm(mxResources.get("areYouSure"),function(){null!=f?f(A):a.spinner.spin(document.body,mxResources.get("restoring"))&&u.save(!0,function(b){a.spinner.stop(); +a.replaceFileData(A);a.hideDialog()},function(b){a.spinner.stop();a.editor.setStatus("");a.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)})})});z.className="geBtn";z.setAttribute("disabled","disabled");var D=document.createElement("select");D.setAttribute("disabled","disabled");D.style.maxWidth="80px";D.style.position="relative";D.style.top="-2px";D.style.verticalAlign="bottom";D.style.marginRight="6px";D.style.display="none";var L=null;mxEvent.addListener(D,"change",function(b){null!= +L&&(L(b),mxEvent.consume(b))});var B=mxUtils.button(mxResources.get("openInNewWindow"),function(){null!=x&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(mxUtils.getXml(x.documentElement)),window.openWindow(a.getUrl()))});B.className="geBtn";B.setAttribute("disabled","disabled");null!=f&&(B.style.display="none");var H=mxUtils.button(mxResources.get("show"),function(){null!=w&&a.openLink(w.getUrl())});H.className="geBtn gePrimaryBtn";H.setAttribute("disabled", +"disabled");null!=f&&(H.style.display="none",z.className="geBtn gePrimaryBtn");g=document.createElement("div");g.style.position="absolute";g.style.top="482px";g.style.width="640px";g.style.textAlign="right";var E=document.createElement("div");E.className="geToolbarContainer";E.style.backgroundColor="transparent";E.style.padding="2px";E.style.border="none";E.style.left="199px";E.style.top="442px";var J=null;if(null!=d&&0<d.length){m.style.cursor="move";var M=document.createElement("table");M.style.border= +"1px solid lightGray";M.style.borderCollapse="collapse";M.style.borderSpacing="0px";M.style.width="100%";var X=document.createElement("tbody"),Z=(new Date).toDateString();null!=a.currentPage&&null!=a.pages&&(p=mxUtils.indexOf(a.pages,a.currentPage));for(var N=d.length-1;0<=N;N--){var S=function(c){var l=new Date(c.modifiedDate),f=null;if(0<=l.getTime()){var g=function(c){q.stop();var d=mxUtils.parseXml(c),g=a.editor.extractGraphModel(d.documentElement,!0);if(null!=g){var t=function(b){null!=b&&(b= +w(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(b))).documentElement));return b},w=function(b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";m.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,n.getModel());n.maxFitScale=1;n.fit(8);n.center();return b};D.style.display="none";D.innerHTML="";x=d;A=c;b=parseSelectFunction=null;e=0;if("mxfile"==g.nodeName){d=g.getElementsByTagName("diagram");b=[];for(c=0;c<d.length;c++)b.push(d[c]); +e=Math.min(p,b.length-1);0<b.length&&t(b[e]);if(1<b.length)for(D.removeAttribute("disabled"),D.style.display="",c=0;c<b.length;c++)d=document.createElement("option"),mxUtils.write(d,b[c].getAttribute("name")||mxResources.get("pageWithNumber",[c+1])),d.setAttribute("value",c),c==e&&d.setAttribute("selected","selected"),D.appendChild(d);L=function(){e=p=parseInt(D.value);t(b[p])}}else w(g);y.innerHTML="";mxUtils.write(y,l.toLocaleDateString()+" "+l.toLocaleTimeString());y.setAttribute("title",f.getAttribute("title")); +k.removeAttribute("disabled");v.removeAttribute("disabled");F.removeAttribute("disabled");C.removeAttribute("disabled");null!=u&&u.isRestricted()||(a.editor.graph.isEnabled()&&z.removeAttribute("disabled"),K.removeAttribute("disabled"),H.removeAttribute("disabled"),B.removeAttribute("disabled"));mxUtils.setOpacity(k,60);mxUtils.setOpacity(v,60);mxUtils.setOpacity(F,60);mxUtils.setOpacity(C,60)}else D.style.display="none",D.innerHTML="",y.innerHTML="",mxUtils.write(y,mxResources.get("errorLoadingFile"))}, +f=document.createElement("tr");f.style.borderBottom="1px solid lightGray";f.style.fontSize="12px";f.style.cursor="pointer";var h=document.createElement("td");h.style.padding="6px";h.style.whiteSpace="nowrap";c==d[d.length-1]?mxUtils.write(h,mxResources.get("current")):l.toDateString()===Z?mxUtils.write(h,l.toLocaleTimeString()):mxUtils.write(h,l.toLocaleDateString()+" "+l.toLocaleTimeString());f.appendChild(h);f.setAttribute("title",l.toLocaleDateString()+" "+l.toLocaleTimeString()+" "+a.formatFileSize(parseInt(c.fileSize))+ +(null!=c.lastModifyingUserName?" "+c.lastModifyingUserName:""));mxEvent.addListener(f,"click",function(b){w!=c&&(q.stop(),null!=t&&(t.style.backgroundColor=""),w=c,t=f,t.style.backgroundColor="#ebf2f9",A=x=null,y.removeAttribute("title"),y.innerHTML=mxResources.get("loading")+"...",m.style.backgroundColor="#ffffff",n.getModel().clear(),z.setAttribute("disabled","disabled"),K.setAttribute("disabled","disabled"),k.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled"),C.setAttribute("disabled", +"disabled"),F.setAttribute("disabled","disabled"),B.setAttribute("disabled","disabled"),H.setAttribute("disabled","disabled"),D.setAttribute("disabled","disabled"),mxUtils.setOpacity(k,20),mxUtils.setOpacity(v,20),mxUtils.setOpacity(F,20),mxUtils.setOpacity(C,20),q.spin(m),c.getXml(function(b){w==c&&g(b)},function(b){q.stop();D.style.display="none";D.innerHTML="";y.innerHTML="";mxUtils.write(y,mxResources.get("errorLoadingFile"))}),mxEvent.consume(b))});mxEvent.addListener(f,"dblclick",function(b){H.click(); +window.getSelection?window.getSelection().removeAllRanges():document.selection&&document.selection.empty();mxEvent.consume(b)},!1);X.appendChild(f)}return f}(d[N]);null!=S&&N==d.length-1&&(J=S)}M.appendChild(X);h.appendChild(M)}else null==u||null==a.drive&&u.constructor==window.DriveFile||null==a.dropbox&&u.constructor==window.DropboxFile?(m.style.display="none",E.style.display="none",mxUtils.write(h,mxResources.get("notAvailable"))):(m.style.display="none",E.style.display="none",mxUtils.write(h, +mxResources.get("noRevisions")));this.init=function(){null!=J&&J.click()};h=mxUtils.button(mxResources.get("close"),function(){a.hideDialog()});h.className="geBtn";E.appendChild(D);E.appendChild(k);E.appendChild(v);E.appendChild(C);E.appendChild(F);a.editor.cancelFirst?(g.appendChild(h),g.appendChild(K),g.appendChild(B),g.appendChild(z),g.appendChild(H)):(g.appendChild(K),g.appendChild(B),g.appendChild(z),g.appendChild(H),g.appendChild(h));c.appendChild(g);c.appendChild(E);c.appendChild(y);this.container= +c},DraftDialog=function(a,d,f,c,g,h,m,n){var p=document.createElement("div"),b=document.createElement("div");b.style.marginTop="0px";b.style.whiteSpace="nowrap";b.style.overflow="auto";mxUtils.write(b,d);p.appendChild(b);var e=document.createElement("div");e.style.position="absolute";e.style.border="1px solid lightGray";e.style.marginTop="10px";e.style.width="640px";e.style.top="46px";e.style.bottom="74px";e.style.overflow="hidden";mxEvent.disableContextMenu(e);p.appendChild(e);var l=new Graph(e); +l.setEnabled(!1);l.setPanning(!0);l.panningHandler.ignoreCell=!0;l.panningHandler.useLeftButtonForPanning=!0;l.minFitScale=null;l.maxFitScale=null;l.centerZoom=!0;d=mxUtils.parseXml(f);var q=a.editor.extractGraphModel(d.documentElement,!0),u=0,t=null,w=l.getGlobalVariable;l.getGlobalVariable=function(b){return"page"==b&&null!=t&&null!=t[u]?t[u].getAttribute("name"):"pagenumber"==b?u+1:w.apply(this,arguments)};l.getLinkForCell=function(){return null};d=mxUtils.button("",function(){l.zoomIn()});d.className= +"geSprite geSprite-zoomin";d.setAttribute("title",mxResources.get("zoomIn"));d.style.outline="none";d.style.border="none";d.style.margin="2px";mxUtils.setOpacity(d,60);f=mxUtils.button("",function(){l.zoomOut()});f.className="geSprite geSprite-zoomout";f.setAttribute("title",mxResources.get("zoomOut"));f.style.outline="none";f.style.border="none";f.style.margin="2px";mxUtils.setOpacity(f,60);b=mxUtils.button("",function(){l.maxFitScale=8;l.fit(8);l.center()});b.className="geSprite geSprite-fit";b.setAttribute("title", +mxResources.get("fit"));b.style.outline="none";b.style.border="none";b.style.margin="2px";mxUtils.setOpacity(b,60);var x=mxUtils.button("",function(){l.zoomActual();l.center()});x.className="geSprite geSprite-actualsize";x.setAttribute("title",mxResources.get("actualSize"));x.style.outline="none";x.style.border="none";x.style.margin="2px";mxUtils.setOpacity(x,60);g=mxUtils.button(m||mxResources.get("discard"),g);g.className="geBtn";var A=document.createElement("select");A.style.maxWidth="80px";A.style.position= +"relative";A.style.top="-2px";A.style.verticalAlign="bottom";A.style.marginRight="6px";A.style.display="none";c=mxUtils.button(h||mxResources.get("edit"),c);c.className="geBtn gePrimaryBtn";h=document.createElement("div");h.style.position="absolute";h.style.bottom="30px";h.style.width="640px";h.style.textAlign="right";m=document.createElement("div");m.className="geToolbarContainer";m.style.cssText="box-shadow:none !important;background-color:transparent;padding:2px;border-style:none !important;bottom:30px;"; +this.init=function(){function b(b){if(null!=b){var a=b.getAttribute("background");if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";e.style.backgroundColor=a;(new mxCodec(b.ownerDocument)).decode(b,l.getModel());l.maxFitScale=1;l.fit(8);l.center()}}function c(e){null!=e&&(e=b(mxUtils.parseXml(a.editor.graph.decompress(mxUtils.getTextContent(e))).documentElement));return e}mxEvent.addListener(A,"change",function(b){u=parseInt(A.value);c(t[u]);mxEvent.consume(b)});if("mxfile"==q.nodeName){var f=q.getElementsByTagName("diagram"); +t=[];for(var d=0;d<f.length;d++)t.push(f[d]);0<t.length&&c(t[u]);if(1<t.length)for(A.style.display="",d=0;d<t.length;d++)f=document.createElement("option"),mxUtils.write(f,t[d].getAttribute("name")||mxResources.get("pageWithNumber",[d+1])),f.setAttribute("value",d),d==u&&f.setAttribute("selected","selected"),A.appendChild(f)}else b(q)};m.appendChild(A);m.appendChild(d);m.appendChild(f);m.appendChild(x);m.appendChild(b);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.className= +"geBtn";n=null!=n?mxUtils.button(mxResources.get("ignore"),n):null;null!=n&&(n.className="geBtn");a.editor.cancelFirst?(h.appendChild(d),null!=n&&h.appendChild(n),h.appendChild(g),h.appendChild(c)):(h.appendChild(c),h.appendChild(g),null!=n&&h.appendChild(n),h.appendChild(d));p.appendChild(h);p.appendChild(m);this.container=p},FindWindow=function(a,d,f,c,g){function h(b,a,e){if("object"===typeof a.value&&null!=a.value.attributes){a=a.value.attributes;for(var c=0;c<a.length;c++)if("label"!=a[c].nodeName){var k= +mxUtils.trim(a[c].nodeValue.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase();if(null==b&&k.substring(0,e.length)===e||null!=b&&b.test(k))return!0}}return!1}function m(){var a=p.model.getDescendants(p.model.getRoot()),c=q.value.toLowerCase(),k=u.checked?new RegExp(c):null,l=null;b!=c&&(b=c,e=null);var f=null==e;if(0<c.length)for(var d=0;d<a.length;d++){var g=p.view.getState(a[d]);if(null!=g&&null!=g.cell.value&&(f||null==l)&&(p.model.isVertex(g.cell)||p.model.isEdge(g.cell))&&(p.isHtmlLabel(g.cell)? +(t.innerHTML=p.getLabel(g.cell),label=mxUtils.extractTextWithWhitespace([t])):label=p.getLabel(g.cell),label=mxUtils.trim(label.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")).toLowerCase(),null==k&&(label.substring(0,c.length)===c||h(k,g.cell,c))||null!=k&&(k.test(label)||h(k,g.cell,c))))if(f){l=g;break}else null==l&&(l=g);f=f||g==e}null!=l?(e=l,p.scrollCellToVisible(e.cell),p.isEnabled()?p.setSelectionCell(e.cell):p.highlightCell(e.cell)):p.isEnabled()&&p.clearSelection();return 0==c.length||null!=l} +var n=a.actions.get("find"),p=a.editor.graph,b=null,e=null,l=document.createElement("div");l.style.userSelect="none";l.style.overflow="hidden";l.style.padding="10px";l.style.height="100%";var q=document.createElement("input");q.setAttribute("placeholder",mxResources.get("find"));q.setAttribute("type","text");q.style.marginTop="4px";q.style.marginBottom="6px";q.style.width="200px";q.style.fontSize="12px";q.style.borderRadius="4px";q.style.padding="6px";l.appendChild(q);mxUtils.br(l);var u=document.createElement("input"); +u.setAttribute("type","checkbox");u.style.marginRight="4px";l.appendChild(u);mxUtils.write(l,mxResources.get("regularExpression"));var t=document.createElement("div");mxUtils.br(l);var w=mxUtils.button(mxResources.get("reset"),function(){q.value="";q.style.backgroundColor="";b=e=null;q.focus()});w.setAttribute("title",mxResources.get("reset"));w.style.marginTop="6px";w.style.marginRight="4px";w.className="geBtn";l.appendChild(w);w=mxUtils.button(mxResources.get("find"),function(){try{q.style.backgroundColor= +m()?"":"#ffcfcf"}catch(x){a.handleError(x)}});w.setAttribute("title",mxResources.get("find")+" (Enter)");w.style.marginTop="6px";w.className="geBtn gePrimaryBtn";l.appendChild(w);mxEvent.addListener(q,"keyup",function(a){if(91==a.keyCode||17==a.keyCode)mxEvent.consume(a);else if(27==a.keyCode)n.funct();else if(b!=q.value.toLowerCase()||13==a.keyCode)try{q.style.backgroundColor=m()?"":"#ffcfcf"}catch(A){q.style.backgroundColor="#ffcfcf"}});mxEvent.addListener(l,"keydown",function(b){70==b.keyCode&& +a.keyHandler.isControlDown(b)&&!mxEvent.isShiftDown(b)&&(n.funct(),mxEvent.consume(b))});this.window=new mxWindow(mxResources.get("find"),l,d,f,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)):p.container.focus()}))}, +TagsWindow=function(a,d,f,c,g){var h=a.editor.graph,m="tags",n=document.createElement("div");n.style.userSelect="none";n.style.overflow="hidden";n.style.padding="10px";n.style.height="100%";var p=document.createElement("input");p.setAttribute("placeholder",mxResources.get("allTags"));p.setAttribute("type","text");p.style.marginTop="4px";p.style.width="260px";p.style.fontSize="12px";p.style.borderRadius="4px";p.style.padding="6px";n.appendChild(p);if(!a.isOffline()||mxClient.IS_CHROMEAPP){p.style.width= +"240px";var b=a.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000046966");b.firstChild.style.marginBottom="6px";b.style.marginLeft="6px";n.appendChild(b)}mxEvent.addListener(p,"dblclick",function(){var b=new FilenameDialog(a,m,mxResources.get("ok"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&(m=b)}),mxResources.get("enterPropertyName"));a.showDialog(b.container,300,80,!0,!0);b.init()});p.setAttribute("title",mxResources.get("doubleClickChangeProperty"));mxUtils.br(n); +b=mxUtils.button(mxResources.get("hide"),function(){var b=h.getCellsForTags(p.value.split(" "),void 0,m);h.setCellsVisible(b,!1)});b.setAttribute("title",mxResources.get("hide"));b.style.marginTop="8px";b.style.marginRight="4px";b.className="geBtn";n.appendChild(b);b=mxUtils.button(mxResources.get("show"),function(){var b=h.getCellsForTags(p.value.split(" "),void 0,m);h.setCellsVisible(b,!0);h.isEnabled()&&h.setSelectionCells(b)});b.setAttribute("title",mxResources.get("show"));b.style.marginTop= +"8px";b.style.marginRight="4px";b.className="geBtn";n.appendChild(b);var e=a.actions.get("tags"),b=mxUtils.button(mxResources.get("close"),function(){e.funct()});b.setAttribute("title",mxResources.get("close")+" (Enter/Esc)");b.style.marginTop="8px";b.className="geBtn gePrimaryBtn";n.appendChild(b);mxEvent.addListener(p,"keyup",function(b){13!=b.keyCode&&27!=b.keyCode||e.funct()});this.window=new mxWindow(mxResources.get("tags"),n,d,f,c,g,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1); +this.window.setResizable(!1);this.window.setClosable(!0);this.window.addListener("show",mxUtils.bind(this,function(){this.window.isVisible()?(p.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?p.select():document.execCommand("selectAll",!1,null)):h.container.focus()}))},AuthDialog=function(a,d,f,c){var g=document.createElement("div");g.style.textAlign="center";var h=document.createElement("p");h.style.fontSize="16pt";h.style.padding="0px";h.style.margin="0px";h.style.color= +"gray";mxUtils.write(h,mxResources.get("authorizationRequired"));var m="Unknown",n=document.createElement("img");n.setAttribute("border","0");n.setAttribute("align","absmiddle");n.style.marginRight="10px";d==a.drive?(m=mxResources.get("googleDrive"),n.src=IMAGE_PATH+"/google-drive-logo-white.svg"):d==a.dropbox?(m=mxResources.get("dropbox"),n.src=IMAGE_PATH+"/dropbox-logo-white.svg"):d==a.oneDrive?(m=mxResources.get("oneDrive"),n.src=IMAGE_PATH+"/onedrive-logo-white.svg"):d==a.gitHub?(m=mxResources.get("github"), +n.src=IMAGE_PATH+"/github-logo-white.svg"):d==a.trello&&(m=mxResources.get("trello"),n.src=IMAGE_PATH+"/trello-logo-white.svg");a=document.createElement("p");mxUtils.write(a,mxResources.get("authorizeThisAppIn",[m]));var p=document.createElement("input");p.setAttribute("type","checkbox");m=mxUtils.button(mxResources.get("authorize"),function(){c(p.checked)});m.insertBefore(n,m.firstChild);m.style.marginTop="6px";m.className="geBigButton";g.appendChild(h);g.appendChild(a);g.appendChild(m);f&&(f=document.createElement("p"), +f.style.marginTop="20px",f.appendChild(p),h=document.createElement("span"),mxUtils.write(h," "+mxResources.get("rememberMe")),f.appendChild(h),g.appendChild(f),p.checked=!0,p.defaultChecked=!0,mxEvent.addListener(h,"click",function(b){p.checked=!p.checked;mxEvent.consume(b)}));this.container=g},MoreShapesDialog=function(a,d,f){f=null!=f?f:a.sidebar.entries;var c=document.createElement("div");if(d){d=document.createElement("div");d.className="geDialogTitle";mxUtils.write(d,mxResources.get("shapes")); +d.style.position="absolute";d.style.top="0px";d.style.left="0px";d.style.lineHeight="40px";d.style.height="40px";d.style.right="0px";mxClient.IS_QUIRKS&&(d.style.width="718px");var g=document.createElement("div"),h=document.createElement("div");g.style.position="absolute";g.style.top="40px";g.style.left="0px";g.style.width="202px";g.style.bottom="60px";g.style.overflow="auto";mxClient.IS_QUIRKS&&(g.style.height="437px",g.style.marginTop="1px");h.style.position="absolute";h.style.left="202px";h.style.right= +"0px";h.style.top="40px";h.style.bottom="60px";h.style.overflow="auto";h.style.borderLeft="1px solid rgb(211, 211, 211)";h.style.textAlign="center";mxClient.IS_QUIRKS&&(h.style.width=parseInt(d.style.width)-202+"px",h.style.height=g.style.height,h.style.marginTop=g.style.marginTop);var m=null,n=[],p=document.createElement("div");p.style.position="relative";p.style.left="0px";p.style.right="0px";for(var b=0;b<f.length;b++)(function(e){var c=p.cloneNode(!1);c.style.fontWeight="bold";c.style.backgroundColor= +"dark"==uiTheme?"#505759":"#e5e5e5";c.style.padding="6px 0px 6px 20px";mxUtils.write(c,e.title);g.appendChild(c);for(var k=0;k<e.entries.length;k++)(function(e){var c=p.cloneNode(!1);c.style.cursor="pointer";c.style.padding="4px 0px 4px 20px";var l=document.createElement("input");l.setAttribute("type","checkbox");l.checked=a.sidebar.isEntryVisible(e.id);l.defaultChecked=l.checked;c.appendChild(l);mxUtils.write(c," "+e.title);g.appendChild(c);var f=function(b){if(null==b||"INPUT"!=mxEvent.getSource(b).nodeName)null!= +e.imageCallback?e.imageCallback(h):null!=e.image?h.innerHTML='<img border="0" src="'+e.image+'"/>':(h.innerHTML="<br>",mxUtils.write(h,mxResources.get("noPreview"))),null!=m&&(m.style.backgroundColor=""),m=c,m.style.backgroundColor="dark"==uiTheme?"#505759":"#ebf2f9",null!=b&&mxEvent.consume(b)};mxEvent.addListener(c,"click",f);mxEvent.addListener(c,"dblclick",function(b){l.checked=!l.checked;mxEvent.consume(b)});n.push(function(){return l.checked?e.id:null});0==b&&0==k&&f()})(e.entries[k])})(f[b]); +c.style.padding="30px";c.appendChild(d);c.appendChild(g);c.appendChild(h);f=document.createElement("div");f.className="geDialogFooter";f.style.position="absolute";f.style.paddingRight="16px";f.style.color="gray";f.style.left="0px";f.style.right="0px";f.style.bottom="0px";f.style.height="60px";f.style.lineHeight="52px";mxClient.IS_QUIRKS&&(f.style.width=d.style.width,f.style.paddingTop="12px");var e=document.createElement("input");e.setAttribute("type","checkbox");if(isLocalStorage||mxClient.IS_CHROMEAPP)d= +document.createElement("span"),d.style.paddingRight="20px",d.appendChild(e),mxUtils.write(d," "+mxResources.get("rememberThisSetting")),e.checked=!0,e.defaultChecked=!0,mxEvent.addListener(d,"click",function(b){mxEvent.getSource(b)!=e&&(e.checked=!e.checked,mxEvent.consume(b))}),mxClient.IS_QUIRKS&&(d.style.position="relative",d.style.top="-6px"),f.appendChild(d);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.className="geBtn";var l=mxUtils.button(mxResources.get("apply"), +function(){a.hideDialog();for(var b=[],c=0;c<n.length;c++){var k=n[c].apply(this,arguments);null!=k&&b.push(k)}a.sidebar.showEntries(b.join(";"),e.checked,!0)});l.className="geBtn gePrimaryBtn"}else{var q=document.createElement("table"),u=document.createElement("tbody");c.style.height="100%";c.style.overflow="auto";var t=document.createElement("tr");q.style.width="100%";d=document.createElement("td");var l=document.createElement("td"),w=document.createElement("td"),x=mxUtils.bind(this,function(b, +e,c){var k=document.createElement("input");k.type="checkbox";q.appendChild(k);k.checked=a.sidebar.isEntryVisible(c);var l=document.createElement("span");mxUtils.write(l,e);e=document.createElement("div");e.style.display="block";e.appendChild(k);e.appendChild(l);mxEvent.addListener(l,"click",function(b){k.checked=!k.checked;mxEvent.consume(b)});b.appendChild(e);return function(){return k.checked?c:null}});t.appendChild(d);t.appendChild(l);t.appendChild(w);u.appendChild(t);q.appendChild(u);for(var n= +[],A=0,b=0;b<f.length;b++)for(u=0;u<f[b].entries.length;u++)A++;for(var k=[d,l,w],v=0,b=0;b<f.length;b++)(function(b){for(var a=0;a<b.entries.length;a++){var e=b.entries[a];n.push(x(k[Math.floor(v/(A/3))],e.title,e.id));v++}})(f[b]);c.appendChild(q);f=document.createElement("div");f.style.marginTop="18px";f.style.textAlign="center";e=document.createElement("input");isLocalStorage&&(e.setAttribute("type","checkbox"),e.checked=!0,e.defaultChecked=!0,f.appendChild(e),d=document.createElement("span"), +mxUtils.write(d," "+mxResources.get("rememberThisSetting")),f.appendChild(d),mxEvent.addListener(d,"click",function(b){e.checked=!e.checked;mxEvent.consume(b)}));c.appendChild(f);d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});d.className="geBtn";l=mxUtils.button(mxResources.get("apply"),function(){for(var b=["search"],c=0;c<n.length;c++){var k=n[c].apply(this,arguments);null!=k&&b.push(k)}a.sidebar.showEntries(0<b.length?b.join(";"):"",e.checked);a.hideDialog()});l.className= +"geBtn gePrimaryBtn";f=document.createElement("div");f.style.marginTop="26px";f.style.textAlign="right"}a.editor.cancelFirst?(f.appendChild(d),f.appendChild(l)):(f.appendChild(l),f.appendChild(d));c.appendChild(f);this.container=c},PluginsDialog=function(a){function d(){if(0==g.length)c.innerHTML=mxResources.get("noPlugins");else{c.innerHTML="";for(var b=0;b<g.length;b++){var l=document.createElement("span");l.style.whiteSpace="nowrap";var f=document.createElement("span");f.className="geSprite geSprite-delete"; +f.style.position="relative";f.style.cursor="pointer";f.style.top="5px";f.style.marginRight="4px";f.style.display="inline-block";l.appendChild(f);mxUtils.write(l,g[b]);c.appendChild(l);mxUtils.br(c);mxEvent.addListener(f,"click",function(b){return function(){a.confirm(window.parent.mxResources.get("delete")+' "'+g[b]+'"?',function(){g.splice(b,1);d()})}}(b))}}}var f=document.createElement("div"),c=document.createElement("div");c.style.height="120px";c.style.overflow="auto";var g=mxSettings.getPlugins().slice(); +f.appendChild(c);d();var h=mxUtils.button(mxResources.get("add"),function(){var b="",c=urlParams.p;if(null!=c&&0<c.length){for(var f=c.split(";"),c=0;c<f.length;c++){var u=App.pluginRegistry[f[c]];null!=u&&(b+=u+";")}";"==b.charAt(b.length-1)&&(b=b.substring(0,b.length-1))}b=new FilenameDialog(a,b,mxResources.get("add"),function(b){if(null!=b&&0<b.length){f=b.split(";");for(b=0;b<f.length;b++){var a=f[b],e=App.pluginRegistry[a];null!=e&&(a=e);0<a.length&&0>mxUtils.indexOf(g,a)&&g.push(a)}d()}},mxResources.get("enterValue")+ " ("+mxResources.get("url")+")");a.showDialog(b.container,300,80,!0,!0);b.init()});h.className="geBtn";var m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});m.className="geBtn";var n=mxUtils.button(mxResources.get("apply"),function(){mxSettings.setPlugins(g);mxSettings.save();a.hideDialog();a.alert(mxResources.get("restartForChangeRequired"))});n.className="geBtn gePrimaryBtn";var p=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000056430")}); -p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");var b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(m),b.appendChild(p),b.appendChild(h),b.appendChild(n)):(b.appendChild(p),b.appendChild(h),b.appendChild(n),b.appendChild(m));d.appendChild(b);this.container=d},CropImageDialog=function(a,f,d){var c=document.createElement("div"),g=document.createElement("table"),h=document.createElement("tbody"), +p.className="geBtn";a.isOffline()&&!mxClient.IS_CHROMEAPP&&(p.style.display="none");var b=document.createElement("div");b.style.marginTop="14px";b.style.textAlign="right";a.editor.cancelFirst?(b.appendChild(m),b.appendChild(p),b.appendChild(h),b.appendChild(n)):(b.appendChild(p),b.appendChild(h),b.appendChild(n),b.appendChild(m));f.appendChild(b);this.container=f},CropImageDialog=function(a,d,f){var c=document.createElement("div"),g=document.createElement("table"),h=document.createElement("tbody"), m=document.createElement("tr"),n=document.createElement("td");n.style.whiteSpace="nowrap";n.setAttribute("colspan","2");mxUtils.write(n,mxResources.get("loading")+"...");m.appendChild(n);h.appendChild(m);var m=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");g.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px";e.value="0";this.init=function(){e.focus(); e.select()};b.appendChild(e);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="100px";l.value="0";b.appendChild(l);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("right")+ -":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";b.appendChild(u);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("bottom")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";b.appendChild(q);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr"); -p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("circle")+":");m.appendChild(p);var t=document.createElement("input");t.setAttribute("type","checkbox");b.appendChild(t);m.appendChild(b);h.appendChild(m);g.appendChild(h);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=new Image,x=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),v=w.width, -f=w.height,g=parseInt(e.value),x=parseInt(l.value),v=Math.max(1,v-g-parseInt(u.value)),f=Math.max(1,f-x-parseInt(q.value));b.width=v;b.height=f;t.checked&&(c.fillStyle="#000000",c.arc(v/2,f/2,Math.min(v/2,f/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,x,v,f,0,0,v,f);d(b.toDataURL())});x.setAttribute("disabled","disabled");w.onload=function(){x.removeAttribute("disabled");n.innerHTML="";mxUtils.write(n,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+ -": "+w.height)};w.src=f;mxEvent.addListener(c,"keypress",function(b){13==b.keyCode&&x.click()});f=document.createElement("div");f.style.marginTop="20px";f.style.textAlign="right";a.editor.cancelFirst?(f.appendChild(g),f.appendChild(x)):(f.appendChild(x),f.appendChild(g));c.appendChild(f);this.container=c},EditGeometryDialog=function(a,f){var d=a.editor.graph,c=1==f.length?d.getCellGeometry(f[0]):null,g=document.createElement("div"),h=document.createElement("table"),m=document.createElement("tbody"), +":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value="0";b.appendChild(q);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("bottom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value="0";b.appendChild(u);m.appendChild(p);m.appendChild(b);h.appendChild(m);m=document.createElement("tr"); +p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("circle")+":");m.appendChild(p);var t=document.createElement("input");t.setAttribute("type","checkbox");b.appendChild(t);m.appendChild(b);h.appendChild(m);g.appendChild(h);c.appendChild(g);var g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=new Image,x=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();var b=document.createElement("canvas"),c=b.getContext("2d"),d=w.width, +x=w.height,g=parseInt(e.value),h=parseInt(l.value),d=Math.max(1,d-g-parseInt(q.value)),x=Math.max(1,x-h-parseInt(u.value));b.width=d;b.height=x;t.checked&&(c.fillStyle="#000000",c.arc(d/2,x/2,Math.min(d/2,x/2),0,2*Math.PI),c.fill(),c.globalCompositeOperation="source-in");c.drawImage(w,g,h,d,x,0,0,d,x);f(b.toDataURL())});x.setAttribute("disabled","disabled");w.onload=function(){x.removeAttribute("disabled");n.innerHTML="";mxUtils.write(n,mxResources.get("width")+": "+w.width+" "+mxResources.get("height")+ +": "+w.height)};w.src=d;mxEvent.addListener(c,"keypress",function(b){13==b.keyCode&&x.click()});d=document.createElement("div");d.style.marginTop="20px";d.style.textAlign="right";a.editor.cancelFirst?(d.appendChild(g),d.appendChild(x)):(d.appendChild(x),d.appendChild(g));c.appendChild(d);this.container=c},EditGeometryDialog=function(a,d){var f=a.editor.graph,c=1==d.length?f.getCellGeometry(d[0]):null,g=document.createElement("div"),h=document.createElement("table"),m=document.createElement("tbody"), n=document.createElement("tr"),p=document.createElement("td"),b=document.createElement("td");h.style.paddingLeft="6px";mxUtils.write(p,mxResources.get("left")+":");var e=document.createElement("input");e.setAttribute("type","text");e.style.width="100px";e.value=null!=c?c.x:"";this.init=function(){e.focus();e.select()};b.appendChild(e);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("top")+ -":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="100px";l.value=null!=c?c.y:"";b.appendChild(l);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("width")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.width:"";b.appendChild(u);n.appendChild(p);n.appendChild(b);m.appendChild(n); -n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("height")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c?c.height:"";b.appendChild(q);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("rotation")+":");var t=document.createElement("input"); -t.setAttribute("type","text");t.style.width="100px";t.value=1==f.length?mxUtils.getValue(d.getCellStyle(f[0]),mxConstants.STYLE_ROTATION,0):"";b.appendChild(t);n.appendChild(p);n.appendChild(b);m.appendChild(n);h.appendChild(m);g.appendChild(h);var c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.getModel().beginUpdate();try{for(var b=0;b<f.length;b++){var c=d.getCellGeometry(f[b]);null!=c&&(c=c.clone(),d.isCellMovable(f[b])&& -(0<mxUtils.trim(e.value).length&&(c.x=Number(e.value)),0<mxUtils.trim(l.value).length&&(c.y=Number(l.value))),d.isCellResizable(f[b])&&(0<mxUtils.trim(u.value).length&&(c.width=Number(u.value)),0<mxUtils.trim(q.value).length&&(c.height=Number(q.value))),d.getModel().setGeometry(f[b],c));0<mxUtils.trim(t.value).length&&d.setCellStyles(mxConstants.STYLE_ROTATION,Number(t.value),[f[b]])}}finally{d.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&w.click()});h=document.createElement("div"); -h.style.marginTop="20px";h.style.textAlign="right";a.editor.cancelFirst?(h.appendChild(c),h.appendChild(w)):(h.appendChild(w),h.appendChild(c));g.appendChild(h);this.container=g},LibraryDialog=function(a,f,d,c,g,h){function m(b){for(b=document.elementFromPoint(b.clientX,b.clientY);null!=b&&b.parentNode!=q;)b=b.parentNode;var a=null;if(null!=b)for(var e=q.firstChild,a=0;null!=e&&e!=b;)e=e.nextSibling,a++;return a}function n(b,c,l,d,f,g,u,h,B){try{if(null==c||"image/"==c.substring(0,6))if(null==b&& -null!=u||null==w[b]){var C=function(){H.innerHTML="";H.style.cursor="pointer";H.style.whiteSpace="nowrap";H.style.textOverflow="ellipsis";mxUtils.write(H,null!=K.title&&0<K.title.length?K.title:mxResources.get("untitled"));H.style.color=null==K.title||0==K.title.length?"#d0d0d0":""};q.style.backgroundImage="";t.style.display="none";var A=f,y=g;if(f>a.maxImageSize||g>a.maxImageSize){var L=Math.min(1,Math.min(a.maxImageSize/Math.max(1,f)),a.maxImageSize/Math.max(1,g));f*=L;g*=L}A>y?(y=Math.round(100* -y/A),A=100):(A=Math.round(100*A/y),y=100);var p=document.createElement("div");p.setAttribute("draggable","true");p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.style.position="relative";p.style.cursor="move";mxUtils.setPrefixedStyle(p.style,"transition","transform .1s ease-in-out");if(null!=b){var z=document.createElement("img");z.setAttribute("src",v.convert(b));z.style.width=A+"px";z.style.height=y+"px";z.style.margin="10px";z.style.paddingBottom=Math.floor((100-y)/2)+"px";z.style.paddingLeft= -Math.floor((100-A)/2)+"px";p.appendChild(z)}else if(null!=u){var E=a.stringToCells(a.editor.graph.decompress(u.xml));0<E.length&&(a.sidebar.createThumb(E,100,100,p,null,!0,!1),p.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",p.firstChild.style.cursor="")}var D=document.createElement("img");D.setAttribute("src",Editor.closeImage);D.setAttribute("border","0");D.setAttribute("title",mxResources.get("delete"));D.setAttribute("align","top");D.style.paddingTop="4px";D.style.position= -"absolute";D.style.marginLeft="-12px";D.style.zIndex="1";D.style.cursor="pointer";mxEvent.addListener(D,"dragstart",function(b){mxEvent.consume(b)});(function(b,a,c){mxEvent.addListener(D,"click",function(k){w[a]=null;for(var l=0;l<e.length;l++)if(null!=e[l].data&&e[l].data==a||null!=e[l].xml&&null!=c&&e[l].xml==c.xml){e.splice(l,1);break}p.parentNode.removeChild(b);0==e.length&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",t.style.display="");mxEvent.consume(k)});mxEvent.addListener(D, -"dblclick",function(b){mxEvent.consume(b)})})(p,b,u);p.appendChild(D);p.style.marginBottom="30px";var H=document.createElement("div");H.style.position="absolute";H.style.boxSizing="border-box";H.style.bottom="-18px";H.style.left="10px";H.style.right="10px";H.style.backgroundColor="#ffffff";H.style.overflow="hidden";H.style.textAlign="center";var K=null;null!=b?(K={data:b,w:f,h:g,title:B},null!=h&&(K.aspect=h),w[b]=z,e.push(K)):null!=u&&(u.aspect="fixed",e.push(u),K=u);mxEvent.addListener(H,"keydown", -function(b){13==b.keyCode&&null!=k&&(k(),k=null,mxEvent.consume(b))});C();p.appendChild(H);mxEvent.addListener(H,"mousedown",function(b){"true"!=H.getAttribute("contentEditable")&&mxEvent.consume(b)});E=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var e=new FilenameDialog(a,K.title||"",mxResources.get("ok"),function(b){null!=b&&(K.title=b,C())},mxResources.get("enterValue"));a.showDialog(e.container,300,80,!0,!0);e.init(); -mxEvent.consume(b)}else if("true"!=H.getAttribute("contentEditable")){null!=k&&(k(),k=null);if(null==K.title||0==K.title.length)H.innerHTML="";H.style.textOverflow="";H.style.whiteSpace="";H.style.cursor="text";H.style.color="";H.setAttribute("contentEditable","true");H.focus();document.execCommand("selectAll",!1,null);k=function(){H.removeAttribute("contentEditable");H.style.cursor="pointer";K.title=H.innerHTML;C()};mxEvent.consume(b)}};mxEvent.addListener(H,"click",E);mxEvent.addListener(p,"dblclick", -E);q.appendChild(p);mxEvent.addListener(p,"dragstart",function(a){null==b&&null!=u&&(D.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=u.xml&&a.dataTransfer.setData("Text",u.xml);x=m(a);mxClient.IS_GC&&(p.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(p.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(p,30);D.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(p,"dragend",function(b){"hidden"==D.style.visibility&&(D.style.visibility= -"",H.style.visibility="");x=null;mxUtils.setOpacity(p,100);mxUtils.setPrefixedStyle(p.style,"transform",null)})}else F||(F=!0,a.handleError({message:mxResources.get("fileExists")}));else{f=!1;try{if(a.spinner.stop(),A=mxUtils.parseXml(b),"mxlibrary"==A.documentElement.nodeName){y=JSON.parse(mxUtils.getTextContent(A.documentElement));if(null!=y&&0<y.length)for(var M=0;M<y.length;M++)null!=y[M].xml?n(null,null,0,0,0,0,y[M]):n(y[M].data,null,0,0,y[M].w,y[M].h,null,"fixed",y[M].title);f=!0}else if("mxfile"== -A.documentElement.nodeName){for(var I=A.documentElement.getElementsByTagName("diagram"),M=0;M<I.length;M++){var y=mxUtils.getTextContent(I[M]),E=a.stringToCells(a.editor.graph.decompress(y)),P=a.editor.graph.getBoundingBoxFromGeometry(E);n(null,null,0,0,0,0,{xml:y,w:P.width,h:P.height})}f=!0}}catch(ba){}f||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function p(b){b.dataTransfer.dropEffect=null!=x?"move":"copy";b.stopPropagation();b.preventDefault()} -function b(b){b.stopPropagation();b.preventDefault();F=!1;B=m(b);if(null!=x)null!=B&&B<q.children.length?(e.splice(B>x?B-1:B,0,e.splice(x,1)[0]),q.insertBefore(q.children[x],q.children[B])):(e.push(e.splice(x,1)[0]),q.appendChild(q.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,C(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| -/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(b){n(c,null,0,0,b.width,b.height);q.scrollTop=q.scrollHeight})}b.stopPropagation();b.preventDefault()}var e=[];d=document.createElement("div");d.style.height="100%";var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.height="40px";d.appendChild(l);mxUtils.write(l,mxResources.get("filename")+":");null==f&&(f=a.defaultLibraryName+".xml");var u=document.createElement("input");u.setAttribute("value", -f);u.style.marginRight="20px";u.style.marginLeft="10px";u.style.width="500px";null==g||g.isRenamable()||u.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())u.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};l.appendChild(u);var q=document.createElement("div");q.style.borderWidth="1px 0px 1px 0px";q.style.borderColor="#d3d3d3";q.style.borderStyle="solid";q.style.marginTop="6px"; -q.style.overflow="auto";q.style.height="340px";q.style.backgroundPosition="center center";q.style.backgroundRepeat="no-repeat";0==e.length&&Graph.fileSupport&&(q.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var t=document.createElement("div");t.style.position="absolute";t.style.width="640px";t.style.top="260px";t.style.textAlign="center";t.style.fontSize="22px";t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));d.appendChild(t);var w={},x=null,B=null,k=null; -f=function(b){"true"!=mxEvent.getSource(b).getAttribute("contentEditable")&&null!=k&&(k(),k=null,mxEvent.consume(b))};mxEvent.addListener(q,"mousedown",f);mxEvent.addListener(q,"pointerdown",f);mxEvent.addListener(q,"touchstart",f);var v=new mxUrlConverter,F=!1;if(null!=c)for(f=0;f<c.length;f++)l=c[f],n(l.data,null,0,0,l.w,l.h,l,l.aspect,l.title);mxEvent.addListener(q,"dragleave",function(b){t.style.cursor="";for(var a=mxEvent.getSource(b);null!=a;){if(a==q||a==t){b.stopPropagation();b.preventDefault(); -break}a=a.parentNode}});var C=function(b){return function(e,c,k,l,d,f,v,g,u){null!=u&&(/(\.vsdx)($|\?)/i.test(u.name)||/(\.vssx)($|\?)/i.test(u.name))?a.importVisio(u,mxUtils.bind(this,function(e){a.spinner.stop();n(e,c,k,l,d,f,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," "))})):null!=u&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(e,u.name)?a.parseFile(u,mxUtils.bind(this,function(e){4==e.readyState&&(a.spinner.stop(),200<=e.status&&299>= -e.status&&(n(e.responseText,c,k,l,d,f,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight))})):(n(e,c,k,l,d,f,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),q.scrollTop=q.scrollHeight)}};mxEvent.addListener(q,"dragover",p);mxEvent.addListener(q,"drop",b);mxEvent.addListener(t,"dragover",p);mxEvent.addListener(t,"drop",b);d.appendChild(q);c=document.createElement("div");c.style.textAlign="right"; -c.style.marginTop="20px";f=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});f.setAttribute("id","btnCancel");f.className="geBtn";a.editor.cancelFirst&&c.appendChild(f);l=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(e),c=u.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document, -"_blank")});l.setAttribute("id","btnDownload");l.className="geBtn";c.appendChild(l);var y=document.createElement("input");y.setAttribute("multiple","multiple");y.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(y,"change",function(b){F=!1;a.importFiles(y.files,0,0,a.maxImageSize,function(a,e,c,k,l,d,f,v,g){C(b)(a,e,c,k,l,d,f,v,g);y.value=""});q.scrollTop=q.scrollHeight}),l=mxUtils.button(mxResources.get("import"),function(){null!=k&&(k(),k=null);y.click()}),l.setAttribute("id", -"btnAddImage"),l.className="geBtn",c.appendChild(l));l=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=k&&(k(),k=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(b,a,e){F=!1;if(null!=b){if("data:image/"==b.substring(0,11)){var c=b.indexOf(",");0<c&&(b=b.substring(0,c)+";base64,"+b.substring(c+1))}n(b,null,0,0,a,e);q.scrollTop=q.scrollHeight}})});l.setAttribute("id","btnAddImageUrl");l.className="geBtn";c.appendChild(l);this.saveBtnClickHandler=function(b,e,c,k){a.saveLibrary(b, -e,c,k)};l=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=k&&(k(),k=null);this.saveBtnClickHandler(u.value,e,g,h)}));l.setAttribute("id","btnSave");l.className="geBtn gePrimaryBtn";c.appendChild(l);a.editor.cancelFirst||c.appendChild(f);d.appendChild(c);this.container=d},EditShapeDialog=function(a,f,d,c,g){c=null!=c?c:300;g=null!=g?g:120;var h,m,n=document.createElement("table"),p=document.createElement("tbody");n.style.cellPadding="4px";h=document.createElement("tr");m= -document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";mxUtils.write(m,d);h.appendChild(m);p.appendChild(h);h=document.createElement("tr");m=document.createElement("td");var b=document.createElement("textarea");b.style.outline="none";b.style.resize="none";b.style.width=c-200+"px";b.style.height=g+"px";this.textarea=b;this.init=function(){b.focus();b.scrollTop=0};m.appendChild(b);h.appendChild(m);m=document.createElement("td");d=document.createElement("div");d.style.position= -"relative";d.style.border="1px solid gray";d.style.top="6px";d.style.width="200px";d.style.height=g+4+"px";d.style.overflow="hidden";d.style.marginBottom="16px";mxEvent.disableContextMenu(d);m.appendChild(d);var e=new Graph(d);e.setEnabled(!1);var l=a.editor.graph.cloneCells([f])[0];e.addCells([l]);d=e.view.getState(l);var u="";null!=d.shape&&null!=d.shape.stencil&&(u=mxUtils.getPrettyXml(d.shape.stencil.desc));mxUtils.write(b,u||"");d=e.getGraphBounds();g=Math.min(160/d.width,(g-40)/d.height);e.view.scaleAndTranslate(g, -20/g-d.x,20/g-d.y);h.appendChild(m);p.appendChild(h);h=document.createElement("tr");m=document.createElement("td");m.setAttribute("colspan","2");m.style.paddingTop="2px";m.style.whiteSpace="nowrap";m.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&m.appendChild(g);a.isOffline()||(d=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}), -d.className="geBtn",m.appendChild(d));var q=function(e,c,l){var d=b.value,k=mxUtils.parseXml(d),d=mxUtils.getPrettyXml(k.documentElement),k=k.documentElement.getElementsByTagName("parsererror");if(null!=k&&0<k.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(l&&a.hideDialog(),k=!e.model.contains(c),!l||k||d!=u){d=a.editor.graph.compress(d);e.getModel().beginUpdate();try{if(k){var f=a.editor.graph.getInsertPoint();c.geometry.x=f.x; -c.geometry.y=f.y;e.addCell(c)}e.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+d+")",[c])}catch(F){throw F;}finally{e.getModel().endUpdate()}k&&e.setSelectionCell(c)}};d=mxUtils.button(mxResources.get("preview"),function(){q(e,l,!1)});d.className="geBtn";m.appendChild(d);d=mxUtils.button(mxResources.get("apply"),function(){q(a.editor.graph,f,!0)});d.className="geBtn gePrimaryBtn";m.appendChild(d);a.editor.cancelFirst||m.appendChild(g);h.appendChild(m);p.appendChild(h);n.appendChild(p);this.container= -n},CustomDialog=function(a,f,d,c,g,h,m,n){var p=document.createElement("div");p.appendChild(f);f=document.createElement("div");f.style.marginTop="16px";f.style.textAlign="center";null!=m&&f.appendChild(m);m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c()});m.className="geBtn";n&&(m.style.display="none");a.editor.cancelFirst&&f.appendChild(m);a.isOffline()||null==h||(n=mxUtils.button(mxResources.get("help"),function(){a.openLink(h)}),n.className="geBtn",f.appendChild(n)); -g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=d&&d()});f.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||f.appendChild(m);p.appendChild(f);this.cancelBtn=m;this.okButton=g;this.container=p};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": +":");var l=document.createElement("input");l.setAttribute("type","text");l.style.width="100px";l.value=null!=c?c.y:"";b.appendChild(l);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("width")+":");var q=document.createElement("input");q.setAttribute("type","text");q.style.width="100px";q.value=null!=c?c.width:"";b.appendChild(q);n.appendChild(p);n.appendChild(b);m.appendChild(n); +n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("height")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.width="100px";u.value=null!=c?c.height:"";b.appendChild(u);n.appendChild(p);n.appendChild(b);m.appendChild(n);n=document.createElement("tr");p=document.createElement("td");b=document.createElement("td");mxUtils.write(p,mxResources.get("rotation")+":");var t=document.createElement("input"); +t.setAttribute("type","text");t.style.width="100px";t.value=1==d.length?mxUtils.getValue(f.getCellStyle(d[0]),mxConstants.STYLE_ROTATION,0):"";b.appendChild(t);n.appendChild(p);n.appendChild(b);m.appendChild(n);h.appendChild(m);g.appendChild(h);var c=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()}),w=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();f.getModel().beginUpdate();try{for(var b=0;b<d.length;b++){var c=f.getCellGeometry(d[b]);null!=c&&(c=c.clone(),f.isCellMovable(d[b])&& +(0<mxUtils.trim(e.value).length&&(c.x=Number(e.value)),0<mxUtils.trim(l.value).length&&(c.y=Number(l.value))),f.isCellResizable(d[b])&&(0<mxUtils.trim(q.value).length&&(c.width=Number(q.value)),0<mxUtils.trim(u.value).length&&(c.height=Number(u.value))),f.getModel().setGeometry(d[b],c));0<mxUtils.trim(t.value).length&&f.setCellStyles(mxConstants.STYLE_ROTATION,Number(t.value),[d[b]])}}finally{f.getModel().endUpdate()}});mxEvent.addListener(g,"keypress",function(b){13==b.keyCode&&w.click()});h=document.createElement("div"); +h.style.marginTop="20px";h.style.textAlign="right";a.editor.cancelFirst?(h.appendChild(c),h.appendChild(w)):(h.appendChild(w),h.appendChild(c));g.appendChild(h);this.container=g},LibraryDialog=function(a,d,f,c,g,h){function m(b){for(b=document.elementFromPoint(b.clientX,b.clientY);null!=b&&b.parentNode!=u;)b=b.parentNode;var a=null;if(null!=b)for(var e=u.firstChild,a=0;null!=e&&e!=b;)e=e.nextSibling,a++;return a}function n(b,c,l,f,d,q,g,A,h){try{if(null==c||"image/"==c.substring(0,6))if(null==b&& +null!=g||null==w[b]){var C=function(){H.innerHTML="";H.style.cursor="pointer";H.style.whiteSpace="nowrap";H.style.textOverflow="ellipsis";mxUtils.write(H,null!=J.title&&0<J.title.length?J.title:mxResources.get("untitled"));H.style.color=null==J.title||0==J.title.length?"#d0d0d0":""};u.style.backgroundImage="";t.style.display="none";var B=d,y=q;if(d>a.maxImageSize||q>a.maxImageSize){var K=Math.min(1,Math.min(a.maxImageSize/Math.max(1,d)),a.maxImageSize/Math.max(1,q));d*=K;q*=K}B>y?(y=Math.round(100* +y/B),B=100):(B=Math.round(100*B/y),y=100);var p=document.createElement("div");p.setAttribute("draggable","true");p.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";p.style.position="relative";p.style.cursor="move";mxUtils.setPrefixedStyle(p.style,"transition","transform .1s ease-in-out");if(null!=b){var z=document.createElement("img");z.setAttribute("src",v.convert(b));z.style.width=B+"px";z.style.height=y+"px";z.style.margin="10px";z.style.paddingBottom=Math.floor((100-y)/2)+"px";z.style.paddingLeft= +Math.floor((100-B)/2)+"px";p.appendChild(z)}else if(null!=g){var E=a.stringToCells(a.editor.graph.decompress(g.xml));0<E.length&&(a.sidebar.createThumb(E,100,100,p,null,!0,!1),p.firstChild.style.display=mxClient.IS_QUIRKS?"inline":"inline-block",p.firstChild.style.cursor="")}var D=document.createElement("img");D.setAttribute("src",Editor.closeImage);D.setAttribute("border","0");D.setAttribute("title",mxResources.get("delete"));D.setAttribute("align","top");D.style.paddingTop="4px";D.style.position= +"absolute";D.style.marginLeft="-12px";D.style.zIndex="1";D.style.cursor="pointer";mxEvent.addListener(D,"dragstart",function(b){mxEvent.consume(b)});(function(b,a,c){mxEvent.addListener(D,"click",function(k){w[a]=null;for(var l=0;l<e.length;l++)if(null!=e[l].data&&e[l].data==a||null!=e[l].xml&&null!=c&&e[l].xml==c.xml){e.splice(l,1);break}p.parentNode.removeChild(b);0==e.length&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')",t.style.display="");mxEvent.consume(k)});mxEvent.addListener(D, +"dblclick",function(b){mxEvent.consume(b)})})(p,b,g);p.appendChild(D);p.style.marginBottom="30px";var H=document.createElement("div");H.style.position="absolute";H.style.boxSizing="border-box";H.style.bottom="-18px";H.style.left="10px";H.style.right="10px";H.style.backgroundColor="#ffffff";H.style.overflow="hidden";H.style.textAlign="center";var J=null;null!=b?(J={data:b,w:d,h:q,title:h},null!=A&&(J.aspect=A),w[b]=z,e.push(J)):null!=g&&(g.aspect="fixed",e.push(g),J=g);mxEvent.addListener(H,"keydown", +function(b){13==b.keyCode&&null!=k&&(k(),k=null,mxEvent.consume(b))});C();p.appendChild(H);mxEvent.addListener(H,"mousedown",function(b){"true"!=H.getAttribute("contentEditable")&&mxEvent.consume(b)});E=function(b){if(mxClient.IS_IOS||mxClient.IS_QUIRKS||mxClient.IS_FF||!(null==document.documentMode||9<document.documentMode)){var e=new FilenameDialog(a,J.title||"",mxResources.get("ok"),function(b){null!=b&&(J.title=b,C())},mxResources.get("enterValue"));a.showDialog(e.container,300,80,!0,!0);e.init(); +mxEvent.consume(b)}else if("true"!=H.getAttribute("contentEditable")){null!=k&&(k(),k=null);if(null==J.title||0==J.title.length)H.innerHTML="";H.style.textOverflow="";H.style.whiteSpace="";H.style.cursor="text";H.style.color="";H.setAttribute("contentEditable","true");H.focus();document.execCommand("selectAll",!1,null);k=function(){H.removeAttribute("contentEditable");H.style.cursor="pointer";J.title=H.innerHTML;C()};mxEvent.consume(b)}};mxEvent.addListener(H,"click",E);mxEvent.addListener(p,"dblclick", +E);u.appendChild(p);mxEvent.addListener(p,"dragstart",function(a){null==b&&null!=g&&(D.style.visibility="hidden",H.style.visibility="hidden");mxClient.IS_FF&&null!=g.xml&&a.dataTransfer.setData("Text",g.xml);x=m(a);mxClient.IS_GC&&(p.style.opacity="0.9");window.setTimeout(function(){mxUtils.setPrefixedStyle(p.style,"transform","scale(0.5,0.5)");mxUtils.setOpacity(p,30);D.style.visibility="";H.style.visibility=""},0)});mxEvent.addListener(p,"dragend",function(b){"hidden"==D.style.visibility&&(D.style.visibility= +"",H.style.visibility="");x=null;mxUtils.setOpacity(p,100);mxUtils.setPrefixedStyle(p.style,"transform",null)})}else F||(F=!0,a.handleError({message:mxResources.get("fileExists")}));else{d=!1;try{if(a.spinner.stop(),B=mxUtils.parseXml(b),"mxlibrary"==B.documentElement.nodeName){y=JSON.parse(mxUtils.getTextContent(B.documentElement));if(null!=y&&0<y.length)for(var M=0;M<y.length;M++)null!=y[M].xml?n(null,null,0,0,0,0,y[M]):n(y[M].data,null,0,0,y[M].w,y[M].h,null,"fixed",y[M].title);d=!0}else if("mxfile"== +B.documentElement.nodeName){for(var L=B.documentElement.getElementsByTagName("diagram"),M=0;M<L.length;M++){var y=mxUtils.getTextContent(L[M]),E=a.stringToCells(a.editor.graph.decompress(y)),P=a.editor.graph.getBoundingBoxFromGeometry(E);n(null,null,0,0,0,0,{xml:y,w:P.width,h:P.height})}d=!0}}catch(ba){}d||(a.spinner.stop(),a.handleError({message:mxResources.get("errorLoadingFile")}))}}catch(ba){}return null}function p(b){b.dataTransfer.dropEffect=null!=x?"move":"copy";b.stopPropagation();b.preventDefault()} +function b(b){b.stopPropagation();b.preventDefault();F=!1;A=m(b);if(null!=x)null!=A&&A<u.children.length?(e.splice(A>x?A-1:A,0,e.splice(x,1)[0]),u.insertBefore(u.children[x],u.children[A])):(e.push(e.splice(x,1)[0]),u.appendChild(u.children[x]));else if(0<b.dataTransfer.files.length)a.importFiles(b.dataTransfer.files,0,0,a.maxImageSize,C(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=decodeURIComponent(b.dataTransfer.getData("text/uri-list"));(/(\.jpg)($|\?)/i.test(c)|| +/(\.png)($|\?)/i.test(c)||/(\.gif)($|\?)/i.test(c)||/(\.svg)($|\?)/i.test(c))&&a.loadImage(c,function(b){n(c,null,0,0,b.width,b.height);u.scrollTop=u.scrollHeight})}b.stopPropagation();b.preventDefault()}var e=[];f=document.createElement("div");f.style.height="100%";var l=document.createElement("div");l.style.whiteSpace="nowrap";l.style.height="40px";f.appendChild(l);mxUtils.write(l,mxResources.get("filename")+":");null==d&&(d=a.defaultLibraryName+".xml");var q=document.createElement("input");q.setAttribute("value", +d);q.style.marginRight="20px";q.style.marginLeft="10px";q.style.width="500px";null==g||g.isRenamable()||q.setAttribute("disabled","true");this.init=function(){if(null==g||g.isRenamable())q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select():document.execCommand("selectAll",!1,null)};l.appendChild(q);var u=document.createElement("div");u.style.borderWidth="1px 0px 1px 0px";u.style.borderColor="#d3d3d3";u.style.borderStyle="solid";u.style.marginTop="6px"; +u.style.overflow="auto";u.style.height="340px";u.style.backgroundPosition="center center";u.style.backgroundRepeat="no-repeat";0==e.length&&Graph.fileSupport&&(u.style.backgroundImage="url('"+IMAGE_PATH+"/droptarget.png')");var t=document.createElement("div");t.style.position="absolute";t.style.width="640px";t.style.top="260px";t.style.textAlign="center";t.style.fontSize="22px";t.style.color="#a0c3ff";mxUtils.write(t,mxResources.get("dragImagesHere"));f.appendChild(t);var w={},x=null,A=null,k=null; +d=function(b){"true"!=mxEvent.getSource(b).getAttribute("contentEditable")&&null!=k&&(k(),k=null,mxEvent.consume(b))};mxEvent.addListener(u,"mousedown",d);mxEvent.addListener(u,"pointerdown",d);mxEvent.addListener(u,"touchstart",d);var v=new mxUrlConverter,F=!1;if(null!=c)for(d=0;d<c.length;d++)l=c[d],n(l.data,null,0,0,l.w,l.h,l,l.aspect,l.title);mxEvent.addListener(u,"dragleave",function(b){t.style.cursor="";for(var a=mxEvent.getSource(b);null!=a;){if(a==u||a==t){b.stopPropagation();b.preventDefault(); +break}a=a.parentNode}});var C=function(b){return function(e,c,k,l,f,d,v,x,q){null!=q&&(/(\.vsdx)($|\?)/i.test(q.name)||/(\.vssx)($|\?)/i.test(q.name))?a.importVisio(q,mxUtils.bind(this,function(e){a.spinner.stop();n(e,c,k,l,f,d,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," "))})):null!=q&&!a.isOffline()&&(new XMLHttpRequest).upload&&a.isRemoteFileFormat(e,q.name)?a.parseFile(q,mxUtils.bind(this,function(e){4==e.readyState&&(a.spinner.stop(),200<=e.status&&299>= +e.status&&(n(e.responseText,c,k,l,f,d,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight))})):(n(e,c,k,l,f,d,v,"fixed",mxEvent.isAltDown(b)?null:v.substring(0,v.lastIndexOf(".")).replace(/_/g," ")),u.scrollTop=u.scrollHeight)}};mxEvent.addListener(u,"dragover",p);mxEvent.addListener(u,"drop",b);mxEvent.addListener(t,"dragover",p);mxEvent.addListener(t,"drop",b);f.appendChild(u);c=document.createElement("div");c.style.textAlign="right"; +c.style.marginTop="20px";d=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog(!0)});d.setAttribute("id","btnCancel");d.className="geBtn";a.editor.cancelFirst&&c.appendChild(d);l=mxUtils.button(mxResources.get("export"),function(){var b=a.createLibraryDataFromImages(e),c=q.value;/(\.xml)$/i.test(c)||(c+=".xml");a.isLocalFileSave()?a.saveLocalFile(b,c,"text/xml",null,null,!0):(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(c)+"&format=xml&xml="+encodeURIComponent(b))).simulate(document, +"_blank")});l.setAttribute("id","btnDownload");l.className="geBtn";c.appendChild(l);var y=document.createElement("input");y.setAttribute("multiple","multiple");y.setAttribute("type","file");null==document.documentMode&&(mxEvent.addListener(y,"change",function(b){F=!1;a.importFiles(y.files,0,0,a.maxImageSize,function(a,e,c,k,l,f,d,v,x){C(b)(a,e,c,k,l,f,d,v,x);y.value=""});u.scrollTop=u.scrollHeight}),l=mxUtils.button(mxResources.get("import"),function(){null!=k&&(k(),k=null);y.click()}),l.setAttribute("id", +"btnAddImage"),l.className="geBtn",c.appendChild(l));l=mxUtils.button(mxResources.get("addImageUrl"),function(){null!=k&&(k(),k=null);a.showImageDialog(mxResources.get("addImageUrl"),"",function(b,a,e){F=!1;if(null!=b){if("data:image/"==b.substring(0,11)){var c=b.indexOf(",");0<c&&(b=b.substring(0,c)+";base64,"+b.substring(c+1))}n(b,null,0,0,a,e);u.scrollTop=u.scrollHeight}})});l.setAttribute("id","btnAddImageUrl");l.className="geBtn";c.appendChild(l);this.saveBtnClickHandler=function(b,e,c,k){a.saveLibrary(b, +e,c,k)};l=mxUtils.button(mxResources.get("save"),mxUtils.bind(this,function(){null!=k&&(k(),k=null);this.saveBtnClickHandler(q.value,e,g,h)}));l.setAttribute("id","btnSave");l.className="geBtn gePrimaryBtn";c.appendChild(l);a.editor.cancelFirst||c.appendChild(d);f.appendChild(c);this.container=f},EditShapeDialog=function(a,d,f,c,g){c=null!=c?c:300;g=null!=g?g:120;var h,m,n=document.createElement("table"),p=document.createElement("tbody");n.style.cellPadding="4px";h=document.createElement("tr");m= +document.createElement("td");m.setAttribute("colspan","2");m.style.fontSize="10pt";mxUtils.write(m,f);h.appendChild(m);p.appendChild(h);h=document.createElement("tr");m=document.createElement("td");var b=document.createElement("textarea");b.style.outline="none";b.style.resize="none";b.style.width=c-200+"px";b.style.height=g+"px";this.textarea=b;this.init=function(){b.focus();b.scrollTop=0};m.appendChild(b);h.appendChild(m);m=document.createElement("td");f=document.createElement("div");f.style.position= +"relative";f.style.border="1px solid gray";f.style.top="6px";f.style.width="200px";f.style.height=g+4+"px";f.style.overflow="hidden";f.style.marginBottom="16px";mxEvent.disableContextMenu(f);m.appendChild(f);var e=new Graph(f);e.setEnabled(!1);var l=a.editor.graph.cloneCells([d])[0];e.addCells([l]);f=e.view.getState(l);var q="";null!=f.shape&&null!=f.shape.stencil&&(q=mxUtils.getPrettyXml(f.shape.stencil.desc));mxUtils.write(b,q||"");f=e.getGraphBounds();g=Math.min(160/f.width,(g-40)/f.height);e.view.scaleAndTranslate(g, +20/g-f.x,20/g-f.y);h.appendChild(m);p.appendChild(h);h=document.createElement("tr");m=document.createElement("td");m.setAttribute("colspan","2");m.style.paddingTop="2px";m.style.whiteSpace="nowrap";m.setAttribute("align","right");g=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});g.className="geBtn";a.editor.cancelFirst&&m.appendChild(g);a.isOffline()||(f=mxUtils.button(mxResources.get("help"),function(){a.openLink("https://desk.draw.io/support/solutions/articles/16000052874")}), +f.className="geBtn",m.appendChild(f));var u=function(e,c,l){var f=b.value,k=mxUtils.parseXml(f),f=mxUtils.getPrettyXml(k.documentElement),k=k.documentElement.getElementsByTagName("parsererror");if(null!=k&&0<k.length)a.showError(mxResources.get("error"),mxResources.get("containsValidationErrors"),mxResources.get("ok"));else if(l&&a.hideDialog(),k=!e.model.contains(c),!l||k||f!=q){f=a.editor.graph.compress(f);e.getModel().beginUpdate();try{if(k){var d=a.editor.graph.getInsertPoint();c.geometry.x=d.x; +c.geometry.y=d.y;e.addCell(c)}e.setCellStyles(mxConstants.STYLE_SHAPE,"stencil("+f+")",[c])}catch(F){throw F;}finally{e.getModel().endUpdate()}k&&e.setSelectionCell(c)}};f=mxUtils.button(mxResources.get("preview"),function(){u(e,l,!1)});f.className="geBtn";m.appendChild(f);f=mxUtils.button(mxResources.get("apply"),function(){u(a.editor.graph,d,!0)});f.className="geBtn gePrimaryBtn";m.appendChild(f);a.editor.cancelFirst||m.appendChild(g);h.appendChild(m);p.appendChild(h);n.appendChild(p);this.container= +n},CustomDialog=function(a,d,f,c,g,h,m,n){var p=document.createElement("div");p.appendChild(d);d=document.createElement("div");d.style.marginTop="16px";d.style.textAlign="center";null!=m&&d.appendChild(m);m=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog();null!=c&&c()});m.className="geBtn";n&&(m.style.display="none");a.editor.cancelFirst&&d.appendChild(m);a.isOffline()||null==h||(n=mxUtils.button(mxResources.get("help"),function(){a.openLink(h)}),n.className="geBtn",d.appendChild(n)); +g=mxUtils.button(g||mxResources.get("ok"),function(){a.hideDialog();null!=f&&f()});d.appendChild(g);g.className="geBtn gePrimaryBtn";a.editor.cancelFirst||d.appendChild(m);p.appendChild(d);this.cancelBtn=m;this.okButton=g;this.container=p};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=": IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==": IMAGE_PATH+"/spin.gif";Editor.tweetImage=IMAGE_PATH+"/tweet.png";Editor.facebookImage=IMAGE_PATH+"/facebook.png";Editor.blankImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAACklEQVR4nGMAAQAABQABDQottAAAAABJRU5ErkJggg==";Editor.hiResImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAA+CAMAAACLMWy1AAAAh1BMVEUAAABMTExERERBQUFBQUFFRUVAQEBCQkJAQEA6OjpDQ0NKSkpBQUFBQUFERERERERBQUFCQkJCQkJCQkJJSUlBQUFCQkJDQ0NDQ0NCQkJDQ0NBQUFBQUFCQkJBQUFCQkJCQkJDQ0NCQkJHR0dBQUFCQkJCQkJAQEBCQkJDQ0NAQEBERERCQkIk1hS2AAAAKnRSTlMAAjj96BL7PgQFRwfu3TYazKuVjRXl1V1DPCn1uLGjnWNVIgy9hU40eGqPkM38AAACG0lEQVRYw+2X63KbMBCFzwZblgGDceN74muatpLe//m6MHV3gHGFAv2RjM94MAbxzdnVsQbBDKwH8AH8MDAyafzjqYeyOG04XE7RS8nIRDXg6BlT+rA0nmtAPh+NQRDxIASIMG44rAMrGunBgHwy3uUldxggIStGKp2f+DQc2O4h4eQsX3O2IFB/oEbsjOKbStnjAEA+zJ0ylZTbgvoDn8xNyn6Dbj5Kd4GsNpABa6duQPfSdEj88TgMAhKuCWjAkgmFXPLnsD0pWd3OFGdrMugQII/eOMPEiGOzqPMIeWrcSoMCg71W1pXBPvCP+gS/OdXqQ3uW23+93XGWLl/OaBb805bNcBPoEIcVJsnHzcxpZH86u5KZ9gDby5dQCcnKqdbke4ItI4Tzd7IW9hZQt4EO6GG9b9sYuuK9Wwn8TIr2xKbF2+3Nhr+qxChJ/AI6pIfCu4z4Zowp4ZUNihz79vewzctnHDwTvQO/hCdFBzrUGDOPn2Y/F8YKT4oOATLvlhOznzmBSdFBJWtc58y7r+UVFOCQczy3wpN6pegDqHtsCPTGvH9JuTO0Dyg8icldYPk+RB6g8Aofj4m2EKBvtTmUPD9xDd1pPcSReV2U5iD/ik2yrngtvvqBfPzOvKiDTKTsCdoHZJ7pLLffgTwlJ5vJdtJV2/jiAYaLvLGhMAEDO5QcDg2M/jOw/8Zn+K3ZwJvHT7ZffgC/NvA3zcybTeIfE4EAAAAASUVORK5CYII=": @@ -7119,84 +7147,89 @@ Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.defaultC Editor.shadowOptionEnabled=!0;Editor.configure=function(b){if(null!=b){Editor.configVersion=b.version;Menus.prototype.defaultFonts=b.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=b.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=b.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=b.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength= b.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=b.css){var a=document.createElement("style");a.setAttribute("type","text/css");a.appendChild(document.createTextNode(b.css));var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(a,e)}null!=b.defaultLibraries&&(Sidebar.prototype.defaultEntries=b.defaultLibraries);null!=b.defaultCustomLibraries&&(Editor.defaultCustomLibraries=b.defaultCustomLibraries);null!=b.enableCustomLibraries&&(Editor.enableCustomLibraries=b.enableCustomLibraries); null!=b.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=b.defaultVertexStyle);null!=b.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=b.defaultEdgeStyle);b.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=b.emptyDiagramXml);b.thumbWidth&&(Sidebar.prototype.thumbWidth=b.thumbWidth);b.thumbHeight&&(Sidebar.prototype.thumbHeight=b.thumbHeight);b.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=b.emptyLibraryXml);b.sidebarWidth&&(EditorUi.prototype.hsplitPosition=b.sidebarWidth);b.fontCss&& -(a=document.createElement("style"),a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(b.fontCss)),e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(a,e),Editor.prototype.fontCss=b.fontCss);if(null!=b.plugins)for(App.initPluginCallback(),a=0;a<b.plugins.length;a++)mxscript(b.plugins[a])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b= -null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var e=b.getElementsByTagName("parsererror");if(null!=e&&0<e.length){var e=e[0],c=e.getElementsByTagName("div");null!=c&&0<c.length&&(e=c[0]);throw{message:mxUtils.getTextContent(e)};}if("mxGraphModel"==b.nodeName){e=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=e&&""!=e)e!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[e]:mxUtils.load(STYLE_PATH+"/"+e+".xml").getDocumentElement(), -null!=c&&(l=new mxCodec(c.ownerDocument),l.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var l=new mxCodec(c.ownerDocument);l.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=e;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");e=b.getAttribute("backgroundImage");null!=e?(e=JSON.parse(e),this.graph.setBackgroundImage(new mxImage(e.src, -e.width,e.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var f=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(b){b=null!=b?b:!0;var a=f.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&& -a.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&a.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));a.setAttribute("math",this.graph.mathEnabled?"1":"0");a.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return a};Editor.prototype.isDataSvg=function(b){try{var a=mxUtils.parseXml(b).documentElement.getAttribute("content");if(null!=a&&(null!=a&&"<"!=a.charAt(0)&&"%"!=a.charAt(0)&&(a=unescape(window.atob?atob(a):Base64.decode(cont,a))), -null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a)),null!=a&&0<a.length)){var e=mxUtils.parseXml(a).documentElement;return"mxfile"==e.nodeName||"mxGraphModel"==e.nodeName}}catch(v){}return!1};Editor.prototype.extractGraphModel=function(b,a){if(null!=b&&"undefined"!==typeof pako){var e=b.ownerDocument.getElementsByTagName("div"),c=[];if(null!=e&&0<e.length)for(var l=0;l<e.length;l++)if("mxgraph"==e[l].getAttribute("class")){c.push(e[l]);break}0<c.length&&(e=c[0].getAttribute("data-mxgraph"),null!= -e?(c=JSON.parse(e),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),b=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(e=mxUtils.getTextContent(c[0]),e=this.graph.decompress(e),0<e.length&&(c=mxUtils.parseXml(e),b=c.documentElement))))}if(null!=b&&"svg"==b.nodeName)if(e=b.getAttribute("content"),null!=e&&"<"!=e.charAt(0)&&"%"!=e.charAt(0)&&(e=unescape(window.atob?atob(e):Base64.decode(cont,e))),null!=e&&"%"==e.charAt(0)&&(e=decodeURIComponent(e)),null!=e&&0<e.length)b=mxUtils.parseXml(e).documentElement; -else throw{message:mxResources.get("notADiagramFile")};null==b||a||(c=null,"diagram"==b.nodeName?c=b:"mxfile"==b.nodeName&&(e=b.getElementsByTagName("diagram"),0<e.length&&(c=e[Math.max(0,Math.min(e.length-1,urlParams.page||0))])),null!=c&&(e=this.graph.decompress(mxUtils.getTextContent(c)),null!=e&&0<e.length&&(b=mxUtils.parseXml(e).documentElement)));null==b||"mxGraphModel"==b.nodeName||a&&"mxfile"==b.nodeName||(b=null);return b};var d=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= -"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;d.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(b,a){b=null!=b?b:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML"; -Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(b){window.setTimeout(function(){"hidden"!=b.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,b])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(a||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js", -"noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var b=0;b<Editor.mathJaxQueue.length;b++)Editor.doMathJaxRender(Editor.mathJaxQueue[b])})}};Editor.MathJaxRender=function(b){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(b):Editor.mathJaxQueue.push(b)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var e=Editor.prototype.init;Editor.prototype.init= -function(){e.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,a){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var l=document.createElement("script");l.type="text/javascript";l.src=b;c[0].parentNode.appendChild(l)}};Editor.prototype.csvToArray=function(b){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(b))return null; -var a=[];b.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(b,e,c,l){void 0!==e?a.push(e.replace(/\\'/g,"'")):void 0!==c?a.push(c.replace(/\\"/g,'"')):void 0!==l&&a.push(l);return""});/,\s*$/.test(b)&&a.push("");return a};if(window.ColorDialog){var g=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(b,a){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}; -var h=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){h.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var m=Format.prototype.init;Format.prototype.init=function(){m.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var n=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? +(a=document.createElement("style"),a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(b.fontCss)),e=document.getElementsByTagName("script")[0],e.parentNode.insertBefore(a,e),Editor.prototype.fontCss=b.fontCss);if(null!=b.plugins)for(App.initPluginCallback(),a=0;a<b.plugins.length;a++)mxscript(b.plugins[a])}};Editor.s4=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};Editor.guid=function(){return Editor.s4()+Editor.s4()+"-"+Editor.s4()+"-"+Editor.s4()+ +"-"+Editor.s4()+"-"+Editor.s4()+Editor.s4()+Editor.s4()};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(b){b=null!=b&&"mxlibrary"!=b.nodeName?this.extractGraphModel(b):null;if(null!=b){var e=b.getElementsByTagName("parsererror");if(null!=e&&0<e.length){var e=e[0],c=e.getElementsByTagName("div");null!=c&&0<c.length&&(e=c[0]);throw{message:mxUtils.getTextContent(e)};}if("mxGraphModel"== +b.nodeName){e=b.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=e&&""!=e)e!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[e]:mxUtils.load(STYLE_PATH+"/"+e+".xml").getDocumentElement(),null!=c&&(l=new mxCodec(c.ownerDocument),l.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var l=new mxCodec(c.ownerDocument);l.decode(c,this.graph.getStylesheet())}this.graph.currentStyle= +e;this.graph.mathEnabled="1"==urlParams.math||"1"==b.getAttribute("math");e=b.getAttribute("backgroundImage");null!=e?(e=JSON.parse(e),this.graph.setBackgroundImage(new mxImage(e.src,e.width,e.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==b.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}}; +};var d=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(b){b=null!=b?b:!0;var a=d.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&a.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&a.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));a.setAttribute("math",this.graph.mathEnabled?"1":"0");a.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return a};Editor.prototype.isDataSvg= +function(b){try{var a=mxUtils.parseXml(b).documentElement.getAttribute("content");if(null!=a&&(null!=a&&"<"!=a.charAt(0)&&"%"!=a.charAt(0)&&(a=unescape(window.atob?atob(a):Base64.decode(cont,a))),null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a)),null!=a&&0<a.length)){var e=mxUtils.parseXml(a).documentElement;return"mxfile"==e.nodeName||"mxGraphModel"==e.nodeName}}catch(v){}return!1};Editor.prototype.extractGraphModel=function(b,a){if(null!=b&&"undefined"!==typeof pako){var e=b.ownerDocument.getElementsByTagName("div"), +c=[];if(null!=e&&0<e.length)for(var l=0;l<e.length;l++)if("mxgraph"==e[l].getAttribute("class")){c.push(e[l]);break}0<c.length&&(e=c[0].getAttribute("data-mxgraph"),null!=e?(c=JSON.parse(e),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),b=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(e=mxUtils.getTextContent(c[0]),e=this.graph.decompress(e),0<e.length&&(c=mxUtils.parseXml(e),b=c.documentElement))))}if(null!=b&&"svg"==b.nodeName)if(e=b.getAttribute("content"),null!=e&&"<"!= +e.charAt(0)&&"%"!=e.charAt(0)&&(e=unescape(window.atob?atob(e):Base64.decode(cont,e))),null!=e&&"%"==e.charAt(0)&&(e=decodeURIComponent(e)),null!=e&&0<e.length)b=mxUtils.parseXml(e).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==b||a||(c=null,"diagram"==b.nodeName?c=b:"mxfile"==b.nodeName&&(e=b.getElementsByTagName("diagram"),0<e.length&&(c=e[Math.max(0,Math.min(e.length-1,urlParams.page||0))])),null!=c&&(e=this.graph.decompress(mxUtils.getTextContent(c)),null!=e&&0< +e.length&&(b=mxUtils.parseXml(e).documentElement)));null==b||"mxGraphModel"==b.nodeName||a&&"mxfile"==b.nodeName||(b=null);return b};var f=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;f.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents= +function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(b,a){b=null!=b?b:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(b){window.setTimeout(function(){"hidden"!=b.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,b])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(a|| +{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var b=0;b<Editor.mathJaxQueue.length;b++)Editor.doMathJaxRender(Editor.mathJaxQueue[b])})}};Editor.MathJaxRender=function(b){"undefined"!== +typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(b):Editor.mathJaxQueue.push(b)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var e=Editor.prototype.init;Editor.prototype.init=function(){e.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(b,a){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var l=document.createElement("script"); +l.type="text/javascript";l.src=b;c[0].parentNode.appendChild(l)}};Editor.prototype.csvToArray=function(b){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(b))return null;var a=[];b.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(b,e,c,l){void 0!== +e?a.push(e.replace(/\\'/g,"'")):void 0!==c?a.push(c.replace(/\\"/g,'"')):void 0!==l&&a.push(l);return""});/,\s*$/.test(b)&&a.push("");return a};if(window.ColorDialog){var g=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(b,a){g.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var h=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){h.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&& +(EditDataDialog.getDisplayIdForCell=function(b,a){var e=null;null!=b.editor.graph.getModel().getParent(a)?e=a.getId():null!=b.currentPage&&(e=b.currentPage.getId());return e});if(null!=window.StyleFormatPanel){var m=Format.prototype.init;Format.prototype.init=function(){m.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var n=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? n.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var b=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=b&&b.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(b){return!1};var p=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(b){b=p.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var a=this.editorUi,e=a.editor.graph,c=this.createOption(mxResources.get("shadow"), function(){return e.shadowVisible},function(b){var c=new ChangePageSetup(a);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=b;e.model.execute(c)},{install:function(b){this.listener=function(){b(e.shadowVisible)};a.addListener("shadowVisibleChanged",this.listener)},destroy:function(){a.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));b.appendChild(c)}return b};var b=DiagramFormatPanel.prototype.addOptions; DiagramFormatPanel.prototype.addOptions=function(a){a=b.apply(this,arguments);var e=this.editorUi,c=e.editor.graph;if(c.isEnabled()){var l=e.getCurrentFile();null!=l&&l.isAutosaveOptional()&&(l=this.createOption(mxResources.get("autosave"),function(){return e.editor.autosave},function(b){e.editor.setAutosave(b)},{install:function(b){this.listener=function(){b(e.editor.autosave)};e.editor.addListener("autosaveChanged",this.listener)},destroy:function(){e.editor.removeListener(this.listener)}}),a.appendChild(l))}if(this.isMathOptionVisible()&& -c.isEnabled()&&"undefined"!==typeof MathJax){l=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(b){e.actions.get("mathematicalTypesetting").funct()},{install:function(b){this.listener=function(){b(c.mathEnabled)};e.addListener("mathEnabledChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});l.style.paddingTop="0px";a.appendChild(l);var d=e.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); -d.style.position="relative";d.style.top="4px";l.appendChild(d)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366", +c.isEnabled()&&"undefined"!==typeof MathJax){l=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(b){e.actions.get("mathematicalTypesetting").funct()},{install:function(b){this.listener=function(){b(c.mathEnabled)};e.addListener("mathEnabledChanged",this.listener)},destroy:function(){e.removeListener(this.listener)}});l.style.paddingTop="0px";a.appendChild(l);var f=e.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); +f.style.position="relative";f.style.top="4px";l.appendChild(f)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366", gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[null,{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];var e=StyleFormatPanel.prototype.init; StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));e.apply(this,arguments)};var l=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(b){var a=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("copyStyle").funct()}));a.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+ ")");a.style.marginBottom="2px";a.style.width="100px";a.style.marginRight="2px";b.appendChild(a);a=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("pasteStyle").funct()}));a.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");a.style.marginBottom="2px";a.style.width="100px";b.appendChild(a);mxUtils.br(b);return l.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(b){function a(b){function a(b){var a= -mxUtils.button("",function(a){c.getModel().beginUpdate();try{var e=c.getSelectionCells();for(a=0;a<e.length;a++){for(var k=c.getModel().getStyle(e[a]),l=0;l<d.length;l++)k=mxUtils.removeStylename(k,d[l]);null!=b?(k=mxUtils.setStyle(k,mxConstants.STYLE_FILLCOLOR,b.fill),k=mxUtils.setStyle(k,mxConstants.STYLE_STROKECOLOR,b.stroke),k=mxUtils.setStyle(k,mxConstants.STYLE_GRADIENTCOLOR,b.gradient)):(k=mxUtils.setStyle(k,mxConstants.STYLE_FILLCOLOR,"#ffffff"),k=mxUtils.setStyle(k,mxConstants.STYLE_STROKECOLOR, +mxUtils.button("",function(a){c.getModel().beginUpdate();try{var e=c.getSelectionCells();for(a=0;a<e.length;a++){for(var k=c.getModel().getStyle(e[a]),l=0;l<f.length;l++)k=mxUtils.removeStylename(k,f[l]);null!=b?(k=mxUtils.setStyle(k,mxConstants.STYLE_FILLCOLOR,b.fill),k=mxUtils.setStyle(k,mxConstants.STYLE_STROKECOLOR,b.stroke),k=mxUtils.setStyle(k,mxConstants.STYLE_GRADIENTCOLOR,b.gradient)):(k=mxUtils.setStyle(k,mxConstants.STYLE_FILLCOLOR,"#ffffff"),k=mxUtils.setStyle(k,mxConstants.STYLE_STROKECOLOR, "#000000"),k=mxUtils.setStyle(k,mxConstants.STYLE_GRADIENTCOLOR,null));c.getModel().setStyle(e[a],k)}}finally{c.getModel().endUpdate()}});a.className="geStyleButton";a.style.width="36px";a.style.height="30px";a.style.margin="0px 6px 6px 0px";null!=b?(null!=b.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?a.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+b.fill+"', EndColorStr='"+b.gradient+"', GradientType=0)":a.style.backgroundImage="linear-gradient("+ b.fill+" 0px,"+b.gradient+" 100%)":a.style.backgroundColor=b.fill,a.style.border="1px solid "+b.stroke):(a.style.backgroundColor="#ffffff",a.style.border="1px solid #000000");l.appendChild(a)}l.innerHTML="";for(var e=0;e<b.length;e++)0<e&&0==mxUtils.mod(e,4)&&mxUtils.br(l),a(b[e])}function e(b){mxEvent.addListener(b,"mouseenter",function(){b.style.opacity="1"});mxEvent.addListener(b,"mouseleave",function(){b.style.opacity="0.5"})}var c=this.editorUi.editor.graph,l=document.createElement("div");l.style.whiteSpace= -"nowrap";l.style.paddingLeft="24px";l.style.paddingRight="20px";b.style.paddingLeft="16px";b.style.paddingBottom="6px";b.style.position="relative";b.appendChild(l);var d="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var f=document.createElement("div");f.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; -mxEvent.addListener(f,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));var g=document.createElement("div");g.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; -1<this.defaultColorSchemes.length&&(b.appendChild(f),b.appendChild(g));mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));e(f);e(g);a(this.defaultColorSchemes[this.editorUi.currentScheme]);return b};StyleFormatPanel.prototype.addEditOps=function(b){var a=this.format.getSelectionState(),e=null;1==this.editorUi.editor.graph.getSelectionCount()&& +"nowrap";l.style.paddingLeft="24px";l.style.paddingRight="20px";b.style.paddingLeft="16px";b.style.paddingBottom="6px";b.style.position="relative";b.appendChild(l);var f="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var d=document.createElement("div");d.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; +mxEvent.addListener(d,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));var q=document.createElement("div");q.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; +1<this.defaultColorSchemes.length&&(b.appendChild(d),b.appendChild(q));mxEvent.addListener(q,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);a(this.defaultColorSchemes[this.editorUi.currentScheme])}));e(d);e(q);a(this.defaultColorSchemes[this.editorUi.currentScheme]);return b};StyleFormatPanel.prototype.addEditOps=function(b){var a=this.format.getSelectionState(),e=null;1==this.editorUi.editor.graph.getSelectionCount()&& (e=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(b){this.editorUi.actions.get("editStyle").funct()})),e.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),e.style.width="202px",e.style.marginBottom="2px",b.appendChild(e));var c=this.editorUi.editor.graph,l=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=l&&null!=l.shape&&null!=l.shape.stencil?(a=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, function(b){this.editorUi.actions.get("editShape").funct()})),a.setAttribute("title",mxResources.get("editShape")),a.style.marginBottom="2px",null==e?a.style.width="202px":(e.style.width="100px",a.style.width="100px",a.style.marginLeft="2px"),b.appendChild(a)):a.image&&(a=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(b){this.editorUi.actions.get("image").funct()})),a.setAttribute("title",mxResources.get("editImage")),a.style.marginBottom="2px",null==e?a.style.width="202px": (e.style.width="100px",a.style.width="100px",a.style.marginLeft="2px"),b.appendChild(a));return b}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= -"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var u=Graph.prototype.init;Graph.prototype.init=function(){function b(b){a=b;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)a=mxUtils.clone(b)}u.apply(this,arguments);var a=null;mxEvent.addListener(this.container,"mouseenter",b);mxEvent.addListener(this.container,"mousemove",b);mxEvent.addListener(this.container,"mouseleave",function(b){a=null});this.isMouseInsertPoint=function(){return null!=a};var e=this.getInsertPoint; +"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var q=Graph.prototype.init;Graph.prototype.init=function(){function b(b){a=b;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)a=mxUtils.clone(b)}q.apply(this,arguments);var a=null;mxEvent.addListener(this.container,"mouseenter",b);mxEvent.addListener(this.container,"mousemove",b);mxEvent.addListener(this.container,"mouseleave",function(b){a=null});this.isMouseInsertPoint=function(){return null!=a};var e=this.getInsertPoint; this.getInsertPoint=function(){return null!=a?this.getPointForEvent(a):e.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(b){var a=this.graph.view.getState(b),a=null!=a?a.style:this.graph.getCellStyle(b);if("undefined"!=typeof mxRackContainer&&"rack"==a.childLayout){var e=new mxStackLayout(this.graph,!1);e.setChildGeometry=function(b,a){a.height=Math.max(a.height,20);if(1<a.height/20){var e=a.height%20;a.height+=10<e?20-e:-e}this.graph.getModel().setGeometry(b, -a)};e.fill=!0;e.unitSize=mxRackContainer.unitSize|20;e.marginLeft=a.marginLeft||0;e.marginRight=a.marginRight||0;e.marginTop=a.marginTop||0;e.marginBottom=a.marginBottom||0;e.resizeParent=!1;return e}return c.apply(this,arguments)}};var q=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){q.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(b){if("data:action/json,"==b.substring(0,17)){this.model.beginUpdate();try{var a=JSON.parse(b.substring(17)); -if(null!=a.actions)for(var e=0;e<a.actions.length;e++)this.handleCustomLinkAction(a.actions[e])}catch(v){null!=window.console&&console.log("Error in "+b+": "+v)}finally{this.model.endUpdate()}}};Graph.prototype.handleCustomLinkAction=function(b){if(null!=b.toggle&&null!=b.toggle.cells)for(var a=0;a<b.toggle.cells.length;a++){var e=this.model.getCell(b.toggle.cells[a]);null!=e&&this.model.setVisible(e,!this.model.isVisible(e))}};Graph.prototype.highlightCell=function(b,a,e){a=null!=a?a:mxConstants.DEFAULT_VALID_COLOR; -e=null!=e?e:1E3;b=this.view.getState(b);if(null!=b){var c=Math.max(5,mxUtils.getValue(b.style,mxConstants.STYLE_STROKEWIDTH,1)+4),l=new mxCellHighlight(this,a,c,!1);l.highlight(b);window.setTimeout(function(){null!=l.shape&&(mxUtils.setPrefixedStyle(l.shape.node.style,"transition","all 1200ms ease-in-out"),l.shape.node.style.opacity=0);window.setTimeout(function(){l.destroy()},1200)},e)}};Graph.prototype.addSvgShadow=function(b,a,e){e=null!=e?e:!1;var c=b.ownerDocument,l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, -"filter"):c.createElement("filter");l.setAttribute("id",this.shadowId);var k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");k.setAttribute("in","SourceAlpha");k.setAttribute("stdDeviation",this.svgShadowBlur);k.setAttribute("result","blur");l.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");k.setAttribute("in","blur");k.setAttribute("dx",this.svgShadowSize);k.setAttribute("dy", -this.svgShadowSize);k.setAttribute("result","offsetBlur");l.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");k.setAttribute("flood-color",this.svgShadowColor);k.setAttribute("flood-opacity",this.svgShadowOpacity);k.setAttribute("result","offsetColor");l.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):c.createElement("feComposite");k.setAttribute("in","offsetColor");k.setAttribute("in2", -"offsetBlur");k.setAttribute("operator","in");k.setAttribute("result","offsetBlur");l.appendChild(k);k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");k.setAttribute("in","SourceGraphic");k.setAttribute("in2","offsetBlur");l.appendChild(k);k=b.getElementsByTagName("defs");0==k.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=b.firstChild?b.insertBefore(c,b.firstChild):b.appendChild(c)):c= -k[0];c.appendChild(l);e||((a||b.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(b.getAttribute("width")))||(b.setAttribute("width",parseInt(b.getAttribute("width"))+6),b.setAttribute("height",parseInt(b.getAttribute("height"))+6)));return l};Graph.prototype.setShadowVisible=function(b,a){mxClient.IS_SVG&&(a=null!=a?a:!0,(this.shadowVisible=b)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"), -a&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var b=this.model.getChildCount(this.model.root),a,e=0;do a=this.model.getChildAt(this.model.root,e);while(e++<b&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0"));null!=a&&this.setDefaultParent(a)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian= -[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5= -[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js", -STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js", -STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+ -"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= -[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(b){var a=null;null!=b&&0<b.length&&("ER"==b.substring(0,2)?a="mxgraph.er":"sysML"==b.substring(0,5)&&(a="mxgraph.sysml"));return a};var t=mxMarker.createMarker;mxMarker.createMarker=function(b,a,e,c,l,d,f,g,u,q){if(null!=e&&null==mxMarker.markers[e]){var k=this.getPackageForType(e);null!=k&&mxStencilRegistry.getStencil(k)}return t.apply(this,arguments)}; -PrintDialog.prototype.create=function(b,a){function e(){x.value=Math.max(1,Math.min(g,Math.max(parseInt(x.value),parseInt(h.value))));h.value=Math.max(1,Math.min(g,Math.min(parseInt(x.value),parseInt(h.value))))}function c(a){function e(a,e,k){var l=a.getGraphBounds(),f=0,d=0,q=ba.get(),g=1/a.pageScale,u=p.checked;if(u)var g=parseInt(Q.value),v=parseInt(P.value),g=Math.min(q.height*v/(l.height/a.view.scale),q.width*g/(l.width/a.view.scale));else g=parseInt(B.value)/(100*a.pageScale),isNaN(g)&&(c= -1/a.pageScale,B.value="100 %");q=mxRectangle.fromRectangle(q);q.width=Math.ceil(q.width*c);q.height=Math.ceil(q.height*c);g*=c;!u&&a.pageVisible?(l=a.getPageLayout(),f-=l.x*q.width,d-=l.y*q.height):u=!0;if(null==e){e=PrintDialog.createPrintPreview(a,g,q,0,f,d,u);e.pageSelector=!1;e.mathEnabled=!1;a=b.getCurrentFile();null!=a&&(e.title=a.getTitle());var t=e.writeHead;e.writeHead=function(a){t.apply(this,arguments);null!=b.editor.fontCss&&(a.writeln('<style type="text/css">'),a.writeln(b.editor.fontCss), -a.writeln("</style>"))};if("undefined"!==typeof MathJax){var w=e.renderPage;e.renderPage=function(b,a,e,c,l,k){var f=w.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:f.className="geDisableMathJax";return f}}e.open(null,null,k,!0)}else{q=a.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";e.backgroundColor=q;e.autoOrigin=u;e.appendGraph(a,g,f,d,k,!0)}return e}var c=parseInt(U.value)/100;isNaN(c)&&(c=1,U.value="100 %");var c=.75*c,k=h.value,d=x.value,f=!w.checked,q=null; -f&&(f=k==u&&d==u);if(!f&&null!=b.pages&&b.pages.length){var g=0,f=b.pages.length-1;w.checked||(g=parseInt(k)-1,f=parseInt(d)-1);for(var v=g;v<=f;v++){var t=b.pages[v],k=t==b.currentPage?l:null;if(null==k){var k=b.createTemporaryGraph(l.getStylesheet()),d=!0,g=!1,m=null,n=null;null==t.viewState&&null==t.mapping&&null==t.root&&b.updatePageRoot(t);null!=t.viewState?(d=t.viewState.pageVisible,g=t.viewState.mathEnabled,m=t.viewState.background,n=t.viewState.backgroundImage):null!=t.mapping&&null!=t.mapping.diagramMap&& -(g="0"!=t.mapping.diagramMap.get("mathEnabled"),m=t.mapping.diagramMap.get("background"),n=t.mapping.diagramMap.get("backgroundImage"),n=null!=n&&0<n.length?JSON.parse(n):null);k.background=m;k.backgroundImage=null!=n?new mxImage(n.src,n.width,n.height):null;k.pageVisible=d;k.mathEnabled=g;var A=k.getGlobalVariable;k.getGlobalVariable=function(b){return"page"==b?t.getName():"pagenumber"==b?v+1:A.apply(this,arguments)};document.body.appendChild(k.container);b.updatePageRoot(t);k.model.setRoot(t.root)}q= -e(k,q,v!=f);k!=l&&k.container.parentNode.removeChild(k.container)}}else q=e(l);q.mathEnabled&&(f=q.wnd.document,f.writeln('<script type="text/x-mathjax-config">'),f.writeln("MathJax.Hub.Config({"),f.writeln('messageStyle: "none",'),f.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),f.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),f.writeln('"HTML-CSS": {'),f.writeln("imageFont: null"),f.writeln("},"),f.writeln("TeX: {"),f.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), -f.writeln("},"),f.writeln("tex2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("},"),f.writeln("asciimath2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("}"),f.writeln("});"),a&&(f.writeln("MathJax.Hub.Queue(function () {"),f.writeln("window.print();"),f.writeln("});")),f.writeln("\x3c/script>"),f.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));q.closeDocument();!q.mathEnabled&&a&&PrintDialog.printPreview(q)} -var l=b.editor.graph,d=document.createElement("div"),f=document.createElement("h3");f.style.width="100%";f.style.textAlign="center";f.style.marginTop="0px";mxUtils.write(f,a||mxResources.get("print"));d.appendChild(f);var g=1,u=1,q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var w=document.createElement("input");w.style.cssText="margin-right:8px;margin-bottom:8px;";w.setAttribute("value","all");w.setAttribute("type","radio"); -w.setAttribute("name","pages-printdialog");q.appendChild(w);f=document.createElement("span");mxUtils.write(f,mxResources.get("printAllPages"));q.appendChild(f);mxUtils.br(q);var t=w.cloneNode(!0);w.setAttribute("checked","checked");t.setAttribute("value","range");q.appendChild(t);f=document.createElement("span");mxUtils.write(f,mxResources.get("pages")+":");q.appendChild(f);var h=document.createElement("input");h.style.cssText="margin:0 8px 0 8px;";h.setAttribute("value","1");h.setAttribute("type", -"number");h.setAttribute("min","1");h.style.width="50px";q.appendChild(h);f=document.createElement("span");mxUtils.write(f,mxResources.get("to"));q.appendChild(f);var x=h.cloneNode(!0);q.appendChild(x);mxEvent.addListener(h,"focus",function(){t.checked=!0});mxEvent.addListener(x,"focus",function(){t.checked=!0});mxEvent.addListener(h,"change",e);mxEvent.addListener(x,"change",e);if(null!=b.pages&&(g=b.pages.length,null!=b.currentPage))for(f=0;f<b.pages.length;f++)if(b.currentPage==b.pages[f]){u=f+ -1;h.value=u;x.value=u;break}h.setAttribute("max",g);x.setAttribute("max",g);1<g&&d.appendChild(q);var m=document.createElement("div");m.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");m.appendChild(n);f=document.createElement("span");mxUtils.write(f,mxResources.get("adjustTo"));m.appendChild(f);var B=document.createElement("input");B.style.cssText="margin:0 8px 0 8px;"; -B.setAttribute("value","100 %");B.style.width="50px";m.appendChild(B);mxEvent.addListener(B,"focus",function(){n.checked=!0});d.appendChild(m);var q=q.cloneNode(!1),p=n.cloneNode(!0);p.setAttribute("value","fit");n.setAttribute("checked","checked");f=document.createElement("div");f.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";f.appendChild(p);q.appendChild(f);m=document.createElement("table");m.style.display="inline-block";var N=document.createElement("tbody"), -S=document.createElement("tr"),O=S.cloneNode(!0),G=document.createElement("td"),W=G.cloneNode(!0),R=G.cloneNode(!0),T=G.cloneNode(!0),V=G.cloneNode(!0),J=G.cloneNode(!0);G.style.textAlign="right";T.style.textAlign="right";mxUtils.write(G,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);f=document.createElement("span");mxUtils.write(f, -mxResources.get("fitToSheetsAcross"));R.appendChild(f);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P);mxEvent.addListener(Q,"focus",function(){p.checked=!0});mxEvent.addListener(P,"focus",function(){p.checked=!0});f=document.createElement("span");mxUtils.write(f,mxResources.get("fitToSheetsDown"));J.appendChild(f);S.appendChild(G);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(J);N.appendChild(S);N.appendChild(O);m.appendChild(N); -q.appendChild(m);d.appendChild(q);q=document.createElement("div");f=document.createElement("div");f.style.fontWeight="bold";f.style.marginBottom="12px";mxUtils.write(f,mxResources.get("paperSize"));q.appendChild(f);f=document.createElement("div");f.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(f,"printdialog",b.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);q.appendChild(f);f=document.createElement("span");mxUtils.write(f,mxResources.get("pageScale"));q.appendChild(f); -var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";q.appendChild(U);d.appendChild(q);f=document.createElement("div");f.style.cssText="text-align:right;margin:62px 0 0 0;";q=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});q.className="geBtn";b.editor.cancelFirst&&f.appendChild(q);b.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){l.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}), -m.className="geBtn",f.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){b.hideDialog();c(!1)}),m.className="geBtn",f.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){b.hideDialog();c(!0)});m.className="geBtn gePrimaryBtn";f.appendChild(m);b.editor.cancelFirst||f.appendChild(q);d.appendChild(f);this.container=d};var w=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== -this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(w.apply(this,arguments),null!=this.mathEnabled&& -this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.8.1";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +a)};e.fill=!0;e.unitSize=mxRackContainer.unitSize|20;e.marginLeft=a.marginLeft||0;e.marginRight=a.marginRight||0;e.marginTop=a.marginTop||0;e.marginBottom=a.marginBottom||0;e.resizeParent=!1;return e}return c.apply(this,arguments)}};var u=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){u.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(b){if("data:action/json,"==b.substring(0,17)&&(b=JSON.parse(b.substring(17)),null!=b.actions)){for(var a= +0;a<b.actions.length;a++)null!=b.actions[a].open&&(this.isCustomLink(b.actions[a].open)?this.customLinkClicked(b.actions[a].open):this.openLink(b.actions[a].open));this.model.beginUpdate();try{for(a=0;a<b.actions.length;a++)this.handleLinkAction(b.actions[a])}finally{this.model.endUpdate()}}};Graph.prototype.handleLinkAction=function(b){var a=[];null!=b.select&&this.isEnabled()&&(a=this.getCellsForAction(b.select),this.setSelectionCells(a));null!=b.scroll&&(a=this.getCellsForAction(b.scroll));null!= +b.toggle&&this.toggleCells(this.getCellsForAction(b.toggle));null!=b.show&&this.setCellsVisible(this.getCellsForAction(b.show),!0);null!=b.hide&&this.setCellsVisible(this.getCellsForAction(b.hide),!1);null!=b.highlight&&(a=this.getCellsForAction(b.highlight),this.highlightCells(a,b.highlight.color,b.highlight.duration,b.highlight.opacity));0<a.length&&this.scrollCellToVisible(a[0])};Graph.prototype.getCellsForAction=function(b){return this.getCellsById(b.cells).concat(this.getCellsForTags(b.tags))}; +Graph.prototype.getCellsById=function(b){var a=[];if(null!=b)for(var e=0;e<b.length;e++)if("*"==b[e])var c=this.getDefaultParent(),a=a.concat(this.model.filterDescendants(function(b){return b!=c},c));else{var l=this.model.getCell(b[e]);null!=l&&a.push(l)}return a};Graph.prototype.getCellsForTags=function(b,a,e){var c=[];if(null!=b){a=null!=a?a:this.model.getDescendants(this.model.getRoot());e=null!=e?e:"tags";for(var k=0;k<a.length;k++)if(this.model.isVertex(a[k])||this.model.isEdge(a[k])){var l= +null!=a[k].value&&"object"==typeof a[k].value?mxUtils.trim(a[k].value.getAttribute(e)||""):"",f=!0;if(0<l.length)for(var l=l.toLowerCase().split(" "),d=0;d<b.length&&f;d++)var q=mxUtils.trim(b[d]).toLowerCase(),f=f&&(0==q.length||0<=mxUtils.indexOf(l,q));else f=0==b.length;f&&c.push(a[k])}}return c};Graph.prototype.toggleCells=function(b){this.model.beginUpdate();try{for(var a=0;a<b.length;a++)this.model.setVisible(b[a],!this.model.isVisible(b[a]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible= +function(b,a){this.model.beginUpdate();try{for(var e=0;e<b.length;e++)this.model.setVisible(b[e],a)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(b,a,e,c){for(var k=0;k<b.length;k++)this.highlightCell(b[k],a,e,c)};Graph.prototype.highlightCell=function(b,a,e,c){a=null!=a?a:mxConstants.DEFAULT_VALID_COLOR;e=null!=e?e:1E3;b=this.view.getState(b);if(null!=b){var k=Math.max(5,mxUtils.getValue(b.style,mxConstants.STYLE_STROKEWIDTH,1)+4),l=new mxCellHighlight(this,a,k,!1);null!= +c&&(l.opacity=c);l.highlight(b);window.setTimeout(function(){null!=l.shape&&(mxUtils.setPrefixedStyle(l.shape.node.style,"transition","all 1200ms ease-in-out"),l.shape.node.style.opacity=0);window.setTimeout(function(){l.destroy()},1200)},e)}};Graph.prototype.addSvgShadow=function(b,a,e){e=null!=e?e:!1;var c=b.ownerDocument,k=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"filter"):c.createElement("filter");k.setAttribute("id",this.shadowId);var l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, +"feGaussianBlur"):c.createElement("feGaussianBlur");l.setAttribute("in","SourceAlpha");l.setAttribute("stdDeviation",this.svgShadowBlur);l.setAttribute("result","blur");k.appendChild(l);l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");l.setAttribute("in","blur");l.setAttribute("dx",this.svgShadowSize);l.setAttribute("dy",this.svgShadowSize);l.setAttribute("result","offsetBlur");k.appendChild(l);l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, +"feFlood"):c.createElement("feFlood");l.setAttribute("flood-color",this.svgShadowColor);l.setAttribute("flood-opacity",this.svgShadowOpacity);l.setAttribute("result","offsetColor");k.appendChild(l);l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):c.createElement("feComposite");l.setAttribute("in","offsetColor");l.setAttribute("in2","offsetBlur");l.setAttribute("operator","in");l.setAttribute("result","offsetBlur");k.appendChild(l);l=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, +"feBlend"):c.createElement("feBlend");l.setAttribute("in","SourceGraphic");l.setAttribute("in2","offsetBlur");k.appendChild(l);l=b.getElementsByTagName("defs");0==l.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=b.firstChild?b.insertBefore(c,b.firstChild):b.appendChild(c)):c=l[0];c.appendChild(k);e||((a||b.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(b.getAttribute("width")))||(b.setAttribute("width", +parseInt(b.getAttribute("width"))+6),b.setAttribute("height",parseInt(b.getAttribute("height"))+6)));return k};Graph.prototype.setShadowVisible=function(b,a){mxClient.IS_SVG&&(a=null!=a?a:!0,(this.shadowVisible=b)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),a&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var b=this.model.getChildCount(this.model.root), +a,e=0;do a=this.model.getChildAt(this.model.root,e);while(e++<b&&"1"==mxUtils.getValue(this.getCellStyle(a),"locked","0"));null!=a&&this.setDefaultParent(a)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er= +[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic= +[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+ +"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]= +[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl= +[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js", +STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(b){var a= +null;null!=b&&0<b.length&&("ER"==b.substring(0,2)?a="mxgraph.er":"sysML"==b.substring(0,5)&&(a="mxgraph.sysml"));return a};var t=mxMarker.createMarker;mxMarker.createMarker=function(b,a,e,c,l,f,d,q,g,u){if(null!=e&&null==mxMarker.markers[e]){var k=this.getPackageForType(e);null!=k&&mxStencilRegistry.getStencil(k)}return t.apply(this,arguments)};PrintDialog.prototype.create=function(b,a){function e(){m.value=Math.max(1,Math.min(q,Math.max(parseInt(m.value),parseInt(h.value))));h.value=Math.max(1,Math.min(q, +Math.min(parseInt(m.value),parseInt(h.value))))}function c(a){function e(a,e,k){var l=a.getGraphBounds(),d=0,f=0,q=ba.get(),u=1/a.pageScale,g=A.checked;if(g)var u=parseInt(Q.value),v=parseInt(P.value),u=Math.min(q.height*v/(l.height/a.view.scale),q.width*u/(l.width/a.view.scale));else u=parseInt(p.value)/(100*a.pageScale),isNaN(u)&&(c=1/a.pageScale,p.value="100 %");q=mxRectangle.fromRectangle(q);q.width=Math.ceil(q.width*c);q.height=Math.ceil(q.height*c);u*=c;!g&&a.pageVisible?(l=a.getPageLayout(), +d-=l.x*q.width,f-=l.y*q.height):g=!0;if(null==e){e=PrintDialog.createPrintPreview(a,u,q,0,d,f,g);e.pageSelector=!1;e.mathEnabled=!1;a=b.getCurrentFile();null!=a&&(e.title=a.getTitle());var t=e.writeHead;e.writeHead=function(a){t.apply(this,arguments);null!=b.editor.fontCss&&(a.writeln('<style type="text/css">'),a.writeln(b.editor.fontCss),a.writeln("</style>"))};if("undefined"!==typeof MathJax){var w=e.renderPage;e.renderPage=function(b,a,e,c,k,l){var d=w.apply(this,arguments);this.graph.mathEnabled? +this.mathEnabled=!0:d.className="geDisableMathJax";return d}}e.open(null,null,k,!0)}else{q=a.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";e.backgroundColor=q;e.autoOrigin=g;e.appendGraph(a,u,d,f,k,!0)}return e}var c=parseInt(U.value)/100;isNaN(c)&&(c=1,U.value="100 %");var c=.75*c,k=h.value,d=m.value,f=!t.checked,q=null;f&&(f=k==g&&d==g);if(!f&&null!=b.pages&&b.pages.length){var u=0,f=b.pages.length-1;t.checked||(u=parseInt(k)-1,f=parseInt(d)-1);for(var v=u;v<=f;v++){var w=b.pages[v], +k=w==b.currentPage?l:null;if(null==k){var k=b.createTemporaryGraph(l.getStylesheet()),d=!0,u=!1,x=null,n=null;null==w.viewState&&null==w.mapping&&null==w.root&&b.updatePageRoot(w);null!=w.viewState?(d=w.viewState.pageVisible,u=w.viewState.mathEnabled,x=w.viewState.background,n=w.viewState.backgroundImage):null!=w.mapping&&null!=w.mapping.diagramMap&&(u="0"!=w.mapping.diagramMap.get("mathEnabled"),x=w.mapping.diagramMap.get("background"),n=w.mapping.diagramMap.get("backgroundImage"),n=null!=n&&0<n.length? +JSON.parse(n):null);k.background=x;k.backgroundImage=null!=n?new mxImage(n.src,n.width,n.height):null;k.pageVisible=d;k.mathEnabled=u;var B=k.getGlobalVariable;k.getGlobalVariable=function(b){return"page"==b?w.getName():"pagenumber"==b?v+1:B.apply(this,arguments)};document.body.appendChild(k.container);b.updatePageRoot(w);k.model.setRoot(w.root)}q=e(k,q,v!=f);k!=l&&k.container.parentNode.removeChild(k.container)}}else q=e(l);q.mathEnabled&&(f=q.wnd.document,f.writeln('<script type="text/x-mathjax-config">'), +f.writeln("MathJax.Hub.Config({"),f.writeln('messageStyle: "none",'),f.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),f.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),f.writeln('"HTML-CSS": {'),f.writeln("imageFont: null"),f.writeln("},"),f.writeln("TeX: {"),f.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),f.writeln("},"),f.writeln("tex2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("},"), +f.writeln("asciimath2jax: {"),f.writeln('\tignoreClass: "geDisableMathJax"'),f.writeln("}"),f.writeln("});"),a&&(f.writeln("MathJax.Hub.Queue(function () {"),f.writeln("window.print();"),f.writeln("});")),f.writeln("\x3c/script>"),f.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));q.closeDocument();!q.mathEnabled&&a&&PrintDialog.printPreview(q)}var l=b.editor.graph,f=document.createElement("div"),d=document.createElement("h3");d.style.width="100%"; +d.style.textAlign="center";d.style.marginTop="0px";mxUtils.write(d,a||mxResources.get("print"));f.appendChild(d);var q=1,g=1,u=document.createElement("div");u.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio");t.setAttribute("name","pages-printdialog");u.appendChild(t);d=document.createElement("span");mxUtils.write(d, +mxResources.get("printAllPages"));u.appendChild(d);mxUtils.br(u);var w=t.cloneNode(!0);t.setAttribute("checked","checked");w.setAttribute("value","range");u.appendChild(w);d=document.createElement("span");mxUtils.write(d,mxResources.get("pages")+":");u.appendChild(d);var h=document.createElement("input");h.style.cssText="margin:0 8px 0 8px;";h.setAttribute("value","1");h.setAttribute("type","number");h.setAttribute("min","1");h.style.width="50px";u.appendChild(h);d=document.createElement("span"); +mxUtils.write(d,mxResources.get("to"));u.appendChild(d);var m=h.cloneNode(!0);u.appendChild(m);mxEvent.addListener(h,"focus",function(){w.checked=!0});mxEvent.addListener(m,"focus",function(){w.checked=!0});mxEvent.addListener(h,"change",e);mxEvent.addListener(m,"change",e);if(null!=b.pages&&(q=b.pages.length,null!=b.currentPage))for(d=0;d<b.pages.length;d++)if(b.currentPage==b.pages[d]){g=d+1;h.value=g;m.value=g;break}h.setAttribute("max",q);m.setAttribute("max",q);1<q&&f.appendChild(u);var x=document.createElement("div"); +x.style.marginBottom="10px";var n=document.createElement("input");n.style.marginRight="8px";n.setAttribute("value","adjust");n.setAttribute("type","radio");n.setAttribute("name","printZoom");x.appendChild(n);d=document.createElement("span");mxUtils.write(d,mxResources.get("adjustTo"));x.appendChild(d);var p=document.createElement("input");p.style.cssText="margin:0 8px 0 8px;";p.setAttribute("value","100 %");p.style.width="50px";x.appendChild(p);mxEvent.addListener(p,"focus",function(){n.checked=!0}); +f.appendChild(x);var u=u.cloneNode(!1),A=n.cloneNode(!0);A.setAttribute("value","fit");n.setAttribute("checked","checked");d=document.createElement("div");d.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";d.appendChild(A);u.appendChild(d);x=document.createElement("table");x.style.display="inline-block";var N=document.createElement("tbody"),S=document.createElement("tr"),O=S.cloneNode(!0),G=document.createElement("td"),W=G.cloneNode(!0),R=G.cloneNode(!0),T=G.cloneNode(!0), +V=G.cloneNode(!0),I=G.cloneNode(!0);G.style.textAlign="right";T.style.textAlign="right";mxUtils.write(G,mxResources.get("fitTo"));var Q=document.createElement("input");Q.style.cssText="margin:0 8px 0 8px;";Q.setAttribute("value","1");Q.setAttribute("min","1");Q.setAttribute("type","number");Q.style.width="40px";W.appendChild(Q);d=document.createElement("span");mxUtils.write(d,mxResources.get("fitToSheetsAcross"));R.appendChild(d);mxUtils.write(T,mxResources.get("fitToBy"));var P=Q.cloneNode(!0);V.appendChild(P); +mxEvent.addListener(Q,"focus",function(){A.checked=!0});mxEvent.addListener(P,"focus",function(){A.checked=!0});d=document.createElement("span");mxUtils.write(d,mxResources.get("fitToSheetsDown"));I.appendChild(d);S.appendChild(G);S.appendChild(W);S.appendChild(R);O.appendChild(T);O.appendChild(V);O.appendChild(I);N.appendChild(S);N.appendChild(O);x.appendChild(N);u.appendChild(x);f.appendChild(u);u=document.createElement("div");d=document.createElement("div");d.style.fontWeight="bold";d.style.marginBottom= +"12px";mxUtils.write(d,mxResources.get("paperSize"));u.appendChild(d);d=document.createElement("div");d.style.marginBottom="12px";var ba=PageSetupDialog.addPageFormatPanel(d,"printdialog",b.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);u.appendChild(d);d=document.createElement("span");mxUtils.write(d,mxResources.get("pageScale"));u.appendChild(d);var U=document.createElement("input");U.style.cssText="margin:0 8px 0 8px;";U.setAttribute("value","100 %");U.style.width="60px";u.appendChild(U); +f.appendChild(u);d=document.createElement("div");d.style.cssText="text-align:right;margin:62px 0 0 0;";u=mxUtils.button(mxResources.get("cancel"),function(){b.hideDialog()});u.className="geBtn";b.editor.cancelFirst&&d.appendChild(u);b.isOffline()||(x=mxUtils.button(mxResources.get("help"),function(){l.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),x.className="geBtn",d.appendChild(x));PrintDialog.previewEnabled&&(x=mxUtils.button(mxResources.get("preview"),function(){b.hideDialog(); +c(!1)}),x.className="geBtn",d.appendChild(x));x=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){b.hideDialog();c(!0)});x.className="geBtn gePrimaryBtn";d.appendChild(x);b.editor.cancelFirst||d.appendChild(u);f.appendChild(d);this.container=f};var w=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background= +this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(w.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!= +this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,f,c){c.ui=a.ui;return f};a.afterDecode=function(a,f,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="8.8.2";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= -!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var b=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!b.getContext||!b.getContext("2d"))}catch(q){}try{var a=document.createElement("canvas"),c=new Image;c.onload=function(){try{a.getContext("2d").drawImage(c,0,0);var b=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= -null!=b&&6<b.length}catch(t){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(q){}try{a=document.createElement("canvas");a.width=a.height=1;var f=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==f.match("image/jpeg")}catch(q){}})(); +!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var b=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!b.getContext||!b.getContext("2d"))}catch(u){}try{var a=document.createElement("canvas"),c=new Image;c.onload=function(){try{a.getContext("2d").drawImage(c,0,0);var b=a.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= +null!=b&&6<b.length}catch(t){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(u){}try{a=document.createElement("canvas");a.width=a.height=1;var d=a.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==d.match("image/jpeg")}catch(u){}})(); EditorUi.prototype.openLink=function(b,a){return this.editor.graph.openLink(b,a)};EditorUi.prototype.showSplash=function(b){};EditorUi.prototype.getLocalData=function(b,a){a(localStorage.getItem(b))};EditorUi.prototype.setLocalData=function(b,a,c){localStorage.setItem(b,a);c()};EditorUi.prototype.removeLocalData=function(b,a){localStorage.removeItem(b);a()};EditorUi.prototype.setMathEnabled=function(b){this.editor.graph.mathEnabled=b;this.editor.updateGraphComponents();this.editor.graph.refresh(); this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(b){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(b,a,c){c=null!=c?c:24;var e=new Spinner({lines:12, -length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),l=e.spin;e.spin=function(c,f){var d=!1;this.active||(l.call(this,c),this.active=!0,null!=f&&(d=document.createElement("div"),d.style.position="absolute",d.style.whiteSpace="nowrap",d.style.background="#4B4243",d.style.color="white",d.style.fontFamily="Helvetica, Arial",d.style.fontSize="9pt",d.style.padding="6px",d.style.paddingLeft="10px",d.style.paddingRight= -"10px",d.style.zIndex=2E9,d.style.left=Math.max(0,b)+"px",d.style.top=Math.max(0,a+70)+"px",mxUtils.setPrefixedStyle(d.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(d.style,"boxShadow","2px 2px 3px 0px #ddd"),d.innerHTML=f+"...",c.appendChild(d),e.status=d,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(d.style.left=Math.round(Math.max(0,b-d.offsetWidth/2))+"px",d.style.top=Math.round(Math.max(0, -a+70-d.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var b=function(){};this.active&&(b=mxUtils.bind(this,function(){this.spin(c,f)}));this.stop();return b}),d=!0);return d};var f=e.stop;e.stop=function(){f.call(this);this.active=!1;null!=e.status&&(e.status.parentNode.removeChild(e.status),e.status=null)};e.pause=function(){return function(){}};return e};EditorUi.parsePng=function(b,a,c){function e(b,a){var e=f;f+=a;return b.substring(e,f)}function l(b){b=e(b,4);return b.charCodeAt(3)+ -(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}var f=0;if(e(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(e(b,4),"IHDR"!=e(b,4))null!=c&&c();else{e(b,17);do{c=l(b);var d=e(b,4);if(null!=a&&a(f-8,d,c))break;value=e(b,c);e(b,4);if("IEND"==d)break}while(c)}};EditorUi.prototype.isCompatibleString=function(b){try{var a=mxUtils.parseXml(b),c=this.editor.extractGraphModel(a.documentElement,!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(u){}return!1}; +length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),l=e.spin;e.spin=function(c,d){var f=!1;this.active||(l.call(this,c),this.active=!0,null!=d&&(f=document.createElement("div"),f.style.position="absolute",f.style.whiteSpace="nowrap",f.style.background="#4B4243",f.style.color="white",f.style.fontFamily="Helvetica, Arial",f.style.fontSize="9pt",f.style.padding="6px",f.style.paddingLeft="10px",f.style.paddingRight= +"10px",f.style.zIndex=2E9,f.style.left=Math.max(0,b)+"px",f.style.top=Math.max(0,a+70)+"px",mxUtils.setPrefixedStyle(f.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(f.style,"boxShadow","2px 2px 3px 0px #ddd"),f.innerHTML=d+"...",c.appendChild(f),e.status=f,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(f.style.left=Math.round(Math.max(0,b-f.offsetWidth/2))+"px",f.style.top=Math.round(Math.max(0, +a+70-f.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var b=function(){};this.active&&(b=mxUtils.bind(this,function(){this.spin(c,d)}));this.stop();return b}),f=!0);return f};var d=e.stop;e.stop=function(){d.call(this);this.active=!1;null!=e.status&&(e.status.parentNode.removeChild(e.status),e.status=null)};e.pause=function(){return function(){}};return e};EditorUi.parsePng=function(b,a,c){function e(b,a){var e=f;f+=a;return b.substring(e,f)}function l(b){b=e(b,4);return b.charCodeAt(3)+ +(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}var f=0;if(e(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(e(b,4),"IHDR"!=e(b,4))null!=c&&c();else{e(b,17);do{c=l(b);var d=e(b,4);if(null!=a&&a(f-8,d,c))break;value=e(b,c);e(b,4);if("IEND"==d)break}while(c)}};EditorUi.prototype.isCompatibleString=function(b){try{var a=mxUtils.parseXml(b),c=this.editor.extractGraphModel(a.documentElement,!0);return null!=c&&0==c.getElementsByTagName("parsererror").length}catch(q){}return!1}; var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(b){var e=a.apply(this,arguments);if(null==e)try{var c=b.indexOf("<mxfile ");if(0<=c){var f=b.lastIndexOf("</mxfile>");f>c&&(e=b.substring(c,f+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var d=mxUtils.parseXml(b),g=this.editor.extractGraphModel(d.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),e=null!= g?mxUtils.getXml(g):""}catch(w){}return e};EditorUi.prototype.validateFileData=function(b){if(null!=b&&0<b.length){var a=b.indexOf('<meta charset="utf-8">');0<=a&&(b=b.slice(0,a)+'<meta charset="utf-8"/>'+b.slice(a+23-1,b.length))}return b};EditorUi.prototype.replaceFileData=function(b){b=this.validateFileData(b);b=null!=b&&0<b.length?mxUtils.parseXml(b).documentElement:null;var a=null!=b?this.editor.extractGraphModel(b,!0):null;null!=a&&(b=a);if(null!=b){a=this.editor.graph;a.model.beginUpdate(); try{var c=null!=this.pages?this.pages.slice():null,f=b.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<f.length||1==f.length&&f[0].hasAttribute("name")){this.fileNode=b;this.pages=null!=this.pages?this.pages:[];for(var d=f.length-1;0<=d;d--){var g=this.updatePageRoot(new DiagramPage(f[d]));null==g.getName()&&g.setName(mxResources.get("pageWithNumber",[d+1]));a.model.execute(new ChangePage(this,g,0==d?g:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=b.ownerDocument.createElement("mxfile"), @@ -7206,55 +7239,55 @@ q.removeAttribute("editor"),q.removeAttribute("type")):(q.setAttribute("userAgen App.MODE_BROWSER||(f=null),b=this.getEmbeddedSvg(b,a,f,null,h,m,l);return b};EditorUi.prototype.getXmlFileData=function(b,a){b=null!=b?b:!0;a=null!=a?a:!1;var e=this.editor.getGraphXml(b);if(b&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(e)));mxUtils.setTextContent(this.currentPage.node,c);e=this.fileNode.cloneNode(!1);if(a)e.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var d=this.pages[f].mapping; this.currentPage!=this.pages[f]&&null!=d&&d.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(d.graphModel),d.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),d.needsUpdate=!1);e.appendChild(this.pages[f].node)}}return e};EditorUi.prototype.getFileData=function(b,a,c,f,d,g,w,h,m){d=null!=d?d:!0;w=null!=w?w:this.getXmlFileData(d,null!=g?g:!1);m=null!=m?m:this.getCurrentFile();g=this.editor.graph; if(null!=this.pages&&this.currentPage!=this.pages[0]&&(a||!b&&null!=m&&/(\.svg)$/i.test(m.getTitle()))){g=this.createTemporaryGraph(g.getStylesheet());var e=g.getGlobalVariable,l=this.pages[0];g.getGlobalVariable=function(b){return"page"==b?l.getName():"pagenumber"==b?1:e.apply(this,arguments)};document.body.appendChild(g.container);g.model.setRoot(l.root)}b=this.createFileData(w,g,m,window.location.href,b,a,c,f,d,h);g!=this.editor.graph&&g.container.parentNode.removeChild(g.container);return b}; -EditorUi.prototype.getHtml=function(b,a,c,d,f,g){g=null!=g?g:!0;var e=null,l="https://www.draw.io/js/embed-static.min.js";if(null!=a){var e=g?a.getGraphBounds():a.getBoundingBox(a.getSelectionCells()),q=a.view.scale;g=Math.floor(e.x/q-a.view.translate.x);q=Math.floor(e.y/q-a.view.translate.y);e=a.background;null==f&&(a=this.getBasenames().join(";"),0<a.length&&(l="https://www.draw.io/embed.js?s="+a));b.setAttribute("x0",g);b.setAttribute("y0",q)}null!=b&&(b.setAttribute("pan","1"),b.setAttribute("zoom", -"1"),b.setAttribute("resize","0"),b.setAttribute("fit","0"),b.setAttribute("border","20"),b.setAttribute("links","1"),null!=d&&b.setAttribute("edit",d));null!=f&&(f=f.replace(/&/g,"&"));b=null!=b?this.editor.graph.zapGremlins(mxUtils.getXml(b)):"";d=this.editor.graph.compress(b);this.editor.graph.decompress(d)!=b&&(d=encodeURIComponent(b));return(null==f?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=f?' xmlns="http://www.w3.org/1999/xhtml">': -">")+"\n<head>\n"+(null==f?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=f?'<meta http-equiv="refresh" content="0;URL=\''+f+"'\"/>\n":"")+"</head>\n<body"+(null==f&&null!=e&&e!=mxConstants.NONE?' style="background-color:'+e+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+d+"</div>\n</div>\n"+(null==f?'<script type="text/javascript" src="'+l+'">\x3c/script>': -'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+f+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(b,a,c,f,d){null!=d&&(d=d.replace(/&/g,"&"));b={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(b),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(b.page=mxUtils.indexOf(this.pages, +EditorUi.prototype.getHtml=function(b,a,c,f,d,g){g=null!=g?g:!0;var e=null,l="https://www.draw.io/js/embed-static.min.js";if(null!=a){var e=g?a.getGraphBounds():a.getBoundingBox(a.getSelectionCells()),q=a.view.scale;g=Math.floor(e.x/q-a.view.translate.x);q=Math.floor(e.y/q-a.view.translate.y);e=a.background;null==d&&(a=this.getBasenames().join(";"),0<a.length&&(l="https://www.draw.io/embed.js?s="+a));b.setAttribute("x0",g);b.setAttribute("y0",q)}null!=b&&(b.setAttribute("pan","1"),b.setAttribute("zoom", +"1"),b.setAttribute("resize","0"),b.setAttribute("fit","0"),b.setAttribute("border","20"),b.setAttribute("links","1"),null!=f&&b.setAttribute("edit",f));null!=d&&(d=d.replace(/&/g,"&"));b=null!=b?this.editor.graph.zapGremlins(mxUtils.getXml(b)):"";f=this.editor.graph.compress(b);this.editor.graph.decompress(f)!=b&&(f=encodeURIComponent(b));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">': +">")+"\n<head>\n"+(null==d?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\n":"")+"</head>\n<body"+(null==d&&null!=e&&e!=mxConstants.NONE?' style="background-color:'+e+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+f+"</div>\n</div>\n"+(null==d?'<script type="text/javascript" src="'+l+'">\x3c/script>': +'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+d+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(b,a,c,f,d){null!=d&&(d=d.replace(/&/g,"&"));b={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(b),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(b.page=mxUtils.indexOf(this.pages, this.currentPage));return(null==d?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=d?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==d?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=d?'<meta http-equiv="refresh" content="0;URL=\''+d+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+ mxUtils.htmlEntities(JSON.stringify(b))+'"></div>\n'+(null==d?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+d+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(b){b=this.validateFileData(b);this.pages=this.fileNode=this.currentPage=null;var a=null!=b&&0<b.length? mxUtils.parseXml(b).documentElement:null;b=null!=a?this.editor.extractGraphModel(a,!0):null;null!=b&&(a=b);if(null!=a&&"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<b.length||1==b.length&&b[0].hasAttribute("name"))){this.fileNode=a;this.pages=[];for(a=0;a<b.length;a++){var c=new DiagramPage(b[a]);null==c.getName()&&c.setName(mxResources.get("pageWithNumber",[a+1]));this.pages.push(c)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page|| 0))];a=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=a&&(this.fileNode=a.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(a);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(b){var a=this.getCurrentFile(),a=null!=a&&null!= a.getTitle()?a.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(a)||/(\.html)$/i.test(a)||/(\.svg)$/i.test(a)||/(\.png)$/i.test(a))a=a.substring(0,a.lastIndexOf("."));!b&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(a=a+"-"+this.currentPage.getName());return a};EditorUi.prototype.downloadFile=function(b,a,c,d,f,g,w){try{d=null!=d?d:this.editor.graph.isSelectionEmpty();var e=this.getBaseFilename(!f), l=e+"."+b;if("xml"==b){var k='<?xml version="1.0" encoding="UTF-8"?>\n'+(a?mxUtils.getXml(this.editor.getGraphXml(d)):this.getFileData(!0,null,null,null,d,f));this.saveData(l,b,k,"text/xml")}else if("html"==b)k=this.getHtml2(this.getFileData(!0),this.editor.graph,e),this.saveData(l,b,k,"text/html");else if("svg"!=b&&"xmlsvg"!=b||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==b?l=e+".png":"jpeg"==b&&(l=e+".jpg"),this.saveRequest(l,b,mxUtils.bind(this,function(a,c){try{var e= -this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var k=this.createDownloadRequest(a,b,d,c,w);this.editor.graph.pageVisible=e;return k}catch(A){this.handleError(A)}}));else{var q=null,u=mxUtils.bind(this,function(b){b.length<=MAX_REQUEST_SIZE?this.saveData(l,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==b){var t=this.editor.graph.background;if(w||t== -mxConstants.NONE)t=null;var h=this.editor.graph.getSvg(t,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(h);this.convertImages(h,mxUtils.bind(this,mxUtils.bind(this,function(b){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(b))})))}else l=e+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(b){this.spinner.stop();u(b)}),d)}}catch(L){this.handleError(L)}}; -EditorUi.prototype.createDownloadRequest=function(b,a,c,d,f){var e=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=a);var l="";if(e.width*e.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};e="0";if("xmlpng"==a&&(e="1",a="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){l="&from="+g;break}g=this.editor.graph.background;"png"==a&&f&&(g=mxConstants.NONE); -return new mxXmlRequest(EXPORT_URL,"format="+a+l+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+d+"&embedXml="+e+"&xml="+encodeURIComponent(c)+(null!=b?"&filename="+encodeURIComponent(b):""))};EditorUi.prototype.setMode=function(b,a){this.mode=b};EditorUi.prototype.loadDescriptor=function(b,a,c){var e=window.location.hash,l=mxUtils.bind(this,function(c){var l=null!=b.data?b.data:"";null!=c&&0<c.length&&(0<l.length&&(l+="\n"),l+=c);c=new LocalFile(this,"csv"!=b.format&&0<l.length?l:this.emptyDiagramXml, +this.editor.graph.pageVisible;null!=g&&(this.editor.graph.pageVisible=g);var k=this.createDownloadRequest(a,b,d,c,w);this.editor.graph.pageVisible=e;return k}catch(B){this.handleError(B)}}));else{var q=null,u=mxUtils.bind(this,function(b){b.length<=MAX_REQUEST_SIZE?this.saveData(l,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(q)}))});if("svg"==b){var t=this.editor.graph.background;if(w||t== +mxConstants.NONE)t=null;var h=this.editor.graph.getSvg(t,null,null,null,null,d);c&&this.editor.graph.addSvgShadow(h);this.convertImages(h,mxUtils.bind(this,mxUtils.bind(this,function(b){this.spinner.stop();u('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(b))})))}else l=e+".svg",q=this.getFileData(!1,!0,null,mxUtils.bind(this,function(b){this.spinner.stop();u(b)}),d)}}catch(K){this.handleError(K)}}; +EditorUi.prototype.createDownloadRequest=function(b,a,c,d,f){var e=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=a);var l="";if(e.width*e.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};e="0";if("xmlpng"==a&&(e="1",a="png",null!=this.pages&&null!=this.currentPage))for(var q=0;q<this.pages.length;q++)if(this.pages[q]==this.currentPage){l="&from="+q;break}q=this.editor.graph.background;"png"==a&&f&&(q=mxConstants.NONE); +return new mxXmlRequest(EXPORT_URL,"format="+a+l+"&bg="+(null!=q?q:mxConstants.NONE)+"&base64="+d+"&embedXml="+e+"&xml="+encodeURIComponent(c)+(null!=b?"&filename="+encodeURIComponent(b):""))};EditorUi.prototype.setMode=function(b,a){this.mode=b};EditorUi.prototype.loadDescriptor=function(b,a,c){var e=window.location.hash,l=mxUtils.bind(this,function(c){var l=null!=b.data?b.data:"";null!=c&&0<c.length&&(0<l.length&&(l+="\n"),l+=c);c=new LocalFile(this,"csv"!=b.format&&0<l.length?l:this.emptyDiagramXml, null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return e};this.fileLoaded(c);"csv"==b.format&&this.importCsv(l,mxUtils.bind(this,function(b){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=b.update){var d=null!=b.interval?parseInt(b.interval):6E4,k=null,f=mxUtils.bind(this,function(){var a=this.currentPage;mxUtils.post(b.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), -mxUtils.bind(this,function(b){a===this.currentPage&&(200<=b.getStatus()&&300>=b.getStatus()?(this.updateDiagram(b.getText()),g()):this.handleError({message:mxResources.get("error")+" "+b.getStatus()}))}),mxUtils.bind(this,function(b){this.handleError(b)}))}),g=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(f,d)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){g();f()}));g();f()}null!=a&&a()});if(null!=b.url){var d=b.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&& +mxUtils.bind(this,function(b){a===this.currentPage&&(200<=b.getStatus()&&300>=b.getStatus()?(this.updateDiagram(b.getText()),q()):this.handleError({message:mxResources.get("error")+" "+b.getStatus()}))}),mxUtils.bind(this,function(b){this.handleError(b)}))}),q=mxUtils.bind(this,function(){window.clearTimeout(k);k=window.setTimeout(f,d)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){q();f()}));q();f()}null!=a&&a()});if(null!=b.url){var d=b.url;/^https?:\/\//.test(d)&&!this.isCorsEnabledForUrl(d)&& (d=PROXY_URL+"?url="+encodeURIComponent(b.url));this.loadUrl(d,mxUtils.bind(this,function(b){l(b)}),mxUtils.bind(this,function(b){null!=c&&c(b)}))}else l(b.data)};EditorUi.prototype.updateDiagram=function(b){function a(b){var a=new mxCellOverlay(b.image||d.warningImage,b.tooltip,b.align,b.valign,b.offset);a.addListener(mxEvent.CLICK,function(a,c){editorUi.alert(b.tooltip)});return a}var c=null;if(null!=b&&0<b.length&&(c=mxUtils.parseXml(b),b=null!=c?c.documentElement:null,null!=b&&"updates"==b.nodeName)){var d= -this.editor.graph,f=d.getModel();f.beginUpdate();var g=null;try{for(b=b.firstChild;null!=b;){if("update"==b.nodeName){var w=f.getCell(b.getAttribute("id"));if(null!=w){try{var h=b.getAttribute("value");if(null!=h){var m=mxUtils.parseXml(h).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))f.setValue(w,m);else for(var k=m.attributes,v=0;v<k.length;v++)d.setAttributeForCell(w,k[v].nodeName,0<k[v].nodeValue.length?k[v].nodeValue:null)}}catch(A){null!=window.console&&console.log("Error in value for "+ -w.id+": "+A)}try{var n=b.getAttribute("style");null!=n&&d.model.setStyle(w,n)}catch(A){null!=window.console&&console.log("Error in style for "+w.id+": "+A)}try{var p=b.getAttribute("icon");if(null!=p){var y=0<p.length?JSON.parse(p):null;null!=y&&y.append||d.removeCellOverlays(w);null!=y&&d.addCellOverlay(w,a(y))}}catch(A){null!=window.console&&console.log("Error in icon for "+w.id+": "+A)}try{var L=b.getAttribute("geometry");if(null!=L){var L=JSON.parse(L),z=d.getCellGeometry(w);if(null!=z){z=z.clone(); -for(key in L){var D=parseFloat(L[key]);"dx"==key?z.x+=D:"dy"==key?z.y+=D:"dw"==key?z.width+=D:"dh"==key?z.height+=D:z[key]=parseFloat(L[key])}d.model.setGeometry(w,z)}}}catch(A){null!=window.console&&console.log("Error in icon for "+w.id+": "+A)}}}else if("model"==b.nodeName){for(var I=b.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(b.firstChild)).decode(I,f)}else if("view"==b.nodeName){if(b.hasAttribute("scale")&&(d.view.scale=parseFloat(b.getAttribute("scale"))), +this.editor.graph,f=d.getModel();f.beginUpdate();var g=null;try{for(b=b.firstChild;null!=b;){if("update"==b.nodeName){var w=f.getCell(b.getAttribute("id"));if(null!=w){try{var h=b.getAttribute("value");if(null!=h){var m=mxUtils.parseXml(h).documentElement;if(null!=m)if("1"==m.getAttribute("replace-value"))f.setValue(w,m);else for(var k=m.attributes,v=0;v<k.length;v++)d.setAttributeForCell(w,k[v].nodeName,0<k[v].nodeValue.length?k[v].nodeValue:null)}}catch(B){null!=window.console&&console.log("Error in value for "+ +w.id+": "+B)}try{var n=b.getAttribute("style");null!=n&&d.model.setStyle(w,n)}catch(B){null!=window.console&&console.log("Error in style for "+w.id+": "+B)}try{var p=b.getAttribute("icon");if(null!=p){var y=0<p.length?JSON.parse(p):null;null!=y&&y.append||d.removeCellOverlays(w);null!=y&&d.addCellOverlay(w,a(y))}}catch(B){null!=window.console&&console.log("Error in icon for "+w.id+": "+B)}try{var K=b.getAttribute("geometry");if(null!=K){var K=JSON.parse(K),z=d.getCellGeometry(w);if(null!=z){z=z.clone(); +for(key in K){var D=parseFloat(K[key]);"dx"==key?z.x+=D:"dy"==key?z.y+=D:"dw"==key?z.width+=D:"dh"==key?z.height+=D:z[key]=parseFloat(K[key])}d.model.setGeometry(w,z)}}}catch(B){null!=window.console&&console.log("Error in icon for "+w.id+": "+B)}}}else if("model"==b.nodeName){for(var L=b.firstChild;null!=L&&L.nodeType!=mxConstants.NODETYPE_ELEMENT;)L=L.nextSibling;null!=L&&(new mxCodec(b.firstChild)).decode(L,f)}else if("view"==b.nodeName){if(b.hasAttribute("scale")&&(d.view.scale=parseFloat(b.getAttribute("scale"))), b.hasAttribute("dx")||b.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(b.getAttribute("dx")||0),parseFloat(b.getAttribute("dy")||0))}else"fit"==b.nodeName&&(g=b.hasAttribute("max-scale")?parseFloat(b.getAttribute("max-scale")):1);b=b.nextSibling}}finally{f.endUpdate()}null!=g&&this.chromelessResize&&this.chromelessResize(!0,g)}return c};EditorUi.prototype.fileLoaded=function(b){var a=!1;this.hideDialog();var c=this.getCurrentFile();this.setCurrentFile(null);null!=c&&(c.removeListener(this.descriptorChangedListener), c.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=c&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); this.updateUi();this.showSplash()});if(null!=b)try{this.setCurrentFile(b);b.addListener("descriptorChanged",this.descriptorChangedListener);b.addListener("contentChanged",this.descriptorChangedListener);b.open();this.setGraphEnabled(!0);this.setMode(b.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==b.realtime&&(b.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+ "</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));a=!0;this.isOffline()||null==b.getMode()||this.logEvent({category:"File",action:"open",label:b.getMode()});if(this.mode==b.getMode()&&b.getMode()!= -App.MODE_DEVICE&&null!=b.getMode())try{this.addRecent({id:b.getHash(),title:b.getTitle(),mode:b.getMode()})}catch(q){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(q){}}catch(q){null!=window.console&&console.log("error in fileLoaded:",b,q);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+ -(null!=q&&null!=q.message?":err:"+encodeURIComponent(q.message):"")+(null!=q&&null!=q.stack?"&stack="+encodeURIComponent(q.stack):"")}catch(t){}this.handleError(q,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return a};EditorUi.prototype.descriptorChanged= +App.MODE_DEVICE&&null!=b.getMode())try{this.addRecent({id:b.getHash(),title:b.getTitle(),mode:b.getMode()})}catch(u){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(u){}}catch(u){null!=window.console&&console.log("error in fileLoaded:",b,u);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+ +(null!=u&&null!=u.message?":err:"+encodeURIComponent(u.message):"")+(null!=u&&null!=u.stack?"&stack="+encodeURIComponent(u.stack):"")}catch(t){}this.handleError(u,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=c?c.constructor==DriveFile?this.loadFile(c.getHash()):this.fileLoaded(c):d()}))}else d();return a};EditorUi.prototype.descriptorChanged= function(){};EditorUi.prototype.logEvent=function(b){if(EditorUi.enableLogging)try{var a=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=a+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=b?"&data="+encodeURIComponent(JSON.stringify(b)):"")}catch(l){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(b,a,c,d,f,g,w){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad= function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(b){null==b&&(b=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,b,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(b){var a=mxUtils.createXmlDocument(),c=a.createElement("mxlibrary");mxUtils.setTextContent(c,JSON.stringify(b));a.appendChild(c);return mxUtils.getXml(a)};EditorUi.prototype.closeLibrary=function(b){null!= b&&(this.removeLibrarySidebar(b.getHash()),b.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(b.getHash()),".scratchpad"==b.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(b){var a=this.sidebar.palettes[b];if(null!=a){for(var c=0;c<a.length;c++)a[c].parentNode.removeChild(a[c]);delete this.sidebar.palettes[b]}};EditorUi.prototype.repositionLibrary=function(b){var a=this.sidebar.container;if(null==b){var c=this.sidebar.palettes["L.scratchpad"];null==c&&(c= this.sidebar.palettes.search);null!=c&&(b=c[c.length-1].nextSibling)}b=null!=b?b:a.firstChild.nextSibling.nextSibling;var c=a.lastChild,d=c.previousSibling;a.insertBefore(c,b);a.insertBefore(d,c)};EditorUi.prototype.loadLibrary=function(b){var a=mxUtils.parseXml(b.getData());if("mxlibrary"==a.documentElement.nodeName){var c=JSON.parse(mxUtils.getTextContent(a.documentElement));this.libraryLoaded(b,c,a.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};}; EditorUi.prototype.getLibraryStorageHint=function(b){return""};EditorUi.prototype.libraryLoaded=function(b,a,c){if(null!=this.sidebar){b.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(b.getHash());".scratchpad"==b.title&&(this.scratchpad=b);var e=this.sidebar.palettes[b.getHash()],e=null!=e?e[e.length-1].nextSibling:null;this.removeLibrarySidebar(b.getHash());var d=null,f=mxUtils.bind(this,function(a,c){if(0==a.length&&b.isEditable())null==d&&(d=document.createElement("div"),mxUtils.setPrefixedStyle(d.style, -"borderRadius","6px"),d.style.border="3px dotted lightGray",d.style.textAlign="center",d.style.padding="8px",d.style.color="#B3B3B3",mxUtils.write(d,mxResources.get("dragElementsHere"))),c.appendChild(d);else for(var e=0;e<a.length;e++){var k=a[e],l=k.data;if(null!=l){var l=this.convertDataUri(l),f="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==k.aspect&&(f+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(f+"image="+l,k.w,k.h,"",k.title||"",!1, -!1,!0))}else null!=k.xml&&(l=this.stringToCells(this.editor.graph.decompress(k.xml)),0<l.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(l,k.w,k.h,k.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=a)for(var l=0;l<a.length;l++)mxUtils.bind(this,function(b){var a=b.data;null!=a&&null!=b.title?this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){a=this.convertDataUri(a);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==b.aspect&&(c+= +"borderRadius","6px"),d.style.border="3px dotted lightGray",d.style.textAlign="center",d.style.padding="8px",d.style.color="#B3B3B3",mxUtils.write(d,mxResources.get("dragElementsHere"))),c.appendChild(d);else for(var e=0;e<a.length;e++){var k=a[e],f=k.data;if(null!=f){var f=this.convertDataUri(f),l="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==k.aspect&&(l+="aspect=fixed;");c.appendChild(this.sidebar.createVertexTemplate(l+"image="+f,k.w,k.h,"",k.title||"",!1, +!1,!0))}else null!=k.xml&&(f=this.stringToCells(this.editor.graph.decompress(k.xml)),0<f.length&&c.appendChild(this.sidebar.createVertexTemplateFromCells(f,k.w,k.h,k.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=a)for(var l=0;l<a.length;l++)mxUtils.bind(this,function(b){var a=b.data;null!=a&&null!=b.title?this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){a=this.convertDataUri(a);var c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==b.aspect&&(c+= "aspect=fixed;");return this.sidebar.createVertexTemplate(c+"image="+a,b.w,b.h,"",b.title||"",!1,!1,!0)})):null!=b.xml&&null!=b.title&&this.sidebar.addEntry(b.title,mxUtils.bind(this,function(){var a=this.stringToCells(this.editor.graph.decompress(b.xml));return this.sidebar.createVertexTemplateFromCells(a,b.w,b.h,b.title||"",!0,!1,!0)}))})(a[l]);c=null!=c&&0<c.length?c:b.getTitle();var g=this.sidebar.addPalette(b.getHash(),c,!0,mxUtils.bind(this,function(b){f(a,b)}));this.repositionLibrary(e);var h= g.parentNode.previousSibling;c=h.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=b.title&&h.setAttribute("title",this.getLibraryStorageHint(b)+"\n"+c);var k=document.createElement("div");k.style.position="absolute";k.style.right="0px";k.style.top="0px";k.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(k.style.backgroundColor="inherit");h.style.position="relative";var v=document.createElement("img");v.setAttribute("src",Dialog.prototype.closeImage);v.setAttribute("title", mxResources.get("close"));v.setAttribute("valign","absmiddle");v.setAttribute("border","0");v.style.margin="0 3px";var m=null;if(".scratchpad"!=b.title||this.closableScratchpad)k.appendChild(v),mxEvent.addListener(v,"click",mxUtils.bind(this,function(a){if(!mxEvent.isConsumed(a)){var c=mxUtils.bind(this,function(){this.closeLibrary(b)});null!=m?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c();mxEvent.consume(a)}}));if(b.isEditable()){var n= -this.editor.graph,p=null,L=mxUtils.bind(this,function(c){this.showLibraryDialog(b.getTitle(),g,a,b,b.getMode());mxEvent.consume(c)}),z=mxUtils.bind(this,function(c){b.setModified(!0);b.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=v.cloneNode(!1),p.setAttribute("src",Editor.spinImage),p.setAttribute("title",mxResources.get("saving")),p.style.cursor="default",p.style.marginRight="2px",p.style.marginTop="-2px",k.insertBefore(p,k.firstChild),h.style.paddingRight=18*k.childNodes.length+ +this.editor.graph,p=null,K=mxUtils.bind(this,function(c){this.showLibraryDialog(b.getTitle(),g,a,b,b.getMode());mxEvent.consume(c)}),z=mxUtils.bind(this,function(c){b.setModified(!0);b.isAutosave()?(null!=p&&null!=p.parentNode&&p.parentNode.removeChild(p),p=v.cloneNode(!1),p.setAttribute("src",Editor.spinImage),p.setAttribute("title",mxResources.get("saving")),p.style.cursor="default",p.style.marginRight="2px",p.style.marginTop="-2px",k.insertBefore(p,k.firstChild),h.style.paddingRight=18*k.childNodes.length+ "px",this.saveLibrary(b.getTitle(),a,b,b.getMode(),!0,!0,function(){null!=p&&null!=p.parentNode&&(p.parentNode.removeChild(p),h.style.paddingRight=18*k.childNodes.length+"px")})):null==m&&(m=v.cloneNode(!1),m.setAttribute("src",IMAGE_PATH+"/download.png"),m.setAttribute("title",mxResources.get("save")),k.insertBefore(m,k.firstChild),mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){this.saveLibrary(b.getTitle(),a,b,b.getMode(),b.constructor==LocalLibrary,!0,function(){null==m||b.isModified()|| -(h.style.paddingRight=18*k.childNodes.length+"px",m.parentNode.removeChild(m),m=null)});mxEvent.consume(c)})),h.style.paddingRight=18*k.childNodes.length+"px")}),D=mxUtils.bind(this,function(b,c,e,k){b=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(b)));for(var l=0;l<b.length;l++){var f=n.getCellGeometry(b[l]);null!=f&&f.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(b,c.width,c.height,k||"",!0,!1,!1));b={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(b))), -w:c.width,h:c.height};null!=k&&(b.title=k);a.push(b);z(e);null!=d&&null!=d.parentNode&&0<a.length&&(d.parentNode.removeChild(d),d=null)}),I=mxUtils.bind(this,function(b){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(b),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var a=n.getSelectionCells(),c=n.view.getBounds(a),e=n.view.scale;c.x/=e;c.y/=e;c.width/=e;c.height/=e;c.x-=n.view.translate.x; +(h.style.paddingRight=18*k.childNodes.length+"px",m.parentNode.removeChild(m),m=null)});mxEvent.consume(c)})),h.style.paddingRight=18*k.childNodes.length+"px")}),D=mxUtils.bind(this,function(b,c,e,k){b=n.cloneCells(mxUtils.sortCells(n.model.getTopmostCells(b)));for(var f=0;f<b.length;f++){var l=n.getCellGeometry(b[f]);null!=l&&l.translate(-c.x,-c.y)}g.appendChild(this.sidebar.createVertexTemplateFromCells(b,c.width,c.height,k||"",!0,!1,!1));b={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(b))), +w:c.width,h:c.height};null!=k&&(b.title=k);a.push(b);z(e);null!=d&&null!=d.parentNode&&0<a.length&&(d.parentNode.removeChild(d),d=null)}),L=mxUtils.bind(this,function(b){if(n.isSelectionEmpty())n.getRubberband().isActive()?(n.getRubberband().execute(b),n.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var a=n.getSelectionCells(),c=n.view.getBounds(a),e=n.view.scale;c.x/=e;c.y/=e;c.width/=e;c.height/=e;c.x-=n.view.translate.x; c.y-=n.view.translate.y;D(a,c)}mxEvent.consume(b)});g.style.border="3px solid transparent";mxEvent.addGestureListeners(g,function(){},mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="hidden",null!=d?d.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)",g.style.cursor="copy",n.panningManager.stop(),n.autoScroll=!1,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!1), -null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(b))}),mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(g.style.border="3px solid transparent",null!=d&&(d.style.border="3px dotted lightGray"),g.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=!1,n.autoScroll=!0,I(b),mxEvent.consume(b))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(b){n.isMouseDown&& +null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(b))}),mxUtils.bind(this,function(b){n.isMouseDown&&null!=n.panningManager&&null!=n.graphHandler&&(g.style.border="3px solid transparent",null!=d&&(d.style.border="3px dotted lightGray"),g.style.cursor="default",this.sidebar.showTooltips=!0,n.panningManager.stop(),n.graphHandler.reset(),n.isMouseDown=!1,n.autoScroll=!0,L(b),mxEvent.consume(b))}));mxEvent.addListener(g,"mouseleave",mxUtils.bind(this,function(b){n.isMouseDown&& null!=n.graphHandler.shape&&(n.graphHandler.shape.node.style.visibility="visible",g.style.border="3px solid transparent",g.style.cursor="",n.autoScroll=!0,null!=n.graphHandler.guide&&n.graphHandler.guide.setVisible(!0),null!=n.graphHandler.hint&&(n.graphHandler.hint.style.visibility="visible"),null!=d&&(d.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(g,"dragover",mxUtils.bind(this,function(b){null!=d?d.style.border="3px dotted rgb(254, 137, 12)":g.style.border="3px dotted rgb(254, 137, 12)"; b.dataTransfer.dropEffect="copy";g.style.cursor="copy";this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"drop",mxUtils.bind(this,function(b){g.style.border="3px solid transparent";g.style.cursor="";null!=d&&(d.style.border="3px dotted lightGray");0<b.dataTransfer.files.length&&this.importFiles(b.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,e,k,l,q,v,u,w,t){if(null!=c&&"image/"==e.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,q,v),c)],c[0].vertex=!0,D(c,new mxRectangle(0,0,q,v),b,mxEvent.isAltDown(b)?null:u.substring(0,u.lastIndexOf(".")).replace(/_/g," ")),null!=d&&null!=d.parentNode&&0<a.length&&(d.parentNode.removeChild(d),d=null);else{var h=!1,m=mxUtils.bind(this,function(c,e){if(null!=c&&"text/xml"==e){var k=mxUtils.parseXml(c);if("mxlibrary"==k.documentElement.nodeName)try{var l=JSON.parse(mxUtils.getTextContent(k.documentElement));f(l,g);a=a.concat(l);z(b); this.spinner.stop();h=!0}catch(U){}else if("mxfile"==k.documentElement.nodeName)try{for(var q=k.documentElement.getElementsByTagName("diagram"),k=0;k<q.length;k++){var l=mxUtils.getTextContent(q[k]),v=this.stringToCells(this.editor.graph.decompress(l)),u=this.editor.graph.getBoundingBoxFromGeometry(v);D(v,new mxRectangle(0,0,u.width,u.height),b)}h=!0}catch(U){null!=window.console&&console.log("error in drop handler:",U)}}h||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); null!=d&&null!=d.parentNode&&0<a.length&&(d.parentNode.removeChild(d),d=null)});null!=t&&null!=u&&(/(\.vsdx?)($|\?)/i.test(u)||/(\.vssx)($|\?)/i.test(u))?this.importVisio(t,function(b){m(b,"text/xml")},null,u):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,u)&&null!=t?this.parseFile(t,mxUtils.bind(this,function(b){4==b.readyState&&(this.spinner.stop(),200<=b.status&&299>=b.status?m(b.responseText,"text/xml"):this.handleError({message:mxResources.get(413==b.status?"drawingTooLarge": -"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):m(c,e)}}));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"dragleave",function(b){null!=d?d.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",g.style.cursor="");b.stopPropagation();b.preventDefault()}));v=v.cloneNode(!1);v.setAttribute("src",Editor.editImage);v.setAttribute("title",mxResources.get("edit"));k.insertBefore(v,k.firstChild);mxEvent.addListener(v,"click",L);mxEvent.addListener(g, -"dblclick",function(b){mxEvent.getSource(b)==g&&L(b)});c=v.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));k.insertBefore(c,k.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=b.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, +"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):m(c,e)}}));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(g,"dragleave",function(b){null!=d?d.style.border="3px dotted lightGray":(g.style.border="3px solid transparent",g.style.cursor="");b.stopPropagation();b.preventDefault()}));v=v.cloneNode(!1);v.setAttribute("src",Editor.editImage);v.setAttribute("title",mxResources.get("edit"));k.insertBefore(v,k.firstChild);mxEvent.addListener(v,"click",K);mxEvent.addListener(g, +"dblclick",function(b){mxEvent.getSource(b)==g&&K(b)});c=v.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));k.insertBefore(c,k.firstChild);mxEvent.addListener(c,"click",L);this.isOffline()||".scratchpad"!=b.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, mxUtils.bind(this,function(b){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(b)})),k.insertBefore(c,k.firstChild))}h.appendChild(k);h.style.paddingRight=18*k.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var b=document.getElementById("geFooter"); if(null!=b){b.style.visibility="visible";var a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",Dialog.prototype.closeImage);a.setAttribute("title",mxResources.get("hide"));b.appendChild(a);mxClient.IS_QUIRKS&&(a.style.position="relative",a.style.styleFloat="right",a.style.top="-30px",a.style.left="164px",a.style.cursor="pointer");mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return b});EditorUi.initTheme=function(){"atlas"==uiTheme? (mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding= @@ -7272,15 +7305,15 @@ EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!th return e};EditorUi.prototype.saveCanvas=function(b,a,c){var e="jpeg"==c?"jpg":c,d=this.getBaseFilename()+"."+e;b=this.createImageDataUri(b,a,c);this.saveData(d,e,b.substring(b.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; EditorUi.prototype.doSaveLocalFile=function(b,a,c,d,f){if(window.Blob&&navigator.msSaveOrOpenBlob)b=d?this.base64ToBlob(b,c):new Blob([b],{type:c}),navigator.msSaveOrOpenBlob(b,a);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(b,!0):(c.document.write(b),c.document.close(),c.document.execCommand("SaveAs",!0,a),c.close());else if(mxClient.IS_IOS)a=new TextareaDialog(this,a+":",b,null,null,mxResources.get("close")),a.textarea.style.width="600px",a.textarea.style.height= "380px",this.showDialog(a.container,620,460,!0,!0),a.init(),document.execCommand("selectall",!1,null);else{var e=document.createElement("a"),l=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof e.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),l=65==(g?parseInt(g[2],10):!1)?!1:l;if(l||this.isOffline()){e.href=URL.createObjectURL(d?this.base64ToBlob(b,c):new Blob([b],{type:c}));l?e.download=a:e.setAttribute("target","_blank");document.body.appendChild(e); -try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.click(),e.parentNode.removeChild(e)}catch(B){}}else this.createEchoRequest(b,a,c,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(b,a,c,d,f,g){b="xml="+encodeURIComponent(b);return new mxXmlRequest(SAVE_URL,b+(null!=c?"&mime="+c:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=a?"&filename="+encodeURIComponent(a):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(b,a){a= -a||"";for(var c=atob(b),e=c.length,d=Math.ceil(e/1024),f=Array(d),g=0;g<d;++g){for(var h=1024*g,m=Math.min(h+1024,e),k=Array(m-h),v=0;h<m;++v,++h)k[v]=c[h].charCodeAt(0);f[g]=new Uint8Array(k)}return new Blob(f,{type:a})};EditorUi.prototype.saveLocalFile=function(b,a,c,d,f,g,h){g=null!=g?g:!1;h=null!=h?h:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)|| +try{window.setTimeout(function(){URL.revokeObjectURL(e.href)},0),e.click(),e.parentNode.removeChild(e)}catch(A){}}else this.createEchoRequest(b,a,c,d,f).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(b,a,c,d,f,g){b="xml="+encodeURIComponent(b);return new mxXmlRequest(SAVE_URL,b+(null!=c?"&mime="+c:"")+(null!=f?"&format="+f:"")+(null!=g?"&base64="+g:"")+(null!=a?"&filename="+encodeURIComponent(a):"")+(d?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(b,a){a= +a||"";for(var c=atob(b),e=c.length,d=Math.ceil(e/1024),f=Array(d),g=0;g<d;++g){for(var h=1024*g,m=Math.min(h+1024,e),k=Array(m-h),v=0;h<m;++v,++h)k[v]=c[h].charCodeAt(0);f[g]=new Uint8Array(k)}return new Blob(f,{type:a})};EditorUi.prototype.saveLocalFile=function(b,a,c,d,f,g,w){g=null!=g?g:!1;w=null!=w?w:"vsdx"!=f&&(!mxClient.IS_IOS||!navigator.standalone);f=this.getServiceCount(g);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,e){try{if("_blank"==e)if(null==c||"image/"!=c.substring(0,6)|| "image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var k=window.open("about:blank");null==k?mxUtils.popup(b,!0):(k.document.write(mxUtils.htmlEntities(b,!1)),k.document.close())}else this.openInNewWindow(b,c,d);else e==App.MODE_DEVICE||"download"==e?this.doSaveLocalFile(b,a,c,d):null!=a&&0<a.length&&this.pickFolder(e,mxUtils.bind(this,function(k){try{this.exportFile(b,a,c,d,e,k)}catch(F){this.handleError(F)}}))}catch(v){this.handleError(v)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), -mxResources.get("download"),!1,g,h,null,1<f,4<f&&(!g||6>f)?3:4,b,c,d);this.showDialog(a.container,420,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.openInNewWindow=function(b,a,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var e=window.open("about:blank");null==e?mxUtils.popup(b,!0):("image/svg+xml"==a?e.document.write("<html>"+b+"</html>"):e.document.write('<html><img src="data:'+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))+ -'"/></html>'),e.document.close())}else e=window.open("data:"+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))),null==e&&mxUtils.popup(b,!0)};var f=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(b){if(this.isExportToCanvas()){this.exportDialog=null;var a=b(mxUtils.bind(this,function(b){var c=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",c);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), +mxResources.get("download"),!1,g,w,null,1<f,4<f&&(!g||6>f)?3:4,b,c,d);this.showDialog(a.container,420,f==(mxClient.IS_IOS?0:1)?160:4<f?390:270,!0,!0);a.init()};EditorUi.prototype.openInNewWindow=function(b,a,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var e=window.open("about:blank");null==e?mxUtils.popup(b,!0):("image/svg+xml"==a?e.document.write("<html>"+b+"</html>"):e.document.write('<html><img src="data:'+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))+ +'"/></html>'),e.document.close())}else e=window.open("data:"+a+(c?";base64,"+b:";charset=utf8,"+encodeURIComponent(b))),null==e&&mxUtils.popup(b,!0)};var d=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(b){if(this.isExportToCanvas()){this.exportDialog=null;var a=b(mxUtils.bind(this,function(b){var c=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",c);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), this.exportDialog=null)});if(null!=this.exportDialog)c.apply(this);else{this.exportDialog=document.createElement("div");var e=a.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= "4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=e.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";e=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=e.zIndex;var d=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});d.spin(this.exportDialog); this.exportToCanvas(mxUtils.bind(this,function(b){d.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var a=this.createImageDataUri(b,null,"png");b=document.createElement("img");b.style.maxWidth="140px";b.style.maxHeight="140px";b.style.cursor="pointer";b.setAttribute("title",mxResources.get("openInNewWindow"));b.setAttribute("border","0");b.setAttribute("src",a);this.exportDialog.appendChild(b);mxEvent.addListener(b,"click",mxUtils.bind(this, -function(){this.openInNewWindow(a.substring(a.indexOf(",")+1),"image/png",!0);c.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}));mxEvent.addListener(this.editor.graph.container,"click",c);document.body.appendChild(this.exportDialog)}mxEvent.consume(b)}),Editor.cameraLargeImage,mxResources.get("export"))}f.apply(this,arguments)};EditorUi.prototype.saveData=function(b,a,c,d,f){this.isLocalFileSave()?this.saveLocalFile(c, +function(){this.openInNewWindow(a.substring(a.indexOf(",")+1),"image/png",!0);c.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}));mxEvent.addListener(this.editor.graph.container,"click",c);document.body.appendChild(this.exportDialog)}mxEvent.consume(b)}),Editor.cameraLargeImage,mxResources.get("export"))}d.apply(this,arguments)};EditorUi.prototype.saveData=function(b,a,c,d,f){this.isLocalFileSave()?this.saveLocalFile(c, b,d,f,a):this.saveRequest(b,a,mxUtils.bind(this,function(b,e){return this.createEchoRequest(c,b,d,f,a,e)}),c,f,d)};EditorUi.prototype.saveRequest=function(b,a,c,d,f,g,h){h=null!=h?h:!mxClient.IS_IOS||!navigator.standalone;var e=this.getServiceCount(!1);b=new CreateDialog(this,b,mxUtils.bind(this,function(b,e){if("_blank"==e||null!=b&&0<b.length){var k=c("_blank"==e?null:b,e==App.MODE_DEVICE||"download"==e||null==e||"_blank"==e?"0":"1");null!=k&&(e==App.MODE_DEVICE||"download"==e||"_blank"==e?k.simulate(document, "_blank"):this.pickFolder(e,mxUtils.bind(this,function(c){g=null!=g?g:"pdf"==a?"application/pdf":"image/"+a;if(null!=d)try{this.exportFile(d,b,g,!0,e,c)}catch(C){this.handleError(C)}else this.spinner.spin(document.body,mxResources.get("saving"))&&k.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=k.getStatus()&&299>=k.getStatus())try{this.exportFile(k.getText(),b,g,!0,e,c)}catch(C){this.handleError(C)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(b){this.spinner.stop(); this.handleError(b)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,h,null,1<e,4<e?3:4,d,g,f);this.showDialog(b.container,380,e==(mxClient.IS_IOS?0:1)?160:4<e?390:270,!0,!0);b.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(b,a,c,d,f,g){};EditorUi.prototype.pickFolder=function(b,a,c){a(null)};EditorUi.prototype.exportSvg=function(b,a,c,d,f,g,h,m,n){if(this.spinner.spin(document.body, @@ -7298,51 +7331,51 @@ k.push("layers=1"),this.editor.graph.foldingEnabled&&k.push("nav=1"));if(c&&null b&&null!=e&&null!=e.getTitle()&&e.getTitle()!=this.defaultFilename&&k.push("title="+encodeURIComponent(e.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<k.length?"?"+k.join("&"):"")+c};EditorUi.prototype.createHtml=function(b,a,c,d,f,g,h,m,n,k,v){this.getBasenames();var e={};""!=f&&f!=mxConstants.NONE&&(e.highlight=f);"auto"!==d&&(e.target=d);n||(e.lightbox=!1);e.nav=this.editor.graph.foldingEnabled; c=parseInt(c);isNaN(c)||100==c||(e.zoom=c/100);c=[];h&&(c.push("pages"),e.resize=!0,null!=this.pages&&null!=this.currentPage&&(e.page=mxUtils.indexOf(this.pages,this.currentPage)));a&&(c.push("zoom"),e.resize=!0);m&&c.push("layers");0<c.length&&(n&&c.push("lightbox"),e.toolbar=c.join(" "));null!=k&&0<k.length&&(e.edit=k);null!=b?e.url=b:e.xml=this.getFileData(!0,null,null,null,null,!h);a='<div class="mxgraph" style="'+(g?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+ mxUtils.htmlEntities(JSON.stringify(e))+'"></div>';b=null!=b?"&fetch="+encodeURIComponent(b):"";v(a,'<script type="text/javascript" src="'+(0<b.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+b:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(b,a,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3"); -mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","type-embedhtmldialog");f=l.cloneNode(!0);f.setAttribute("value", -"copy");g.appendChild(f);var h=document.createElement("span");mxUtils.write(h,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(h);mxUtils.br(g);g.appendChild(l);h=document.createElement("span");mxUtils.write(h,mxResources.get("publicDiagramUrl"));g.appendChild(h);var k=this.getCurrentFile();null==c&&null!=k&&k.constructor==window.DriveFile&&(h=document.createElement("a"),h.style.paddingLeft="12px",h.style.color="gray",h.setAttribute("href","javascript:void(0);"),mxUtils.write(h,mxResources.get("share")), -g.appendChild(h),mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(k.getId())})));f.setAttribute("checked","checked");null==c&&l.setAttribute("disabled","disabled");e.appendChild(g);var v=this.addLinkSection(e),u=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight= -"12px";m.value="100%";e.appendChild(m);var n=this.addCheckbox(e,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,p=p=this.addCheckbox(e,mxResources.get("allPages"),g,!g),z=this.addCheckbox(e,mxResources.get("layers"),!0),D=this.addCheckbox(e,mxResources.get("lightbox"),!0),I=this.addEditButton(e,D),A=I.getEditInput();A.style.marginBottom="16px";mxEvent.addListener(D,"change",function(){D.checked?A.removeAttribute("disabled"):A.setAttribute("disabled","disabled");A.checked&&D.checked? -I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,function(){d(l.checked?c:null,u.checked,m.value,v.getTarget(),v.getColor(),n.checked,p.checked,z.checked,D.checked,I.getLink())}),null,b,a);this.showDialog(b.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(b,a,c,d,f,g){var e=document.createElement("div");e.style.whiteSpace="nowrap";var l=document.createElement("h3"); -mxUtils.write(l,b||mxResources.get("link"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(l);var h=this.getCurrentFile(),l="https://desk.draw.io/support/solutions/articles/16000051941";b=0;if(null!=h&&h.constructor==window.DriveFile&&!a){b=80;var l="https://desk.draw.io/support/solutions/articles/16000039384",k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; -var v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));k.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(h.getId())}));v.style.marginTop="12px";v.className="geBtn";k.appendChild(v);e.appendChild(k);v=document.createElement("a");v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check")); -k.appendChild(v);mxEvent.addListener(v,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(b){this.spinner.stop();b=new ErrorDialog(this,null,mxResources.get(null!=b?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(b.container,300,80,!0,!1);b.init()}))}))}var q=null,m=null;if(null!=c||null!=d)b+=30,mxUtils.write(e,mxResources.get("width")+":"),q=document.createElement("input"), -q.setAttribute("type","text"),q.style.marginRight="16px",q.style.width="50px",q.style.marginLeft="6px",q.style.marginRight="16px",q.style.marginBottom="10px",q.value="100%",e.appendChild(q),mxUtils.write(e,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",e.appendChild(m),mxUtils.br(e);var u=this.addLinkSection(e,g);c=null!=this.pages&&1<this.pages.length;var n=null; -if(null==h||h.constructor!=window.DriveFile||a)n=this.addCheckbox(e,mxResources.get("allPages"),c,!c);var t=this.addCheckbox(e,mxResources.get("lightbox"),!0),p=this.addEditButton(e,t),I=p.getEditInput(),A=this.addCheckbox(e,mxResources.get("layers"),!0);A.style.marginLeft=I.style.marginLeft;A.style.marginBottom="16px";A.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(A.removeAttribute("disabled"),I.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),I.setAttribute("disabled", -"disabled"));I.checked&&t.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){f(u.getTarget(),u.getColor(),null==n?!0:n.checked,t.checked,p.getLink(),A.checked,null!=q?q.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),l);this.showDialog(a.container,340,254+b,!0,!0);null!=q?(q.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?q.select(): -document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(b,a,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(f);var g=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),l=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"), -!0),f=this.editor.graph,h=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=h&&(h.style.marginBottom="16px");b=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!g.checked,null!=l?l.checked:!1,null!=h?h.checked:!1)}),null,b,a);this.showDialog(b.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(b,a,c,d,f,g,h,m){h=null!=h?h:!0;var e=document.createElement("div");e.style.whiteSpace="nowrap";var k= +mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(f);var l=document.createElement("div");l.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var g=document.createElement("input");g.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";g.setAttribute("value","url");g.setAttribute("type","radio");g.setAttribute("name","type-embedhtmldialog");f=g.cloneNode(!0);f.setAttribute("value", +"copy");l.appendChild(f);var q=document.createElement("span");mxUtils.write(q,mxResources.get("includeCopyOfMyDiagram"));l.appendChild(q);mxUtils.br(l);l.appendChild(g);q=document.createElement("span");mxUtils.write(q,mxResources.get("publicDiagramUrl"));l.appendChild(q);var k=this.getCurrentFile();null==c&&null!=k&&k.constructor==window.DriveFile&&(q=document.createElement("a"),q.style.paddingLeft="12px",q.style.color="gray",q.setAttribute("href","javascript:void(0);"),mxUtils.write(q,mxResources.get("share")), +l.appendChild(q),mxEvent.addListener(q,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(k.getId())})));f.setAttribute("checked","checked");null==c&&g.setAttribute("disabled","disabled");e.appendChild(l);var v=this.addLinkSection(e),h=this.addCheckbox(e,mxResources.get("zoom"),!0,null,!0);mxUtils.write(e,":");var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.style.marginRight= +"12px";m.value="100%";e.appendChild(m);var n=this.addCheckbox(e,mxResources.get("fit"),!0),l=null!=this.pages&&1<this.pages.length,p=p=this.addCheckbox(e,mxResources.get("allPages"),l,!l),z=this.addCheckbox(e,mxResources.get("layers"),!0),D=this.addCheckbox(e,mxResources.get("lightbox"),!0),L=this.addEditButton(e,D),B=L.getEditInput();B.style.marginBottom="16px";mxEvent.addListener(D,"change",function(){D.checked?B.removeAttribute("disabled"):B.setAttribute("disabled","disabled");B.checked&&D.checked? +L.getEditSelect().removeAttribute("disabled"):L.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,e,mxUtils.bind(this,function(){d(g.checked?c:null,h.checked,m.value,v.getTarget(),v.getColor(),n.checked,p.checked,z.checked,D.checked,L.getLink())}),null,b,a);this.showDialog(b.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(b,a,c,d,f,g){var e=document.createElement("div");e.style.whiteSpace="nowrap";var l=document.createElement("h3"); +mxUtils.write(l,b||mxResources.get("link"));l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";e.appendChild(l);var q=this.getCurrentFile(),l="https://desk.draw.io/support/solutions/articles/16000051941";b=0;if(null!=q&&q.constructor==window.DriveFile&&!a){b=80;var l="https://desk.draw.io/support/solutions/articles/16000039384",k=document.createElement("div");k.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; +var v=document.createElement("div");v.style.whiteSpace="normal";mxUtils.write(v,mxResources.get("linkAccountRequired"));k.appendChild(v);v=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(q.getId())}));v.style.marginTop="12px";v.className="geBtn";k.appendChild(v);e.appendChild(k);v=document.createElement("a");v.style.paddingLeft="12px";v.style.color="gray";v.style.fontSize="11px";v.setAttribute("href","javascript:void(0);");mxUtils.write(v,mxResources.get("check")); +k.appendChild(v);mxEvent.addListener(v,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(b){this.spinner.stop();b=new ErrorDialog(this,null,mxResources.get(null!=b?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(b.container,300,80,!0,!1);b.init()}))}))}var h=null,m=null;if(null!=c||null!=d)b+=30,mxUtils.write(e,mxResources.get("width")+":"),h=document.createElement("input"), +h.setAttribute("type","text"),h.style.marginRight="16px",h.style.width="50px",h.style.marginLeft="6px",h.style.marginRight="16px",h.style.marginBottom="10px",h.value="100%",e.appendChild(h),mxUtils.write(e,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=d+"px",e.appendChild(m),mxUtils.br(e);var u=this.addLinkSection(e,g);c=null!=this.pages&&1<this.pages.length;var n=null; +if(null==q||q.constructor!=window.DriveFile||a)n=this.addCheckbox(e,mxResources.get("allPages"),c,!c);var t=this.addCheckbox(e,mxResources.get("lightbox"),!0),p=this.addEditButton(e,t),L=p.getEditInput(),B=this.addCheckbox(e,mxResources.get("layers"),!0);B.style.marginLeft=L.style.marginLeft;B.style.marginBottom="16px";B.style.marginTop="8px";mxEvent.addListener(t,"change",function(){t.checked?(B.removeAttribute("disabled"),L.removeAttribute("disabled")):(B.setAttribute("disabled","disabled"),L.setAttribute("disabled", +"disabled"));L.checked&&t.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){f(u.getTarget(),u.getColor(),null==n?!0:n.checked,t.checked,p.getLink(),B.checked,null!=h?h.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),l);this.showDialog(a.container,340,254+b,!0,!0);null!=h?(h.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?h.select(): +document.execCommand("selectAll",!1,null)):u.focus()};EditorUi.prototype.showRemoteExportDialog=function(b,a,c,d){var e=document.createElement("div");e.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(f);var l=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),g=d?null:this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"), +!0),f=this.editor.graph,q=d?null:this.addCheckbox(e,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=q&&(q.style.marginBottom="16px");b=new CustomDialog(this,e,mxUtils.bind(this,function(){c(!l.checked,null!=g?g.checked:!1,null!=q?q.checked:!1)}),null,b,a);this.showDialog(b.container,300,d?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(b,a,c,d,f,g,h,m){h=null!=h?h:!0;var e=document.createElement("div");e.style.whiteSpace="nowrap";var k= this.editor.graph,l="jpeg"==m?196:300,q=document.createElement("h3");mxUtils.write(q,b);q.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";e.appendChild(q);mxUtils.write(e,mxResources.get("zoom")+":");var u=document.createElement("input");u.setAttribute("type","text");u.style.marginRight="16px";u.style.width="60px";u.style.marginLeft="4px";u.style.marginRight="12px";u.value=this.lastExportZoom||"100%";e.appendChild(u);mxUtils.write(e,mxResources.get("borderWidth")+":"); var n=document.createElement("input");n.setAttribute("type","text");n.style.marginRight="16px";n.style.width="60px";n.style.marginLeft="4px";n.value=this.lastExportBorder||"0";e.appendChild(n);mxUtils.br(e);var w=this.addCheckbox(e,mxResources.get("transparentBackground"),k.background==mxConstants.NONE||null==k.background,null,null,"jpeg"!=m),t=this.addCheckbox(e,mxResources.get("selectionOnly"),!1,k.isSelectionEmpty()),p=document.createElement("input");p.style.marginTop="16px";p.style.marginRight= -"8px";p.style.marginLeft="24px";p.setAttribute("disabled","disabled");p.setAttribute("type","checkbox");g&&(e.appendChild(p),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),l+=26,mxEvent.addListener(t,"change",function(){t.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(p.setAttribute("checked","checked"),p.defaultChecked=!0);var x=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible),A=document.createElement("input");A.style.marginTop= -"16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||A.setAttribute("disabled","disabled");a&&(e.appendChild(A),mxUtils.write(e,mxResources.get("embedImages")),mxUtils.br(e),l+=26);var H=this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=m),E=null!=this.pages&&1<this.pages.length,K=this.addCheckbox(e,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=m);K.style.marginLeft="24px";K.style.marginBottom="16px";E||(K.style.visibility= -"hidden");mxEvent.addListener(H,"change",function(){H.checked&&E?K.removeAttribute("disabled"):K.setAttribute("disabled","disabled")});h&&E||K.setAttribute("disabled","disabled");b=new CustomDialog(this,e,mxUtils.bind(this,function(){this.lastExportBorder=n.value;this.lastExportZoom=u.value;f(u.value,w.checked,!t.checked,x.checked,H.checked,A.checked,n.value,p.checked,!K.checked)}),null,c,d);this.showDialog(b.container,340,l,!0,!0);u.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| -mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(b,a,c,d,f){var e=document.createElement("div");e.style.whiteSpace="nowrap";var g=this.editor.graph;if(null!=a){var l=document.createElement("h3");mxUtils.write(l,a);l.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(l)}var h=this.addCheckbox(e,mxResources.get("fit"),!0),k=this.addCheckbox(e,mxResources.get("shadow"),g.shadowVisible&&d, -!d),v=this.addCheckbox(e,c),q=this.addCheckbox(e,mxResources.get("lightbox"),!0),m=this.addEditButton(e,q),u=m.getEditInput(),n=1<g.model.getChildCount(g.model.getRoot()),p=this.addCheckbox(e,mxResources.get("layers"),n,!n);p.style.marginLeft=u.style.marginLeft;p.style.marginBottom="12px";p.style.marginTop="8px";mxEvent.addListener(q,"change",function(){q.checked?(n&&p.removeAttribute("disabled"),u.removeAttribute("disabled")):(p.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled")); -u.checked&&q.checked?m.getEditSelect().removeAttribute("disabled"):m.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){b(h.checked,k.checked,v.checked,q.checked,m.getLink(),p.checked)}),null,mxResources.get("embed"),f);this.showDialog(a.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(b,a,c,d,f,g,h,m){function e(a){var e=" ",l="";d&&(e=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");b&&(l+="max-width:100%;");var v="";c&&(v=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+a+'"'+v+(""!=l?' style="'+l+'"':"")+e+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(b){var a=d?this.getFileData(!0):null;b=this.createImageDataUri(b,a,"png");e(b)}),null,null,null,mxUtils.bind(this,function(b){m({message:mxResources.get("unknownError")})}), +"8px";p.style.marginLeft="24px";p.setAttribute("disabled","disabled");p.setAttribute("type","checkbox");g&&(e.appendChild(p),mxUtils.write(e,mxResources.get("crop")),mxUtils.br(e),l+=26,mxEvent.addListener(t,"change",function(){t.checked?p.removeAttribute("disabled"):p.setAttribute("disabled","disabled")}));k.isSelectionEmpty()||(p.setAttribute("checked","checked"),p.defaultChecked=!0);var x=this.addCheckbox(e,mxResources.get("shadow"),k.shadowVisible),B=document.createElement("input");B.style.marginTop= +"16px";B.style.marginRight="8px";B.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||B.setAttribute("disabled","disabled");a&&(e.appendChild(B),mxUtils.write(e,mxResources.get("embedImages")),mxUtils.br(e),l+=26);var H=this.addCheckbox(e,mxResources.get("includeCopyOfMyDiagram"),h,null,null,"jpeg"!=m),E=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(e,E?mxResources.get("allPages"):"",E,!E,null,"jpeg"!=m);J.style.marginLeft="24px";J.style.marginBottom="16px";E||(J.style.visibility= +"hidden");mxEvent.addListener(H,"change",function(){H.checked&&E?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});h&&E||J.setAttribute("disabled","disabled");b=new CustomDialog(this,e,mxUtils.bind(this,function(){this.lastExportBorder=n.value;this.lastExportZoom=u.value;f(u.value,w.checked,!t.checked,x.checked,H.checked,B.checked,n.value,p.checked,!J.checked)}),null,c,d);this.showDialog(b.container,340,l,!0,!0);u.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| +mxClient.IS_QUIRKS?u.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(b,a,c,d,f){var e=document.createElement("div");e.style.whiteSpace="nowrap";var l=this.editor.graph;if(null!=a){var g=document.createElement("h3");mxUtils.write(g,a);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";e.appendChild(g)}var q=this.addCheckbox(e,mxResources.get("fit"),!0),k=this.addCheckbox(e,mxResources.get("shadow"),l.shadowVisible&&d, +!d),v=this.addCheckbox(e,c),h=this.addCheckbox(e,mxResources.get("lightbox"),!0),m=this.addEditButton(e,h),u=m.getEditInput(),n=1<l.model.getChildCount(l.model.getRoot()),p=this.addCheckbox(e,mxResources.get("layers"),n,!n);p.style.marginLeft=u.style.marginLeft;p.style.marginBottom="12px";p.style.marginTop="8px";mxEvent.addListener(h,"change",function(){h.checked?(n&&p.removeAttribute("disabled"),u.removeAttribute("disabled")):(p.setAttribute("disabled","disabled"),u.setAttribute("disabled","disabled")); +u.checked&&h.checked?m.getEditSelect().removeAttribute("disabled"):m.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,e,mxUtils.bind(this,function(){b(q.checked,k.checked,v.checked,h.checked,m.getLink(),p.checked)}),null,mxResources.get("embed"),f);this.showDialog(a.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(b,a,c,d,f,g,h,m){function e(a){var e=" ",l="";d&&(e=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");b&&(l+="max-width:100%;");var q="";c&&(q=' width="'+Math.round(k.width)+'" height="'+Math.round(k.height)+'"');h('<img src="'+a+'"'+q+(""!=l?' style="'+l+'"':"")+e+"/>")}var k=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(b){var a=d?this.getFileData(!0):null;b=this.createImageDataUri(b,a,"png");e(b)}),null,null,null,mxUtils.bind(this,function(b){m({message:mxResources.get("unknownError")})}), null,!0,c?2:1,null,a);else if(a=this.getFileData(!0),k.width*k.height<=MAX_AREA&&a.length<=MAX_REQUEST_SIZE){var l="";c&&(l="&w="+Math.round(2*k.width)+"&h="+Math.round(2*k.height));var q=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(d?"1":"0")+l+"&xml="+encodeURIComponent(a));q.send(mxUtils.bind(this,function(){200<=q.getStatus()&&299>=q.getStatus()?e("data:image/png;base64,"+q.getText()):m({message:mxResources.get("unknownError")})}))}else m({message:mxResources.get("drawingTooLarge")})}; -EditorUi.prototype.createEmbedSvg=function(b,a,c,d,f,g,h){var e=this.editor.graph.getSvg(),l=e.getElementsByTagName("a");if(null!=l)for(var k=0;k<l.length;k++){var v=l[k].getAttribute("href");null!=v&&"#"==v.charAt(0)&&"_blank"==l[k].getAttribute("target")&&l[k].removeAttribute("target")}d&&e.setAttribute("content",this.getFileData(!0));a&&this.editor.graph.addSvgShadow(e);if(c){var m=" ",q="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",q+="cursor:pointer;");b&&(q+="max-width:100%;");this.convertImages(e,mxUtils.bind(this,function(b){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=q?' style="'+q+'"':"")+m+"/>")}))}else q="",d&&(e.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),q+="cursor:pointer;"),b&&(b=parseInt(e.getAttribute("width")),a=parseInt(e.getAttribute("height")),e.setAttribute("viewBox","0 0 "+b+" "+a),q+="max-width:100%;max-height:"+a+"px;",e.removeAttribute("height")),""!=q&&e.setAttribute("style",q),h(mxUtils.getXml(e))};EditorUi.prototype.timeSince=function(b){b=Math.floor((new Date-b)/1E3);var a=Math.floor(b/31536E3);if(1<a)return a+" "+mxResources.get("years");a=Math.floor(b/2592E3);if(1<a)return a+ +EditorUi.prototype.createEmbedSvg=function(b,a,c,d,f,g,h){var e=this.editor.graph.getSvg(),l=e.getElementsByTagName("a");if(null!=l)for(var k=0;k<l.length;k++){var q=l[k].getAttribute("href");null!=q&&"#"==q.charAt(0)&&"_blank"==l[k].getAttribute("target")&&l[k].removeAttribute("target")}d&&e.setAttribute("content",this.getFileData(!0));a&&this.editor.graph.addSvgShadow(e);if(c){var m=" ",u="";d&&(m="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}})(this);\"",u+="cursor:pointer;");b&&(u+="max-width:100%;");this.convertImages(e,mxUtils.bind(this,function(b){h('<img src="'+this.createSvgDataUri(mxUtils.getXml(b))+'"'+(""!=u?' style="'+u+'"':"")+m+"/>")}))}else u="",d&&(e.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(f?"&edit=_blank":"")+(g?"&layers=1":"")+"');}}})(this);"),u+="cursor:pointer;"),b&&(b=parseInt(e.getAttribute("width")),a=parseInt(e.getAttribute("height")),e.setAttribute("viewBox","0 0 "+b+" "+a),u+="max-width:100%;max-height:"+a+"px;",e.removeAttribute("height")),""!=u&&e.setAttribute("style",u),h(mxUtils.getXml(e))};EditorUi.prototype.timeSince=function(b){b=Math.floor((new Date-b)/1E3);var a=Math.floor(b/31536E3);if(1<a)return a+" "+mxResources.get("years");a=Math.floor(b/2592E3);if(1<a)return a+ " "+mxResources.get("months");a=Math.floor(b/86400);if(1<a)return a+" "+mxResources.get("days");a=Math.floor(b/3600);if(1<a)return a+" "+mxResources.get("hours");a=Math.floor(b/60);return 1<a?a+" "+mxResources.get("minutes"):1==a?a+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(b,a,c,d){d()};EditorUi.prototype.decodeNodeIntoGraph=function(b,a){if(null!=b){var c=null;if("diagram"==b.nodeName)c=b;else if("mxfile"==b.nodeName){var e=b.getElementsByTagName("diagram");if(0< e.length){var c=e[0],d=a.getGlobalVariable;a.getGlobalVariable=function(b){return"page"==b?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==b?1:d.apply(this,arguments)}}}null!=c&&(e=a.decompress(mxUtils.getTextContent(c)),null!=e&&0<e.length&&(b=mxUtils.parseXml(e).documentElement))}e=this.editor.graph;try{this.editor.graph=a,this.editor.setGraphXml(b)}catch(t){}finally{this.editor.graph=e}return b};EditorUi.prototype.getEmbeddedPng=function(b,a,c){var e=this.editor.graph, -d=null;if(null!=c&&0<c.length)e=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(e.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),e),d=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var e=this.createTemporaryGraph(e.getStylesheet()),f=e.getGlobalVariable,g=this.pages[0];e.getGlobalVariable=function(b){return"page"==b?g.getName():"pagenumber"==b?1:f.apply(this,arguments)};document.body.appendChild(e.container); -e.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==d&&(d=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));b(f.substring(f.lastIndexOf(",")+1));e!=this.editor.graph&&e.container.parentNode.removeChild(e.container)}catch(k){null!=a&&a(k)}}),null,null,null,mxUtils.bind(this,function(b){null!=a&&a(b)}),null,null,null,null,e.shadowVisible,null,e)};EditorUi.prototype.getEmbeddedSvg= +d=null;if(null!=c&&0<c.length)e=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(e.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),e),d=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var e=this.createTemporaryGraph(e.getStylesheet()),f=e.getGlobalVariable,l=this.pages[0];e.getGlobalVariable=function(b){return"page"==b?l.getName():"pagenumber"==b?1:f.apply(this,arguments)};document.body.appendChild(e.container); +e.model.setRoot(l.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==d&&(d=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(d)));b(f.substring(f.lastIndexOf(",")+1));e!=this.editor.graph&&e.container.parentNode.removeChild(e.container)}catch(k){null!=a&&a(k)}}),null,null,null,mxUtils.bind(this,function(b){null!=a&&a(b)}),null,null,null,null,e.shadowVisible,null,e)};EditorUi.prototype.getEmbeddedSvg= function(b,a,c,d,f,g,h){h=a.background;h==mxConstants.NONE&&(h=null);a=a.getSvg(h,null,null,null,null,g);null!=b&&a.setAttribute("content",b);null!=c&&a.setAttribute("resource",c);if(null!=f)this.convertImages(a,mxUtils.bind(this,function(b){f((d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(b))}));else return(d?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ mxUtils.getXml(a)};EditorUi.prototype.exportImage=function(b,a,c,d,f,g,h,m,n){n=null!=n?n:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var e=this.editor.graph.isSelectionEmpty();c=null!=c?c:e;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(b){this.spinner.stop();try{this.saveCanvas(b,f?this.getFileData(!0,null,null,null,c,m):null,n)}catch(F){"Invalid image"==F.message?this.downloadFile(n):this.handleError(F)}}),null, this.thumbImageCache,null,mxUtils.bind(this,function(b){this.spinner.stop();this.handleError(b)}),null,c,b||1,a,d,null,null,g,h)}catch(v){this.spinner.stop(),this.handleError(v)}}};EditorUi.prototype.loadFonts=function(b){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var a=function(b){return b.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},c=this.editor.fontCss.split("url("),d=0,f={},g=mxUtils.bind(this,function(){if(0==d){for(var e=[c[0]],k=1;k<c.length;k++){var g= c[k].indexOf(")");e.push('url("');e.push(f[a(c[k].substring(0,g))]);e.push('"'+c[k].substring(g))}this.editor.resolvedFontCss=e.join("");b()}});if(0<c.length)for(var h=1;h<c.length;h++){var m=c[h].indexOf(")"),n=null,k=c[h].indexOf("format(",m);0<k&&(n=a(c[h].substring(k+7,c[h].indexOf(")",k))));mxUtils.bind(this,function(b){if(null==f[b]){f[b]=b;d++;var a="application/x-font-ttf";if("svg"==n||/(\.svg)($|\?)/i.test(b))a="image/svg+xml";else if("otf"==n||"embedded-opentype"==n||/(\.otf)($|\?)/i.test(b))a= "application/x-font-opentype";else if("woff"==n||/(\.woff)($|\?)/i.test(b))a="application/font-woff";else if("woff2"==n||/(\.woff2)($|\?)/i.test(b))a="application/font-woff2";else if("eot"==n||/(\.eot)($|\?)/i.test(b))a="application/vnd.ms-fontobject";else if("sfnt"==n||/(\.sfnt)($|\?)/i.test(b))a="application/font-sfnt";var c=b;/^https?:\/\//.test(c)&&!this.isCorsEnabledForUrl(c)&&(c=PROXY_URL+"?url="+encodeURIComponent(b));this.loadUrl(c,mxUtils.bind(this,function(a){f[b]=a;d--;g()}),mxUtils.bind(this, function(b){d--;g()}),!0,null,"data:"+a+";charset=utf-8;base64,")}})(a(c[h].substring(0,m)),n)}}else b()};EditorUi.prototype.exportToCanvas=function(b,a,c,d,f,g,h,m,n,k,v,p,C,y){g=null!=g?g:!0;p=null!=p?p:this.editor.graph;C=null!=C?C:0;var e=n?null:p.background;e==mxConstants.NONE&&(e=null);null==e&&(e=d);null==e&&0==n&&(e=this.editor.graph.defaultPageBackgroundColor);this.convertImages(p.getSvg(e,null,null,y,null,null!=h?h:!0),mxUtils.bind(this,function(c){var d=new Image;d.onload=mxUtils.bind(this, -function(){try{var k=document.createElement("canvas"),l=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=a&&(m=g?Math.min(1,Math.min(3*a/(4*h),a/l)):a/l);l=Math.ceil(m*l)+2*C;h=Math.ceil(m*h)+2*C;k.setAttribute("width",l);k.setAttribute("height",h);var v=k.getContext("2d");null!=e&&(v.beginPath(),v.rect(0,0,l,h),v.fillStyle=e,v.fill());v.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){v.drawImage(d,C/m,C/m);b(k)},0):(v.drawImage(d,C/m,C/m),b(k))}catch(M){null!= -f&&f(M)}});d.onerror=function(b){null!=f&&f(b)};try{k&&this.editor.graph.addSvgShadow(c);var l=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var b=document.createElement("style");b.setAttribute("type","text/css");b.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(b)}this.convertMath(p,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(l)}catch(A){null!=f&&f(A)}}),c,v)};EditorUi.prototype.createImageUrlConverter= +function(){try{var k=document.createElement("canvas"),l=parseInt(c.getAttribute("width")),h=parseInt(c.getAttribute("height"));m=null!=m?m:1;null!=a&&(m=g?Math.min(1,Math.min(3*a/(4*h),a/l)):a/l);l=Math.ceil(m*l)+2*C;h=Math.ceil(m*h)+2*C;k.setAttribute("width",l);k.setAttribute("height",h);var q=k.getContext("2d");null!=e&&(q.beginPath(),q.rect(0,0,l,h),q.fillStyle=e,q.fill());q.scale(m,m);mxClient.IS_SF?window.setTimeout(function(){q.drawImage(d,C/m,C/m);b(k)},0):(q.drawImage(d,C/m,C/m),b(k))}catch(M){null!= +f&&f(M)}});d.onerror=function(b){null!=f&&f(b)};try{k&&this.editor.graph.addSvgShadow(c);var l=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var b=document.createElement("style");b.setAttribute("type","text/css");b.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(b)}this.convertMath(p,c,!0,mxUtils.bind(this,function(){d.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(l)}catch(B){null!=f&&f(B)}}),c,v)};EditorUi.prototype.createImageUrlConverter= function(){var b=new mxUrlConverter;b.updateBaseUrl();var a=b.convert,c=this;b.convert=function(e){if(null!=e){var d="http://"==e.substring(0,7)||"https://"==e.substring(0,8);d&&!navigator.onLine?e=c.svgBrokenImage.src:!d||e.substring(0,b.baseUrl.length)==b.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(e)?"chrome-extension://"!=e.substring(0,19)&&(e=a.apply(this,arguments)):e=PROXY_URL+"?url="+encodeURIComponent(e)}return e};return b};EditorUi.prototype.convertImages=function(b,a,c,d){null== d&&(d=this.createImageUrlConverter());var e=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var l=b.getElementsByTagName(c),k=0;k<l.length;k++)mxUtils.bind(this,function(c){var k=d.convert(c.getAttribute(g));if(null!=k&&"data:"!=k.substring(0,5)){var l=f[k];null==l?(e++,this.convertImageToDataUri(k,function(d){null!=d&&(f[k]=d,c.setAttribute(g,d));e--;0==e&&a(b)})):c.setAttribute(g,l)}else null!=k&&c.setAttribute(g,k)})(l[k])});c("image","xlink:href");c("img","src");0==e&&a(b)};EditorUi.prototype.loadUrl= function(b,a,c,d,f,g){try{var e=d||/(\.png)($|\?)/i.test(b)||/(\.jpe?g)($|\?)/i.test(b)||/(\.gif)($|\?)/i.test(b);f=null!=f?f:!0;var l=mxUtils.bind(this,function(){mxUtils.get(b,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus()){if(null!=a){var d=b.getText();if(e){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){b=mxUtilsBinaryToArray(b.request.responseBody).toArray();for(var d=Array(b.length),f=0;f<b.length;f++)d[f]= -String.fromCharCode(b[f]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}a(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},b)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},e,this.timeout,function(){f&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:l})})});l()}catch(B){null!=c&&c(B)}};EditorUi.prototype.isCorsEnabledForUrl=function(b){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(b)|| +String.fromCharCode(b[f]);d=d.join("")}g=null!=g?g:"data:image/png;base64,";d=g+this.base64Encode(d)}a(d)}}else null!=c&&c({code:App.ERROR_UNKNOWN},b)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},e,this.timeout,function(){f&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:l})})});l()}catch(A){null!=c&&c(A)}};EditorUi.prototype.isCorsEnabledForUrl=function(b){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(b)|| "https://raw.githubusercontent.com/"===b.substring(0,34)||"https://cdn.rawgit.com/"===b.substring(0,23)||"https://rawgit.com/"===b.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(b)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(b)||/^https?:\/\/[^\/]*\.github\.io\//.test(b)};EditorUi.prototype.convertImageToDataUri=function(b,a){if(/(\.svg)$/i.test(b))mxUtils.get(b,mxUtils.bind(this,function(b){a(this.createSvgDataUri(b.getText()))}),function(){a(this.svgBrokenImage.src)});else{var c=new Image, e=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var b=document.createElement("canvas"),d=b.getContext("2d");b.height=c.height;b.width=c.width;d.drawImage(c,0,0);try{a(b.toDataURL())}catch(w){a(e.svgBrokenImage.src)}};c.onerror=function(){a(e.svgBrokenImage.src)};c.src=b}};EditorUi.prototype.importXml=function(b,a,c,d,f){a=null!=a?a:0;c=null!=c?c:0;var e=[];try{var g=this.editor.graph;if(null!=b&&0<b.length){var l=mxUtils.parseXml(b),h=this.editor.extractGraphModel(l.documentElement, -null!=this.pages);if(null!=h&&"mxfile"==h.nodeName&&null!=this.pages){var k=h.getElementsByTagName("diagram");if(1==k.length)h=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(k[0]))).documentElement;else if(1<k.length){g.model.beginUpdate();try{for(b=0;b<k.length;b++){var v=this.updatePageRoot(new DiagramPage(k[b])),m=this.pages.length;null==v.getName()&&v.setName(mxResources.get("pageWithNumber",[m+1]));g.model.execute(new ChangePage(this,v,v,m))}}finally{g.model.endUpdate()}}}null!=h&&"mxGraphModel"=== +null!=this.pages);if(null!=h&&"mxfile"==h.nodeName&&null!=this.pages){var k=h.getElementsByTagName("diagram");if(1==k.length)h=mxUtils.parseXml(g.decompress(mxUtils.getTextContent(k[0]))).documentElement;else if(1<k.length){g.model.beginUpdate();try{for(b=0;b<k.length;b++){var m=this.updatePageRoot(new DiagramPage(k[b])),q=this.pages.length;null==m.getName()&&m.setName(mxResources.get("pageWithNumber",[q+1]));g.model.execute(new ChangePage(this,m,m,q))}}finally{g.model.endUpdate()}}}null!=h&&"mxGraphModel"=== h.nodeName&&(e=g.importGraphModel(h,a,c,d))}}catch(C){throw f||this.handleError(C,mxResources.get("invalidOrMissingFile")),C;}return e};EditorUi.prototype.importVisio=function(b,a,c,d){d=null!=d?d:b.name;c=null!=c?c:mxUtils.bind(this,function(b){this.handleError(b)});var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(d)&&null!=VSD_CONVERT_URL){var e=new FormData;e.append("file1",b,d);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= "blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,a,c)}catch(x){c(x)}else c({})});f.send(e)}else try{this.doImportVisio(b,a,c)}catch(x){c(x)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?e():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",e))};EditorUi.prototype.exportVisio=function(){var b=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(e){this.handleError(e)}}); "undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?b():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",b))};EditorUi.prototype.importLucidChart=function(b,a,c,d,f){var e=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(b,a,c,d,f)}catch(w){this.handleError(w)}finally{null!=f&&f()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(e,0):(this.loadingExtensions=!0,"1"==urlParams.dev? @@ -7361,44 +7394,44 @@ l.snap(d)),l=[l.insertVertex(null,null,"",c,d,f,g,"shape=image;verticalLabelPosi this.isRemoteFileFormat(b,h)?(e=!0,this.parseFile(null!=n?n:new Blob([b],{type:"application/octet-stream"}),mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?q(b.responseText):null!=m&&m(null))}),h)):/(\.vsd)($|\?)/i.test(h)||(l=this.insertTextAt(this.validateFileData(b),c,d,!0,null,k));e||null==m||m(l);return l};EditorUi.prototype.base64Encode=function(b){for(var a="",c=0,d=b.length,f,g,h;c<d;){f=b.charCodeAt(c++)&255;if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>> 2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4);a+="==";break}g=b.charCodeAt(c++);if(c==d){a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>>2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(g&240)>>4);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2);a+="=";break}h=b.charCodeAt(c++);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f>> 2);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((f&3)<<4|(g&240)>>4);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((g&15)<<2|(h&192)>>6);a+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(h&63)}return a};EditorUi.prototype.importFiles=function(b,a,c,d,f,g,h,m,n,k,v,p){a=null!=a?a:0;c=null!=c?c:0;d=null!=d?d:this.maxImageSize;k=null!=k?k:this.maxImageBytes;var e=null!=a&&null!=c,l=!0,q=!1;if(!mxClient.IS_CHROMEAPP&& -null!=b)for(var u=v||this.resampleThreshold,t=0;t<b.length;t++)if("image/"==b[t].type.substring(0,6)&&b[t].size>u){q=!0;break}var w=mxUtils.bind(this,function(){var n=this.editor.graph,q=n.gridSize;f=null!=f?f:mxUtils.bind(this,function(b,a,c,d,f,k,g,l,h){return null!=b&&"<mxlibrary"==b.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,b,g)),null):this.importFile(b,a,c,d,f,k,g,l,h,e,p)});g=null!=g?g:mxUtils.bind(this,function(b){n.setSelectionCells(b)});if(this.spinner.spin(document.body, -mxResources.get("loading")))for(var u=b.length,t=u,w=[],x=mxUtils.bind(this,function(b,a){w[b]=a;if(0==--t){this.spinner.stop();if(null!=m)m(w);else{var c=[];n.getModel().beginUpdate();try{for(var e=0;e<w.length;e++){var d=w[e]();null!=d&&(c=c.concat(d))}}finally{n.getModel().endUpdate()}}g(c)}}),F=0;F<u;F++)mxUtils.bind(this,function(e){var g=b[e],m=new FileReader;m.onload=mxUtils.bind(this,function(b){if(null==h||h(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var m= -b.target.result,u=m.indexOf(","),w=decodeURIComponent(escape(atob(m.substring(u+1)))),t=mxUtils.parseXml(w),w=t.getElementsByTagName("svg");if(0<w.length){var w=w[0],A=p?null:w.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?x(e,mxUtils.bind(this,function(){try{if(m.substring(0,u+1),null!=t){var b= -t.getElementsByTagName("svg");if(0<b.length){var k=b[0],h=parseFloat(k.getAttribute("width")),v=parseFloat(k.getAttribute("height")),w=k.getAttribute("viewBox");if(null==w||0==w.length)k.setAttribute("viewBox","0 0 "+h+" "+v);else if(isNaN(h)||isNaN(v)){var p=w.split(" ");3<p.length&&(h=parseFloat(p[2]),v=parseFloat(p[3]))}m=this.createSvgDataUri(mxUtils.getXml(k));var A=Math.min(1,Math.min(d/Math.max(1,h)),d/Math.max(1,v)),x=f(m,g.type,a+e*q,c+e*q,Math.max(1,Math.round(h*A)),Math.max(1,Math.round(v* -A)),g.name,l);if(isNaN(h)||isNaN(v)){var E=new Image;E.onload=mxUtils.bind(this,function(){h=Math.max(1,E.width);v=Math.max(1,E.height);x[0].geometry.width=h;x[0].geometry.height=v;k.setAttribute("viewBox","0 0 "+h+" "+v);m=this.createSvgDataUri(mxUtils.getXml(k));var b=m.indexOf(";");0<b&&(m=m.substring(0,b)+m.substring(m.indexOf(",",b+1)));n.setCellStyles("image",m,[x[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(k))}return x}}}catch(da){}return null})):x(e,mxUtils.bind(this,function(){return f(A, -"text/xml",a+e*q,c+e*q,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var E=p?null:this.extractGraphModelFromPng(b.target.result);if(null!=E&&0<E.length){var F=new Image;F.src=b.target.result;x(e,mxUtils.bind(this,function(){return f(E,"text/xml",a+e*q,c+e*q,F.width,F.height,g.name)}));w=!0}}w||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), -mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(b.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,b.target.result,mxUtils.bind(this,function(h,m,n){x(e,mxUtils.bind(this,function(){if(null!=h&&h.length<k){var u=l&&this.isResampleImage(b.target.result,v)?Math.min(1,Math.min(d/m,d/n)):1;return f(h,g.type,a+e*q,c+e*q,Math.round(m*u),Math.round(n*u),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),l,d,v)}),mxUtils.bind(this, -function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else f(b.target.result,g.type,a+e*q,c+e*q,240,160,g.name,function(b){x(e,function(){return b})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?f(null,g.type,a+e*q,c+e*q,240,160,g.name,function(b){x(e,function(){return b})},g):"image"==g.type.substring(0,5)?m.readAsDataURL(g):m.readAsText(g)})(F)});q?this.confirmImageResize(function(b){l=b;w()},n):w()};EditorUi.prototype.confirmImageResize=function(b, +null!=b)for(var u=v||this.resampleThreshold,w=0;w<b.length;w++)if("image/"==b[w].type.substring(0,6)&&b[w].size>u){q=!0;break}var t=mxUtils.bind(this,function(){var q=this.editor.graph,n=q.gridSize;f=null!=f?f:mxUtils.bind(this,function(b,a,c,d,f,k,g,l,h){return null!=b&&"<mxlibrary"==b.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,b,g)),null):this.importFile(b,a,c,d,f,k,g,l,h,e,p)});g=null!=g?g:mxUtils.bind(this,function(b){q.setSelectionCells(b)});if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var u=b.length,w=u,t=[],x=mxUtils.bind(this,function(b,a){t[b]=a;if(0==--w){this.spinner.stop();if(null!=m)m(t);else{var c=[];q.getModel().beginUpdate();try{for(var e=0;e<t.length;e++){var d=t[e]();null!=d&&(c=c.concat(d))}}finally{q.getModel().endUpdate()}}g(c)}}),F=0;F<u;F++)mxUtils.bind(this,function(e){var g=b[e],m=new FileReader;m.onload=mxUtils.bind(this,function(b){if(null==h||h(g))if("image/"==g.type.substring(0,6))if("image/svg"==g.type.substring(0,9)){var m= +b.target.result,u=m.indexOf(","),w=decodeURIComponent(escape(atob(m.substring(u+1)))),t=mxUtils.parseXml(w),w=t.getElementsByTagName("svg");if(0<w.length){var w=w[0],B=p?null:w.getAttribute("content");null!=B&&"<"!=B.charAt(0)&&"%"!=B.charAt(0)&&(B=unescape(window.atob?atob(B):Base64.decode(B,!0)));null!=B&&"%"==B.charAt(0)&&(B=decodeURIComponent(B));null==B||"<mxfile "!==B.substring(0,8)&&"<mxGraphModel "!==B.substring(0,14)?x(e,mxUtils.bind(this,function(){try{if(m.substring(0,u+1),null!=t){var b= +t.getElementsByTagName("svg");if(0<b.length){var k=b[0],h=parseFloat(k.getAttribute("width")),v=parseFloat(k.getAttribute("height")),p=k.getAttribute("viewBox");if(null==p||0==p.length)k.setAttribute("viewBox","0 0 "+h+" "+v);else if(isNaN(h)||isNaN(v)){var w=p.split(" ");3<w.length&&(h=parseFloat(w[2]),v=parseFloat(w[3]))}m=this.createSvgDataUri(mxUtils.getXml(k));var B=Math.min(1,Math.min(d/Math.max(1,h)),d/Math.max(1,v)),x=f(m,g.type,a+e*n,c+e*n,Math.max(1,Math.round(h*B)),Math.max(1,Math.round(v* +B)),g.name,l);if(isNaN(h)||isNaN(v)){var E=new Image;E.onload=mxUtils.bind(this,function(){h=Math.max(1,E.width);v=Math.max(1,E.height);x[0].geometry.width=h;x[0].geometry.height=v;k.setAttribute("viewBox","0 0 "+h+" "+v);m=this.createSvgDataUri(mxUtils.getXml(k));var b=m.indexOf(";");0<b&&(m=m.substring(0,b)+m.substring(m.indexOf(",",b+1)));q.setCellStyles("image",m,[x[0]])});E.src=this.createSvgDataUri(mxUtils.getXml(k))}return x}}}catch(da){}return null})):x(e,mxUtils.bind(this,function(){return f(B, +"text/xml",a+e*n,c+e*n,0,0,g.name)}))}}else{w=!1;if("image/png"==g.type){var E=p?null:this.extractGraphModelFromPng(b.target.result);if(null!=E&&0<E.length){var F=new Image;F.src=b.target.result;x(e,mxUtils.bind(this,function(){return f(E,"text/xml",a+e*n,c+e*n,F.width,F.height,g.name)}));w=!0}}w||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), +mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(b.target.result,mxUtils.bind(this,function(h){this.resizeImage(h,b.target.result,mxUtils.bind(this,function(h,m,q){x(e,mxUtils.bind(this,function(){if(null!=h&&h.length<k){var u=l&&this.isResampleImage(b.target.result,v)?Math.min(1,Math.min(d/m,d/q)):1;return f(h,g.type,a+e*n,c+e*n,Math.round(m*u),Math.round(q*u),g.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),l,d,v)}),mxUtils.bind(this, +function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else f(b.target.result,g.type,a+e*n,c+e*n,240,160,g.name,function(b){x(e,function(){return b})})});/(\.vsdx?)($|\?)/i.test(g.name)||/(\.vssx)($|\?)/i.test(g.name)?f(null,g.type,a+e*n,c+e*n,240,160,g.name,function(b){x(e,function(){return b})},g):"image"==g.type.substring(0,5)?m.readAsDataURL(g):m.readAsText(g)})(F)});q?this.confirmImageResize(function(b){l=b;t()},n):t()};EditorUi.prototype.confirmImageResize=function(b, a){a=null!=a?a:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},e=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,d=function(e,d){if(e||a)mxSettings.setResizeImages(e?d:null),mxSettings.save();c();b(d)};null==e||a?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(b){d(b,!0)},function(b){d(b,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ '"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):d(!1,e)};EditorUi.prototype.parseFile=function(b,a,c){c=null!=c?c:b.name;var e=new FormData;e.append("format","xml");e.append("upfile",b,c);var d=new XMLHttpRequest;d.open("POST",OPEN_URL);d.onreadystatechange=function(){a(d)};d.send(e)};EditorUi.prototype.isResampleImage=function(b,a){a=null!=a?a:this.resampleThreshold;return b.length> -a};EditorUi.prototype.resizeImage=function(b,a,c,d,f,g){f=null!=f?f:this.maxImageSize;var e=Math.max(1,b.width),l=Math.max(1,b.height);if(d&&this.isResampleImage(a,g))try{var h=Math.max(e/f,l/f);if(1<h){var k=Math.round(e/h),m=Math.round(l/h),n=document.createElement("canvas");n.width=k;n.height=m;n.getContext("2d").drawImage(b,0,0,k,m);var q=n.toDataURL();if(q.length<a.length){var u=document.createElement("canvas");u.width=k;u.height=m;var p=u.toDataURL();q!==p&&(a=q,e=k,l=m)}}}catch(z){}c(a,e,l)}; -EditorUi.prototype.crcTable=[];for(var d=0;256>d;d++)for(var c=d,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[d]=c;EditorUi.prototype.updateCRC=function(b,a,c,d){for(var e=0;e<d;e++)b=EditorUi.prototype.crcTable[(b^a[c+e])&255]^b>>>8;return b};EditorUi.prototype.crc32=function(b){this.crcTable=this.crcTable||this.createCrcTable();for(var a=-1,c=0;c<b.length;c++)a=a>>>8^this.crcTable[(a^b.charCodeAt(c))&255];return(a^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(b, +a};EditorUi.prototype.resizeImage=function(b,a,c,d,f,g){f=null!=f?f:this.maxImageSize;var e=Math.max(1,b.width),l=Math.max(1,b.height);if(d&&this.isResampleImage(a,g))try{var h=Math.max(e/f,l/f);if(1<h){var k=Math.round(e/h),m=Math.round(l/h),q=document.createElement("canvas");q.width=k;q.height=m;q.getContext("2d").drawImage(b,0,0,k,m);var n=q.toDataURL();if(n.length<a.length){var p=document.createElement("canvas");p.width=k;p.height=m;var u=p.toDataURL();n!==u&&(a=n,e=k,l=m)}}}catch(z){}c(a,e,l)}; +EditorUi.prototype.crcTable=[];for(var f=0;256>f;f++)for(var c=f,g=0;8>g;g++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[f]=c;EditorUi.prototype.updateCRC=function(b,a,c,d){for(var e=0;e<d;e++)b=EditorUi.prototype.crcTable[(b^a[c+e])&255]^b>>>8;return b};EditorUi.prototype.crc32=function(b){this.crcTable=this.crcTable||this.createCrcTable();for(var a=-1,c=0;c<b.length;c++)a=a>>>8^this.crcTable[(a^b.charCodeAt(c))&255];return(a^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(b, a,c,d,f){function e(b,a){var c=h;h+=a;return b.substring(c,h)}function g(b){b=e(b,4);return b.charCodeAt(3)+(b.charCodeAt(2)<<8)+(b.charCodeAt(1)<<16)+(b.charCodeAt(0)<<24)}function l(b){return String.fromCharCode(b>>24&255,b>>16&255,b>>8&255,b&255)}b=b.substring(b.indexOf(",")+1);b=window.atob?atob(b):Base64.decode(b,!0);var h=0;if(e(b,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=f&&f();else if(e(b,4),"IHDR"!=e(b,4))null!=f&&f();else{e(b,17);f=b.substring(0,h);do{var k= g(b);if("IDAT"==e(b,4)){f=b.substring(0,h-8);c=c+String.fromCharCode(0)+("zTXt"==a?String.fromCharCode(0):"")+d;d=4294967295;d=this.updateCRC(d,a,0,4);d=this.updateCRC(d,c,0,c.length);f+=l(c.length)+a+c+l(d^4294967295);f+=b.substring(h-8,b.length);break}f+=b.substring(h-8,h-4+k);e(b,k);e(b,4)}while(k);return"data:image/png;base64,"+(window.btoa?btoa(f):Base64.encode(f,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(b){var a=null;try{var c=b.substring(b.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF? -atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(b,c,e){b=d.substring(b+8,b+8+e);"zTXt"==c?(e=b.indexOf(String.fromCharCode(0)),"mxGraphModel"==b.substring(0,e)&&(b=this.editor.graph.bytesToString(pako.inflateRaw(b.substring(e+2))).replace(/\+/g," "),null!=b&&0<b.length&&(a=b))):"tEXt"==c&&(b=b.split(String.fromCharCode(0)),1<b.length&&"mxGraphModel"==b[0]&&(a=b[1]));if(null!=a||"IDAT"==c)return!0}))}catch(q){}null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a));null!=a&& -"%"==a.charAt(0)&&(a=decodeURIComponent(a));return a};EditorUi.prototype.loadImage=function(b,a,c){var e=new Image;e.onload=function(){a(e)};null!=c&&(e.onerror=c);e.src=b};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,a=this.editor.graph;a.getLinkTitle=function(a){return b.getLinkTitle(a)};a.addListener("customLinkClicked",function(a,c){b.handleCustomLink(c.getProperty("href"))}); -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var e=0;e<b.pages.length;e++)if(b.pages[e]==b.currentPage){0<e&&(a+=(0<a.length?"&":"?")+"page="+e);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var d=a.addClickHandler; -a.addClickHandler=function(c,e,f){var k=e;e=function(c,e){if(null==e){var d=mxEvent.getSource(c);"a"==d.nodeName.toLowerCase()&&(e=d.getAttribute("href"))}null==e||!a.isCustomLink(e)||!mxEvent.isTouchEvent(c)&&mxEvent.isPopupTrigger(c)||(b.handleCustomLink(e),mxEvent.consume(c));null!=k&&k(c,e)};d.call(this,c,e,f)};h.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container, -360,null!=b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var f=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:f.apply(this,arguments)};var g=a.createLinkForHint;a.createLinkForHint=function(c,e){null!=c&&a.isCustomLink(c)&&(e=a.getLinkTitle(c));var d=g.call(this,c,e);null!=c&&a.isCustomLink(c)&& -mxEvent.addListener(d,"click",function(a){b.handleCustomLink(c);mxEvent.consume(a)});return d};var m=a.labelLinkClicked;a.labelLinkClicked=function(c,e,d){var f=e.getAttribute("href");if(null==f||!a.isCustomLink(f)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))m.apply(this,arguments);else{if(!a.isEnabled()||null!=c&&a.isCellLocked(c.cell))b.handleCustomLink(f),a.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile(); -null!=c&&(a=null!=c.getTitle()?c.getTitle():a);return a};var n=this.actions.get("print");n.setEnabled(!mxClient.IS_IOS||!navigator.standalone);n.visible=n.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){k.innerHTML=" ";k.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77, -!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(b){var a=this.editor.graph;if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,e=!1,d=0;d<c.types.length;d++)if("text/"===c.types[d].substring(0,5)){e=!0;break}if(!e){var f=c.items;for(index in f){var k=f[index]; -if("file"===k.kind){if(a.isEditing())this.importFiles([k.getAsFile()],0,0,this.maxImageSize,function(b,c,e,d,f,k){a.insertImage(b,f,k)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()});else{var g=this.editor.graph.getInsertPoint();this.importFiles([k.getAsFile()],g.x,g.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(Z){}}),!1);var k=document.createElement("div");k.style.position="absolute";k.style.whiteSpace="nowrap";k.style.overflow= -"hidden";k.style.display="block";k.contentEditable=!0;mxUtils.setOpacity(k,0);k.style.width="1px";k.style.height="1px";k.innerHTML=" ";var v=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);null==a.container||!a.isEnabled()||a.isMouseDown||a.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224== -b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)||v||(k.style.left=a.container.scrollLeft+10+"px",k.style.top=a.container.scrollTop+10+"px",a.container.appendChild(k),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){k.focus();document.execCommand("selectAll",!1,null)},0):(k.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){!v||224!=c&& -17!=c&&91!=c||(v=!1,a.isEditing()||null!=this.dialog||null==a.container||a.container.focus(),k.parentNode.removeChild(k),mxUtils.clearSelection())}),0)}));mxEvent.addListener(k,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(k),p())}));mxEvent.addListener(k,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(k,!0),p())}));mxEvent.addListener(k,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(k.innerHTML= -" ",k.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,k);k.innerHTML=" "}),0))}),!0);var F=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==k?!0:F.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(b){var a= -this.editor.graph,c=a.cellEditor.text2,e=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(b){null!=e&&(e.parentNode.removeChild(e),e=null);b.stopPropagation();b.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=this.highlightElement(c));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(b){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files, -0,0,this.maxImageSize,function(b,c,e,d,f,k){a.insertImage(b,f,k)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(b){var e=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1, -Math.min(d/Math.max(1,e)),d/Math.max(1,b));a.insertImage(decodeURIComponent(c),e*d,b*d)})):document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"));b.stopPropagation();b.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!== -typeof mxRuler){n=document.createElement("div");n.style.position="absolute";n.style.top="95px";n.style.left="250px";n.style.width="2000px";n.style.height="30px";n.style.background="whiteSmoke";document.body.appendChild(n);var C=document.createElement("div");C.style.position="absolute";C.style.top="125px";C.style.left="220px";C.style.width="30px";C.style.height="1000px";C.style.background="whiteSmoke";document.body.appendChild(C);var y=document.createElement("div");y.style.position="absolute";y.style.top= -"95px";y.style.left="220px";y.style.width="30px";y.style.height="30px";y.style.background="whiteSmoke";document.body.appendChild(y);this.vRuler=new mxRuler(this.editor.graph,C,!0);this.hRuler=new mxRuler(this.editor.graph,n,!1)}if("1"==urlParams.test){n=document.getElementById("geFooter");null!=n&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width= -"98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),n.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(b,a){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c); -this.styleInput.value=c||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var L=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==this.styleInput?!0:L.apply(this,arguments)}}n=document.getElementById("geInfo");null!=n&&n.parentNode.removeChild(n);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var z=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=z&&(z.parentNode.removeChild(z), -z=null),b.stopPropagation(),b.preventDefault())});mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){null==z&&(!mxClient.IS_IE||10<document.documentMode)&&(z=this.highlightElement(a.container));null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=z&&(z.parentNode.removeChild(z),z=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)), -e=a.view.translate,d=a.view.scale,f=c.x/d-e.x,k=c.y/d-e.y;mxEvent.isAltDown(b)&&(k=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,k,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var g=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b,null!=this.pages);if(null!=c)a.setSelectionCells(this.importXml(c,f,k,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types, -"text/html")){var l=b.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var h=null,e=c.getElementsByTagName("img");null!=e&&1==e.length?(l=e[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(h=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var m=!0,v=mxUtils.bind(this,function(){a.setSelectionCells(this.insertTextAt(l,f,k,!0,h,null,m))});h&&l.length>this.resampleThreshold?this.confirmImageResize(function(b){m= -b;v()},mxEvent.isControlDown(b)):v()}else null!=g&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(g)?this.loadImage(decodeURIComponent(g),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,c)),e/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,k,c*e,b*e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+g+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(g, +atob(c):Base64.decode(c,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(b,c,e){b=d.substring(b+8,b+8+e);"zTXt"==c?(e=b.indexOf(String.fromCharCode(0)),"mxGraphModel"==b.substring(0,e)&&(b=this.editor.graph.bytesToString(pako.inflateRaw(b.substring(e+2))).replace(/\+/g," "),null!=b&&0<b.length&&(a=b))):"tEXt"==c&&(b=b.split(String.fromCharCode(0)),1<b.length&&"mxGraphModel"==b[0]&&(a=b[1]));if(null!=a||"IDAT"==c)return!0}))}catch(u){}null!=a&&"%"==a.charAt(0)&&(a=decodeURIComponent(a));null!=a&& +"%"==a.charAt(0)&&(a=decodeURIComponent(a));return a};EditorUi.prototype.loadImage=function(b,a,c){var e=new Image;e.onload=function(){a(e)};null!=c&&(e.onerror=c);e.src=b};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var b=this,a=this.editor.graph;a.getLinkTitle=function(a){return b.getLinkTitle(a)};a.customLinkClicked=function(a){try{b.handleCustomLink(a)}catch(L){b.handleError(L)}};this.isOffline()|| +"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=b.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(a){a=null!=a?a:"";if(null!=b.pages&&null!=b.currentPage)for(var e=0;e<b.pages.length;e++)if(b.pages[e]==b.currentPage){0<e&&(a+=(0<a.length?"&":"?")+"page="+e);break}"1"==urlParams.dev&&(a+=(0<a.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var d=a.addClickHandler;a.addClickHandler= +function(b,c,e){var f=c;c=function(b,c){if(null==c){var e=mxEvent.getSource(b);"a"==e.nodeName.toLowerCase()&&(c=e.getAttribute("href"))}null==c||!a.isCustomLink(c)||!mxEvent.isTouchEvent(b)&&mxEvent.isPopupTrigger(b)||(a.customLinkClicked(c),mxEvent.consume(b));null!=f&&f(b,c)};d.call(this,b,c,e)};h.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(a.view.canvas.ownerSVGElement,null,!0);b.actions.get("print").funct=function(){b.showDialog((new PrintDialog(b)).container,360,null!= +b.pages&&1<b.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var f=a.getGlobalVariable;a.getGlobalVariable=function(a){return"page"==a&&null!=b.currentPage?b.currentPage.getName():"pagenumber"==a?null!=b.currentPage&&null!=b.pages?mxUtils.indexOf(b.pages,b.currentPage)+1:1:f.apply(this,arguments)};var g=a.createLinkForHint;a.createLinkForHint=function(b,c){null!=b&&a.isCustomLink(b)&&(c=a.getLinkTitle(b));var e=g.call(this,b,c);null!=b&&a.isCustomLink(b)&&mxEvent.addListener(e, +"click",function(c){a.customLinkClicked(b);mxEvent.consume(c)});return e};var m=a.labelLinkClicked;a.labelLinkClicked=function(b,c,e){var d=c.getAttribute("href");if(null==d||!a.isCustomLink(d)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))m.apply(this,arguments);else{if(!a.isEnabled()||null!=b&&a.isCellLocked(b.cell))a.customLinkClicked(d),a.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var a=b.defaultFilename,c=b.getCurrentFile();null!=c&&(a=null!= +c.getTitle()?c.getTitle():a);return a};var n=this.actions.get("print");n.setEnabled(!mxClient.IS_IOS||!navigator.standalone);n.visible=n.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){k.innerHTML=" ";k.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry", +!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||a.container.addEventListener("paste",mxUtils.bind(this,function(b){var a=this.editor.graph;if(!mxEvent.isConsumed(b))try{for(var c=b.clipboardData||b.originalEvent.clipboardData,e=!1,d=0;d<c.types.length;d++)if("text/"===c.types[d].substring(0,5)){e=!0;break}if(!e){var f=c.items;for(index in f){var k=f[index];if("file"===k.kind){if(a.isEditing())this.importFiles([k.getAsFile()], +0,0,this.maxImageSize,function(b,c,e,d,f,k){a.insertImage(b,f,k)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()});else{var g=this.editor.graph.getInsertPoint();this.importFiles([k.getAsFile()],g.x,g.y,this.maxImageSize);mxEvent.consume(b)}break}}}}catch(Z){}}),!1);var k=document.createElement("div");k.style.position="absolute";k.style.whiteSpace="nowrap";k.style.overflow="hidden";k.style.display="block";k.contentEditable=!0;mxUtils.setOpacity(k, +0);k.style.width="1px";k.style.height="1px";k.innerHTML=" ";var v=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(b){var c=mxEvent.getSource(b);null==a.container||!a.isEnabled()||a.isMouseDown||a.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==b.keyCode||!mxClient.IS_MAC&&17==b.keyCode||mxClient.IS_MAC&&91==b.keyCode)|| +v||(k.style.left=a.container.scrollLeft+10+"px",k.style.top=a.container.scrollTop+10+"px",a.container.appendChild(k),v=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){k.focus();document.execCommand("selectAll",!1,null)},0):(k.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(b){var c=b.keyCode;window.setTimeout(mxUtils.bind(this,function(){!v||224!=c&&17!=c&&91!=c||(v=!1,a.isEditing()||null!=this.dialog||null==a.container||a.container.focus(), +k.parentNode.removeChild(k),mxUtils.clearSelection())}),0)}));mxEvent.addListener(k,"copy",mxUtils.bind(this,function(b){a.isEnabled()&&(mxClipboard.copy(a),this.copyCells(k),p())}));mxEvent.addListener(k,"cut",mxUtils.bind(this,function(b){a.isEnabled()&&(this.copyCells(k,!0),p())}));mxEvent.addListener(k,"paste",mxUtils.bind(this,function(b){a.isEnabled()&&!a.isCellLocked(a.getDefaultParent())&&(k.innerHTML=" ",k.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(b,k);k.innerHTML= +" "}),0))}),!0);var F=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==k?!0:F.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(b){var a=this.editor.graph,c=a.cellEditor.text2,e=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(b){null!= +e&&(e.parentNode.removeChild(e),e=null);b.stopPropagation();b.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null==e&&(!mxClient.IS_IE||10<document.documentMode)&&(e=this.highlightElement(c));b.stopPropagation();b.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(b){null!=e&&(e.parentNode.removeChild(e),e=null);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,0,0,this.maxImageSize,function(b,c,e,d,f,k){a.insertImage(b, +f,k)},function(){},function(b){return"image/"==b.type.substring(0,6)},function(b){for(var a=0;a<b.length;a++)b[a]()},mxEvent.isControlDown(b));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")){var c=b.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(b){var e=Math.max(1,b.width);b=Math.max(1,b.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,e)),d/Math.max(1,b));a.insertImage(decodeURIComponent(c), +e*d,b*d)})):document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,b.dataTransfer.getData("text/plain"));b.stopPropagation();b.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){n=document.createElement("div");n.style.position="absolute"; +n.style.top="95px";n.style.left="250px";n.style.width="2000px";n.style.height="30px";n.style.background="whiteSmoke";document.body.appendChild(n);var C=document.createElement("div");C.style.position="absolute";C.style.top="125px";C.style.left="220px";C.style.width="30px";C.style.height="1000px";C.style.background="whiteSmoke";document.body.appendChild(C);var y=document.createElement("div");y.style.position="absolute";y.style.top="95px";y.style.left="220px";y.style.width="30px";y.style.height="30px"; +y.style.background="whiteSmoke";document.body.appendChild(y);this.vRuler=new mxRuler(this.editor.graph,C,!0);this.hRuler=new mxRuler(this.editor.graph,n,!1)}if("1"==urlParams.test){n=document.getElementById("geFooter");null!=n&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden", +this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),n.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(b,a){if(0<this.editor.graph.getSelectionCount()){var c=this.editor.graph.getSelectionCell(),c=this.editor.graph.getModel().getStyle(c);this.styleInput.value=c||"";this.styleInput.style.visibility= +"visible"}else this.styleInput.style.visibility="hidden"})));var K=this.isSelectionAllowed;this.isSelectionAllowed=function(b){return mxEvent.getSource(b)==this.styleInput?!0:K.apply(this,arguments)}}n=document.getElementById("geInfo");null!=n&&n.parentNode.removeChild(n);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var z=null;mxEvent.addListener(a.container,"dragleave",function(b){a.isEnabled()&&(null!=z&&(z.parentNode.removeChild(z),z=null),b.stopPropagation(),b.preventDefault())}); +mxEvent.addListener(a.container,"dragover",mxUtils.bind(this,function(b){null==z&&(!mxClient.IS_IE||10<document.documentMode)&&(z=this.highlightElement(a.container));null!=this.sidebar&&this.sidebar.hideTooltip();b.stopPropagation();b.preventDefault()}));mxEvent.addListener(a.container,"drop",mxUtils.bind(this,function(b){null!=z&&(z.parentNode.removeChild(z),z=null);if(a.isEnabled()){var c=mxUtils.convertPoint(a.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),e=a.view.translate,d=a.view.scale, +f=c.x/d-e.x,k=c.y/d-e.y;mxEvent.isAltDown(b)&&(k=f=0);if(0<b.dataTransfer.files.length)this.importFiles(b.dataTransfer.files,f,k,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(b),null,null,mxEvent.isShiftDown(b));else{var g=0<=mxUtils.indexOf(b.dataTransfer.types,"text/uri-list")?b.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(b,null!=this.pages);if(null!=c)a.setSelectionCells(this.importXml(c,f,k,!0));else if(0<=mxUtils.indexOf(b.dataTransfer.types,"text/html")){var l= +b.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var h=null,e=c.getElementsByTagName("img");null!=e&&1==e.length?(l=e[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(h=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var m=!0,n=mxUtils.bind(this,function(){a.setSelectionCells(this.insertTextAt(l,f,k,!0,h,null,m))});h&&l.length>this.resampleThreshold?this.confirmImageResize(function(b){m=b;n()},mxEvent.isControlDown(b)): +n()}else null!=g&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(g)?this.loadImage(decodeURIComponent(g),mxUtils.bind(this,function(b){var c=Math.max(1,b.width);b=Math.max(1,b.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,c)),e/Math.max(1,b));a.setSelectionCell(a.insertVertex(null,null,"",f,k,c*e,b*e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+g+";"))}),mxUtils.bind(this,function(b){a.setSelectionCells(this.insertTextAt(g, f,k,!0))})):0<=mxUtils.indexOf(b.dataTransfer.types,"text/plain")&&a.setSelectionCells(this.insertTextAt(b.dataTransfer.getData("text/plain"),f,k,!0))}}b.stopPropagation();b.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(b){var a=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==b.substring(0,13)){var c=b.indexOf(",");0<c&&(a=this.getPageById(b.substring(c+1)),a=null!=a? a.getName():mxResources.get("pageNotFound"))}else"data:"==b.substring(0,5)&&(a=mxResources.get("action"));return a};EditorUi.prototype.handleCustomLink=function(b){if("data:page/id,"==b.substring(0,13)){var a=b.indexOf(",");(b=this.getPageById(b.substring(a+1)))&&this.selectPage(b)}else this.editor.graph.handleCustomLink(b)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(b,a){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget()); @@ -7406,8 +7439,8 @@ this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyCo mxUtils.bind(this,function(b,a){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(b,a){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew|| 8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(b,a){var c=this.editor.graph;if(c.isSelectionEmpty())b.innerHTML="";else{var e=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),d=mxUtils.getXml(this.editor.graph.encodeCells(e));mxUtils.setTextContent(b,encodeURIComponent(d));a?(c.removeCells(e, !1),c.lastPasteXml=null):(c.lastPasteXml=d,c.pasteCounter=0);b.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(b,a){if(!mxEvent.isConsumed(b)){var c=a.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var e=c[0].getAttribute("data-lucid-content");null!=e&&0<e.length&&(this.importLucidChart(e,0,0),mxEvent.consume(b))}else{var e=this.editor.graph,d=mxUtils.trim(mxClient.IS_QUIRKS|| -8==document.documentMode?mxUtils.getTextContent(a):a.textContent),f=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(B){}try{var c=a.getElementsByTagName("span"),h=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(d);this.isCompatibleString(h)&&(f=!0,d=h)}catch(B){}e.lastPasteXml==d?e.pasteCounter++:(e.lastPasteXml=d,e.pasteCounter=0);c=e.pasteCounter*e.gridSize;if(null!=d&&0<d.length&&(f||this.isCompatibleString(d)?e.setSelectionCells(this.importXml(d, -c,c)):(f=e.getInsertPoint(),e.isMouseInsertPoint()&&(c=0,e.lastPasteXml==d&&0<e.pasteCounter&&e.pasteCounter--),e.setSelectionCells(this.insertTextAt(d,f.x+c,f.y+c,!0))),!e.isSelectionEmpty())){e.scrollCellToVisible(e.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(e.view.getState(e.getSelectionCell()));try{mxEvent.consume(b)}catch(B){}}}}};EditorUi.prototype.addFileDropHandler=function(b){if(Graph.fileSupport)for(var a=null,c=0;c<b.length;c++)mxEvent.addListener(b[c],"dragleave", +8==document.documentMode?mxUtils.getTextContent(a):a.textContent),f=!1;try{var g=d.lastIndexOf("%3E");0<=g&&g<d.length-3&&(d=d.substring(0,g+3))}catch(A){}try{var c=a.getElementsByTagName("span"),h=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(d);this.isCompatibleString(h)&&(f=!0,d=h)}catch(A){}e.lastPasteXml==d?e.pasteCounter++:(e.lastPasteXml=d,e.pasteCounter=0);c=e.pasteCounter*e.gridSize;if(null!=d&&0<d.length&&(f||this.isCompatibleString(d)?e.setSelectionCells(this.importXml(d, +c,c)):(f=e.getInsertPoint(),e.isMouseInsertPoint()&&(c=0,e.lastPasteXml==d&&0<e.pasteCounter&&e.pasteCounter--),e.setSelectionCells(this.insertTextAt(d,f.x+c,f.y+c,!0))),!e.isSelectionEmpty())){e.scrollCellToVisible(e.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(e.view.getState(e.getSelectionCell()));try{mxEvent.consume(b)}catch(A){}}}}};EditorUi.prototype.addFileDropHandler=function(b){if(Graph.fileSupport)for(var a=null,c=0;c<b.length;c++)mxEvent.addListener(b[c],"dragleave", function(b){null!=a&&(a.parentNode.removeChild(a),a=null);b.stopPropagation();b.preventDefault()}),mxEvent.addListener(b[c],"dragover",mxUtils.bind(this,function(b){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==a&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(a=this.highlightElement());b.stopPropagation();b.preventDefault()})),mxEvent.addListener(b[c],"drop",mxUtils.bind(this,function(b){null!=a&&(a.parentNode.removeChild(a),a=null);if(this.editor.graph.isEnabled()|| "1"!=urlParams.embed)if(0<b.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(b.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(b)&&!mxEvent.isShiftDown(b)):this.openFiles(b.dataTransfer.files,!0);else{var c=this.extractGraphModelFromEvent(b);if(null==c){var e=null!=b.dataTransfer?b.dataTransfer:b.clipboardData;null!=e&&(10==document.documentMode||11==document.documentMode?c=e.getData("Text"):(c=null,c=0<=mxUtils.indexOf(e.types, "text/uri-list")?b.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(e.types,"text/html")?e.getData("text/html"):null,null!=c&&0<c.length?(e=document.createElement("div"),e.innerHTML=c,e=e.getElementsByTagName("img"),0<e.length&&(c=e[0].getAttribute("src"))):0<=mxUtils.indexOf(e.types,"text/plain")&&(c=e.getData("text/plain"))),null!=c&&("data:image/png;base64,"==c.substring(0,22)?(c=this.extractGraphModelFromPng(c),null!=c&&0<c.length&&this.openLocalFile(c,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(c)? @@ -7427,17 +7460,17 @@ null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};Edito this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(b,a){null!=b?b.getPublicUrl(a):a(null)};EditorUi.prototype.createLoadMessage=function(b){var a=this.editor.graph;return{event:b,pageVisible:a.pageVisible,translate:a.view.translate,scale:a.view.scale,page:a.view.getBackgroundPageBounds(),bounds:a.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(b){var a=null,c=!1,d=!1,f=null,g=mxUtils.bind(this,function(b, a){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,g);mxEvent.addListener(window,"message",mxUtils.bind(this,function(e){function g(b){if(null!=b&&"function"===typeof b.charAt&&"<"!=b.charAt(0))try{"data:image/svg+xml;base64,"==b.substring(0,26)?b=atob(b.substring(26)):"data:image/svg+xml;utf8,"==b.substring(0,24)&& -(b=b.substring(24)),null!=b&&("%"==b.charAt(0)?b=decodeURIComponent(b):"<"!=b.charAt(0)&&(b=this.editor.graph.decompress(b)))}catch(K){}return b}if(e.source==(window.opener||window.parent)){var k=e.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(E){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&& +(b=b.substring(24)),null!=b&&("%"==b.charAt(0)?b=decodeURIComponent(b):"<"!=b.charAt(0)&&(b=this.editor.graph.decompress(b)))}catch(J){}return b}if(e.source==(window.opener||window.parent)){var k=e.data;if("json"==urlParams.proto){try{k=JSON.parse(k)}catch(E){k=null}if(null==k)return;if("dialog"==k.action){this.showError(null!=k.titleKey?mxResources.get(k.titleKey):k.title,null!=k.messageKey?mxResources.get(k.messageKey):k.message,null!=k.buttonKey?mxResources.get(k.buttonKey):k.button);null!=k.modified&& (this.editor.modified=k.modified);return}if("prompt"==k.action){this.spinner.stop();var l=new FilenameDialog(this,k.defaultValue||"",null!=k.okKey?mxResources.get(k.okKey):null,function(b){null!=b&&h.postMessage(JSON.stringify({event:"prompt",value:b,message:k}),"*")},null!=k.titleKey?mxResources.get(k.titleKey):k.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==k.action){l=null;l="data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):g(k.xml); this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[k.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();h.postMessage(JSON.stringify({event:"draft",result:"edit",message:k}),"*")}),mxUtils.bind(this,function(){this.hideDialog();h.postMessage(JSON.stringify({event:"draft",result:"discard",message:k}),"*")}),k.editKey?mxResources.get(k.editKey):null,k.discardKey?mxResources.get(k.discardKey):null,k.ignore?mxUtils.bind(this,function(){this.hideDialog(); h.postMessage(JSON.stringify({event:"draft",result:"ignore",message:k}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));try{l.init()}catch(E){h.postMessage(JSON.stringify({event:"draft",error:E.toString(),message:k}),"*")}return}if("template"==k.action){this.spinner.stop();var l=1==k.enableRecent,m=1==k.enableSearch,l=new NewDialog(this,!1,null!=k.callback,mxUtils.bind(this,function(a,c){a=a||this.emptyDiagramXml;null!=k.callback? h.postMessage(JSON.stringify({event:"template",xml:a,blank:a==this.emptyDiagramXml,name:c}),"*"):(b(a,e,a!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(b){this.recentReadyCallback=b;h.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,m?mxUtils.bind(this,function(b,a){this.searchReadyCallback=a;h.postMessage(JSON.stringify({event:"searchDocs",searchStr:b}),"*")}):null,function(b,a,c){h.postMessage(JSON.stringify({event:"template", docUrl:b,info:a,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(b){b&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==k.action)this.searchReadyCallback(k.list,k.errorMsg);else if("recentDocsList"==k.action)this.recentReadyCallback(k.list,k.errorMsg);else{if("status"==k.action){null!=k.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(k.messageKey))):null!=k.message&&this.editor.setStatus(mxUtils.htmlEntities(k.message)); -null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var n=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var p=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph, -u=mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();var a=this.createLoadMessage("export");a.format=k.format;a.message=k;a.data=b;a.xml=encodeURIComponent(p);h.postMessage(JSON.stringify(a),"*")}),w=mxUtils.bind(this,function(b){null==b&&(b=Editor.blankImage);"xmlpng"==k.format&&(b=this.writeGraphModelToPng(b,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);u(b)});if(this.isExportToCanvas()){if(null!= -this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),t=q.getGlobalVariable,A=this.pages[0];q.getGlobalVariable=function(b){return"page"==b?A.getName():"pagenumber"==b?1:t.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(A.root)}this.exportToCanvas(mxUtils.bind(this,function(b){w(b.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){w(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ -("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?u("data:image/png;base64,"+b.getText()):w(null)}),mxUtils.bind(this,function(){w(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);n=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),n.xml=mxUtils.getXml(l),n.data= -this.getFileData(null,null,!0,null,null,null,l),n.format=k.format;else if("html"==k.format)p=this.editor.getGraphXml(),n.data=this.getHtml(p,this.editor.graph),n.xml=mxUtils.getXml(p),n.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);n.xml=this.getFileData(!0);n.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1), +null!=k.modified&&(this.editor.modified=k.modified);return}if("spinner"==k.action){var n=null!=k.messageKey?mxResources.get(k.messageKey):k.message;null==k.show||k.show?this.spinner.spin(document.body,n):this.spinner.stop();return}if("export"==k.action){if("png"==k.format||"xmlpng"==k.format){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin)){var q=null!=k.xml?k.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var p=this.editor.graph, +w=mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();var a=this.createLoadMessage("export");a.format=k.format;a.message=k;a.data=b;a.xml=encodeURIComponent(q);h.postMessage(JSON.stringify(a),"*")}),t=mxUtils.bind(this,function(b){null==b&&(b=Editor.blankImage);"xmlpng"==k.format&&(b=this.writeGraphModelToPng(b,"zTXt","mxGraphModel",atob(this.editor.graph.compress(q))));p!=this.editor.graph&&p.container.parentNode.removeChild(p.container);w(b)});if(this.isExportToCanvas()){if(null!= +this.pages&&this.currentPage!=this.pages[0]){var p=this.createTemporaryGraph(p.getStylesheet()),u=p.getGlobalVariable,B=this.pages[0];p.getGlobalVariable=function(b){return"page"==b?B.getName():"pagenumber"==b?1:u.apply(this,arguments)};document.body.appendChild(p.container);p.model.setRoot(B.root)}this.exportToCanvas(mxUtils.bind(this,function(b){t(b.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,p)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ +("xmlpng"==k.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(q)))).send(mxUtils.bind(this,function(b){200<=b.getStatus()&&299>=b.getStatus()?w("data:image/png;base64,"+b.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=k.xml&&0<k.xml.length&&this.setFileData(k.xml);n=this.createLoadMessage("export");if("html2"==k.format||"html"==k.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),n.xml=mxUtils.getXml(l),n.data= +this.getFileData(null,null,!0,null,null,null,l),n.format=k.format;else if("html"==k.format)q=this.editor.getGraphXml(),n.data=this.getHtml(q,this.editor.graph),n.xml=mxUtils.getXml(q),n.format=k.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);n.xml=this.getFileData(!0);n.format="svg";if(k.embedImages||null==k.embedImages){if(null==k.spin&&null==k.spinKey||this.spinner.spin(document.body,null!=k.spinKey?mxResources.get(k.spinKey):k.spin))this.editor.graph.setEnabled(!1), "xmlsvg"==k.format?this.getEmbeddedSvg(n.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(b);h.postMessage(JSON.stringify(n),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(b){this.editor.graph.setEnabled(!0);this.spinner.stop();n.data=this.createSvgDataUri(mxUtils.getXml(b));h.postMessage(JSON.stringify(n),"*")}));return}l="xmlsvg"==k.format?this.getEmbeddedSvg(this.getFileData(!0), this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));n.data=this.createSvgDataUri(l)}h.postMessage(JSON.stringify(n),"*")}return}if("load"==k.action)d=1==k.autosave,this.hideDialog(),null!=k.modified&&null==urlParams.modified&&(urlParams.modified=k.modified),null!=k.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=k.saveAndExit),null!=k.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,k.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= "12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),k=null!=k.xmlpng?this.extractGraphModelFromPng(k.xmlpng):null!=k.xml&&"data:image/png;base64,"==k.xml.substring(0,22)?this.extractGraphModelFromPng(k.xml):k.xml;else{h.postMessage(JSON.stringify({error:"unknownMessage", @@ -7447,18 +7480,18 @@ a),this.addListener("pageViewChanged",a));"1"!=urlParams.returnbounds&&"json"!=u "2px":"3px";b.style.paddingLeft="8px";b.style.paddingBottom="2px";var a=document.createElement("button");mxUtils.write(a,mxResources.get("save"));a.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");a.className="geBigButton";a.style.fontSize="12px";a.style.padding="4px 6px 4px 6px";a.style.borderRadius="3px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));b.appendChild(a);"1"==urlParams.saveAndExit&&(a=document.createElement("a"), mxUtils.write(a,mxResources.get("saveAndExit")),a.setAttribute("title",mxResources.get("saveAndExit")),a.style.fontSize="12px",a.style.marginLeft="6px",a.style.padding="4px",a.style.cursor="pointer",mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),b.appendChild(a));a=document.createElement("a");mxUtils.write(a,mxResources.get("exit"));a.setAttribute("title",mxResources.get("exit"));a.style.fontSize="12px";a.style.marginLeft="6px";a.style.marginRight= "20px";a.style.padding="4px";a.style.cursor="pointer";mxEvent.addListener(a,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));b.appendChild(a);this.toolbar.container.appendChild(b);this.toolbar.staticElements.push(b);b.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(b){this.importCsv(b)}), -null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(b,a){try{var c=b.split("\n"),e=[];if(0<c.length){var d={},f=null,g=null,h="",m="auto",k="auto",n=null,p=null,C=40,y=40,L=0,z=this.editor.graph;z.getGraphBounds();for(var D=function(){null!=a?a(aa):(z.setSelectionCells(aa),z.scrollCellToVisible(z.getSelectionCell()))},I=z.getFreeInsertPoint(),A=I.x,H=I.y,I=H,E=null, -K="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){b=c[N];for(N++;N<c.length&&"\\"==b.charAt(b.length-1)&&"#"==c[N].charAt(0);)b=b.substring(0,b.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=b.charAt(1)){var S=b.indexOf(":");if(0<S){var O=mxUtils.trim(b.substring(1,S)),G=mxUtils.trim(b.substring(S+1));"label"==O?E=z.sanitizeHtml(G):"style"==O?f=G:"identity"==O&&0<G.length&&"-"!=G?g=G:"namespace"==O&&0<G.length&&"-"!=G?h=G:"width"==O?m=G:"height"==O?k=G:"left"==O&&0<G.length? -n=G:"top"==O&&0<G.length?p=G:"ignore"==O?Z=G.split(","):"connect"==O?M.push(JSON.parse(G)):"link"==O?X=G:"padding"==O?L=parseFloat(G):"edgespacing"==O?C=parseFloat(G):"nodespacing"==O?y=parseFloat(G):"layout"==O&&(K=G)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==E&&(E="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==d[M[T].to]&&(d[M[T].to]={});z.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]); -if(V.length==W.length){var J=null,Q=null!=S?h+V[S]:null;null!=Q&&(J=z.model.getCell(Q));null==J&&(J=new mxCell(E,new mxGeometry(A,I,0,0),f||"whiteSpace=wrap;html=1;"),J.vertex=!0,J.id=Q);for(var P=0;P<V.length;P++)z.setAttributeForCell(J,W[P],V[P]);z.setAttributeForCell(J,"placeholders","1");J.style=z.replacePlaceholders(J,J.style);for(T=0;T<M.length;T++)d[M[T].to][J.getAttribute(M[T].to)]=J;null!=X&&"link"!=X&&(z.setLinkForCell(J,J.getAttribute(X)),z.setAttributeForCell(J,X,null));z.fireEvent(new mxEventObject("cellsInserted", -"cells",[J]));var ba=this.editor.graph.getPreferredSizeForCell(J);J.vertex&&(null!=n&&null!=J.getAttribute(n)&&(J.geometry.x=A+parseFloat(J.getAttribute(n))),null!=p&&null!=J.getAttribute(p)&&(J.geometry.y=H+parseFloat(J.getAttribute(p))),"@"==m.charAt(0)&&null!=J.getAttribute(m.substring(1))?J.geometry.width=parseFloat(J.getAttribute(m.substring(1))):J.geometry.width="auto"==m?ba.width+L:parseFloat(m),"@"==k.charAt(0)&&null!=J.getAttribute(k.substring(1))?J.geometry.height=parseFloat(J.getAttribute(k.substring(1))): -J.geometry.height="auto"==k?ba.height+L:parseFloat(k),I+=J.geometry.height+y);e.push(z.addCell(J))}}for(var U=e.slice(),aa=e.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<e.length;R++){var J=e[R],ia=J.getAttribute(Y.from);if(null!=ia){z.setAttributeForCell(J,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=d[Y.to][ja[P]];null!=ca&&(E=Y.label,null!=Y.fromlabel&&(E=(J.getAttribute(Y.fromlabel)||"")+(E||"")),null!=Y.tolabel&&(E=(E||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(z.insertEdge(null, -null,E||"",Y.invert?ca:J,Y.invert?J:ca,Y.style||z.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?J:ca,U))}}}if(null!=Z)for(R=0;R<e.length;R++)for(J=e[R],P=0;P<Z.length;P++)z.setAttributeForCell(J,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(z);fa.spacing=C;var ka=function(){fa.execute(z.getDefaultParent());for(var b=0;b<e.length;b++){var a=z.getCellGeometry(e[b]);a.x=Math.round(z.snap(a.x));a.y=Math.round(z.snap(a.y));"auto"==m&&(a.width=Math.round(z.snap(a.width)));"auto"==k&&(a.height= -Math.round(z.snap(a.height)))}};if("circle"==K){var da=new mxCircleLayout(z);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(b){return la.apply(this,arguments)||0>mxUtils.indexOf(e,b)};this.executeLayout(function(){da.execute(z.getDefaultParent());ka()},!0,D);D=null}else if("horizontaltree"==K||"verticaltree"==K||"auto"==K&&aa.length==2*e.length-1&&1==U.length){z.view.validate();var ga=new mxCompactTreeLayout(z,"horizontaltree"==K);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges= -!1;this.executeLayout(function(){ga.execute(z.getDefaultParent(),0<U.length?U[0]:null)},!0,D);D=null}else if("horizontalflow"==K||"verticalflow"==K||"auto"==K&&1==U.length){z.view.validate();var ha=new mxHierarchicalLayout(z,"horizontalflow"==K?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(z.getDefaultParent(),aa);z.moveCells(aa,A,H)},!0,D);D=null}else if("organic"==K||"auto"==K&&aa.length>e.length){z.view.validate(); +null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(b,a){try{var c=b.split("\n"),e=[];if(0<c.length){var d={},f=null,g=null,h="",m="auto",k="auto",n=null,p=null,C=40,y=40,K=0,z=this.editor.graph;z.getGraphBounds();for(var D=function(){null!=a?a(aa):(z.setSelectionCells(aa),z.scrollCellToVisible(z.getSelectionCell()))},L=z.getFreeInsertPoint(),B=L.x,H=L.y,L=H,E=null, +J="auto",M=[],X=null,Z=null,N=0;N<c.length&&"#"==c[N].charAt(0);){b=c[N];for(N++;N<c.length&&"\\"==b.charAt(b.length-1)&&"#"==c[N].charAt(0);)b=b.substring(0,b.length-1)+mxUtils.trim(c[N].substring(1)),N++;if("#"!=b.charAt(1)){var S=b.indexOf(":");if(0<S){var O=mxUtils.trim(b.substring(1,S)),G=mxUtils.trim(b.substring(S+1));"label"==O?E=z.sanitizeHtml(G):"style"==O?f=G:"identity"==O&&0<G.length&&"-"!=G?g=G:"namespace"==O&&0<G.length&&"-"!=G?h=G:"width"==O?m=G:"height"==O?k=G:"left"==O&&0<G.length? +n=G:"top"==O&&0<G.length?p=G:"ignore"==O?Z=G.split(","):"connect"==O?M.push(JSON.parse(G)):"link"==O?X=G:"padding"==O?K=parseFloat(G):"edgespacing"==O?C=parseFloat(G):"nodespacing"==O?y=parseFloat(G):"layout"==O&&(J=G)}}}var W=this.editor.csvToArray(c[N]),S=null;if(null!=g)for(var R=0;R<W.length;R++)if(g==W[R]){S=R;break}null==E&&(E="%"+W[0]+"%");if(null!=M)for(var T=0;T<M.length;T++)null==d[M[T].to]&&(d[M[T].to]={});z.model.beginUpdate();try{for(R=N+1;R<c.length;R++){var V=this.editor.csvToArray(c[R]); +if(V.length==W.length){var I=null,Q=null!=S?h+V[S]:null;null!=Q&&(I=z.model.getCell(Q));null==I&&(I=new mxCell(E,new mxGeometry(B,L,0,0),f||"whiteSpace=wrap;html=1;"),I.vertex=!0,I.id=Q);for(var P=0;P<V.length;P++)z.setAttributeForCell(I,W[P],V[P]);z.setAttributeForCell(I,"placeholders","1");I.style=z.replacePlaceholders(I,I.style);for(T=0;T<M.length;T++)d[M[T].to][I.getAttribute(M[T].to)]=I;null!=X&&"link"!=X&&(z.setLinkForCell(I,I.getAttribute(X)),z.setAttributeForCell(I,X,null));z.fireEvent(new mxEventObject("cellsInserted", +"cells",[I]));var ba=this.editor.graph.getPreferredSizeForCell(I);I.vertex&&(null!=n&&null!=I.getAttribute(n)&&(I.geometry.x=B+parseFloat(I.getAttribute(n))),null!=p&&null!=I.getAttribute(p)&&(I.geometry.y=H+parseFloat(I.getAttribute(p))),"@"==m.charAt(0)&&null!=I.getAttribute(m.substring(1))?I.geometry.width=parseFloat(I.getAttribute(m.substring(1))):I.geometry.width="auto"==m?ba.width+K:parseFloat(m),"@"==k.charAt(0)&&null!=I.getAttribute(k.substring(1))?I.geometry.height=parseFloat(I.getAttribute(k.substring(1))): +I.geometry.height="auto"==k?ba.height+K:parseFloat(k),L+=I.geometry.height+y);e.push(z.addCell(I))}}for(var U=e.slice(),aa=e.slice(),T=0;T<M.length;T++)for(var Y=M[T],R=0;R<e.length;R++){var I=e[R],ia=I.getAttribute(Y.from);if(null!=ia){z.setAttributeForCell(I,Y.from,null);for(var ja=ia.split(","),P=0;P<ja.length;P++){var ca=d[Y.to][ja[P]];null!=ca&&(E=Y.label,null!=Y.fromlabel&&(E=(I.getAttribute(Y.fromlabel)||"")+(E||"")),null!=Y.tolabel&&(E=(E||"")+(ca.getAttribute(Y.tolabel)||"")),aa.push(z.insertEdge(null, +null,E||"",Y.invert?ca:I,Y.invert?I:ca,Y.style||z.createCurrentEdgeStyle())),mxUtils.remove(Y.invert?I:ca,U))}}}if(null!=Z)for(R=0;R<e.length;R++)for(I=e[R],P=0;P<Z.length;P++)z.setAttributeForCell(I,mxUtils.trim(Z[P]),null);var fa=new mxParallelEdgeLayout(z);fa.spacing=C;var ka=function(){fa.execute(z.getDefaultParent());for(var b=0;b<e.length;b++){var a=z.getCellGeometry(e[b]);a.x=Math.round(z.snap(a.x));a.y=Math.round(z.snap(a.y));"auto"==m&&(a.width=Math.round(z.snap(a.width)));"auto"==k&&(a.height= +Math.round(z.snap(a.height)))}};if("circle"==J){var da=new mxCircleLayout(z);da.resetEdges=!1;var la=da.isVertexIgnored;da.isVertexIgnored=function(b){return la.apply(this,arguments)||0>mxUtils.indexOf(e,b)};this.executeLayout(function(){da.execute(z.getDefaultParent());ka()},!0,D);D=null}else if("horizontaltree"==J||"verticaltree"==J||"auto"==J&&aa.length==2*e.length-1&&1==U.length){z.view.validate();var ga=new mxCompactTreeLayout(z,"horizontaltree"==J);ga.levelDistance=y;ga.edgeRouting=!1;ga.resetEdges= +!1;this.executeLayout(function(){ga.execute(z.getDefaultParent(),0<U.length?U[0]:null)},!0,D);D=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==U.length){z.view.validate();var ha=new mxHierarchicalLayout(z,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ha.intraCellSpacing=y;ha.disableEdgeStyle=!1;this.executeLayout(function(){ha.execute(z.getDefaultParent(),aa);z.moveCells(aa,B,H)},!0,D);D=null}else if("organic"==J||"auto"==J&&aa.length>e.length){z.view.validate(); var ea=new mxFastOrganicLayout(z);ea.forceConstant=3*y;ea.resetEdges=!1;var na=ea.isVertexIgnored;ea.isVertexIgnored=function(b){return na.apply(this,arguments)||0>mxUtils.indexOf(e,b)};fa=new mxParallelEdgeLayout(z);fa.spacing=C;this.executeLayout(function(){ea.execute(z.getDefaultParent());ka()},!0,D);D=null}this.hideDialog()}finally{z.model.endUpdate()}null!=D&&D()}}catch(ma){this.handleError(ma)}};EditorUi.prototype.getSearch=function(b){var a="";if("1"!=urlParams.offline&&"1"!=urlParams.demo&& null!=b&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(b,d)&&null!=urlParams[d]&&(a+=c+d+"="+urlParams[d],c="&")}else a=window.location.search;return a};EditorUi.prototype.getUrl=function(b){b=null!=b?b:window.location.pathname;var a=0<b.indexOf("?")?1:0;if("1"==urlParams.offline)b+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c,d)&& -(b=0==a?b+"?":b+"&",null!=urlParams[d]&&(b+=d+"="+urlParams[d],a++))}return b};EditorUi.prototype.showLinkDialog=function(b,a,c){b=new LinkDialog(this,b,a,c,!0);this.showDialog(b.container,440,130,!0,!0);b.init()};var m=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(b){var a=m.apply(this,arguments),c=this.editor.graph,d=a.getSourceGraphBounds;a.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var b= +(b=0==a?b+"?":b+"&",null!=urlParams[d]&&(b+=d+"="+urlParams[d],a++))}return b};EditorUi.prototype.showLinkDialog=function(b,a,c){b=new LinkDialog(this,b,a,c,!0);this.showDialog(b.container,480,130,!0,!0);b.init()};var m=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(b){var a=m.apply(this,arguments),c=this.editor.graph,d=a.getSourceGraphBounds;a.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var b= this.source.getPagePadding(),a=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*b.x/a),Math.ceil(this.source.minimumGraphSize.height-2*b.y/a))}return d.apply(this,arguments)};var f=a.getSourceContainerSize;a.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var b=this.source.getPagePadding(),a=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*a-2* b.x),Math.ceil(this.source.minimumGraphSize.height*a-2*b.y))}return f.apply(this,arguments)};a.getOutlineOffset=function(b){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var e=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(a.outline.container.clientWidth/b-(this.source.minimumGraphSize.width-2*e.x))/2)-e.x),Math.round(Math.max(0,(a.outline.container.clientHeight/b-(this.source.minimumGraphSize.height-2*e.y))/2)-e.y-5/b))}return new mxPoint(8/b, 8/b)};var g=a.init;a.init=function(){g.apply(this,arguments);a.outline.view.getBackgroundPageBounds=function(){var b=c.getPageLayout(),a=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+b.x*a.width),this.scale*(this.translate.y+b.y*a.height),this.scale*b.width*a.width,this.scale*b.height*a.height)};a.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(b,c){var e=c.getProperty("change"),d=a.source,f=a.outline;f.pageScale=d.pageScale;f.pageFormat= @@ -7485,27 +7518,27 @@ mxSettings.settings.version=mxSettings.currentVersion,localStorage.setItem(mxSet mxSettings.settings.recentColors&&(mxSettings.settings.recentColors=[]),null==mxSettings.settings.libraries&&(mxSettings.settings.libraries=Sidebar.prototype.defaultEntries),null==mxSettings.settings.customLibraries&&(mxSettings.settings.customLibraries=Editor.defaultCustomLibraries),null==mxSettings.settings.ui&&(mxSettings.settings.ui=""),null==mxSettings.settings.formatWidth&&(mxSettings.settings.formatWidth=mxSettings.defaultFormatWidth),null!=mxSettings.settings.lastAlert&&delete mxSettings.settings.lastAlert, null==mxSettings.settings.currentEdgeStyle?mxSettings.settings.currentEdgeStyle=Graph.prototype.defaultEdgeStyle:10>=mxSettings.settings.version&&(mxSettings.settings.currentEdgeStyle.orthogonalLoop=1,mxSettings.settings.currentEdgeStyle.jettySize="auto"),null==mxSettings.settings.currentVertexStyle&&(mxSettings.settings.currentVertexStyle=Graph.prototype.defaultVertexStyle),null==mxSettings.settings.createTarget&&(mxSettings.settings.createTarget=!1),null==mxSettings.settings.pageFormat&&(mxSettings.settings.pageFormat= mxGraph.prototype.pageFormat),null==mxSettings.settings.search&&(mxSettings.settings.search=!0),null==mxSettings.settings.showStartScreen&&(mxSettings.settings.showStartScreen=!0),null==mxSettings.settings.gridColor&&(mxSettings.settings.gridColor=mxGraphView.prototype.gridColor),null==mxSettings.settings.autosave&&(mxSettings.settings.autosave=!0),null!=mxSettings.settings.scratchpadSeen&&delete mxSettings.settings.scratchpadSeen))},clear:function(){isLocalStorage&&localStorage.removeItem(mxSettings.key)}}; -("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(a,f,d){EditorUi.call(this,a,f,null!=d?d:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=": +("undefined"==typeof mxLoadSettings||mxLoadSettings)&&mxSettings.load();App=function(a,d,f){EditorUi.call(this,a,d,null!=f?f:"1"==urlParams.lightbox||"min"==uiTheme);mxClient.IS_SVG?mxGraph.prototype.warningImage.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAE7SURBVHjaYvz//z8DJQAggBjwGXDuHMP/tWuD/uPTCxBAOA0AaQRK/f/+XeJ/cbHlf1wGAAQQTgPu3QNLgfHSpZo4DQAIIKwGwGyH4e/fFbG6AiQJEEAs2Ew2NFzH8OOHBMO6dT/A/KCg7wxGRh+wuhQggDBcALMdFIAcHBxgDGJjcwVIIUAAYbhAUXEdVos4OO4DXcGBIQ4QQCguQPY7sgtgAYruCpAgQACx4LJdU1OCwctLEcyWlLwPJF+AXQE0EMUBAAEEdwF6yMOiD4RRY0QT7gqQAEAAseDzu6XldYYPH9DD4joQa8L5AAEENgWb7SBcXa0JDQMBrK4AcQACiAlfyOMCEFdAnAYQQEz4FLa0XGf4/v0H0IIPONUABBAjyBmMjIwMS5cK/L927QORbtBkaG29DtYLEGAAH6f7oq3Zc+kAAAAASUVORK5CYII=": (new Image).src=mxGraph.prototype.warningImage.src;window.openWindow=mxUtils.bind(this,function(a,d,f){var c=null;try{c=window.open(a)}catch(n){}null==c||void 0===c?this.showDialog((new PopupDialog(this,a,d,f)).container,320,140,!0,!0):null!=d&&d()});this.updateDocumentTitle();this.updateUi();window.showOpenAlert=mxUtils.bind(this,function(a){null!=window.openFile&&window.openFile.cancel(!0);this.handleError(a)});this.editor.chromeless&&!this.editor.editable||this.addFileDropHandler([document]);if(null!= App.DrawPlugins){for(a=0;a<App.DrawPlugins.length;a++)try{App.DrawPlugins[a](this)}catch(c){null!=window.console&&console.log("Plugin Error:",c,App.DrawPlugins[a])}window.Draw.loadPlugin=mxUtils.bind(this,function(a){a(this)})}this.load()};App.ERROR_TIMEOUT="timeout";App.ERROR_BUSY="busy";App.ERROR_UNKNOWN="unknown";App.MODE_GOOGLE="google";App.MODE_DROPBOX="dropbox";App.MODE_ONEDRIVE="onedrive";App.MODE_GITHUB="github";App.MODE_DEVICE="device";App.MODE_BROWSER="browser";App.MODE_TRELLO="trello"; App.DROPBOX_APPKEY="libwls2fa9szdji";App.DROPBOX_URL="js/dropbox/Dropbox-sdk.min.js";App.DROPINS_URL="https://www.dropbox.com/static/api/2/dropins.js";App.ONEDRIVE_URL="https://js.live.net/v7.2/OneDrive.js";App.TRELLO_URL="https://api.trello.com/1/client.js";App.TRELLO_JQUERY_URL="https://code.jquery.com/jquery-1.7.1.min.js";App.FOOTER_PLUGIN_URL="https://www.jgraph.com/drawio-footer.js"; App.pluginRegistry={"4xAKTrabTpTzahoLthkwPNUn":"/plugins/explore.js",ex:"/plugins/explore.js",p1:"/plugins/p1.js",ac:"/plugins/connect.js",acj:"/plugins/connectJira.js",ac148:"/plugins/cConf-1-4-8.js",voice:"/plugins/voice.js",tips:"/plugins/tooltips.js",svgdata:"/plugins/svgdata.js",doors:"/plugins/doors.js",electron:"plugins/electron.js",number:"/plugins/number.js",sql:"/plugins/sql.js",props:"/plugins/props.js",text:"/plugins/text.js",anim:"/plugins/animation.js",update:"/plugins/update.js",trees:"/plugins/trees/trees.js", "import":"/plugins/import.js",replay:"/plugins/replay.js",anon:"/plugins/anonymize.js",tr:"/plugins/trello.js",f5:"/plugins/rackF5.js"}; -App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage.getItem(".mode"));if(null==a&&"undefined"!=typeof Storage){for(var f=document.cookie.split(";"),d=0;d<f.length;d++){var c=mxUtils.trim(f[d]);if("MODE="==c.substring(0,5)){a=c.substring(5);break}}null!=a&&isLocalStorage&&(f=new Date,f.setYear(f.getFullYear()-1),document.cookie="MODE=; expires="+f.toUTCString(),localStorage.setItem(".mode",a))}return a}; +App.getStoredMode=function(){var a=null;null==a&&isLocalStorage&&(a=localStorage.getItem(".mode"));if(null==a&&"undefined"!=typeof Storage){for(var d=document.cookie.split(";"),f=0;f<d.length;f++){var c=mxUtils.trim(d[f]);if("MODE="==c.substring(0,5)){a=c.substring(5);break}}null!=a&&isLocalStorage&&(d=new Date,d.setYear(d.getFullYear()-1),document.cookie="MODE=; expires="+d.toUTCString(),localStorage.setItem(".mode",a))}return a}; (function(){mxClient.IS_CHROMEAPP||("1"!=urlParams.offline&&("db.draw.io"==window.location.hostname&&null==urlParams.mode&&(urlParams.mode="dropbox"),App.mode=urlParams.mode,null==App.mode&&(App.mode=App.getStoredMode())),null!=window.mxscript&&("1"!=urlParams.embed&&("function"===typeof window.DriveClient&&("0"!=urlParams.gapi&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_GOOGLE||null!=urlParams.state&&""==window.location.hash||null!=window.location.hash&& "#G"==window.location.hash.substring(0,2)?mxscript("https://apis.google.com/js/api.js"):"0"!=urlParams.chrome||null!=window.location.hash&&"#Uhttps%3A%2F%2Fdrive.google.com%2Fuc%3Fid%3D"===window.location.hash.substring(0,45)||(window.DriveClient=null):window.DriveClient=null),"function"===typeof window.DropboxClient&&("0"!=urlParams.db&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode)?App.mode==App.MODE_DROPBOX||null!=window.location.hash&&"#D"==window.location.hash.substring(0, 2)?(mxscript(App.DROPBOX_URL),mxscript(App.DROPINS_URL,null,"dropboxjs",App.DROPBOX_APPKEY)):"0"==urlParams.chrome&&(window.DropboxClient=null):window.DropboxClient=null),"function"===typeof window.OneDriveClient&&("0"!=urlParams.od&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?App.mode==App.MODE_ONEDRIVE||null!=window.location.hash&&"#W"==window.location.hash.substring(0,2)?mxscript(App.ONEDRIVE_URL):"0"==urlParams.chrome&&(window.OneDriveClient=null):window.OneDriveClient= null),"function"===typeof window.TrelloClient&&("0"!=urlParams.tr&&isSvgBrowser&&(null==document.documentMode||10<=document.documentMode)?App.mode==App.MODE_TRELLO||null!=window.location.hash&&"#T"==window.location.hash.substring(0,2)?(mxscript(App.TRELLO_JQUERY_URL),mxscript(App.TRELLO_URL)):"0"==urlParams.chrome&&(window.TrelloClient=null):window.TrelloClient=null)),"undefined"==typeof JSON&&mxscript("js/json/json2.min.js")))})(); -App.main=function(a,f){function d(b){mxUtils.getAll("1"!=urlParams.dev?[b]:[b,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(b){mxResources.parse(b[0].getText());1<b.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=b[1].getDocumentElement());b=null!=f?f():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&& +App.main=function(a,d){function f(b){mxUtils.getAll("1"!=urlParams.dev?[b]:[b,"dark"==uiTheme?STYLE_PATH+"/dark-default.xml":STYLE_PATH+"/default.xml"],function(b){mxResources.parse(b[0].getText());1<b.length&&(Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=b[1].getDocumentElement());b=null!=d?d():new App(new Editor("0"==urlParams.chrome||"min"==uiTheme,null,null,null,"0"!=urlParams.chrome));if(null!=window.mxscript){if("function"===typeof window.DropboxClient&&null==window.Dropbox&& null!=window.DrawDropboxClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&isSvgBrowser&&(null==document.documentMode||9<document.documentMode))mxscript(App.DROPBOX_URL,function(){mxscript(App.DROPINS_URL,function(){DrawDropboxClientCallback()},"dropboxjs",App.DROPBOX_APPKEY)});else if("undefined"===typeof window.Dropbox||"undefined"===typeof window.Dropbox.choose)window.DropboxClient=null;"function"===typeof window.OneDriveClient&&"undefined"===typeof OneDrive&& null!=window.DrawOneDriveClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.ONEDRIVE_URL,window.DrawOneDriveClientCallback):"undefined"===typeof window.OneDrive&&(window.OneDriveClient=null);"function"===typeof window.TrelloClient&&"undefined"===typeof window.Trello&&null!=window.DrawTrelloClientCallback&&("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"== urlParams.tr)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode)?mxscript(App.TRELLO_JQUERY_URL,function(){mxscript(App.TRELLO_URL,function(){DrawTrelloClientCallback()})}):"undefined"===typeof window.Trello&&(window.TrelloClient=null)}null!=a&&a(b);"0"!=urlParams.chrome&&"1"==urlParams.test&&(mxLog.show(),mxLog.debug("Started in "+((new Date).getTime()-t0.getTime())+"ms"),mxLog.debug("Export:",EXPORT_URL),mxLog.debug("Development mode:","1"==urlParams.dev?"active":"inactive"),mxLog.debug("Test mode:", -"1"==urlParams.test?"active":"inactive"))},function(b){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(b,a,d,f,g){try{if(b!=c&&(null==b||null==a||-1== +"1"==urlParams.test?"active":"inactive"))},function(b){document.getElementById("geStatus").innerHTML='Error loading page. <a href="javascript:void(0);">Please try refreshing.</a>';document.getElementById("geStatus").getElementsByTagName("a")[0].onclick=function(){mxLanguage="en";f(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE,mxLanguage))}})}var c=null;EditorUi.enableLogging&&(window.onerror=function(b,a,d,f,g){try{if(b!=c&&(null==b||null==a||-1== b.indexOf("Script error")&&-1==b.indexOf("extension"))&&null!=b&&0>b.indexOf("DocumentClosedError")){c=b;var e=new Image,h=0<=b.indexOf("NetworkError")||0<=b.indexOf("SecurityError")||0<=b.indexOf("NS_ERROR_FAILURE")||0<=b.indexOf("out of memory")?"CONFIG":"SEVERE";e.src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?severity="+h+"&v="+encodeURIComponent(EditorUi.VERSION)+"&msg=clientError:"+encodeURIComponent(b)+":url:"+encodeURIComponent(window.location.href)+":lnum:"+encodeURIComponent(d)+ (null!=f?":colno:"+encodeURIComponent(f):"")+(null!=g&&null!=g.stack?"&stack="+encodeURIComponent(g.stack):"")}}catch(x){}});if(null!=window.mxscript){if("1"==urlParams.offline||"1"==urlParams.appcache){mxscript("js/shapes.min.js");mxscript("js/stencils.min.js");mxscript("js/extensions.min.js");var g=document.createElement("iframe");g.setAttribute("width","0");g.setAttribute("height","0");g.setAttribute("src","offline.html");document.body.appendChild(g)}if("0"!=urlParams.plugins&&"1"!=urlParams.offline){var g= mxSettings.getPlugins(),h=urlParams.p;App.initPluginCallback();if(null!=h){var m="";"1"==urlParams.drawdev&&(m=document.location.protocol+"//drawhost.jgraph.com/");for(var n=h.split(";"),h=0;h<n.length;h++){var p=App.pluginRegistry[n[h]];null!=p?mxscript(m+p):null!=window.console&&console.log("Unknown plugin:",n[h])}}else"0"==urlParams.chrome||EditorUi.isElectronApp||mxscript(App.FOOTER_PLUGIN_URL,null,null,null,mxClient.IS_SVG);if(null!=g&&0<g.length&&"0"!=urlParams.plugins){m=window.location.protocol+ "//"+window.location.host;n=!0;for(h=0;h<g.length&&n;h++)"/"!=g[h].charAt(0)&&g[h].substring(0,m.length)!=m&&(n=!1);if(n||mxUtils.confirm(mxResources.replacePlaceholders("The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n",[g.join("\n")]).replace(/\\n/g,"\n")))for(h=0;h<g.length;h++)try{mxscript(g[h])}catch(b){}}}"function"===typeof window.DriveClient&& -"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;d(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE, +"undefined"===typeof gapi&&("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&isSvgBrowser&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode)?mxscript("https://apis.google.com/js/api.js?onload=DrawGapiClientCallback",null,null,null,mxClient.IS_SVG):"undefined"===typeof window.gapi&&(window.DriveClient=null)}"0"!=urlParams.math&&Editor.initMath();mxResources.loadDefaultBundle=!1;f(mxResources.getDefaultBundle(RESOURCE_BASE,mxLanguage)||mxResources.getSpecialBundle(RESOURCE_BASE, mxLanguage))};mxUtils.extend(App,EditorUi);App.prototype.defaultUserPicture="https://lh3.googleusercontent.com/-HIzvXUy6QUY/AAAAAAAAAAI/AAAAAAAAAAA/giuR7PQyjEk/photo.jpg?sz=30";App.prototype.shareImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowOTgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxMjU2NzdEMTcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxMjU2NzdEMDcwRDIxMUUxQjc0MDkxRDhCNUQzOEFGRCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IFdpbmRvd3MiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowNjgwMTE3NDA3MjA2ODExODcxRkM4MUY1OTFDMjQ5OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowNzgwMTE3NDA3MjA2ODExODhDNkFGMDBEQkQ0RTgwOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PrM/fs0AAADgSURBVHjaYmDAA/7//88MwgzkAKDGFiD+BsQ/QWxSNaf9RwN37twpI8WAS+gGfP78+RpQSoRYA36iG/D379+vQClNdLVMOMz4gi7w79+/n0CKg1gD9qELvH379hzIHGK9oA508ieY8//8+fO5rq4uFCilRKwL1JmYmNhhHEZGRiZ+fn6Q2meEbDYG4u3/cYCfP38uA7kOm0ZOIJ7zn0jw48ePPiDFhmzArv8kgi9fvuwB+w5qwH9ykjswbFSZyM4sEMDPBDTlL5BxkFSd7969OwZ2BZKYGhDzkmjOJ4AAAwBhpRqGnEFb8QAAAABJRU5ErkJggg=="; App.prototype.chevronUpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg2NEE3NUY1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg2NEE3NjA1MUVBMTFFM0I3MUVEMTc0N0YyOUI4QzEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo0ODY0QTc1RDUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo0ODY0QTc1RTUxRUExMUUzQjcxRUQxNzQ3RjI5QjhDMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pg+qUokAAAAMUExURQAAANnZ2b+/v////5bgre4AAAAEdFJOU////wBAKqn0AAAAL0lEQVR42mJgRgMMRAswMKAKMDDARBjg8lARBoR6KImkH0wTbygT6YaS4DmAAAMAYPkClOEDDD0AAAAASUVORK5CYII=": IMAGE_PATH+"/chevron-up.png"; @@ -7516,117 +7549,117 @@ App.prototype.formatShowImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgo App.prototype.formatHideImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODdCREY5REI1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODdCREY5REM1NkQ3MTFFNTkyNjNEMTA5NjgwODUyRTgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4N0JERjlEOTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4N0JERjlEQTU2RDcxMUU1OTI2M0QxMDk2ODA4NTJFOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqjT9SMAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAAB9JREFUeNpiYEQDDEQJMMABTAAmNdAC6A4j0XMAAQYAcbwA1Xvj1CgAAAAASUVORK5CYII=":IMAGE_PATH+ "/format-hide.png";App.prototype.fullscreenImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAABlBMVEUAAAAAAAClZ7nPAAAAAXRSTlMAQObYZgAAABpJREFUCNdjgAAbGxAy4AEh5gNwBBGByoIBAIueBd12TUjqAAAAAElFTkSuQmCC":IMAGE_PATH+"/fullscreen.png";App.prototype.timeout=25E3;"1"!=urlParams.embed?App.prototype.menubarHeight=60:App.prototype.footerHeight=0;App.initPluginCallback=function(){null==App.DrawPlugins&&(App.DrawPlugins=[],window.Draw={},window.Draw.loadPlugin=function(a){App.DrawPlugins.push(a)})}; App.prototype.init=function(){EditorUi.prototype.init.apply(this,arguments);this.defaultLibraryName=mxResources.get("untitledLibrary");this.descriptorChangedListener=mxUtils.bind(this,this.descriptorChanged);this.gitHub=mxClient.IS_IE&&10!=document.documentMode&&!mxClient.IS_IE11&&!mxClient.IS_EDGE||"0"==urlParams.gh||"1"==urlParams.embed&&"1"!=urlParams.gh?null:new GitHubClient(this);null!=this.gitHub&&this.gitHub.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})); -if("1"!=urlParams.embed||"1"==urlParams.od){var a=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=a)});a()}if("1"!=urlParams.embed||"1"==urlParams.tr){var f=mxUtils.bind(this,function(){"undefined"!== -typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=f)});f()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var d=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var a=mxUtils.bind(this,function(){this.drive=new DriveClient(this); +if("1"!=urlParams.embed||"1"==urlParams.od){var a=mxUtils.bind(this,function(){"undefined"!==typeof OneDrive?(this.oneDrive=new OneDriveClient(this),this.oneDrive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.oneDrive))):null==window.DrawOneDriveClientCallback&&(window.DrawOneDriveClientCallback=a)});a()}if("1"!=urlParams.embed||"1"==urlParams.tr){var d=mxUtils.bind(this,function(){"undefined"!== +typeof window.Trello?(this.trello=new TrelloClient(this),this.trello.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.trello))):null==window.DrawTrelloClientCallback&&(window.DrawTrelloClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.gapi){var f=mxUtils.bind(this,function(){if("undefined"!==typeof gapi){var a=mxUtils.bind(this,function(){this.drive=new DriveClient(this); "420247213240"==this.drive.appId&&this.editor.addListener("fileLoaded",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile&&(a=document.getElementById("geFooterItem2"),null!=a&&(a.innerHTML='<a href="https://support.draw.io/display/DO/2014/11/27/Switching+application+in+Google+Drive" target="_blank" title="IMPORTANT NOTICE" >IMPORTANT NOTICE</a>'))}));this.drive.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries(); this.checkLicense()}));this.fireEvent(new mxEventObject("clientLoaded","client",this.drive))});null!=window.DrawGapiClientCallback?(gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(c){null!=gapi.drive&&null!=gapi.drive.realtime&&gapi.client.load("drive","v2",mxUtils.bind(this,function(){this.defineCustomObjects();gapi.auth.init(mxUtils.bind(this,function(){null!=gapi.client.drive&&a()}))}))})),window.DrawGapiClientCallback=null):a()}else null== -window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=d)});d()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&& +window.DrawGapiClientCallback&&(window.DrawGapiClientCallback=f)});f()}if("1"!=urlParams.embed||"1"==urlParams.db){var c=mxUtils.bind(this,function(){"function"===typeof Dropbox&&"undefined"!==typeof Dropbox.choose?(window.DrawDropboxClientCallback=null,this.dropbox=new DropboxClient(this),this.dropbox.addListener("userChanged",mxUtils.bind(this,function(){this.updateUserElement();this.restoreLibraries()})),this.fireEvent(new mxEventObject("clientLoaded","client",this.dropbox))):null==window.DrawDropboxClientCallback&& (window.DrawDropboxClientCallback=c)});c()}"1"!=urlParams.embed?(this.bg=this.createBackground(),document.body.appendChild(this.bg),this.diagramContainer.style.visibility="hidden",this.formatContainer.style.visibility="hidden",this.hsplit.style.display="none",this.sidebarContainer.style.display="none",this.sidebarFooterContainer.style.display="none","1"==urlParams.local?this.setMode(App.MODE_DEVICE):this.mode=App.mode):null!=this.menubar&&(this.menubar.container.style.paddingTop="0px");this.updateHeader(); null!=this.menubar&&(this.buttonContainer=document.createElement("div"),this.buttonContainer.style.display="inline-block",this.buttonContainer.style.paddingRight="48px",this.buttonContainer.style.position="absolute",this.buttonContainer.style.right="0px",this.menubar.container.appendChild(this.buttonContainer));"atlas"==uiTheme&&null!=this.menubar&&(null!=this.toggleElement&&(this.toggleElement.click(),this.toggleElement.style.display="none"),this.icon=document.createElement("img"),this.icon.setAttribute("src", IMAGE_PATH+"/logo-flat-small.png"),this.icon.setAttribute("title",mxResources.get("draw.io")),this.icon.style.paddingTop="11px",this.icon.style.marginLeft="4px",this.icon.style.marginRight="6px",mxClient.IS_QUIRKS&&(this.icon.style.marginTop="12px"),this.menubar.container.insertBefore(this.icon,this.menubar.container.firstChild))}; App.prototype.isDriveDomain=function(){return"0"!=urlParams.drive&&("test.draw.io"==window.location.hostname||"cdn.draw.io"==window.location.hostname||"www.draw.io"==window.location.hostname||"drive.draw.io"==window.location.hostname||"jgraph.github.io"==window.location.hostname)};App.prototype.isLegacyDriveDomain=function(){return 0==urlParams.drive||"legacy.draw.io"==window.location.hostname}; -App.prototype.checkLicense=function(){var a=this.drive.getUser(),f=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=f){var d=f.lastIndexOf("@"),c=f;0<=d&&(c=f.substring(d+1),f=this.crc32(f.substring(0,d))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(f)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<= +App.prototype.checkLicense=function(){var a=this.drive.getUser(),d=("1"==urlParams.dev?urlParams.lic:null)||(null!=a?a.email:null);if(!this.isOffline()&&!this.editor.chromeless&&null!=d){var f=d.lastIndexOf("@"),c=d;0<=f&&(c=d.substring(f+1),d=this.crc32(d.substring(0,f))+"@"+c);mxUtils.post("/license","domain="+encodeURIComponent(c)+"&email="+encodeURIComponent(d)+"&ds="+encodeURIComponent(a.displayName)+"&lc="+encodeURIComponent(a.locale)+"&ts="+(new Date).getTime(),mxUtils.bind(this,function(a){try{if(200<= a.getStatus()&&299>=a.getStatus()){var d=a.getText();if(0<d.length){var f=JSON.parse(d);null!=f&&this.handleLicense(f,c)}}}catch(n){}}))}}; -App.prototype.handleLicense=function(a,f){var d=document.getElementById("geFooter"),c=null;if(null!=d&&null!=a)if(c=a.expiry,null!=a.footer)d.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),h=Math.round((g-Date.now())/864E5);if(90>h){var m="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(f);d.style.height="100%";d.style.margin="0px";d.style.display= -"";0>h?(this.footerHeight=80,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+m+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[f,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,d.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+ -m+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[f,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)}; +App.prototype.handleLicense=function(a,d){var f=document.getElementById("geFooter"),c=null;if(null!=f&&null!=a)if(c=a.expiry,null!=a.footer)f.innerHTML=decodeURIComponent(a.footer);else if(this.hideFooter(),null!=c&&"never"!=c){var g=new Date(Date.parse(c)),h=Math.round((g-Date.now())/864E5);if(90>h){var m="https://support.draw.io/display/DKB/draw.io+footer+state+that+license+is+expiring+on+Google+For+Work+account?domain="+encodeURIComponent(d);f.style.height="100%";f.style.margin="0px";f.style.display= +"";0>h?(this.footerHeight=80,f.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert geBlink"><a href="'+m+'" style="padding-top:16px;" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseHasExpired",[d,g.toLocaleDateString()])+"</a></td></tr></table>"):(this.footerHeight=46,f.innerHTML='<table height="100%"><tr><td valign="middle" align="center" class="geStatusAlert"><a href="'+ +m+'" target="_blank"><img border="0" src="'+mxGraph.prototype.warningImage.src+'" align="top" style="margin-right:6px">'+mxResources.get("licenseWillExpire",[d,g.toLocaleDateString()])+"</a></td></tr></table>");this.refresh()}}return c};App.prototype.getEditBlankXml=function(){var a=this.getCurrentFile();return null!=a&&this.editor.isChromelessView()&&this.editor.graph.isLightboxView()&&null==a.realtime?a.getData():this.getFileData(!0)}; App.prototype.updateActionStates=function(){EditorUi.prototype.updateActionStates.apply(this,arguments);var a=this.getCurrentFile();this.actions.get("revisionHistory").setEnabled(null!=a&&(a.constructor==DriveFile&&a.isEditable()||a.constructor==DropboxFile))};App.prototype.updateDraft=function(){isLocalStorage&&null!=localStorage&&localStorage.setItem(".draft",JSON.stringify({modified:(new Date).getTime(),data:this.getFileData()}))};App.prototype.getDraft=function(){return null}; -App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var f=this.getRecent();if(null==f)f=[];else for(var d=0;d<f.length;d++)f[d].id==a.id&&f.splice(d,1);null!=f&&(f.unshift(a),f=f.slice(0,5),localStorage.setItem(".recent",JSON.stringify(f)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(f){}return null}}; -App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(f){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}}; +App.prototype.addRecent=function(a){if(isLocalStorage&&null!=localStorage){var d=this.getRecent();if(null==d)d=[];else for(var f=0;f<d.length;f++)d[f].id==a.id&&d.splice(f,1);null!=d&&(d.unshift(a),d=d.slice(0,5),localStorage.setItem(".recent",JSON.stringify(d)))}};App.prototype.getRecent=function(){if(isLocalStorage&&null!=localStorage){try{var a=localStorage.getItem(".recent");if(null!=a)return JSON.parse(a)}catch(d){}return null}}; +App.prototype.resetRecent=function(a){if(isLocalStorage&&null!=localStorage)try{localStorage.removeItem(".recent")}catch(d){}};App.prototype.removeDraft=function(){if(isLocalStorage&&null!=localStorage&&"0"==urlParams.splash)try{localStorage.removeItem(".draft")}catch(a){}}; App.prototype.onBeforeUnload=function(){if("1"==urlParams.embed&&this.editor.modified)return mxResources.get("allChangesLost");var a=this.getCurrentFile();if(null!=a)if(a.constructor!=LocalFile||""!=a.getHash()||a.isModified()||"1"==urlParams.nowarn||this.isDiagramEmpty()||null!=urlParams.url||this.editor.isChromelessView()){if((a.constructor!=DriveFile||null==a.realtime||a.realtime.saving)&&a.isModified())return mxResources.get("allChangesLost");a.close(!0)}else return mxResources.get("ensureDataSaved")}; -App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,f=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=f&&(a=(null!=f.getTitle()?f.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],f,d=0;256>d;d++){f=d;for(var c=0;8>c;c++)f=f&1?3988292384^f>>>1:f>>>1;a[d]=f}return a}; -App.prototype.getThumbnail=function(a,f){var d=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,h=this.pages[0];c.getGlobalVariable=function(b){return"page"==b?h.getName():"pagenumber"==b?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(h.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this, -function(b){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);f(b)}),a,this.thumbImageCache,"#ffffff",function(){f()},null,null,null,null,null,null,c),d=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var m=document.createElement("canvas"),n=c.getGraphBounds(),p=a/n.width,p=Math.min(1,Math.min(3*a/(4*n.height),p)),b=Math.floor(n.x),e=Math.floor(n.y);m.setAttribute("width",Math.ceil(p*(n.width+4)));m.setAttribute("height",Math.ceil(p*(n.height+4)));var l=m.getContext("2d"); -l.scale(p,p);l.translate(-b,-e);var u=c.background;if(null==u||""==u||u==mxConstants.NONE)u="#ffffff";l.save();l.fillStyle=u;l.fillRect(b,e,Math.ceil(n.width+4),Math.ceil(n.height+4));l.restore();var q=new mxJsCanvas(m),t=new mxAsyncCanvas(this.thumbImageCache);q.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(b,a){b.shape instanceof mxShape&&b.shape.checkBounds()&&(a.save(),a.translate(.5,.5),b.shape.paint(a),a.translate(-.5,-.5),a.restore())};w.drawText=function(b, -a){};w.drawState(c.getView().getState(c.model.root),t);t.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),q);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);f(m)}));d=!0}}catch(x){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return d}; +App.prototype.updateDocumentTitle=function(){if(!this.editor.graph.isLightboxView()){var a=this.editor.appName,d=this.getCurrentFile();this.isOfflineApp()&&(a+=" app");null!=d&&(a=(null!=d.getTitle()?d.getTitle():this.defaultFilename)+" - "+a);document.title=a}};App.prototype.createCrcTable=function(){for(var a=[],d,f=0;256>f;f++){d=f;for(var c=0;8>c;c++)d=d&1?3988292384^d>>>1:d>>>1;a[f]=d}return a}; +App.prototype.getThumbnail=function(a,d){var f=!1;try{null==this.thumbImageCache&&(this.thumbImageCache={});var c=this.editor.graph;if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),g=c.getGlobalVariable,h=this.pages[0];c.getGlobalVariable=function(b){return"page"==b?h.getName():"pagenumber"==b?1:g.apply(this,arguments)};document.body.appendChild(c.container);c.model.setRoot(h.root)}if(mxClient.IS_CHROMEAPP||!c.mathEnabled&&this.useCanvasForExport)this.exportToCanvas(mxUtils.bind(this, +function(b){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(b)}),a,this.thumbImageCache,"#ffffff",function(){d()},null,null,null,null,null,null,c),f=!0;else if(this.canvasSupported&&null!=this.getCurrentFile()){var m=document.createElement("canvas"),n=c.getGraphBounds(),p=a/n.width,p=Math.min(1,Math.min(3*a/(4*n.height),p)),b=Math.floor(n.x),e=Math.floor(n.y);m.setAttribute("width",Math.ceil(p*(n.width+4)));m.setAttribute("height",Math.ceil(p*(n.height+4)));var l=m.getContext("2d"); +l.scale(p,p);l.translate(-b,-e);var q=c.background;if(null==q||""==q||q==mxConstants.NONE)q="#ffffff";l.save();l.fillStyle=q;l.fillRect(b,e,Math.ceil(n.width+4),Math.ceil(n.height+4));l.restore();var u=new mxJsCanvas(m),t=new mxAsyncCanvas(this.thumbImageCache);u.images=this.thumbImageCache.images;var w=new mxImageExport;w.drawShape=function(b,a){b.shape instanceof mxShape&&b.shape.checkBounds()&&(a.save(),a.translate(.5,.5),b.shape.paint(a),a.translate(-.5,-.5),a.restore())};w.drawText=function(b, +a){};w.drawState(c.getView().getState(c.model.root),t);t.finish(mxUtils.bind(this,function(){w.drawState(c.getView().getState(c.model.root),u);c!=this.editor.graph&&c.container.parentNode.removeChild(c.container);d(m)}));f=!0}}catch(x){c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}return f}; App.prototype.createBackground=function(){var a=this.createDiv("background");a.style.position="absolute";a.style.background="white";a.style.left="0px";a.style.top="0px";a.style.bottom="0px";a.style.right="0px";mxUtils.setOpacity(a,100);mxClient.IS_QUIRKS&&new mxDivResizer(a);return a}; -(function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(f,d){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(d)if(isLocalStorage)localStorage.setItem(".mode",f);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+f+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),f=null!=c?c.getMode():null,f==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt", -[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):f==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):f==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})(); -App.prototype.appIconClicked=function(a){if(mxEvent.isAltDown(a))this.showSplash(!0);else{var f=this.getCurrentFile(),d=null!=f?f.getMode():null;d==App.MODE_GOOGLE?null!=f.desc&&0<f.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+f.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):d==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):d==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):d==App.MODE_TRELLO?this.openLink("https://trello.com/"): -d==App.MODE_GITHUB&&(null!=f&&f.constructor==GitHubFile?this.openLink(f.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(a)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="MODE=; expires="+a.toUTCString()}};App.prototype.getDiagramId=function(){var a=window.location.hash;null!=a&&0<a.length&&(a=a.substring(1));return a}; -App.prototype.open=function(){try{if(null!=window.opener){var a=urlParams.create;null!=a&&(a=decodeURIComponent(a));if(null!=a&&0<a.length&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)){var f=mxUtils.parseXml(window.opener[a]);this.editor.setGraphXml(f.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,c,f){this.spinner.stop();null==c&&(c=urlParams.title,f=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport? --1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,a,c):new LocalFile(this,a,c,f))}))}}catch(d){}}; -App.prototype.loadGapi=function(a){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(f){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,a()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);a()}))}))}))}; +(function(){var a=EditorUi.prototype.setMode;App.prototype.setMode=function(d,f){a.apply(this,arguments);null!=this.mode&&(Editor.useLocalStorage=this.mode==App.MODE_BROWSER);if(f)if(isLocalStorage)localStorage.setItem(".mode",d);else if("undefined"!=typeof Storage){var c=new Date;c.setYear(c.getFullYear()+1);document.cookie="MODE="+d+"; expires="+c.toUTCString()}null!=this.appIcon&&(c=this.getCurrentFile(),d=null!=c?c.getMode():null,d==App.MODE_GOOGLE?(this.appIcon.setAttribute("title",mxResources.get("openIt", +[mxResources.get("googleDrive")])),this.appIcon.style.cursor="pointer"):d==App.MODE_DROPBOX?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("dropbox")])),this.appIcon.style.cursor="pointer"):d==App.MODE_ONEDRIVE?(this.appIcon.setAttribute("title",mxResources.get("openIt",[mxResources.get("oneDrive")])),this.appIcon.style.cursor="pointer"):(this.appIcon.removeAttribute("title"),this.appIcon.style.cursor="default"))}})(); +App.prototype.appIconClicked=function(a){if(mxEvent.isAltDown(a))this.showSplash(!0);else{var d=this.getCurrentFile(),f=null!=d?d.getMode():null;f==App.MODE_GOOGLE?null!=d.desc&&0<d.desc.parents.length?this.openLink("https://drive.google.com/drive/folders/"+d.desc.parents[0].id):this.openLink("https://drive.google.com/?authuser=0"):f==App.MODE_DROPBOX?this.openLink("https://www.dropbox.com/"):f==App.MODE_ONEDRIVE?this.openLink("https://onedrive.live.com/"):f==App.MODE_TRELLO?this.openLink("https://trello.com/"): +f==App.MODE_GITHUB&&(null!=d&&d.constructor==GitHubFile?this.openLink(d.meta.html_url):this.openLink("https://github.com/"))}mxEvent.consume(a)};App.prototype.clearMode=function(){if(isLocalStorage)localStorage.removeItem(".mode");else if("undefined"!=typeof Storage){var a=new Date;a.setYear(a.getFullYear()-1);document.cookie="MODE=; expires="+a.toUTCString()}};App.prototype.getDiagramId=function(){var a=window.location.hash;null!=a&&0<a.length&&(a=a.substring(1));return a}; +App.prototype.open=function(){try{if(null!=window.opener){var a=urlParams.create;null!=a&&(a=decodeURIComponent(a));if(null!=a&&0<a.length&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)){var d=mxUtils.parseXml(window.opener[a]);this.editor.setGraphXml(d.documentElement)}else null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,c,d){this.spinner.stop();null==c&&(c=urlParams.title,d=!0,c=null!=c?decodeURIComponent(c):this.defaultFilename);0<(this.useCanvasForExport? +-1:".png"==c.substring(c.length-4))&&(c=c.substring(0,c.length-4)+".xml");this.fileLoaded(mxClient.IS_IOS?new StorageFile(this,a,c):new LocalFile(this,a,c,d))}))}}catch(f){}}; +App.prototype.loadGapi=function(a){"undefined"!==typeof gapi&&gapi.load(("0"!=urlParams.picker?"picker,":"")+"auth:client,drive-realtime,drive-share",mxUtils.bind(this,function(d){null==gapi.drive||null==gapi.drive.realtime?(this.drive=this.mode=null,a()):gapi.client.load("drive","v2",mxUtils.bind(this,function(){gapi.auth.init(mxUtils.bind(this,function(){null==gapi.client.drive&&(this.drive=this.mode=null);a()}))}))}))}; App.prototype.load=function(){if("1"!=urlParams.embed){if(this.spinner.spin(document.body,mxResources.get("starting"))){try{this.stateArg=null!=urlParams.state&&null!=this.drive?JSON.parse(decodeURIComponent(urlParams.state)):null}catch(a){}this.editor.graph.setEnabled(null!=this.getCurrentFile());null!=window.location.hash&&0!=window.location.hash.length||null==this.drive||null==this.stateArg||null==this.stateArg.userId||this.drive.setUserId(this.stateArg.userId);null!=urlParams.fileId?(window.location.hash= "G"+urlParams.fileId,window.location.search=this.getSearch(["fileId"])):null==this.drive?(this.mode==App.MODE_GOOGLE&&(this.mode=null),this.start()):this.loadGapi(mxUtils.bind(this,function(){this.start()}))}}else this.restoreLibraries(),"1"==urlParams.gapi&&this.loadGapi(function(){})}; -App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var f=document.createElement("div");f.className="geAlert";f.style.zIndex=2E9;f.style.left="50%";f.style.top="-100%";mxUtils.setPrefixedStyle(f.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(f.style,"transition","all 1s ease");f.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title", -mxResources.get("close"));a.innerHTML=mxResources.get("close");f.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=f.parentNode&&(f.parentNode.removeChild(f),mxEvent.consume(a))});document.body.appendChild(f);window.setTimeout(function(){f.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(f.style,"transition","all 2s ease");f.style.opacity="0";window.setTimeout(function(){null!=f.parentNode&&f.parentNode.removeChild(f)},2E3)},15E3)}}; +App.prototype.showAlert=function(a){if(null!=a&&0<a.length){var d=document.createElement("div");d.className="geAlert";d.style.zIndex=2E9;d.style.left="50%";d.style.top="-100%";mxUtils.setPrefixedStyle(d.style,"transform","translate(-50%,0%)");mxUtils.setPrefixedStyle(d.style,"transition","all 1s ease");d.innerHTML=a;a=document.createElement("a");a.className="geAlertLink";a.style.textAlign="right";a.style.marginTop="20px";a.style.display="block";a.setAttribute("href","javascript:void(0);");a.setAttribute("title", +mxResources.get("close"));a.innerHTML=mxResources.get("close");d.appendChild(a);mxEvent.addListener(a,"click",function(a){null!=d.parentNode&&(d.parentNode.removeChild(d),mxEvent.consume(a))});document.body.appendChild(d);window.setTimeout(function(){d.style.top="30px"},10);window.setTimeout(function(){mxUtils.setPrefixedStyle(d.style,"transition","all 2s ease");d.style.opacity="0";window.setTimeout(function(){null!=d.parentNode&&d.parentNode.removeChild(d)},2E3)},15E3)}}; App.prototype.start=function(){this.bg.parentNode.removeChild(this.bg);this.restoreLibraries();this.spinner.stop();try{if("1"!=urlParams.client&&"1"!=urlParams.embed&&mxEvent.addListener(window,"hashchange",mxUtils.bind(this,function(a){try{var c=this.getDiagramId(),d=this.getCurrentFile();null!=d&&d.getHash()==c||this.loadFile(c,!0)}catch(n){null!=document.body&&this.handleError(n,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var a=this.getCurrentFile();window.location.hash=null!= a?a.getHash():""}))}})),(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.url)this.loadFile("U"+urlParams.url,!0);else if(null==this.getCurrentFile()){var a=mxUtils.bind(this,function(){if("1"==urlParams.client&&(null==window.location.hash||0==window.location.hash.length||"#P"==window.location.hash.substring(0,2))){var a=mxUtils.bind(this,function(b){"data:image/png;base64,"==b.substring(0,22)&&(b=this.extractGraphModelFromPng(b));var a=urlParams.title,a=null!=a?decodeURIComponent(a): this.defaultFilename;b=new LocalFile(this,b,a,!0);null!=window.location.hash&&"#P"==window.location.hash.substring(0,2)&&(b.getHash=function(){return window.location.hash.substring(1)});this.fileLoaded(b);this.getCurrentFile().setModified(!this.editor.chromeless)}),c=window.opener||window.parent;if(c!=window){var d=urlParams.create;null!=d?a(c[decodeURIComponent(d)]):(d=urlParams.data,null!=d?a(decodeURIComponent(d)):this.installMessageHandler(mxUtils.bind(this,function(b,d){d.source==c&&a(b)})))}}else if(null== this.dialog)if("1"==urlParams.demo)d=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,!0),Editor.useLocalStorage=d;else{d=!1;try{d=null!=window.opener&&null!=window.opener.openFile}catch(b){}if(d)this.spinner.spin(document.body,mxResources.get("loading"));else if(d=this.getDiagramId(),"0"!=urlParams.splash||null!=d&&0!=d.length)this.loadFile(this.getDiagramId());else{var f=this.getDraft(),p=null!=f?f.data:this.getFileData(),d=Editor.useLocalStorage;this.createFile(this.defaultFilename, -p,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=f&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var f=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=f&&0<f.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var d=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create", +p,null,null,null,null,null,!0);Editor.useLocalStorage=d;null!=f&&(d=this.getCurrentFile(),null!=d&&d.addUnsavedStatus())}}});null!=this.drive&&this.defineCustomObjects();var d=decodeURIComponent(urlParams.create||"");if((null==window.location.hash||1>=window.location.hash.length)&&null!=d&&0<d.length&&this.spinner.spin(document.body,mxResources.get("loading"))){var f=mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("reconnecting"))&&(window.location.search=this.getSearch(["create", "title"]))}),c=mxUtils.bind(this,function(a){this.spinner.stop();if("0"!=urlParams.splash){this.fileLoaded(new LocalFile(this,a,null));this.editor.graph.setEnabled(!1);this.mode=urlParams.mode;var c=urlParams.title,c=null!=c?decodeURIComponent(c):this.defaultFilename;a=this.getServiceCount(!0);var d=4>=a?4:3,c=new CreateDialog(this,c,mxUtils.bind(this,function(a,c){if(null==c){this.hideDialog();var b=Editor.useLocalStorage;this.createFile(0<a.length?a:this.defaultFilename,this.getFileData(),null, -null,null,null,null,!0);Editor.useLocalStorage=b}else this.createFile(a,this.getFileData(!0),null,c)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(c.container,380,a>d?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));c.init()}}),f=decodeURIComponent(f);if("http://"!=f.substring(0,7)&&"https://"!=f.substring(0,8))try{null!=window.opener&&null!=window.opener[f]?c(window.opener[f]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g, -mxResources.get("errorLoadingFile"))}else this.loadTemplate(f,function(a){c(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),d)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action? +null,null,null,null,!0);Editor.useLocalStorage=b}else this.createFile(a,this.getFileData(!0),null,c)}),null,null,null,null,"1"==urlParams.browser,null,null,!0,d);this.showDialog(c.container,380,a>d?390:270,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&this.showSplash()}));c.init()}}),d=decodeURIComponent(d);if("http://"!=d.substring(0,7)&&"https://"!=d.substring(0,8))try{null!=window.opener&&null!=window.opener[d]?c(window.opener[d]):this.handleError(null,mxResources.get("errorLoadingFile"))}catch(g){this.handleError(g, +mxResources.get("errorLoadingFile"))}else this.loadTemplate(d,function(a){c(a)},mxUtils.bind(this,function(){this.handleError(null,mxResources.get("errorLoadingFile"),f)}))}else(null==window.location.hash||1>=window.location.hash.length)&&null!=urlParams.state&&null!=this.stateArg&&"open"==this.stateArg.action&&null!=this.stateArg.ids&&(window.location.hash="G"+this.stateArg.ids[0]),(null==window.location.hash||1>=window.location.hash.length)&&null!=this.drive&&null!=this.stateArg&&"create"==this.stateArg.action? (this.setMode(App.MODE_GOOGLE),this.actions.get("new").funct()):a()}}catch(g){this.handleError(g)}}; -App.prototype.showSplash=function(a){var f=this.getServiceCount(!0,!0),d=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,2>f||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=a)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")}, -mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||a){a=4==f?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();d()}),a);this.showDialog(c.container,3>a?260:300,4<=f?420:300,!0,!1);c.init()}else null==urlParams.create&&d()}; -App.prototype.addLanguageMenu=function(a,f){var d=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){d=document.createElement("div");d.setAttribute("title",mxResources.get("language"));d.className="geIcon geSprite geSprite-globe";d.style.position="absolute";d.style.cursor="pointer";d.style.bottom="20px";d.style.right="20px";if(f){d.style.direction="rtl";d.style.textAlign="right";d.style.right="24px";var c=document.createElement("span");c.style.display="inline-block"; -c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));d.appendChild(c)}mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(this.menus.get("language").funct);c.div.className+=" geMenubarMenu";c.smartSeparators=!0;c.showDisabled=!0;c.autoExpand=!0;c.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(c,arguments);c.destroy()});var f=mxUtils.getOffset(d); -c.popup(f.x,f.y+d.offsetHeight,null,a);this.setCurrentMenu(c)}));a.appendChild(d)}return d}; +App.prototype.showSplash=function(a){var d=this.getServiceCount(!0,!0),f=mxUtils.bind(this,function(){var a=new SplashDialog(this);this.showDialog(a.container,340,2>d||mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?200:260,!0,!0,mxUtils.bind(this,function(a){a&&!mxClient.IS_CHROMEAPP&&(a=Editor.useLocalStorage,this.createFile(this.defaultFilename,null,null,null,null,null,null,"1"!=urlParams.local),Editor.useLocalStorage=a)}),!0)});if(this.editor.isChromelessView())this.handleError({message:mxResources.get("noFileSelected")}, +mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){this.showSplash()}));else if(null==this.mode||a){a=4==d?2:3;var c=new StorageDialog(this,mxUtils.bind(this,function(){this.hideDialog();f()}),a);this.showDialog(c.container,3>a?260:300,4<=d?420:300,!0,!1);c.init()}else null==urlParams.create&&f()}; +App.prototype.addLanguageMenu=function(a,d){var f=null;if((!this.isOfflineApp()||mxClient.IS_CHROMEAPP)&&null!=this.menus.get("language")){f=document.createElement("div");f.setAttribute("title",mxResources.get("language"));f.className="geIcon geSprite geSprite-globe";f.style.position="absolute";f.style.cursor="pointer";f.style.bottom="20px";f.style.right="20px";if(d){f.style.direction="rtl";f.style.textAlign="right";f.style.right="24px";var c=document.createElement("span");c.style.display="inline-block"; +c.style.fontSize="12px";c.style.margin="5px 24px 0 0";c.style.color="gray";mxUtils.write(c,mxResources.get("language"));f.appendChild(c)}mxEvent.addListener(f,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var c=new mxPopupMenu(this.menus.get("language").funct);c.div.className+=" geMenubarMenu";c.smartSeparators=!0;c.showDisabled=!0;c.autoExpand=!0;c.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(c,arguments);c.destroy()});var d=mxUtils.getOffset(f); +c.popup(d.x,d.y+f.offsetHeight,null,a);this.setCurrentMenu(c)}));a.appendChild(f)}return f}; App.prototype.defineCustomObjects=function(){null!=gapi.drive.realtime&&null!=gapi.drive.realtime.custom&&(gapi.drive.realtime.custom.registerType(mxRtCell,"Cell"),mxRtCell.prototype.cellId=gapi.drive.realtime.custom.collaborativeField("cellId"),mxRtCell.prototype.type=gapi.drive.realtime.custom.collaborativeField("type"),mxRtCell.prototype.value=gapi.drive.realtime.custom.collaborativeField("value"),mxRtCell.prototype.xmlValue=gapi.drive.realtime.custom.collaborativeField("xmlValue"),mxRtCell.prototype.style= gapi.drive.realtime.custom.collaborativeField("style"),mxRtCell.prototype.geometry=gapi.drive.realtime.custom.collaborativeField("geometry"),mxRtCell.prototype.visible=gapi.drive.realtime.custom.collaborativeField("visible"),mxRtCell.prototype.collapsed=gapi.drive.realtime.custom.collaborativeField("collapsed"),mxRtCell.prototype.connectable=gapi.drive.realtime.custom.collaborativeField("connectable"),mxRtCell.prototype.parent=gapi.drive.realtime.custom.collaborativeField("parent"),mxRtCell.prototype.children= gapi.drive.realtime.custom.collaborativeField("children"),mxRtCell.prototype.source=gapi.drive.realtime.custom.collaborativeField("source"),mxRtCell.prototype.target=gapi.drive.realtime.custom.collaborativeField("target"))};mxRtCell=function(){};mxCodecRegistry.getCodec(mxCell).exclude.push("rtCell");mxCell.prototype.mxTransient.push("rtCell"); -App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var f=this.getPeerForMode(a);if(null!=f)f.pickFile();else if(a==App.MODE_DEVICE&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var d=document.createElement("input");d.setAttribute("type","file");mxEvent.addListener(d, -"change",mxUtils.bind(this,function(){null!=d.files&&this.openFiles(d.files)}));d.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER? +App.prototype.pickFile=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE)null!=this.drive&&"undefined"!=typeof google&&"undefined"!=typeof google.picker?this.drive.pickFile():this.openLink("https://drive.google.com");else{var d=this.getPeerForMode(a);if(null!=d)d.pickFile();else if(a==App.MODE_DEVICE&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var f=document.createElement("input");f.setAttribute("type","file");mxEvent.addListener(f, +"change",mxUtils.bind(this,function(){null!=f.files&&this.openFiles(f.files)}));f.click()}else{this.hideDialog();window.openNew=null!=this.getCurrentFile()&&!this.isDiagramEmpty();window.baseUrl=this.getUrl();window.openKey="open";var c=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;this.openFile();window.openFile.setConsumer(mxUtils.bind(this,function(c,d){this.useCanvasForExport||".png"!=d.substring(d.length-4)||(d=d.substring(0,d.length-4)+".xml");this.fileLoaded(a==App.MODE_BROWSER? new StorageFile(this,c,d):new LocalFile(this,c,d))}));var g=this.dialog,h=g.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;h.apply(g,arguments);null==this.getCurrentFile()&&this.showSplash()})}}}; -App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var f=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=f&&f.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body, -mxResources.get("loading"))&&f.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var d=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile= -new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=d;window.openFile=null})}else{var c=document.createElement("input"); +App.prototype.pickLibrary=function(a){a=null!=a?a:this.mode;if(a==App.MODE_GOOGLE||a==App.MODE_DROPBOX||a==App.MODE_ONEDRIVE||a==App.MODE_GITHUB||a==App.MODE_TRELLO){var d=a==App.MODE_GOOGLE?this.drive:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_TRELLO?this.trello:this.dropbox;null!=d&&d.pickLibrary(mxUtils.bind(this,function(a,c){if(null!=c)try{this.loadLibrary(c)}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}else this.spinner.spin(document.body, +mxResources.get("loading"))&&d.getLibrary(a,mxUtils.bind(this,function(a){this.spinner.stop();try{this.loadLibrary(a)}catch(n){this.handleError(n,mxResources.get("errorLoadingFile"))}}),mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorLoadingFile"):null)}))}))}else if(a!=App.MODE_DEVICE||!Graph.fileSupport||mxClient.IS_IE||mxClient.IS_IE11){window.openNew=!1;window.openKey="open";var f=Editor.useLocalStorage;Editor.useLocalStorage=a==App.MODE_BROWSER;window.openFile= +new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(c,d){try{this.loadLibrary(a==App.MODE_BROWSER?new StorageLibrary(this,c,d):new LocalLibrary(this,c,d))}catch(m){this.handleError(m,mxResources.get("errorLoadingFile"))}}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:360,Editor.useLocalStorage?480:220,!0,!0,function(){Editor.useLocalStorage=f;window.openFile=null})}else{var c=document.createElement("input"); c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){if(null!=c.files)for(var a=0;a<c.files.length;a++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(p){this.handleError(p,mxResources.get("errorLoadingFile"))}});c.readAsText(a)})(c.files[a])}));c.click()}}; -App.prototype.saveLibrary=function(a,f,d,c,g,h,m){c=null!=c?c:this.mode;g=null!=g?g:!1;h=null!=h?h:!1;var n=this.createLibraryDataFromImages(f),p=mxUtils.bind(this,function(b){this.spinner.stop();null!=m&&m();this.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)});null==d&&c==App.MODE_DEVICE&&(d=new LocalLibrary(this,n,a));if(null==d)this.pickFolder(c,mxUtils.bind(this,function(b){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a, -n,b,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,f)}),p,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,f)}),p,b):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,n,mxUtils.bind(this, -function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,f)}),p,b):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,f)}),p,b):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop(); -this.hideDialog(!0);this.libraryLoaded(b,f)}),p,b):c==App.MODE_BROWSER?(b=mxUtils.bind(this,function(){var b=new StorageLibrary(this,n,a);b.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(b,f)}),p)}),null==localStorage.getItem(a)?b():this.confirm(mxResources.get("replaceIt",[a]),b)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){d.setData(n);var b=mxUtils.bind(this, -function(){d.save(!0,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);h||this.libraryLoaded(d,f);null!=m&&m()}),p)});if(a!=d.getTitle()){var e=d.getHash();d.rename(a,mxUtils.bind(this,function(a){d.constructor!=LocalLibrary&&e!=d.getHash()&&(mxSettings.removeCustomLibrary(e),mxSettings.addCustomLibrary(d.getHash()));this.removeLibrarySidebar(e);b()}),p)}else b()}}; -App.prototype.saveFile=function(a){var f=this.getCurrentFile();if(null!=f){var d=mxUtils.bind(this,function(){this.removeDraft();f.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==f.getTitle()||null==this.mode){var c=null!=f.getTitle()?f.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,h=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var m=4>=a?2:6<a?4:3,c=new CreateDialog(this, -c,mxUtils.bind(this,function(a,c){null!=a&&0<a.length&&(null==h&&c==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,d)):"download"==c?(new LocalFile(this,null,a)).save():"_blank"==c?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):h!=c?this.pickFolder(c,mxUtils.bind(this,function(b){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a), -/(\.html)$/i.test(a)),null,c,d,null==this.mode,b)}),c!==App.MODE_GITHUB):null!=c&&this.save(a,d))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,m);this.showDialog(c.container,460,a>m?390:270,!0,!0);c.init()}else this.save(f.getTitle(),d)}}; -EditorUi.prototype.loadTemplate=function(a,f,d){var c=a;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(a){f(a)},d,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&& -200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&f(a.responseText)}),a):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){f(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),f(c))}),d,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))}; +App.prototype.saveLibrary=function(a,d,f,c,g,h,m){c=null!=c?c:this.mode;g=null!=g?g:!1;h=null!=h?h:!1;var n=this.createLibraryDataFromImages(d),p=mxUtils.bind(this,function(b){this.spinner.stop();null!=m&&m();this.handleError(b,null!=b?mxResources.get("errorSavingFile"):null)});null==f&&c==App.MODE_DEVICE&&(f=new LocalLibrary(this,n,a));if(null==f)this.pickFolder(c,mxUtils.bind(this,function(b){c==App.MODE_GOOGLE&&null!=this.drive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.drive.insertFile(a, +n,b,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,this.drive.libraryMimeType):c==App.MODE_GITHUB&&null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.gitHub.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_TRELLO&&null!=this.trello&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.trello.insertLibrary(a,n,mxUtils.bind(this, +function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_DROPBOX&&null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.dropbox.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_ONEDRIVE&&null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("inserting"))?this.oneDrive.insertLibrary(a,n,mxUtils.bind(this,function(b){this.spinner.stop(); +this.hideDialog(!0);this.libraryLoaded(b,d)}),p,b):c==App.MODE_BROWSER?(b=mxUtils.bind(this,function(){var b=new StorageLibrary(this,n,a);b.saveFile(a,!1,mxUtils.bind(this,function(){this.hideDialog(!0);this.libraryLoaded(b,d)}),p)}),null==localStorage.getItem(a)?b():this.confirm(mxResources.get("replaceIt",[a]),b)):this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")})}));else if(g||this.spinner.spin(document.body,mxResources.get("saving"))){f.setData(n);var b=mxUtils.bind(this, +function(){f.save(!0,mxUtils.bind(this,function(b){this.spinner.stop();this.hideDialog(!0);h||this.libraryLoaded(f,d);null!=m&&m()}),p)});if(a!=f.getTitle()){var e=f.getHash();f.rename(a,mxUtils.bind(this,function(a){f.constructor!=LocalLibrary&&e!=f.getHash()&&(mxSettings.removeCustomLibrary(e),mxSettings.addCustomLibrary(f.getHash()));this.removeLibrarySidebar(e);b()}),p)}else b()}}; +App.prototype.saveFile=function(a){var d=this.getCurrentFile();if(null!=d){var f=mxUtils.bind(this,function(){this.removeDraft();d.getMode()!=App.MODE_DEVICE?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))):this.editor.setStatus("")});if(a||null==d.getTitle()||null==this.mode){var c=null!=d.getTitle()?d.getTitle():this.defaultFilename,g=!mxClient.IS_IOS||!navigator.standalone,h=this.mode;a=this.getServiceCount(!0);isLocalStorage&&a++;var m=4>=a?2:6<a?4:3,c=new CreateDialog(this, +c,mxUtils.bind(this,function(a,c){null!=a&&0<a.length&&(null==h&&c==App.MODE_DEVICE?(this.setMode(App.MODE_DEVICE),this.save(a,f)):"download"==c?(new LocalFile(this,null,a)).save():"_blank"==c?(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(this.getFileData(!0)),this.openLink(this.getUrl(window.location.pathname))):h!=c?this.pickFolder(c,mxUtils.bind(this,function(b){this.createFile(a,this.getFileData(/(\.xml)$/i.test(a)||0>a.indexOf("."),/(\.svg)$/i.test(a), +/(\.html)$/i.test(a)),null,c,f,null==this.mode,b)}),c!==App.MODE_GITHUB):null!=c&&this.save(a,f))}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),null,null,g,this.isOffline()?null:"https://desk.draw.io/support/solutions/articles/16000042485",!0,m);this.showDialog(c.container,460,a>m?390:270,!0,!0);c.init()}else this.save(d.getTitle(),f)}}; +EditorUi.prototype.loadTemplate=function(a,d,f){var c=a;this.isCorsEnabledForUrl(c)||(c="t="+(new Date).getTime(),c=PROXY_URL+"?url="+encodeURIComponent(a)+"&"+c);this.loadUrl(c,mxUtils.bind(this,function(c){/(\.vsdx)($|\?)/i.test(a)?this.importVisio(this.base64ToBlob(c.substring(c.indexOf(",")+1)),function(a){d(a)},f,a):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,a)?this.parseFile(new Blob([c],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&& +200<=a.status&&299>=a.status&&"<mxGraphModel"==a.responseText.substring(0,13)&&d(a.responseText)}),a):'{"state":"{\\"Properties\\":'==c.substring(0,26)?this.importLucidChart(c,0,0,!1,mxUtils.bind(this,function(){d(this.getFileData(!0))})):(/(\.png)($|\?)/i.test(a)&&(c=this.extractGraphModelFromPng(c)),d(c))}),f,/(\.png)($|\?)/i.test(a)||/(\.vsdx)($|\?)/i.test(a))}; App.prototype.getPeerForMode=function(a){return a==App.MODE_GOOGLE?this.drive:a==App.MODE_GITHUB?this.gitHub:a==App.MODE_DROPBOX?this.dropbox:a==App.MODE_ONEDRIVE?this.oneDrive:a==App.MODE_TRELLO?this.trello:null}; -App.prototype.createFile=function(a,f,d,c,g,h,m,n){c=n?null:null!=c?c:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){f=null!=f?f:this.emptyDiagramXml;var p=mxUtils.bind(this,function(){this.spinner.stop()}),b=mxUtils.bind(this,function(b){p();null==b&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=b&&this.handleError(b)});c==App.MODE_GOOGLE&&null!=this.drive?(m=null!=this.stateArg?this.stateArg.folderId:m,this.drive.insertFile(a,f,m,mxUtils.bind(this, -function(b){p();this.fileCreated(b,d,h,g)}),b)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(a,f,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,h,g)}),b,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,f,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,h,g)}),b,!1,m):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,f,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,h,g)}),b): -c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,f,mxUtils.bind(this,function(b){p();this.fileCreated(b,d,h,g)}),b,!1,m):c==App.MODE_BROWSER?(p(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,f,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(c,d,h,g)}),b)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(p(),this.fileCreated(new LocalFile(this, -f,a,null==c),d,h,g))}}; -App.prototype.fileCreated=function(a,f,d,c){var g=window.location.pathname;null!=f&&0<f.length&&(g+="?libs="+f);g=this.getUrl(g);a.getMode()!=App.MODE_DEVICE&&(g+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var h=a.getData(),h=0<h.length?this.editor.extractGraphModel(mxUtils.parseXml(h).documentElement,!0):null,m=window.location.protocol+"//"+window.location.hostname+g,n=h,p=null;null!=h&&/\.svg$/i.test(a.getTitle())&&(p=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(p.container), -n=this.decodeNodeIntoGraph(n,p));a.setData(this.createFileData(h,p,a,m));null!=p&&p.container.parentNode.removeChild(p.container);var b=mxUtils.bind(this,function(){this.spinner.stop()}),e=mxUtils.bind(this,function(){b();var e=this.getCurrentFile();null==d&&null!=e&&(d=!e.isModified()&&null==e.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);d&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=f&&this.sidebar.showEntries(f)}), -m=mxUtils.bind(this,function(){d||null==e||!e.isModified()?h():this.confirm(mxResources.get("allChangesLost"),null,h,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==d||d?m():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=c&&c(),window.openWindow(g,null,m))});a.constructor==LocalFile||a.constructor==DriveFile?e():a.saveFile(a.getTitle(),!1,mxUtils.bind(this, +App.prototype.createFile=function(a,d,f,c,g,h,m,n){c=n?null:null!=c?c:this.mode;if(null!=a&&this.spinner.spin(document.body,mxResources.get("inserting"))){d=null!=d?d:this.emptyDiagramXml;var p=mxUtils.bind(this,function(){this.spinner.stop()}),b=mxUtils.bind(this,function(b){p();null==b&&null==this.getCurrentFile()&&null==this.dialog?this.showSplash():null!=b&&this.handleError(b)});c==App.MODE_GOOGLE&&null!=this.drive?(m=null!=this.stateArg?this.stateArg.folderId:m,this.drive.insertFile(a,d,m,mxUtils.bind(this, +function(b){p();this.fileCreated(b,f,h,g)}),b)):c==App.MODE_GITHUB&&null!=this.gitHub?this.pickFolder(c,mxUtils.bind(this,function(c){this.gitHub.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,f,h,g)}),b,!1,c)})):c==App.MODE_TRELLO&&null!=this.trello?this.trello.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,f,h,g)}),b,!1,m):c==App.MODE_DROPBOX&&null!=this.dropbox?this.dropbox.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,f,h,g)}),b): +c==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.insertFile(a,d,mxUtils.bind(this,function(b){p();this.fileCreated(b,f,h,g)}),b,!1,m):c==App.MODE_BROWSER?(p(),c=mxUtils.bind(this,function(){var c=new StorageFile(this,d,a);c.saveFile(a,!1,mxUtils.bind(this,function(){this.fileCreated(c,f,h,g)}),b)}),null==localStorage.getItem(a)?c():this.confirm(mxResources.get("replaceIt",[a]),c,mxUtils.bind(this,function(){null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))):(p(),this.fileCreated(new LocalFile(this, +d,a,null==c),f,h,g))}}; +App.prototype.fileCreated=function(a,d,f,c){var g=window.location.pathname;null!=d&&0<d.length&&(g+="?libs="+d);g=this.getUrl(g);a.getMode()!=App.MODE_DEVICE&&(g+="#"+a.getHash());if(this.spinner.spin(document.body,mxResources.get("inserting"))){var h=a.getData(),h=0<h.length?this.editor.extractGraphModel(mxUtils.parseXml(h).documentElement,!0):null,m=window.location.protocol+"//"+window.location.hostname+g,n=h,p=null;null!=h&&/\.svg$/i.test(a.getTitle())&&(p=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(p.container), +n=this.decodeNodeIntoGraph(n,p));a.setData(this.createFileData(h,p,a,m));null!=p&&p.container.parentNode.removeChild(p.container);var b=mxUtils.bind(this,function(){this.spinner.stop()}),e=mxUtils.bind(this,function(){b();var e=this.getCurrentFile();null==f&&null!=e&&(f=!e.isModified()&&null==e.getMode());var h=mxUtils.bind(this,function(){window.openFile=null;this.fileLoaded(a);f&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved")));null!=d&&this.sidebar.showEntries(d)}), +m=mxUtils.bind(this,function(){f||null==e||!e.isModified()?h():this.confirm(mxResources.get("allChangesLost"),null,h,mxResources.get("cancel"),mxResources.get("discardChanges"))});null!=c&&c();null==f||f?m():(a.constructor==LocalFile&&(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a.getData(),a.getTitle(),null==a.getMode())),null!=c&&c(),window.openWindow(g,null,m))});a.constructor==LocalFile||a.constructor==DriveFile?e():a.saveFile(a.getTitle(),!1,mxUtils.bind(this, function(){e()}),mxUtils.bind(this,function(a){b();this.handleError(a)}))}}; -App.prototype.loadFile=function(a,f,d,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var g=localStorage.getItem(a);if(null!=g)this.fileLoaded(new StorageFile(this,g,a)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(b){this.handleError(b, -mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}));else if(null!=d)this.spinner.stop(),this.fileLoaded(d),null!=c&&c();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))), +App.prototype.loadFile=function(a,d,f,c){this.hideDialog();var g=mxUtils.bind(this,function(){if(null==a||0==a.length)this.editor.setStatus(""),this.fileLoaded(null);else if(this.spinner.spin(document.body,mxResources.get("loading")))if("L"==a.charAt(0))if(this.spinner.stop(),isLocalStorage)try{a=decodeURIComponent(a.substring(1));var g=localStorage.getItem(a);if(null!=g)this.fileLoaded(new StorageFile(this,g,a)),null!=c&&c();else throw{message:mxResources.get("fileNotFound")};}catch(b){this.handleError(b, +mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}))}else this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""}));else if(null!=f)this.spinner.stop(),this.fileLoaded(f),null!=c&&c();else if("S"==a.charAt(0)){this.spinner.stop();try{this.loadDescriptor(JSON.parse(this.editor.graph.decompress(a.substring(1))), c,mxUtils.bind(this,function(b){this.handleError(b,mxResources.get("errorLoadingFile"))}))}catch(b){this.handleError(b,mxResources.get("errorLoadingFile"))}}else if("R"==a.charAt(0))this.spinner.stop(),g=decodeURIComponent(a.substring(1)),"<"!=g.charAt(0)&&(g=this.editor.graph.decompress(g)),g=new LocalFile(this,g,null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0),g.getHash=function(){return a},this.fileLoaded(g),null!=c&&c();else if("U"==a.charAt(0)){var h=decodeURIComponent(a.substring(1)); -this.loadTemplate(h,mxUtils.bind(this,function(b){this.spinner.stop();if(null!=b&&0<b.length){var d=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var g=h,m=h.lastIndexOf("."),n=g.lastIndexOf("/");m>n&&0<n&&(g=g.substring(n+1,m),m=h.substring(m),this.useCanvasForExport||".png"!=m||(m=".xml"),".svg"===m||".xml"===m||".html"===m||".png"===m)&&(d=g+m)}b=new LocalFile(this,b,null!=urlParams.title?decodeURIComponent(urlParams.title):d,!0);b.getHash=function(){return a};this.fileLoaded(b)|| -"https://drive.google.com/uc?id="!=h.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),b=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+h.substring(31,h.lastIndexOf("&")),f,c),!0):!1}),!b()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",b))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g= +this.loadTemplate(h,mxUtils.bind(this,function(b){this.spinner.stop();if(null!=b&&0<b.length){var e=this.defaultFilename;if(null==urlParams.title&&"1"!=urlParams.notitle){var f=h,g=h.lastIndexOf("."),m=f.lastIndexOf("/");g>m&&0<m&&(f=f.substring(m+1,g),g=h.substring(g),this.useCanvasForExport||".png"!=g||(g=".xml"),".svg"===g||".xml"===g||".html"===g||".png"===g)&&(e=f+g)}b=new LocalFile(this,b,null!=urlParams.title?decodeURIComponent(urlParams.title):e,!0);b.getHash=function(){return a};this.fileLoaded(b)|| +"https://drive.google.com/uc?id="!=h.substring(0,31)||null==this.drive&&"function"!==typeof window.DriveClient||(this.hideDialog(),b=mxUtils.bind(this,function(){return null!=this.drive?(this.spinner.stop(),this.loadFile("G"+h.substring(31,h.lastIndexOf("&")),d,c),!0):!1}),!b()&&this.spinner.spin(document.body,mxResources.get("loading"))&&this.addListener("clientLoaded",b))}}),mxUtils.bind(this,function(){this.spinner.stop();this.handleError({message:mxResources.get("fileNotFound")},mxResources.get("errorLoadingFile"))}))}else g= null,"G"==a.charAt(0)?g=this.drive:"D"==a.charAt(0)?g=this.dropbox:"W"==a.charAt(0)?g=this.oneDrive:"H"==a.charAt(0)?g=this.gitHub:"T"==a.charAt(0)&&(g=this.trello),null==g?this.handleError({message:mxResources.get("serviceUnavailableOrBlocked")},mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){var b=this.getCurrentFile();window.location.hash=null!=b?b.getHash():""})):(a=decodeURIComponent(a.substring(1)),g.getFile(a,mxUtils.bind(this,function(b){this.spinner.stop();this.fileLoaded(b); null!=c&&c()}),mxUtils.bind(this,function(b){null!=window.console&&null!=b&&console.log("error in loadFile:",a,b);this.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null,mxUtils.bind(this,function(){var b=this.getCurrentFile();null==b?(window.location.hash="",this.showSplash()):window.location.hash=b.getHash()}))})))}),h=this.getCurrentFile(),m=mxUtils.bind(this,function(){null!=h&&h.isModified()?this.confirm(mxResources.get("allChangesLost"),mxUtils.bind(this,function(){null!=h&&(window.location.hash= -h.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==a||0==a.length?m():null!=h&&h.isModified()&&!f?window.openWindow(this.getUrl()+"#"+a,null,m):m()}; -App.prototype.getLibraryStorageHint=function(a){var f=a.getTitle();a.constructor!=LocalLibrary&&(f+="\n"+a.getHash());a.constructor==DriveLibrary?f+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?f+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?f+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?f+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?f+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?f+=" ("+ -mxResources.get("browser")+")":a.constructor==LocalLibrary&&(f+=" ("+mxResources.get("device")+")");return f}; -App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),f=mxUtils.bind(this,function(d,c){var f=0,h=[],m=mxUtils.bind(this,function(){if(0==f){if(null!=d)for(var b=d.length-1;0<=b;b--)null!=h[b]&&this.loadLibrary(h[b]);null!=c&&c()}});if(null!=d)for(var n=0;n<d.length;n++){var p=encodeURIComponent(decodeURIComponent(d[n]));mxUtils.bind(this, +h.getHash())}),g,mxResources.get("cancel"),mxResources.get("discardChanges")):g()});null==a||0==a.length?m():null!=h&&h.isModified()&&!d?window.openWindow(this.getUrl()+"#"+a,null,m):m()}; +App.prototype.getLibraryStorageHint=function(a){var d=a.getTitle();a.constructor!=LocalLibrary&&(d+="\n"+a.getHash());a.constructor==DriveLibrary?d+=" ("+mxResources.get("googleDrive")+")":a.constructor==GitHubLibrary?d+=" ("+mxResources.get("github")+")":a.constructor==TrelloLibrary?d+=" ("+mxResources.get("trello")+")":a.constructor==DropboxLibrary?d+=" ("+mxResources.get("dropbox")+")":a.constructor==OneDriveLibrary?d+=" ("+mxResources.get("oneDrive")+")":a.constructor==StorageLibrary?d+=" ("+ +mxResources.get("browser")+")":a.constructor==LocalLibrary&&(d+=" ("+mxResources.get("device")+")");return d}; +App.prototype.restoreLibraries=function(){if(null!=this.sidebar){null==this.pendingLibraries&&(this.pendingLibraries={});var a=mxUtils.bind(this,function(a){mxSettings.removeCustomLibrary(a);delete this.pendingLibraries[a]}),d=mxUtils.bind(this,function(d,c){var f=0,h=[],m=mxUtils.bind(this,function(){if(0==f){if(null!=d)for(var b=d.length-1;0<=b;b--)null!=h[b]&&this.loadLibrary(h[b]);null!=c&&c()}});if(null!=d)for(var n=0;n<d.length;n++){var p=encodeURIComponent(decodeURIComponent(d[n]));mxUtils.bind(this, function(b,c){if(null!=b&&0<b.length&&null==this.pendingLibraries[b]&&null==this.sidebar.palettes[b]){f++;var d=mxUtils.bind(this,function(a){delete this.pendingLibraries[b];h[c]=a;f--;m()}),e=mxUtils.bind(this,function(){a(b);f--;m()});this.pendingLibraries[b]=!0;var g=b.substring(0,1);if("L"==g)(isLocalStorage||mxClient.IS_CHROMEAPP)&&window.setTimeout(mxUtils.bind(this,function(){try{var a=decodeURIComponent(b.substring(1));this.getLocalData(a,mxUtils.bind(this,function(b){".scratchpad"==a&&null== -b&&(b=this.emptyLibraryXml);null!=b?d(new StorageLibrary(this,b,a)):e()}))}catch(B){e()}}),0);else if("U"==g){var n=decodeURIComponent(b.substring(1));if(!this.isOffline()){g=n;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus())try{d(new UrlLibrary(this,b.getText(),n))}catch(B){e()}else e()}),function(){e()})}catch(x){e()}}}else{var p=null;"G"==g?null!= -this.drive&&null!=this.drive.user&&(p=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(p=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(p=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(p=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(p=this.oneDrive);null!=p?p.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(b){try{d(b)}catch(B){e()}}),function(b){e()}):(delete this.pendingLibraries[b], -e())}}})(p,n)}m()});f(mxSettings.getCustomLibraries(),function(){f((urlParams.clibs||"").split(";"))})}}; +b&&(b=this.emptyLibraryXml);null!=b?d(new StorageLibrary(this,b,a)):e()}))}catch(A){e()}}),0);else if("U"==g){var n=decodeURIComponent(b.substring(1));if(!this.isOffline()){g=n;this.isCorsEnabledForUrl(g)||(g="t="+(new Date).getTime(),g=PROXY_URL+"?url="+encodeURIComponent(n)+"&"+g);try{mxUtils.get(g,mxUtils.bind(this,function(b){if(200<=b.getStatus()&&299>=b.getStatus())try{d(new UrlLibrary(this,b.getText(),n))}catch(A){e()}else e()}),function(){e()})}catch(x){e()}}}else{var p=null;"G"==g?null!= +this.drive&&null!=this.drive.user&&(p=this.drive):"H"==g?null!=this.gitHub&&null!=this.gitHub.getUser()&&(p=this.gitHub):"T"==g?null!=this.trello&&this.trello.isAuthorized()&&(p=this.trello):"D"==g?null!=this.dropbox&&null!=this.dropbox.getUser()&&(p=this.dropbox):"W"==g&&null!=this.oneDrive&&null!=this.oneDrive.getUser()&&(p=this.oneDrive);null!=p?p.getLibrary(decodeURIComponent(b.substring(1)),mxUtils.bind(this,function(b){try{d(b)}catch(A){e()}}),function(b){e()}):(delete this.pendingLibraries[b], +e())}}})(p,n)}m()});d(mxSettings.getCustomLibraries(),function(){d((urlParams.clibs||"").split(";"))})}}; App.prototype.updateButtonContainer=function(){if(null!=this.buttonContainer){var a=this.getCurrentFile();null!=a&&a.constructor==DriveFile?null==this.shareButton&&(this.shareButton=document.createElement("div"),this.shareButton.className="geBtn gePrimaryBtn",this.shareButton.style.display="inline-block",this.shareButton.style.padding="0 10px 0 10px",this.shareButton.style.marginTop="-4px",this.shareButton.style.height="28px",this.shareButton.style.lineHeight="28px",this.shareButton.style.minWidth= "0px",this.shareButton.style.cssFloat="right",a=document.createElement("img"),a.setAttribute("src",this.shareImage),a.setAttribute("align","absmiddle"),a.style.marginRight="4px",a.style.marginTop="-3px",this.shareButton.appendChild(a),mxUtils.write(this.shareButton,mxResources.get("share")),mxEvent.addListener(this.shareButton,"click",mxUtils.bind(this,function(){this.actions.get("share").funct()})),this.buttonContainer.appendChild(this.shareButton)):null!=this.shareButton&&(this.shareButton.parentNode.removeChild(this.shareButton), this.shareButton=null)}}; -App.prototype.save=function(a,f){var d=this.getCurrentFile(),c=mxResources.get("saving");null!=d&&d.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=d&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(a){this.spinner.stop();this.getCurrentFile()==d&&(d.isModified()?d.isAutosave()||d.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!= -f&&f()}),g=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==d.getTitle()?d.save(!0,c,g):d.saveAs(a,c,g)}}; -App.prototype.pickFolder=function(a,f,d){d=null!=d?d:!0;var c=this.spinner.pause();d&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var d=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(d=a.docs[0].id);f(d)}})):d&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=a.value[0].id,f(a))})):d&&a==App.MODE_GITHUB&& -null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();f(a)})):d&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();f(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)}; -App.prototype.exportFile=function(a,f,d,c,g,h){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(f,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):g==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(f,a,h,mxUtils.bind(this,function(a){this.spinner.stop()}), -mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),d,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(f,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,h):g==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(f,a,mxUtils.bind(this, -function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!0,h,c):g==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(f,c?this.base64ToBlob(a,d):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,h):g==App.MODE_BROWSER&&(d=mxUtils.bind(this,function(){localStorage.setItem(f,a)}),null==localStorage.getItem(f)? -d():this.confirm(mxResources.get("replaceIt",[f]),d))}; -App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var f=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,f);this.fname.setAttribute("title",f+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash= -""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var f=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),f,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}}; -App.prototype.showAuthDialog=function(a,f,d,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,a,f,mxUtils.bind(this,function(a){try{null!=d&&d(a,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(m){this.editor.setStatus(mxUtils.htmlEntities(m.message))}}))).container,300,f?180:140,!0,!0,mxUtils.bind(this,function(a){null!=c&&c();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))}; -App.prototype.convertFile=function(a,f,d,c,g,h){var m=f;/\.svg$/i.test(m)||(m=m.substring(0,f.lastIndexOf("."))+c);var n=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(n=!0);if(/\.vsdx?$/i.test(f)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var p=new XMLHttpRequest;p.open("GET",a,!0);n||(p.responseType="blob");p.onload=mxUtils.bind(this,function(){var b=null;n?(b=JSON.parse(p.responseText),b=this.base64ToBlob(b.content, -"application/octet-stream")):b=new Blob([p.response],{type:"application/octet-stream"});this.importVisio(b,mxUtils.bind(this,function(b){g(new LocalFile(this,b,m,!0))}),h,f)});p.send()}else{var b=mxUtils.bind(this,function(b){try{/\.png$/i.test(f)?(temp=this.extractGraphModelFromPng(b),null!=temp?g(new LocalFile(this,temp,m,!0)):g(new LocalFile(this,b,f,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}), -mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?g(new LocalFile(this,b.responseText,m,!0)):null!=h&&h({message:mxResources.get("errorLoadingFile")}))}),f):g(new LocalFile(this,b,m,!0))}catch(l){null!=h&&h(l)}});d=/\.png$/i.test(f)||/\.jpe?g$/i.test(f)||null!=d&&"image/"==d.substring(0,6);n?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(f)? -"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));b(c)}}else null!=h&&h({code:App.ERROR_UNKNOWN})}),function(){null!=h&&h({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=h&&h({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,b,h,d)}}; +App.prototype.save=function(a,d){var f=this.getCurrentFile(),c=mxResources.get("saving");null!=f&&f.constructor==DriveFile&&(c=mxResources.get("createRevision"));if(null!=f&&this.spinner.spin(document.body,c)){this.editor.setStatus("");this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var c=mxUtils.bind(this,function(a){this.spinner.stop();this.getCurrentFile()==f&&(f.isModified()?f.isAutosave()||f.addUnsavedStatus():this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("allChangesSaved"))));null!= +d&&d()}),g=mxUtils.bind(this,function(a){this.handleError(a,null!=a?mxResources.get("errorSavingFile"):null)});a==f.getTitle()?f.save(!0,c,g):f.saveAs(a,c,g)}}; +App.prototype.pickFolder=function(a,d,f){f=null!=f?f:!0;var c=this.spinner.pause();f&&a==App.MODE_GOOGLE&&null!=this.drive?this.drive.pickFolder(mxUtils.bind(this,function(a){c();if(a.action==google.picker.Action.PICKED){var f=null;null!=a.docs&&0<a.docs.length&&"folder"==a.docs[0].type&&(f=a.docs[0].id);d(f)}})):f&&a==App.MODE_ONEDRIVE&&null!=this.oneDrive?this.oneDrive.pickFolder(mxUtils.bind(this,function(a){c();null!=a&&null!=a.value&&0<a.value.length&&(a=a.value[0].id,d(a))})):f&&a==App.MODE_GITHUB&& +null!=this.gitHub?this.gitHub.pickFolder(mxUtils.bind(this,function(a){c();d(a)})):f&&a==App.MODE_TRELLO&&null!=this.trello?this.trello.pickFolder(mxUtils.bind(this,function(a){c();d(a)})):EditorUi.prototype.pickFolder.apply(this,arguments)}; +App.prototype.exportFile=function(a,d,f,c,g,h){g==App.MODE_DROPBOX?null!=this.dropbox&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.dropbox.insertFile(d,c?this.base64ToBlob(a,f):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)})):g==App.MODE_GOOGLE?null!=this.drive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.drive.insertFile(d,a,h,mxUtils.bind(this,function(a){this.spinner.stop()}), +mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),f,c,!1):g==App.MODE_ONEDRIVE?null!=this.oneDrive&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.oneDrive.insertFile(d,c?this.base64ToBlob(a,f):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,h):g==App.MODE_GITHUB?null!=this.gitHub&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.gitHub.insertFile(d,a,mxUtils.bind(this, +function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!0,h,c):g==App.MODE_TRELLO?null!=this.trello&&this.spinner.spin(document.body,mxResources.get("saving"))&&this.trello.insertFile(d,c?this.base64ToBlob(a,f):a,mxUtils.bind(this,function(){this.spinner.stop()}),mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),!1,h):g==App.MODE_BROWSER&&(f=mxUtils.bind(this,function(){localStorage.setItem(d,a)}),null==localStorage.getItem(d)? +f():this.confirm(mxResources.get("replaceIt",[d]),f))}; +App.prototype.descriptorChanged=function(){var a=this.getCurrentFile();if(null!=a){if(null!=this.fname){this.fnameWrapper.style.display="block";this.fname.innerHTML="";var d=null!=a.getTitle()?a.getTitle():this.defaultFilename;mxUtils.write(this.fname,d);this.fname.setAttribute("title",d+" - "+mxResources.get("rename"))}this.editor.graph.setEnabled(a.isEditable());null==urlParams.rev&&(this.updateDocumentTitle(),a=a.getHash(),0<a.length?window.location.hash=a:0<window.location.hash.length&&(window.location.hash= +""))}};App.prototype.toggleChat=function(){var a=this.getCurrentFile();if(null!=a){if(null==a.chatWindow){var d=document.body.offsetWidth-300;a.chatWindow=new ChatWindow(this,mxResources.get("chatWindowTitle"),document.getElementById("geChat"),d,80,250,350,a.realtime);a.chatWindow.window.setVisible(!1)}a.chatWindow.window.setVisible(!a.chatWindow.window.isVisible())}}; +App.prototype.showAuthDialog=function(a,d,f,c){var g=this.spinner.pause();this.showDialog((new AuthDialog(this,a,d,mxUtils.bind(this,function(a){try{null!=f&&f(a,mxUtils.bind(this,function(){this.hideDialog();g()}))}catch(m){this.editor.setStatus(mxUtils.htmlEntities(m.message))}}))).container,300,d?180:140,!0,!0,mxUtils.bind(this,function(a){null!=c&&c();a&&null==this.getCurrentFile()&&null==this.dialog&&this.showSplash()}))}; +App.prototype.convertFile=function(a,d,f,c,g,h){var m=d;/\.svg$/i.test(m)||(m=m.substring(0,d.lastIndexOf("."))+c);var n=!1;null!=this.gitHub&&a.substring(0,this.gitHub.baseUrl.length)==this.gitHub.baseUrl&&(n=!0);if(/\.vsdx?$/i.test(d)&&Graph.fileSupport&&(new XMLHttpRequest).upload&&"string"===typeof(new XMLHttpRequest).responseType){var p=new XMLHttpRequest;p.open("GET",a,!0);n||(p.responseType="blob");p.onload=mxUtils.bind(this,function(){var b=null;n?(b=JSON.parse(p.responseText),b=this.base64ToBlob(b.content, +"application/octet-stream")):b=new Blob([p.response],{type:"application/octet-stream"});this.importVisio(b,mxUtils.bind(this,function(b){g(new LocalFile(this,b,m,!0))}),h,d)});p.send()}else{var b=mxUtils.bind(this,function(b){try{/\.png$/i.test(d)?(temp=this.extractGraphModelFromPng(b),null!=temp?g(new LocalFile(this,temp,m,!0)):g(new LocalFile(this,b,d,!0))):Graph.fileSupport&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(b,a)?this.parseFile(new Blob([b],{type:"application/octet-stream"}), +mxUtils.bind(this,function(b){4==b.readyState&&(200<=b.status&&299>=b.status?g(new LocalFile(this,b.responseText,m,!0)):null!=h&&h({message:mxResources.get("errorLoadingFile")}))}),d):g(new LocalFile(this,b,m,!0))}catch(l){null!=h&&h(l)}});f=/\.png$/i.test(d)||/\.jpe?g$/i.test(d)||null!=f&&"image/"==f.substring(0,6);n?mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=g){a=JSON.parse(a.getText());var c=a.content;"base64"===a.encoding&&(c=/\.png$/i.test(d)? +"data:image/png;base64,"+c:!window.atob||mxClient.IS_IE||mxClient.IS_IE11?Base64.decode(c):atob(c));b(c)}}else null!=h&&h({code:App.ERROR_UNKNOWN})}),function(){null!=h&&h({code:App.ERROR_UNKNOWN})},!1,this.timeout,function(){null!=h&&h({code:App.ERROR_TIMEOUT,retry:fn})}):this.loadUrl(a,b,h,f)}}; App.prototype.updateHeader=function(){if(null!=this.menubar){this.appIcon=document.createElement("a");this.appIcon.style.display="block";this.appIcon.style.position="absolute";this.appIcon.style.width="40px";this.appIcon.style.backgroundColor="#f18808";this.appIcon.style.height=this.menubarHeight+"px";mxEvent.disableContextMenu(this.appIcon);mxEvent.addListener(this.appIcon,"click",mxUtils.bind(this,function(a){this.appIconClicked(a)}));var a=mxClient.IS_SVG?"url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMzA2LjE4NSAxMjAuMjk2IgogICB2aWV3Qm94PSIyNCAyNiA2OCA2OCIKICAgeT0iMHB4IgogICB4PSIwcHgiCiAgIHZlcnNpb249IjEuMSI+CiAgIAkgPGc+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNDEuMDYxIgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjkiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTUyOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGxpbmUKICAgICAgIHkyPSI3Mi4zOTQiCiAgICAgICB4Mj0iNzUuMDc2IgogICAgICAgeTE9IjQzLjM4NCIKICAgICAgIHgxPSI1OC4wNjgiCiAgICAgICBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiCiAgICAgICBzdHJva2Utd2lkdGg9IjMuNTAwOCIKICAgICAgIHN0cm9rZT0iI0ZGRkZGRiIKICAgICAgIGZpbGw9Im5vbmUiIC8+PGc+PHBhdGgKICAgICAgICAgZD0iTTUyLjc3Myw3Ny4wODRjMCwxLjk1NC0xLjU5OSwzLjU1My0zLjU1MywzLjU1M0gzNi45OTljLTEuOTU0LDAtMy41NTMtMS41OTktMy41NTMtMy41NTN2LTkuMzc5ICAgIGMwLTEuOTU0LDEuNTk5LTMuNTUzLDMuNTUzLTMuNTUzaDEyLjIyMmMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjc3LjA4NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnCiAgICAgICBpZD0iZzM0MTkiPjxwYXRoCiAgICAgICAgIGQ9Ik02Ny43NjIsNDguMDc0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINTEuOTg4Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M0g2NC4yMWMxLjk1NCwwLDMuNTUzLDEuNTk5LDMuNTUzLDMuNTUzVjQ4LjA3NHoiCiAgICAgICAgIGZpbGw9IiNGRkZGRkYiIC8+PC9nPjxnPjxwYXRoCiAgICAgICAgIGQ9Ik04Mi43NTIsNzcuMDg0YzAsMS45NTQtMS41OTksMy41NTMtMy41NTMsMy41NTNINjYuOTc3Yy0xLjk1NCwwLTMuNTUzLTEuNTk5LTMuNTUzLTMuNTUzdi05LjM3OSAgICBjMC0xLjk1NCwxLjU5OS0zLjU1MywzLjU1My0zLjU1M2gxMi4yMjJjMS45NTQsMCwzLjU1MywxLjU5OSwzLjU1MywzLjU1M1Y3Ny4wODR6IgogICAgICAgICBmaWxsPSIjRkZGRkZGIiAvPjwvZz48L2c+PC9zdmc+)": "url('"+IMAGE_PATH+"/logo-white.png')";this.appIcon.style.backgroundImage=a;this.appIcon.style.backgroundPosition="center center";this.appIcon.style.backgroundRepeat="no-repeat";mxUtils.setPrefixedStyle(this.appIcon.style,"transition","all 125ms linear");mxEvent.addListener(this.appIcon,"mouseover",mxUtils.bind(this,function(){var a=this.getCurrentFile();null!=a&&(a=a.getMode(),a==App.MODE_GOOGLE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/google-drive-logo-white.svg)":a==App.MODE_DROPBOX? this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)":a==App.MODE_ONEDRIVE?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/onedrive-logo-white.svg)":a==App.MODE_GITHUB?this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/github-logo-white.svg)":a==App.MODE_TRELLO&&(this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/trello-logo-white-orange.svg)"))}));mxEvent.addListener(this.appIcon,"mouseout",mxUtils.bind(this,function(){this.appIcon.style.backgroundImage=a})); @@ -7634,10 +7667,10 @@ this.appIcon.style.backgroundImage="url("+IMAGE_PATH+"/dropbox-logo-white.svg)": "javascript:void(0);");this.fname.setAttribute("title",mxResources.get("rename"));this.fname.className="geItem";this.fname.style.padding="2px 8px 2px 8px";this.fname.style.display="inline";this.fname.style.fontSize="18px";this.fname.style.whiteSpace="nowrap";mxEvent.addListener(this.fname,"click",mxUtils.bind(this,function(a){var c=this.getCurrentFile();null!=c&&c.isRenamable()&&this.actions.get("rename").funct();mxEvent.consume(a)}));this.fnameWrapper.appendChild(this.fname);"1"!=urlParams.embed&& (this.menubarContainer.appendChild(this.fnameWrapper),this.menubar.container.style.position="absolute",this.menubar.container.style.paddingLeft="52px",this.menubar.container.style.boxSizing="border-box",this.menubar.container.style.top="29px",this.toolbar.container.style.paddingLeft="56px");this.toggleFormatElement=document.createElement("a");this.toggleFormatElement.setAttribute("href","javascript:void(0);");this.toggleFormatElement.setAttribute("title",mxResources.get("formatPanel")+" ("+Editor.ctrlKey+ "+Shift+P)");this.toggleFormatElement.style.position="absolute";this.toggleFormatElement.style.display="inline-block";this.toggleFormatElement.style.top="5px";this.toggleFormatElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"26px":"10px";this.toggleFormatElement.style.padding="2px";this.toggleFormatElement.style.fontSize="14px";this.toggleFormatElement.className="atlas"!=uiTheme?"geButton":"";this.toggleFormatElement.style.width="16px";this.toggleFormatElement.style.height="16px";this.toggleFormatElement.style.backgroundPosition= -"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(a){this.actions.get("formatPanel").funct();mxEvent.consume(a)}));var f=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+ -"')"});this.addListener("formatWidthChanged",f);f();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding= -"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var d=this.hsplitPosition,c=!1;"dark"==uiTheme&& -(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(a){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?d:0;this.hideFooter();c=!c;mxEvent.consume(a)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top= +"50% 50%";this.toggleFormatElement.style.backgroundRepeat="no-repeat";this.toolbarContainer.appendChild(this.toggleFormatElement);"dark"==uiTheme&&(this.toggleFormatElement.style.filter="invert(100%)");mxEvent.addListener(this.toggleFormatElement,"click",mxUtils.bind(this,function(a){this.actions.get("formatPanel").funct();mxEvent.consume(a)}));var d=mxUtils.bind(this,function(){this.toggleFormatElement.style.backgroundImage=0<this.formatWidth?"url('"+this.formatShowImage+"')":"url('"+this.formatHideImage+ +"')"});this.addListener("formatWidthChanged",d);d();this.fullscreenElement=document.createElement("a");this.fullscreenElement.setAttribute("href","javascript:void(0);");this.fullscreenElement.setAttribute("title",mxResources.get("fullscreen"));this.fullscreenElement.style.position="absolute";this.fullscreenElement.style.display="inline-block";this.fullscreenElement.style.top="5px";this.fullscreenElement.style.right="atlas"!=uiTheme&&"1"!=urlParams.embed?"42px":"26px";this.fullscreenElement.style.padding= +"2px";this.fullscreenElement.style.fontSize="14px";this.fullscreenElement.className="atlas"!=uiTheme?"geButton":"";this.fullscreenElement.style.width="16px";this.fullscreenElement.style.height="16px";this.fullscreenElement.style.backgroundPosition="50% 50%";this.fullscreenElement.style.backgroundRepeat="no-repeat";this.fullscreenElement.style.backgroundImage="url('"+this.fullscreenImage+"')";this.toolbarContainer.appendChild(this.fullscreenElement);var f=this.hsplitPosition,c=!1;"dark"==uiTheme&& +(this.fullscreenElement.style.filter="invert(100%)");mxEvent.addListener(this.fullscreenElement,"click",mxUtils.bind(this,function(a){"atlas"!=uiTheme&&"1"!=urlParams.embed&&this.toggleCompactMode(!c);this.toggleFormatPanel(!c);this.hsplitPosition=c?f:0;this.hideFooter();c=!c;mxEvent.consume(a)}));"atlas"==uiTheme&&(mxUtils.setOpacity(this.toggleFormatElement,70),mxUtils.setOpacity(this.fullscreenElement,70),this.toggleFormatElement.style.right="6px",this.fullscreenElement.style.right="22px",this.toggleFormatElement.style.top= "8px",this.fullscreenElement.style.top="8px");"1"!=urlParams.embed&&(this.toggleElement=document.createElement("a"),this.toggleElement.setAttribute("href","javascript:void(0);"),this.toggleElement.setAttribute("title",mxResources.get("collapseExpand")),this.toggleElement.className="geButton",this.toggleElement.style.position="absolute",this.toggleElement.style.display="inline-block",this.toggleElement.style.width="16px",this.toggleElement.style.height="16px",this.toggleElement.style.color="#666", this.toggleElement.style.top="5px",this.toggleElement.style.right="10px",this.toggleElement.style.padding="2px",this.toggleElement.style.fontSize="14px",this.toggleElement.style.textDecoration="none",this.toggleElement.style.backgroundImage="url('"+this.chevronUpImage+"')",this.toggleElement.style.backgroundPosition="50% 50%",this.toggleElement.style.backgroundRepeat="no-repeat","dark"==uiTheme&&(this.toggleElement.style.filter="invert(100%)"),mxEvent.addListener(this.toggleElement,"click",mxUtils.bind(this, function(a){this.toggleCompactMode();mxEvent.consume(a)})),"atlas"!=uiTheme&&this.toolbarContainer.appendChild(this.toggleElement),740>=screen.height&&"undefined"!==typeof this.toggleElement.click&&window.setTimeout(mxUtils.bind(this,function(){this.toggleElement.click()}),0))}}; @@ -7659,66 +7692,66 @@ a.isModified()?this.confirm(mxResources.get("allChangesLost"),null,c,mxResources null,c,mxResources.get("cancel"),mxResources.get("discardChanges")):c()}else this.trello.logout()}),mxResources.get("trello"));c||(d=document.createElement("div"),d.style.textAlign="center",d.style.padding="20px 20px 10px 10px",d.innerHTML=mxResources.get("notConnected"),this.userPanel.appendChild(d));document.body.appendChild(this.userPanel)}mxEvent.consume(a)})),mxEvent.addListener(document.body,"click",mxUtils.bind(this,function(a){mxEvent.isConsumed(a)||null==this.userPanel||null==this.userPanel.parentNode|| this.userPanel.parentNode.removeChild(this.userPanel)})));var a=null;null!=this.drive&&null!=this.drive.getUser()?a=this.drive.getUser():null!=this.oneDrive&&null!=this.oneDrive.getUser()?a=this.oneDrive.getUser():null!=this.dropbox&&null!=this.dropbox.getUser()?a=this.dropbox.getUser():null!=this.gitHub&&null!=this.gitHub.getUser()&&(a=this.gitHub.getUser());null!=a?(this.userElement.innerHTML="",560<screen.width&&(mxUtils.write(this.userElement,a.displayName),this.userElement.style.display="block")): this.userElement.style.display="none"}else null!=this.userElement&&(this.userElement.parentNode.removeChild(this.userElement),this.userElement=null)};var editorResetGraph=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){editorResetGraph.apply(this,arguments);this.graph.pageFormat=mxSettings.getPageFormat()};(function(){var a=mxPopupMenu.prototype.showMenu;mxPopupMenu.prototype.showMenu=function(){a.apply(this,arguments);this.div.style.overflowY="auto";this.div.style.overflowX="hidden";this.div.style.maxHeight=Math.max(document.body.clientHeight,document.documentElement.clientHeight)-10+"px"};Menus.prototype.createHelpLink=function(a){var c=document.createElement("span");c.setAttribute("title",mxResources.get("help"));c.style.cssText="color:blue;text-decoration:underline;margin-left:12px;cursor:help;"; -var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);c.appendChild(d);mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(c)}));return c};Menus.prototype.addLinkToItem=function(a,d){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(d))};var f=Menus.prototype.init;Menus.prototype.init=function(){f.apply(this, -arguments);var a=this.editorUi,d=a.editor.graph,h=mxUtils.bind(d,d.isEnabled),m=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),n=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),p=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname|| +var d=document.createElement("img");d.setAttribute("border","0");d.setAttribute("valign","bottom");d.setAttribute("src",Editor.helpImage);c.appendChild(d);mxEvent.addGestureListeners(c,mxUtils.bind(this,function(c){null!=this.editorUi.menubar&&this.editorUi.menubar.hideMenu();this.editorUi.openLink(a);mxEvent.consume(c)}));return c};Menus.prototype.addLinkToItem=function(a,d){null!=a&&a.firstChild.nextSibling.appendChild(this.createHelpLink(d))};var d=Menus.prototype.init;Menus.prototype.init=function(){d.apply(this, +arguments);var a=this.editorUi,f=a.editor.graph,h=mxUtils.bind(f,f.isEnabled),m=("1"!=urlParams.embed&&"0"!=urlParams.gapi||"1"==urlParams.embed&&"1"==urlParams.gapi)&&mxClient.IS_SVG&&isLocalStorage&&(null==document.documentMode||10<=document.documentMode),n=("1"!=urlParams.embed&&"0"!=urlParams.db||"1"==urlParams.embed&&"1"==urlParams.db)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode),p=("www.draw.io"==window.location.hostname||"test.draw.io"==window.location.hostname|| "drive.draw.io"==window.location.hostname||"legacy.draw.io"==window.location.hostname)&&("1"!=urlParams.embed&&"0"!=urlParams.od||"1"==urlParams.embed&&"1"==urlParams.od)&&!navigator.userAgent.match(/(iPad|iPhone|iPod)/g)&&(0>navigator.userAgent.indexOf("MSIE")||10<=document.documentMode),b=("1"!=urlParams.embed&&"0"!=urlParams.tr||"1"==urlParams.embed&&"1"==urlParams.tr)&&mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode);mxClient.IS_SVG||a.isOffline()||((new Image).src=IMAGE_PATH+ "/help.png");a.actions.addAction("new...",function(){var b=a.isOffline(),c=new NewDialog(a,b);a.showDialog(c.container,b?350:620,b?70:440,!0,!0,function(b){b&&null==a.getCurrentFile()&&a.showSplash()});c.init()});a.actions.put("exportSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showExportDialog(mxResources.get("formatSvg"),!0,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,l,m){b=parseInt(b);!isNaN(b)&&0<b&& -a.exportSvg(b/100,c,d,e,f,g,h,!l,m)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=null==a.pages||1>=a.pages.length,e=document.createElement("h3");mxUtils.write(e,mxResources.get("formatXml"));e.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(e);var f=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),g=a.addCheckbox(b, -mxResources.get(c?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(f,"change",function(){f.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",c?!g.checked:null,null,!f.checked,c?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"), +a.exportSvg(b/100,c,d,e,f,g,h,!l,m)}),!0,null,"svg")}));a.actions.put("exportXml",new Action(mxResources.get("formatXml")+"...",function(){var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=null==a.pages||1>=a.pages.length,d=document.createElement("h3");mxUtils.write(d,mxResources.get("formatXml"));d.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(d);var e=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),g=a.addCheckbox(b, +mxResources.get(c?"compressed":"allPages"),!0);g.style.marginBottom="16px";mxEvent.addListener(e,"change",function(){e.checked?g.setAttribute("disabled","disabled"):g.removeAttribute("disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("xml",c?!g.checked:null,null,!e.checked,c?null:!g.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}));a.actions.put("exportUrl",new Action(mxResources.get("url")+"...",function(){a.showPublishLinkDialog(mxResources.get("url"), !0,null,null,function(b,c,d,e,f,g){b=new EmbedDialog(a,a.createLink(b,c,d,e,f,g,null,!0));a.showDialog(b.container,440,240,!0,!0);b.init()})}));a.actions.put("exportHtml",new Action(mxResources.get("formatHtmlEmbedded")+"...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("export"),null,b,function(b,c,d,e,f,k,g,h,l,m){a.createHtml(b,c,d,e,f,k,g,h,l,m,mxUtils.bind(this,function(b,c){var d= a.getBaseFilename(g),e='\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n<!DOCTYPE html>\n<html>\n<head>\n<title>'+mxUtils.htmlEntities(d)+'</title>\n<meta charset="utf-8"/>\n</head>\n<body>'+b+"\n"+c+"\n</body>\n</html>";a.saveData(d+".html","html",e,"text/html")}))})})}));a.actions.put("exportPdf",new Action(mxResources.get("formatPdf")+"...",function(){if(a.isOffline()||a.printPdfExport)a.showDialog((new PrintDialog(a,mxResources.get("formatPdf"))).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxResources.get("formatPdf"));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(c);var e=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,d.isSelectionEmpty()),f=a.addCheckbox(b,mxResources.get("crop"),!d.pageVisible||!a.pdfPageExport,!a.pdfPageExport);f.style.marginBottom="16px";a.pdfPageExport|| -mxEvent.addListener(e,"change",function(){e.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!e.checked,null,!f.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"), -null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});a.actions.addAction("editShape...",mxUtils.bind(this,function(){d.getSelectionCells();if(1==d.getSelectionCount()){var b=d.getSelectionCell(),c=d.view.getState(b);null!=c&&null!=c.shape&&null!=c.shape.stencil&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",function(){var b=a.getCurrentFile();if(null==b||b.constructor!= +360,null!=a.pages&&1<a.pages.length?420:360,!0,!0);else{var b=document.createElement("div");b.style.whiteSpace="nowrap";var c=document.createElement("h3");mxUtils.write(c,mxResources.get("formatPdf"));c.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";b.appendChild(c);var d=a.addCheckbox(b,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),e=a.addCheckbox(b,mxResources.get("crop"),!f.pageVisible||!a.pdfPageExport,!a.pdfPageExport);e.style.marginBottom="16px";a.pdfPageExport|| +mxEvent.addListener(d,"change",function(){d.checked?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")});b=new CustomDialog(a,b,mxUtils.bind(this,function(){a.downloadFile("pdf",null,null,!d.checked,null,!e.checked)}),null,mxResources.get("export"));a.showDialog(b.container,300,146,!0,!0)}}));a.actions.addAction("open...",function(){a.pickFile()});a.actions.addAction("close",function(){function b(){a.fileLoaded(null)}var c=a.getCurrentFile();null!=c&&c.isModified()?a.confirm(mxResources.get("allChangesLost"), +null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()});a.actions.addAction("editShape...",mxUtils.bind(this,function(){f.getSelectionCells();if(1==f.getSelectionCount()){var b=f.getSelectionCell(),c=f.view.getState(b);null!=c&&null!=c.shape&&null!=c.shape.stencil&&(b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400),a.showDialog(b.container,640,480,!0,!1),b.init())}}));a.actions.addAction("revisionHistory...",function(){var b=a.getCurrentFile();if(null==b||b.constructor!= DriveFile&&b.constructor!=DropboxFile||null==a.drive&&b.constructor==DriveFile||null==a.dropbox&&b.constructor==DropboxFile)a.showError(mxResources.get("error"),mxResources.get("notAvailable"),mxResources.get("ok"));else if(a.spinner.spin(document.body,mxResources.get("loading")))if(b.constructor==DropboxFile){var c=a.dropbox.client.filesListRevisions({path:b.stat.path_lower,limit:100});c.then(mxUtils.bind(this,function(c){a.spinner.stop();try{for(var d=[],e=c.entries.length-1;0<=e;e--)(function(c){d.push({modifiedDate:c.client_modified, fileSize:c.size,getXml:function(d,e){a.dropbox.readFile({path:b.stat.path_lower,rev:c.rev},d,e)},getUrl:function(){return a.getUrl(window.location.pathname+"?rev="+c.rev+"&chrome=0&edit=_blank")+window.location.hash}})})(c.entries[e]);var f=new RevisionDialog(a,d);a.showDialog(f.container,640,480,!0,!0);f.init()}catch(z){a.handleError(z)}}));c["catch"](function(b){a.spinner.stop();a.handleError(b)})}else a.drive.executeRequest(gapi.client.drive.revisions.list({fileId:b.getId()}),function(c){a.spinner.stop(); for(var d=0;d<c.items.length;d++)(function(d){d.getXml=function(e,f){a.drive.executeRequest(gapi.client.drive.revisions.get({fileId:b.getId(),revisionId:c.items[c.items.length-1]===d?b.desc.headRevisionId:d.id}),function(b){a.drive.getXmlFile(b,null,function(a){e(a.getData())},function(a){f(a)})},function(a){f(a)})};d.getUrl=function(){return a.getUrl(window.location.pathname+"?rev="+d.id+"&chrome=0&edit=_blank")+window.location.hash}})(c.items[d]);d=new RevisionDialog(a,c.items);a.showDialog(d.container, 640,480,!0,!0);d.init()},function(b){a.spinner.stop();a.handleError(b)})});a.actions.addAction("createRevision",function(){a.actions.get("save").funct()},null,null,Editor.ctrlKey+"+S");a.actions.addAction("upload...",function(){var b=a.getCurrentFile();null!=b&&(window.drawdata=a.getFileData(),b=null!=b.getTitle()?b.getTitle():a.defaultFilename,a.openLink(window.location.protocol+"//"+window.location.host+"/?create=drawdata&"+(a.mode==App.MODE_DROPBOX?"mode=dropbox&":"")+"title="+encodeURIComponent(b)))}); -if("undefined"!==typeof MathJax){var e=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();d.model.execute(b)});e.setToggleAction(!0);e.setSelectedCallback(function(){return a.isMathEnabled()});e.isEnabled=h}isLocalStorage&&(e=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),e.setToggleAction(!0),e.setSelectedCallback(function(){return mxSettings.getShowStartScreen()})); -var l=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});l.setToggleAction(!0);l.setSelectedCallback(function(){return l.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=d.getSelectionCells(),c=[],e=0;e<b.length;e++)d.getModel().isVertex(b[e])&&c.push(b[e]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var u="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" "); -a.actions.addAction("copyStyle",function(){var b=d.view.getState(d.getSelectionCell());if(d.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=d.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var e=b[c],f=e.indexOf("=");if(0<=f){var g=e.substring(0,f),e=e.substring(f+1);null==a.copiedStyle[g]&&"none"==e&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(d.isEnabled()&&!d.isSelectionEmpty()&& -null!=a.copiedStyle){d.getModel().beginUpdate();try{for(var b=d.getSelectionCells(),c=0;c<b.length;c++)for(var e=d.view.getState(b[c]),f=0;f<u.length;f++){var g=u[f],h=a.copiedStyle[g];e.style[g]!=h&&d.setCellStyles(g,h,[b[c]])}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container, +if("undefined"!==typeof MathJax){var e=a.actions.addAction("mathematicalTypesetting",function(){var b=new ChangePageSetup(a);b.ignoreColor=!0;b.ignoreImage=!0;b.mathEnabled=!a.isMathEnabled();f.model.execute(b)});e.setToggleAction(!0);e.setSelectedCallback(function(){return a.isMathEnabled()});e.isEnabled=h}isLocalStorage&&(e=a.actions.addAction("showStartScreen",function(){mxSettings.setShowStartScreen(!mxSettings.getShowStartScreen());mxSettings.save()}),e.setToggleAction(!0),e.setSelectedCallback(function(){return mxSettings.getShowStartScreen()})); +var l=a.actions.addAction("autosave",function(){a.editor.setAutosave(!a.editor.autosave)});l.setToggleAction(!0);l.setSelectedCallback(function(){return l.isEnabled()&&a.editor.autosave});a.actions.addAction("editGeometry...",function(){for(var b=f.getSelectionCells(),c=[],d=0;d<b.length;d++)f.getModel().isVertex(b[d])&&c.push(b[d]);0<c.length&&(b=new EditGeometryDialog(a,c),a.showDialog(b.container,180,180,!0,!0),b.init())},null,null,Editor.ctrlKey+"+Shift+M");var q="rounded shadow dashed dashPattern fontFamily fontSize fontColor fontStyle align verticalAlign strokeColor strokeWidth fillColor gradientColor swimlaneFillColor textOpacity gradientDirection glass labelBackgroundColor labelBorderColor opacity spacing spacingTop spacingLeft spacingBottom spacingRight endFill endArrow endSize startStill startArrow startSize arcSize".split(" "); +a.actions.addAction("copyStyle",function(){var b=f.view.getState(f.getSelectionCell());if(f.isEnabled()&&null!=b){a.copiedStyle=mxUtils.clone(b.style);for(var b=f.getModel().getStyle(b.cell),b=null!=b?b.split(";"):[],c=0;c<b.length;c++){var d=b[c],e=d.indexOf("=");if(0<=e){var g=d.substring(0,e),d=d.substring(e+1);null==a.copiedStyle[g]&&"none"==d&&(a.copiedStyle[g]="none")}}}},null,null,Editor.ctrlKey+"+Shift+C");a.actions.addAction("pasteStyle",function(){if(f.isEnabled()&&!f.isSelectionEmpty()&& +null!=a.copiedStyle){f.getModel().beginUpdate();try{for(var b=f.getSelectionCells(),c=0;c<b.length;c++)for(var d=f.view.getState(b[c]),e=0;e<q.length;e++){var g=q[e],h=a.copiedStyle[g];d.style[g]!=h&&f.setCellStyles(g,h,[b[c]])}}finally{f.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+V");a.actions.put("pageBackgroundImage",new Action(mxResources.get("backgroundImage")+"...",function(){if(!a.isOffline()){var b=new BackgroundImageDialog(a,function(b){a.setBackgroundImage(b)});a.showDialog(b.container, 320,170,!0,!0);b.init()}}));a.actions.put("exportPng",new Action(mxResources.get("formatPng")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,l,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,c,d,e,f,h,!l,m)}),!0,!1,"png"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this, function(b,c,d){a.downloadFile(c?"xmlpng":"png",null,null,b,null,null,d)}))}));a.actions.put("exportJpg",new Action(mxResources.get("formatJpg")+"...",function(){a.isExportToCanvas()?a.showExportDialog(mxResources.get("image"),!1,mxResources.get("export"),"https://support.draw.io/display/DO/Exporting+Files",mxUtils.bind(this,function(b,c,d,e,f,g,h,l,m){b=parseInt(b);!isNaN(b)&&0<b&&a.exportImage(b/100,!1,d,e,!1,h,!l,!1,"jpeg")}),!0,!1,"jpeg"):a.isOffline()||mxClient.IS_IOS&&navigator.standalone|| -a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));e=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){d.setShadowVisible(!d.shadowVisible)}));e.setToggleAction(!0);e.setSelectedCallback(function(){return d.shadowVisible});var q=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){q||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){q=!1}), -q=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp? +a.showRemoteExportDialog(mxResources.get("export"),null,mxUtils.bind(this,function(b,c){a.downloadFile("jpeg",null,null,b)}),!0)}));e=a.actions.put("shadowVisible",new Action(mxResources.get("shadow"),function(){f.setShadowVisible(!f.shadowVisible)}));e.setToggleAction(!0);e.setSelectedCallback(function(){return f.shadowVisible});var u=!1;a.actions.put("about",new Action(mxResources.get("aboutDrawio")+"...",function(){u||(a.showDialog((new AboutDialog(a)).container,220,300,!0,!0,function(){u=!1}), +u=!0)},null,null,"F1"));a.actions.addAction("userManual...",function(){a.openLink("https://support.draw.io/display/DO/Draw.io+Online+User+Manual")});a.actions.addAction("support...",function(){a.openLink("https://about.draw.io/support/")});a.actions.addAction("exportOptionsDisabled...",function(){a.handleError({message:mxResources.get("exportOptionsDisabledDetails")},mxResources.get("exportOptionsDisabled"))});a.actions.addAction("keyboardShortcuts...",function(){mxClient.IS_CHROMEAPP||EditorUi.isElectronApp? a.openLink("https://www.draw.io/shortcuts.svg"):mxClient.IS_SVG?a.openLink("shortcuts.svg"):a.openLink("https://www.draw.io/?lightbox=1#Uhttps%3A%2F%2Fwww.draw.io%2Fshortcuts.svg")});a.actions.addAction("feedback...",function(){var b=new FeedbackDialog(a);a.showDialog(b.container,610,360,!0,!0);b.init()});a.actions.addAction("quickStart...",function(){a.openLink("https://www.youtube.com/watch?v=Z0D96ZikMkc")});e=a.actions.addAction("tags...",mxUtils.bind(this,function(){null==this.tagsWindow?(this.tagsWindow= new TagsWindow(a,document.body.offsetWidth-380,230,300,120),this.tagsWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("tags"))}),this.tagsWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("tags"))):this.tagsWindow.window.setVisible(!this.tagsWindow.window.isVisible())}));e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.tagsWindow&& this.tagsWindow.window.isVisible()}));e=a.actions.addAction("find...",mxUtils.bind(this,function(){null==this.findWindow?(this.findWindow=new FindWindow(a,document.body.offsetWidth-300,110,240,140),this.findWindow.window.addListener("show",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.addListener("hide",function(){a.fireEvent(new mxEventObject("find"))}),this.findWindow.window.setVisible(!0),a.fireEvent(new mxEventObject("find"))):this.findWindow.window.setVisible(!this.findWindow.window.isVisible())})); e.setToggleAction(!0);e.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.findWindow&&this.findWindow.window.isVisible()}));a.actions.put("exportVsdx",new Action(mxResources.get("formatVsdx")+" (beta)...",function(){a.exportVisio()}));if(mxClient.IS_CHROMEAPP||isLocalStorage&&"1"!=urlParams.offline)if(this.put("language",new Menu(mxUtils.bind(this,function(b,c){var d=mxUtils.bind(this,function(d){var e=""==d?mxResources.get("automatic"):mxLanguageMap[d],f=null;""!=e&&(f=b.addItem(e, null,mxUtils.bind(this,function(){mxSettings.setLanguage(d);mxSettings.save();mxClient.language=d;mxResources.loadDefaultBundle=!1;mxResources.add(RESOURCE_BASE);a.alert(mxResources.get("restartForChangeRequired"))}),c),(d==mxLanguage||""==d&&null==mxLanguage)&&b.addCheckmark(f,Editor.checkmarkImage));return f});d("");b.addSeparator(c);for(var e in mxLanguageMap)d(e)}))),"atlas"!=uiTheme){var t=Menus.prototype.createMenubar;Menus.prototype.createMenubar=function(a){var b=t.apply(this,arguments);if(null!= b){var c=this.get("language");null!=c&&(c=b.addMenu("",c.funct),c.setAttribute("title",mxResources.get("language")),c.style.width="16px",c.style.paddingTop="2px",c.style.paddingLeft="4px",c.innerHTML='<div class="geIcon geSprite geSprite-globe"/>',c.style.zIndex="1",c.style.position="absolute",c.style.top="2px",c.style.right="17px",c.style.display="block",mxClient.IS_VML||mxUtils.setOpacity(c,60),document.body.appendChild(c))}return b}}this.put("help",new Menu(mxUtils.bind(this,function(b,c){if(!mxClient.IS_CHROMEAPP&& -a.isOffline())this.addMenuItems(b,["about"],c);else{var e=b.addItem("Search:",null,null,c,null,null,!1);e.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";e.style.cursor="default";var f=document.createElement("input");f.setAttribute("type","text");f.setAttribute("size","25");f.style.marginLeft="8px";mxEvent.addListener(f,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(f.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://desk.draw.io/support/search/solutions?term="+ -encodeURIComponent(b)),f.value="",this.editorUi.logEvent({category:"Help",action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(f.value="")}));e.firstChild.nextSibling.appendChild(f);mxEvent.addGestureListeners(f,function(a){document.activeElement!=f&&f.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){f.focus()},0);this.addMenuItems(b, +a.isOffline())this.addMenuItems(b,["about"],c);else{var d=b.addItem("Search:",null,null,c,null,null,!1);d.style.backgroundColor="dark"==uiTheme?"#505759":"whiteSmoke";d.style.cursor="default";var e=document.createElement("input");e.setAttribute("type","text");e.setAttribute("size","25");e.style.marginLeft="8px";mxEvent.addListener(e,"keydown",mxUtils.bind(this,function(a){var b=mxUtils.trim(e.value);13==a.keyCode&&0<b.length?(this.editorUi.openLink("https://desk.draw.io/support/search/solutions?term="+ +encodeURIComponent(b)),e.value="",this.editorUi.logEvent({category:"Help",action:"search",label:b}),null!=this.editorUi.menubar&&window.setTimeout(mxUtils.bind(this,function(){this.editorUi.menubar.hideMenu()}),0)):27==a.keyCode&&(e.value="")}));d.firstChild.nextSibling.appendChild(e);mxEvent.addGestureListeners(e,function(a){document.activeElement!=e&&e.focus();mxEvent.consume(a)},function(a){mxEvent.consume(a)},function(a){mxEvent.consume(a)});window.setTimeout(function(){e.focus()},0);this.addMenuItems(b, ["-","quickStart","userManual","keyboardShortcuts","-"],c);mxClient.IS_CHROMEAPP||this.addMenuItems(b,["feedback"],c);this.addMenuItems(b,["support","-"],c);a.isOffline()||navigator.standalone||"1"==urlParams.embed||this.addMenuItems(b,["download"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItems(b,["offline"],c);this.addMenuItems(b,["-","about"],c)}"1"==urlParams.ruler&&(mxResources.parse("rulerInch=Ruler unit: Inches"),this.editorUi.actions.addAction("rulerInch",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.INCHES); this.editorUi.hRuler.setUnit(mxRuler.prototype.INCHES);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerCM=Ruler unit: CMs"),this.editorUi.actions.addAction("rulerCM",mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.hRuler.setUnit(mxRuler.prototype.CENTIMETER);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),mxResources.parse("rulerPixel=Ruler unit: Pixels"),this.editorUi.actions.addAction("rulerPixel", -mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(b,["-","rulerInch","rulerCM","rulerPixel"],c));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=d.getGraphBounds(),b=d.view.translate,e=d.view.scale;d.insertVertex(c, -null,"",a.x/e-b.x,a.y/e-b.y,a.width/e,a.height/e,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){d.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+d.compress(mxUtils.getXml(d.encodeCells(d.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(b,["-","createSidebarEntry","showBoundingBox"],c),mxResources.parse("testXmlImageExport=XML Image Export"), -this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=d.getGraphBounds(),c=d.view.scale,e=mxUtils.createXmlDocument(),f=e.createElement("output");e.appendChild(f);e=new mxXmlCanvas2D(f);e.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));e.scale(1/c);var k=0,g=e.save;e.save=function(){k++;g.apply(this,arguments)};var h=e.restore;e.restore=function(){k--;h.apply(this,arguments)};var l=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape", -a,k);l.apply(this,arguments);mxLog.debug("leaving shape",a,k)};a.drawState(d.getView().getState(d.model.root),e);mxLog.show();mxLog.debug(mxUtils.getXml(f));mxLog.debug("stateCounter",k)})),this.addMenuItems(b,["testXmlImageExport"],c),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&& +mxUtils.bind(this,function(){this.editorUi.vRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.hRuler.setUnit(mxRuler.prototype.PIXELS);this.editorUi.vRuler.drawRuler(!0);this.editorUi.hRuler.drawRuler(!0)})),this.addMenuItems(b,["-","rulerInch","rulerCM","rulerPixel"],c));"1"==urlParams.test&&(mxResources.parse("showBoundingBox=Show bounding box"),this.editorUi.actions.addAction("showBoundingBox",mxUtils.bind(this,function(){var a=f.getGraphBounds(),b=f.view.translate,d=f.view.scale;f.insertVertex(c, +null,"",a.x/d-b.x,a.y/d-b.y,a.width/d,a.height/d,"fillColor=none;strokeColor=red;")})),mxResources.parse("createSidebarEntry=Create sidebar entry"),this.editorUi.actions.addAction("createSidebarEntry",mxUtils.bind(this,function(){f.isSelectionEmpty()||(mxLog.show(),mxLog.debug("sb.createVertexTemplateFromData('"+f.compress(mxUtils.getXml(f.encodeCells(f.getSelectionCells())))+"', width, height, 'Title');"))})),this.addMenuItems(b,["-","createSidebarEntry","showBoundingBox"],c),mxResources.parse("testXmlImageExport=XML Image Export"), +this.editorUi.actions.addAction("testXmlImageExport",mxUtils.bind(this,function(){var a=new mxImageExport,b=f.getGraphBounds(),c=f.view.scale,d=mxUtils.createXmlDocument(),e=d.createElement("output");d.appendChild(e);d=new mxXmlCanvas2D(e);d.translate(Math.floor((1-b.x)/c),Math.floor((1-b.y)/c));d.scale(1/c);var k=0,g=d.save;d.save=function(){k++;g.apply(this,arguments)};var h=d.restore;d.restore=function(){k--;h.apply(this,arguments)};var l=a.drawShape;a.drawShape=function(a){mxLog.debug("entering shape", +a,k);l.apply(this,arguments);mxLog.debug("leaving shape",a,k)};a.drawState(f.getView().getState(f.model.root),d);mxLog.show();mxLog.debug(mxUtils.getXml(e));mxLog.debug("stateCounter",k)})),this.addMenuItems(b,["testXmlImageExport"],c),mxResources.parse("testShowRtModel=Show RT model"),mxResources.parse("testDebugRtModel=Debug RT model"),mxResources.parse("testDownloadRtModel=Download RT model"),this.editorUi.actions.addAction("testShowRtModel",mxUtils.bind(this,function(){null!=this.editorUi.getCurrentFile()&& null!=this.editorUi.getCurrentFile().realtime&&(console.log("bytesUsed",this.editorUi.getCurrentFile().realtime.rtModel.bytesUsed),console.log("root",this.editorUi.getCurrentFile().realtime.dumpRoot()),this.editorUi.getCurrentFile().realtime.check())})),this.editorUi.actions.addAction("testDebugRtModel",mxUtils.bind(this,function(){gapi.drive.realtime.debug()})),this.editorUi.actions.addAction("testDownloadRtModel",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();null!=b&&null!=b.realtime&& a.spinner.spin(document.body,mxResources.get("export"))&&(b=new mxXmlRequest("https://www.googleapis.com/drive/v2/files/"+b.getHash().substring(1)+"/realtime",null,"GET"),b.setRequestHeaders=function(a){mxXmlRequest.prototype.setRequestHeaders.apply(this,arguments);var b=gapi.auth.getToken().access_token;a.setRequestHeader("authorization","Bearer "+b)},b.send(function(b){a.spinner.stop();200<=b.getStatus()&&299>=b.getStatus()&&a.saveLocalFile(b.getText(),"realtime.txt","text/plain")}))})),null!=this.editorUi.getCurrentFile()&& null!=this.editorUi.getCurrentFile().realtime&&this.addMenuItems(b,["-","testShowRtModel","testDebugRtModel","testDownloadRtModel"],c),mxResources.parse("testShowConsole=Show Console"),this.editorUi.actions.addAction("testShowConsole",function(){mxLog.isVisible()?mxLog.window.fit():mxLog.show();mxLog.window.div.style.zIndex=mxPopupMenu.prototype.zIndex-1}),this.addMenuItems(b,["-","testShowConsole"]))})));a.actions.addAction("shapes...",function(){mxClient.IS_CHROMEAPP||!a.isOffline()?a.showDialog((new MoreShapesDialog(a, -!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(d.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle);b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+ +!0)).container,640,isLocalStorage?mxClient.IS_IOS?480:460:440,!0,!0):a.showDialog((new MoreShapesDialog(a,!1)).container,360,isLocalStorage?mxClient.IS_IOS?300:280:260,!0,!0)});a.actions.addAction("createShape...",function(){a.getCurrentFile();if(f.isEnabled()){var b=new mxCell("",new mxGeometry(0,0,120,120),a.defaultCustomShapeStyle);b.vertex=!0;b=new EditShapeDialog(a,b,mxResources.get("editShape")+":",630,400);a.showDialog(b.container,640,480,!0,!1);b.init()}});a.actions.put("embedHtml",new Action(mxResources.get("html")+ "...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();a.showHtmlDialog(mxResources.get("create"),"https://desk.draw.io/support/solutions/articles/16000042542",b,function(b,c,d,e,f,k,g,h,l,m){a.createHtml(b,c,d,e,f,k,g,h,l,m,mxUtils.bind(this,function(b,c){var d=new EmbedDialog(a,b+"\n"+c,null,null,function(){var a=window.open(),d=a.document;"CSS1Compat"===document.compatMode&&d.writeln("<!DOCTYPE html>");d.writeln("<html>"); d.writeln("<head><title>"+encodeURIComponent(mxResources.get("preview"))+'</title><meta charset="utf-8"></head>');d.writeln("<body>");d.writeln(b);var e=mxClient.IS_IE||mxClient.IS_EDGE||null!=document.documentMode;e&&d.writeln(c);d.writeln("</body>");d.writeln("</html>");d.close();if(!e){var f=a.document.createElement("div");f.marginLeft="26px";f.marginTop="26px";mxUtils.write(f,mxResources.get("updatingDocument"));e=a.document.createElement("img");e.setAttribute("src",window.location.protocol+"//"+ window.location.hostname+"/"+IMAGE_PATH+"/spin.gif");e.style.marginLeft="6px";f.appendChild(e);a.document.body.insertBefore(f,a.document.body.firstChild);window.setTimeout(function(){var a=document.createElement("script");a.type="text/javascript";a.src=/<script.*?src="(.*?)"/.exec(c)[1];d.body.appendChild(a);f.parentNode.removeChild(f)},20)}});a.showDialog(d.container,440,240,!0,!0);d.init()}))})})}));a.actions.put("liveImage",new Action("Live image...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&& a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();null!=b?(b=encodeURIComponent(b),b=new EmbedDialog(a,EXPORT_URL+"?format=png&url="+b,0),a.showDialog(b.container,440,240,!0,!0),b.init()):a.handleError({message:mxResources.get("invalidPublicUrl")})})}));a.actions.put("embedImage",new Action(mxResources.get("image")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedImage(b,c,d,e,f,g,function(b){a.spinner.stop(); b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0);b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("image"),mxResources.get("retina"),a.isExportToCanvas())}));a.actions.put("embedSvg",new Action(mxResources.get("formatSvg")+"...",function(){a.showEmbedImageDialog(function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.createEmbedSvg(b,c,d,e,f,g,function(b){a.spinner.stop();b=new EmbedDialog(a,b);a.showDialog(b.container,440,240,!0,!0); -b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var b=d.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((b.y+b.height-d.view.translate.y)/d.view.scale)+2,function(b,c,d,e,f,k,g,h){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(), +b.init()},function(b){a.spinner.stop();a.handleError(b)})},mxResources.get("formatSvg"),mxResources.get("image"),!0,"https://desk.draw.io/support/solutions/articles/16000042548")}));a.actions.put("embedIframe",new Action(mxResources.get("iframe")+"...",function(){var b=f.getGraphBounds();a.showPublishLinkDialog(mxResources.get("iframe"),null,"100%",Math.ceil((b.y+b.height-f.view.translate.y)/f.view.scale)+2,function(b,c,d,e,f,k,g,h){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(), function(l){a.spinner.stop();l=new EmbedDialog(a,'<iframe frameborder="0" style="width:'+g+";height:"+h+';" src="'+a.createLink(b,c,d,e,f,k,l)+'"></iframe>');a.showDialog(l.container,440,240,!0,!0);l.init()})},!0)}));a.actions.put("publishLink",new Action(mxResources.get("link")+"...",function(){a.showPublishLinkDialog(null,null,null,null,function(b,c,d,e,f,g){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(k){a.spinner.stop();k=new EmbedDialog(a, a.createLink(b,c,d,e,f,g,k));a.showDialog(k.container,440,240,!0,!0);k.init()})})}));a.actions.addAction("googleDocs...",function(){a.openLink("http://docsaddon.draw.io")});a.actions.addAction("googleSites...",function(){a.spinner.spin(document.body,mxResources.get("loading"))&&a.getPublicUrl(a.getCurrentFile(),function(b){a.spinner.stop();b=new GoogleSitesDialog(a,b);a.showDialog(b.container,420,256,!0,!0);b.init()})});if(isLocalStorage||mxClient.IS_CHROMEAPP)e=a.actions.addAction("scratchpad",function(){a.toggleScratchpad()}), e.setToggleAction(!0),e.setSelectedCallback(function(){return null!=a.scratchpad}),a.actions.addAction("plugins...",function(){a.showDialog((new PluginsDialog(a)).container,360,170,!0,!1)});e=a.actions.addAction("search",function(){var b=a.sidebar.isEntryVisible("search");a.sidebar.showPalette("search",!b);isLocalStorage&&(mxSettings.settings.search=!b,mxSettings.save())});e.setToggleAction(!0);e.setSelectedCallback(function(){return a.sidebar.isEntryVisible("search")});"1"==urlParams.embed&&(a.actions.get("save").funct= -function(b){d.isEditing()&&d.stopEditing();var c="0"!=urlParams.pages||null!=a.pages&&1<a.pages.length?a.getFileData(!0):mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var e=a.createLoadMessage("save");e.xml=c;b&&(e.exit=!0);c=JSON.stringify(e)}(window.opener||window.parent).postMessage(c,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""));null!=a.getCurrentFile()&&a.saveFile()},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}), +function(b){f.isEditing()&&f.stopEditing();var c="0"!=urlParams.pages||null!=a.pages&&1<a.pages.length?a.getFileData(!0):mxUtils.getXml(a.editor.getGraphXml());if("json"==urlParams.proto){var d=a.createLoadMessage("save");d.xml=c;b&&(d.exit=!0);c=JSON.stringify(d)}(window.opener||window.parent).postMessage(c,"*");"0"!=urlParams.modified&&"1"!=urlParams.keepmodified&&(a.editor.modified=!1,a.editor.setStatus(""));null!=a.getCurrentFile()&&a.saveFile()},a.actions.addAction("saveAndExit",function(){a.actions.get("save").funct(!0)}), a.actions.addAction("exit",function(){var b=function(){a.editor.modified=!1;var b="json"==urlParams.proto?JSON.stringify({event:"exit",modified:a.editor.modified}):"";(window.opener||window.parent).postMessage(b,"*")};a.editor.modified?a.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b()}));this.put("exportAs",new Menu(mxUtils.bind(this,function(b,c){a.isExportToCanvas()?(this.addMenuItems(b,["exportPng"],c),a.jpgSupported&&this.addMenuItems(b, ["exportJpg"],c)):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPng","exportJpg"],c);this.addMenuItems(b,["exportSvg","-"],c);a.isOffline()||a.printPdfExport?this.addMenuItems(b,["exportPdf"],c):a.isOffline()||mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["exportPdf"],c);mxClient.IS_IE11||mxClient.IS_IE||"undefined"===typeof VsdxExport&&a.isOffline()||this.addMenuItems(b,["exportVsdx"],c);this.addMenuItems(b,["-","exportHtml","exportXml","exportUrl"], -c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(c,e){function f(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=k(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())), -c="image/svg+xml");g(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var g=mxUtils.bind(this,function(b,c,e){var f=d.view,g=d.getGraphBounds(),k=d.snap(Math.ceil(Math.max(0,g.x/f.scale-f.translate.x)+4*d.gridSize)),h=d.snap(Math.ceil(Math.max(0,(g.y+g.height)/f.scale-f.translate.y)+4*d.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(f){var g=!0,l=mxUtils.bind(this,function(){a.resizeImage(f, -b,mxUtils.bind(this,function(f,l,m){f=g?Math.min(1,Math.min(a.maxImageSize/l,a.maxImageSize/m)):1;a.importFile(b,c,k,h,Math.round(l*f),Math.round(m*f),e,function(b){a.spinner.stop();d.setSelectionCells(b);d.scrollCellToVisible(d.getSelectionCell())})}),g)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){g=a;l()}):l()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,c,k,h,0,0,e,function(b){a.spinner.stop();d.setSelectionCells(b); -d.scrollCellToVisible(d.getSelectionCell())})}),k=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){f(a.drive)},e):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+ -"...",null,function(){f(a.gitHub)},e);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){f(a.dropbox)},e):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){f(a.oneDrive)},e):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null, -function(){f(a.trello)},e):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},e,null,!1);c.addSeparator(e);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},e);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},e);a.isOffline()||(c.addSeparator(e),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"), -function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){g(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},e))})).isEnabled=h;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"), +c);a.isOffline()||(b.addSeparator(c),this.addMenuItem(b,"export",c).firstChild.nextSibling.innerHTML=mxResources.get("advanced")+"...")})));this.editorUi.actions.addAction("chatWindowTitle...",mxUtils.bind(this.editorUi,this.editorUi.toggleChat));this.put("importFrom",new Menu(function(c,d){function e(b){b.pickFile(function(c){a.spinner.spin(document.body,mxResources.get("loading"))&&b.getFile(c,function(b){var c=g(b.getTitle());/\.svg$/i.test(b.getTitle())&&!a.editor.isDataSvg(b.getData())&&(b.setData(a.createSvgDataUri(b.getData())), +c="image/svg+xml");k(b.getData(),c,b.getTitle())},function(b){a.handleError(b,null!=b?mxResources.get("errorLoadingFile"):null)},b==a.drive)},!0)}var k=mxUtils.bind(this,function(b,c,d){var e=f.view,k=f.getGraphBounds(),g=f.snap(Math.ceil(Math.max(0,k.x/e.scale-e.translate.x)+4*f.gridSize)),h=f.snap(Math.ceil(Math.max(0,(k.y+k.height)/e.scale-e.translate.y)+4*f.gridSize));"data:image/"==b.substring(0,11)?a.loadImage(b,mxUtils.bind(this,function(e){var k=!0,l=mxUtils.bind(this,function(){a.resizeImage(e, +b,mxUtils.bind(this,function(e,l,m){e=k?Math.min(1,Math.min(a.maxImageSize/l,a.maxImageSize/m)):1;a.importFile(b,c,g,h,Math.round(l*e),Math.round(m*e),d,function(b){a.spinner.stop();f.setSelectionCells(b);f.scrollCellToVisible(f.getSelectionCell())})}),k)});b.length>a.resampleThreshold?a.confirmImageResize(function(a){k=a;l()}):l()}),mxUtils.bind(this,function(){a.handleError({message:mxResources.get("cannotOpenFile")})})):a.importFile(b,c,g,h,0,0,d,function(b){a.spinner.stop();f.setSelectionCells(b); +f.scrollCellToVisible(f.getSelectionCell())})}),g=mxUtils.bind(this,function(a){var b="text/xml";/\.png$/i.test(a)?b="image/png":/\.jpe?g$/i.test(a)?b="image/jpg":/\.gif$/i.test(a)&&(b="image/gif");return b});"undefined"!=typeof google&&"undefined"!=typeof google.picker&&(null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){e(a.drive)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1));null!=a.gitHub&&c.addItem(mxResources.get("github")+ +"...",null,function(){e(a.gitHub)},d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){e(a.dropbox)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){e(a.oneDrive)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null, +function(){e(a.trello)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.importLocalFile(!1)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.importLocalFile(!0)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("import"), +function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c=/(\.png)($|\?)/i.test(b)?"image/png":"text/xml";a.loadUrl(PROXY_URL+"?url="+encodeURIComponent(b),function(a){k(a,c,b)},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))},"image/png"==c)}},mxResources.get("url"));a.showDialog(b.container,300,80,!0,!0);b.init()},d))})).isEnabled=h;this.put("theme",new Menu(mxUtils.bind(this,function(b,c){var d=b.addItem(mxResources.get("kennedy"), null,function(){mxSettings.setUi("");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"!=uiTheme&&"dark"!=uiTheme&&"min"!=uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("minimal"),null,function(){mxSettings.setUi("min");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"min"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("atlas"),null,function(){mxSettings.setUi("atlas");mxSettings.save(); a.alert(mxResources.get("restartForChangeRequired"))},c);"atlas"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage);d=b.addItem(mxResources.get("dark"),null,function(){mxSettings.setUi("dark");mxSettings.save();a.alert(mxResources.get("restartForChangeRequired"))},c);"dark"==uiTheme&&b.addCheckmark(d,Editor.checkmarkImage)})));e=this.editorUi.actions.addAction("rename...",mxUtils.bind(this,function(){var b=this.editorUi.getCurrentFile();if(null!=b){var c=null!=b.getTitle()?b.getTitle():this.editorUi.defaultFilename, c=new FilenameDialog(this.editorUi,c,mxResources.get("rename"),mxUtils.bind(this,function(a){null!=a&&0<a.length&&null!=b&&this.editorUi.spinner.spin(document.body,mxResources.get("renaming"))&&b.rename(a,mxUtils.bind(this,function(a){this.editorUi.spinner.stop()}),mxUtils.bind(this,function(a){this.editorUi.handleError(a,null!=a?mxResources.get("errorRenamingFile"):null)}))}),b.constructor==DriveFile||b.constructor==StorageFile?mxResources.get("diagramName"):null,function(b){if(null!=b&&0<b.length)return!0; @@ -7727,11 +7760,11 @@ a.showError(mxResources.get("error"),mxResources.get("invalidName"),mxResources. function(b){a.handleError(b)})):this.editorUi.createFile(c,this.editorUi.getFileData(!0),null,d))}),mxUtils.bind(this,function(){a.hideDialog()}),mxResources.get("makeCopy"),mxResources.get("create"),null,null,null,null,!0),a.showDialog(c.container,420,380,!0,!0),c.init()):a.editor.editAsNew(this.editorUi.getFileData(!0),c)}}));a.actions.addAction("moveToFolder...",mxUtils.bind(this,function(){var b=a.getCurrentFile();b.getMode()!=App.MODE_GOOGLE&&b.getMode()!=App.MODE_ONEDRIVE||a.pickFolder(b.getMode(), mxUtils.bind(this,function(c){a.spinner.spin(document.body,mxResources.get("moving"))&&b.move(c,mxUtils.bind(this,function(b){a.spinner.stop()}),mxUtils.bind(this,function(b){a.handleError(b)}))}))}));this.put("publish",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,["publishLink"],b)})));a.actions.put("offline",new Action(mxResources.get("offline")+"...",function(){a.openLink("https://www.draw.io/app")}));a.actions.put("download",new Action(mxResources.get("download")+"...",function(){a.openLink("https://download.draw.io")})); this.editorUi.actions.addAction("share...",mxUtils.bind(this,function(){var a=this.editorUi.getCurrentFile();null!=a&&this.editorUi.drive.showPermissions(a.getId())}));this.put("embed",new Menu(mxUtils.bind(this,function(b,c){"1"==urlParams.test&&this.addMenuItems(b,["liveImage","-"],c);this.addMenuItems(b,["embedImage","embedSvg","-","embedHtml"],c);navigator.standalone||a.isOffline()||this.addMenuItems(b,["embedIframe"],c);a.isOffline()||this.addMenuItems(b,["-","googleSites","googleDocs"],c)}))); -var w=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},x=function(a,b,c,e){var f=d.isMouseInsertPoint()?d.getInsertPoint():d.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(f.x,f.y,b,c),e);a.vertex= -!0;d.getModel().beginUpdate();try{a=d.addCell(a),d.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{d.getModel().endUpdate()}d.scrollCellToVisible(a);d.setSelectionCell(a);d.container.focus();d.editAfterInsert&&d.startEditing(a);return a};a.actions.addAction("insertText",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&d.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}, -null,null,Editor.ctrlKey+"+Shift+X").isEnabled=h;a.actions.addAction("insertRectangle",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=h;a.actions.addAction("insertEllipse",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=h;a.actions.addAction("insertRhombus",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&& -x("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=h;var B=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):w(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);b.addSeparator(c);this.addSubmenu("insertLayout",b,c,mxResources.get("layout"));b.addSeparator(c);B(b,c,["fromText","plantUml", -"-","formatSql"]);b.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},c)})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){B(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+ +var w=function(b,c,d,e){("plantUml"!=e||EditorUi.enablePlantUml)&&b.addItem(d,null,mxUtils.bind(this,function(){if("fromText"==e||"formatSql"==e||"plantUml"==e){var b=new ParseDialog(a,d,e);a.showDialog(b.container,620,420,!0,!1);a.dialog.container.style.overflow="auto"}else b=new CreateGraphDialog(a,d,e),a.showDialog(b.container,620,420,!0,!1);b.init()}),c)},x=function(a,b,c,d){var e=f.isMouseInsertPoint()?f.getInsertPoint():f.getFreeInsertPoint();a=new mxCell(a,new mxGeometry(e.x,e.y,b,c),d);a.vertex= +!0;f.getModel().beginUpdate();try{a=f.addCell(a),f.fireEvent(new mxEventObject("cellsInserted","cells",[a]))}finally{f.getModel().endUpdate()}f.scrollCellToVisible(a);f.setSelectionCell(a);f.container.focus();f.editAfterInsert&&f.startEditing(a);return a};a.actions.addAction("insertText",function(){f.isEnabled()&&!f.isCellLocked(f.getDefaultParent())&&f.startEditingAtCell(x("Text",40,20,"text;html=1;resizable=0;autosize=1;align=center;verticalAlign=middle;points=[];fillColor=none;strokeColor=none;rounded=0;"))}, +null,null,Editor.ctrlKey+"+Shift+X").isEnabled=h;a.actions.addAction("insertRectangle",function(){f.isEnabled()&&!f.isCellLocked(f.getDefaultParent())&&x("",120,60,"whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+K").isEnabled=h;a.actions.addAction("insertEllipse",function(){f.isEnabled()&&!f.isCellLocked(f.getDefaultParent())&&x("",80,80,"ellipse;whiteSpace=wrap;html=1;")},null,null,Editor.ctrlKey+"+Shift+K").isEnabled=h;a.actions.addAction("insertRhombus",function(){f.isEnabled()&&!f.isCellLocked(f.getDefaultParent())&& +x("",80,80,"rhombus;whiteSpace=wrap;html=1;")}).isEnabled=h;var A=mxUtils.bind(this,function(a,b,c){for(var d=0;d<c.length;d++)"-"==c[d]?a.addSeparator(b):w(a,b,mxResources.get(c[d])+"...",c[d])});this.put("insert",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,"insertText insertRectangle - insertEllipse insertRhombus - insertLink insertImage".split(" "),c);b.addSeparator(c);this.addSubmenu("insertLayout",b,c,mxResources.get("layout"));b.addSeparator(c);A(b,c,["fromText","plantUml", +"-","formatSql"]);b.addItem(mxResources.get("csv")+"...",null,function(){a.showImportCsvDialog()},c)})));this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){A(a,b,"horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "))})));this.put("openRecent",new Menu(function(b,c){var d=a.getRecent();if(null!=d){for(var e=0;e<d.length;e++)(function(d){var e=d.mode;e==App.MODE_GOOGLE?e="googleDrive":e==App.MODE_ONEDRIVE&&(e="oneDrive");b.addItem(d.title+" ("+ mxResources.get(e)+")",null,function(){a.loadFile(d.id)},c)})(d[e]);b.addSeparator(c)}b.addItem(mxResources.get("reset"),null,function(){a.resetRecent()},c)}));this.put("openFrom",new Menu(function(c,d){null!=a.drive?c.addItem(mxResources.get("googleDrive")+"...",null,function(){a.pickFile(App.MODE_GOOGLE)},d):m&&c.addItem(mxResources.get("googleDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.gitHub&&c.addItem(mxResources.get("github")+"...",null,function(){a.pickFile(App.MODE_GITHUB)}, d);null!=a.dropbox?c.addItem(mxResources.get("dropbox")+"...",null,function(){a.pickFile(App.MODE_DROPBOX)},d):n&&c.addItem(mxResources.get("dropbox")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickFile(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null, function(){a.pickFile(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.pickFile(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickFile(App.MODE_DEVICE)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b= @@ -7743,90 +7776,90 @@ d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)" " ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.oneDrive?c.addItem(mxResources.get("oneDrive")+"...",null,function(){a.pickLibrary(App.MODE_ONEDRIVE)},d):p&&c.addItem(mxResources.get("oneDrive")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null,!1);null!=a.trello?c.addItem(mxResources.get("trello")+"...",null,function(){a.pickLibrary(App.MODE_TRELLO)},d):b&&c.addItem(mxResources.get("trello")+" ("+mxResources.get("loading")+"...)",null,function(){},d,null, !1);c.addSeparator(d);isLocalStorage&&"0"!=urlParams.browser&&c.addItem(mxResources.get("browser")+"...",null,function(){a.pickLibrary(App.MODE_BROWSER)},d);mxClient.IS_IOS||c.addItem(mxResources.get("device")+"...",null,function(){a.pickLibrary(App.MODE_DEVICE)},d);a.isOffline()||(c.addSeparator(d),c.addItem(mxResources.get("url")+"...",null,function(){var b=new FilenameDialog(a,"",mxResources.get("open"),function(b){if(null!=b&&0<b.length&&a.spinner.spin(document.body,mxResources.get("loading"))){var c= b;a.isCorsEnabledForUrl(b)||(c=PROXY_URL+"?url="+encodeURIComponent(b));mxUtils.get(c,function(c){if(200<=c.getStatus()&&299>=c.getStatus()){a.spinner.stop();try{a.loadLibrary(new UrlLibrary(this,c.getText(),b))}catch(z){a.handleError(z,mxResources.get("errorLoadingFile"))}}else a.spinner.stop(),a.handleError(null,mxResources.get("errorLoadingFile"))},function(){a.spinner.stop();a.handleError(null,mxResources.get("errorLoadingFile"))})}},mxResources.get("url"));a.showDialog(b.container,300,80,!0, -!0);b.init()},d))})));this.put("edit",new Menu(mxUtils.bind(this,function(a,b){this.addMenuItems(a,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage|| +!0);b.init()},d))})));this.put("edit",new Menu(mxUtils.bind(this,function(b,a){this.addMenuItems(b,"undo redo - cut copy paste delete - duplicate - find - editData editTooltip editStyle - edit - editLink openLink - selectVertices selectEdges selectAll selectNone - lockUnlock".split(" "))})));this.put("view",new Menu(mxUtils.bind(this,function(b,c){this.addMenuItems(b,(null!=this.editorUi.format?["formatPanel"]:[]).concat(["outline","layers","-"]));this.addMenuItems(b,["-","search"],c);if(isLocalStorage|| mxClient.IS_CHROMEAPP){var d=this.addMenuItem(b,"scratchpad",c);a.isOffline()&&!mxClient.IS_CHROMEAPP||this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000042367")}this.addMenuItems(b,"shapes - pageView pageScale - scrollbars tooltips - grid guides".split(" "),c);mxClient.IS_SVG&&(null==document.documentMode||9<document.documentMode)&&this.addMenuItem(b,"shadowVisible",c);this.addMenuItems(b,"- connectionArrows connectionPoints - resetView zoomIn zoomOut".split(" "),c)}))); this.put("extras",new Menu(mxUtils.bind(this,function(b,c){"1"!=urlParams.embed&&(this.addSubmenu("theme",b,c),b.addSeparator(c));this.addMenuItems(b,["copyConnect","collapseExpand","-"],c);if("undefined"!==typeof MathJax){var d=this.addMenuItem(b,"mathematicalTypesetting",c);this.addLinkToItem(d,"https://desk.draw.io/support/solutions/articles/16000032875")}"1"!=urlParams.embed&&this.addMenuItems(b,["autosave"],c);this.addMenuItems(b,["-","createShape","editDiagram"],c);b.addSeparator(c);"1"!=urlParams.embed&& isLocalStorage&&this.addMenuItems(b,["showStartScreen"],c);a.isOfflineApp()||"1"==urlParams.embed||this.addMenuItem(b,"plugins",c);b.addSeparator(c);this.addMenuItem(b,"tags",c)})));this.put("file",new Menu(mxUtils.bind(this,function(b,c){if("1"==urlParams.embed)this.addSubmenu("importFrom",b,c),this.addSubmenu("exportAs",b,c),this.addSubmenu("embed",b,c),"1"==urlParams.libraries&&(this.addMenuItems(b,["-"],c),this.addSubmenu("newLibrary",b,c),this.addSubmenu("openLibraryFrom",b,c)),this.addMenuItems(b, "- pageSetup print - rename save".split(" "),c),"1"==urlParams.saveAndExit&&this.addMenuItems(b,["saveAndExit"],c),this.addMenuItems(b,["exit"],c);else{var d=this.editorUi.getCurrentFile();null!=d&&d.constructor==DriveFile?(d.isRestricted()&&this.addMenuItems(b,["exportOptionsDisabled"],c),null==d.realtime?this.addMenuItems(b,["save","share","-"],c):(d.isAutosave()||this.addMenuItems(b,["save"],c),this.addMenuItems(b,["share","chatWindowTitle","-"],c))):this.addMenuItems(b,["new"],c);this.addSubmenu("openFrom", b,c);isLocalStorage&&this.addSubmenu("openRecent",b,c);null!=d&&d.constructor==DriveFile?this.addMenuItems(b,["new","-","rename","makeCopy","moveToFolder"],c):(this.addMenuItems(b,["-","save","saveAs","-","rename"],c),a.isOfflineApp()?a.isOffline()||this.addMenuItems(b,["upload"],c):(this.addMenuItems(b,["makeCopy"],c),null!=d&&d.constructor==OneDriveFile&&this.addMenuItems(b,["moveToFolder"],c)));b.addSeparator(c);this.addSubmenu("importFrom",b,c);this.addSubmenu("exportAs",b,c);b.addSeparator(c); -this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var d=Menus.prototype.menuCreated; -Menus.prototype.menuCreated=function(a,f){if(480>=screen.width&&a==this.get("help")){f.style.paddingRight="0px";f.style.paddingLeft="0px";f.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);f.appendChild(c)}d.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; -DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,f,d){this.ui=a;this.page=f;this.previous=this.name=d}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; -function MovePage(a,f,d){this.ui=a;this.oldIndex=f;this.newIndex=d}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; -function SelectPage(a,f){this.ui=a;this.previousPage=this.page=f;this.neverShown=!0;null!=f&&(this.neverShown=null==f.viewState,this.ui.updatePageRoot(f))} -SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,f=this.ui.editor,d=f.graph,c=f.graph.compress(d.zapGremlins(mxUtils.getXml(f.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=d.getViewState();a.root=d.model.root;d.view.clear(a.root,!0);d.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;d.model.rootChanged(a.root);d.setViewState(a.viewState); -f.fireEvent(new mxEventObject("setViewState","change",this));d.gridEnabled=d.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);f.updateGraphComponents();d.view.validate();d.sizeDidChange();this.neverShown&&(this.neverShown=!1,d.selectUnlockedLayer());f.graph.fireEvent(new mxEventObject(mxEvent.ROOT));f.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,f,d,c){SelectPage.call(this,a,d);this.relatedPage=f;this.index=c;this.previousIndex=null} +this.addSubmenu("embed",b,c);this.addSubmenu("publish",b,c);b.addSeparator(c);this.addSubmenu("newLibrary",b,c);this.addSubmenu("openLibraryFrom",b,c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||this.addMenuItems(b,["-","revisionHistory"],c);null!=d&&d.constructor==DriveFile&&this.addMenuItems(b,["createRevision"],c);this.addMenuItems(b,["-","pageSetup"],c);mxClient.IS_IOS&&navigator.standalone||this.addMenuItems(b,["print"],c);this.addMenuItems(b,["-","close"])}})))};var f=Menus.prototype.menuCreated; +Menus.prototype.menuCreated=function(a,d){if(480>=screen.width&&a==this.get("help")){d.style.paddingRight="0px";d.style.paddingLeft="0px";d.innerHTML="";var c=document.createElement("img");c.setAttribute("border","0");c.setAttribute("valign","bottom");c.setAttribute("src",Editor.helpImage);d.appendChild(c)}f.apply(this,arguments)}})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; +DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,d,f){this.ui=a;this.page=d;this.previous=this.name=f}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; +function MovePage(a,d,f){this.ui=a;this.oldIndex=d;this.newIndex=f}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; +function SelectPage(a,d){this.ui=a;this.previousPage=this.page=d;this.neverShown=!0;null!=d&&(this.neverShown=null==d.viewState,this.ui.updatePageRoot(d))} +SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,d=this.ui.editor,f=d.graph,c=d.graph.compress(f.zapGremlins(mxUtils.getXml(d.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=f.getViewState();a.root=f.model.root;f.view.clear(a.root,!0);f.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;f.model.rootChanged(a.root);f.setViewState(a.viewState); +d.fireEvent(new mxEventObject("setViewState","change",this));f.gridEnabled=f.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);d.updateGraphComponents();f.view.validate();f.sizeDidChange();this.neverShown&&(this.neverShown=!1,f.selectUnlockedLayer());d.graph.fireEvent(new mxEventObject(mxEvent.ROOT));d.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,d,f,c){SelectPage.call(this,a,f);this.relatedPage=d;this.index=c;this.previousIndex=null} mxUtils.extend(ChangePage,SelectPage);ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)}; -EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var f=0;f<this.pages.length;f++)if(this.pages[f].getId()==a)return this.pages[f];return null}; -EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,f=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height= -null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}f.apply(a.view,arguments)});var d=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var c=this.currentPage;null!=c&&c!=d&&(null==c.viewState||null==c.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= -a.view.translate.x*a.view.scale+c.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+c.viewState.scrollTop),d=c);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled|| +EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var d=0;d<this.pages.length;d++)if(this.pages[d].getId()==a)return this.pages[d];return null}; +EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,d=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height= +null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}d.apply(a.view,arguments)});var f=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var c=this.currentPage;null!=c&&c!=f&&(null==c.viewState||null==c.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= +a.view.translate.x*a.view.scale+c.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+c.viewState.scrollTop),f=c);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled|| Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,d){for(var f=d.getProperty("edit").changes,g=0;g<f.length;g++)if(f[g]instanceof SelectPage||f[g]instanceof RenamePage||f[g]instanceof MovePage||f[g]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}; -Graph.prototype.createViewState=function(a){var f=a.getAttribute("page"),d=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),g=a.getAttribute("pageHeight"),h=a.getAttribute("background"),m=a.getAttribute("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== -a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=f?"0"!=f:this.defaultPageVisible,background:null!=h&&0<h.length?h:this.defaultGraphBackground,backgroundImage:null!=m?new mxImage(m.src,m.width,m.height):null,pageScale:null!=d?d:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== +Graph.prototype.createViewState=function(a){var d=a.getAttribute("page"),f=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),g=a.getAttribute("pageHeight"),h=a.getAttribute("background"),m=a.getAttribute("backgroundImage"),m=null!=m&&0<m.length?JSON.parse(m):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== +a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=d?"0"!=d:this.defaultPageVisible,background:null!=h&&0<h.length?h:this.defaultGraphBackground,backgroundImage:null!=m?new mxImage(m.src,m.width,m.height):null,pageScale:null!=f?f:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=g?new mxRectangle(0,0,parseFloat(c),parseFloat(g)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}}; Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(), arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}}; Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteXml,this.pasteCounter=a.pasteCounter||0,this.mathEnabled=a.mathEnabled,this.gridEnabled=a.gridEnabled,this.gridSize=a.gridSize,this.graphHandler.guidesEnabled=a.guidesEnabled,this.foldingEnabled=a.foldingEnabled,this.setShadowVisible(a.shadowVisible,!1),this.scrollbars=a.scrollbars,this.pageVisible=a.pageVisible,this.background=a.background,this.backgroundImage=a.backgroundImage,this.pageScale=a.pageScale,this.pageFormat= a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null),this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer()),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize= mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize= -this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var f=this.editor.extractGraphModel(a.node);if(null!=f){a.graphModelNode=f;a.viewState=this.editor.graph.createViewState(f);var d=new mxCodec(f.ownerDocument);a.root=d.decode(f).root}else a.root=this.editor.graph.model.createRoot()}return a}; -EditorUi.prototype.selectPage=function(a,f){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);f=null!=f?f:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var d=this.editor.graph.model.createUndoableEdit();d.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();d.add(c);d.notify();this.editor.graph.tooltipHandler.hide();f||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",d))}; -EditorUi.prototype.selectNextPage=function(a){var f=this.currentPage;null!=f&&null!=this.pages&&(f=mxUtils.indexOf(this.pages,f),a?this.selectPage(this.pages[mxUtils.mod(f+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(f-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,f){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();f=null!=f?f:this.pages.length;var d=new ChangePage(this,a,a,f);this.editor.graph.model.execute(d)}return a}; -EditorUi.prototype.createPage=function(a){var f=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));f.setName(null!=a?a:this.createPageName());return f};EditorUi.prototype.createPageName=function(){for(var a={},f=0;f<this.pages.length;f++){var d=this.pages[f].getName();null!=d&&0<d.length&&(a[d]=d)}f=this.pages.length;do d=mxResources.get("pageWithNumber",[++f]);while(null!=a[d]);return d}; -EditorUi.prototype.removePage=function(a){var f=this.editor.graph;if(f.isEnabled()){f.model.beginUpdate();try{var d=this.currentPage;if(d==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;d=this.pages[c]}else d=this.insertPage(),f.model.execute(new RenamePage(this,d,mxResources.get("pageWithNumber",[1])));f.model.execute(new ChangePage(this,a,d))}finally{f.model.endUpdate()}}return a}; -EditorUi.prototype.duplicatePage=function(a,f){var d=this.editor.graph,c=null;d.isEnabled()&&(d.isEditing()&&d.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=d.cloneCells([d.model.root])[0],c.viewState=d.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(f),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c}; -EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var f=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,a,d))}),mxResources.get("rename"));this.showDialog(f.container,300,80,!0,!0);f.init()}return a};EditorUi.prototype.movePage=function(a,f){this.editor.graph.model.execute(new MovePage(this,a,f))}; +this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var d=this.editor.extractGraphModel(a.node);if(null!=d){a.graphModelNode=d;a.viewState=this.editor.graph.createViewState(d);var f=new mxCodec(d.ownerDocument);a.root=f.decode(d).root}else a.root=this.editor.graph.model.createRoot()}return a}; +EditorUi.prototype.selectPage=function(a,d){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);d=null!=d?d:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var f=this.editor.graph.model.createUndoableEdit();f.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();f.add(c);f.notify();this.editor.graph.tooltipHandler.hide();d||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",f))}; +EditorUi.prototype.selectNextPage=function(a){var d=this.currentPage;null!=d&&null!=this.pages&&(d=mxUtils.indexOf(this.pages,d),a?this.selectPage(this.pages[mxUtils.mod(d+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(d-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,d){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();d=null!=d?d:this.pages.length;var f=new ChangePage(this,a,a,d);this.editor.graph.model.execute(f)}return a}; +EditorUi.prototype.createPage=function(a){var d=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));d.setName(null!=a?a:this.createPageName());return d};EditorUi.prototype.createPageName=function(){for(var a={},d=0;d<this.pages.length;d++){var f=this.pages[d].getName();null!=f&&0<f.length&&(a[f]=f)}d=this.pages.length;do f=mxResources.get("pageWithNumber",[++d]);while(null!=a[f]);return f}; +EditorUi.prototype.removePage=function(a){var d=this.editor.graph;if(d.isEnabled()){d.model.beginUpdate();try{var f=this.currentPage;if(f==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;f=this.pages[c]}else f=this.insertPage(),d.model.execute(new RenamePage(this,f,mxResources.get("pageWithNumber",[1])));d.model.execute(new ChangePage(this,a,f))}finally{d.model.endUpdate()}}return a}; +EditorUi.prototype.duplicatePage=function(a,d){var f=this.editor.graph,c=null;f.isEnabled()&&(f.isEditing()&&f.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=f.cloneCells([f.model.root])[0],c.viewState=f.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(d),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c}; +EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var d=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(d){null!=d&&0<d.length&&this.editor.graph.model.execute(new RenamePage(this,a,d))}),mxResources.get("rename"));this.showDialog(d.container,300,80,!0,!0);d.init()}return a};EditorUi.prototype.movePage=function(a,d){this.editor.graph.model.execute(new MovePage(this,a,d))}; EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a}; -EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,f=document.createElement("div");f.style.position="relative";f.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";f.style.verticalAlign="top";f.style.height=this.tabContainer.style.height;f.style.whiteSpace="nowrap";f.style.overflow="hidden";f.style.fontSize="12px";f.style.marginLeft="30px";for(var d=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- -d)/this.pages.length)+1),g=null,h=0;h<this.pages.length;h++)mxUtils.bind(this,function(b,c){this.pages[b]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){a.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=b):mxEvent.consume(c)}));mxEvent.addListener(c, -"dragend",mxUtils.bind(this,function(b){g=null;b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null!=g&&(b.dataTransfer.dropEffect="move");b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=g&&b!=g&&this.movePage(g,b);a.stopPropagation();a.preventDefault()}));f.appendChild(c)})(h,this.createTabForPage(this.pages[h],c,this.pages[h]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(f); -c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(f.clientWidth>this.tabContainer.clientWidth-d){null!=c&&(c.style.position="absolute",c.style.right="0px",f.style.marginRight="30px");var m=this.createControlTab(4," ❮ ");m.style.position="absolute";m.style.right=this.editor.chromeless?"29px":"55px";m.style.fontSize="13pt";this.tabContainer.appendChild(m);var n=this.createControlTab(4, -" ❯");n.style.position="absolute";n.style.right=this.editor.chromeless?"0px":"29px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));f.style.width=p+"px";mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){f.scrollLeft-=Math.max(20,p-20);mxUtils.setOpacity(m,0<f.scrollLeft?100:50);mxUtils.setOpacity(n,f.scrollLeft<f.scrollWidth-f.clientWidth?100:50);mxEvent.consume(b)}));mxUtils.setOpacity(m, -0<f.scrollLeft?100:50);mxUtils.setOpacity(n,f.scrollLeft<f.scrollWidth-f.clientWidth?100:50);mxEvent.addListener(n,"click",mxUtils.bind(this,function(b){f.scrollLeft+=Math.max(20,p-20);mxUtils.setOpacity(m,0<f.scrollLeft?100:50);mxUtils.setOpacity(n,f.scrollLeft<f.scrollWidth-f.clientWidth?100:50);mxEvent.consume(b)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; -EditorUi.prototype.createTab=function(a){var f=document.createElement("div");f.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";f.style.whiteSpace="nowrap";f.style.boxSizing="border-box";f.style.position="relative";f.style.overflow="hidden";f.style.marginLeft="-1px";f.style.height=this.tabContainer.clientHeight+"px";f.style.padding="8px 4px 8px 4px";f.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";f.style.borderBottomStyle="solid";f.style.backgroundColor=this.tabContainer.style.backgroundColor; -f.style.cursor="move";f.style.color="gray";a&&(mxEvent.addListener(f,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(f.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(f,"mouseleave",mxUtils.bind(this,function(a){f.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return f}; -EditorUi.prototype.createControlTab=function(a,f){var d=this.createTab(!0);d.style.paddingTop=a+"px";d.style.cursor="pointer";d.style.width="30px";d.style.lineHeight="30px";d.innerHTML=f;null!=d.firstChild&&null!=d.firstChild.style&&mxUtils.setOpacity(d.firstChild,40);return d}; +EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,d=document.createElement("div");d.style.position="relative";d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.verticalAlign="top";d.style.height=this.tabContainer.style.height;d.style.whiteSpace="nowrap";d.style.overflow="hidden";d.style.fontSize="12px";d.style.marginLeft="30px";for(var f=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- +f)/this.pages.length)+1),g=null,h=0;h<this.pages.length;h++)mxUtils.bind(this,function(b,c){this.pages[b]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(c){a.isEnabled()?(mxClient.IS_FF&&c.dataTransfer.setData("Text","<diagram/>"),g=b):mxEvent.consume(c)}));mxEvent.addListener(c, +"dragend",mxUtils.bind(this,function(b){g=null;b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(b){null!=g&&(b.dataTransfer.dropEffect="move");b.stopPropagation();b.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=g&&b!=g&&this.movePage(g,b);a.stopPropagation();a.preventDefault()}));d.appendChild(c)})(h,this.createTabForPage(this.pages[h],c,this.pages[h]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(d); +c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(d.clientWidth>this.tabContainer.clientWidth-f){null!=c&&(c.style.position="absolute",c.style.right="0px",d.style.marginRight="30px");var m=this.createControlTab(4," ❮ ");m.style.position="absolute";m.style.right=this.editor.chromeless?"29px":"55px";m.style.fontSize="13pt";this.tabContainer.appendChild(m);var n=this.createControlTab(4, +" ❯");n.style.position="absolute";n.style.right=this.editor.chromeless?"0px":"29px";n.style.fontSize="13pt";this.tabContainer.appendChild(n);var p=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));d.style.width=p+"px";mxEvent.addListener(m,"click",mxUtils.bind(this,function(b){d.scrollLeft-=Math.max(20,p-20);mxUtils.setOpacity(m,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(b)}));mxUtils.setOpacity(m, +0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.addListener(n,"click",mxUtils.bind(this,function(b){d.scrollLeft+=Math.max(20,p-20);mxUtils.setOpacity(m,0<d.scrollLeft?100:50);mxUtils.setOpacity(n,d.scrollLeft<d.scrollWidth-d.clientWidth?100:50);mxEvent.consume(b)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; +EditorUi.prototype.createTab=function(a){var d=document.createElement("div");d.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";d.style.whiteSpace="nowrap";d.style.boxSizing="border-box";d.style.position="relative";d.style.overflow="hidden";d.style.marginLeft="-1px";d.style.height=this.tabContainer.clientHeight+"px";d.style.padding="8px 4px 8px 4px";d.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";d.style.borderBottomStyle="solid";d.style.backgroundColor=this.tabContainer.style.backgroundColor; +d.style.cursor="move";d.style.color="gray";a&&(mxEvent.addListener(d,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(d.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(d,"mouseleave",mxUtils.bind(this,function(a){d.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return d}; +EditorUi.prototype.createControlTab=function(a,d){var f=this.createTab(!0);f.style.paddingTop=a+"px";f.style.cursor="pointer";f.style.width="30px";f.style.lineHeight="30px";f.innerHTML=d;null!=f.firstChild&&null!=f.firstChild.style&&mxUtils.setOpacity(f.firstChild,40);return f}; EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var d=new mxPopupMenu(mxUtils.bind(this,function(a,c){for(var d=0;d<this.pages.length;d++)mxUtils.bind(this, function(b){var d=a.addItem(this.pages[b].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[b])}),c);this.pages[b]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(c);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),c);var f=this.currentPage;null!=f&&(a.addSeparator(c),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(f)}),c),a.addItem(mxResources.get("rename"), -null,mxUtils.bind(this,function(){this.renamePage(f,f.getName())}),c),a.addSeparator(c),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(f,mxResources.get("copyOf",[f.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(a),f=mxEvent.getClientY(a);d.popup(c,f,null,a);this.setCurrentMenu(d); +null,mxUtils.bind(this,function(){this.renamePage(f,f.getName())}),c),a.addSeparator(c),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(f,mxResources.get("copyOf",[f.getName()]))}),c))}}));d.div.className+=" geMenubarMenu";d.smartSeparators=!0;d.showDisabled=!0;d.autoExpand=!0;d.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(d,arguments);d.destroy()});var c=mxEvent.getClientX(a),g=mxEvent.getClientY(a);d.popup(c,g,null,a);this.setCurrentMenu(d); mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; -EditorUi.prototype.createTabForPage=function(a,f,d){d=this.createTab(d);var c=a.getName();d.setAttribute("title",c);mxUtils.write(d,c);d.style.maxWidth=f+"px";d.style.width=f+"px";this.addTabListeners(a,d);42<f&&(d.style.textOverflow="ellipsis");return d}; -EditorUi.prototype.addTabListeners=function(a,f){mxEvent.disableContextMenu(f);var d=this.editor.graph;mxEvent.addListener(f,"dblclick",mxUtils.bind(this,function(c){this.renamePage(a);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(f,mxUtils.bind(this,function(f){c=null!=this.currentMenu;g=a==this.currentPage;d.isMouseDown||g||this.selectPage(a)}),null,mxUtils.bind(this,function(h){if(d.isEnabled()&&!d.isMouseDown&&(mxEvent.isTouchEvent(h)&&g||mxEvent.isPopupTrigger(h))){d.popupMenuHandler.hideMenu(); -this.hideCurrentMenu();if(!mxEvent.isTouchEvent(h)||!c){var m=new mxPopupMenu(this.createPageMenu(a));m.div.className+=" geMenubarMenu";m.smartSeparators=!0;m.showDisabled=!0;m.autoExpand=!0;m.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(m,arguments);this.resetCurrentMenu();m.destroy()});var n=mxEvent.getClientX(h),p=mxEvent.getClientY(h);m.popup(n,p,null,h);this.setCurrentMenu(m,f)}mxEvent.consume(h)}}))}; -EditorUi.prototype.createPageMenu=function(a,f){return mxUtils.bind(this,function(d,c){d.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);d.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);d.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,f)}),c);d.addSeparator(c);d.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, -mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(f){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,d,c){c.setAttribute("page",d.page.getId());return c};a.beforeDecode=function(a,d,c){c.ui=a.ui;return d};a.afterDecode=function(a,d,c){c.page=a.ui.getPageById(d.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,d,c){c.setAttribute("relatedPage",d.relatedPage.getId());null==d.index&&(c.setAttribute("name",d.relatedPage.getName()),null!=d.relatedPage.root&&a.encodeCell(d.relatedPage.root,c));return c};a.beforeDecode=function(a,d,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(d.getAttribute("relatedPage"));if(null==c.relatedPage){var f=document.createElement("diagram");f.setAttribute("id",d.getAttribute("relatedPage")); -f.setAttribute("name",d.getAttribute("name"));c.relatedPage=new DiagramPage(f);d=d.cloneNode(!0);f=d.firstChild;if(null!=f)for(c.relatedPage.root=a.decodeCell(f,!1),c=f.nextSibling,f.parentNode.removeChild(f),f=c;null!=f;){c=f.nextSibling;if(f.nodeType==mxConstants.NODETYPE_ELEMENT){var h=f.getAttribute("id");null==a.lookup(h)&&a.decodeCell(f)}f.parentNode.removeChild(f);f=c}}return d};a.afterDecode=function(a,d,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",f=Graph.prototype.foldCells; -Graph.prototype.foldCells=function(a,c,d,n,p){c=null!=c?c:!1;null==d&&(d=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var b=d.slice(),e=[],g=0;g<d.length;g++){var h=this.view.getState(d[g]),m=null!=h?h.style:this.getCellStyle(d[g]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(d[g],!0,mxUtils.bind(this,function(a,b){null!=b&&e.push(b);a!=d[g]&&e.push(a);return a==d[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(d[g], -a))}for(g=0;g<e.length;g++)this.model.setVisible(e[g],!a);d=b;d=f.apply(this,arguments)}finally{this.model.endUpdate()}return d};var d=EditorUi.prototype.init;EditorUi.prototype.init=function(){d.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function c(a){return w.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b="tree"==(null!=b?b.style:t.getCellStyle(a)).containerType); -return b}function f(a){var b=!1;null!=a&&(a=w.getParent(a),b=t.view.getState(a),t.view.getState(a),b=null!=(null!=b?b.style:t.getCellStyle(a)).childLayout);return b}function n(a){a=t.view.getState(a);if(null!=a){var b=t.getIncomingEdges(a.cell);if(0<b.length&&(b=t.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())< -a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function p(a,b){b=null!=b?b:!0;t.model.beginUpdate();try{var c=t.model.getParent(a),d=t.getIncomingEdges(a),e=t.cloneCells([d[0],a]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ -10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=t.view.getState(a),h=t.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*h:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*h;var m=t.getOutgoingEdges(t.model.getTerminal(d[0], -!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<m.length;q++){var w=t.model.getTerminal(m[q],!1);if(f==n(w)){var v=t.view.getState(w);w!=a&&null!=v&&(p&&b!=v.getCenterX()<k.getCenterX()||!p&&b!=v.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,v)&&(d=10+Math.max(d,(Math.min(l.x+l.width,v.x+v.width)-Math.max(l.x,v.x))/h),g=10+Math.max(g,(Math.min(l.y+l.height,v.y+v.height)-Math.max(l.y,v.y))/h))}}p?g=0:d=0;for(q=0;q<m.length;q++)if(w=t.model.getTerminal(m[q], -!1),f==n(w)&&(v=t.view.getState(w),w!=a&&null!=v&&(p&&b!=v.getCenterX()<k.getCenterX()||!p&&b!=v.getCenterY()<k.getCenterY()))){var u=[];t.traverse(v.cell,!0,function(a,b){null!=b&&u.push(b);u.push(a);return!0});t.moveCells(u,(b?1:-1)*d,(b?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function b(a){t.model.beginUpdate();try{var b=n(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],a,!1); -var e=t.model.getParent(a),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,h=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,h=-40):b==mxConstants.DIRECTION_WEST?(k=-40,h=0):b==mxConstants.DIRECTION_EAST&&(h=0);t.moveCells(g,k,h);return t.addCells(d,e)}finally{t.model.endUpdate()}}function e(a){t.model.beginUpdate();try{var b= -t.model.getParent(a),c=t.getIncomingEdges(a),d=t.cloneCells([c[0],a]);t.model.setTerminal(d[0],a,!0);var c=t.getOutgoingEdges(a),e=b.geometry,f=[];t.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=t.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var h=t.view.getBounds(f),l=n(a),m=t.view.translate,p=t.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==h?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(h.x+h.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height- -e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==h?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(h.x+h.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==h?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(h.y+h.height)/p-m.y+-e.y+10);return t.addCells(d,b)}finally{t.model.endUpdate()}}function l(a, -b,c){a=t.getOutgoingEdges(a);c=t.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=t.view.getState(t.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function u(a,b){var c=n(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| -c==mxConstants.DIRECTION_WEST)==d&&c!=b?q.actions.get("selectParent").funct():c==b?(d=t.getOutgoingEdges(a),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(a),null!=c&&0<c.length&&(d=l(t.model.getTerminal(c[0],!0),d,a),c=t.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&t.setSelectionCell(d[c].cell)))))}var q=this,t=q.editor.graph,w=t.getModel();mxResources.parse("selectChildren=Select Children"); -mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var x=q.menus.createPopupMenu;q.menus.createPopupMenu=function(a,b,d){x.apply(this,arguments);if(1==t.getSelectionCount()){b=t.getSelectionCell();var e=t.getOutgoingEdges(b);a.addSeparator();null!=e&&0<e.length&&(c(t.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));c(t.getSelectionCell())&& -(a.addSeparator(),0<t.getIncomingEdges(b).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};q.actions.addAction("selectChildren",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+X");q.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(), -a=t.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=t.getOutgoingEdges(t.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(t.model.getTerminal(a[c],!1));t.setSelectionCells(b)}}},null,null,"Alt+Shift+S");q.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),a=t.getIncomingEdges(a);null!=a&&0<a.length&&t.setSelectionCell(t.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");q.actions.addAction("selectDescendants", -function(){if(t.isEnabled()&&1==t.getSelectionCount()){var a=t.getSelectionCell(),b=[];t.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});t.setSelectionCells(b)}},null,null,"Alt+Shift+T");var B=t.removeCells;t.removeCells=function(a,b){b=null!=b?b:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));b&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(t.traverse(g,!0, -function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=t.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return B.apply(this,arguments)};q.hoverIcons.getStateAt=function(a,b,d){return c(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(b,d))};var k=t.duplicateCells;t.duplicateCells=function(a,b){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], -a)}this.model.beginUpdate();try{var h=k.call(this,a,b);if(h.length==a.length)for(e=0;e<a.length;e++)if(c(a[e])){var l=t.getIncomingEdges(h[e]),g=t.getIncomingEdges(a[e]);if(0==l.length&&0<g.length){var m=this.cloneCells([g[0]])[0];this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=t.moveCells;t.moveCells=function(a,b,d,e,f,g,k){var h=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f); -if(null!=a&&c(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<a.length;p++)if(c(a[p])||t.model.isEdge(a[p])&&null==t.model.getTerminal(a[p],!0)){f=t.model.getParent(a[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var q=t.getIncomingEdges(a[0]);if(0<q.length){var w=t.view.getState(t.model.getTerminal(q[0],!0));if(null!=w){var u=t.view.getState(l);null!=u&&(b=(u.getCenterX()-w.getCenterX())/t.view.scale,d=(u.getCenterY()-w.getCenterY())/t.view.scale)}}}}h=v.apply(this,arguments); -if(null!=h&&null!=a&&h.length==a.length)for(p=0;p<h.length;p++)if(this.model.isEdge(h[p]))c(l)&&0>mxUtils.indexOf(h,this.model.getTerminal(h[p],!0))&&this.model.setTerminal(h[p],l,!0);else if(c(a[p])&&(q=t.getIncomingEdges(a[p]),0<q.length))if(!e)c(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],l,!0);else if(0==t.getIncomingEdges(h[p]).length){m=l;if(null==m||m==t.model.getParent(a[p]))m=t.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e, -t.getDefaultParent(),m,h[p])}}finally{this.model.endUpdate()}return h};if(null!=q.sidebar){var F=q.sidebar.dropAndConnect;q.sidebar.dropAndConnect=function(a,b,d,e){var f=t.model,g=null;f.beginUpdate();try{if(g=F.apply(this,arguments),c(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var h=t.getCellGeometry(g[k]);h.points=null;null!=h.getTerminalPoint(!0)&&h.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var C={88:q.actions.get("selectChildren"), -84:q.actions.get("selectSubtree"),80:q.actions.get("selectParent"),83:q.actions.get("selectSiblings")},y=q.onKeyDown;q.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&&c(t.getSelectionCell())&&1==t.getSelectionCount()){var d=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?b(t.getSelectionCell()):e(t.getSelectionCell()):13==a.which&&(d=p(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&t.model.isEdge(d[0])?t.setSelectionCell(t.model.getTerminal(d[0], -!1)):t.setSelectionCell(d[d.length-1]),null!=q.hoverIcons&&q.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var f=C[a.keyCode];null!=f&&(f.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(t.getSelectionCell(), -mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(K){console.log("error",K)}mxEvent.isConsumed(a)||y.apply(this,arguments)};var L=t.connectVertex;t.connectVertex=function(a,d,f,g,k,h){var l=t.getIncomingEdges(a);return c(a)&&0<l.length?(f=n(a),g=f==mxConstants.DIRECTION_EAST||f==mxConstants.DIRECTION_WEST,k=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f==d?e(a):g==k?b(a):p(a,d!=mxConstants.DIRECTION_NORTH&& -d!=mxConstants.DIRECTION_WEST)):L.call(this,a,d,f,g,k,h)};t.getSubtree=function(a){var b=[a];c(a)&&!f(a)&&t.traverse(a,!0,function(a,c){null!=c&&0>mxUtils.indexOf(b,c)&&b.push(c);0>mxUtils.indexOf(b,a)&&b.push(a);return!0});return b};var z=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){z.apply(this,arguments);c(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), -this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells); -this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var D=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){D.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= -this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", +EditorUi.prototype.createTabForPage=function(a,d,f){f=this.createTab(f);var c=a.getName();f.setAttribute("title",c);mxUtils.write(f,c);f.style.maxWidth=d+"px";f.style.width=d+"px";this.addTabListeners(a,f);42<d&&(f.style.textOverflow="ellipsis");return f}; +EditorUi.prototype.addTabListeners=function(a,d){mxEvent.disableContextMenu(d);var f=this.editor.graph;mxEvent.addListener(d,"dblclick",mxUtils.bind(this,function(c){this.renamePage(a);mxEvent.consume(c)}));var c=!1,g=!1;mxEvent.addGestureListeners(d,mxUtils.bind(this,function(d){c=null!=this.currentMenu;g=a==this.currentPage;f.isMouseDown||g||this.selectPage(a)}),null,mxUtils.bind(this,function(h){if(f.isEnabled()&&!f.isMouseDown&&(mxEvent.isTouchEvent(h)&&g||mxEvent.isPopupTrigger(h))){f.popupMenuHandler.hideMenu(); +this.hideCurrentMenu();if(!mxEvent.isTouchEvent(h)||!c){var m=new mxPopupMenu(this.createPageMenu(a));m.div.className+=" geMenubarMenu";m.smartSeparators=!0;m.showDisabled=!0;m.autoExpand=!0;m.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(m,arguments);this.resetCurrentMenu();m.destroy()});var n=mxEvent.getClientX(h),p=mxEvent.getClientY(h);m.popup(n,p,null,h);this.setCurrentMenu(m,d)}mxEvent.consume(h)}}))}; +EditorUi.prototype.createPageMenu=function(a,d){return mxUtils.bind(this,function(f,c){f.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);f.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);f.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,d)}),c);f.addSeparator(c);f.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, +mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(d){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,f,c){c.ui=a.ui;return f};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,f,c){c.setAttribute("page",f.page.getId());return c};a.beforeDecode=function(a,f,c){c.ui=a.ui;return f};a.afterDecode=function(a,f,c){c.page=a.ui.getPageById(f.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,f,c){c.setAttribute("relatedPage",f.relatedPage.getId());null==f.index&&(c.setAttribute("name",f.relatedPage.getName()),null!=f.relatedPage.root&&a.encodeCell(f.relatedPage.root,c));return c};a.beforeDecode=function(a,f,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(f.getAttribute("relatedPage"));if(null==c.relatedPage){var d=document.createElement("diagram");d.setAttribute("id",f.getAttribute("relatedPage")); +d.setAttribute("name",f.getAttribute("name"));c.relatedPage=new DiagramPage(d);f=f.cloneNode(!0);d=f.firstChild;if(null!=d)for(c.relatedPage.root=a.decodeCell(d,!1),c=d.nextSibling,d.parentNode.removeChild(d),d=c;null!=d;){c=d.nextSibling;if(d.nodeType==mxConstants.NODETYPE_ELEMENT){var h=d.getAttribute("id");null==a.lookup(h)&&a.decodeCell(d)}d.parentNode.removeChild(d);d=c}}return f};a.afterDecode=function(a,f,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",d=Graph.prototype.foldCells; +Graph.prototype.foldCells=function(a,c,f,n,p){c=null!=c?c:!1;null==f&&(f=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var b=f.slice(),e=[],g=0;g<f.length;g++){var h=this.view.getState(f[g]),m=null!=h?h.style:this.getCellStyle(f[g]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(f[g],!0,mxUtils.bind(this,function(b,a){null!=a&&e.push(a);b!=f[g]&&e.push(b);return b==f[g]||!this.model.isCollapsed(b)})),this.model.setCollapsed(f[g], +a))}for(g=0;g<e.length;g++)this.model.setVisible(e[g],!a);f=b;f=d.apply(this,arguments)}finally{this.model.endUpdate()}return f};var f=EditorUi.prototype.init;EditorUi.prototype.init=function(){f.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function c(b){return w.isVertex(b)&&d(b)}function d(b){var a=!1;null!=b&&(b=w.getParent(b),a=t.view.getState(b),t.view.getState(b),a="tree"==(null!=a?a.style:t.getCellStyle(b)).containerType); +return a}function f(b){var a=!1;null!=b&&(b=w.getParent(b),a=t.view.getState(b),t.view.getState(b),a=null!=(null!=a?a.style:t.getCellStyle(b)).childLayout);return a}function n(b){b=t.view.getState(b);if(null!=b){var a=t.getIncomingEdges(b.cell);if(0<a.length&&(a=t.view.getState(a[0]),null!=a&&(a=a.absolutePoints,null!=a&&0<a.length&&(a=a[a.length-1],null!=a)))){if(a.y==b.y&&Math.abs(a.x-b.getCenterX())<b.width/2)return mxConstants.DIRECTION_SOUTH;if(a.y==b.y+b.height&&Math.abs(a.x-b.getCenterX())< +b.width/2)return mxConstants.DIRECTION_NORTH;if(a.x>b.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function p(b,a){a=null!=a?a:!0;t.model.beginUpdate();try{var c=t.model.getParent(b),d=t.getIncomingEdges(b),e=t.cloneCells([d[0],b]);t.model.setTerminal(e[0],t.model.getTerminal(d[0],!0),!0);var f=n(b),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=a?b.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=a?b.geometry.height+ +10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=b.geometry.x+b.geometry.width-e[1].geometry.width);t.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=t.view.getState(b),h=t.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(a?b.geometry.width+10:-e[1].geometry.width-10)*h:l.y+=(a?b.geometry.height+10:-e[1].geometry.height-10)*h;var m=t.getOutgoingEdges(t.model.getTerminal(d[0], +!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<m.length;q++){var w=t.model.getTerminal(m[q],!1);if(f==n(w)){var u=t.view.getState(w);w!=b&&null!=u&&(p&&a!=u.getCenterX()<k.getCenterX()||!p&&a!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(d=10+Math.max(d,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/h),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/h))}}p?g=0:d=0;for(q=0;q<m.length;q++)if(w=t.model.getTerminal(m[q], +!1),f==n(w)&&(u=t.view.getState(w),w!=b&&null!=u&&(p&&a!=u.getCenterX()<k.getCenterX()||!p&&a!=u.getCenterY()<k.getCenterY()))){var v=[];t.traverse(u.cell,!0,function(b,a){null!=a&&v.push(a);v.push(b);return!0});t.moveCells(v,(a?1:-1)*d,(a?1:-1)*g)}}}return t.addCells(e,c)}finally{t.model.endUpdate()}}function b(b){t.model.beginUpdate();try{var a=n(b),c=t.getIncomingEdges(b),d=t.cloneCells([c[0],b]);t.model.setTerminal(c[0],d[1],!1);t.model.setTerminal(d[0],d[1],!0);t.model.setTerminal(d[0],b,!1); +var e=t.model.getParent(b),f=e.geometry,g=[];t.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);t.traverse(b,!0,function(b,a){null!=a&&g.push(a);g.push(b);return!0});var k=b.geometry.width+40,h=b.geometry.height+40;a==mxConstants.DIRECTION_SOUTH?k=0:a==mxConstants.DIRECTION_NORTH?(k=0,h=-40):a==mxConstants.DIRECTION_WEST?(k=-40,h=0):a==mxConstants.DIRECTION_EAST&&(h=0);t.moveCells(g,k,h);return t.addCells(d,e)}finally{t.model.endUpdate()}}function e(b){t.model.beginUpdate();try{var a= +t.model.getParent(b),c=t.getIncomingEdges(b),d=t.cloneCells([c[0],b]);t.model.setTerminal(d[0],b,!0);var c=t.getOutgoingEdges(b),e=a.geometry,f=[];t.view.currentRoot==a&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var k=t.model.getTerminal(c[g],!1);null!=k&&f.push(k)}var h=t.view.getBounds(f),l=n(b),m=t.view.translate,p=t.view.scale;l==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==h?b.geometry.x+(b.geometry.width-d[1].geometry.width)/2:(h.x+h.width)/p-m.x-e.x+10,d[1].geometry.y+=b.geometry.height- +e.y+40):l==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==h?b.geometry.x+(b.geometry.width-d[1].geometry.width)/2:(h.x+h.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=l==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(b.geometry.width-e.x+40),d[1].geometry.y=null==h?b.geometry.y+(b.geometry.height-d[1].geometry.height)/2:(h.y+h.height)/p-m.y+-e.y+10);return t.addCells(d,a)}finally{t.model.endUpdate()}}function l(b, +a,c){b=t.getOutgoingEdges(b);c=t.view.getState(c);var d=[];if(null!=c&&null!=b){for(var e=0;e<b.length;e++){var f=t.view.getState(t.model.getTerminal(b[e],!1));null!=f&&(!a&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||a&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(b,c){return a?b.x+b.width-c.x-c.width:b.y+b.height-c.y-c.height})}return d}function q(b,a){var c=n(b),d=a==mxConstants.DIRECTION_EAST||a==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| +c==mxConstants.DIRECTION_WEST)==d&&c!=a?u.actions.get("selectParent").funct():c==a?(d=t.getOutgoingEdges(b),null!=d&&0<d.length&&t.setSelectionCell(t.model.getTerminal(d[0],!1))):(c=t.getIncomingEdges(b),null!=c&&0<c.length&&(d=l(t.model.getTerminal(c[0],!0),d,b),c=t.view.getState(b),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=a==mxConstants.DIRECTION_NORTH||a==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&t.setSelectionCell(d[c].cell)))))}var u=this,t=u.editor.graph,w=t.getModel();mxResources.parse("selectChildren=Select Children"); +mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var x=u.menus.createPopupMenu;u.menus.createPopupMenu=function(b,a,d){x.apply(this,arguments);if(1==t.getSelectionCount()){a=t.getSelectionCell();var e=t.getOutgoingEdges(a);b.addSeparator();null!=e&&0<e.length&&(c(t.getSelectionCell())&&this.addMenuItems(b,["selectChildren"],null,d),this.addMenuItems(b,["selectDescendants"],null,d));c(t.getSelectionCell())&& +(b.addSeparator(),0<t.getIncomingEdges(a).length&&this.addMenuItems(b,["selectSiblings","selectParent"],null,d))}};u.actions.addAction("selectChildren",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var b=t.getSelectionCell(),b=t.getOutgoingEdges(b);if(null!=b){for(var a=[],c=0;c<b.length;c++)a.push(t.model.getTerminal(b[c],!1));t.setSelectionCells(a)}}},null,null,"Alt+Shift+X");u.actions.addAction("selectSiblings",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var b=t.getSelectionCell(), +b=t.getIncomingEdges(b);if(null!=b&&0<b.length&&(b=t.getOutgoingEdges(t.model.getTerminal(b[0],!0)),null!=b)){for(var a=[],c=0;c<b.length;c++)a.push(t.model.getTerminal(b[c],!1));t.setSelectionCells(a)}}},null,null,"Alt+Shift+S");u.actions.addAction("selectParent",function(){if(t.isEnabled()&&1==t.getSelectionCount()){var b=t.getSelectionCell(),b=t.getIncomingEdges(b);null!=b&&0<b.length&&t.setSelectionCell(t.model.getTerminal(b[0],!0))}},null,null,"Alt+Shift+P");u.actions.addAction("selectDescendants", +function(){if(t.isEnabled()&&1==t.getSelectionCount()){var b=t.getSelectionCell(),a=[];t.traverse(b,!0,function(b,c){null!=c&&a.push(c);a.push(b);return!0});t.setSelectionCells(a)}},null,null,"Alt+Shift+T");var A=t.removeCells;t.removeCells=function(b,a){a=null!=a?a:!0;null==b&&(b=this.getDeletableCells(this.getSelectionCells()));a&&(b=this.getDeletableCells(this.addAllEdges(b)));for(var e=[],f=0;f<b.length;f++){var g=b[f];w.isEdge(g)&&d(g)&&(e.push(g),g=w.getTerminal(g,!1));c(g)?(t.traverse(g,!0, +function(b,a){null!=a&&e.push(a);e.push(b);return!0}),g=t.getIncomingEdges(b[f]),b=b.concat(g)):e.push(b[f])}b=e;return A.apply(this,arguments)};u.hoverIcons.getStateAt=function(b,a,d){return c(b.cell)?null:this.graph.view.getState(this.graph.getCellAt(a,d))};var k=t.duplicateCells;t.duplicateCells=function(b,a){b=null!=b?b:this.getSelectionCells();for(var d=b.slice(0),e=0;e<d.length;e++){var f=t.view.getState(d[e]);if(null!=f&&c(f.cell))for(var g=t.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], +b)}this.model.beginUpdate();try{var h=k.call(this,b,a);if(h.length==b.length)for(e=0;e<b.length;e++)if(c(b[e])){var l=t.getIncomingEdges(h[e]),g=t.getIncomingEdges(b[e]);if(0==l.length&&0<g.length){var m=this.cloneCells([g[0]])[0];this.addEdge(m,t.getDefaultParent(),this.model.getTerminal(g[0],!0),h[e])}}}finally{this.model.endUpdate()}return h};var v=t.moveCells;t.moveCells=function(b,a,d,e,f,g,k){var h=null;this.model.beginUpdate();try{var l=f,m=this.view.getState(f),n=null!=m?m.style:this.getCellStyle(f); +if(null!=b&&c(f)&&"1"==mxUtils.getValue(n,"treeFolding","0")){for(var p=0;p<b.length;p++)if(c(b[p])||t.model.isEdge(b[p])&&null==t.model.getTerminal(b[p],!0)){f=t.model.getParent(b[p]);break}if(null!=l&&f!=l&&null!=this.view.getState(b[0])){var q=t.getIncomingEdges(b[0]);if(0<q.length){var w=t.view.getState(t.model.getTerminal(q[0],!0));if(null!=w){var u=t.view.getState(l);null!=u&&(a=(u.getCenterX()-w.getCenterX())/t.view.scale,d=(u.getCenterY()-w.getCenterY())/t.view.scale)}}}}h=v.apply(this,arguments); +if(null!=h&&null!=b&&h.length==b.length)for(p=0;p<h.length;p++)if(this.model.isEdge(h[p]))c(l)&&0>mxUtils.indexOf(h,this.model.getTerminal(h[p],!0))&&this.model.setTerminal(h[p],l,!0);else if(c(b[p])&&(q=t.getIncomingEdges(b[p]),0<q.length))if(!e)c(l)&&0>mxUtils.indexOf(b,this.model.getTerminal(q[0],!0))&&this.model.setTerminal(q[0],l,!0);else if(0==t.getIncomingEdges(h[p]).length){m=l;if(null==m||m==t.model.getParent(b[p]))m=t.model.getTerminal(q[0],!0);e=this.cloneCells([q[0]])[0];this.addEdge(e, +t.getDefaultParent(),m,h[p])}}finally{this.model.endUpdate()}return h};if(null!=u.sidebar){var F=u.sidebar.dropAndConnect;u.sidebar.dropAndConnect=function(b,a,d,e){var f=t.model,g=null;f.beginUpdate();try{if(g=F.apply(this,arguments),c(b))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],b,!0);var h=t.getCellGeometry(g[k]);h.points=null;null!=h.getTerminalPoint(!0)&&h.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var C={88:u.actions.get("selectChildren"), +84:u.actions.get("selectSubtree"),80:u.actions.get("selectParent"),83:u.actions.get("selectSiblings")},y=u.onKeyDown;u.onKeyDown=function(a){try{if(t.isEnabled()&&!t.isEditing()&&c(t.getSelectionCell())&&1==t.getSelectionCount()){var d=null;0<t.getIncomingEdges(t.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?b(t.getSelectionCell()):e(t.getSelectionCell()):13==a.which&&(d=p(t.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&t.model.isEdge(d[0])?t.setSelectionCell(t.model.getTerminal(d[0], +!1)):t.setSelectionCell(d[d.length-1]),null!=u.hoverIcons&&u.hoverIcons.update(t.view.getState(t.getSelectionCell())),t.startEditingAtCell(t.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var f=C[a.keyCode];null!=f&&(f.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(q(t.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(q(t.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(q(t.getSelectionCell(), +mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(q(t.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||y.apply(this,arguments)};var K=t.connectVertex;t.connectVertex=function(a,d,f,g,k,h){var l=t.getIncomingEdges(a);return c(a)&&0<l.length?(f=n(a),g=f==mxConstants.DIRECTION_EAST||f==mxConstants.DIRECTION_WEST,k=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,f==d?e(a):g==k?b(a):p(a,d!=mxConstants.DIRECTION_NORTH&& +d!=mxConstants.DIRECTION_WEST)):K.call(this,a,d,f,g,k,h)};t.getSubtree=function(b){var a=[b];c(b)&&!f(b)&&t.traverse(b,!0,function(b,c){null!=c&&0>mxUtils.indexOf(a,c)&&a.push(c);0>mxUtils.indexOf(a,b)&&a.push(b);return!0});return a};var z=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){z.apply(this,arguments);c(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), +this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(b){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(b),mxEvent.getClientY(b));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells); +this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(b);this.graph.isMouseDown=!0;mxEvent.consume(b)})))};var D=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){D.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= +this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var L=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(b,a){L.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),d=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;"); c.vertex=!0;var d=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");d.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.relative=!0;b.edge=!0;c.insertEdge(b,!0);d.insertEdge(b,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;"); e.vertex=!0;var f=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");f.geometry.relative=!0;f.edge=!0;c.insertEdge(f,!0);e.insertEdge(f,!1);var g=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");g.vertex=!0;var h=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); @@ -7841,12 +7874,12 @@ a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function a.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");c.geometry.setTerminalPoint(new mxPoint(0,0),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);return sb.createVertexTemplateFromCells([a,c],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;"); a.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");c.geometry.setTerminalPoint(new mxPoint(110,-40),!0);c.geometry.relative=!0;c.edge=!0;a.insertEdge(c,!1);var d=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");d.vertex=!0;var b=new mxCell("",new mxGeometry(0, 0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;d.insertEdge(b,!1);return sb.createVertexTemplateFromCells([c,b,a,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new g(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& -a.formatWindow.window.fit()}function f(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; +a.formatWindow.window.fit()}function d(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new g(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom= "0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div"); d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left= "0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()} -if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var d=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; +if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var f=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; document.getElementsByTagName("head")[0].appendChild(c)}catch(w){}var g=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src; mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>'); @@ -7856,7 +7889,7 @@ HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 1 Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH= 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity= 25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var h=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){h.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var m=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= -function(){m.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var n=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>d&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):n.apply(this,arguments)};var p=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){p.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; +function(){m.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var n=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>f&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):n.apply(this,arguments)};var p=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){p.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px"; a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var b=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){b.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save")); @@ -7866,41 +7899,41 @@ b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,functio mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout", a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var l= EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&& -(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);l.apply(this,arguments)};var u=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= -function(a){u.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var q=Menus.prototype.init;Menus.prototype.init=function(){q.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;b.actions.get("insertText").label=mxResources.get("text");b.actions.get("insertText").label=mxResources.get("text");b.actions.get("editDiagram").label=mxResources.get("formatXml")+ +(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);l.apply(this,arguments)};var q=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= +function(a){q.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var u=Menus.prototype.init;Menus.prototype.init=function(){u.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;b.actions.get("insertText").label=mxResources.get("text");b.actions.get("insertText").label=mxResources.get("text");b.actions.get("editDiagram").label=mxResources.get("formatXml")+ "...";b.actions.get("insertRectangle").label=mxResources.get("rectangle");b.actions.get("insertEllipse").label=mxResources.get("ellipse");b.actions.get("insertRhombus").label=mxResources.get("rhombus");b.actions.get("insertImage").label=mxResources.get("image")+"...";b.actions.get("insertLink").label=mxResources.get("link")+"...";b.actions.get("createShape").label=mxResources.get("shape")+"...";b.actions.get("outline").label=mxResources.get("outline")+"...";b.actions.get("layers").label=mxResources.get("layers")+ "...";b.actions.put("importFile",new Action("File...",function(){c.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&b.importFiles(a.files,null,null,b.maxImageSize)});a.click()}));b.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){c.popupMenuHandler.hideMenu();b.showImportCsvDialog()}));b.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a= -new ParseDialog(b,"Insert from Text");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(b,"Insert from Text","formatSql");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){f(b)}));b.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(b)}));EditorUi.enablePlantUml&&b.actions.put("plantUml", +new ParseDialog(b,"Insert from Text");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(b,"Insert from Text","formatSql");b.showDialog(a.container,620,420,!0,!1);a.init()}));b.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){d(b)}));b.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(b)}));EditorUi.enablePlantUml&&b.actions.put("plantUml", new Action(mxResources.get("plantUml")+"...",function(){var a=new ParseDialog(b,"Insert from Text","plantUml");b.showDialog(a.container,620,420,!0,!1);a.init()}));this.put("diagram",new Menu(mxUtils.bind(this,function(a,c){b.menus.addSubmenu("preferences",a,c);a.addSeparator(c);mxClient.IS_CHROMEAPP||EditorUi.isElectronApp?b.menus.addMenuItems(a,"new open - save saveAs -".split(" "),c):"1"==urlParams.embed?(b.menus.addMenuItems(a,["-","save"],c),"1"==urlParams.saveAndExit&&b.menus.addMenuItems(a, ["saveAndExit"],c),a.addSeparator(c)):(b.menus.addMenuItems(a,["new"],c),b.menus.addSubmenu("openFrom",a,c),a.addSeparator(c),b.menus.addSubmenu("save",a,c));b.menus.addSubmenu("exportAs",a,c);var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile&&(b.menus.addMenuItems(a,["-","share"],c),null!=d.realtime&&b.menus.addMenuItems(a,["chatWindowTitle"],c),a.addSeparator(c));b.menus.addMenuItems(a,"- outline layers - find tags -".split(" "),c);mxClient.IS_IOS&&navigator.standalone||b.menus.addMenuItems(a, -["-","print","-"],c);b.menus.addSubmenu("help",a,c);"1"==urlParams.embed?b.menus.addMenuItems(a,["-","exit"],c):b.menus.addMenuItems(a,["-","close"])})));if(isLocalStorage){var d=this.get("openFrom"),e=d.funct;d.funct=function(a,c){e.apply(this,arguments);a.addSeparator(c);b.menus.addSubmenu("openRecent",a,c)}}this.put("save",new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile?b.menus.addMenuItems(a,["createRevision","makeCopy","-","rename","moveToFolder"], +["-","print","-"],c);b.menus.addSubmenu("help",a,c);"1"==urlParams.embed?b.menus.addMenuItems(a,["-","exit"],c):b.menus.addMenuItems(a,["-","close"])})));if(isLocalStorage){var e=this.get("openFrom"),f=e.funct;e.funct=function(a,c){f.apply(this,arguments);a.addSeparator(c);b.menus.addSubmenu("openRecent",a,c)}}this.put("save",new Menu(mxUtils.bind(this,function(a,c){var d=b.getCurrentFile();null!=d&&d.constructor==DriveFile?b.menus.addMenuItems(a,["createRevision","makeCopy","-","rename","moveToFolder"], c):b.menus.addMenuItems(a,["save","saveAs","-","rename","makeCopy"],c);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||b.menus.addMenuItems(a,["-","revisionHistory"],c);b.menus.addMenuItems(a,["-","autosave"],c)})));var g=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(a,c){g.funct(a,c);a.addSeparator(c);b.menus.addSubmenu("embed",a,c);b.menus.addMenuItems(a,["publishLink"],c)})));var h=this.get("language");this.put("preferences",new Menu(mxUtils.bind(this, function(a,c){"1"!=urlParams.embed&&b.menus.addSubmenu("theme",a,c);null!=h&&b.menus.addSubmenu("language",a,c);a.addSeparator(c);b.menus.addMenuItems(a,["scrollbars","tooltips","pageScale"],c);"1"!=urlParams.embed&&isLocalStorage&&b.menus.addMenuItems(a,["-","search","scratchpad","-","showStartScreen"],c);b.isOfflineApp()||"1"==urlParams.embed||b.menus.addMenuItems(a,["-","plugins"],c)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"importText createShape plantUml - importCsv formatSql editDiagram".split(" "), c)})));mxResources.parse("insertLayout="+mxResources.get("layout"));mxResources.parse("insertAdvanced="+mxResources.get("advanced"));this.put("insert",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),c);b.menus.addSubmenu("importFrom",a,c);a.addSeparator(c);b.menus.addSubmenu("insertLayout",a,c);b.menus.addSubmenu("insertAdvanced",a,c)})));var l="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "), m=function(a,c,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(b,d,e);b.showDialog(a.container,620,420,!0,!1);a.init()}),c)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<l.length;c++)"-"==l[c]?a.addSeparator(b):m(a,b,mxResources.get(l[c])+"...",l[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,c){b.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "), -c)})))};var t=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=l.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c? +c)})))};var t=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var f=e.menus.get(a),g=l.addMenu(mxResources.get(a),mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));e.menus.menuCreated(f,g,"geMenuItem");null!=c? (g.style.backgroundImage="url("+c+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px",g.innerHTML="",mxUtils.setOpacity(g,d||40)):b||(g.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",g.style.backgroundPosition="right 6px center",g.style.backgroundRepeat="no-repeat",g.style.paddingRight="22px");return g}function b(a,b,c,d,e,f){var g=document.createElement("a");g.setAttribute("href","javascript:void(0)"); g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";h.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&& b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);mxUtils.setOpacity(g,null!=f?40:100);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),mxUtils.setOpacity(g,null!=f?40:100),g.style.cursor=""):(g.setAttribute("disabled","disabled"),mxUtils.setOpacity(g,null!=f?10:20),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function c(a){var b=document.createElement("div");b.className="geMenuItem";b.style.display="inline-block"; -b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}t.apply(this,arguments);var e=document.createElement("div");e.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";e.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries? -"63px":"32px";this.sidebar=this.createSidebar(e);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var l=new Menubar(f,h);(e=900>d)||a("diagram");c([e?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", -100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+ -" ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==": -null)]);var m=a("insert",!0,e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),e?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": -null)]);if(480<=d){var n=f.actions.get("undo"),e=f.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),e=b("",e.funct, -null,mxResources.get("redo")+" ("+e.shortcut+")",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,e]);if(560<=d){var e=f.actions.get("zoomIn"),n=f.actions.get("zoomOut"),p=f.actions.get("resetView"); -c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), -640<=d?b("",e.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",e,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="): -null,640<=d?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): -null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var q=f.descriptorChanged;f.descriptorChanged=function(){q.apply(this,arguments);var a=f.getCurrentFile(); -if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);h.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else h.removeAttribute("title")};f.setStatusText(f.editor.getStatus());h.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";h.appendChild(f.buttonContainer);f.menubarContainer= -f.buttonContainer;e=this.menus.get("language");null!=e&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=d&&(m=l.addMenu("",e.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", -m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),h.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; -e=f.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";p=f.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";m=l.addMenu("100%",p.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition= -"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)- -1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";n.appendChild(m);p=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);f.editor.addListener("resetGraphView",p);f.editor.addListener("pageSelected",p);var u=f.setGraphEnabled;f.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(f.tabContainer); -n.appendChild(h);n.appendChild(f.diagramContainer);e.appendChild(n);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var f=EditorUi.initTheme;EditorUi.initTheme=function(){f.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; +b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));h.appendChild(b);return b}t.apply(this,arguments);var d=document.createElement("div");d.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";d.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries? +"63px":"32px";this.sidebar=this.createSidebar(d);var e=this,g=e.editor.graph;e.toolbar=this.createToolbar(e.createDiv("geToolbar"));e.defaultLibraryName=mxResources.get("untitledLibrary");var h=document.createElement("div");h.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var l=new Menubar(e,h);(d=900>f)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", +100):null,b(mxResources.get("shapes"),e.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),e.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),e.actions.get("toggleFormat").funct,null,mxResources.get("format")+ +" ("+e.actions.get("formatPanel").shortcut+")",e.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==": +null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),e.actions.get("delete").funct,null,mxResources.get("delete"),e.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": +null)]);if(480<=f){var n=e.actions.get("undo"),d=e.actions.get("redo"),n=b("",n.funct,null,mxResources.get("undo")+" ("+n.shortcut+")",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct, +null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([n,d]);if(560<=f){var d=e.actions.get("zoomIn"),n=e.actions.get("zoomOut"),p=e.actions.get("resetView"); +c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;e.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&e.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), +640<=f?b("",d.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="): +null,640<=f?b("",n.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",n,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): +null])}}e.statusContainer=e.createStatusContainer();e.statusContainer.style.position="relative";e.statusContainer.style.maxWidth="";e.statusContainer.style.marginTop="7px";e.statusContainer.style.marginLeft="6px";e.statusContainer.style.color="gray";e.statusContainer.style.cursor="default";e.editor.addListener("statusChanged",mxUtils.bind(this,function(){e.setStatusText(e.editor.getStatus())}));var q=e.descriptorChanged;e.descriptorChanged=function(){q.apply(this,arguments);var a=e.getCurrentFile(); +if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);h.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else h.removeAttribute("title")};e.setStatusText(e.editor.getStatus());h.appendChild(e.statusContainer);e.buttonContainer=document.createElement("div");e.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";h.appendChild(e.buttonContainer);e.menubarContainer= +e.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=f&&(m=l.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", +m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),h.appendChild(m));e.tabContainer=document.createElement("div");e.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; +d=e.diagramContainer.parentNode;n=document.createElement("div");n.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";e.diagramContainer.style.top="47px";e.diagramContainer.style.bottom="30px";p=e.menus.get("viewZoom");if(null!=p){this.tabContainer.style.right="70px";m=l.addMenu("100%",p.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition= +"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(e.tabContainer.style.height)- +1+"px";m.style.lineHeight=parseInt(e.tabContainer.style.height)+1+"px";n.appendChild(m);p=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*e.editor.graph.view.scale)+"%"});e.editor.graph.view.addListener(mxEvent.EVENT_SCALE,p);e.editor.addListener("resetGraphView",p);e.editor.addListener("pageSelected",p);var u=e.setGraphEnabled;e.setGraphEnabled=function(){u.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}n.appendChild(e.tabContainer); +n.appendChild(h);n.appendChild(e.diagramContainer);d.appendChild(n);e.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=e.sidebarWindow&&e.sidebarWindow.window.fit();null!=e.formatWindow&&e.formatWindow.window.fit();null!=e.actions.outlineWindow&&e.actions.outlineWindow.window.fit();null!=e.actions.layersWindow&&e.actions.layersWindow.window.fit();null!=e.menus.tagsWindow&&e.menus.tagsWindow.window.fit();null!=e.menus.findWindow&&e.menus.findWindow.window.fit()})}}}; +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var d=EditorUi.initTheme;EditorUi.initTheme=function(){d.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement; (function(){function c(a){var b=null!=a.Text?a.Text:null!=a.Value?a.Value:a.Lane_0;null==b&&null!=a.State?null!=a.State.t&&(b=a.State):null==b&&null!=a.Note?null!=a.Note.t&&(b=a.Note):null==b&&null!=a.Title?null!=a.Title.t&&(b=a.Title):null!=a.t&&(b=a);null==b&&null!=a.TextAreas&&null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.t&&(b=a.TextAreas.Text.Value);if(null!=b){if(null!=b.t)return b.t=b.t.replace(/</g,"<"),b.t=b.t.replace(/>/g,">"),b.t;if(null!=b.Value&& null!=b.Value.t)return b.Value.t=b.Value.t.replace(/</g,"<"),b.Value.t=b.Value.t.replace(/>/g,">"),b.Value.t}return""}function m(a){return null!=a.Action?a.Action:a}function w(a){if(null!=a.Text){if(null!=a.Text.m)return a.Text.m}else if(null!=a.TextAreas){if(null!=a.TextAreas.Text&&null!=a.TextAreas.Text.Value&&null!=a.TextAreas.Text.Value.m)return a.TextAreas.Text.Value.m}else if(null!=a.m)return a.m;return null}function l(c){return h(c)+f(c)+b(c)+a(c)+d(c)+g(c)+p(c)+D(c)+C(c)+y(c)}function h(a){a= @@ -8492,11 +8525,11 @@ null!=c&&(b=c.indexOf("rotation="),-1<b))for(c=parseFloat(c.substring(b+9,c.inde (function(c){(function(m){(function(w){var l=function(h){function f(){var b=h.call(this)||this;b.RESPONSE_END="";b.RESPONSE_DIAGRAM_START="";b.RESPONSE_DIAGRAM_END="";b.RESPONSE_HEADER="";return b}__extends(f,h);f.prototype.decodeVssx=function(b,a,d){var g=this,p="<mxlibrary>[";this.decodeVsdx(b,function(b){p=p.concat(b);var d=g.vsdxModel.getMasterShapes(),f=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=[];null== a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)b.push(a.entries[d].value);return b}(g.vsdxModel.getPages())).next();if(null!=d){var D={str:"",toString:function(){return this.str}},l=0===b.length?"":",",w=function(a){return Object.keys(a).map(function(b){return a[b]})}(d);b=function(a){a=w[a];var b=m.createMxGraph(),g=a.getMasterShape().getShape(),p=new c.mxgraph.io.vsdx.VsdxShape(f,g,!f.isEdge(g),d,null,m.vsdxModel),g=null;if(p.isVertex()){m.edgeShapeMap.entries=[];m.parentsMap.entries= [];for(var g=m.addShape(b,p,b.getDefaultParent(),0,1169),p=function(a){null==a.entries&&(a.entries=[]);return a.entries}(m.edgeShapeMap),C=0;C<p.length;C++){var y=p[C],q=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(m.parentsMap,y.getKey());m.addUnconnectedEdge(b,q,y.getValue(),1169)}}else g=m.addUnconnectedEdge(b,null,p,1169);if(null!=g){g=m.normalizeGeo(g); -m.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";D.str=D.str.concat(l);D.str=D.str.concat('{"xml":"');b=h.prototype.processPage.call(m,b,null);D.str=D.str.concat(b);D.str=D.str.concat('","w":');D.str=D.str.concat(g.width);D.str=D.str.concat(',"h":');D.str=D.str.concat(g.height);D.str=D.str.concat(',"title":');a=a.getName();null==a&&(a="");a=JSON.stringify(a);D.str=D.str.concat(a);D.str=D.str.concat("}");l=","}};for(var m=g,E=0;E<w.length;E++)b(E);p=p.concat(D)}p= -p.concat("]</mxlibrary>");a&&a(p)},d)};f.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var g=0;g<b.length;g++)this.transPoint(b[g],d);this.transPoint(d,d)}return a};f.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};f.prototype.processPage=function(b,a){var d=b.getModel(),g="",p="",f;for(f in d.cells){var C=d.cells[f];if(b.getDefaultParent()=== -d.getParent(C)){var g=g.concat(p),g=g.concat('{"xml":"'),y=this.createMxGraph();y.addCell(C);this.sanitiseGraph(y);if(0===y.getModel().getChildCount(y.getDefaultParent()))return"continue";p=this.normalizeGeo(C);y=h.prototype.processPage.call(this,y,null);g=g.concat(y);g=g.concat('","w":');g=g.concat(p.width);g=g.concat(',"h":');g=g.concat(p.height);g=g.concat(',"title":"');p=d.getStyle(C);C="";if(null!=p&&(y=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),0<=y)){y+=c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+ -1;f=parseInt(p.substring(y,p.indexOf(";",y)));a:{p=this.vertexShapeMap;y=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),f);null==p.entries&&(p.entries=[]);for(var q=0;q<p.entries.length;q++)if(null!=p.entries[q].key.equals&&p.entries[q].key.equals(y)||p.entries[q].key===y){p=p.entries[q].value;break a}p=null}null!=p&&(C=p.getName())}g=g.concat(C);g=g.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<g.length?",":"";return g};return f}(c.mxgraph.io.mxVsdxCodec);w.mxVssxCodec=l;l.__class="com.mxgraph.io.mxVssxCodec"})(m.io|| -(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); +m.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";D.str=D.str.concat(l);D.str=D.str.concat('{"xml":"');b=h.prototype.processPage.call(m,b,null);D.str=D.str.concat(b);D.str=D.str.concat('","w":');D.str=D.str.concat(g.width);D.str=D.str.concat(',"h":');D.str=D.str.concat(g.height);D.str=D.str.concat(',"title":');a=a.getName();null==a&&(a="");a=JSON.stringify(mxUtils.htmlEntities(a));D.str=D.str.concat(a);D.str=D.str.concat("}");l=","}};for(var m=g,E=0;E<w.length;E++)b(E); +p=p.concat(D)}p=p.concat("]</mxlibrary>");a&&a(p)},d)};f.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var g=0;g<b.length;g++)this.transPoint(b[g],d);this.transPoint(d,d)}return a};f.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};f.prototype.processPage=function(b,a){var d=b.getModel(),g="",p="",f;for(f in d.cells){var C=d.cells[f]; +if(b.getDefaultParent()===d.getParent(C)){var g=g.concat(p),g=g.concat('{"xml":"'),y=this.createMxGraph();y.addCell(C);this.sanitiseGraph(y);if(0===y.getModel().getChildCount(y.getDefaultParent()))return"continue";p=this.normalizeGeo(C);y=h.prototype.processPage.call(this,y,null);g=g.concat(y);g=g.concat('","w":');g=g.concat(p.width);g=g.concat(',"h":');g=g.concat(p.height);g=g.concat(',"title":"');p=d.getStyle(C);C="";if(null!=p&&(y=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),0<=y)){y+= +c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;f=parseInt(p.substring(y,p.indexOf(";",y)));a:{p=this.vertexShapeMap;y=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),f);null==p.entries&&(p.entries=[]);for(var q=0;q<p.entries.length;q++)if(null!=p.entries[q].key.equals&&p.entries[q].key.equals(y)||p.entries[q].key===y){p=p.entries[q].value;break a}p=null}null!=p&&(C=p.getName())}g=g.concat(C);g=g.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<g.length?",":"";return g};return f}(c.mxgraph.io.mxVsdxCodec); +w.mxVssxCodec=l;l.__class="com.mxgraph.io.mxVssxCodec"})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); (function(c){(function(c){(function(c){(function(c){(function(c){var f=function(){function b(a,b,g){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=g}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA= function(){return this.formulaA};b.prototype.getFormulaE=function(){return this.formulaE};b.prototype.getIndex=function(){return this.index};return b}();c.Row=f;f.__class="com.mxgraph.io.vsdx.geometry.Row"})(c.geometry||(c.geometry={}))})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); (function(c){(function(m){(function(m){(function(l){(function(h){var f=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))}catch(d){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(g){}return null};b.getRowObj=function(a,d){var g=a.getAttribute("T"),p=b.getIndex(a),f;f=(f=a.getAttribute("Del"))&&f.equals?f.equals("1"):"1"===f;if(!f){var C=null;p<=d.length&&(C=d[p-1]);var y=f=null,q=null,h=null, diff --git a/src/main/webapp/js/diagramly/Devel.js b/src/main/webapp/js/diagramly/Devel.js index d668719c96914ea884dec7751c51d26e059e3167..250747333a8847f1a47aadfd48a7ab42b3a10eb6 100644 --- a/src/main/webapp/js/diagramly/Devel.js +++ b/src/main/webapp/js/diagramly/Devel.js @@ -28,6 +28,7 @@ mxscript(geBasePath +'/Dialogs.js'); // Loads main classes mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Advanced.js'); +mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-AlliedTelesys.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-Android.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-ArchiMate.js'); mxscript(drawDevUrl + 'js/diagramly/sidebar/Sidebar-ArchiMate3.js'); diff --git a/src/main/webapp/js/diagramly/Dialogs.js b/src/main/webapp/js/diagramly/Dialogs.js index 1c72ac6eec6608ea27dfc896ea267c4a097b1f49..226cf8d36e9e5142ad76cafb70e343a0143fb59c 100644 --- a/src/main/webapp/js/diagramly/Dialogs.js +++ b/src/main/webapp/js/diagramly/Dialogs.js @@ -4410,7 +4410,7 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn, showPages) linkInput.setAttribute('placeholder', mxResources.get('dragUrlsHere')); linkInput.setAttribute('type', 'text'); linkInput.style.marginTop = '6px'; - linkInput.style.width = '400px'; + linkInput.style.width = '440px'; linkInput.style.backgroundImage = 'url(\'' + Dialog.prototype.clearImage + '\')'; linkInput.style.backgroundRepeat = 'no-repeat'; linkInput.style.backgroundPosition = '100% 50%'; @@ -4450,7 +4450,7 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn, showPages) pageRadio.setAttribute('name', 'current-linkdialog'); var pageSelect = document.createElement('select'); - pageSelect.style.width = '380px'; + pageSelect.style.width = '420px'; if (showPages && editorUi.pages != null) { @@ -4466,7 +4466,7 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn, showPages) urlRadio.defaultChecked = true; } - linkInput.style.width = '380px'; + linkInput.style.width = '420px'; inner.appendChild(urlRadio); inner.appendChild(linkInput); inner.appendChild(cross); @@ -4635,6 +4635,20 @@ var LinkDialog = function(editorUi, initialValue, btnLabel, fn, showPages) btns.appendChild(cancelBtn); } + var helpBtn = mxUtils.button(mxResources.get('help'), function() + { + editorUi.openLink('https://desk.draw.io/solution/articles/16000080137'); + }); + helpBtn.style.verticalAlign = 'middle'; + helpBtn.className = 'geBtn'; + + btns.appendChild(helpBtn); + + if (editorUi.isOffline() && !mxClient.IS_CHROMEAPP) + { + helpBtn.style.display = 'none'; + } + LinkDialog.selectedDocs = null; LinkDialog.filePicked = function(data) @@ -6271,58 +6285,12 @@ var TagsWindow = function(editorUi, x, y, w, h) function searchCells(cells) { - cells = (cells != null) ? cells : graph.model.getDescendants(graph.model.getRoot()); - var tagList = searchInput.value.split(' '); - var result = []; - - for (var i = 0; i < cells.length; i++) - { - if (graph.model.isVertex(cells[i]) || graph.model.isEdge(cells[i])) - { - var tags = (cells[i].value != null && typeof(cells[i].value) == 'object') ? - mxUtils.trim(cells[i].value.getAttribute(propertyName) || '') : ''; - var match = true; - - if (tags.length > 0) - { - var tmp = tags.toLowerCase().split(' '); - - for (var j = 0; j < tagList.length && match; j++) - { - var tag = mxUtils.trim(tagList[j]).toLowerCase(); - - match = match && (tag.length == 0 || mxUtils.indexOf(tmp, tag) >= 0); - } - } - else - { - match = mxUtils.trim(searchInput.value).length == 0; - } - - if (match) - { - result.push(cells[i]); - } - } - } - - return result; + return graph.getCellsForTags(searchInput.value.split(' '), cells, propertyName); }; function setCellsVisible(cells, visible) - { - graph.model.beginUpdate(); - try - { - for (var i = 0; i < cells.length; i++) - { - graph.model.setVisible(cells[i], visible); - } - } - finally - { - graph.model.endUpdate(); - } + { + graph.setCellsVisible(cells, visible); }; mxUtils.br(div); diff --git a/src/main/webapp/js/diagramly/Editor.js b/src/main/webapp/js/diagramly/Editor.js index 7013ffe1efd81a4ca5fd962973c2737a4c4dcb1e..697b29901177a43f14685e458cc0a9c74ecc6555 100644 --- a/src/main/webapp/js/diagramly/Editor.js +++ b/src/main/webapp/js/diagramly/Editor.js @@ -272,6 +272,25 @@ } } }; + + /** + * Generates a unique ID of the given length + */ + Editor.s4 = function() + { + return Math.floor((1 + Math.random()) * 0x10000) + .toString(16) + .substring(1); + }; + + /** + * Generates a unique ID of the given length + */ + Editor.guid = function() + { + return Editor.s4() + Editor.s4() + '-' + Editor.s4() + '-' + Editor.s4() + '-' + + Editor.s4() + '-' + Editor.s4() + Editor.s4() + Editor.s4(); + }; /** * Executes the first step for connecting to Google Drive. @@ -724,6 +743,26 @@ mxSettings.save(); }; } + + // Overrides ID for pages + if (window.EditDataDialog) + { + EditDataDialog.getDisplayIdForCell = function(ui, cell) + { + var id = null; + + if (ui.editor.graph.getModel().getParent(cell) != null) + { + id = cell.getId(); + } + else if (ui.currentPage != null) + { + id = ui.currentPage.getId(); + } + + return id; + }; + } // Overridden to add edit shape option if (window.StyleFormatPanel != null) @@ -1373,40 +1412,111 @@ }; /** - * Adds support for data:action/json,array of actions where array of actions - * is a JSON array with each action handled in handleCustomLinkAction below. + * Adds support for data:action/json,{"actions":[actions]} where actions is + * a comma-separated list of JSON objects with the following possible keys: + * + * "open": string - opens a standard or custom link (including page links) + * "toggle"/"show"/"hide"/"highlight": cellset - toggles, shows, hides or + * highlights the given cells + * "select": cellset - selects the given cells if the graph is editable + * "scroll": cellset - scrolls to the first cell in the given celllset + * If no scroll action is specified, then the first cell of the select + * or highlight action is scrolled to visible (select has precedence). + * A cellset is an array of cell IDs or tags or both, eg. + * {"cells": ["id1", "id2"], "tags": ["tag1", "tag2"]} + * To specify all cells, use "cells": ["*"], to specify all cells with + * a tag, use "tags": [] (empty array). + * * An example action is: * * data:action/json,{"actions":[{"toggle": {"cells": ["3", "4"]}}]} + * + * This toggles the visible state of the cells with ID 3 and 4. */ Graph.prototype.handleCustomLink = function(href) { if (href.substring(0, 17) == 'data:action/json,') { - this.model.beginUpdate(); - try - { - var action = JSON.parse(href.substring(17)); + // Some actions are stateless and must be handled before of the transaction + var action = JSON.parse(href.substring(17)); - if (action.actions != null) + if (action.actions != null) + { + // Executes open actions before starting transaction + for (var i = 0; i < action.actions.length; i++) { + if (action.actions[i].open != null) + { + if (this.isCustomLink(action.actions[i].open)) + { + this.customLinkClicked(action.actions[i].open); + } + else + { + this.openLink(action.actions[i].open); + } + } + } + + this.model.beginUpdate(); + try + { for (var i = 0; i < action.actions.length; i++) { - this.handleCustomLinkAction(action.actions[i]); + this.handleLinkAction(action.actions[i]); } } + finally + { + this.model.endUpdate(); + } } - catch (e) - { - if (window.console != null) - { - console.log('Error in ' + href + ': ' + e); - } - } - finally - { - this.model.endUpdate(); - } + } + }; + + /** + * Executes the given action if it must be executed inside of a transaction. + */ + Graph.prototype.handleLinkAction = function(action) + { + var cells = []; + + if (action.select != null && this.isEnabled()) + { + cells = this.getCellsForAction(action.select); + this.setSelectionCells(cells); + } + + if (action.scroll != null) + { + cells = this.getCellsForAction(action.scroll); + } + + if (action.toggle != null) + { + this.toggleCells(this.getCellsForAction(action.toggle)); + } + + if (action.show != null) + { + this.setCellsVisible(this.getCellsForAction(action.show), true); + } + + if (action.hide != null) + { + this.setCellsVisible(this.getCellsForAction(action.hide), false); + } + + if (action.highlight != null) + { + cells = this.getCellsForAction(action.highlight); + this.highlightCells(cells, action.highlight.color, + action.highlight.duration, action.highlight.opacity); + } + + if (cells.length > 0) + { + this.scrollCellToVisible(cells[0]); } }; @@ -1414,26 +1524,149 @@ * Handles each action in the action array of a custom link. This code * handles toggle actions for cell IDs. */ - Graph.prototype.handleCustomLinkAction = function(action) + Graph.prototype.getCellsForAction = function(action) { - if (action.toggle != null && action.toggle.cells != null) + return this.getCellsById(action.cells).concat( + this.getCellsForTags(action.tags)); + }; + + /** + * Returns the cells in the model (or given array) that have all of the + * given tags in their tags property. + */ + Graph.prototype.getCellsById = function(ids) + { + var result = []; + + if (ids != null) { - for (var i = 0; i < action.toggle.cells.length; i++) + for (var i = 0; i < ids.length; i++) { - var cell = this.model.getCell(action.toggle.cells[i]); - - if (cell != null) + if (ids[i] == '*') + { + var parent = this.getDefaultParent(); + + result = result.concat(this.model.filterDescendants(function(cell) + { + return cell != parent; + }, parent)); + } + else { - this.model.setVisible(cell, !this.model.isVisible(cell)) + var cell = this.model.getCell(ids[i]); + + if (cell != null) + { + result.push(cell); + } } } } + + return result; + }; + + /** + * Returns the cells in the model (or given array) that have all of the + * given tags in their tags property. + */ + Graph.prototype.getCellsForTags = function(tagList, cells, propertyName) + { + var result = []; + + if (tagList != null) + { + cells = (cells != null) ? cells : this.model.getDescendants(this.model.getRoot()); + propertyName = (propertyName != null) ? propertyName : 'tags'; + + for (var i = 0; i < cells.length; i++) + { + if (this.model.isVertex(cells[i]) || this.model.isEdge(cells[i])) + { + var tags = (cells[i].value != null && typeof(cells[i].value) == 'object') ? + mxUtils.trim(cells[i].value.getAttribute(propertyName) || '') : ''; + var match = true; + + if (tags.length > 0) + { + var tmp = tags.toLowerCase().split(' '); + + for (var j = 0; j < tagList.length && match; j++) + { + var tag = mxUtils.trim(tagList[j]).toLowerCase(); + + match = match && (tag.length == 0 || mxUtils.indexOf(tmp, tag) >= 0); + } + } + else + { + match = tagList.length == 0; + } + + if (match) + { + result.push(cells[i]); + } + } + } + } + + return result; + }; + + /** + * Shows or hides the given cells. + */ + Graph.prototype.toggleCells = function(cells) + { + this.model.beginUpdate(); + try + { + for (var i = 0; i < cells.length; i++) + { + this.model.setVisible(cells[i], !this.model.isVisible(cells[i])) + } + } + finally + { + this.model.endUpdate(); + } + }; + + /** + * Shows or hides the given cells. + */ + Graph.prototype.setCellsVisible = function(cells, visible) + { + this.model.beginUpdate(); + try + { + for (var i = 0; i < cells.length; i++) + { + this.model.setVisible(cells[i], visible); + } + } + finally + { + this.model.endUpdate(); + } }; /** * Highlights the given cell. */ - Graph.prototype.highlightCell = function(cell, color, duration) + Graph.prototype.highlightCells = function(cells, color, duration, opacity) + { + for (var i = 0; i < cells.length; i++) + { + this.highlightCell(cells[i], color, duration, opacity); + } + }; + + /** + * Highlights the given cell. + */ + Graph.prototype.highlightCell = function(cell, color, duration, opacity) { color = (color != null) ? color : mxConstants.DEFAULT_VALID_COLOR; duration = (duration != null) ? duration : 1000; @@ -1443,6 +1676,12 @@ { var sw = Math.max(5, mxUtils.getValue(state.style, mxConstants.STYLE_STROKEWIDTH, 1) + 4); var hl = new mxCellHighlight(this, color, sw, false); + + if (opacity != null) + { + hl.opacity = opacity; + } + hl.highlight(state); // Fades out the highlight after a duration diff --git a/src/main/webapp/js/diagramly/EditorUi.js b/src/main/webapp/js/diagramly/EditorUi.js index 3d80a4c5e483efa8afd461cd12f7626341d8efc1..af9598d2aec399a69612cae78a8387f6cdd70701 100644 --- a/src/main/webapp/js/diagramly/EditorUi.js +++ b/src/main/webapp/js/diagramly/EditorUi.js @@ -7256,16 +7256,24 @@ var ui = this; var graph = this.editor.graph; - // Custom link handling and link titles need UI for page IDs + // Redirects custom link title via UI for page links graph.getLinkTitle = function(href) { return ui.getLinkTitle(href); }; - - graph.addListener('customLinkClicked', function(sender, evt) + + // Redirects custom link via UI for page link handling + graph.customLinkClicked = function(link) { - ui.handleCustomLink(evt.getProperty('href')); - }); + try + { + ui.handleCustomLink(link); + } + catch (e) + { + ui.handleError(e); + } + }; // Sets help link for placeholders if (!this.isOffline() && typeof window.EditDataDialog !== 'undefined') @@ -7324,12 +7332,12 @@ href = source.getAttribute('href'); } } - + if (href != null && graph.isCustomLink(href) && (mxEvent.isTouchEvent(evt) || !mxEvent.isPopupTrigger(evt))) { - ui.handleCustomLink(href); + graph.customLinkClicked(href); mxEvent.consume(evt); } @@ -7401,7 +7409,7 @@ { mxEvent.addListener(a, 'click', function(evt) { - ui.handleCustomLink(href); + graph.customLinkClicked(href); mxEvent.consume(evt); }); } @@ -7422,7 +7430,7 @@ // Active links are moved to the hint if (!graph.isEnabled() || (state != null && graph.isCellLocked(state.cell))) { - ui.handleCustomLink(href); + graph.customLinkClicked(href); // Resets rubberband after click on locked cell graph.getRubberband().reset(); @@ -10311,7 +10319,7 @@ EditorUi.prototype.showLinkDialog = function(value, btnLabel, fn) { var dlg = new LinkDialog(this, value, btnLabel, fn, true); - this.showDialog(dlg.container, 440, 130, true, true); + this.showDialog(dlg.container, 480, 130, true, true); dlg.init(); }; diff --git a/src/main/webapp/js/diagramly/GraphViewer.js b/src/main/webapp/js/diagramly/GraphViewer.js index ed065391ff9723aba592a71bbe4c390ff4f683ca..5d197ee4ce59dd3f6212b42f56024be53ad4af9e 100644 --- a/src/main/webapp/js/diagramly/GraphViewer.js +++ b/src/main/webapp/js/diagramly/GraphViewer.js @@ -244,7 +244,22 @@ GraphViewer.prototype.init = function(container, xmlNode, graphConfig) translate: this.graph.view.translate.clone(), scale: this.graph.view.scale }; - + + var self = this; + + this.graph.customLinkClicked = function(href) + { + if (href.substring(0, 13) == 'data:page/id,') + { + var comma = href.indexOf(','); + self.selectPageById(href.substring(comma + 1)); + } + else + { + this.handleCustomLink(href); + } + }; + if (this.graphConfig.toolbar != null) { this.addToolbar(); @@ -1156,19 +1171,10 @@ GraphViewer.prototype.addClickHandler = function(graph, ui) }, 0); } } - else if (href != null && graph.isCustomLink(href) && (mxEvent.isTouchEvent(evt) || - !mxEvent.isPopupTrigger(evt))) + else if (href != null && ui == null && graph.isCustomLink(href) && + (mxEvent.isTouchEvent(evt) || !mxEvent.isPopupTrigger(evt))) { - if (href.substring(0, 13) == 'data:page/id,') - { - var comma = href.indexOf(','); - this.selectPageById(href.substring(comma + 1)); - } - else - { - graph.handleCustomLink(href); - } - + graph.customLinkClicked(href); mxEvent.consume(evt); } }), mxUtils.bind(this, function(evt) diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar-AlliedTelesys.js b/src/main/webapp/js/diagramly/sidebar/Sidebar-AlliedTelesys.js new file mode 100644 index 0000000000000000000000000000000000000000..6fd43707bf91d1a6e6cc7d4c844460232830011c --- /dev/null +++ b/src/main/webapp/js/diagramly/sidebar/Sidebar-AlliedTelesys.js @@ -0,0 +1,255 @@ +(function() +{ + Sidebar.prototype.addAlliedTelesysPalette = function() + { + var d = 60; + var dt = 'allied telesys'; + var sb = this; + var s = 'aspect=fixed;perimeter=ellipsePerimeter;html=1;align=center;shadow=0;dashed=0;image;image=img/lib/allied_telesys/'; + + // Adds Allied Telesys shapes + this.addAlliedTelesysBuildingsPalette(d, dt, sb, s); + this.addAlliedTelesysComputerTerminalsPalette(d, dt, sb, s); + this.addAlliedTelesysMediaConvertersPalette(d, dt, sb, s); + this.addAlliedTelesysSecurityPalette(d, dt, sb, s); + this.addAlliedTelesysStoragePalette(d, dt, sb, s); + this.addAlliedTelesysSwitchPalette(d, dt, sb, s); + this.addAlliedTelesysWirelessPalette(d, dt, sb, s); + }; + + Sidebar.prototype.addAlliedTelesysBuildingsPalette = function(d, dt, sb, s) + { + s += 'buildings/'; + var gn = 'buildings'; + + var fns = [ + this.createVertexTemplateEntry(s + 'Apartments.svg;', + d * 0.9, d * 1.75, '', 'Apartments', false, null, this.getTagsForStencil(gn, 'apartments', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Building_Cluster.svg;', + d * 2.02, d * 1.85, '', 'Building Cluster', false, null, this.getTagsForStencil(gn, 'building cluster', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Large_Building.svg;', + d * 1.25, d * 1.25, '', 'Large Building', false, null, this.getTagsForStencil(gn, 'large building', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Long_Building.svg;', + d * 2.09, d * 2.16, '', 'Long Building', false, null, this.getTagsForStencil(gn, 'long building', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Medium_Business_Building.svg;', + d * 0.91, d * 1.17, '', 'Medium Business Building', false, null, this.getTagsForStencil(gn, 'medium business building', dt).join(' ')), + this.createVertexTemplateEntry(s + 'School_Building.svg;', + d * 2.75, d * 2.78, '', 'School Building', false, null, this.getTagsForStencil(gn, 'school building', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Secure_Building.svg;', + d * 2.72, d * 1.86, '', 'Secure Building', false, null, this.getTagsForStencil(gn, 'secure building', dt).join(' ')) + ]; + + this.addPalette('allied_telesysBuildings', 'Allied Telesys / Buildings', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysComputerTerminalsPalette = function(d, dt, sb, s) + { + s += 'computer_and_terminals/'; + var gn = 'computer terminals'; + + var fns = [ + this.createVertexTemplateEntry(s + 'IP_TV.svg;', + d * 0.82, d * 0.84, '', 'IP TV', false, null, this.getTagsForStencil(gn, 'ip tv internet protocol television', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Keypad.svg;', + d * 0.44, d * 0.8, '', 'Keypad', false, null, this.getTagsForStencil(gn, 'keypad', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Laptop.svg;', + d * 0.7, d * 0.71, '', 'Laptop', false, null, this.getTagsForStencil(gn, 'laptop', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Personal_Computer.svg;', + d * 0.76, d * 1.03, '', 'Personal Computer', false, null, this.getTagsForStencil(gn, 'personal computer', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Personal_Computer_Wireless.svg;', + d * 1.05, d * 1.07, '', 'Personal Computer Wireless', false, null, this.getTagsForStencil(gn, 'personal computer wireless', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Personal_Computer_with_Server.svg;', + d * 1.04, d * 1.04, '', 'Personal Computer with Server', false, null, this.getTagsForStencil(gn, 'Personal Computer Server', dt).join(' ')), + this.createVertexTemplateEntry(s + 'POS_keypad.svg;', + d * 0.62, d * 0.46, '', 'POS Keypad', false, null, this.getTagsForStencil(gn, 'pos keypad', dt).join(' ')), + this.createVertexTemplateEntry(s + 'POS_Printer.svg;', + d * 0.62, d * 0.54, '', 'POS Printer', false, null, this.getTagsForStencil(gn, 'pos printer', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Server_Desktop.svg;', + d * 0.71, d * 0.90, '', 'Server Desktop', false, null, this.getTagsForStencil(gn, 'server desktop', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Smartphone.svg;', + d * 0.33, d * 0.72, '', 'Smartphone', false, null, this.getTagsForStencil(gn, 'smartphone', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Tablet.svg;', + d * 0.45, d * 0.95, '', 'Tablet', false, null, this.getTagsForStencil(gn, 'tablet', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Tablet_Alternative.svg;', + d * 0.58, d * 0.8, '', 'Tablet Alternative', false, null, this.getTagsForStencil(gn, 'tablet alternative', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Vdeo_Conference_Terminal.svg;', + d * 0.53, d * 0.75, '', 'Vdeo Conference Terminal', false, null, this.getTagsForStencil(gn, 'vdeo conference terminal', dt).join(' ')), + this.createVertexTemplateEntry(s + 'VOIP_IP_phone.svg;', + d * 0.5, d * 0.76, '', 'VOIP IP Phone', false, null, this.getTagsForStencil(gn, 'voip ip phone voice over internet protocol', dt).join(' ')) + ]; + + this.addPalette('allied_telesysComputer and Terminals', 'Allied Telesys / Computer and Terminals', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysMediaConvertersPalette = function(d, dt, sb, s) + { + s += 'media_converters/'; + var gn = 'media converters'; + + var fns = [ + this.createVertexTemplateEntry(s + 'Industrial_Media_Converter.svg;', + d * 0.5, d * 0.95, '', 'Industrial Media Converter', false, null, this.getTagsForStencil(gn, 'industrial media converter', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Industrial_Media_Converter_POE.svg;', + d * 0.5, d * 0.95, '', 'Industrial Media Converter POE', false, null, this.getTagsForStencil(gn, 'industrial media converter poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Media_Converter_Modular.svg;', + d * 1.18, d * 0.91, '', 'Media Converter Modular', false, null, this.getTagsForStencil(gn, 'media converter modular', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Media_Converter_Standalone.svg;', + d * 0.76, d * 0.62, '', 'Media Converter Standalone', false, null, this.getTagsForStencil(gn, 'media converter standalone', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Media_Converter_Standalone_POE.svg;', + d * 0.76, d * 0.62, '', 'Media Converter Standalone POE', false, null, this.getTagsForStencil(gn, 'media converter standalone poe', dt).join(' ')) + ]; + + this.addPalette('allied_telesysMedia Converters', 'Allied Telesys / Media Converters', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysSecurityPalette = function(d, dt, sb, s) + { + s += 'security/'; + var gn = 'security'; + + var fns = [ + this.createVertexTemplateEntry(s + 'DVS_Surveillance_Monitor.svg;', + d * 0.7, d * 1, '', 'DVS Surveillance Monitor', false, null, this.getTagsForStencil(gn, 'dvs surveillance monitor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'EtherGRID.svg;', + d * 1.49, d * 1.08, '', 'EtherGRID', false, null, this.getTagsForStencil(gn, 'ethergrid', dt).join(' ')), + this.createVertexTemplateEntry(s + 'POE_DVS_Camera.svg;', + d * 0.85, d * 0.67, '', 'POE DVS Camera', false, null, this.getTagsForStencil(gn, 'poe dvs camera', dt).join(' ')), + this.createVertexTemplateEntry(s + 'POS.svg;', + d * 1.13, d * 1.2, '', 'POS', false, null, this.getTagsForStencil(gn, 'pos', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Router_UTM.svg;', + d * 0.93, d * 0.66, '', 'Router UTM', false, null, this.getTagsForStencil(gn, 'router utm', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Router_VPN.svg;', + d * 0.93, d * 0.66, '', 'Router VPN', false, null, this.getTagsForStencil(gn, 'router vpn', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Surveillance_Camera_Ceiling.svg;', + d * 0.62, d * 0.59, '', 'Surveillance Camera Ceiling', false, null, this.getTagsForStencil(gn, 'surveillance camera ceiling', dt).join(' ')) + ]; + + this.addPalette('allied_telesysSecurity', 'Allied Telesys / Security', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysStoragePalette = function(d, dt, sb, s) + { + s += 'storage/'; + var gn = 'storage'; + + var fns = [ + this.createVertexTemplateEntry(s + 'Datacenter_Server_Half_Rack_ToR.svg;', + d * 1.47, d * 1.91, '', 'Datacenter Server Half Rack ToR', false, null, this.getTagsForStencil(gn, 'datacenter server half rack tor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack.svg;', + d * 1.47, d * 2.98, '', 'Datacenter Server Rack', false, null, this.getTagsForStencil(gn, 'datacenter server rack', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_EoR.svg;', + d * 1.43, d * 2.89, '', 'Datacenter Server Rack EoR', false, null, this.getTagsForStencil(gn, 'datacenter server rack eor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_Storage_Unit_Small.svg;', + d * 1.29, d * 1.12, '', 'Datacenter Server Rack Storage Unit Small', false, null, this.getTagsForStencil(gn, 'datacenter server rack storage unit small', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Datacenter_Server_Rack_ToR.svg;', + d * 1.47, d * 2.98, '', 'Datacenter Server Rack ToR', false, null, this.getTagsForStencil(gn, 'datacenter server rack tor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Datacenter_Server_Storage_Unit_Large.svg;', + d * 1.28, d * 1.32, '', 'Datacenter Server Storage Unit Large', false, null, this.getTagsForStencil(gn, 'datacenter server storage unit large', dt).join(' ')) + ]; + + this.addPalette('allied_telesysStorage', 'Allied Telesys / Storage', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysSwitchPalette = function(d, dt, sb, s) + { + s += 'switch/'; + var gn = 'switch'; + + var fns = [ + this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE200.svg;', + d * 0.67, d * 0.94, '', 'Industrial Ethernet IE200', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie200', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE200_POE.svg;', + d * 0.67, d * 0.94, '', 'Industrial Ethernet IE200 POE', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie200 poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Industrial_Ethernet_IE300.svg;', + d * 1.16, d * 1.29, '', 'Industrial_Ethernet_IE300', false, null, this.getTagsForStencil(gn, 'industrial ethernet ie300', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Modular_Switch_SBx8106.svg;', + d * 1.43, d * 1.23, '', 'Modular Switch SBx8106', false, null, this.getTagsForStencil(gn, 'modular switch sbx8106', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Modular_Switch_SBx8112.svg;', + d * 1.49, d * 1.53, '', 'Modular Switch SBx8112', false, null, this.getTagsForStencil(gn, 'modular switch sbx8112', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Modular_Switch_SXx908GEN2.svg;', + d * 1.3, d * 1.11, '', 'Modular Switch SXx908GEN2', false, null, this.getTagsForStencil(gn, 'modular switch sxx908gen2', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_24_port_L2.svg;', + d * 1.24, d * 0.85, '', 'Switch 24 port L2', false, null, this.getTagsForStencil(gn, 'switch 24 port l2', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_24_port_L2_POE.svg;', + d * 1.24, d * 0.85, '', 'Switch 24 port L2 POE', false, null, this.getTagsForStencil(gn, 'switch 24 port l2 poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_24_port_L3.svg;', + d * 1.24, d * 0.85, '', 'Switch 24 port L3', false, null, this.getTagsForStencil(gn, 'switch 24 port l3', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_24_port_L3_Alternative.svg;', + d * 1.3, d * 0.88, '', 'Switch 24 port L3 Alternative', false, null, this.getTagsForStencil(gn, 'switch 24 port l3 alternative', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_24_port_L3_POE.svg;', + d * 1.24, d * 0.85, '', 'Switch 24 port L3 POE', false, null, this.getTagsForStencil(gn, 'switch 24 port l3 poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_48_port_L2.svg;', + d * 1.3, d * 0.88, '', 'Switch 48 port L2', false, null, this.getTagsForStencil(gn, 'switch 48 port l2', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_48_port_L2_POE.svg;', + d * 1.3, d * 0.88, '', 'Switch 48 port L2 POE', false, null, this.getTagsForStencil(gn, 'switch 48 port l2 poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_48_port_L3.svg;', + d * 1.3, d * 0.88, '', 'Switch 48 port L3', false, null, this.getTagsForStencil(gn, 'switch 48 port l3', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_48_port_L3_POE.svg;', + d * 1.3, d * 0.88, '', 'Switch 48 port L3 POE', false, null, this.getTagsForStencil(gn, 'switch 48 port l3 poe', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Switch_52_port_L3.svg;', + d * 1.3, d * 0.88, '', 'Switch 52 port L3', false, null, this.getTagsForStencil(gn, 'switch 52 port l3', dt).join(' ')) + ]; + + this.addPalette('allied_telesysSwitch', 'Allied Telesys / Switch', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + + Sidebar.prototype.addAlliedTelesysWirelessPalette = function(d, dt, sb, s) + { + s += 'wireless/'; + var gn = 'wireless'; + + var fns = [ + this.createVertexTemplateEntry(s + 'Access_Point_Indoor.svg;', + d * 0.61, d * 0.91, '', 'Access Point Indoor', false, null, this.getTagsForStencil(gn, 'access point indoor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Access_Point_Outdoor.svg;', + d * 0.43, d * 1.66, '', 'Access Point Outdoor', false, null, this.getTagsForStencil(gn, 'access point outdoor', dt).join(' ')), + this.createVertexTemplateEntry(s + 'Laptop_Wireless.svg;', + d * 0.96, d * 0.79, '', 'Laptop Wireless', false, null, this.getTagsForStencil(gn, 'laptop wireless', dt).join(' ')) + ]; + + this.addPalette('allied_telesysWireless', 'Allied Telesys / Wireless', false, mxUtils.bind(this, function(content) + { + for (var i = 0; i < fns.length; i++) + { + content.appendChild(fns[i](content)); + } + })); + }; + +})(); diff --git a/src/main/webapp/js/diagramly/sidebar/Sidebar.js b/src/main/webapp/js/diagramly/sidebar/Sidebar.js index 71e40612607ddbeea089d3c15c0105fbff3123ac..cfa80dcc73f42af6d2696138a8478e0c37a757a8 100644 --- a/src/main/webapp/js/diagramly/sidebar/Sidebar.js +++ b/src/main/webapp/js/diagramly/sidebar/Sidebar.js @@ -38,6 +38,11 @@ */ Sidebar.prototype.ibm = ['Analytics', 'Applications', 'Blockchain', 'Data', 'DevOps', 'Infrastructure', 'Management', 'Miscellaneous', 'Security', 'Social', 'Users']; + /** + * + */ + Sidebar.prototype.allied_telesys = ['Buildings', 'Computer and Terminals', 'Media Converters', 'Security', 'Storage', 'Switch', 'Wireless']; + /** * */ @@ -129,6 +134,7 @@ {id: 'bpmn', prefix: 'bpmn', libs: [''/*prefix is library*/, 'Gateways', 'Events']}, {id: 'clipart', prefix: null, libs: ['computer', 'finance', 'clipart', 'networking', 'people', 'telco']}, {id: 'ibm', prefix: 'ibm', libs: Sidebar.prototype.ibm}, + {id: 'allied_telesys', prefix: 'allied_telesys', libs: Sidebar.prototype.allied_telesys}, {id: 'eip', prefix: 'eip', libs: Sidebar.prototype.eip}, {id: 'mockups', prefix: 'mockup', libs: ['Buttons', 'Containers', 'Forms', 'Graphics', 'Markup', 'Misc', 'Navigation', 'Text']}, {id: 'pid2', prefix: 'pid2', libs: ['Agitators', 'Apparatus Elements', 'Centrifuges', 'Compressors', 'Compressors ISO', 'Crushers Grinding', @@ -353,6 +359,7 @@ {title: mxResources.get('networking'), entries: [{title: mxResources.get('aws'), id: 'aws3', image: IMAGE_PATH + '/sidebar-aws3.png'}, // TODO: Add isometric containers + {title: 'Allied Telesys', id: 'allied_telesys', image: IMAGE_PATH + '/sidebar-allied_telesys.png'}, {title: mxResources.get('aws3d'), id: 'aws3d', image: IMAGE_PATH + '/sidebar-aws3d.png'}, {title: mxResources.get('azure'), id: 'azure', image: IMAGE_PATH + '/sidebar-azure.png'}, {title: 'Cloud & Enterprise', id: 'mscae', image: IMAGE_PATH + '/sidebar-mscae.png'}, @@ -689,6 +696,7 @@ this.addOfficePalette(); this.addVeeamPalette(); this.addIBMPalette(); + this.addAlliedTelesysPalette(); this.addSitemapPalette(); this.addStencilPalette('arrows', mxResources.get('arrows'), dir + '/arrows.xml', diff --git a/src/main/webapp/js/diagramly/vsdx/importer.js b/src/main/webapp/js/diagramly/vsdx/importer.js index afaa506d52257a14a132b1193f10693fc82e8ea8..f6e6eb4edc37fa2e0f5381b56b97e0ae6fd946ae 100644 --- a/src/main/webapp/js/diagramly/vsdx/importer.js +++ b/src/main/webapp/js/diagramly/vsdx/importer.js @@ -1252,7 +1252,7 @@ var com; { shapeName_1 = ""; } - shapeName_1 = JSON.stringify(shapeName_1); + shapeName_1 = JSON.stringify(mxUtils.htmlEntities(shapeName_1)); /* append */ (function (sb) { return sb.str = sb.str.concat(shapeName_1); })(shapes_1); /* append */ (function (sb) { return sb.str = sb.str.concat("}"); })(shapes_1); comma_1 = ","; diff --git a/src/main/webapp/js/embed-static.min.js b/src/main/webapp/js/embed-static.min.js index ae75a9033df4b99cb878262a70e10d34f3ca7669..795d4620d0957bb05b26d467623e6d8e3dfb7960 100644 --- a/src/main/webapp/js/embed-static.min.js +++ b/src/main/webapp/js/embed-static.min.js @@ -36,18 +36,18 @@ function(){return null!==this.k};f.prototype.V=function(){return this.h&&decodeU this.l};f.prototype.ba=function(a){if("object"===typeof a&&!(a instanceof Array)&&(a instanceof Object||"[object Array]"!==Object.prototype.toString.call(a))){var b=[],c=-1,d;for(d in a){var e=a[d];"string"===typeof e&&(b[++c]=d,b[++c]=e)}a=b}for(var b=[],c="",f=0;f<a.length;)d=a[f++],e=a[f++],b.push(c,encodeURIComponent(d.toString())),c="&",e&&b.push("=",encodeURIComponent(e.toString()));this.l=b.join("")};f.prototype.fa=function(a){this.o=a?a:null};f.prototype.Z=function(){return null!==this.o}; var l=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,m=/[#\/\?@]/g,n=/[\#\?]/g;f.parse=a;f.create=function(a,d,e,g,h,k,l){a=new f(b(a,m),b(d,m),"string"==typeof e?encodeURIComponent(e):null,0<g?g.toString():null,b(h,n),null,"string"==typeof l?encodeURIComponent(l):null);k&&("string"===typeof k?a.O(k.replace(/[^?&=0-9A-Za-z_\-~.%]/g,c)):a.ba(k));return a};f.N=e;f.ma=d;f.ha={ua:function(b){return/\.html$/.test(a(b).U())?"text/html":"application/javascript"}, N:function(b,c){return b?e(a(b),a(c)).toString():""+c}};return f}();"undefined"!==typeof window&&(window.URI=f);var g=void 0,h=void 0,k=void 0,l=void 0;(function(){function a(a){return"string"===typeof a?'url("'+a.replace(x,c)+'")':'url("about:blank")'}function c(a){return y[a]}function d(a,b){return a?f.ha.N(a,b):b}function n(a,b,c){if(!c)return null;var d=(""+a).match(u);return!d||d[1]&&!D.test(d[1])?null:c(a,b)}function w(a){return a.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/, -"")}var x=/[\n\f\r\"\'()*<>]/g,y={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"},u=/^(?:([^:/?# ]+):)?/,D=/^(?:https?|mailto|data)$/i;g=function(){var c={};return function C(f,g,h,k,l){f=w(f);var m=b[f];if(m&&"object"===typeof m){for(var p=m.cssPropBits,v=p&80,q=p&1536,r=NaN,B=0,u=0;B<g.length;++B){var t=g[B].toLowerCase(),z=t.charCodeAt(0),x,M,y,D,H,E;if(32===z)t="";else if(34===z)t=16===v?h?a(n(d(k,e(g[B].substring(1,t.length-1))),f,h)):"": -p&8&&!(v&v-1)?t:"";else if("inherit"!==t){if(H=m.cssLitGroup){var F;if(!(F=m.cssLitMap)){F={};for(var L=H.length;0<=--L;)for(var R=H[L],fa=R.length;0<=--fa;)F[R[fa]]=c;F=m.cssLitMap=F}H=F}else H=c;if(E=H,E[w(t)]!==c)if(35===z&&/^#(?:[0-9a-f]{3}){1,2}$/.test(t))t=p&2?t:"";else if(48<=z&&57>=z)t=p&1?t:"";else if(x=t.charCodeAt(1),M=t.charCodeAt(2),y=48<=x&&57>=x,D=48<=M&&57>=M,43===z&&(y||46===x&&D))t=p&1?(y?"":"0")+t.substring(1):"";else if(45===z&&(y||46===x&&D))t=p&4?(y?"-":"-0")+t.substring(1): -p&1?"0":"";else if(46===z&&y)t=p&1?"0"+t:"";else if('url("'===t.substring(0,5))t=h&&p&16?a(n(d(k,g[B].substring(5,t.length-2)),f,h)):"";else if("("===t.charAt(t.length-1))a:{H=g;F=B;t=1;L=F+1;for(z=H.length;L<z&&t;)R=H[L++],t+=")"===R?-1:/^[^"']*\($/.test(R);if(!t)for(t=H[F].toLowerCase(),z=w(t),H=H.splice(F,L-F,""),F=m.cssFns,L=0,R=F.length;L<R;++L)if(F[L].substring(0,z.length)==z){H[0]=H[H.length-1]="";C(F[L],H,h,k);t=t+H.join(" ")+")";break a}t=""}else t=q&&/^-?[a-z_][\w\-]*$/.test(t)&&!/__$/.test(t)? +"")}var x=/[\n\f\r\"\'()*<>]/g,y={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"},u=/^(?:([^:/?# ]+):)?/,D=/^(?:https?|mailto|data)$/i;g=function(){var c={};return function C(f,g,h,k,l){f=w(f);var m=b[f];if(m&&"object"===typeof m){for(var p=m.cssPropBits,v=p&80,q=p&1536,r=NaN,B=0,u=0;B<g.length;++B){var t=g[B].toLowerCase(),z=t.charCodeAt(0),x,L,y,D,G,E;if(32===z)t="";else if(34===z)t=16===v?h?a(n(d(k,e(g[B].substring(1,t.length-1))),f,h)):"": +p&8&&!(v&v-1)?t:"";else if("inherit"!==t){if(G=m.cssLitGroup){var F;if(!(F=m.cssLitMap)){F={};for(var K=G.length;0<=--K;)for(var R=G[K],fa=R.length;0<=--fa;)F[R[fa]]=c;F=m.cssLitMap=F}G=F}else G=c;if(E=G,E[w(t)]!==c)if(35===z&&/^#(?:[0-9a-f]{3}){1,2}$/.test(t))t=p&2?t:"";else if(48<=z&&57>=z)t=p&1?t:"";else if(x=t.charCodeAt(1),L=t.charCodeAt(2),y=48<=x&&57>=x,D=48<=L&&57>=L,43===z&&(y||46===x&&D))t=p&1?(y?"":"0")+t.substring(1):"";else if(45===z&&(y||46===x&&D))t=p&4?(y?"-":"-0")+t.substring(1): +p&1?"0":"";else if(46===z&&y)t=p&1?"0"+t:"";else if('url("'===t.substring(0,5))t=h&&p&16?a(n(d(k,g[B].substring(5,t.length-2)),f,h)):"";else if("("===t.charAt(t.length-1))a:{G=g;F=B;t=1;K=F+1;for(z=G.length;K<z&&t;)R=G[K++],t+=")"===R?-1:/^[^"']*\($/.test(R);if(!t)for(t=G[F].toLowerCase(),z=w(t),G=G.splice(F,K-F,""),F=m.cssFns,K=0,R=F.length;K<R;++K)if(F[K].substring(0,z.length)==z){G[0]=G[G.length-1]="";C(F[K],G,h,k);t=t+G.join(" ")+")";break a}t=""}else t=q&&/^-?[a-z_][\w\-]*$/.test(t)&&!/__$/.test(t)? l&&512===q?g[B]+l:1024===q&&b[t]&&"number"===typeof b[t].oa?t:"":/^\w+$/.test(t)&&64===v&&p&8?r+1===u?(g[r]=g[r].substring(0,g[r].length-1)+" "+t+'"',""):(r=u,'"'+t+'"'):""}t&&(g[u++]=t)}1===u&&'url("about:blank")'===g[0]&&(u=0);g.length=u}else g.length=0}}();var F=/^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$/, E={};E[">"]=E["+"]=E["~"]=E;h=function(a,b,c){function d(d,k){function l(c,d,e){var h,k,l,n,v,Z=!0;h="";c<d&&((v=a[c],"*"===v)?(++c,h=v):/^[a-zA-Z]/.test(v)&&(k=g(v.toLowerCase(),[]))&&("tagName"in k&&(v=k.tagName),++c,h=v));for(n=l=k="";Z&&c<d;++c)if(v=a[c],"#"===v.charAt(0))/^#_|__$|[^\w#:\-]/.test(v)?Z=!1:k+=v+f;else if("."===v)++c<d&&/^[0-9A-Za-z:_\-]+$/.test(v=a[c])&&!/^_|__$/.test(v)?k+="."+v:Z=!1;else if(c+1<d&&"["===a[c]){++c;var C=a[c++].toLowerCase();v=p.m[h+"::"+C];v!==+v&&(v=p.m["*::"+ C]);var q;b.ia?(q=b.ia(h,C),"string"!==typeof q&&(Z=!1,q=C),Z&&v!==+v&&(v=p.d.NONE)):(q=C,v!==+v&&(Z=!1));var r=C="",B=!1;/^[~^$*|]?=$/.test(a[c])&&(C=a[c++],r=a[c++],/^[0-9A-Za-z:_\-]+$/.test(r)?r='"'+r+'"':"]"===r&&(r='""',--c),/^"([^\"\\]|\\.)*"$/.test(r)||(Z=!1),(B="i"===a[c])&&++c);"]"!==a[c]&&(++c,Z=!1);switch(v){case p.d.CLASSES:case p.d.LOCAL_NAME:case p.d.NONE:break;case p.d.GLOBAL_NAME:case p.d.ID:case p.d.IDREF:"="!==C&&"~="!==C&&"$="!==C||'""'==r||B?"|="===C||""===C||(Z=!1):r='"'+r.substring(1, r.length-1)+f+'"';break;case p.d.URI:case p.d.URI_FRAGMENT:""!==C&&(Z=!1);break;default:Z=!1}Z&&(l+="["+q.replace(/[^\w-]/g,"\\$&")+C+r+(B?" i]":"]"))}else if(c<d&&":"===a[c])if(v=a[++c],F.test(v))n+=":"+v;else break;else break;c!==d&&(Z=!1);Z&&(c=(h+k).replace(/[^ .*#\w-]/g,"\\$&")+l+n+e)&&m.push(c);return Z}" "===a[d]&&++d;k-1!==d&&" "===a[k]&&--k;for(var m=[],n=d,v=!0,C=d;v&&C<k;++C){var q=a[C];if(E[q]===E||" "===q)l(n,C,q)?n=C+1:v=!1}l(n,k,"")||(v=!1);return v?(m.length&&(n=m.join(""),null!== e&&(n="."+e+" "+n),h.push(n)),!0):!c||c(a.slice(d,k))}var e=b.na,f=b.L,g=b.Aa,h=[],k=0,l,m=0,n;for(l=0;l<a.length;++l)(n=a[l],"("==n||"["==n?(++m,0):")"==n||"]"==n?(m&&--m,0):" "==a[l]&&(m||E[a[l-1]]===E||E[a[l+1]]===E))||(a[k++]=a[l]);a.length=k;k=a.length;for(l=m=0;l<k;++l)if(","===a[l]){if(!d(m,l))return null;m=l+1}return d(m,k)?h:null};(function(){var a=/^\w/,b=/^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))(?: and ?\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))(?: and ?\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))*))*$/i; l=function(c){c=c.slice();for(var d=c.length,e=0,f=0;f<d;++f){var g=c[f];" "!=g&&(c[e++]=g)}c.length=e;c=c.join(" ");return c.length?b.test(c)?a.test(c)?c:"not all , "+c:"not all":""}})();(function(){function a(a){var b=/^\s*[']([^']*)[']\s*$/,c=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,d=/^\s*url\s*[(][']([^']*)['][)]\s*$/,e=/^\s*url\s*[(]([^)]*)[)]\s*$/,f;return(f=/^\s*["]([^"]*)["]\s*$/.exec(a))||(f=b.exec(a))||(f=c.exec(a))||(f=d.exec(a))||(f=e.exec(a))?f[1]:null}function b(c,e,f,k,p,q,r){function C(){t= -I.length&&null===I[I.length-1]}var v=void 0,B=r||[0],I=[],t=!1;m(e,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(e,g){if(t)e=null;else if("@media"===e)v.push("@media"," ",l(g));else if("@keyframes"===e||"@-webkit-keyframes"===e){var h=g[0];1!==g.length||/__$|[^\w\-]/.test(h)?e=null:(v.push(e," ",h+f.L),e="@keyframes")}else if("@import"===e&&0<g.length)if(e=null,"function"===typeof q){var m=l(g.slice(1));if("not all"!==m){++B[0];var C=[];v.push(C);var r=n(d(c,a(g[0])), -function(a){var c=b(r,a.qa,f,k,p,q,B);--B[0];a=m?{toString:function(){return"@media "+m+" {"+c.result+"}"}}:c.result;C[0]=a;q(a,!!B[0])},p)}}else window.console&&window.console.log("@import "+g.join(" ")+" elided");t=!e;I.push(e)},endAtrule:function(){I.pop();t||v.push(";");C()},startBlock:function(){t||v.push("{")},endBlock:function(){t||(v.push("}"),t=!0)},startRuleset:function(a){if(!t){var b=void 0;"@keyframes"===I[I.length-1]?(b=a.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), -t=!b,b&&(b=b[0].replace(/ +/g,""))):(a=h(a,f),a&&a.length?b=a.join(", "):t=!0);t||v.push(b,"{")}I.push(null)},endRuleset:function(){I.pop();t||v.push("}");C()},declaration:function(a,b){if(!t){var d=!1,e=b.length;2<=e&&"!"===b[e-2]&&"important"===b[e-1].toLowerCase()&&(d=!0,b.length-=2);g(a,b,k,c,f.L);b.length&&v.push(a,":",b.join(" "),d?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!B[0]}}k=function(a,c,d,e){return b(a,c,d,e,void 0,void 0).result.toString()}})()})(); +H.length&&null===H[H.length-1]}var v=void 0,B=r||[0],H=[],t=!1;m(e,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(e,g){if(t)e=null;else if("@media"===e)v.push("@media"," ",l(g));else if("@keyframes"===e||"@-webkit-keyframes"===e){var h=g[0];1!==g.length||/__$|[^\w\-]/.test(h)?e=null:(v.push(e," ",h+f.L),e="@keyframes")}else if("@import"===e&&0<g.length)if(e=null,"function"===typeof q){var m=l(g.slice(1));if("not all"!==m){++B[0];var C=[];v.push(C);var r=n(d(c,a(g[0])), +function(a){var c=b(r,a.qa,f,k,p,q,B);--B[0];a=m?{toString:function(){return"@media "+m+" {"+c.result+"}"}}:c.result;C[0]=a;q(a,!!B[0])},p)}}else window.console&&window.console.log("@import "+g.join(" ")+" elided");t=!e;H.push(e)},endAtrule:function(){H.pop();t||v.push(";");C()},startBlock:function(){t||v.push("{")},endBlock:function(){t||(v.push("}"),t=!0)},startRuleset:function(a){if(!t){var b=void 0;"@keyframes"===H[H.length-1]?(b=a.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), +t=!b,b&&(b=b[0].replace(/ +/g,""))):(a=h(a,f),a&&a.length?b=a.join(", "):t=!0);t||v.push(b,"{")}H.push(null)},endRuleset:function(){H.pop();t||v.push("}");C()},declaration:function(a,b){if(!t){var d=!1,e=b.length;2<=e&&"!"===b[e-2]&&"important"===b[e-1].toLowerCase()&&(d=!0,b.length-=2);g(a,b,k,c,f.L);b.length&&v.push(a,":",b.join(" "),d?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!B[0]}}k=function(a,c,d,e){return b(a,c,d,e,void 0,void 0).result.toString()}})()})(); "undefined"!==typeof window&&(window.sanitizeCssProperty=g,window.sanitizeCssSelectorList=h,window.sanitizeStylesheet=k,window.sanitizeMediaQuery=l);var m,n;(function(){function a(a,c,d,e,f){for(var g=c++;c<d&&"{"!==a[c]&&";"!==a[c];)++c;if(c<d&&(f||";"===a[c])){f=g+1;var h=c;f<d&&" "===a[f]&&++f;h>f&&" "===a[h-1]&&--h;e.startAtrule&&e.startAtrule(a[g].toLowerCase(),a.slice(f,h));c="{"===a[c]?b(a,c,d,e):c+1;e.endAtrule&&e.endAtrule()}return c}function b(d,e,f,g){++e;for(g.startBlock&&g.startBlock();e< f;){var h=d[e].charAt(0);if("}"==h){++e;break}e=" "===h||";"===h?e+1:"@"===h?a(d,e,f,g,!1):"{"===h?b(d,e,f,g):c(d,e,f,g)}g.endBlock&&g.endBlock();return e}function c(a,b,c,d){var f=b,h=e(a,b,c,!0);if(0>h)return h=~h,h===f?h+1:h;var k=a[h];if("{"!==k)return h===f?h+1:h;b=h+1;h>f&&" "===a[h-1]&&--h;for(d.startRuleset&&d.startRuleset(a.slice(f,h));b<c;){k=a[b];if("}"===k){++b;break}b=" "===k?b+1:g(a,b,c,d)}d.endRuleset&&d.endRuleset();return b}function e(a,b,c,d){for(var e,f=[],g=-1;b<c;++b)if(e=a[b].charAt(0), "["===e||"("===e)f[++g]=e;else if("]"===e&&"["===f[g]||")"===e&&"("===f[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function f(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function g(a,b,c,d){var g=a[b++];if(!h.test(g))return f(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return f(a,b,c);++b;b<c&&" "===a[b]&&++b;var k=e(a,b,c,!1);if(0>k)k=~k;else{for(var l=[],m=0,n=b;n<k;++n)b=a[n]," "!==b&&(l[m++]=b);if(k<c){do{b= @@ -71,21 +71,21 @@ frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",mark:"HTMLElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",nobr:"HTMLElement",noembed:"HTMLElement",noframes:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement", s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",section:"HTMLElement",select:"HTMLSelectElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strike:"HTMLElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableDataCellElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableHeaderCellElement",thead:"HTMLTableSectionElement", time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",tt:"HTMLElement",u:"HTMLElement",ul:"HTMLUListElement","var":"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};p.ELEMENT_DOM_INTERFACES=p.Q;p.P={NOT_LOADED:0,SAME_DOCUMENT:1,NEW_DOCUMENT:2};p.ueffects=p.P;p.J={"a::href":2,"area::href":2,"audio::src":1,"blockquote::cite":0,"command::icon":1,"del::cite":0,"form::action":2,"img::src":1,"input::src":1,"ins::cite":0,"q::cite":0,"video::poster":1,"video::src":1}; -p.URIEFFECTS=p.J;p.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};p.ltypes=p.M;p.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};p.LOADERTYPES=p.I;"undefined"!==typeof window&&(window.html4=p);a=function(a){function b(a,b){var c;if(aa.hasOwnProperty(b))c=aa[b];else{var d=b.match(A);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(v))?String.fromCharCode(parseInt(d[1], -16)):I&&Q.test(b)?(I.innerHTML="&"+b+";",d=I.textContent,aa[b]=d):"&"+b+";"}return c}function c(a){return a.replace(ba,b)}function d(a){return(""+a).replace(K,"&").replace(T,"<").replace(ca,">").replace(ea,""")}function e(a){return a.replace(X,"&$1").replace(T,"<").replace(ca,">")}function g(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,c){var d,e=/(<\/|<\!--|<[!?]|[&<>])/g; -d=a+"";if(V)d=d.split(e);else{for(var f=[],g=0,h;null!==(h=e.exec(d));)f.push(d.substring(g,h.index)),f.push(h[0]),g=h.index+h[0].length;f.push(d.substring(g));d=f}k(b,d,0,{r:!1,C:!1},c)}}function h(a,b,c,d,e){return function(){k(a,b,c,d,e)}}function k(b,c,d,e,f){try{b.H&&0==d&&b.H(f);for(var g,k,n,v=c.length;d<v;){var C=c[d++],p=c[d];switch(C){case "&":N.test(p)?(b.e&&b.e("&"+p,f,O,h(b,c,d,e,f)),d++):b.e&&b.e("&",f,O,h(b,c,d,e,f));break;case "</":if(g=/^([-\w:]+)[^\'\"]*/.exec(p))if(g[0].length=== -p.length&&">"===c[d+1])d+=2,n=g[1].toLowerCase(),b.t&&b.t(n,f,O,h(b,c,d,e,f));else{var Z=c,R=d,q=b,r=f,Y=O,I=e,t=m(Z,R);t?(q.t&&q.t(t.name,r,Y,h(q,Z,R,I,r)),d=t.next):d=Z.length}else b.e&&b.e("</",f,O,h(b,c,d,e,f));break;case "<":if(g=/^([-\w:]+)\s*\/?/.exec(p))if(g[0].length===p.length&&">"===c[d+1]){d+=2;n=g[1].toLowerCase();b.w&&b.w(n,[],f,O,h(b,c,d,e,f));var Q=a.f[n];Q&W&&(d=l(c,{name:n,next:d,c:Q},b,f,O,e))}else{var Z=c,R=b,q=f,r=O,Y=e,B=m(Z,d);B?(R.w&&R.w(B.name,B.R,q,r,h(R,Z,B.next,Y,q)), -d=B.c&W?l(Z,B,R,q,r,Y):B.next):d=Z.length}else b.e&&b.e("<",f,O,h(b,c,d,e,f));break;case "\x3c!--":if(!e.C){for(k=d+1;k<v&&(">"!==c[k]||!/--$/.test(c[k-1]));k++);if(k<v){if(b.A){var u=c.slice(d,k).join("");b.A(u.substr(0,u.length-2),f,O,h(b,c,k+1,e,f))}d=k+1}else e.C=!0}e.C&&b.e&&b.e("<!--",f,O,h(b,c,d,e,f));break;case "<!":if(/^\w/.test(p)){if(!e.r){for(k=d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<!",f,O,h(b,c,d,e,f))}else b.e&&b.e("<!",f,O,h(b,c,d,e,f));break;case "<?":if(!e.r){for(k= -d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<?",f,O,h(b,c,d,e,f));break;case ">":b.e&&b.e(">",f,O,h(b,c,d,e,f));break;case "":break;default:b.e&&b.e(C,f,O,h(b,c,d,e,f))}}b.B&&b.B(f)}catch(la){if(la!==O)throw la;}}function l(b,c,d,f,g,k){var l=b.length;R.hasOwnProperty(c.name)||(R[c.name]=RegExp("^"+c.name+"(?:[\\s\\/]|$)","i"));for(var m=R[c.name],n=c.next,v=c.next+1;v<l&&("</"!==b[v-1]||!m.test(b[v]));v++);v<l&&--v;l=b.slice(n,v).join("");if(c.c&a.c.CDATA)d.z&&d.z(l,f,g,h(d,b, +p.URIEFFECTS=p.J;p.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};p.ltypes=p.M;p.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};p.LOADERTYPES=p.I;"undefined"!==typeof window&&(window.html4=p);a=function(a){function b(a,b){var c;if(aa.hasOwnProperty(b))c=aa[b];else{var d=b.match(X);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(v))?String.fromCharCode(parseInt(d[1], +16)):H&&Q.test(b)?(H.innerHTML="&"+b+";",d=H.textContent,aa[b]=d):"&"+b+";"}return c}function c(a){return a.replace(ba,b)}function d(a){return(""+a).replace(J,"&").replace(T,"<").replace(ca,">").replace(ea,""")}function e(a){return a.replace(N,"&$1").replace(T,"<").replace(ca,">")}function g(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,c){var d,e=/(<\/|<\!--|<[!?]|[&<>])/g; +d=a+"";if(V)d=d.split(e);else{for(var f=[],g=0,h;null!==(h=e.exec(d));)f.push(d.substring(g,h.index)),f.push(h[0]),g=h.index+h[0].length;f.push(d.substring(g));d=f}k(b,d,0,{r:!1,C:!1},c)}}function h(a,b,c,d,e){return function(){k(a,b,c,d,e)}}function k(b,c,d,e,f){try{b.H&&0==d&&b.H(f);for(var g,k,n,v=c.length;d<v;){var p=c[d++],C=c[d];switch(p){case "&":M.test(C)?(b.e&&b.e("&"+C,f,O,h(b,c,d,e,f)),d++):b.e&&b.e("&",f,O,h(b,c,d,e,f));break;case "</":if(g=/^([-\w:]+)[^\'\"]*/.exec(C))if(g[0].length=== +C.length&&">"===c[d+1])d+=2,n=g[1].toLowerCase(),b.t&&b.t(n,f,O,h(b,c,d,e,f));else{var Z=c,R=d,q=b,r=f,Y=O,H=e,t=m(Z,R);t?(q.t&&q.t(t.name,r,Y,h(q,Z,R,H,r)),d=t.next):d=Z.length}else b.e&&b.e("</",f,O,h(b,c,d,e,f));break;case "<":if(g=/^([-\w:]+)\s*\/?/.exec(C))if(g[0].length===C.length&&">"===c[d+1]){d+=2;n=g[1].toLowerCase();b.w&&b.w(n,[],f,O,h(b,c,d,e,f));var Q=a.f[n];Q&W&&(d=l(c,{name:n,next:d,c:Q},b,f,O,e))}else{var Z=c,R=b,q=f,r=O,Y=e,B=m(Z,d);B?(R.w&&R.w(B.name,B.R,q,r,h(R,Z,B.next,Y,q)), +d=B.c&W?l(Z,B,R,q,r,Y):B.next):d=Z.length}else b.e&&b.e("<",f,O,h(b,c,d,e,f));break;case "\x3c!--":if(!e.C){for(k=d+1;k<v&&(">"!==c[k]||!/--$/.test(c[k-1]));k++);if(k<v){if(b.A){var u=c.slice(d,k).join("");b.A(u.substr(0,u.length-2),f,O,h(b,c,k+1,e,f))}d=k+1}else e.C=!0}e.C&&b.e&&b.e("<!--",f,O,h(b,c,d,e,f));break;case "<!":if(/^\w/.test(C)){if(!e.r){for(k=d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<!",f,O,h(b,c,d,e,f))}else b.e&&b.e("<!",f,O,h(b,c,d,e,f));break;case "<?":if(!e.r){for(k= +d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<?",f,O,h(b,c,d,e,f));break;case ">":b.e&&b.e(">",f,O,h(b,c,d,e,f));break;case "":break;default:b.e&&b.e(p,f,O,h(b,c,d,e,f))}}b.B&&b.B(f)}catch(la){if(la!==O)throw la;}}function l(b,c,d,f,g,k){var l=b.length;R.hasOwnProperty(c.name)||(R[c.name]=RegExp("^"+c.name+"(?:[\\s\\/]|$)","i"));for(var m=R[c.name],n=c.next,v=c.next+1;v<l&&("</"!==b[v-1]||!m.test(b[v]));v++);v<l&&--v;l=b.slice(n,v).join("");if(c.c&a.c.CDATA)d.z&&d.z(l,f,g,h(d,b, v,k,f));else if(c.c&a.c.RCDATA)d.F&&d.F(e(l),f,g,h(d,b,v,k,f));else throw Error("bug");return v}function m(b,d){var e=/^([-\w:]+)/.exec(b[d]),f={};f.name=e[1].toLowerCase();f.c=a.f[f.name];for(var g=b[d].substr(e[0].length),h=d+1,k=b.length;h<k&&">"!==b[h];h++)g+=b[h];if(!(k<=h)){for(var l=[];""!==g;)if(e=P.exec(g))if(e[4]&&!e[5]||e[6]&&!e[7]){for(var e=e[4]||e[6],m=!1,g=[g,b[h++]];h<k;h++){if(m){if(">"===b[h])break}else 0<=b[h].indexOf(e)&&(m=!0);g.push(b[h])}if(k<=h)break;g=g.join("")}else{var m= -e[1].toLowerCase(),n;if(e[2]){n=e[3];var v=n.charCodeAt(0);if(34===v||39===v)n=n.substr(1,n.length-2);n=c(n.replace(J,""))}else n="";l.push(m,n);g=g.substr(e[0].length)}else g=g.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function n(b){function c(a,b){f||b.push(a)}var e,f;return g({startDoc:function(){e=[];f=!1},startTag:function(c,g,h){if(!f&&a.f.hasOwnProperty(c)){var k=a.f[c];if(!(k&a.c.FOLDABLE)){var l=b(c,g);if(l){if("object"!==typeof l)throw Error("tagPolicy did not return object (old API?)"); -if("attribs"in l)g=l.attribs;else throw Error("tagPolicy gave no attribs");var m;"tagName"in l?(m=l.tagName,l=a.f[m]):(m=c,l=k);if(k&a.c.OPTIONAL_ENDTAG){var n=e[e.length-1];n&&n.D===c&&(n.v!==m||c!==m)&&h.push("</",n.v,">")}k&a.c.EMPTY||e.push({D:c,v:m});h.push("<",m);c=0;for(n=g.length;c<n;c+=2){var v=g[c],p=g[c+1];null!==p&&void 0!==p&&h.push(" ",v,'="',d(p),'"')}h.push(">");k&a.c.EMPTY&&!(l&a.c.EMPTY)&&h.push("</",m,">")}else f=!(k&a.c.EMPTY)}}},endTag:function(b,c){if(f)f=!1;else if(a.f.hasOwnProperty(b)){var d= +e[1].toLowerCase(),n;if(e[2]){n=e[3];var v=n.charCodeAt(0);if(34===v||39===v)n=n.substr(1,n.length-2);n=c(n.replace(I,""))}else n="";l.push(m,n);g=g.substr(e[0].length)}else g=g.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function n(b){function c(a,b){f||b.push(a)}var e,f;return g({startDoc:function(){e=[];f=!1},startTag:function(c,g,h){if(!f&&a.f.hasOwnProperty(c)){var k=a.f[c];if(!(k&a.c.FOLDABLE)){var l=b(c,g);if(l){if("object"!==typeof l)throw Error("tagPolicy did not return object (old API?)"); +if("attribs"in l)g=l.attribs;else throw Error("tagPolicy gave no attribs");var m;"tagName"in l?(m=l.tagName,l=a.f[m]):(m=c,l=k);if(k&a.c.OPTIONAL_ENDTAG){var n=e[e.length-1];n&&n.D===c&&(n.v!==m||c!==m)&&h.push("</",n.v,">")}k&a.c.EMPTY||e.push({D:c,v:m});h.push("<",m);c=0;for(n=g.length;c<n;c+=2){var v=g[c],C=g[c+1];null!==C&&void 0!==C&&h.push(" ",v,'="',d(C),'"')}h.push(">");k&a.c.EMPTY&&!(l&a.c.EMPTY)&&h.push("</",m,">")}else f=!(k&a.c.EMPTY)}}},endTag:function(b,c){if(f)f=!1;else if(a.f.hasOwnProperty(b)){var d= a.f[b];if(!(d&(a.c.EMPTY|a.c.FOLDABLE))){if(d&a.c.OPTIONAL_ENDTAG)for(d=e.length;0<=--d;){var g=e[d].D;if(g===b)break;if(!(a.f[g]&a.c.OPTIONAL_ENDTAG))return}else for(d=e.length;0<=--d&&e[d].D!==b;);if(!(0>d)){for(g=e.length;--g>d;){var h=e[g].v;a.f[h]&a.c.OPTIONAL_ENDTAG||c.push("</",h,">")}d<e.length&&(b=e[d].v);e.length=d;c.push("</",b,">")}}}},pcdata:c,rcdata:c,cdata:c,endDoc:function(a){for(;e.length;e.length--)a.push("</",e[e.length-1].v,">")}})}function p(a,b,c,d,e){if(!e)return null;try{var g= -f.parse(""+a);if(g&&(!g.K()||fa.test(g.W()))){var h=e(g,b,c,d);return h?h.toString():null}}catch(ia){}return null}function r(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function C(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+c;if(a.hasOwnProperty(b))return a[b]}function M(b,c,d,e,f){for(var g=0;g<c.length;g+=2){var h=c[g],k=c[g+1],l=k,m=null,n;if((n= +f.parse(""+a);if(g&&(!g.K()||fa.test(g.W()))){var h=e(g,b,c,d);return h?h.toString():null}}catch(ia){}return null}function r(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function C(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+c;if(a.hasOwnProperty(b))return a[b]}function L(b,c,d,e,f){for(var g=0;g<c.length;g+=2){var h=c[g],k=c[g+1],l=k,m=null,n;if((n= b+"::"+h,a.m.hasOwnProperty(n))||(n="*::"+h,a.m.hasOwnProperty(n)))m=a.m[n];if(null!==m)switch(m){case a.d.NONE:break;case a.d.SCRIPT:k=null;f&&r(f,b,h,l,k);break;case a.d.STYLE:if("undefined"===typeof U){k=null;f&&r(f,b,h,l,k);break}var v=[];U(k,{declaration:function(b,c){var e=b.toLowerCase();S(e,c,d?function(b){return p(b,a.P.ja,a.M.ka,{TYPE:"CSS",CSS_PROP:e},d)}:null);c.length&&v.push(e+": "+c.join(" "))}});k=0<v.length?v.join(" ; "):null;f&&r(f,b,h,l,k);break;case a.d.ID:case a.d.IDREF:case a.d.IDREFS:case a.d.GLOBAL_NAME:case a.d.LOCAL_NAME:case a.d.CLASSES:k= -e?e(k):k;f&&r(f,b,h,l,k);break;case a.d.URI:k=p(k,C(a.J,b,h),C(a.I,b,h),{TYPE:"MARKUP",XML_ATTR:h,XML_TAG:b},d);f&&r(f,b,h,l,k);break;case a.d.URI_FRAGMENT:k&&"#"===k.charAt(0)?(k=k.substring(1),k=e?e(k):k,null!==k&&void 0!==k&&(k="#"+k)):k=null;f&&r(f,b,h,l,k);break;default:k=null,f&&r(f,b,h,l,k)}else k=null,f&&r(f,b,h,l,k);c[g+1]=k}return c}function L(b,c,d){return function(e,f){if(a.f[e]&a.c.UNSAFE)d&&r(d,e,void 0,void 0,void 0);else return{attribs:M(e,f,b,c,d)}}}function H(a,b){var c=[];n(b)(a, -c);return c.join("")}var U,S;"undefined"!==typeof window&&(U=window.parseCssDeclarations,S=window.sanitizeCssProperty);var aa={lt:"<",LT:"<",gt:">",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"Â "},A=/^#(\d+)$/,v=/^#x([0-9A-Fa-f]+)$/,Q=/^[A-Za-z][A-za-z0-9]+$/,I="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):null,J=/\0/g,ba=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,N=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,K=/&/g,X=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,T= -/[<]/g,ca=/>/g,ea=/\"/g,P=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,V=3==="a,b".split(/(,)/).length,W=a.c.CDATA|a.c.RCDATA,O={},R={},fa=/^(?:https?|mailto|data)$/i,Y={};Y.pa=Y.escapeAttrib=d;Y.ra=Y.makeHtmlSanitizer=n;Y.sa=Y.makeSaxParser=g;Y.ta=Y.makeTagPolicy=L;Y.wa=Y.normalizeRCData=e;Y.xa=Y.sanitize=function(a,b,c,d){return H(a,L(b,c,d))};Y.ya=Y.sanitizeAttribs=M;Y.za=Y.sanitizeWithPolicy=H;Y.Ba=Y.unescapeEntities=c;return Y}(p);c=a.sanitize;"undefined"!== +e?e(k):k;f&&r(f,b,h,l,k);break;case a.d.URI:k=p(k,C(a.J,b,h),C(a.I,b,h),{TYPE:"MARKUP",XML_ATTR:h,XML_TAG:b},d);f&&r(f,b,h,l,k);break;case a.d.URI_FRAGMENT:k&&"#"===k.charAt(0)?(k=k.substring(1),k=e?e(k):k,null!==k&&void 0!==k&&(k="#"+k)):k=null;f&&r(f,b,h,l,k);break;default:k=null,f&&r(f,b,h,l,k)}else k=null,f&&r(f,b,h,l,k);c[g+1]=k}return c}function K(b,c,d){return function(e,f){if(a.f[e]&a.c.UNSAFE)d&&r(d,e,void 0,void 0,void 0);else return{attribs:L(e,f,b,c,d)}}}function G(a,b){var c=[];n(b)(a, +c);return c.join("")}var U,S;"undefined"!==typeof window&&(U=window.parseCssDeclarations,S=window.sanitizeCssProperty);var aa={lt:"<",LT:"<",gt:">",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"Â "},X=/^#(\d+)$/,v=/^#x([0-9A-Fa-f]+)$/,Q=/^[A-Za-z][A-za-z0-9]+$/,H="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):null,I=/\0/g,ba=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,M=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,J=/&/g,N=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,T= +/[<]/g,ca=/>/g,ea=/\"/g,P=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,V=3==="a,b".split(/(,)/).length,W=a.c.CDATA|a.c.RCDATA,O={},R={},fa=/^(?:https?|mailto|data)$/i,Y={};Y.pa=Y.escapeAttrib=d;Y.ra=Y.makeHtmlSanitizer=n;Y.sa=Y.makeSaxParser=g;Y.ta=Y.makeTagPolicy=K;Y.wa=Y.normalizeRCData=e;Y.xa=Y.sanitize=function(a,b,c,d){return G(a,K(b,c,d))};Y.ya=Y.sanitizeAttribs=L;Y.za=Y.sanitizeWithPolicy=G;Y.Ba=Y.unescapeEntities=c;return Y}(p);c=a.sanitize;"undefined"!== typeof window&&(window.html=a,window.html_sanitize=c)})();var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a,b){var c="",d,e,f,g,h,k,l=0;for(null!=b&&b||(a=Base64._utf8_encode(a));l<a.length;)d=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=d>>2,d=(d&3)<<4|e>>4,h=(e&15)<<2|f>>6,k=f&63,isNaN(e)?h=k=64:isNaN(f)&&(k=64),c=c+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(h)+this._keyStr.charAt(k);return c},decode:function(a,b){b=null!=b?b:!1;var c="",d,e,f,g,h,k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g, "");k<a.length;)d=this._keyStr.indexOf(a.charAt(k++)),e=this._keyStr.indexOf(a.charAt(k++)),g=this._keyStr.indexOf(a.charAt(k++)),h=this._keyStr.indexOf(a.charAt(k++)),d=d<<2|e>>4,e=(e&15)<<4|g>>2,f=(g&3)<<6|h,c+=String.fromCharCode(d),64!=g&&(c+=String.fromCharCode(e)),64!=h&&(c+=String.fromCharCode(f));b||(c=Base64._utf8_decode(c));return c},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):(127<d&&2048>d?b+= String.fromCharCode(d>>6|192):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128)),b+=String.fromCharCode(d&63|128))}return b},_utf8_decode:function(a){var b="",c=0,d;for(c1=c2=0;c<a.length;)d=a.charCodeAt(c),128>d?(b+=String.fromCharCode(d),c++):191<d&&224>d?(c2=a.charCodeAt(c+1),b+=String.fromCharCode((d&31)<<6|c2&63),c+=2):(c2=a.charCodeAt(c+1),c3=a.charCodeAt(c+2),b+=String.fromCharCode((d&15)<<12|(c2&63)<<6|c3&63),c+=3);return b}};!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=a()}(function(){return function b(c,d,e){function f(h,l){if(!d[h]){if(!c[h]){var k="function"==typeof require&&require;if(!l&&k)return k(h,!0);if(g)return g(h,!0);k=Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k;}k=d[h]={exports:{}}; @@ -95,9 +95,9 @@ new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/defla f.avail_out&&(f.output=new h.Buf8(l),f.next_out=0,f.avail_out=l),d=g.deflate(f,e),1!==d&&d!==p)return this.onEnd(d),this.ended=!0,!1;0!==f.avail_out&&(0!==f.avail_in||4!==e&&2!==e)||("string"===this.options.to?this.onData(k.buf2binstring(h.shrinkBuf(f.output,f.next_out))):this.onData(h.shrinkBuf(f.output,f.next_out)))}while((0<f.avail_in||0===f.avail_out)&&1!==d);return 4===e?(d=g.deflateEnd(this.strm),this.onEnd(d),this.ended=!0,d===p):2!==e||(this.onEnd(p),f.avail_out=0,!0)};e.prototype.onData= function(b){this.chunks.push(b)};e.prototype.onEnd=function(b){b===p&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Deflate=e;d.deflate=f;d.deflateRaw=function(b,c){return c=c||{},c.raw=!0,f(b,c)};d.gzip=function(b,c){return c=c||{},c.gzip=!0,f(b,c)}},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(b,c,d){function e(b){if(!(this instanceof e))return new e(b);var c=this.options=h.assign({chunkSize:16384,windowBits:0,to:""},b||{});c.raw&&0<=c.windowBits&&16>c.windowBits&&(c.windowBits=-c.windowBits,0===c.windowBits&&(c.windowBits=-15));!(0<=c.windowBits&&16>c.windowBits)||b&&b.windowBits||(c.windowBits+=32);15<c.windowBits&&48>c.windowBits&&0===(15&c.windowBits)&&(c.windowBits|=15);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new n;this.strm.avail_out=0;b=g.inflateInit2(this.strm,c.windowBits);if(b!==l.Z_OK)throw Error(m[b]); -this.header=new p;g.inflateGetHeader(this.strm,this.header)}function f(b,c){var d=new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/inflate"),h=b("./utils/common"),k=b("./utils/strings"),l=b("./zlib/constants"),m=b("./zlib/messages"),n=b("./zlib/zstream"),p=b("./zlib/gzheader"),r=Object.prototype.toString;e.prototype.push=function(b,c){var d,e,f,m,n,p,q=this.strm,t=this.options.chunkSize,B=this.options.dictionary,G=!1;if(this.ended)return!1;e=c===~~c?c:!0===c?l.Z_FINISH:l.Z_NO_FLUSH; -"string"==typeof b?q.input=k.binstring2buf(b):"[object ArrayBuffer]"===r.call(b)?q.input=new Uint8Array(b):q.input=b;q.next_in=0;q.avail_in=q.input.length;do{if(0===q.avail_out&&(q.output=new h.Buf8(t),q.next_out=0,q.avail_out=t),d=g.inflate(q,l.Z_NO_FLUSH),d===l.Z_NEED_DICT&&B&&(p="string"==typeof B?k.string2buf(B):"[object ArrayBuffer]"===r.call(B)?new Uint8Array(B):B,d=g.inflateSetDictionary(this.strm,p)),d===l.Z_BUF_ERROR&&!0===G&&(d=l.Z_OK,G=!1),d!==l.Z_STREAM_END&&d!==l.Z_OK)return this.onEnd(d), -this.ended=!0,!1;q.next_out&&(0!==q.avail_out&&d!==l.Z_STREAM_END&&(0!==q.avail_in||e!==l.Z_FINISH&&e!==l.Z_SYNC_FLUSH)||("string"===this.options.to?(f=k.utf8border(q.output,q.next_out),m=q.next_out-f,n=k.buf2string(q.output,f),q.next_out=m,q.avail_out=t-m,m&&h.arraySet(q.output,q.output,f,m,0),this.onData(n)):this.onData(h.shrinkBuf(q.output,q.next_out))));0===q.avail_in&&0===q.avail_out&&(G=!0)}while((0<q.avail_in||0===q.avail_out)&&d!==l.Z_STREAM_END);return d===l.Z_STREAM_END&&(e=l.Z_FINISH), +this.header=new p;g.inflateGetHeader(this.strm,this.header)}function f(b,c){var d=new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/inflate"),h=b("./utils/common"),k=b("./utils/strings"),l=b("./zlib/constants"),m=b("./zlib/messages"),n=b("./zlib/zstream"),p=b("./zlib/gzheader"),r=Object.prototype.toString;e.prototype.push=function(b,c){var d,e,f,m,n,p,q=this.strm,t=this.options.chunkSize,B=this.options.dictionary,A=!1;if(this.ended)return!1;e=c===~~c?c:!0===c?l.Z_FINISH:l.Z_NO_FLUSH; +"string"==typeof b?q.input=k.binstring2buf(b):"[object ArrayBuffer]"===r.call(b)?q.input=new Uint8Array(b):q.input=b;q.next_in=0;q.avail_in=q.input.length;do{if(0===q.avail_out&&(q.output=new h.Buf8(t),q.next_out=0,q.avail_out=t),d=g.inflate(q,l.Z_NO_FLUSH),d===l.Z_NEED_DICT&&B&&(p="string"==typeof B?k.string2buf(B):"[object ArrayBuffer]"===r.call(B)?new Uint8Array(B):B,d=g.inflateSetDictionary(this.strm,p)),d===l.Z_BUF_ERROR&&!0===A&&(d=l.Z_OK,A=!1),d!==l.Z_STREAM_END&&d!==l.Z_OK)return this.onEnd(d), +this.ended=!0,!1;q.next_out&&(0!==q.avail_out&&d!==l.Z_STREAM_END&&(0!==q.avail_in||e!==l.Z_FINISH&&e!==l.Z_SYNC_FLUSH)||("string"===this.options.to?(f=k.utf8border(q.output,q.next_out),m=q.next_out-f,n=k.buf2string(q.output,f),q.next_out=m,q.avail_out=t-m,m&&h.arraySet(q.output,q.output,f,m,0),this.onData(n)):this.onData(h.shrinkBuf(q.output,q.next_out))));0===q.avail_in&&0===q.avail_out&&(A=!0)}while((0<q.avail_in||0===q.avail_out)&&d!==l.Z_STREAM_END);return d===l.Z_STREAM_END&&(e=l.Z_FINISH), e===l.Z_FINISH?(d=g.inflateEnd(this.strm),this.onEnd(d),this.ended=!0,d===l.Z_OK):e!==l.Z_SYNC_FLUSH||(this.onEnd(l.Z_OK),q.avail_out=0,!0)};e.prototype.onData=function(b){this.chunks.push(b)};e.prototype.onEnd=function(b){b===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Inflate=e;d.inflate=f;d.inflateRaw=function(b,c){return c=c||{},c.raw=!0,f(b,c)};d.ungzip=f},{"./utils/common":3, "./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(b,c,d){b="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;d.assign=function(b){for(var c=Array.prototype.slice.call(arguments,1);c.length;){var d=c.shift();if(d){if("object"!=typeof d)throw new TypeError(d+"must be non-object");for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])}}return b};d.shrinkBuf=function(b,c){return b.length=== c?b:b.subarray?b.subarray(0,c):(b.length=c,b)};var e={arraySet:function(b,c,d,e,f){if(c.subarray&&b.subarray)return void b.set(c.subarray(d,d+e),f);for(var g=0;g<e;g++)b[f+g]=c[d+g]},flattenChunks:function(b){var c,d,e,f,g;c=e=0;for(d=b.length;c<d;c++)e+=b[c].length;g=new Uint8Array(e);c=e=0;for(d=b.length;c<d;c++)f=b[c],g.set(f,e),e+=f.length;return g}},f={arraySet:function(b,c,d,e,f){for(var g=0;g<e;g++)b[f+g]=c[d+g]},flattenChunks:function(b){return[].concat.apply([],b)}};d.setTyped=function(b){b? @@ -107,76 +107,76 @@ d?(c[h++]=192|d>>>6,c[h++]=128|63&d):65536>d?(c[h++]=224|d>>>12,c[h++]=128|d>>>6 2===h?31:3===h?15:7;1<h&&d<l;)g=g<<6|63&b[d++],h--;1<h?m[f++]=65533:65536>g?m[f++]=g:(g-=65536,m[f++]=55296|g>>10&1023,m[f++]=56320|1023&g)}return e(m,f)};d.utf8border=function(b,c){var d;c=c||b.length;c>b.length&&(c=b.length);for(d=c-1;0<=d&&128===(192&b[d]);)d--;return 0>d?c:0===d?c:d+k[b[d]]>c?d:c}},{"./common":3}],5:[function(b,c,d){c.exports=function(b,c,d,h){var e=65535&b|0;b=b>>>16&65535|0;for(var f;0!==d;){f=2E3<d?2E3:d;d-=f;do e=e+c[h++]|0,b=b+e|0;while(--f);e%=65521;b%=65521}return e|b<< 16|0}},{}],6:[function(b,c,d){c.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(b,c,d){var e=function(){for(var b,c=[],d=0;256>d;d++){b=d;for(var e= 0;8>e;e++)b=1&b?3988292384^b>>>1:b>>>1;c[d]=b}return c}();c.exports=function(b,c,d,k){d=k+d;for(b^=-1;k<d;k++)b=b>>>8^e[255&(b^c[k])];return b^-1}},{}],8:[function(b,c,d){function e(b,c){return b.msg=B[c],c}function f(b){for(var c=b.length;0<=--c;)b[c]=0}function g(b){var c=b.state,d=c.pending;d>b.avail_out&&(d=b.avail_out);0!==d&&(u.arraySet(b.output,c.pending_buf,c.pending_out,d,b.next_out),b.next_out+=d,c.pending_out+=d,b.total_out+=d,b.avail_out-=d,c.pending-=d,0===c.pending&&(c.pending_out=0))} -function h(b,c){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function k(b,c){b.pending_buf[b.pending++]=c}function l(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,h=b.prev_length,k=b.nice_match,l=b.strstart>b.w_size-T?b.strstart-(b.w_size-T):0,m=b.window,v=b.w_mask,n=b.prev,C=b.strstart+X,p=m[g+h-1],q=m[g+h];b.prev_length>=b.good_match&&(f>>= -2);k>b.lookahead&&(k=b.lookahead);do if(d=c,m[d+h]===q&&m[d+h-1]===p&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;for(d++;m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<C;);if(e=X-(C-g),g=C-X,e>h){if(b.match_start=c,h=e,e>=k)break;p=m[g+h-1];q=m[g+h]}}while((c=n[c&v])>l&&0!==--f);return h<=b.lookahead?h:b.lookahead}function n(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=g+(g-T)){u.arraySet(b.window, +function h(b,c){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function k(b,c){b.pending_buf[b.pending++]=c}function l(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,h=b.prev_length,k=b.nice_match,l=b.strstart>b.w_size-T?b.strstart-(b.w_size-T):0,m=b.window,v=b.w_mask,n=b.prev,C=b.strstart+N,p=m[g+h-1],q=m[g+h];b.prev_length>=b.good_match&&(f>>= +2);k>b.lookahead&&(k=b.lookahead);do if(d=c,m[d+h]===q&&m[d+h-1]===p&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;for(d++;m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<C;);if(e=N-(C-g),g=C-N,e>h){if(b.match_start=c,h=e,e>=k)break;p=m[g+h-1];q=m[g+h]}}while((c=n[c&v])>l&&0!==--f);return h<=b.lookahead?h:b.lookahead}function n(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=g+(g-T)){u.arraySet(b.window, b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;c=d=b.hash_size;do e=b.head[--c],b.head[c]=e>=g?e-g:0;while(--d);c=d=g;do e=b.prev[--c],b.prev[c]=e>=g?e-g:0;while(--d);f+=g}if(0===b.strm.avail_in)break;c=b.strm;e=b.window;var h=b.strstart+b.lookahead,k=c.avail_in;if(d=(k>f&&(k=f),0===k?0:(c.avail_in-=k,u.arraySet(e,c.input,c.next_in,k,h),1===c.state.wrap?c.adler=F(c.adler,e,k,h):2===c.state.wrap&&(c.adler=E(c.adler,e,k,h)),c.next_in+=k,c.total_in+=k,k)),b.lookahead+=d,b.lookahead+ -b.insert>=K)for(f=b.strstart-b.insert,b.ins_h=b.window[f],b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+K-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<K)););}while(b.lookahead<T&&0!==b.strm.avail_in)}function p(b,c){for(var d,e;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===G)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+ -K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d)),b.match_length>=K)if(e=D._tr_tally(b,b.strstart-b.match_start,b.match_length-K),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=K){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length); -b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else e=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(e&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=b.strstart<K-1?b.strstart:K-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function r(b,c){for(var d,e,f;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===G)return P;if(0=== -b.lookahead)break}if(d=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,0!==d&&b.prev_length<b.max_lazy_match&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d),5>=b.match_length&&(b.strategy===U||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=K&&b.match_length<=b.prev_length){f= -b.strstart+b.lookahead-K;e=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=K-1,b.strstart++,e&&(h(b,!1),0===b.strm.avail_out))return P}else if(b.match_available){if(e=D._tr_tally(b,0,b.window[b.strstart-1]),e&&h(b,!1), -b.strstart++,b.lookahead--,0===b.strm.avail_out)return P}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function q(b,c,d,e,f){this.good_length=b;this.max_lazy=c;this.nice_length=d;this.max_chain=e;this.func=f}function t(){this.strm=null;this.status=0;this.pending_buf=null;this.wrap= -this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=A;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=this.hash_mask=this.hash_bits=this.hash_size= -this.ins_h=0;this.dyn_ltree=new u.Buf16(2*ba);this.dyn_dtree=new u.Buf16(2*(2*I+1));this.bl_tree=new u.Buf16(2*(2*J+1));f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new u.Buf16(N+1);this.heap=new u.Buf16(2*Q+1);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new u.Buf16(2*Q+1);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=this.l_buf=0}function z(b){var c; -return b&&b.state?(b.total_in=b.total_out=0,b.data_type=aa,c=b.state,c.pending=0,c.pending_out=0,0>c.wrap&&(c.wrap=-c.wrap),c.status=c.wrap?ca:ea,b.adler=2===c.wrap?0:1,c.last_flush=G,D._tr_init(c),M):e(b,L)}function w(b){var c=z(b);c===M&&(b=b.state,b.window_size=2*b.w_size,f(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=0,b.lookahead=0,b.insert=0,b.match_length= -b.prev_length=K-1,b.match_available=0,b.ins_h=0);return c}function x(b,c,d,f,g,h){if(!b)return L;var k=1;if(c===H&&(c=6),0>f?(k=0,f=-f):15<f&&(k=2,f-=16),1>g||g>v||d!==A||8>f||15<f||0>c||9<c||0>h||h>S)return e(b,L);8===f&&(f=9);var l=new t;return b.state=l,l.strm=b,l.wrap=k,l.gzhead=null,l.w_bits=f,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=g+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+K-1)/K),l.window=new u.Buf8(2*l.w_size),l.head=new u.Buf16(l.hash_size), -l.prev=new u.Buf16(l.w_size),l.lit_bufsize=1<<g+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new u.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=c,l.strategy=h,l.method=d,w(b)}var y,u=b("../utils/common"),D=b("./trees"),F=b("./adler32"),E=b("./crc32"),B=b("./messages"),G=0,C=4,M=0,L=-2,H=-1,U=1,S=4,aa=2,A=8,v=9,Q=286,I=30,J=19,ba=2*Q+1,N=15,K=3,X=258,T=X+K+1,ca=42,ea=113,P=1,V=2,W=3,O=4;y=[new q(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&& -(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(n(b),0===b.lookahead&&c===G)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,h(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-T&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===C?(h(b,!0),0===b.strm.avail_out?W:O):(b.strstart>b.block_start&&h(b,!1),P)}),new q(4,4,8,4,p),new q(4,5,16,8,p),new q(4,6,32, -32,p),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return x(b,c,A,15,8,0)};d.deflateInit2=x;d.deflateReset=w;d.deflateResetKeep=z;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?L:(b.state.gzhead=c,M):L};d.deflate=function(b,c){var d,m,v,p;if(!b||!b.state||5<c||0>c)return b?e(b,L):L;if(m=b.state,!b.output||!b.input&&0!==b.avail_in||666===m.status&&c!==C)return e(b, -0===b.avail_out?-5:L);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,k(m,31),k(m,139),k(m,8),m.gzhead?(k(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),k(m,255&m.gzhead.time),k(m,m.gzhead.time>>8&255),k(m,m.gzhead.time>>16&255),k(m,m.gzhead.time>>24&255),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(k(m,255&m.gzhead.extra.length),k(m,m.gzhead.extra.length>> -8&255)),m.gzhead.hcrc&&(b.adler=E(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(k(m,0),k(m,0),k(m,0),k(m,0),k(m,0),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,3),m.status=ea)):(v=A+(m.w_bits-8<<4)<<8,v|=(2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3)<<6,0!==m.strstart&&(v|=32),m.status=ea,l(m,v+(31-v%31)),0!==m.strstart&&(l(m,b.adler>>>16),l(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(v=m.pending;m.gzindex<(65535&m.gzhead.extra.length)&&(m.pending!== +b.insert>=J)for(f=b.strstart-b.insert,b.ins_h=b.window[f],b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+J-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<J)););}while(b.lookahead<T&&0!==b.strm.avail_in)}function p(b,c){for(var d,e;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===A)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+ +J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d)),b.match_length>=J)if(e=D._tr_tally(b,b.strstart-b.match_start,b.match_length-J),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=J){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length); +b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else e=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(e&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=b.strstart<J-1?b.strstart:J-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function r(b,c){for(var d,e,f;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===A)return P;if(0=== +b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=J-1,0!==d&&b.prev_length<b.max_lazy_match&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d),5>=b.match_length&&(b.strategy===U||b.match_length===J&&4096<b.strstart-b.match_start)&&(b.match_length=J-1)),b.prev_length>=J&&b.match_length<=b.prev_length){f= +b.strstart+b.lookahead-J;e=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-J);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=J-1,b.strstart++,e&&(h(b,!1),0===b.strm.avail_out))return P}else if(b.match_available){if(e=D._tr_tally(b,0,b.window[b.strstart-1]),e&&h(b,!1), +b.strstart++,b.lookahead--,0===b.strm.avail_out)return P}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<J-1?b.strstart:J-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function q(b,c,d,e,f){this.good_length=b;this.max_lazy=c;this.nice_length=d;this.max_chain=e;this.func=f}function t(){this.strm=null;this.status=0;this.pending_buf=null;this.wrap= +this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=X;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=this.hash_mask=this.hash_bits=this.hash_size= +this.ins_h=0;this.dyn_ltree=new u.Buf16(2*ba);this.dyn_dtree=new u.Buf16(2*(2*H+1));this.bl_tree=new u.Buf16(2*(2*I+1));f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new u.Buf16(M+1);this.heap=new u.Buf16(2*Q+1);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new u.Buf16(2*Q+1);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=this.l_buf=0}function z(b){var c; +return b&&b.state?(b.total_in=b.total_out=0,b.data_type=aa,c=b.state,c.pending=0,c.pending_out=0,0>c.wrap&&(c.wrap=-c.wrap),c.status=c.wrap?ca:ea,b.adler=2===c.wrap?0:1,c.last_flush=A,D._tr_init(c),L):e(b,K)}function w(b){var c=z(b);c===L&&(b=b.state,b.window_size=2*b.w_size,f(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=0,b.lookahead=0,b.insert=0,b.match_length= +b.prev_length=J-1,b.match_available=0,b.ins_h=0);return c}function x(b,c,d,f,g,h){if(!b)return K;var k=1;if(c===G&&(c=6),0>f?(k=0,f=-f):15<f&&(k=2,f-=16),1>g||g>v||d!==X||8>f||15<f||0>c||9<c||0>h||h>S)return e(b,K);8===f&&(f=9);var l=new t;return b.state=l,l.strm=b,l.wrap=k,l.gzhead=null,l.w_bits=f,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=g+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+J-1)/J),l.window=new u.Buf8(2*l.w_size),l.head=new u.Buf16(l.hash_size), +l.prev=new u.Buf16(l.w_size),l.lit_bufsize=1<<g+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new u.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=c,l.strategy=h,l.method=d,w(b)}var y,u=b("../utils/common"),D=b("./trees"),F=b("./adler32"),E=b("./crc32"),B=b("./messages"),A=0,C=4,L=0,K=-2,G=-1,U=1,S=4,aa=2,X=8,v=9,Q=286,H=30,I=19,ba=2*Q+1,M=15,J=3,N=258,T=N+J+1,ca=42,ea=113,P=1,V=2,W=3,O=4;y=[new q(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&& +(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(n(b),0===b.lookahead&&c===A)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,h(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-T&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===C?(h(b,!0),0===b.strm.avail_out?W:O):(b.strstart>b.block_start&&h(b,!1),P)}),new q(4,4,8,4,p),new q(4,5,16,8,p),new q(4,6,32, +32,p),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return x(b,c,X,15,8,0)};d.deflateInit2=x;d.deflateReset=w;d.deflateResetKeep=z;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?K:(b.state.gzhead=c,L):K};d.deflate=function(b,c){var d,m,v,p;if(!b||!b.state||5<c||0>c)return b?e(b,K):K;if(m=b.state,!b.output||!b.input&&0!==b.avail_in||666===m.status&&c!==C)return e(b, +0===b.avail_out?-5:K);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,k(m,31),k(m,139),k(m,8),m.gzhead?(k(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),k(m,255&m.gzhead.time),k(m,m.gzhead.time>>8&255),k(m,m.gzhead.time>>16&255),k(m,m.gzhead.time>>24&255),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(k(m,255&m.gzhead.extra.length),k(m,m.gzhead.extra.length>> +8&255)),m.gzhead.hcrc&&(b.adler=E(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(k(m,0),k(m,0),k(m,0),k(m,0),k(m,0),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,3),m.status=ea)):(v=X+(m.w_bits-8<<4)<<8,v|=(2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3)<<6,0!==m.strstart&&(v|=32),m.status=ea,l(m,v+(31-v%31)),0!==m.strstart&&(l(m,b.adler>>>16),l(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(v=m.pending;m.gzindex<(65535&m.gzhead.extra.length)&&(m.pending!== m.pending_buf_size||(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v)),g(b),v=m.pending,m.pending!==m.pending_buf_size));)k(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){v=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending- v,v)),g(b),v=m.pending,m.pending===m.pending_buf_size)){p=1;break}p=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){v=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v)),g(b),v=m.pending,m.pending===m.pending_buf_size)){p= -1;break}p=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(k(m,255&b.adler),k(m,b.adler>>8&255),b.adler=0,m.status=ea)):m.status=ea),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush=-1,M}else if(0===b.avail_in&&(c<<1)- -(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==C)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==G&&666!==m.status){var q;if(2===m.strategy)a:{for(var r;;){if(0===m.lookahead&&(n(m),0===m.lookahead)){if(c===G){q=P;break a}break}if(m.match_length=0,r=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,r&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)? -P:V)}else if(3===m.strategy)a:{var I,Q;for(r=m.window;;){if(m.lookahead<=X){if(n(m),m.lookahead<=X&&c===G){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=K&&0<m.strstart&&(Q=m.strstart-1,I=r[Q],I===r[++Q]&&I===r[++Q]&&I===r[++Q])){for(d=m.strstart+X;I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&Q<d;);m.match_length=X-(d-Q);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=K?(q=D._tr_tally(m,1,m.match_length- -K),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)?P:V)}else q=y[m.level].func(m,c);if(q!==W&&q!==O||(m.status=666),q===P||q===W)return 0===b.avail_out&&(m.last_flush=-1),M;if(q===V&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,0,0,!1),3===c&&(f(m.head),0=== -m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,M}return c!==C?M:0>=m.wrap?1:(2===m.wrap?(k(m,255&b.adler),k(m,b.adler>>8&255),k(m,b.adler>>16&255),k(m,b.adler>>24&255),k(m,255&b.total_in),k(m,b.total_in>>8&255),k(m,b.total_in>>16&255),k(m,b.total_in>>24&255)):(l(m,b.adler>>>16),l(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?M:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status,c!==ca&&69!==c&&73!==c&&91!== -c&&103!==c&&c!==ea&&666!==c?e(b,L):(b.state=null,c===ea?e(b,-3):M)):L};d.deflateSetDictionary=function(b,c){var d,e,g,h,k,m,l;e=c.length;if(!b||!b.state||(d=b.state,h=d.wrap,2===h||1===h&&d.status!==ca||d.lookahead))return L;1===h&&(b.adler=F(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===h&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),k=new u.Buf8(d.w_size),u.arraySet(k,c,e-d.w_size,d.w_size,0),c=k,e=d.w_size);k=b.avail_in;m=b.next_in;l=b.input;b.avail_in=e;b.next_in=0;b.input=c;for(n(d);d.lookahead>= -K;){e=d.strstart;g=d.lookahead-(K-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+K-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=K-1;n(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=K-1,d.match_available=0,b.next_in=m,b.input=l,b.avail_in=k,d.wrap=h,M};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13, -"./trees":14}],9:[function(b,c,d){c.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(b,c,d){c.exports=function(b,c){var d,e,f,l,m,n,p,r,q,t,z,w,x,y,u,D,F,E,B,G,C,M,L,H;d=b.state;e=b.next_in;L=b.input;f=e+(b.avail_in-5);l=b.next_out;H=b.output;m=l-(c-b.avail_out);n=l+(b.avail_out-257);p=d.dmax;r=d.wsize;q=d.whave;t=d.wnext;z=d.window;w=d.hold;x=d.bits;y=d.lencode;u=d.distcode;D=(1<<d.lenbits)- -1;F=(1<<d.distbits)-1;a:do b:for(15>x&&(w+=L[e++]<<x,x+=8,w+=L[e++]<<x,x+=8),E=y[w&D];;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,0===B)H[l++]=65535&E;else{if(!(16&B)){if(0===(64&B)){E=y[(65535&E)+(w&(1<<B)-1)];continue b}if(32&B){d.mode=12;break a}b.msg="invalid literal/length code";d.mode=30;break a}G=65535&E;(B&=15)&&(x<B&&(w+=L[e++]<<x,x+=8),G+=w&(1<<B)-1,w>>>=B,x-=B);15>x&&(w+=L[e++]<<x,x+=8,w+=L[e++]<<x,x+=8);E=u[w&F];c:for(;;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,!(16&B)){if(0===(64&B)){E=u[(65535& -E)+(w&(1<<B)-1)];continue c}b.msg="invalid distance code";d.mode=30;break a}if(C=65535&E,B&=15,x<B&&(w+=L[e++]<<x,x+=8,x<B&&(w+=L[e++]<<x,x+=8)),C+=w&(1<<B)-1,C>p){b.msg="invalid distance too far back";d.mode=30;break a}if(w>>>=B,x-=B,B=l-m,C>B){if(B=C-B,B>q&&d.sane){b.msg="invalid distance too far back";d.mode=30;break a}if(E=0,M=z,0===t){if(E+=r-B,B<G){G-=B;do H[l++]=z[E++];while(--B);E=l-C;M=H}}else if(t<B){if(E+=r+t-B,B-=t,B<G){G-=B;do H[l++]=z[E++];while(--B);if(E=0,t<G){B=t;G-=B;do H[l++]=z[E++]; -while(--B);E=l-C;M=H}}}else if(E+=t-B,B<G){G-=B;do H[l++]=z[E++];while(--B);E=l-C;M=H}for(;2<G;)H[l++]=M[E++],H[l++]=M[E++],H[l++]=M[E++],G-=3;G&&(H[l++]=M[E++],1<G&&(H[l++]=M[E++]))}else{E=l-C;do H[l++]=H[E++],H[l++]=H[E++],H[l++]=H[E++],G-=3;while(2<G);G&&(H[l++]=H[E++],1<G&&(H[l++]=H[E++]))}break}}break}while(e<f&&l<n);G=x>>3;e-=G;x-=G<<3;b.next_in=e;b.next_out=l;b.avail_in=e<f?5+(f-e):5-(e-f);b.avail_out=l<n?257+(n-l):257-(l-n);d.hold=w&(1<<x)-1;d.bits=x}},{}],11:[function(b,c,d){function e(b){return(b>>> +1;break}p=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(k(m,255&b.adler),k(m,b.adler>>8&255),b.adler=0,m.status=ea)):m.status=ea),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush=-1,L}else if(0===b.avail_in&&(c<<1)- +(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==C)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==A&&666!==m.status){var q;if(2===m.strategy)a:{for(var r;;){if(0===m.lookahead&&(n(m),0===m.lookahead)){if(c===A){q=P;break a}break}if(m.match_length=0,r=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,r&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)? +P:V)}else if(3===m.strategy)a:{var H,Q;for(r=m.window;;){if(m.lookahead<=N){if(n(m),m.lookahead<=N&&c===A){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(Q=m.strstart-1,H=r[Q],H===r[++Q]&&H===r[++Q]&&H===r[++Q])){for(d=m.strstart+N;H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&Q<d;);m.match_length=N-(d-Q);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=J?(q=D._tr_tally(m,1,m.match_length- +J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)?P:V)}else q=y[m.level].func(m,c);if(q!==W&&q!==O||(m.status=666),q===P||q===W)return 0===b.avail_out&&(m.last_flush=-1),L;if(q===V&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,0,0,!1),3===c&&(f(m.head),0=== +m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,L}return c!==C?L:0>=m.wrap?1:(2===m.wrap?(k(m,255&b.adler),k(m,b.adler>>8&255),k(m,b.adler>>16&255),k(m,b.adler>>24&255),k(m,255&b.total_in),k(m,b.total_in>>8&255),k(m,b.total_in>>16&255),k(m,b.total_in>>24&255)):(l(m,b.adler>>>16),l(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?L:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status,c!==ca&&69!==c&&73!==c&&91!== +c&&103!==c&&c!==ea&&666!==c?e(b,K):(b.state=null,c===ea?e(b,-3):L)):K};d.deflateSetDictionary=function(b,c){var d,e,g,h,k,m,l;e=c.length;if(!b||!b.state||(d=b.state,h=d.wrap,2===h||1===h&&d.status!==ca||d.lookahead))return K;1===h&&(b.adler=F(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===h&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),k=new u.Buf8(d.w_size),u.arraySet(k,c,e-d.w_size,d.w_size,0),c=k,e=d.w_size);k=b.avail_in;m=b.next_in;l=b.input;b.avail_in=e;b.next_in=0;b.input=c;for(n(d);d.lookahead>= +J;){e=d.strstart;g=d.lookahead-(J-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+J-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=J-1;n(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=J-1,d.match_available=0,b.next_in=m,b.input=l,b.avail_in=k,d.wrap=h,L};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13, +"./trees":14}],9:[function(b,c,d){c.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(b,c,d){c.exports=function(b,c){var d,e,f,l,m,n,p,r,q,t,z,w,x,y,u,D,F,E,B,A,C,L,K,G;d=b.state;e=b.next_in;K=b.input;f=e+(b.avail_in-5);l=b.next_out;G=b.output;m=l-(c-b.avail_out);n=l+(b.avail_out-257);p=d.dmax;r=d.wsize;q=d.whave;t=d.wnext;z=d.window;w=d.hold;x=d.bits;y=d.lencode;u=d.distcode;D=(1<<d.lenbits)- +1;F=(1<<d.distbits)-1;a:do b:for(15>x&&(w+=K[e++]<<x,x+=8,w+=K[e++]<<x,x+=8),E=y[w&D];;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,0===B)G[l++]=65535&E;else{if(!(16&B)){if(0===(64&B)){E=y[(65535&E)+(w&(1<<B)-1)];continue b}if(32&B){d.mode=12;break a}b.msg="invalid literal/length code";d.mode=30;break a}A=65535&E;(B&=15)&&(x<B&&(w+=K[e++]<<x,x+=8),A+=w&(1<<B)-1,w>>>=B,x-=B);15>x&&(w+=K[e++]<<x,x+=8,w+=K[e++]<<x,x+=8);E=u[w&F];c:for(;;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,!(16&B)){if(0===(64&B)){E=u[(65535& +E)+(w&(1<<B)-1)];continue c}b.msg="invalid distance code";d.mode=30;break a}if(C=65535&E,B&=15,x<B&&(w+=K[e++]<<x,x+=8,x<B&&(w+=K[e++]<<x,x+=8)),C+=w&(1<<B)-1,C>p){b.msg="invalid distance too far back";d.mode=30;break a}if(w>>>=B,x-=B,B=l-m,C>B){if(B=C-B,B>q&&d.sane){b.msg="invalid distance too far back";d.mode=30;break a}if(E=0,L=z,0===t){if(E+=r-B,B<A){A-=B;do G[l++]=z[E++];while(--B);E=l-C;L=G}}else if(t<B){if(E+=r+t-B,B-=t,B<A){A-=B;do G[l++]=z[E++];while(--B);if(E=0,t<A){B=t;A-=B;do G[l++]=z[E++]; +while(--B);E=l-C;L=G}}}else if(E+=t-B,B<A){A-=B;do G[l++]=z[E++];while(--B);E=l-C;L=G}for(;2<A;)G[l++]=L[E++],G[l++]=L[E++],G[l++]=L[E++],A-=3;A&&(G[l++]=L[E++],1<A&&(G[l++]=L[E++]))}else{E=l-C;do G[l++]=G[E++],G[l++]=G[E++],G[l++]=G[E++],A-=3;while(2<A);A&&(G[l++]=G[E++],1<A&&(G[l++]=G[E++]))}break}}break}while(e<f&&l<n);A=x>>3;e-=A;x-=A<<3;b.next_in=e;b.next_out=l;b.avail_in=e<f?5+(f-e):5-(e-f);b.avail_out=l<n?257+(n-l):257-(l-n);d.hold=w&(1<<x)-1;d.bits=x}},{}],11:[function(b,c,d){function e(b){return(b>>> 24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function f(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new r.Buf16(320);this.work=new r.Buf16(288);this.distdyn=this.lendyn=null;this.was= this.back=this.sane=0}function g(b){var c;return b&&b.state?(c=b.state,b.total_in=b.total_out=c.total=0,b.msg="",c.wrap&&(b.adler=1&c.wrap),c.mode=u,c.last=0,c.havedict=0,c.dmax=32768,c.head=null,c.hold=0,c.bits=0,c.lencode=c.lendyn=new r.Buf32(D),c.distcode=c.distdyn=new r.Buf32(F),c.sane=1,c.back=-1,x):y}function h(b){var c;return b&&b.state?(c=b.state,c.wsize=0,c.whave=0,c.wnext=0,g(b)):y}function k(b,c){var d,e;return b&&b.state?(e=b.state,0>c?(d=0,c=-c):(d=(c>>4)+1,48>c&&(c&=15)),c&&(8>c||15< c)?y:(null!==e.window&&e.wbits!==c&&(e.window=null),e.wrap=d,e.wbits=c,h(b))):y}function l(b,c){var d,e;return b?(e=new f,b.state=e,e.window=null,d=k(b,c),d!==x&&(b.state=null),d):y}function m(b,c,d,e){var f;b=b.state;return null===b.window&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new r.Buf8(b.wsize)),e>=b.wsize?(r.arraySet(b.window,c,d-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(f=b.wsize-b.wnext,f>e&&(f=e),r.arraySet(b.window,c,d-e,f,b.wnext),e-=f,e?(r.arraySet(b.window,c,d-e,e,0),b.wnext= -e,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var n,p,r=b("../utils/common"),q=b("./adler32"),t=b("./crc32"),z=b("./inffast"),w=b("./inftrees"),x=0,y=-2,u=1,D=852,F=592,E=!0;d.inflateReset=h;d.inflateReset2=k;d.inflateResetKeep=g;d.inflateInit=function(b){return l(b,15)};d.inflateInit2=l;d.inflate=function(b,c){var d,f,g,h,k,l,B,A,v,Q,I,J,ba,N,K,G,D,ca,F,P,V,W,O=0,R=new r.Buf8(4),fa=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!b||!b.state|| -!b.output||!b.input&&0!==b.avail_in)return y;d=b.state;12===d.mode&&(d.mode=13);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;Q=l;I=B;V=x;a:for(;;)switch(d.mode){case u:if(0===d.wrap){d.mode=13;break}for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(2&d.wrap&&35615===A){d.check=0;R[0]=255&A;R[1]=A>>>8&255;d.check=t(d.check,R,2,0);v=A=0;d.mode=2;break}if(d.flags=0,d.head&&(d.head.done=!1),!(1&d.wrap)||(((255&A)<<8)+(A>>8))%31){b.msg="incorrect header check"; +e,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var n,p,r=b("../utils/common"),q=b("./adler32"),t=b("./crc32"),z=b("./inffast"),w=b("./inftrees"),x=0,y=-2,u=1,D=852,F=592,E=!0;d.inflateReset=h;d.inflateReset2=k;d.inflateResetKeep=g;d.inflateInit=function(b){return l(b,15)};d.inflateInit2=l;d.inflate=function(b,c){var d,f,g,h,k,l,B,A,v,Q,H,I,ba,M,J,N,D,ca,F,P,V,W,O=0,R=new r.Buf8(4),fa=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!b||!b.state|| +!b.output||!b.input&&0!==b.avail_in)return y;d=b.state;12===d.mode&&(d.mode=13);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;Q=l;H=B;V=x;a:for(;;)switch(d.mode){case u:if(0===d.wrap){d.mode=13;break}for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(2&d.wrap&&35615===A){d.check=0;R[0]=255&A;R[1]=A>>>8&255;d.check=t(d.check,R,2,0);v=A=0;d.mode=2;break}if(d.flags=0,d.head&&(d.head.done=!1),!(1&d.wrap)||(((255&A)<<8)+(A>>8))%31){b.msg="incorrect header check"; d.mode=30;break}if(8!==(15&A)){b.msg="unknown compression method";d.mode=30;break}if(A>>>=4,v-=4,P=(15&A)+8,0===d.wbits)d.wbits=P;else if(P>d.wbits){b.msg="invalid window size";d.mode=30;break}d.dmax=1<<P;b.adler=d.check=1;d.mode=512&A?10:12;v=A=0;break;case 2:for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.flags=A,8!==(255&d.flags)){b.msg="unknown compression method";d.mode=30;break}if(57344&d.flags){b.msg="unknown header flags set";d.mode=30;break}d.head&&(d.head.text=A>>8&1);512&d.flags&& (R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0;d.mode=3;case 3:for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.head&&(d.head.time=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,R[2]=A>>>16&255,R[3]=A>>>24&255,d.check=t(d.check,R,4,0));v=A=0;d.mode=4;case 4:for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.head&&(d.head.xflags=255&A,d.head.os=A>>8);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0;d.mode=5;case 5:if(1024&d.flags){for(;16>v;){if(0===l)break a;l--; -A+=f[h++]<<v;v+=8}d.length=A;d.head&&(d.head.extra_len=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0}else d.head&&(d.head.extra=null);d.mode=6;case 6:if(1024&d.flags&&(J=d.length,J>l&&(J=l),J&&(d.head&&(P=d.head.extra_len-d.length,d.head.extra||(d.head.extra=Array(d.head.extra_len)),r.arraySet(d.head.extra,f,h,J,P)),512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,d.length-=J),d.length))break a;d.length=0;d.mode=7;case 7:if(2048&d.flags){if(0===l)break a;J=0;do P=f[h+ -J++],d.head&&P&&65536>d.length&&(d.head.name+=String.fromCharCode(P));while(P&&J<l);if(512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,P)break a}else d.head&&(d.head.name=null);d.length=0;d.mode=8;case 8:if(4096&d.flags){if(0===l)break a;J=0;do P=f[h+J++],d.head&&P&&65536>d.length&&(d.head.comment+=String.fromCharCode(P));while(P&&J<l);if(512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,P)break a}else d.head&&(d.head.comment=null);d.mode=9;case 9:if(512&d.flags){for(;16>v;){if(0===l)break a;l--; +A+=f[h++]<<v;v+=8}d.length=A;d.head&&(d.head.extra_len=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0}else d.head&&(d.head.extra=null);d.mode=6;case 6:if(1024&d.flags&&(I=d.length,I>l&&(I=l),I&&(d.head&&(P=d.head.extra_len-d.length,d.head.extra||(d.head.extra=Array(d.head.extra_len)),r.arraySet(d.head.extra,f,h,I,P)),512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,d.length-=I),d.length))break a;d.length=0;d.mode=7;case 7:if(2048&d.flags){if(0===l)break a;I=0;do P=f[h+ +I++],d.head&&P&&65536>d.length&&(d.head.name+=String.fromCharCode(P));while(P&&I<l);if(512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,P)break a}else d.head&&(d.head.name=null);d.length=0;d.mode=8;case 8:if(4096&d.flags){if(0===l)break a;I=0;do P=f[h+I++],d.head&&P&&65536>d.length&&(d.head.comment+=String.fromCharCode(P));while(P&&I<l);if(512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,P)break a}else d.head&&(d.head.comment=null);d.mode=9;case 9:if(512&d.flags){for(;16>v;){if(0===l)break a;l--; A+=f[h++]<<v;v+=8}if(A!==(65535&d.check)){b.msg="header crc mismatch";d.mode=30;break}v=A=0}d.head&&(d.head.hcrc=d.flags>>9&1,d.head.done=!0);b.adler=d.check=0;d.mode=12;break;case 10:for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}b.adler=d.check=e(A);v=A=0;d.mode=11;case 11:if(0===d.havedict)return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,2;b.adler=d.check=1;d.mode=12;case 12:if(5===c||6===c)break a;case 13:if(d.last){A>>>=7&v;v-=7&v;d.mode=27;break}for(;3>v;){if(0=== -l)break a;l--;A+=f[h++]<<v;v+=8}switch(d.last=1&A,A>>>=1,--v,3&A){case 0:d.mode=14;break;case 1:G=d;if(E){n=new r.Buf32(512);p=new r.Buf32(32);for(N=0;144>N;)G.lens[N++]=8;for(;256>N;)G.lens[N++]=9;for(;280>N;)G.lens[N++]=7;for(;288>N;)G.lens[N++]=8;w(1,G.lens,0,288,n,0,G.work,{bits:9});for(N=0;32>N;)G.lens[N++]=5;w(2,G.lens,0,32,p,0,G.work,{bits:5});E=!1}G.lencode=n;G.lenbits=9;G.distcode=p;G.distbits=5;if(d.mode=20,6===c){A>>>=2;v-=2;break a}break;case 2:d.mode=17;break;case 3:b.msg="invalid block type", -d.mode=30}A>>>=2;v-=2;break;case 14:A>>>=7&v;for(v-=7&v;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if((65535&A)!==(A>>>16^65535)){b.msg="invalid stored block lengths";d.mode=30;break}if(d.length=65535&A,A=0,v=0,d.mode=15,6===c)break a;case 15:d.mode=16;case 16:if(J=d.length){if(J>l&&(J=l),J>B&&(J=B),0===J)break a;r.arraySet(g,f,h,J,k);l-=J;h+=J;B-=J;k+=J;d.length-=J;break}d.mode=12;break;case 17:for(;14>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.nlen=(31&A)+257,A>>>=5,v-=5,d.ndist=(31&A)+ +l)break a;l--;A+=f[h++]<<v;v+=8}switch(d.last=1&A,A>>>=1,--v,3&A){case 0:d.mode=14;break;case 1:N=d;if(E){n=new r.Buf32(512);p=new r.Buf32(32);for(M=0;144>M;)N.lens[M++]=8;for(;256>M;)N.lens[M++]=9;for(;280>M;)N.lens[M++]=7;for(;288>M;)N.lens[M++]=8;w(1,N.lens,0,288,n,0,N.work,{bits:9});for(M=0;32>M;)N.lens[M++]=5;w(2,N.lens,0,32,p,0,N.work,{bits:5});E=!1}N.lencode=n;N.lenbits=9;N.distcode=p;N.distbits=5;if(d.mode=20,6===c){A>>>=2;v-=2;break a}break;case 2:d.mode=17;break;case 3:b.msg="invalid block type", +d.mode=30}A>>>=2;v-=2;break;case 14:A>>>=7&v;for(v-=7&v;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if((65535&A)!==(A>>>16^65535)){b.msg="invalid stored block lengths";d.mode=30;break}if(d.length=65535&A,A=0,v=0,d.mode=15,6===c)break a;case 15:d.mode=16;case 16:if(I=d.length){if(I>l&&(I=l),I>B&&(I=B),0===I)break a;r.arraySet(g,f,h,I,k);l-=I;h+=I;B-=I;k+=I;d.length-=I;break}d.mode=12;break;case 17:for(;14>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.nlen=(31&A)+257,A>>>=5,v-=5,d.ndist=(31&A)+ 1,A>>>=5,v-=5,d.ncode=(15&A)+4,A>>>=4,v-=4,286<d.nlen||30<d.ndist){b.msg="too many length or distance symbols";d.mode=30;break}d.have=0;d.mode=18;case 18:for(;d.have<d.ncode;){for(;3>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.lens[fa[d.have++]]=7&A;A>>>=3;v-=3}for(;19>d.have;)d.lens[fa[d.have++]]=0;if(d.lencode=d.lendyn,d.lenbits=7,W={bits:d.lenbits},V=w(0,d.lens,0,19,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid code lengths set";d.mode=30;break}d.have=0;d.mode=19;case 19:for(;d.have< -d.nlen+d.ndist;){for(;O=d.lencode[A&(1<<d.lenbits)-1],K=O>>>24,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(16>G)A>>>=K,v-=K,d.lens[d.have++]=G;else{if(16===G){for(N=K+2;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A>>>=K,v-=K,0===d.have){b.msg="invalid bit length repeat";d.mode=30;break}P=d.lens[d.have-1];J=3+(3&A);A>>>=2;v-=2}else if(17===G){for(N=K+3;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=K;v-=K;P=0;J=3+(7&A);A>>>=3;v-=3}else{for(N=K+7;v<N;){if(0===l)break a;l--; -A+=f[h++]<<v;v+=8}A>>>=K;v-=K;P=0;J=11+(127&A);A>>>=7;v-=7}if(d.have+J>d.nlen+d.ndist){b.msg="invalid bit length repeat";d.mode=30;break}for(;J--;)d.lens[d.have++]=P}}if(30===d.mode)break;if(0===d.lens[256]){b.msg="invalid code -- missing end-of-block";d.mode=30;break}if(d.lenbits=9,W={bits:d.lenbits},V=w(1,d.lens,0,d.nlen,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid literal/lengths set";d.mode=30;break}if(d.distbits=6,d.distcode=d.distdyn,W={bits:d.distbits},V=w(2,d.lens,d.nlen,d.ndist, -d.distcode,0,d.work,W),d.distbits=W.bits,V){b.msg="invalid distances set";d.mode=30;break}if(d.mode=20,6===c)break a;case 20:d.mode=21;case 21:if(6<=l&&258<=B){b.next_out=k;b.avail_out=B;b.next_in=h;b.avail_in=l;d.hold=A;d.bits=v;z(b,I);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;12===d.mode&&(d.back=-1);break}for(d.back=0;O=d.lencode[A&(1<<d.lenbits)-1],K=O>>>24,N=O>>>16&255,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(N&&0===(240&N)){D= -K;ca=N;for(F=G;O=d.lencode[F+((A&(1<<D+ca)-1)>>D)],K=O>>>24,N=O>>>16&255,G=65535&O,!(D+K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=K,v-=K,d.back+=K,d.length=G,0===N){d.mode=26;break}if(32&N){d.back=-1;d.mode=12;break}if(64&N){b.msg="invalid literal/length code";d.mode=30;break}d.extra=15&N;d.mode=22;case 22:if(d.extra){for(N=d.extra;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.length+=A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}d.was=d.length;d.mode= -23;case 23:for(;O=d.distcode[A&(1<<d.distbits)-1],K=O>>>24,N=O>>>16&255,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(0===(240&N)){D=K;ca=N;for(F=G;O=d.distcode[F+((A&(1<<D+ca)-1)>>D)],K=O>>>24,N=O>>>16&255,G=65535&O,!(D+K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=K,v-=K,d.back+=K,64&N){b.msg="invalid distance code";d.mode=30;break}d.offset=G;d.extra=15&N;d.mode=24;case 24:if(d.extra){for(N=d.extra;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.offset+= -A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}if(d.offset>d.dmax){b.msg="invalid distance too far back";d.mode=30;break}d.mode=25;case 25:if(0===B)break a;if(J=I-B,d.offset>J){if(J=d.offset-J,J>d.whave&&d.sane){b.msg="invalid distance too far back";d.mode=30;break}J>d.wnext?(J-=d.wnext,ba=d.wsize-J):ba=d.wnext-J;J>d.length&&(J=d.length);N=d.window}else N=g,ba=k-d.offset,J=d.length;J>B&&(J=B);B-=J;d.length-=J;do g[k++]=N[ba++];while(--J);0===d.length&&(d.mode=21);break;case 26:if(0===B)break a; -g[k++]=d.length;B--;d.mode=21;break;case 27:if(d.wrap){for(;32>v;){if(0===l)break a;l--;A|=f[h++]<<v;v+=8}if(I-=B,b.total_out+=I,d.total+=I,I&&(b.adler=d.check=d.flags?t(d.check,g,I,k-I):q(d.check,g,I,k-I)),I=B,(d.flags?A:e(A))!==d.check){b.msg="incorrect data check";d.mode=30;break}v=A=0}d.mode=28;case 28:if(d.wrap&&d.flags){for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A!==(4294967295&d.total)){b.msg="incorrect length check";d.mode=30;break}v=A=0}d.mode=29;case 29:V=1;break a;case 30:V= --3;break a;case 31:return-4;default:return y}return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,(d.wsize||I!==b.avail_out&&30>d.mode&&(27>d.mode||4!==c))&&m(b,b.output,b.next_out,I-b.avail_out)?(d.mode=31,-4):(Q-=b.avail_in,I-=b.avail_out,b.total_in+=Q,b.total_out+=I,d.total+=I,d.wrap&&I&&(b.adler=d.check=d.flags?t(d.check,g,I,b.next_out-I):q(d.check,g,I,b.next_out-I)),b.data_type=d.bits+(d.last?64:0)+(12===d.mode?128:0)+(20===d.mode||15===d.mode?256:0),(0===Q&&0===I||4=== +d.nlen+d.ndist;){for(;O=d.lencode[A&(1<<d.lenbits)-1],J=O>>>24,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(16>N)A>>>=J,v-=J,d.lens[d.have++]=N;else{if(16===N){for(M=J+2;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A>>>=J,v-=J,0===d.have){b.msg="invalid bit length repeat";d.mode=30;break}P=d.lens[d.have-1];I=3+(3&A);A>>>=2;v-=2}else if(17===N){for(M=J+3;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=J;v-=J;P=0;I=3+(7&A);A>>>=3;v-=3}else{for(M=J+7;v<M;){if(0===l)break a;l--; +A+=f[h++]<<v;v+=8}A>>>=J;v-=J;P=0;I=11+(127&A);A>>>=7;v-=7}if(d.have+I>d.nlen+d.ndist){b.msg="invalid bit length repeat";d.mode=30;break}for(;I--;)d.lens[d.have++]=P}}if(30===d.mode)break;if(0===d.lens[256]){b.msg="invalid code -- missing end-of-block";d.mode=30;break}if(d.lenbits=9,W={bits:d.lenbits},V=w(1,d.lens,0,d.nlen,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid literal/lengths set";d.mode=30;break}if(d.distbits=6,d.distcode=d.distdyn,W={bits:d.distbits},V=w(2,d.lens,d.nlen,d.ndist, +d.distcode,0,d.work,W),d.distbits=W.bits,V){b.msg="invalid distances set";d.mode=30;break}if(d.mode=20,6===c)break a;case 20:d.mode=21;case 21:if(6<=l&&258<=B){b.next_out=k;b.avail_out=B;b.next_in=h;b.avail_in=l;d.hold=A;d.bits=v;z(b,H);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;12===d.mode&&(d.back=-1);break}for(d.back=0;O=d.lencode[A&(1<<d.lenbits)-1],J=O>>>24,M=O>>>16&255,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(M&&0===(240&M)){D= +J;ca=M;for(F=N;O=d.lencode[F+((A&(1<<D+ca)-1)>>D)],J=O>>>24,M=O>>>16&255,N=65535&O,!(D+J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=J,v-=J,d.back+=J,d.length=N,0===M){d.mode=26;break}if(32&M){d.back=-1;d.mode=12;break}if(64&M){b.msg="invalid literal/length code";d.mode=30;break}d.extra=15&M;d.mode=22;case 22:if(d.extra){for(M=d.extra;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.length+=A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}d.was=d.length;d.mode= +23;case 23:for(;O=d.distcode[A&(1<<d.distbits)-1],J=O>>>24,M=O>>>16&255,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(0===(240&M)){D=J;ca=M;for(F=N;O=d.distcode[F+((A&(1<<D+ca)-1)>>D)],J=O>>>24,M=O>>>16&255,N=65535&O,!(D+J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=J,v-=J,d.back+=J,64&M){b.msg="invalid distance code";d.mode=30;break}d.offset=N;d.extra=15&M;d.mode=24;case 24:if(d.extra){for(M=d.extra;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.offset+= +A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}if(d.offset>d.dmax){b.msg="invalid distance too far back";d.mode=30;break}d.mode=25;case 25:if(0===B)break a;if(I=H-B,d.offset>I){if(I=d.offset-I,I>d.whave&&d.sane){b.msg="invalid distance too far back";d.mode=30;break}I>d.wnext?(I-=d.wnext,ba=d.wsize-I):ba=d.wnext-I;I>d.length&&(I=d.length);M=d.window}else M=g,ba=k-d.offset,I=d.length;I>B&&(I=B);B-=I;d.length-=I;do g[k++]=M[ba++];while(--I);0===d.length&&(d.mode=21);break;case 26:if(0===B)break a; +g[k++]=d.length;B--;d.mode=21;break;case 27:if(d.wrap){for(;32>v;){if(0===l)break a;l--;A|=f[h++]<<v;v+=8}if(H-=B,b.total_out+=H,d.total+=H,H&&(b.adler=d.check=d.flags?t(d.check,g,H,k-H):q(d.check,g,H,k-H)),H=B,(d.flags?A:e(A))!==d.check){b.msg="incorrect data check";d.mode=30;break}v=A=0}d.mode=28;case 28:if(d.wrap&&d.flags){for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A!==(4294967295&d.total)){b.msg="incorrect length check";d.mode=30;break}v=A=0}d.mode=29;case 29:V=1;break a;case 30:V= +-3;break a;case 31:return-4;default:return y}return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,(d.wsize||H!==b.avail_out&&30>d.mode&&(27>d.mode||4!==c))&&m(b,b.output,b.next_out,H-b.avail_out)?(d.mode=31,-4):(Q-=b.avail_in,H-=b.avail_out,b.total_in+=Q,b.total_out+=H,d.total+=H,d.wrap&&H&&(b.adler=d.check=d.flags?t(d.check,g,H,b.next_out-H):q(d.check,g,H,b.next_out-H)),b.data_type=d.bits+(d.last?64:0)+(12===d.mode?128:0)+(20===d.mode||15===d.mode?256:0),(0===Q&&0===H||4=== c)&&V===x&&(V=-5),V)};d.inflateEnd=function(b){if(!b||!b.state)return y;var c=b.state;return c.window&&(c.window=null),b.state=null,x};d.inflateGetHeader=function(b,c){var d;return b&&b.state?(d=b.state,0===(2&d.wrap)?y:(d.head=c,c.done=!1,x)):y};d.inflateSetDictionary=function(b,c){var d,e,f=c.length;return b&&b.state?(d=b.state,0!==d.wrap&&11!==d.mode?y:11===d.mode&&(e=1,e=q(e,c,f,0),e!==d.check)?-3:m(b,c,f,f)?(d.mode=31,-4):(d.havedict=1,x)):y};d.inflateInfo="pako inflate (from Nodeca project)"}, {"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(b,c,d){var e=b("../utils/common"),f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],k=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24, -25,25,26,26,27,27,28,28,29,29,64,64];c.exports=function(b,c,d,p,r,q,t,z){var l,m,n,u,D,F,E,B,G=z.bits,C,M,L,H,U,S,aa=0,A,v=null,Q=0,I=new e.Buf16(16);u=new e.Buf16(16);var J=null,ba=0;for(C=0;15>=C;C++)I[C]=0;for(M=0;M<p;M++)I[c[d+M]]++;H=G;for(L=15;1<=L&&0===I[L];L--);if(H>L&&(H=L),0===L)return r[q++]=20971520,r[q++]=20971520,z.bits=1,0;for(G=1;G<L&&0===I[G];G++);H<G&&(H=G);for(C=l=1;15>=C;C++)if(l<<=1,l-=I[C],0>l)return-1;if(0<l&&(0===b||1!==L))return-1;u[1]=0;for(C=1;15>C;C++)u[C+1]=u[C]+I[C]; -for(M=0;M<p;M++)0!==c[d+M]&&(t[u[c[d+M]]++]=M);if(0===b?(v=J=t,D=19):1===b?(v=f,Q-=257,J=g,ba-=257,D=256):(v=h,J=k,D=-1),A=0,M=0,C=G,u=q,U=H,S=0,n=-1,aa=1<<H,p=aa-1,1===b&&852<aa||2===b&&592<aa)return 1;for(var N=0;;){N++;F=C-S;t[M]<D?(E=0,B=t[M]):t[M]>D?(E=J[ba+t[M]],B=v[Q+t[M]]):(E=96,B=0);l=1<<C-S;G=m=1<<U;do m-=l,r[u+(A>>S)+m]=F<<24|E<<16|B|0;while(0!==m);for(l=1<<C-1;A&l;)l>>=1;if(0!==l?(A&=l-1,A+=l):A=0,M++,0===--I[C]){if(C===L)break;C=c[d+t[M]]}if(C>H&&(A&p)!==n){0===S&&(S=H);u+=G;U=C-S;for(l= -1<<U;U+S<L&&(l-=I[U+S],!(0>=l));)U++,l<<=1;if(aa+=1<<U,1===b&&852<aa||2===b&&592<aa)return 1;n=A&p;r[n]=H<<24|U<<16|u-q|0}}return 0!==A&&(r[u+A]=C-S<<24|4194304),z.bits=H,0}},{"../utils/common":3}],13:[function(b,c,d){c.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(b,c,d){function e(b){for(var c=b.length;0<=--c;)b[c]=0}function f(b,c,d,e,f){this.static_tree= +25,25,26,26,27,27,28,28,29,29,64,64];c.exports=function(b,c,d,p,r,q,t,z){var l,m,n,u,D,F,E,B,A=z.bits,C,L,K,G,U,S,aa=0,X,v=null,Q=0,H=new e.Buf16(16);u=new e.Buf16(16);var I=null,ba=0;for(C=0;15>=C;C++)H[C]=0;for(L=0;L<p;L++)H[c[d+L]]++;G=A;for(K=15;1<=K&&0===H[K];K--);if(G>K&&(G=K),0===K)return r[q++]=20971520,r[q++]=20971520,z.bits=1,0;for(A=1;A<K&&0===H[A];A++);G<A&&(G=A);for(C=l=1;15>=C;C++)if(l<<=1,l-=H[C],0>l)return-1;if(0<l&&(0===b||1!==K))return-1;u[1]=0;for(C=1;15>C;C++)u[C+1]=u[C]+H[C]; +for(L=0;L<p;L++)0!==c[d+L]&&(t[u[c[d+L]]++]=L);if(0===b?(v=I=t,D=19):1===b?(v=f,Q-=257,I=g,ba-=257,D=256):(v=h,I=k,D=-1),X=0,L=0,C=A,u=q,U=G,S=0,n=-1,aa=1<<G,p=aa-1,1===b&&852<aa||2===b&&592<aa)return 1;for(var M=0;;){M++;F=C-S;t[L]<D?(E=0,B=t[L]):t[L]>D?(E=I[ba+t[L]],B=v[Q+t[L]]):(E=96,B=0);l=1<<C-S;A=m=1<<U;do m-=l,r[u+(X>>S)+m]=F<<24|E<<16|B|0;while(0!==m);for(l=1<<C-1;X&l;)l>>=1;if(0!==l?(X&=l-1,X+=l):X=0,L++,0===--H[C]){if(C===K)break;C=c[d+t[L]]}if(C>G&&(X&p)!==n){0===S&&(S=G);u+=A;U=C-S;for(l= +1<<U;U+S<K&&(l-=H[U+S],!(0>=l));)U++,l<<=1;if(aa+=1<<U,1===b&&852<aa||2===b&&592<aa)return 1;n=X&p;r[n]=G<<24|U<<16|u-q|0}}return 0!==X&&(r[u+X]=C-S<<24|4194304),z.bits=G,0}},{"../utils/common":3}],13:[function(b,c,d){c.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(b,c,d){function e(b){for(var c=b.length;0<=--c;)b[c]=0}function f(b,c,d,e,f){this.static_tree= b;this.extra_bits=c;this.extra_base=d;this.elems=e;this.max_length=f;this.has_stree=b&&b.length}function g(b,c){this.dyn_tree=b;this.max_code=0;this.stat_desc=c}function h(b,c){b.pending_buf[b.pending++]=255&c;b.pending_buf[b.pending++]=c>>>8&255}function k(b,c,d){b.bi_valid>aa-d?(b.bi_buf|=c<<b.bi_valid&65535,h(b,b.bi_buf),b.bi_buf=c>>aa-b.bi_valid,b.bi_valid+=d-aa):(b.bi_buf|=c<<b.bi_valid&65535,b.bi_valid+=d)}function l(b,c,d){k(b,d[2*c],d[2*c+1])}function m(b,c){var d=0;do d|=1&b,b>>>=1,d<<=1; -while(0<--c);return d>>>1}function n(b,c,d){var e,f=Array(S+1),g=0;for(e=1;e<=S;e++)f[e]=g=g+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function p(b){var c;for(c=0;c<M;c++)b.dyn_ltree[2*c]=0;for(c=0;c<L;c++)b.dyn_dtree[2*c]=0;for(c=0;c<H;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*A]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?h(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,c,d,e){var f=2*c,g=2*d; -return b[f]<b[g]||b[f]===b[g]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function z(b,c,d){var e,f,g,h,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?l(b,f,c):(g=ea[f],l(b,g+C+1,c),h=J[g],0!==h&&(f-=P[g],k(b,f,h)),e--,g=256>e?ca[e]:ca[256+(e>>>7)],l(b,g,d),h=ba[g],0!==h&& -(e-=V[g],k(b,e,h)));while(m<b.last_lit)}l(b,A,c)}function w(b,c){var d,e,f,g=c.dyn_tree;e=c.stat_desc.static_tree;var h=c.stat_desc.has_stree,k=c.stat_desc.elems,l=-1;b.heap_len=0;b.heap_max=U;for(d=0;d<k;d++)0!==g[2*d]?(b.heap[++b.heap_len]=l=d,b.depth[d]=0):g[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>l?++l:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,h&&(b.static_len-=e[2*f+1]);c.max_code=l;for(d=b.heap_len>>1;1<=d;d--)t(b,g,d);f=k;do d=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),e=b.heap[1], -b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,g[2*f]=g[2*d]+g[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,g[2*d+1]=g[2*e+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,v,h=c.dyn_tree,k=c.max_code,p=c.stat_desc.static_tree,q=c.stat_desc.has_stree,r=c.stat_desc.extra_bits,I=c.stat_desc.extra_base,Q=c.stat_desc.max_length,u=0;for(e=0;e<=S;e++)b.bl_count[e]=0;h[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<U;d++)f=b.heap[d],e=h[2*h[2*f+1]+1]+ -1,e>Q&&(e=Q,u++),h[2*f+1]=e,f>k||(b.bl_count[e]++,m=0,f>=I&&(m=r[f-I]),v=h[2*f],b.opt_len+=v*(e+m),q&&(b.static_len+=v*(p[2*f+1]+m)));if(0!==u){do{for(e=Q-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[Q]--;u-=2}while(0<u);for(e=Q;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>k||(h[2*m+1]!==e&&(b.opt_len+=(e-h[2*m+1])*h[2*m],h[2*m+1]=e),f--)}n(g,l,b.bl_count)}function x(b,c,d){var e,f,g=-1,h=c[1],k=0,l=7,m=4;0===h&&(l=138,m=3);c[2*(d+1)+1]=65535;for(e=0;e<=d;e++)f=h, -h=c[2*(e+1)+1],++k<l&&f===h||(k<m?b.bl_tree[2*f]+=k:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*v]++):10>=k?b.bl_tree[2*Q]++:b.bl_tree[2*I]++,k=0,g=f,0===h?(l=138,m=3):f===h?(l=6,m=3):(l=7,m=4))}function y(b,c,d){var e,f,g=-1,h=c[1],m=0,n=7,p=4;0===h&&(n=138,p=3);for(e=0;e<=d;e++)if(f=h,h=c[2*(e+1)+1],!(++m<n&&f===h)){if(m<p){do l(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(l(b,f,b.bl_tree),m--),l(b,v,b.bl_tree),k(b,m-3,2)):10>=m?(l(b,Q,b.bl_tree),k(b,m-3,3)):(l(b,I,b.bl_tree),k(b,m-11,7));m= -0;g=f;0===h?(n=138,p=3):f===h?(n=6,p=3):(n=7,p=4)}}function u(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return E;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return B;for(c=32;c<C;c++)if(0!==b.dyn_ltree[2*c])return B;return E}function D(b,c,d,e){k(b,(G<<1)+(e?1:0),3);r(b);h(b,d);h(b,~d);F.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var F=b("../utils/common"),E=0,B=1,G=0,C=256,M=C+1+29,L=30,H=19,U=2*M+1,S=15,aa=16,A=256,v=16,Q=17, -I=18,J=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ba=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=Array(2*(M+2));e(X);var T=Array(2*L);e(T);var ca=Array(512);e(ca);var ea=Array(256);e(ea);var P=Array(29);e(P);var V=Array(L);e(V);var W,O,R,fa=!1;d._tr_init=function(b){if(!fa){var c,d,e,h=Array(S+1);for(e=d=0;28>e;e++)for(P[e]=d,c=0;c<1<<J[e];c++)ea[d++]=e;ea[d-1]= -e;for(e=d=0;16>e;e++)for(V[e]=d,c=0;c<1<<ba[e];c++)ca[d++]=e;for(d>>=7;e<L;e++)for(V[e]=d<<7,c=0;c<1<<ba[e]-7;c++)ca[256+d++]=e;for(c=0;c<=S;c++)h[c]=0;for(c=0;143>=c;)X[2*c+1]=8,c++,h[8]++;for(;255>=c;)X[2*c+1]=9,c++,h[9]++;for(;279>=c;)X[2*c+1]=7,c++,h[7]++;for(;287>=c;)X[2*c+1]=8,c++,h[8]++;n(X,M+1,h);for(c=0;c<L;c++)T[2*c+1]=5,T[2*c]=m(c,5);W=new f(X,J,C+1,M,S);O=new f(T,ba,0,L,S);R=new f([],N,0,H,7);fa=!0}b.l_desc=new g(b.dyn_ltree,W);b.d_desc=new g(b.dyn_dtree,O);b.bl_desc=new g(b.bl_tree,R); -b.bi_buf=0;b.bi_valid=0;p(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,c,d,e){var f,g,h=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=u(b));w(b,b.l_desc);w(b,b.d_desc);x(b,b.dyn_ltree,b.l_desc.max_code);x(b,b.dyn_dtree,b.d_desc.max_code);w(b,b.bl_desc);for(h=H-1;3<=h&&0===b.bl_tree[2*K[h]+1];h--);h=(b.opt_len+=3*(h+1)+14,h);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=d+5;if(d+4<=f&&-1!==c)D(b,c,d,e);else if(4===b.strategy||g===f)k(b,2+(e?1:0),3),z(b,X,T);else{k(b, -4+(e?1:0),3);c=b.l_desc.max_code+1;d=b.d_desc.max_code+1;h+=1;k(b,c-257,5);k(b,d-1,5);k(b,h-4,4);for(f=0;f<h;f++)k(b,b.bl_tree[2*K[f]+1],3);y(b,b.dyn_ltree,c-1);y(b,b.dyn_dtree,d-1);z(b,b.dyn_ltree,b.dyn_dtree)}p(b);e&&r(b)};d._tr_tally=function(b,c,d){return b.pending_buf[b.d_buf+2*b.last_lit]=c>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&c,b.pending_buf[b.l_buf+b.last_lit]=255&d,b.last_lit++,0===c?b.dyn_ltree[2*d]++:(b.matches++,c--,b.dyn_ltree[2*(ea[d]+C+1)]++,b.dyn_dtree[2*(256>c?ca[c]: -ca[256+(c>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){k(b,2,3);l(b,A,X);16===b.bi_valid?(h(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(b,c,d){c.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(b, +while(0<--c);return d>>>1}function n(b,c,d){var e,f=Array(S+1),g=0;for(e=1;e<=S;e++)f[e]=g=g+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function p(b){var c;for(c=0;c<L;c++)b.dyn_ltree[2*c]=0;for(c=0;c<K;c++)b.dyn_dtree[2*c]=0;for(c=0;c<G;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*X]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?h(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,c,d,e){var f=2*c,g=2*d; +return b[f]<b[g]||b[f]===b[g]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function z(b,c,d){var e,f,g,h,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?l(b,f,c):(g=ea[f],l(b,g+C+1,c),h=I[g],0!==h&&(f-=P[g],k(b,f,h)),e--,g=256>e?ca[e]:ca[256+(e>>>7)],l(b,g,d),h=ba[g],0!==h&& +(e-=V[g],k(b,e,h)));while(m<b.last_lit)}l(b,X,c)}function w(b,c){var d,e,f,g=c.dyn_tree;e=c.stat_desc.static_tree;var h=c.stat_desc.has_stree,k=c.stat_desc.elems,l=-1;b.heap_len=0;b.heap_max=U;for(d=0;d<k;d++)0!==g[2*d]?(b.heap[++b.heap_len]=l=d,b.depth[d]=0):g[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>l?++l:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,h&&(b.static_len-=e[2*f+1]);c.max_code=l;for(d=b.heap_len>>1;1<=d;d--)t(b,g,d);f=k;do d=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),e=b.heap[1], +b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,g[2*f]=g[2*d]+g[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,g[2*d+1]=g[2*e+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,v,h=c.dyn_tree,k=c.max_code,p=c.stat_desc.static_tree,q=c.stat_desc.has_stree,r=c.stat_desc.extra_bits,H=c.stat_desc.extra_base,Q=c.stat_desc.max_length,u=0;for(e=0;e<=S;e++)b.bl_count[e]=0;h[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<U;d++)f=b.heap[d],e=h[2*h[2*f+1]+1]+ +1,e>Q&&(e=Q,u++),h[2*f+1]=e,f>k||(b.bl_count[e]++,m=0,f>=H&&(m=r[f-H]),v=h[2*f],b.opt_len+=v*(e+m),q&&(b.static_len+=v*(p[2*f+1]+m)));if(0!==u){do{for(e=Q-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[Q]--;u-=2}while(0<u);for(e=Q;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>k||(h[2*m+1]!==e&&(b.opt_len+=(e-h[2*m+1])*h[2*m],h[2*m+1]=e),f--)}n(g,l,b.bl_count)}function x(b,c,d){var e,f,g=-1,h=c[1],k=0,l=7,m=4;0===h&&(l=138,m=3);c[2*(d+1)+1]=65535;for(e=0;e<=d;e++)f=h, +h=c[2*(e+1)+1],++k<l&&f===h||(k<m?b.bl_tree[2*f]+=k:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*v]++):10>=k?b.bl_tree[2*Q]++:b.bl_tree[2*H]++,k=0,g=f,0===h?(l=138,m=3):f===h?(l=6,m=3):(l=7,m=4))}function y(b,c,d){var e,f,g=-1,h=c[1],m=0,n=7,p=4;0===h&&(n=138,p=3);for(e=0;e<=d;e++)if(f=h,h=c[2*(e+1)+1],!(++m<n&&f===h)){if(m<p){do l(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(l(b,f,b.bl_tree),m--),l(b,v,b.bl_tree),k(b,m-3,2)):10>=m?(l(b,Q,b.bl_tree),k(b,m-3,3)):(l(b,H,b.bl_tree),k(b,m-11,7));m= +0;g=f;0===h?(n=138,p=3):f===h?(n=6,p=3):(n=7,p=4)}}function u(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return E;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return B;for(c=32;c<C;c++)if(0!==b.dyn_ltree[2*c])return B;return E}function D(b,c,d,e){k(b,(A<<1)+(e?1:0),3);r(b);h(b,d);h(b,~d);F.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var F=b("../utils/common"),E=0,B=1,A=0,C=256,L=C+1+29,K=30,G=19,U=2*L+1,S=15,aa=16,X=256,v=16,Q=17, +H=18,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ba=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],M=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],J=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=Array(2*(L+2));e(N);var T=Array(2*K);e(T);var ca=Array(512);e(ca);var ea=Array(256);e(ea);var P=Array(29);e(P);var V=Array(K);e(V);var W,O,R,fa=!1;d._tr_init=function(b){if(!fa){var c,d,e,h=Array(S+1);for(e=d=0;28>e;e++)for(P[e]=d,c=0;c<1<<I[e];c++)ea[d++]=e;ea[d-1]= +e;for(e=d=0;16>e;e++)for(V[e]=d,c=0;c<1<<ba[e];c++)ca[d++]=e;for(d>>=7;e<K;e++)for(V[e]=d<<7,c=0;c<1<<ba[e]-7;c++)ca[256+d++]=e;for(c=0;c<=S;c++)h[c]=0;for(c=0;143>=c;)N[2*c+1]=8,c++,h[8]++;for(;255>=c;)N[2*c+1]=9,c++,h[9]++;for(;279>=c;)N[2*c+1]=7,c++,h[7]++;for(;287>=c;)N[2*c+1]=8,c++,h[8]++;n(N,L+1,h);for(c=0;c<K;c++)T[2*c+1]=5,T[2*c]=m(c,5);W=new f(N,I,C+1,L,S);O=new f(T,ba,0,K,S);R=new f([],M,0,G,7);fa=!0}b.l_desc=new g(b.dyn_ltree,W);b.d_desc=new g(b.dyn_dtree,O);b.bl_desc=new g(b.bl_tree,R); +b.bi_buf=0;b.bi_valid=0;p(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,c,d,e){var f,g,h=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=u(b));w(b,b.l_desc);w(b,b.d_desc);x(b,b.dyn_ltree,b.l_desc.max_code);x(b,b.dyn_dtree,b.d_desc.max_code);w(b,b.bl_desc);for(h=G-1;3<=h&&0===b.bl_tree[2*J[h]+1];h--);h=(b.opt_len+=3*(h+1)+14,h);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=d+5;if(d+4<=f&&-1!==c)D(b,c,d,e);else if(4===b.strategy||g===f)k(b,2+(e?1:0),3),z(b,N,T);else{k(b, +4+(e?1:0),3);c=b.l_desc.max_code+1;d=b.d_desc.max_code+1;h+=1;k(b,c-257,5);k(b,d-1,5);k(b,h-4,4);for(f=0;f<h;f++)k(b,b.bl_tree[2*J[f]+1],3);y(b,b.dyn_ltree,c-1);y(b,b.dyn_dtree,d-1);z(b,b.dyn_ltree,b.dyn_dtree)}p(b);e&&r(b)};d._tr_tally=function(b,c,d){return b.pending_buf[b.d_buf+2*b.last_lit]=c>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&c,b.pending_buf[b.l_buf+b.last_lit]=255&d,b.last_lit++,0===c?b.dyn_ltree[2*d]++:(b.matches++,c--,b.dyn_ltree[2*(ea[d]+C+1)]++,b.dyn_dtree[2*(256>c?ca[c]: +ca[256+(c>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){k(b,2,3);l(b,X,N);16===b.bi_valid?(h(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(b,c,d){c.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(b, c,d){d=b("./lib/utils/common").assign;var e=b("./lib/deflate"),f=b("./lib/inflate");b=b("./lib/zlib/constants");var g={};d(g,e,f,b);c.exports=g},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});var JSON;JSON||(JSON={}); (function(){function a(a){return 10>a?"0"+a:a}function b(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var b=h[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(a,d){var e,h,l,m,t=f,z,w=d[a];w&&"object"===typeof w&&"function"===typeof w.toJSON&&(w=w.toJSON(a));"function"===typeof k&&(w=k.call(d,a,w));switch(typeof w){case "string":return b(w);case "number":return isFinite(w)?""+w:"null";case "boolean":case "null":return""+w; case "object":if(!w)return"null";f+=g;z=[];if("[object Array]"===Object.prototype.toString.apply(w)){m=w.length;for(e=0;e<m;e+=1)z[e]=c(e,w)||"null";l=0===z.length?"[]":f?"[\n"+f+z.join(",\n"+f)+"\n"+t+"]":"["+z.join(",")+"]";f=t;return l}if(k&&"object"===typeof k)for(m=k.length,e=0;e<m;e+=1)"string"===typeof k[e]&&(h=k[e],(l=c(h,w))&&z.push(b(h)+(f?": ":":")+l));else for(h in w)Object.prototype.hasOwnProperty.call(w,h)&&(l=c(h,w))&&z.push(b(h)+(f?": ":":")+l);l=0===z.length?"{}":f?"{\n"+f+z.join(",\n"+ @@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; -window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.8.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.8.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -529,9 +529,9 @@ function mxArrowConnector(a,b,c,d,e,f,g){mxShape.call(this);this.points=a;this.f mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))}; mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var b=this.getEdgeWidth();this.isMarkerStart()&&(b=Math.max(b,this.getStartArrowWidth()));this.isMarkerEnd()&&(b=Math.max(b,this.getEndArrowWidth()));a.grow((b/2+this.strokewidth)*this.scale)}; mxArrowConnector.prototype.paintEdgeShape=function(a,b){var c=this.strokewidth;this.outline&&(c=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+c,e=this.getEndArrowWidth()+c,f=this.outline?this.getEdgeWidth()+c:this.getEdgeWidth(),g=this.isOpenEnded(),h=this.isMarkerStart(),k=this.isMarkerEnd(),l=g?0:this.arrowSpacing+c/2,m=this.startSize+c,c=this.endSize+c,n=this.isArrowRounded(),p=b[b.length-1],r=1;r<b.length-1&&b[r].x== -b[0].x&&b[r].y==b[0].y;)r++;var q=b[r].x-b[0].x,r=b[r].y-b[0].y,t=Math.sqrt(q*q+r*r);if(0!=t){var z=q/t,w,x=z,y=r/t,u,D=y,t=f*y,F=-f*z,E=[];n?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();q=z;r=y;if(h&&!g)this.paintMarker(a,b[0].x,b[0].y,z,y,m,d,f,l,!0);else{w=b[0].x+t/2+l*z;u=b[0].y+F/2+l*y;var B=b[0].x-t/2+l*z,G=b[0].y-F/2+l*y;g?(a.moveTo(w,u),E.push(function(){a.lineTo(B,G)})):(a.moveTo(B,G),a.lineTo(w,u))}for(var C=u=w=0,t=0;t<b.length-2;t++)if(F=mxUtils.relativeCcw(b[t].x, -b[t].y,b[t+1].x,b[t+1].y,b[t+2].x,b[t+2].y),w=b[t+2].x-b[t+1].x,u=b[t+2].y-b[t+1].y,C=Math.sqrt(w*w+u*u),0!=C&&(x=w/C,D=u/C,tmp=Math.max(Math.sqrt((z*x+y*D+1)/2),.04),w=z+x,u=y+D,C=Math.sqrt(w*w+u*u),0!=C)){w/=C;u/=C;var C=Math.max(tmp,Math.min(this.strokewidth/200+.04,.35)),C=0!=F&&n?Math.max(.1,C):Math.max(tmp,.06),M=b[t+1].x+u*f/2/C,L=b[t+1].y-w*f/2/C;u=b[t+1].x-u*f/2/C;w=b[t+1].y+w*f/2/C;0!=F&&n?-1==F?(F=u+D*f,C=w-x*f,a.lineTo(u+y*f,w-z*f),a.quadTo(M,L,F,C),function(b,c){E.push(function(){a.lineTo(b, -c)})}(u,w)):(a.lineTo(M,L),function(b,c){var d=M-y*f,e=L+z*f,g=M-D*f,h=L+x*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,h)})}(u,w)):(a.lineTo(M,L),function(b,c){E.push(function(){a.lineTo(b,c)})}(u,w));z=x;y=D}t=f*D;F=-f*x;if(k&&!g)this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!1);else{a.lineTo(p.x-l*x+t/2,p.y-l*D+F/2);var H=p.x-l*x-t/2,U=p.y-l*D-F/2;g?(a.moveTo(H,U),E.splice(0,0,function(){a.moveTo(H,U)})):a.lineTo(H,U)}for(t=E.length-1;0<=t;t--)E[t]();g?(a.end(),a.stroke()):(a.close(), +b[0].x&&b[r].y==b[0].y;)r++;var q=b[r].x-b[0].x,r=b[r].y-b[0].y,t=Math.sqrt(q*q+r*r);if(0!=t){var z=q/t,w,x=z,y=r/t,u,D=y,t=f*y,F=-f*z,E=[];n?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();q=z;r=y;if(h&&!g)this.paintMarker(a,b[0].x,b[0].y,z,y,m,d,f,l,!0);else{w=b[0].x+t/2+l*z;u=b[0].y+F/2+l*y;var B=b[0].x-t/2+l*z,A=b[0].y-F/2+l*y;g?(a.moveTo(w,u),E.push(function(){a.lineTo(B,A)})):(a.moveTo(B,A),a.lineTo(w,u))}for(var C=u=w=0,t=0;t<b.length-2;t++)if(F=mxUtils.relativeCcw(b[t].x, +b[t].y,b[t+1].x,b[t+1].y,b[t+2].x,b[t+2].y),w=b[t+2].x-b[t+1].x,u=b[t+2].y-b[t+1].y,C=Math.sqrt(w*w+u*u),0!=C&&(x=w/C,D=u/C,tmp=Math.max(Math.sqrt((z*x+y*D+1)/2),.04),w=z+x,u=y+D,C=Math.sqrt(w*w+u*u),0!=C)){w/=C;u/=C;var C=Math.max(tmp,Math.min(this.strokewidth/200+.04,.35)),C=0!=F&&n?Math.max(.1,C):Math.max(tmp,.06),L=b[t+1].x+u*f/2/C,K=b[t+1].y-w*f/2/C;u=b[t+1].x-u*f/2/C;w=b[t+1].y+w*f/2/C;0!=F&&n?-1==F?(F=u+D*f,C=w-x*f,a.lineTo(u+y*f,w-z*f),a.quadTo(L,K,F,C),function(b,c){E.push(function(){a.lineTo(b, +c)})}(u,w)):(a.lineTo(L,K),function(b,c){var d=L-y*f,e=K+z*f,g=L-D*f,h=K+x*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,h)})}(u,w)):(a.lineTo(L,K),function(b,c){E.push(function(){a.lineTo(b,c)})}(u,w));z=x;y=D}t=f*D;F=-f*x;if(k&&!g)this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!1);else{a.lineTo(p.x-l*x+t/2,p.y-l*D+F/2);var G=p.x-l*x-t/2,U=p.y-l*D-F/2;g?(a.moveTo(G,U),E.splice(0,0,function(){a.moveTo(G,U)})):a.lineTo(G,U)}for(t=E.length-1;0<=t;t--)E[t]();g?(a.end(),a.stroke()):(a.close(), a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);n&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),h&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,q,r,m,d,f,l,!0),a.stroke(),a.end()),k&&!g&&(a.begin(),this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!0),a.stroke(),a.end()))}}; mxArrowConnector.prototype.paintMarker=function(a,b,c,d,e,f,g,h,k,l){g=h/g;var m=h*e/2;h=-h*d/2;var n=(k+f)*d;f=(k+f)*e;l?a.moveTo(b-m+n,c-h+f):a.lineTo(b-m+n,c-h+f);a.lineTo(b-m/g+n,c-h/g+f);a.lineTo(b+k*d,c+k*e);a.lineTo(b+m/g+n,c+h/g+f);a.lineTo(b+m+n,c+h+f)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH}; mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE}; @@ -1541,13 +1541,13 @@ function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphH this.getRubberband=function(){return n};var p=(new Date).getTime(),r=0,q=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;q.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),r=0):r=(new Date).getTime()-p};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, "outlineConnect","1"))&&t.apply(this,arguments)};var z=this.isToggleEvent;this.isToggleEvent=function(a){return z.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var x=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& (x=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=x)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return y.apply(this, -arguments);b=b?a.sourceState.cell:a.getCell();if(null!=b){var c=this.getLinkForCell(b);null!=c&&(this.isCustomLink(c)?this.customLinkClicked(b,c):this.openLink(c))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var u=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return u.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m), -p=this.view.getState(n);if(null!=p&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(p.style,"locked","0")){var q=mxUtils.getValue(p.style,mxConstants.STYLE_ROTATION)||0;0!=q&&(p=mxUtils.getBoundingBox(p,q));(g.isEdge(n)||g.isVertex(n))&&p.x>=a&&p.y+p.height<=k&&p.y>=b&&p.x+p.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var F=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();F=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=F?this.addSelectionCells(F):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);F=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +arguments);b=b?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var u=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return u.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m),p=this.view.getState(n);if(null!= +p&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(p.style,"locked","0")){var q=mxUtils.getValue(p.style,mxConstants.STYLE_ROTATION)||0;0!=q&&(p=mxUtils.getBoundingBox(p,q));(g.isEdge(n)||g.isVertex(n))&&p.x>=a&&p.y+p.height<=k&&p.y>=b&&p.x+p.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var F=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();F=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c= +b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=F?this.addSelectionCells(F):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);F=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; @@ -1555,7 +1555,7 @@ Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);th d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}}; Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,b){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a);a=null!=b?b.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(b=new mxStackLayout(this.graph,!0),b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),b.spacing=a.stackSpacing||b.spacing,b.border=a.stackBorder||b.border,b.marginLeft=a.marginLeft||0,b.marginRight=a.marginRight||0,b.marginTop=a.marginTop||0,b.marginBottom=a.marginBottom||0,b.fill=!0,b):"treeLayout"==a.childLayout?(b=new mxCompactTreeLayout(this.graph),b.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.groupPadding=mxUtils.getValue(a,"parentPadding",20),b.levelDistance=mxUtils.getValue(a,"treeLevelDistance", @@ -1571,8 +1571,8 @@ shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyy /\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),c=!0);var h=c?"getUTC":"get",k=a[h+"Date"](),l=a[h+"Day"](),m=a[h+"Month"](),n=a[h+"FullYear"](),p=a[h+"Hours"](),r=a[h+"Minutes"](),q=a[h+"Seconds"](),h=a[h+"Milliseconds"](),t=c?0:a.getTimezoneOffset(),z={d:k,dd:g(k),ddd:d.i18n.dayNames[l],dddd:d.i18n.dayNames[l+7],m:m+1,mm:g(m+1),mmm:d.i18n.monthNames[m],mmmm:d.i18n.monthNames[m+ 12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:g(p%12||12),H:p,HH:g(p),M:r,MM:g(r),s:q,ss:g(q),l:g(h,3),L:g(99<h?Math.round(h/10):h),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:c?"UTC":(String(a).match(e)||[""]).pop().replace(f,""),o:(0<t?"-":"+")+g(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in z?z[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),c=b.getChildCount(b.root),d=0;d<c;d++)(function(c){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var e=document.createElement("input");e.style.display="inline-block";e.setAttribute("type","checkbox");b.isVisible(c)&&(e.setAttribute("checked","checked"),e.defaultChecked= -!0);d.appendChild(e);var h=c.value||mxResources.get("background")||"Background";d.setAttribute("title",h);mxUtils.write(d,h);a.appendChild(d);mxEvent.addListener(e,"click",function(){null!=e.getAttribute("checked")?e.removeAttribute("checked"):e.setAttribute("checked","checked");b.setVisible(c,e.checked)})})(b.getChildAt(b.root,d));return a}; +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),c=b.getChildCount(b.root),d=0;d<c;d++)mxUtils.bind(this,function(c){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var e=document.createElement("input");e.style.display="inline-block";e.setAttribute("type","checkbox");b.isVisible(c)&&(e.setAttribute("checked","checked"), +e.defaultChecked=!0);d.appendChild(e);var h=this.convertValueToString(c)||mxResources.get("background")||"Background";d.setAttribute("title",h);mxUtils.write(d,h);a.appendChild(d);mxEvent.addListener(e,"click",function(){null!=e.getAttribute("checked")?e.removeAttribute("checked"):e.setAttribute("checked","checked");b.setVisible(c,e.checked)})})(b.getChildAt(b.root,d));return a}; Graph.prototype.replacePlaceholders=function(a,b){var c=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var e=match[0];if(2<e.length&&"%label%"!=e&&"%tooltip%"!=e){var f=null;if(match.index>d&&"%"==b.charAt(match.index-1))f=e.substring(1);else{var g=e.substring(1,e.length-1);if(0>g.indexOf("{"))for(var h=a;null==f&&null!=h;)null!=h.value&&"object"==typeof h.value&&(f=h.hasAttribute(g)?null!=h.getAttribute(g)?h.getAttribute(g):"":null),h=this.model.getParent(h);null==f&&(f=this.getGlobalVariable(g))}c.push(b.substring(d, match.index)+(null!=f?f:e));d=match.index+e.length}}c.push(b.substring(d))}return c.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,c){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=c&&(mxEvent.isTouchEvent(b)?c.update(c.getState(this.view.getState(a[1]))):c.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; Graph.prototype.connectVertex=function(a,b,c,d,e,f){f=f?f:!1;var g=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(g.x+=a.geometry.width/2,g.y-=c):b==mxConstants.DIRECTION_SOUTH?(g.x+=a.geometry.width/2,g.y+=a.geometry.height+c):(g.x=b==mxConstants.DIRECTION_WEST?g.x-c:g.x+(a.geometry.width+c),g.y+=a.geometry.height/2);c=this.view.getState(this.model.getParent(a)); @@ -1658,7 +1658,7 @@ a.getCell=mxUtils.bind(this,function(a){var c=b.apply(this,arguments);this.error null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; Graph.prototype.importGraphModel=function(a,b,c,d){b=null!=b?b:0;c=null!=c?c:0;var e=[],f=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,f);a=f.getChildCount(f.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var k=f.getChildAt(f.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,g)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l= f.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),null,g))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var m=this.getBoundingBoxFromGeometry(e,!0);null!=m&&this.moveCells(e,b-m.x,c-m.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var f=e[c];d.push(new mxConnectionConstraint(new mxPoint(f[0], -f[1]),2<f.length?"0"!=f[2]:!0))}}catch(K){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, +f[1]),2<f.length?"0"!=f[2]:!0))}}catch(J){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||c++)}return 0<c||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(b,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell= function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); @@ -1701,7 +1701,7 @@ function(a,b){b=null!=b?b:a;var c=document.createElement("a");c.setAttribute("hr b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(b){b=a.apply(this,arguments);if(mxEvent.isTouchEvent(b.getEvent())&&null==b.getState()){var c=this.getCellAt(b.graphX,b.graphY);null!=c&&this.isSwimlane(c)&&this.hitsSwimlaneContent(c,b.graphX,b.graphY)||(b.state=this.view.getState(c),null!=b.state&&null!=b.state.shape&&(this.container.style.cursor=b.state.shape.node.style.cursor))}null==b.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&& (c&&null==e.getCell()&&this.isSelectionEmpty()||b&&this.isCellSelected(e.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}else if(document.selection&& -document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(J){}};var e=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", +document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(I){}};var e=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", "1"));e.apply(this,arguments)};var f=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?f.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var g=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){g.apply(this, arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var c=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(c)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var h=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e= @@ -1750,7 +1750,7 @@ HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandle arguments)};var D=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):D.apply(this,arguments)};var F=mxVertexHandler.prototype.mouseDown; mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&F.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var E=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){E.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var G=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){G.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= +function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= 1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); b()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!= this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d= @@ -1758,17 +1758,17 @@ document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttrib d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"), mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var C=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){C.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(b,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, -this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var M=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){M.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var L=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){L.apply(this); +this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var L=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){L.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var K=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){K.apply(this); if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c, -b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var H=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){H.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var U=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= +b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var G=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var U=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= function(){U.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var S=mxEdgeHandler.prototype.redrawHandles; mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(S.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var aa=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= -function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var A=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){A.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var X=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){X.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function c(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function e(){mxCylinder.call(this)}function f(){mxActor.call(this)}function g(){mxCylinder.call(this)}function h(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function r(){mxActor.call(this)}function q(a,b){this.canvas= a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,q.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,q.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,q.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,q.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function x(){mxActor.call(this)}function y(){mxActor.call(this)}function u(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function F(){mxCylinder.call(this)}function E(){mxShape.call(this)}function B(){mxShape.call(this)} -function G(){mxEllipse.call(this)}function C(){mxShape.call(this)}function M(){mxShape.call(this)}function L(){mxRectangleShape.call(this)}function H(){mxShape.call(this)}function U(){mxShape.call(this)}function S(){mxShape.call(this)}function aa(){mxCylinder.call(this)}function A(){mxDoubleEllipse.call(this)}function v(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=0}function I(){mxArrowConnector.call(this);this.spacing=0}function J(){mxActor.call(this)}function ba(){mxRectangleShape.call(this)} -function N(){mxActor.call(this)}function K(){mxActor.call(this)}function X(){mxActor.call(this)}function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function ea(){mxActor.call(this)}function P(){mxActor.call(this)}function V(){mxActor.call(this)}function W(){mxActor.call(this)}function O(){mxActor.call(this)}function R(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}function Z(){mxRhombus.call(this)}function va(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)} +function A(){mxEllipse.call(this)}function C(){mxShape.call(this)}function L(){mxShape.call(this)}function K(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function U(){mxShape.call(this)}function S(){mxShape.call(this)}function aa(){mxCylinder.call(this)}function X(){mxDoubleEllipse.call(this)}function v(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=0}function H(){mxArrowConnector.call(this);this.spacing=0}function I(){mxActor.call(this)}function ba(){mxRectangleShape.call(this)} +function M(){mxActor.call(this)}function J(){mxActor.call(this)}function N(){mxActor.call(this)}function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function ea(){mxActor.call(this)}function P(){mxActor.call(this)}function V(){mxActor.call(this)}function W(){mxActor.call(this)}function O(){mxActor.call(this)}function R(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}function Z(){mxRhombus.call(this)}function va(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)} function xa(){mxEllipse.call(this)}function qa(){mxEllipse.call(this)}function ra(){mxActor.call(this)}function ma(){mxActor.call(this)}function ia(){mxActor.call(this)}function ja(){mxConnector.call(this)}function Ba(a,b,c,d,e,f,g,h,k,l){g+=k;var m=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(m.x-e-g,m.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", a);var ya=Math.tan(mxUtils.toRadians(30)),ka=(.5-ya)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/ya);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*ka);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-ka)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(c,mxCylinder);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(d,e/(.5+ya));f?(a.moveTo(0,.25*b),a.lineTo(.5* @@ -1803,14 +1803,14 @@ c,d,e]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function 0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],l=this.style["symbol"+f+"Width"],m=this.style["symbol"+f+"Height"],sa=this.style["symbol"+f+"Spacing"]||0,n=this.style["symbol"+f+"VSpacing"]||sa,p=this.style["symbol"+f+"ArcSpacing"];null!=p&&(p*=this.getArcSize(d+this.strokewidth, e+this.strokewidth),sa+=p,n+=p);var p=b,oa=c,p=h==mxConstants.ALIGN_CENTER?p+(d-l)/2:h==mxConstants.ALIGN_RIGHT?p+(d-l-sa):p+sa,oa=k==mxConstants.ALIGN_MIDDLE?oa+(e-m)/2:k==mxConstants.ALIGN_BOTTOM?oa+(e-m-n):oa+n;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,p,oa,l,m);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(F,mxCylinder);F.prototype.redrawPath=function(a,b,c,d, e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",F);mxUtils.extend(E,mxShape);E.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end();a.stroke()}; -mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(G,mxEllipse);G.prototype.paintVertexShape=function(a,b, -c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",G);mxUtils.extend(C,mxShape);C.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",C);mxUtils.extend(M,mxShape);M.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ -a.height/8,a.width,7*a.height/8)};M.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};M.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",M);mxUtils.extend(L,mxRectangleShape);L.prototype.size=40;L.prototype.isHtmlAllowed=function(){return!1};L.prototype.getLabelBounds= -function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};L.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=L&&(g=new g, -g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};L.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,f))};mxCellRenderer.registerShape("umlLifeline",L);mxUtils.extend(H,mxShape);H.prototype.width=60;H.prototype.height=30;H.prototype.corner= -10;H.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};H.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style, +mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(A,mxEllipse);A.prototype.paintVertexShape=function(a,b, +c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",A);mxUtils.extend(C,mxShape);C.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",C);mxUtils.extend(L,mxShape);L.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ +a.height/8,a.width,7*a.height/8)};L.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};L.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",L);mxUtils.extend(K,mxRectangleShape);K.prototype.size=40;K.prototype.isHtmlAllowed=function(){return!1};K.prototype.getLabelBounds= +function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};K.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=K&&(g=new g, +g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};K.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,f))};mxCellRenderer.registerShape("umlLifeline",K);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner= +10;G.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};G.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin(); -a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",H);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=L.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); +a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=K.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x< a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",w.prototype.size))* b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,d){var e=m.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+ @@ -1824,15 +1824,15 @@ b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height,l e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(U,mxShape);U.prototype.size=10;U.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke(); a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",U);mxUtils.extend(S,mxShape);S.prototype.size=10;S.prototype.inset=2;S.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/ 2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",S);mxUtils.extend(aa,mxCylinder);aa.prototype.jettyWidth=32;aa.prototype.jettyHeight=12;aa.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c, -k),a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",aa);mxUtils.extend(A,mxDoubleEllipse);A.prototype.outerStroke=!0;A.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); -this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",A);mxUtils.extend(v,A);v.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",v);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", -Q);mxUtils.extend(I,mxArrowConnector);I.prototype.defaultWidth=10;I.prototype.defaultArrowWidth=20;I.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};I.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};I.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", -I);mxUtils.extend(J,mxActor);J.prototype.size=30;J.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",J);mxUtils.extend(ba,mxRectangleShape);ba.prototype.dx=20;ba.prototype.dy=20;ba.prototype.isHtmlAllowed= +k),a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",aa);mxUtils.extend(X,mxDoubleEllipse);X.prototype.outerStroke=!0;X.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); +this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",X);mxUtils.extend(v,X);v.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",v);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", +Q);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=10;H.prototype.defaultArrowWidth=20;H.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};H.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", +H);mxUtils.extend(I,mxActor);I.prototype.size=30;I.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",I);mxUtils.extend(ba,mxRectangleShape);ba.prototype.dx=20;ba.prototype.dy=20;ba.prototype.isHtmlAllowed= function(){return!1};ba.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));g=Math.max(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+f);a.lineTo(b+d,c+ -f);a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",ba);mxUtils.extend(N,mxActor);N.prototype.dx=20;N.prototype.dy=20;N.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, -mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",N);mxUtils.extend(K,mxActor);K.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",K);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= -20;X.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d- -b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(T,mxActor);T.prototype.arrowWidth=.3;T.prototype.arrowSize=.2;T.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +f);a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",ba);mxUtils.extend(M,mxActor);M.prototype.dx=20;M.prototype.dy=20;M.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, +mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",M);mxUtils.extend(J,mxActor);J.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",J);mxUtils.extend(N,mxActor);N.prototype.dx=20;N.prototype.dy= +20;N.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d- +b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",N);mxUtils.extend(T,mxActor);T.prototype.arrowWidth=.3;T.prototype.arrowSize=.2;T.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ 2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",T.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",T.prototype.arrowSize)))); c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ca);mxUtils.extend(ea,mxActor);ea.prototype.size=.1;ea.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, "size",this.size))));a.moveTo(b,0);a.lineTo(d,0);a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",ea);mxUtils.extend(P,mxActor);P.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",P);mxUtils.extend(V,mxActor);V.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);a.close(); @@ -1869,17 +1869,17 @@ b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])}) Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*c)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<b&&(a.style.endWidth=a.style.startWidth))})));return c},swimlane:function(a){var b=[da(a,[mxConstants.STYLE_STARTSIZE],function(b){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(b.getCenterX(), b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ga(a,c/2))}return b}, -label:pa(),ext:pa(),rectangle:pa(),triangle:pa(),rhombus:pa(),umlLifeline:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",L.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[da(a,["width","height"],function(a){var b=Math.max(H.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, -"width",H.prototype.width))),c=Math.max(1.5*H.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",H.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(H.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*H.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[da(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, +label:pa(),ext:pa(),rectangle:pa(),triangle:pa(),rhombus:pa(),umlLifeline:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",K.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[da(a,["width","height"],function(a){var b=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, +"width",G.prototype.width))),c=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(G.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[da(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, "size",t.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},cross:function(a){return[da(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ma.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",e.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b= -[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",J.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},dataStorage:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size)))); +[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",I.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},dataStorage:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size)))); return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[da(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- b)},function(a,b){mxUtils.getValue(this.state.style,"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),da(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, (b.x-a.x)/a.width)))/100}),da(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))); this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},internalStorage:function(a){var b=[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",ba.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",ba.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, -b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},corner:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",N.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",N.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, -b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, +b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},corner:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",M.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",M.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, +b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",N.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",N.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, Math.min(a.height,b.y-a.y)))})]},singleArrow:ha(1),doubleArrow:ha(.5),folder:function(a){return[da(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",g.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",g.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",O.prototype.size)))); @@ -1891,7 +1891,7 @@ k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g. mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1, .5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;u.prototype.constraints=mxRectangleShape.prototype.constraints;e.prototype.constraints=mxRectangleShape.prototype.constraints;h.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints; -ba.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints=mxRectangleShape.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;qa.prototype.constraints=mxEllipse.prototype.constraints;J.prototype.constraints=mxRectangleShape.prototype.constraints;ra.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints= +ba.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints=mxRectangleShape.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;qa.prototype.constraints=mxEllipse.prototype.constraints;I.prototype.constraints=mxRectangleShape.prototype.constraints;ra.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints= mxRectangleShape.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;O.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, .3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];aa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, @@ -1904,9 +1904,9 @@ mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.protot 0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1), !0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875, .5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];m.prototype.constraints=mxRectangleShape.prototype.constraints;n.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, -.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;X.prototype.constraints=null;N.prototype.constraints=null;K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;N.prototype.constraints=null;M.prototype.constraints=null;J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), -new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];L.prototype.constraints=null;P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, +new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];K.prototype.constraints=null;P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, .5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];V.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)]})(); (function(x,r){function N(){if(!t){t=!0;window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config({jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<p.length;a++)MathJax.Hub.Queue(["Typeset",MathJax.Hub, p[a]])})}};var a=document.createElement("script");a.type="text/javascript";a.src="https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";document.getElementsByTagName("head")[0].appendChild(a)}}function O(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?MathJax.Hub.Queue(["Typeset",MathJax.Hub,a.container]):p.push(a.container);a.addListener(mxEvent.SIZE,function(e,m){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub&&MathJax.Hub.Queue(["Typeset",MathJax.Hub, diff --git a/src/main/webapp/js/extensions.min.js b/src/main/webapp/js/extensions.min.js index c7d4f4c535f13ee57526c4de9e95fb17d47c6852..df6ddf3181063e48ca57a4ad84dd8dafe84a81e5 100644 --- a/src/main/webapp/js/extensions.min.js +++ b/src/main/webapp/js/extensions.min.js @@ -588,11 +588,11 @@ null!=c&&(b=c.indexOf("rotation="),-1<b))for(c=parseFloat(c.substring(b+9,c.inde (function(c){(function(m){(function(w){var l=function(h){function f(){var b=h.call(this)||this;b.RESPONSE_END="";b.RESPONSE_DIAGRAM_START="";b.RESPONSE_DIAGRAM_END="";b.RESPONSE_HEADER="";return b}__extends(f,h);f.prototype.decodeVssx=function(b,a,d){var g=this,p="<mxlibrary>[";this.decodeVsdx(b,function(b){p=p.concat(b);var d=g.vsdxModel.getMasterShapes(),f=function(a){var b=0;return{next:function(){return b<a.length?a[b++]:null},hasNext:function(){return b<a.length}}}(function(a){var b=[];null== a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)b.push(a.entries[d].value);return b}(g.vsdxModel.getPages())).next();if(null!=d){var D={str:"",toString:function(){return this.str}},l=0===b.length?"":",",w=function(a){return Object.keys(a).map(function(b){return a[b]})}(d);b=function(a){a=w[a];var b=m.createMxGraph(),g=a.getMasterShape().getShape(),p=new c.mxgraph.io.vsdx.VsdxShape(f,g,!f.isEdge(g),d,null,m.vsdxModel),g=null;if(p.isVertex()){m.edgeShapeMap.entries=[];m.parentsMap.entries= [];for(var g=m.addShape(b,p,b.getDefaultParent(),0,1169),p=function(a){null==a.entries&&(a.entries=[]);return a.entries}(m.edgeShapeMap),C=0;C<p.length;C++){var y=p[C],q=function(a,b){null==a.entries&&(a.entries=[]);for(var d=0;d<a.entries.length;d++)if(null!=a.entries[d].key.equals&&a.entries[d].key.equals(b)||a.entries[d].key===b)return a.entries[d].value;return null}(m.parentsMap,y.getKey());m.addUnconnectedEdge(b,q,y.getValue(),1169)}}else g=m.addUnconnectedEdge(b,null,p,1169);if(null!=g){g=m.normalizeGeo(g); -m.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";D.str=D.str.concat(l);D.str=D.str.concat('{"xml":"');b=h.prototype.processPage.call(m,b,null);D.str=D.str.concat(b);D.str=D.str.concat('","w":');D.str=D.str.concat(g.width);D.str=D.str.concat(',"h":');D.str=D.str.concat(g.height);D.str=D.str.concat(',"title":');a=a.getName();null==a&&(a="");a=JSON.stringify(a);D.str=D.str.concat(a);D.str=D.str.concat("}");l=","}};for(var m=g,E=0;E<w.length;E++)b(E);p=p.concat(D)}p= -p.concat("]</mxlibrary>");a&&a(p)},d)};f.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var g=0;g<b.length;g++)this.transPoint(b[g],d);this.transPoint(d,d)}return a};f.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};f.prototype.processPage=function(b,a){var d=b.getModel(),g="",p="",f;for(f in d.cells){var C=d.cells[f];if(b.getDefaultParent()=== -d.getParent(C)){var g=g.concat(p),g=g.concat('{"xml":"'),y=this.createMxGraph();y.addCell(C);this.sanitiseGraph(y);if(0===y.getModel().getChildCount(y.getDefaultParent()))return"continue";p=this.normalizeGeo(C);y=h.prototype.processPage.call(this,y,null);g=g.concat(y);g=g.concat('","w":');g=g.concat(p.width);g=g.concat(',"h":');g=g.concat(p.height);g=g.concat(',"title":"');p=d.getStyle(C);C="";if(null!=p&&(y=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),0<=y)){y+=c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+ -1;f=parseInt(p.substring(y,p.indexOf(";",y)));a:{p=this.vertexShapeMap;y=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),f);null==p.entries&&(p.entries=[]);for(var q=0;q<p.entries.length;q++)if(null!=p.entries[q].key.equals&&p.entries[q].key.equals(y)||p.entries[q].key===y){p=p.entries[q].value;break a}p=null}null!=p&&(C=p.getName())}g=g.concat(C);g=g.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<g.length?",":"";return g};return f}(c.mxgraph.io.mxVsdxCodec);w.mxVssxCodec=l;l.__class="com.mxgraph.io.mxVssxCodec"})(m.io|| -(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); +m.sanitiseGraph(b);if(0===b.getModel().getChildCount(b.getDefaultParent()))return"continue";D.str=D.str.concat(l);D.str=D.str.concat('{"xml":"');b=h.prototype.processPage.call(m,b,null);D.str=D.str.concat(b);D.str=D.str.concat('","w":');D.str=D.str.concat(g.width);D.str=D.str.concat(',"h":');D.str=D.str.concat(g.height);D.str=D.str.concat(',"title":');a=a.getName();null==a&&(a="");a=JSON.stringify(mxUtils.htmlEntities(a));D.str=D.str.concat(a);D.str=D.str.concat("}");l=","}};for(var m=g,E=0;E<w.length;E++)b(E); +p=p.concat(D)}p=p.concat("]</mxlibrary>");a&&a(p)},d)};f.prototype.normalizeGeo=function(b){var a=b.getGeometry();a.x=0;a.y=0;var d=a.sourcePoint;if(b.isEdge()&&null!=d){this.transPoint(a.targetPoint,d);this.transPoint(a.offset,d);b=a.points;if(null!=b)for(var g=0;g<b.length;g++)this.transPoint(b[g],d);this.transPoint(d,d)}return a};f.prototype.transPoint=function(b,a){null!=b&&(b.x-=a.x,b.y-=a.y)};f.prototype.processPage=function(b,a){var d=b.getModel(),g="",p="",f;for(f in d.cells){var C=d.cells[f]; +if(b.getDefaultParent()===d.getParent(C)){var g=g.concat(p),g=g.concat('{"xml":"'),y=this.createMxGraph();y.addCell(C);this.sanitiseGraph(y);if(0===y.getModel().getChildCount(y.getDefaultParent()))return"continue";p=this.normalizeGeo(C);y=h.prototype.processPage.call(this,y,null);g=g.concat(y);g=g.concat('","w":');g=g.concat(p.width);g=g.concat(',"h":');g=g.concat(p.height);g=g.concat(',"title":"');p=d.getStyle(C);C="";if(null!=p&&(y=p.indexOf(c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID),0<=y)){y+= +c.mxgraph.io.vsdx.mxVsdxConstants.VSDX_ID.length+1;f=parseInt(p.substring(y,p.indexOf(";",y)));a:{p=this.vertexShapeMap;y=new c.mxgraph.io.vsdx.ShapePageId(a.getId(),f);null==p.entries&&(p.entries=[]);for(var q=0;q<p.entries.length;q++)if(null!=p.entries[q].key.equals&&p.entries[q].key.equals(y)||p.entries[q].key===y){p=p.entries[q].value;break a}p=null}null!=p&&(C=p.getName())}g=g.concat(C);g=g.concat('"}');p=","}}this.RESPONSE_DIAGRAM_START=0<g.length?",":"";return g};return f}(c.mxgraph.io.mxVsdxCodec); +w.mxVssxCodec=l;l.__class="com.mxgraph.io.mxVssxCodec"})(m.io||(m.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); (function(c){(function(c){(function(c){(function(c){(function(c){var f=function(){function b(a,b,g){this.formulaE=this.formulaA=this.d=this.c=this.b=this.a=this.y=this.x=null;this.index=0;this.index=a;this.x=b;this.y=g}b.prototype.getX=function(){return this.x};b.prototype.getY=function(){return this.y};b.prototype.getA=function(){return this.a};b.prototype.getB=function(){return this.b};b.prototype.getC=function(){return this.c};b.prototype.getD=function(){return this.d};b.prototype.getFormulaA= function(){return this.formulaA};b.prototype.getFormulaE=function(){return this.formulaE};b.prototype.getIndex=function(){return this.index};return b}();c.Row=f;f.__class="com.mxgraph.io.vsdx.geometry.Row"})(c.geometry||(c.geometry={}))})(c.vsdx||(c.vsdx={}))})(c.io||(c.io={}))})(c.mxgraph||(c.mxgraph={}))})(com||(com={})); (function(c){(function(m){(function(m){(function(l){(function(h){var f=function(){function b(){}b.getIndex=function(a){try{return parseInt(a.getAttribute("IX"))}catch(d){return 1}};b.getDoubleVal=function(a){try{if(null!=a&&0!==a.length){var b=parseFloat(a);if(isFinite(b))return b}}catch(g){}return null};b.getRowObj=function(a,d){var g=a.getAttribute("T"),p=b.getIndex(a),f;f=(f=a.getAttribute("Del"))&&f.equals?f.equals("1"):"1"===f;if(!f){var C=null;p<=d.length&&(C=d[p-1]);var y=f=null,q=null,h=null, diff --git a/src/main/webapp/js/mxgraph/Actions.js b/src/main/webapp/js/mxgraph/Actions.js index b4e5b85ba8f0b76fac24bb87730d0626243ca5f3..e7f7bef39e57240fcf5e9d8e28b64bdae7cf0b18 100644 --- a/src/main/webapp/js/mxgraph/Actions.js +++ b/src/main/webapp/js/mxgraph/Actions.js @@ -140,6 +140,56 @@ Actions.prototype.init = function() } }); + this.addAction('copySize', function(evt) + { + var cell = graph.getSelectionCell(); + + if (graph.isEnabled() && cell != null && graph.getModel().isVertex(cell)) + { + var geo = graph.getCellGeometry(cell); + + if (geo != null) + { + ui.copiedSize = new mxRectangle(geo.x, geo.y, geo.width, geo.height); + } + } + }, null, null, 'Alt+Shit+X'); + + this.addAction('pasteSize', function(evt) + { + if (graph.isEnabled() && !graph.isSelectionEmpty() && ui.copiedSize != null) + { + graph.getModel().beginUpdate(); + + try + { + var cells = graph.getSelectionCells(); + + for (var i = 0; i < cells.length; i++) + { + if (graph.getModel().isVertex(cells[i])) + { + var geo = graph.getCellGeometry(cells[i]); + + if (geo != null) + { + geo = geo.clone(); + geo.width = ui.copiedSize.width; + geo.height = ui.copiedSize.height; + + graph.getModel().setGeometry(cells[i], geo); + } + } + } + } + finally + { + graph.getModel().endUpdate(); + } + } + }, null, null, 'Alt+Shit+V'); + + function deleteCells(includeEdges) { // Cancels interactive operations @@ -257,13 +307,7 @@ Actions.prototype.init = function() this.addAction('editData...', function() { var cell = graph.getSelectionCell() || graph.getModel().getRoot(); - - if (cell != null) - { - var dlg = new EditDataDialog(ui, cell); - ui.showDialog(dlg.container, 340, 340, true, false, null, false); - dlg.init(); - } + ui.showDataDialog(cell); }, null, null, Editor.ctrlKey + '+M'); this.addAction('editTooltip...', function() { diff --git a/src/main/webapp/js/mxgraph/Dialogs.js b/src/main/webapp/js/mxgraph/Dialogs.js index daa6b5058ebd89b2cd58737eb70d6345fbed01d6..1c586aa97d358a6d42ca0bc354ba3ce0947d08e1 100644 --- a/src/main/webapp/js/mxgraph/Dialogs.js +++ b/src/main/webapp/js/mxgraph/Dialogs.js @@ -1404,10 +1404,11 @@ var EditDataDialog = function(ui, cell) }; var temp = []; + var isLayer = graph.getModel().getParent(cell) == graph.getModel().getRoot(); for (var i = 0; i < attrs.length; i++) { - if (attrs[i].nodeName != 'label' && attrs[i].nodeName != 'placeholders') + if ((isLayer || attrs[i].nodeName != 'label') && attrs[i].nodeName != 'placeholders') { temp.push({name: attrs[i].nodeName, value: attrs[i].nodeValue}); } @@ -1429,15 +1430,20 @@ var EditDataDialog = function(ui, cell) return 0; } }); + + var id = EditDataDialog.getDisplayIdForCell(ui, cell); - var text = document.createElement('input'); - text.style.width = '280px'; - text.style.textAlign = 'center'; - text.setAttribute('type', 'text'); - text.setAttribute('readOnly', 'true'); - text.setAttribute('value', cell.getId()); - - form.addField(mxResources.get('id') + ':', text); + if (id != null) + { + var text = document.createElement('input'); + text.style.width = '280px'; + text.style.textAlign = 'center'; + text.setAttribute('type', 'text'); + text.setAttribute('readOnly', 'true'); + text.setAttribute('value', id); + + form.addField(mxResources.get('id') + ':', text); + } for (var i = 0; i < temp.length; i++) { @@ -1662,6 +1668,21 @@ var EditDataDialog = function(ui, cell) this.container = div; }; +/** + * Optional help link. + */ +EditDataDialog.getDisplayIdForCell = function(ui, cell) +{ + var id = null; + + if (ui.editor.graph.getModel().getParent(cell) != null) + { + id = cell.getId(); + } + + return id; +}; + /** * Optional help link. */ @@ -2083,19 +2104,37 @@ var LayersWindow = function(editorUi, x, y, w, h) ldiv.appendChild(insertLink); - var renameLink = link.cloneNode(); - renameLink.innerHTML = '<div class="geSprite geSprite-dots" style="display:inline-block;"></div>'; - renameLink.setAttribute('title', mxResources.get('rename')); + var dataLink = link.cloneNode(); + dataLink.innerHTML = '<div class="geSprite geSprite-dots" style="display:inline-block;"></div>'; + dataLink.setAttribute('title', mxResources.get('rename')); + + mxEvent.addListener(dataLink, 'click', function(evt) + { + if (graph.isEnabled()) + { + editorUi.showDataDialog(selectionLayer); + } + + mxEvent.consume(evt); + }); + + if (!graph.isEnabled()) + { + dataLink.className = 'geButton mxDisabled'; + } + + ldiv.appendChild(dataLink); function renameLayer(layer) { if (graph.isEnabled() && layer != null) { - var dlg = new FilenameDialog(editorUi, layer.value || mxResources.get('background'), mxResources.get('rename'), mxUtils.bind(this, function(newValue) + var label = graph.convertValueToString(layer); + var dlg = new FilenameDialog(editorUi, label || mxResources.get('background'), mxResources.get('rename'), mxUtils.bind(this, function(newValue) { if (newValue != null) { - graph.getModel().setValue(layer, newValue); + graph.cellLabelChanged(layer, newValue); } }), mxResources.get('enterName')); editorUi.showDialog(dlg.container, 300, 100, true, true); @@ -2103,23 +2142,6 @@ var LayersWindow = function(editorUi, x, y, w, h) } }; - mxEvent.addListener(renameLink, 'click', function(evt) - { - if (graph.isEnabled()) - { - renameLayer(selectionLayer); - } - - mxEvent.consume(evt); - }); - - if (!graph.isEnabled()) - { - renameLink.className = 'geButton mxDisabled'; - } - - ldiv.appendChild(renameLink); - var duplicateLink = link.cloneNode(); duplicateLink.innerHTML = '<div class="geSprite geSprite-duplicate" style="display:inline-block;"></div>'; @@ -2132,7 +2154,7 @@ var LayersWindow = function(editorUi, x, y, w, h) try { newCell = graph.cloneCells([selectionLayer])[0]; - newCell.value = mxResources.get('untitledLayer'); + graph.cellLabelChanged(newCell, mxResources.get('untitledLayer')); newCell.setVisible(true); newCell = graph.addCell(newCell, graph.model.root); graph.setDefaultParent(newCell); @@ -2209,7 +2231,7 @@ var LayersWindow = function(editorUi, x, y, w, h) ldiv.style.borderColor = '#c3c3c3'; ldiv.style.borderStyle = 'solid'; ldiv.style.whiteSpace = 'nowrap'; - ldiv.setAttribute('title', mxResources.get('id') + ': ' + child.getId()); + ldiv.setAttribute('title', label); var left = document.createElement('div'); left.style.display = 'inline-block'; @@ -2283,8 +2305,8 @@ var LayersWindow = function(editorUi, x, y, w, h) graph.getModel().beginUpdate(); try { - value = (mxUtils.getValue(style, 'locked', '0') == '1') ? null : '1'; - graph.setCellStyles('locked', value, [child]); + value = (mxUtils.getValue(style, 'locked', '0') == '1') ? null : '1'; + graph.setCellStyles('locked', value, [child]); } finally { @@ -2442,14 +2464,16 @@ var LayersWindow = function(editorUi, x, y, w, h) { (mxUtils.bind(this, function(child) { - addLayer(i, child.value || mxResources.get('background'), child, child); + addLayer(i, graph.convertValueToString(child) || + mxResources.get('background'), child, child); }))(graph.model.getChildAt(graph.model.root, i)); } - removeLink.setAttribute('title', mxResources.get('removeIt', [selectionLayer.value || mxResources.get('background')])); - insertLink.setAttribute('title', mxResources.get('moveSelectionTo', [selectionLayer.value || mxResources.get('background')])); - duplicateLink.setAttribute('title', mxResources.get('duplicateIt', [selectionLayer.value || mxResources.get('background')])); - renameLink.setAttribute('title', mxResources.get('renameIt', [selectionLayer.value || mxResources.get('background')])); + var label = graph.convertValueToString(selectionLayer) || mxResources.get('background'); + removeLink.setAttribute('title', mxResources.get('removeIt', [label])); + insertLink.setAttribute('title', mxResources.get('moveSelectionTo', [label])); + duplicateLink.setAttribute('title', mxResources.get('duplicateIt', [label])); + dataLink.setAttribute('title', mxResources.get('editData')); if (graph.isSelectionEmpty()) { diff --git a/src/main/webapp/js/mxgraph/EditorUi.js b/src/main/webapp/js/mxgraph/EditorUi.js index db61bc99bc5ab57b9e3df4d2b4e9c2805c47439a..401c50051bf210c4bc7c70ff100449b9a402277b 100644 --- a/src/main/webapp/js/mxgraph/EditorUi.js +++ b/src/main/webapp/js/mxgraph/EditorUi.js @@ -2778,7 +2778,7 @@ EditorUi.prototype.updateActionStates = function() // Updates action states var actions = ['cut', 'copy', 'bold', 'italic', 'underline', 'delete', 'duplicate', 'editStyle', 'editTooltip', 'editLink', 'backgroundColor', 'borderColor', - 'edit', 'toFront', 'toBack', 'lockUnlock', 'solid', 'dashed', + 'edit', 'toFront', 'toBack', 'lockUnlock', 'solid', 'dashed', 'pasteSize', 'dotted', 'fillColor', 'gradientColor', 'shadow', 'fontColor', 'formattedText', 'rounded', 'toggleRounded', 'sharp', 'strokeColor']; @@ -2789,6 +2789,7 @@ EditorUi.prototype.updateActionStates = function() this.actions.get('setAsDefaultStyle').setEnabled(graph.getSelectionCount() == 1); this.actions.get('clearWaypoints').setEnabled(!graph.isSelectionEmpty()); + this.actions.get('copySize').setEnabled(graph.getSelectionCount() == 1); this.actions.get('turn').setEnabled(!graph.isSelectionEmpty()); this.actions.get('curved').setEnabled(edgeSelected); this.actions.get('rotation').setEnabled(vertexSelected); @@ -3609,6 +3610,19 @@ EditorUi.prototype.showLinkDialog = function(value, btnLabel, fn) dlg.init(); }; +/** + * Hides the current menu. + */ +EditorUi.prototype.showDataDialog = function(cell) +{ + if (cell != null) + { + var dlg = new EditDataDialog(this, cell); + this.showDialog(dlg.container, 340, 340, true, false, null, false); + dlg.init(); + } +}; + /** * Hides the current menu. */ @@ -3878,7 +3892,9 @@ EditorUi.prototype.createKeyHandler = function(editor) 65: this.actions.get('connectionArrows'), // Alt+Shift+A 76: this.actions.get('editLink'), // Alt+Shift+L 80: this.actions.get('connectionPoints'), // Alt+Shift+P - 84: this.actions.get('editTooltip') // Alt+Shift+T + 84: this.actions.get('editTooltip'), // Alt+Shift+T + 86: this.actions.get('pasteSize'), // Alt+Shift+V + 88: this.actions.get('copySize') // Alt+Shift+X }; mxKeyHandler.prototype.getFunction = function(evt) diff --git a/src/main/webapp/js/mxgraph/Format.js b/src/main/webapp/js/mxgraph/Format.js index bc34d7fc4dc52254d22ede5ad2de476d05be6f21..756a80c48b73cac6bfccf220ad30fadc1937dd62 100644 --- a/src/main/webapp/js/mxgraph/Format.js +++ b/src/main/webapp/js/mxgraph/Format.js @@ -1536,13 +1536,55 @@ ArrangePanel.prototype.addGroupOps = function(div) ui.actions.get('ungroup').funct(); }) - btn.setAttribute('title', mxResources.get('ungroup') + ' (' + this.editorUi.actions.get('ungroup').shortcut + ')'); + btn.setAttribute('title', mxResources.get('ungroup') + ' (' + + this.editorUi.actions.get('ungroup').shortcut + ')'); btn.style.width = '202px'; btn.style.marginBottom = '2px'; div.appendChild(btn); count++; } + if (ss.vertices.length > 0) + { + if (count > 0) + { + mxUtils.br(div); + count = 0; + } + + var btn = mxUtils.button(mxResources.get('copySize'), function(evt) + { + ui.actions.get('copySize').funct(); + }); + + btn.setAttribute('title', mxResources.get('copySize') + ' (' + + this.editorUi.actions.get('copySize').shortcut + ')'); + btn.style.width = '202px'; + btn.style.marginBottom = '2px'; + + div.appendChild(btn); + count++; + + if (ui.copiedSize != null) + { + var btn2 = mxUtils.button(mxResources.get('pasteSize'), function(evt) + { + ui.actions.get('pasteSize').funct(); + }); + + btn2.setAttribute('title', mxResources.get('pasteSize') + ' (' + + this.editorUi.actions.get('pasteSize').shortcut + ')'); + + div.appendChild(btn2); + count++; + + btn.style.width = '100px'; + btn.style.marginBottom = '2px'; + btn2.style.width = '100px'; + btn2.style.marginBottom = '2px'; + } + } + if (graph.getSelectionCount() == 1 && graph.getModel().isVertex(cell) && graph.getModel().isVertex(graph.getModel().getParent(cell))) { diff --git a/src/main/webapp/js/mxgraph/Graph.js b/src/main/webapp/js/mxgraph/Graph.js index 3442bd099fe1bb60f59e8673307b011c014cb744..29627a38354fca50301cad62d6756d7a8e33916b 100644 --- a/src/main/webapp/js/mxgraph/Graph.js +++ b/src/main/webapp/js/mxgraph/Graph.js @@ -642,7 +642,7 @@ Graph = function(container, model, renderHint, stylesheet, themes) { if (this.isCustomLink(link)) { - this.customLinkClicked(cell, link); + this.customLinkClicked(link); } else { @@ -1187,9 +1187,10 @@ Graph.prototype.isCustomLink = function(href) /** * Adds support for page links. */ -Graph.prototype.customLinkClicked = function(cell, href) +Graph.prototype.customLinkClicked = function(link) { - this.fireEvent(new mxEventObject('customLinkClicked', 'cell', cell, 'href', href)); + console.log('customLinkClicked not implemented'); + // Hook for subclassers }; /** @@ -1612,7 +1613,7 @@ Graph.prototype.createLayersDialog = function() for (var i = 0; i < childCount; i++) { - (function(layer) + (mxUtils.bind(this, function(layer) { var span = document.createElement('div'); span.style.overflow = 'hidden'; @@ -1631,7 +1632,8 @@ Graph.prototype.createLayersDialog = function() } span.appendChild(cb); - var title = layer.value || (mxResources.get('background') || 'Background'); + + var title = this.convertValueToString(layer) || (mxResources.get('background') || 'Background'); span.setAttribute('title', title); mxUtils.write(span, title); div.appendChild(span); @@ -1649,7 +1651,7 @@ Graph.prototype.createLayersDialog = function() model.setVisible(layer, cb.checked); }); - }(model.getChildAt(model.root, i))); + })(model.getChildAt(model.root, i))); } return div; diff --git a/src/main/webapp/js/reader.min.js b/src/main/webapp/js/reader.min.js index ce149371b3f40eb2ad344e7db1db950a1819c56a..bc9490e17d66092685e74e6ffa3dd5193bb3713e 100644 --- a/src/main/webapp/js/reader.min.js +++ b/src/main/webapp/js/reader.min.js @@ -36,18 +36,18 @@ function(){return null!==this.k};f.prototype.V=function(){return this.h&&decodeU this.l};f.prototype.ba=function(a){if("object"===typeof a&&!(a instanceof Array)&&(a instanceof Object||"[object Array]"!==Object.prototype.toString.call(a))){var b=[],c=-1,d;for(d in a){var e=a[d];"string"===typeof e&&(b[++c]=d,b[++c]=e)}a=b}for(var b=[],c="",f=0;f<a.length;)d=a[f++],e=a[f++],b.push(c,encodeURIComponent(d.toString())),c="&",e&&b.push("=",encodeURIComponent(e.toString()));this.l=b.join("")};f.prototype.fa=function(a){this.o=a?a:null};f.prototype.Z=function(){return null!==this.o}; var l=/^(?:([^:/?#]+):)?(?:\/\/(?:([^/?#]*)@)?([^/?#:@]*)(?::([0-9]+))?)?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/,m=/[#\/\?@]/g,n=/[\#\?]/g;f.parse=a;f.create=function(a,d,e,g,h,k,l){a=new f(b(a,m),b(d,m),"string"==typeof e?encodeURIComponent(e):null,0<g?g.toString():null,b(h,n),null,"string"==typeof l?encodeURIComponent(l):null);k&&("string"===typeof k?a.O(k.replace(/[^?&=0-9A-Za-z_\-~.%]/g,c)):a.ba(k));return a};f.N=e;f.ma=d;f.ha={ua:function(b){return/\.html$/.test(a(b).U())?"text/html":"application/javascript"}, N:function(b,c){return b?e(a(b),a(c)).toString():""+c}};return f}();"undefined"!==typeof window&&(window.URI=f);var g=void 0,h=void 0,k=void 0,l=void 0;(function(){function a(a){return"string"===typeof a?'url("'+a.replace(x,c)+'")':'url("about:blank")'}function c(a){return y[a]}function d(a,b){return a?f.ha.N(a,b):b}function n(a,b,c){if(!c)return null;var d=(""+a).match(u);return!d||d[1]&&!D.test(d[1])?null:c(a,b)}function w(a){return a.replace(/^-(?:apple|css|epub|khtml|moz|mso?|o|rim|wap|webkit|xv)-(?=[a-z])/, -"")}var x=/[\n\f\r\"\'()*<>]/g,y={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"},u=/^(?:([^:/?# ]+):)?/,D=/^(?:https?|mailto|data)$/i;g=function(){var c={};return function C(f,g,h,k,l){f=w(f);var m=b[f];if(m&&"object"===typeof m){for(var p=m.cssPropBits,v=p&80,q=p&1536,r=NaN,B=0,u=0;B<g.length;++B){var t=g[B].toLowerCase(),z=t.charCodeAt(0),x,M,y,D,H,E;if(32===z)t="";else if(34===z)t=16===v?h?a(n(d(k,e(g[B].substring(1,t.length-1))),f,h)):"": -p&8&&!(v&v-1)?t:"";else if("inherit"!==t){if(H=m.cssLitGroup){var F;if(!(F=m.cssLitMap)){F={};for(var L=H.length;0<=--L;)for(var R=H[L],fa=R.length;0<=--fa;)F[R[fa]]=c;F=m.cssLitMap=F}H=F}else H=c;if(E=H,E[w(t)]!==c)if(35===z&&/^#(?:[0-9a-f]{3}){1,2}$/.test(t))t=p&2?t:"";else if(48<=z&&57>=z)t=p&1?t:"";else if(x=t.charCodeAt(1),M=t.charCodeAt(2),y=48<=x&&57>=x,D=48<=M&&57>=M,43===z&&(y||46===x&&D))t=p&1?(y?"":"0")+t.substring(1):"";else if(45===z&&(y||46===x&&D))t=p&4?(y?"-":"-0")+t.substring(1): -p&1?"0":"";else if(46===z&&y)t=p&1?"0"+t:"";else if('url("'===t.substring(0,5))t=h&&p&16?a(n(d(k,g[B].substring(5,t.length-2)),f,h)):"";else if("("===t.charAt(t.length-1))a:{H=g;F=B;t=1;L=F+1;for(z=H.length;L<z&&t;)R=H[L++],t+=")"===R?-1:/^[^"']*\($/.test(R);if(!t)for(t=H[F].toLowerCase(),z=w(t),H=H.splice(F,L-F,""),F=m.cssFns,L=0,R=F.length;L<R;++L)if(F[L].substring(0,z.length)==z){H[0]=H[H.length-1]="";C(F[L],H,h,k);t=t+H.join(" ")+")";break a}t=""}else t=q&&/^-?[a-z_][\w\-]*$/.test(t)&&!/__$/.test(t)? +"")}var x=/[\n\f\r\"\'()*<>]/g,y={"\n":"%0a","\f":"%0c","\r":"%0d",'"':"%22","'":"%27","(":"%28",")":"%29","*":"%2a","<":"%3c",">":"%3e"},u=/^(?:([^:/?# ]+):)?/,D=/^(?:https?|mailto|data)$/i;g=function(){var c={};return function C(f,g,h,k,l){f=w(f);var m=b[f];if(m&&"object"===typeof m){for(var p=m.cssPropBits,v=p&80,q=p&1536,r=NaN,B=0,u=0;B<g.length;++B){var t=g[B].toLowerCase(),z=t.charCodeAt(0),x,L,y,D,G,E;if(32===z)t="";else if(34===z)t=16===v?h?a(n(d(k,e(g[B].substring(1,t.length-1))),f,h)):"": +p&8&&!(v&v-1)?t:"";else if("inherit"!==t){if(G=m.cssLitGroup){var F;if(!(F=m.cssLitMap)){F={};for(var K=G.length;0<=--K;)for(var R=G[K],fa=R.length;0<=--fa;)F[R[fa]]=c;F=m.cssLitMap=F}G=F}else G=c;if(E=G,E[w(t)]!==c)if(35===z&&/^#(?:[0-9a-f]{3}){1,2}$/.test(t))t=p&2?t:"";else if(48<=z&&57>=z)t=p&1?t:"";else if(x=t.charCodeAt(1),L=t.charCodeAt(2),y=48<=x&&57>=x,D=48<=L&&57>=L,43===z&&(y||46===x&&D))t=p&1?(y?"":"0")+t.substring(1):"";else if(45===z&&(y||46===x&&D))t=p&4?(y?"-":"-0")+t.substring(1): +p&1?"0":"";else if(46===z&&y)t=p&1?"0"+t:"";else if('url("'===t.substring(0,5))t=h&&p&16?a(n(d(k,g[B].substring(5,t.length-2)),f,h)):"";else if("("===t.charAt(t.length-1))a:{G=g;F=B;t=1;K=F+1;for(z=G.length;K<z&&t;)R=G[K++],t+=")"===R?-1:/^[^"']*\($/.test(R);if(!t)for(t=G[F].toLowerCase(),z=w(t),G=G.splice(F,K-F,""),F=m.cssFns,K=0,R=F.length;K<R;++K)if(F[K].substring(0,z.length)==z){G[0]=G[G.length-1]="";C(F[K],G,h,k);t=t+G.join(" ")+")";break a}t=""}else t=q&&/^-?[a-z_][\w\-]*$/.test(t)&&!/__$/.test(t)? l&&512===q?g[B]+l:1024===q&&b[t]&&"number"===typeof b[t].oa?t:"":/^\w+$/.test(t)&&64===v&&p&8?r+1===u?(g[r]=g[r].substring(0,g[r].length-1)+" "+t+'"',""):(r=u,'"'+t+'"'):""}t&&(g[u++]=t)}1===u&&'url("about:blank")'===g[0]&&(u=0);g.length=u}else g.length=0}}();var F=/^(active|after|before|blank|checked|default|disabled|drop|empty|enabled|first|first-child|first-letter|first-line|first-of-type|fullscreen|focus|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|link|only-child|only-of-type|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|user-error|valid|visited)$/, E={};E[">"]=E["+"]=E["~"]=E;h=function(a,b,c){function d(d,k){function l(c,d,e){var h,k,l,n,v,Z=!0;h="";c<d&&((v=a[c],"*"===v)?(++c,h=v):/^[a-zA-Z]/.test(v)&&(k=g(v.toLowerCase(),[]))&&("tagName"in k&&(v=k.tagName),++c,h=v));for(n=l=k="";Z&&c<d;++c)if(v=a[c],"#"===v.charAt(0))/^#_|__$|[^\w#:\-]/.test(v)?Z=!1:k+=v+f;else if("."===v)++c<d&&/^[0-9A-Za-z:_\-]+$/.test(v=a[c])&&!/^_|__$/.test(v)?k+="."+v:Z=!1;else if(c+1<d&&"["===a[c]){++c;var C=a[c++].toLowerCase();v=p.m[h+"::"+C];v!==+v&&(v=p.m["*::"+ C]);var q;b.ia?(q=b.ia(h,C),"string"!==typeof q&&(Z=!1,q=C),Z&&v!==+v&&(v=p.d.NONE)):(q=C,v!==+v&&(Z=!1));var r=C="",B=!1;/^[~^$*|]?=$/.test(a[c])&&(C=a[c++],r=a[c++],/^[0-9A-Za-z:_\-]+$/.test(r)?r='"'+r+'"':"]"===r&&(r='""',--c),/^"([^\"\\]|\\.)*"$/.test(r)||(Z=!1),(B="i"===a[c])&&++c);"]"!==a[c]&&(++c,Z=!1);switch(v){case p.d.CLASSES:case p.d.LOCAL_NAME:case p.d.NONE:break;case p.d.GLOBAL_NAME:case p.d.ID:case p.d.IDREF:"="!==C&&"~="!==C&&"$="!==C||'""'==r||B?"|="===C||""===C||(Z=!1):r='"'+r.substring(1, r.length-1)+f+'"';break;case p.d.URI:case p.d.URI_FRAGMENT:""!==C&&(Z=!1);break;default:Z=!1}Z&&(l+="["+q.replace(/[^\w-]/g,"\\$&")+C+r+(B?" i]":"]"))}else if(c<d&&":"===a[c])if(v=a[++c],F.test(v))n+=":"+v;else break;else break;c!==d&&(Z=!1);Z&&(c=(h+k).replace(/[^ .*#\w-]/g,"\\$&")+l+n+e)&&m.push(c);return Z}" "===a[d]&&++d;k-1!==d&&" "===a[k]&&--k;for(var m=[],n=d,v=!0,C=d;v&&C<k;++C){var q=a[C];if(E[q]===E||" "===q)l(n,C,q)?n=C+1:v=!1}l(n,k,"")||(v=!1);return v?(m.length&&(n=m.join(""),null!== e&&(n="."+e+" "+n),h.push(n)),!0):!c||c(a.slice(d,k))}var e=b.na,f=b.L,g=b.Aa,h=[],k=0,l,m=0,n;for(l=0;l<a.length;++l)(n=a[l],"("==n||"["==n?(++m,0):")"==n||"]"==n?(m&&--m,0):" "==a[l]&&(m||E[a[l-1]]===E||E[a[l+1]]===E))||(a[k++]=a[l]);a.length=k;k=a.length;for(l=m=0;l<k;++l)if(","===a[l]){if(!d(m,l))return null;m=l+1}return d(m,k)?h:null};(function(){var a=/^\w/,b=/^(?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))(?: and ?\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))*)(?: , (?:(?:(?:(?:only|not) )?(?:all|aural|braille|embossed|handheld|print|projection|screen|speech|tty|tv)|\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))(?: and ?\( (?:(?:min-|max-)?(?:(?:device-)?(?:aspect-ratio|height|width)|color(?:-index)?|monochrome|orientation|resolution)|grid|hover|luminosity|pointer|scan|script) (?:: -?(?:[a-z]\w+(?:-\w+)*|\d+(?: \/ \d+|(?:\.\d+)?(?:p[cxt]|[cem]m|in|dpi|dppx|dpcm|%)?)) )?\))*))*$/i; l=function(c){c=c.slice();for(var d=c.length,e=0,f=0;f<d;++f){var g=c[f];" "!=g&&(c[e++]=g)}c.length=e;c=c.join(" ");return c.length?b.test(c)?a.test(c)?c:"not all , "+c:"not all":""}})();(function(){function a(a){var b=/^\s*[']([^']*)[']\s*$/,c=/^\s*url\s*[(]["]([^"]*)["][)]\s*$/,d=/^\s*url\s*[(][']([^']*)['][)]\s*$/,e=/^\s*url\s*[(]([^)]*)[)]\s*$/,f;return(f=/^\s*["]([^"]*)["]\s*$/.exec(a))||(f=b.exec(a))||(f=c.exec(a))||(f=d.exec(a))||(f=e.exec(a))?f[1]:null}function b(c,e,f,k,p,q,r){function C(){t= -I.length&&null===I[I.length-1]}var v=void 0,B=r||[0],I=[],t=!1;m(e,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(e,g){if(t)e=null;else if("@media"===e)v.push("@media"," ",l(g));else if("@keyframes"===e||"@-webkit-keyframes"===e){var h=g[0];1!==g.length||/__$|[^\w\-]/.test(h)?e=null:(v.push(e," ",h+f.L),e="@keyframes")}else if("@import"===e&&0<g.length)if(e=null,"function"===typeof q){var m=l(g.slice(1));if("not all"!==m){++B[0];var C=[];v.push(C);var r=n(d(c,a(g[0])), -function(a){var c=b(r,a.qa,f,k,p,q,B);--B[0];a=m?{toString:function(){return"@media "+m+" {"+c.result+"}"}}:c.result;C[0]=a;q(a,!!B[0])},p)}}else window.console&&window.console.log("@import "+g.join(" ")+" elided");t=!e;I.push(e)},endAtrule:function(){I.pop();t||v.push(";");C()},startBlock:function(){t||v.push("{")},endBlock:function(){t||(v.push("}"),t=!0)},startRuleset:function(a){if(!t){var b=void 0;"@keyframes"===I[I.length-1]?(b=a.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), -t=!b,b&&(b=b[0].replace(/ +/g,""))):(a=h(a,f),a&&a.length?b=a.join(", "):t=!0);t||v.push(b,"{")}I.push(null)},endRuleset:function(){I.pop();t||v.push("}");C()},declaration:function(a,b){if(!t){var d=!1,e=b.length;2<=e&&"!"===b[e-2]&&"important"===b[e-1].toLowerCase()&&(d=!0,b.length-=2);g(a,b,k,c,f.L);b.length&&v.push(a,":",b.join(" "),d?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!B[0]}}k=function(a,c,d,e){return b(a,c,d,e,void 0,void 0).result.toString()}})()})(); +H.length&&null===H[H.length-1]}var v=void 0,B=r||[0],H=[],t=!1;m(e,{startStylesheet:function(){v=[]},endStylesheet:function(){},startAtrule:function(e,g){if(t)e=null;else if("@media"===e)v.push("@media"," ",l(g));else if("@keyframes"===e||"@-webkit-keyframes"===e){var h=g[0];1!==g.length||/__$|[^\w\-]/.test(h)?e=null:(v.push(e," ",h+f.L),e="@keyframes")}else if("@import"===e&&0<g.length)if(e=null,"function"===typeof q){var m=l(g.slice(1));if("not all"!==m){++B[0];var C=[];v.push(C);var r=n(d(c,a(g[0])), +function(a){var c=b(r,a.qa,f,k,p,q,B);--B[0];a=m?{toString:function(){return"@media "+m+" {"+c.result+"}"}}:c.result;C[0]=a;q(a,!!B[0])},p)}}else window.console&&window.console.log("@import "+g.join(" ")+" elided");t=!e;H.push(e)},endAtrule:function(){H.pop();t||v.push(";");C()},startBlock:function(){t||v.push("{")},endBlock:function(){t||(v.push("}"),t=!0)},startRuleset:function(a){if(!t){var b=void 0;"@keyframes"===H[H.length-1]?(b=a.join(" ").match(/^ *(?:from|to|\d+(?:\.\d+)?%) *(?:, *(?:from|to|\d+(?:\.\d+)?%) *)*$/i), +t=!b,b&&(b=b[0].replace(/ +/g,""))):(a=h(a,f),a&&a.length?b=a.join(", "):t=!0);t||v.push(b,"{")}H.push(null)},endRuleset:function(){H.pop();t||v.push("}");C()},declaration:function(a,b){if(!t){var d=!1,e=b.length;2<=e&&"!"===b[e-2]&&"important"===b[e-1].toLowerCase()&&(d=!0,b.length-=2);g(a,b,k,c,f.L);b.length&&v.push(a,":",b.join(" "),d?" !important;":";")}}});return{result:{toString:function(){return v.join("")}},va:!!B[0]}}k=function(a,c,d,e){return b(a,c,d,e,void 0,void 0).result.toString()}})()})(); "undefined"!==typeof window&&(window.sanitizeCssProperty=g,window.sanitizeCssSelectorList=h,window.sanitizeStylesheet=k,window.sanitizeMediaQuery=l);var m,n;(function(){function a(a,c,d,e,f){for(var g=c++;c<d&&"{"!==a[c]&&";"!==a[c];)++c;if(c<d&&(f||";"===a[c])){f=g+1;var h=c;f<d&&" "===a[f]&&++f;h>f&&" "===a[h-1]&&--h;e.startAtrule&&e.startAtrule(a[g].toLowerCase(),a.slice(f,h));c="{"===a[c]?b(a,c,d,e):c+1;e.endAtrule&&e.endAtrule()}return c}function b(d,e,f,g){++e;for(g.startBlock&&g.startBlock();e< f;){var h=d[e].charAt(0);if("}"==h){++e;break}e=" "===h||";"===h?e+1:"@"===h?a(d,e,f,g,!1):"{"===h?b(d,e,f,g):c(d,e,f,g)}g.endBlock&&g.endBlock();return e}function c(a,b,c,d){var f=b,h=e(a,b,c,!0);if(0>h)return h=~h,h===f?h+1:h;var k=a[h];if("{"!==k)return h===f?h+1:h;b=h+1;h>f&&" "===a[h-1]&&--h;for(d.startRuleset&&d.startRuleset(a.slice(f,h));b<c;){k=a[b];if("}"===k){++b;break}b=" "===k?b+1:g(a,b,c,d)}d.endRuleset&&d.endRuleset();return b}function e(a,b,c,d){for(var e,f=[],g=-1;b<c;++b)if(e=a[b].charAt(0), "["===e||"("===e)f[++g]=e;else if("]"===e&&"["===f[g]||")"===e&&"("===f[g])--g;else if("{"===e||"}"===e||";"===e||"@"===e||":"===e&&!d)break;0<=g&&(b=~(b+1));return b}function f(a,b,c){for(;b<c&&";"!==a[b]&&"}"!==a[b];)++b;return b<c&&";"===a[b]?b+1:b}function g(a,b,c,d){var g=a[b++];if(!h.test(g))return f(a,b,c);b<c&&" "===a[b]&&++b;if(b==c||":"!==a[b])return f(a,b,c);++b;b<c&&" "===a[b]&&++b;var k=e(a,b,c,!1);if(0>k)k=~k;else{for(var l=[],m=0,n=b;n<k;++n)b=a[n]," "!==b&&(l[m++]=b);if(k<c){do{b= @@ -71,21 +71,21 @@ frameset:"HTMLFrameSetElement",h1:"HTMLHeadingElement",h2:"HTMLHeadingElement",h li:"HTMLLIElement",link:"HTMLLinkElement",map:"HTMLMapElement",mark:"HTMLElement",menu:"HTMLMenuElement",meta:"HTMLMetaElement",meter:"HTMLMeterElement",nav:"HTMLElement",nobr:"HTMLElement",noembed:"HTMLElement",noframes:"HTMLElement",noscript:"HTMLElement",object:"HTMLObjectElement",ol:"HTMLOListElement",optgroup:"HTMLOptGroupElement",option:"HTMLOptionElement",output:"HTMLOutputElement",p:"HTMLParagraphElement",param:"HTMLParamElement",pre:"HTMLPreElement",progress:"HTMLProgressElement",q:"HTMLQuoteElement", s:"HTMLElement",samp:"HTMLElement",script:"HTMLScriptElement",section:"HTMLElement",select:"HTMLSelectElement",small:"HTMLElement",source:"HTMLSourceElement",span:"HTMLSpanElement",strike:"HTMLElement",strong:"HTMLElement",style:"HTMLStyleElement",sub:"HTMLElement",summary:"HTMLElement",sup:"HTMLElement",table:"HTMLTableElement",tbody:"HTMLTableSectionElement",td:"HTMLTableDataCellElement",textarea:"HTMLTextAreaElement",tfoot:"HTMLTableSectionElement",th:"HTMLTableHeaderCellElement",thead:"HTMLTableSectionElement", time:"HTMLTimeElement",title:"HTMLTitleElement",tr:"HTMLTableRowElement",track:"HTMLTrackElement",tt:"HTMLElement",u:"HTMLElement",ul:"HTMLUListElement","var":"HTMLElement",video:"HTMLVideoElement",wbr:"HTMLElement"};p.ELEMENT_DOM_INTERFACES=p.Q;p.P={NOT_LOADED:0,SAME_DOCUMENT:1,NEW_DOCUMENT:2};p.ueffects=p.P;p.J={"a::href":2,"area::href":2,"audio::src":1,"blockquote::cite":0,"command::icon":1,"del::cite":0,"form::action":2,"img::src":1,"input::src":1,"ins::cite":0,"q::cite":0,"video::poster":1,"video::src":1}; -p.URIEFFECTS=p.J;p.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};p.ltypes=p.M;p.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};p.LOADERTYPES=p.I;"undefined"!==typeof window&&(window.html4=p);a=function(a){function b(a,b){var c;if(aa.hasOwnProperty(b))c=aa[b];else{var d=b.match(A);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(v))?String.fromCharCode(parseInt(d[1], -16)):I&&Q.test(b)?(I.innerHTML="&"+b+";",d=I.textContent,aa[b]=d):"&"+b+";"}return c}function c(a){return a.replace(ba,b)}function d(a){return(""+a).replace(K,"&").replace(T,"<").replace(ca,">").replace(ea,""")}function e(a){return a.replace(X,"&$1").replace(T,"<").replace(ca,">")}function g(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,c){var d,e=/(<\/|<\!--|<[!?]|[&<>])/g; -d=a+"";if(V)d=d.split(e);else{for(var f=[],g=0,h;null!==(h=e.exec(d));)f.push(d.substring(g,h.index)),f.push(h[0]),g=h.index+h[0].length;f.push(d.substring(g));d=f}k(b,d,0,{r:!1,C:!1},c)}}function h(a,b,c,d,e){return function(){k(a,b,c,d,e)}}function k(b,c,d,e,f){try{b.H&&0==d&&b.H(f);for(var g,k,n,v=c.length;d<v;){var C=c[d++],p=c[d];switch(C){case "&":N.test(p)?(b.e&&b.e("&"+p,f,O,h(b,c,d,e,f)),d++):b.e&&b.e("&",f,O,h(b,c,d,e,f));break;case "</":if(g=/^([-\w:]+)[^\'\"]*/.exec(p))if(g[0].length=== -p.length&&">"===c[d+1])d+=2,n=g[1].toLowerCase(),b.t&&b.t(n,f,O,h(b,c,d,e,f));else{var Z=c,R=d,q=b,r=f,Y=O,I=e,t=m(Z,R);t?(q.t&&q.t(t.name,r,Y,h(q,Z,R,I,r)),d=t.next):d=Z.length}else b.e&&b.e("</",f,O,h(b,c,d,e,f));break;case "<":if(g=/^([-\w:]+)\s*\/?/.exec(p))if(g[0].length===p.length&&">"===c[d+1]){d+=2;n=g[1].toLowerCase();b.w&&b.w(n,[],f,O,h(b,c,d,e,f));var Q=a.f[n];Q&W&&(d=l(c,{name:n,next:d,c:Q},b,f,O,e))}else{var Z=c,R=b,q=f,r=O,Y=e,B=m(Z,d);B?(R.w&&R.w(B.name,B.R,q,r,h(R,Z,B.next,Y,q)), -d=B.c&W?l(Z,B,R,q,r,Y):B.next):d=Z.length}else b.e&&b.e("<",f,O,h(b,c,d,e,f));break;case "\x3c!--":if(!e.C){for(k=d+1;k<v&&(">"!==c[k]||!/--$/.test(c[k-1]));k++);if(k<v){if(b.A){var u=c.slice(d,k).join("");b.A(u.substr(0,u.length-2),f,O,h(b,c,k+1,e,f))}d=k+1}else e.C=!0}e.C&&b.e&&b.e("<!--",f,O,h(b,c,d,e,f));break;case "<!":if(/^\w/.test(p)){if(!e.r){for(k=d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<!",f,O,h(b,c,d,e,f))}else b.e&&b.e("<!",f,O,h(b,c,d,e,f));break;case "<?":if(!e.r){for(k= -d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<?",f,O,h(b,c,d,e,f));break;case ">":b.e&&b.e(">",f,O,h(b,c,d,e,f));break;case "":break;default:b.e&&b.e(C,f,O,h(b,c,d,e,f))}}b.B&&b.B(f)}catch(la){if(la!==O)throw la;}}function l(b,c,d,f,g,k){var l=b.length;R.hasOwnProperty(c.name)||(R[c.name]=RegExp("^"+c.name+"(?:[\\s\\/]|$)","i"));for(var m=R[c.name],n=c.next,v=c.next+1;v<l&&("</"!==b[v-1]||!m.test(b[v]));v++);v<l&&--v;l=b.slice(n,v).join("");if(c.c&a.c.CDATA)d.z&&d.z(l,f,g,h(d,b, +p.URIEFFECTS=p.J;p.M={UNSANDBOXED:2,SANDBOXED:1,DATA:0};p.ltypes=p.M;p.I={"a::href":2,"area::href":2,"audio::src":2,"blockquote::cite":2,"command::icon":1,"del::cite":2,"form::action":2,"img::src":1,"input::src":1,"ins::cite":2,"q::cite":2,"video::poster":1,"video::src":2};p.LOADERTYPES=p.I;"undefined"!==typeof window&&(window.html4=p);a=function(a){function b(a,b){var c;if(aa.hasOwnProperty(b))c=aa[b];else{var d=b.match(X);c=d?String.fromCharCode(parseInt(d[1],10)):(d=b.match(v))?String.fromCharCode(parseInt(d[1], +16)):H&&Q.test(b)?(H.innerHTML="&"+b+";",d=H.textContent,aa[b]=d):"&"+b+";"}return c}function c(a){return a.replace(ba,b)}function d(a){return(""+a).replace(J,"&").replace(T,"<").replace(ca,">").replace(ea,""")}function e(a){return a.replace(N,"&$1").replace(T,"<").replace(ca,">")}function g(a){var b={z:a.z||a.cdata,A:a.A||a.comment,B:a.B||a.endDoc,t:a.t||a.endTag,e:a.e||a.pcdata,F:a.F||a.rcdata,H:a.H||a.startDoc,w:a.w||a.startTag};return function(a,c){var d,e=/(<\/|<\!--|<[!?]|[&<>])/g; +d=a+"";if(V)d=d.split(e);else{for(var f=[],g=0,h;null!==(h=e.exec(d));)f.push(d.substring(g,h.index)),f.push(h[0]),g=h.index+h[0].length;f.push(d.substring(g));d=f}k(b,d,0,{r:!1,C:!1},c)}}function h(a,b,c,d,e){return function(){k(a,b,c,d,e)}}function k(b,c,d,e,f){try{b.H&&0==d&&b.H(f);for(var g,k,n,v=c.length;d<v;){var p=c[d++],C=c[d];switch(p){case "&":M.test(C)?(b.e&&b.e("&"+C,f,O,h(b,c,d,e,f)),d++):b.e&&b.e("&",f,O,h(b,c,d,e,f));break;case "</":if(g=/^([-\w:]+)[^\'\"]*/.exec(C))if(g[0].length=== +C.length&&">"===c[d+1])d+=2,n=g[1].toLowerCase(),b.t&&b.t(n,f,O,h(b,c,d,e,f));else{var Z=c,R=d,q=b,r=f,Y=O,H=e,t=m(Z,R);t?(q.t&&q.t(t.name,r,Y,h(q,Z,R,H,r)),d=t.next):d=Z.length}else b.e&&b.e("</",f,O,h(b,c,d,e,f));break;case "<":if(g=/^([-\w:]+)\s*\/?/.exec(C))if(g[0].length===C.length&&">"===c[d+1]){d+=2;n=g[1].toLowerCase();b.w&&b.w(n,[],f,O,h(b,c,d,e,f));var Q=a.f[n];Q&W&&(d=l(c,{name:n,next:d,c:Q},b,f,O,e))}else{var Z=c,R=b,q=f,r=O,Y=e,B=m(Z,d);B?(R.w&&R.w(B.name,B.R,q,r,h(R,Z,B.next,Y,q)), +d=B.c&W?l(Z,B,R,q,r,Y):B.next):d=Z.length}else b.e&&b.e("<",f,O,h(b,c,d,e,f));break;case "\x3c!--":if(!e.C){for(k=d+1;k<v&&(">"!==c[k]||!/--$/.test(c[k-1]));k++);if(k<v){if(b.A){var u=c.slice(d,k).join("");b.A(u.substr(0,u.length-2),f,O,h(b,c,k+1,e,f))}d=k+1}else e.C=!0}e.C&&b.e&&b.e("<!--",f,O,h(b,c,d,e,f));break;case "<!":if(/^\w/.test(C)){if(!e.r){for(k=d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<!",f,O,h(b,c,d,e,f))}else b.e&&b.e("<!",f,O,h(b,c,d,e,f));break;case "<?":if(!e.r){for(k= +d+1;k<v&&">"!==c[k];k++);k<v?d=k+1:e.r=!0}e.r&&b.e&&b.e("<?",f,O,h(b,c,d,e,f));break;case ">":b.e&&b.e(">",f,O,h(b,c,d,e,f));break;case "":break;default:b.e&&b.e(p,f,O,h(b,c,d,e,f))}}b.B&&b.B(f)}catch(la){if(la!==O)throw la;}}function l(b,c,d,f,g,k){var l=b.length;R.hasOwnProperty(c.name)||(R[c.name]=RegExp("^"+c.name+"(?:[\\s\\/]|$)","i"));for(var m=R[c.name],n=c.next,v=c.next+1;v<l&&("</"!==b[v-1]||!m.test(b[v]));v++);v<l&&--v;l=b.slice(n,v).join("");if(c.c&a.c.CDATA)d.z&&d.z(l,f,g,h(d,b, v,k,f));else if(c.c&a.c.RCDATA)d.F&&d.F(e(l),f,g,h(d,b,v,k,f));else throw Error("bug");return v}function m(b,d){var e=/^([-\w:]+)/.exec(b[d]),f={};f.name=e[1].toLowerCase();f.c=a.f[f.name];for(var g=b[d].substr(e[0].length),h=d+1,k=b.length;h<k&&">"!==b[h];h++)g+=b[h];if(!(k<=h)){for(var l=[];""!==g;)if(e=P.exec(g))if(e[4]&&!e[5]||e[6]&&!e[7]){for(var e=e[4]||e[6],m=!1,g=[g,b[h++]];h<k;h++){if(m){if(">"===b[h])break}else 0<=b[h].indexOf(e)&&(m=!0);g.push(b[h])}if(k<=h)break;g=g.join("")}else{var m= -e[1].toLowerCase(),n;if(e[2]){n=e[3];var v=n.charCodeAt(0);if(34===v||39===v)n=n.substr(1,n.length-2);n=c(n.replace(J,""))}else n="";l.push(m,n);g=g.substr(e[0].length)}else g=g.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function n(b){function c(a,b){f||b.push(a)}var e,f;return g({startDoc:function(){e=[];f=!1},startTag:function(c,g,h){if(!f&&a.f.hasOwnProperty(c)){var k=a.f[c];if(!(k&a.c.FOLDABLE)){var l=b(c,g);if(l){if("object"!==typeof l)throw Error("tagPolicy did not return object (old API?)"); -if("attribs"in l)g=l.attribs;else throw Error("tagPolicy gave no attribs");var m;"tagName"in l?(m=l.tagName,l=a.f[m]):(m=c,l=k);if(k&a.c.OPTIONAL_ENDTAG){var n=e[e.length-1];n&&n.D===c&&(n.v!==m||c!==m)&&h.push("</",n.v,">")}k&a.c.EMPTY||e.push({D:c,v:m});h.push("<",m);c=0;for(n=g.length;c<n;c+=2){var v=g[c],p=g[c+1];null!==p&&void 0!==p&&h.push(" ",v,'="',d(p),'"')}h.push(">");k&a.c.EMPTY&&!(l&a.c.EMPTY)&&h.push("</",m,">")}else f=!(k&a.c.EMPTY)}}},endTag:function(b,c){if(f)f=!1;else if(a.f.hasOwnProperty(b)){var d= +e[1].toLowerCase(),n;if(e[2]){n=e[3];var v=n.charCodeAt(0);if(34===v||39===v)n=n.substr(1,n.length-2);n=c(n.replace(I,""))}else n="";l.push(m,n);g=g.substr(e[0].length)}else g=g.replace(/^[\s\S][^a-z\s]*/,"");f.R=l;f.next=h+1;return f}}function n(b){function c(a,b){f||b.push(a)}var e,f;return g({startDoc:function(){e=[];f=!1},startTag:function(c,g,h){if(!f&&a.f.hasOwnProperty(c)){var k=a.f[c];if(!(k&a.c.FOLDABLE)){var l=b(c,g);if(l){if("object"!==typeof l)throw Error("tagPolicy did not return object (old API?)"); +if("attribs"in l)g=l.attribs;else throw Error("tagPolicy gave no attribs");var m;"tagName"in l?(m=l.tagName,l=a.f[m]):(m=c,l=k);if(k&a.c.OPTIONAL_ENDTAG){var n=e[e.length-1];n&&n.D===c&&(n.v!==m||c!==m)&&h.push("</",n.v,">")}k&a.c.EMPTY||e.push({D:c,v:m});h.push("<",m);c=0;for(n=g.length;c<n;c+=2){var v=g[c],C=g[c+1];null!==C&&void 0!==C&&h.push(" ",v,'="',d(C),'"')}h.push(">");k&a.c.EMPTY&&!(l&a.c.EMPTY)&&h.push("</",m,">")}else f=!(k&a.c.EMPTY)}}},endTag:function(b,c){if(f)f=!1;else if(a.f.hasOwnProperty(b)){var d= a.f[b];if(!(d&(a.c.EMPTY|a.c.FOLDABLE))){if(d&a.c.OPTIONAL_ENDTAG)for(d=e.length;0<=--d;){var g=e[d].D;if(g===b)break;if(!(a.f[g]&a.c.OPTIONAL_ENDTAG))return}else for(d=e.length;0<=--d&&e[d].D!==b;);if(!(0>d)){for(g=e.length;--g>d;){var h=e[g].v;a.f[h]&a.c.OPTIONAL_ENDTAG||c.push("</",h,">")}d<e.length&&(b=e[d].v);e.length=d;c.push("</",b,">")}}}},pcdata:c,rcdata:c,cdata:c,endDoc:function(a){for(;e.length;e.length--)a.push("</",e[e.length-1].v,">")}})}function p(a,b,c,d,e){if(!e)return null;try{var g= -f.parse(""+a);if(g&&(!g.K()||fa.test(g.W()))){var h=e(g,b,c,d);return h?h.toString():null}}catch(ia){}return null}function r(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function C(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+c;if(a.hasOwnProperty(b))return a[b]}function M(b,c,d,e,f){for(var g=0;g<c.length;g+=2){var h=c[g],k=c[g+1],l=k,m=null,n;if((n= +f.parse(""+a);if(g&&(!g.K()||fa.test(g.W()))){var h=e(g,b,c,d);return h?h.toString():null}}catch(ia){}return null}function r(a,b,c,d,e){c||a(b+" removed",{S:"removed",tagName:b});if(d!==e){var f="changed";d&&!e?f="removed":!d&&e&&(f="added");a(b+"."+c+" "+f,{S:f,tagName:b,la:c,oldValue:d,newValue:e})}}function C(a,b,c){b=b+"::"+c;if(a.hasOwnProperty(b))return a[b];b="*::"+c;if(a.hasOwnProperty(b))return a[b]}function L(b,c,d,e,f){for(var g=0;g<c.length;g+=2){var h=c[g],k=c[g+1],l=k,m=null,n;if((n= b+"::"+h,a.m.hasOwnProperty(n))||(n="*::"+h,a.m.hasOwnProperty(n)))m=a.m[n];if(null!==m)switch(m){case a.d.NONE:break;case a.d.SCRIPT:k=null;f&&r(f,b,h,l,k);break;case a.d.STYLE:if("undefined"===typeof U){k=null;f&&r(f,b,h,l,k);break}var v=[];U(k,{declaration:function(b,c){var e=b.toLowerCase();S(e,c,d?function(b){return p(b,a.P.ja,a.M.ka,{TYPE:"CSS",CSS_PROP:e},d)}:null);c.length&&v.push(e+": "+c.join(" "))}});k=0<v.length?v.join(" ; "):null;f&&r(f,b,h,l,k);break;case a.d.ID:case a.d.IDREF:case a.d.IDREFS:case a.d.GLOBAL_NAME:case a.d.LOCAL_NAME:case a.d.CLASSES:k= -e?e(k):k;f&&r(f,b,h,l,k);break;case a.d.URI:k=p(k,C(a.J,b,h),C(a.I,b,h),{TYPE:"MARKUP",XML_ATTR:h,XML_TAG:b},d);f&&r(f,b,h,l,k);break;case a.d.URI_FRAGMENT:k&&"#"===k.charAt(0)?(k=k.substring(1),k=e?e(k):k,null!==k&&void 0!==k&&(k="#"+k)):k=null;f&&r(f,b,h,l,k);break;default:k=null,f&&r(f,b,h,l,k)}else k=null,f&&r(f,b,h,l,k);c[g+1]=k}return c}function L(b,c,d){return function(e,f){if(a.f[e]&a.c.UNSAFE)d&&r(d,e,void 0,void 0,void 0);else return{attribs:M(e,f,b,c,d)}}}function H(a,b){var c=[];n(b)(a, -c);return c.join("")}var U,S;"undefined"!==typeof window&&(U=window.parseCssDeclarations,S=window.sanitizeCssProperty);var aa={lt:"<",LT:"<",gt:">",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"Â "},A=/^#(\d+)$/,v=/^#x([0-9A-Fa-f]+)$/,Q=/^[A-Za-z][A-za-z0-9]+$/,I="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):null,J=/\0/g,ba=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,N=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,K=/&/g,X=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,T= -/[<]/g,ca=/>/g,ea=/\"/g,P=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,V=3==="a,b".split(/(,)/).length,W=a.c.CDATA|a.c.RCDATA,O={},R={},fa=/^(?:https?|mailto|data)$/i,Y={};Y.pa=Y.escapeAttrib=d;Y.ra=Y.makeHtmlSanitizer=n;Y.sa=Y.makeSaxParser=g;Y.ta=Y.makeTagPolicy=L;Y.wa=Y.normalizeRCData=e;Y.xa=Y.sanitize=function(a,b,c,d){return H(a,L(b,c,d))};Y.ya=Y.sanitizeAttribs=M;Y.za=Y.sanitizeWithPolicy=H;Y.Ba=Y.unescapeEntities=c;return Y}(p);c=a.sanitize;"undefined"!== +e?e(k):k;f&&r(f,b,h,l,k);break;case a.d.URI:k=p(k,C(a.J,b,h),C(a.I,b,h),{TYPE:"MARKUP",XML_ATTR:h,XML_TAG:b},d);f&&r(f,b,h,l,k);break;case a.d.URI_FRAGMENT:k&&"#"===k.charAt(0)?(k=k.substring(1),k=e?e(k):k,null!==k&&void 0!==k&&(k="#"+k)):k=null;f&&r(f,b,h,l,k);break;default:k=null,f&&r(f,b,h,l,k)}else k=null,f&&r(f,b,h,l,k);c[g+1]=k}return c}function K(b,c,d){return function(e,f){if(a.f[e]&a.c.UNSAFE)d&&r(d,e,void 0,void 0,void 0);else return{attribs:L(e,f,b,c,d)}}}function G(a,b){var c=[];n(b)(a, +c);return c.join("")}var U,S;"undefined"!==typeof window&&(U=window.parseCssDeclarations,S=window.sanitizeCssProperty);var aa={lt:"<",LT:"<",gt:">",GT:">",amp:"&",AMP:"&",quot:'"',apos:"'",nbsp:"Â "},X=/^#(\d+)$/,v=/^#x([0-9A-Fa-f]+)$/,Q=/^[A-Za-z][A-za-z0-9]+$/,H="undefined"!==typeof window&&window.document?window.document.createElement("textarea"):null,I=/\0/g,ba=/&(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/g,M=/^(#[0-9]+|#[xX][0-9A-Fa-f]+|\w+);/,J=/&/g,N=/&([^a-z#]|#(?:[^0-9x]|x(?:[^0-9a-f]|$)|$)|$)/gi,T= +/[<]/g,ca=/>/g,ea=/\"/g,P=/^\s*([-.:\w]+)(?:\s*(=)\s*((")[^"]*("|$)|(')[^']*('|$)|(?=[a-z][-\w]*\s*=)|[^"'\s]*))?/i,V=3==="a,b".split(/(,)/).length,W=a.c.CDATA|a.c.RCDATA,O={},R={},fa=/^(?:https?|mailto|data)$/i,Y={};Y.pa=Y.escapeAttrib=d;Y.ra=Y.makeHtmlSanitizer=n;Y.sa=Y.makeSaxParser=g;Y.ta=Y.makeTagPolicy=K;Y.wa=Y.normalizeRCData=e;Y.xa=Y.sanitize=function(a,b,c,d){return G(a,K(b,c,d))};Y.ya=Y.sanitizeAttribs=L;Y.za=Y.sanitizeWithPolicy=G;Y.Ba=Y.unescapeEntities=c;return Y}(p);c=a.sanitize;"undefined"!== typeof window&&(window.html=a,window.html_sanitize=c)})();var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(a,b){var c="",d,e,f,g,h,k,l=0;for(null!=b&&b||(a=Base64._utf8_encode(a));l<a.length;)d=a.charCodeAt(l++),e=a.charCodeAt(l++),f=a.charCodeAt(l++),g=d>>2,d=(d&3)<<4|e>>4,h=(e&15)<<2|f>>6,k=f&63,isNaN(e)?h=k=64:isNaN(f)&&(k=64),c=c+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(h)+this._keyStr.charAt(k);return c},decode:function(a,b){b=null!=b?b:!1;var c="",d,e,f,g,h,k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g, "");k<a.length;)d=this._keyStr.indexOf(a.charAt(k++)),e=this._keyStr.indexOf(a.charAt(k++)),g=this._keyStr.indexOf(a.charAt(k++)),h=this._keyStr.indexOf(a.charAt(k++)),d=d<<2|e>>4,e=(e&15)<<4|g>>2,f=(g&3)<<6|h,c+=String.fromCharCode(d),64!=g&&(c+=String.fromCharCode(e)),64!=h&&(c+=String.fromCharCode(f));b||(c=Base64._utf8_decode(c));return c},_utf8_encode:function(a){a=a.replace(/\r\n/g,"\n");for(var b="",c=0;c<a.length;c++){var d=a.charCodeAt(c);128>d?b+=String.fromCharCode(d):(127<d&&2048>d?b+= String.fromCharCode(d>>6|192):(b+=String.fromCharCode(d>>12|224),b+=String.fromCharCode(d>>6&63|128)),b+=String.fromCharCode(d&63|128))}return b},_utf8_decode:function(a){var b="",c=0,d;for(c1=c2=0;c<a.length;)d=a.charCodeAt(c),128>d?(b+=String.fromCharCode(d),c++):191<d&&224>d?(c2=a.charCodeAt(c+1),b+=String.fromCharCode((d&31)<<6|c2&63),c+=2):(c2=a.charCodeAt(c+1),c3=a.charCodeAt(c+2),b+=String.fromCharCode((d&15)<<12|(c2&63)<<6|c3&63),c+=3);return b}};!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pako=a()}(function(){return function b(c,d,e){function f(h,l){if(!d[h]){if(!c[h]){var k="function"==typeof require&&require;if(!l&&k)return k(h,!0);if(g)return g(h,!0);k=Error("Cannot find module '"+h+"'");throw k.code="MODULE_NOT_FOUND",k;}k=d[h]={exports:{}}; @@ -95,9 +95,9 @@ new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/defla f.avail_out&&(f.output=new h.Buf8(l),f.next_out=0,f.avail_out=l),d=g.deflate(f,e),1!==d&&d!==p)return this.onEnd(d),this.ended=!0,!1;0!==f.avail_out&&(0!==f.avail_in||4!==e&&2!==e)||("string"===this.options.to?this.onData(k.buf2binstring(h.shrinkBuf(f.output,f.next_out))):this.onData(h.shrinkBuf(f.output,f.next_out)))}while((0<f.avail_in||0===f.avail_out)&&1!==d);return 4===e?(d=g.deflateEnd(this.strm),this.onEnd(d),this.ended=!0,d===p):2!==e||(this.onEnd(p),f.avail_out=0,!0)};e.prototype.onData= function(b){this.chunks.push(b)};e.prototype.onEnd=function(b){b===p&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Deflate=e;d.deflate=f;d.deflateRaw=function(b,c){return c=c||{},c.raw=!0,f(b,c)};d.gzip=function(b,c){return c=c||{},c.gzip=!0,f(b,c)}},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(b,c,d){function e(b){if(!(this instanceof e))return new e(b);var c=this.options=h.assign({chunkSize:16384,windowBits:0,to:""},b||{});c.raw&&0<=c.windowBits&&16>c.windowBits&&(c.windowBits=-c.windowBits,0===c.windowBits&&(c.windowBits=-15));!(0<=c.windowBits&&16>c.windowBits)||b&&b.windowBits||(c.windowBits+=32);15<c.windowBits&&48>c.windowBits&&0===(15&c.windowBits)&&(c.windowBits|=15);this.err=0;this.msg="";this.ended=!1;this.chunks=[];this.strm=new n;this.strm.avail_out=0;b=g.inflateInit2(this.strm,c.windowBits);if(b!==l.Z_OK)throw Error(m[b]); -this.header=new p;g.inflateGetHeader(this.strm,this.header)}function f(b,c){var d=new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/inflate"),h=b("./utils/common"),k=b("./utils/strings"),l=b("./zlib/constants"),m=b("./zlib/messages"),n=b("./zlib/zstream"),p=b("./zlib/gzheader"),r=Object.prototype.toString;e.prototype.push=function(b,c){var d,e,f,m,n,p,q=this.strm,t=this.options.chunkSize,B=this.options.dictionary,G=!1;if(this.ended)return!1;e=c===~~c?c:!0===c?l.Z_FINISH:l.Z_NO_FLUSH; -"string"==typeof b?q.input=k.binstring2buf(b):"[object ArrayBuffer]"===r.call(b)?q.input=new Uint8Array(b):q.input=b;q.next_in=0;q.avail_in=q.input.length;do{if(0===q.avail_out&&(q.output=new h.Buf8(t),q.next_out=0,q.avail_out=t),d=g.inflate(q,l.Z_NO_FLUSH),d===l.Z_NEED_DICT&&B&&(p="string"==typeof B?k.string2buf(B):"[object ArrayBuffer]"===r.call(B)?new Uint8Array(B):B,d=g.inflateSetDictionary(this.strm,p)),d===l.Z_BUF_ERROR&&!0===G&&(d=l.Z_OK,G=!1),d!==l.Z_STREAM_END&&d!==l.Z_OK)return this.onEnd(d), -this.ended=!0,!1;q.next_out&&(0!==q.avail_out&&d!==l.Z_STREAM_END&&(0!==q.avail_in||e!==l.Z_FINISH&&e!==l.Z_SYNC_FLUSH)||("string"===this.options.to?(f=k.utf8border(q.output,q.next_out),m=q.next_out-f,n=k.buf2string(q.output,f),q.next_out=m,q.avail_out=t-m,m&&h.arraySet(q.output,q.output,f,m,0),this.onData(n)):this.onData(h.shrinkBuf(q.output,q.next_out))));0===q.avail_in&&0===q.avail_out&&(G=!0)}while((0<q.avail_in||0===q.avail_out)&&d!==l.Z_STREAM_END);return d===l.Z_STREAM_END&&(e=l.Z_FINISH), +this.header=new p;g.inflateGetHeader(this.strm,this.header)}function f(b,c){var d=new e(c);if(d.push(b,!0),d.err)throw d.msg;return d.result}var g=b("./zlib/inflate"),h=b("./utils/common"),k=b("./utils/strings"),l=b("./zlib/constants"),m=b("./zlib/messages"),n=b("./zlib/zstream"),p=b("./zlib/gzheader"),r=Object.prototype.toString;e.prototype.push=function(b,c){var d,e,f,m,n,p,q=this.strm,t=this.options.chunkSize,B=this.options.dictionary,A=!1;if(this.ended)return!1;e=c===~~c?c:!0===c?l.Z_FINISH:l.Z_NO_FLUSH; +"string"==typeof b?q.input=k.binstring2buf(b):"[object ArrayBuffer]"===r.call(b)?q.input=new Uint8Array(b):q.input=b;q.next_in=0;q.avail_in=q.input.length;do{if(0===q.avail_out&&(q.output=new h.Buf8(t),q.next_out=0,q.avail_out=t),d=g.inflate(q,l.Z_NO_FLUSH),d===l.Z_NEED_DICT&&B&&(p="string"==typeof B?k.string2buf(B):"[object ArrayBuffer]"===r.call(B)?new Uint8Array(B):B,d=g.inflateSetDictionary(this.strm,p)),d===l.Z_BUF_ERROR&&!0===A&&(d=l.Z_OK,A=!1),d!==l.Z_STREAM_END&&d!==l.Z_OK)return this.onEnd(d), +this.ended=!0,!1;q.next_out&&(0!==q.avail_out&&d!==l.Z_STREAM_END&&(0!==q.avail_in||e!==l.Z_FINISH&&e!==l.Z_SYNC_FLUSH)||("string"===this.options.to?(f=k.utf8border(q.output,q.next_out),m=q.next_out-f,n=k.buf2string(q.output,f),q.next_out=m,q.avail_out=t-m,m&&h.arraySet(q.output,q.output,f,m,0),this.onData(n)):this.onData(h.shrinkBuf(q.output,q.next_out))));0===q.avail_in&&0===q.avail_out&&(A=!0)}while((0<q.avail_in||0===q.avail_out)&&d!==l.Z_STREAM_END);return d===l.Z_STREAM_END&&(e=l.Z_FINISH), e===l.Z_FINISH?(d=g.inflateEnd(this.strm),this.onEnd(d),this.ended=!0,d===l.Z_OK):e!==l.Z_SYNC_FLUSH||(this.onEnd(l.Z_OK),q.avail_out=0,!0)};e.prototype.onData=function(b){this.chunks.push(b)};e.prototype.onEnd=function(b){b===l.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=h.flattenChunks(this.chunks));this.chunks=[];this.err=b;this.msg=this.strm.msg};d.Inflate=e;d.inflate=f;d.inflateRaw=function(b,c){return c=c||{},c.raw=!0,f(b,c)};d.ungzip=f},{"./utils/common":3, "./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(b,c,d){b="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;d.assign=function(b){for(var c=Array.prototype.slice.call(arguments,1);c.length;){var d=c.shift();if(d){if("object"!=typeof d)throw new TypeError(d+"must be non-object");for(var e in d)d.hasOwnProperty(e)&&(b[e]=d[e])}}return b};d.shrinkBuf=function(b,c){return b.length=== c?b:b.subarray?b.subarray(0,c):(b.length=c,b)};var e={arraySet:function(b,c,d,e,f){if(c.subarray&&b.subarray)return void b.set(c.subarray(d,d+e),f);for(var g=0;g<e;g++)b[f+g]=c[d+g]},flattenChunks:function(b){var c,d,e,f,g;c=e=0;for(d=b.length;c<d;c++)e+=b[c].length;g=new Uint8Array(e);c=e=0;for(d=b.length;c<d;c++)f=b[c],g.set(f,e),e+=f.length;return g}},f={arraySet:function(b,c,d,e,f){for(var g=0;g<e;g++)b[f+g]=c[d+g]},flattenChunks:function(b){return[].concat.apply([],b)}};d.setTyped=function(b){b? @@ -107,76 +107,76 @@ d?(c[h++]=192|d>>>6,c[h++]=128|63&d):65536>d?(c[h++]=224|d>>>12,c[h++]=128|d>>>6 2===h?31:3===h?15:7;1<h&&d<l;)g=g<<6|63&b[d++],h--;1<h?m[f++]=65533:65536>g?m[f++]=g:(g-=65536,m[f++]=55296|g>>10&1023,m[f++]=56320|1023&g)}return e(m,f)};d.utf8border=function(b,c){var d;c=c||b.length;c>b.length&&(c=b.length);for(d=c-1;0<=d&&128===(192&b[d]);)d--;return 0>d?c:0===d?c:d+k[b[d]]>c?d:c}},{"./common":3}],5:[function(b,c,d){c.exports=function(b,c,d,h){var e=65535&b|0;b=b>>>16&65535|0;for(var f;0!==d;){f=2E3<d?2E3:d;d-=f;do e=e+c[h++]|0,b=b+e|0;while(--f);e%=65521;b%=65521}return e|b<< 16|0}},{}],6:[function(b,c,d){c.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(b,c,d){var e=function(){for(var b,c=[],d=0;256>d;d++){b=d;for(var e= 0;8>e;e++)b=1&b?3988292384^b>>>1:b>>>1;c[d]=b}return c}();c.exports=function(b,c,d,k){d=k+d;for(b^=-1;k<d;k++)b=b>>>8^e[255&(b^c[k])];return b^-1}},{}],8:[function(b,c,d){function e(b,c){return b.msg=B[c],c}function f(b){for(var c=b.length;0<=--c;)b[c]=0}function g(b){var c=b.state,d=c.pending;d>b.avail_out&&(d=b.avail_out);0!==d&&(u.arraySet(b.output,c.pending_buf,c.pending_out,d,b.next_out),b.next_out+=d,c.pending_out+=d,b.total_out+=d,b.avail_out-=d,c.pending-=d,0===c.pending&&(c.pending_out=0))} -function h(b,c){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function k(b,c){b.pending_buf[b.pending++]=c}function l(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,h=b.prev_length,k=b.nice_match,l=b.strstart>b.w_size-T?b.strstart-(b.w_size-T):0,m=b.window,v=b.w_mask,n=b.prev,C=b.strstart+X,p=m[g+h-1],q=m[g+h];b.prev_length>=b.good_match&&(f>>= -2);k>b.lookahead&&(k=b.lookahead);do if(d=c,m[d+h]===q&&m[d+h-1]===p&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;for(d++;m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<C;);if(e=X-(C-g),g=C-X,e>h){if(b.match_start=c,h=e,e>=k)break;p=m[g+h-1];q=m[g+h]}}while((c=n[c&v])>l&&0!==--f);return h<=b.lookahead?h:b.lookahead}function n(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=g+(g-T)){u.arraySet(b.window, +function h(b,c){D._tr_flush_block(b,0<=b.block_start?b.block_start:-1,b.strstart-b.block_start,c);b.block_start=b.strstart;g(b.strm)}function k(b,c){b.pending_buf[b.pending++]=c}function l(b,c){b.pending_buf[b.pending++]=c>>>8&255;b.pending_buf[b.pending++]=255&c}function m(b,c){var d,e,f=b.max_chain_length,g=b.strstart,h=b.prev_length,k=b.nice_match,l=b.strstart>b.w_size-T?b.strstart-(b.w_size-T):0,m=b.window,v=b.w_mask,n=b.prev,C=b.strstart+N,p=m[g+h-1],q=m[g+h];b.prev_length>=b.good_match&&(f>>= +2);k>b.lookahead&&(k=b.lookahead);do if(d=c,m[d+h]===q&&m[d+h-1]===p&&m[d]===m[g]&&m[++d]===m[g+1]){g+=2;for(d++;m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&m[++g]===m[++d]&&g<C;);if(e=N-(C-g),g=C-N,e>h){if(b.match_start=c,h=e,e>=k)break;p=m[g+h-1];q=m[g+h]}}while((c=n[c&v])>l&&0!==--f);return h<=b.lookahead?h:b.lookahead}function n(b){var c,d,e,f,g=b.w_size;do{if(f=b.window_size-b.lookahead-b.strstart,b.strstart>=g+(g-T)){u.arraySet(b.window, b.window,g,g,0);b.match_start-=g;b.strstart-=g;b.block_start-=g;c=d=b.hash_size;do e=b.head[--c],b.head[c]=e>=g?e-g:0;while(--d);c=d=g;do e=b.prev[--c],b.prev[c]=e>=g?e-g:0;while(--d);f+=g}if(0===b.strm.avail_in)break;c=b.strm;e=b.window;var h=b.strstart+b.lookahead,k=c.avail_in;if(d=(k>f&&(k=f),0===k?0:(c.avail_in-=k,u.arraySet(e,c.input,c.next_in,k,h),1===c.state.wrap?c.adler=F(c.adler,e,k,h):2===c.state.wrap&&(c.adler=E(c.adler,e,k,h)),c.next_in+=k,c.total_in+=k,k)),b.lookahead+=d,b.lookahead+ -b.insert>=K)for(f=b.strstart-b.insert,b.ins_h=b.window[f],b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+K-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<K)););}while(b.lookahead<T&&0!==b.strm.avail_in)}function p(b,c){for(var d,e;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===G)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+ -K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d)),b.match_length>=K)if(e=D._tr_tally(b,b.strstart-b.match_start,b.match_length-K),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=K){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length); -b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else e=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(e&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=b.strstart<K-1?b.strstart:K-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function r(b,c){for(var d,e,f;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===G)return P;if(0=== -b.lookahead)break}if(d=0,b.lookahead>=K&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=K-1,0!==d&&b.prev_length<b.max_lazy_match&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d),5>=b.match_length&&(b.strategy===U||b.match_length===K&&4096<b.strstart-b.match_start)&&(b.match_length=K-1)),b.prev_length>=K&&b.match_length<=b.prev_length){f= -b.strstart+b.lookahead-K;e=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-K);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+K-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=K-1,b.strstart++,e&&(h(b,!1),0===b.strm.avail_out))return P}else if(b.match_available){if(e=D._tr_tally(b,0,b.window[b.strstart-1]),e&&h(b,!1), -b.strstart++,b.lookahead--,0===b.strm.avail_out)return P}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<K-1?b.strstart:K-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function q(b,c,d,e,f){this.good_length=b;this.max_lazy=c;this.nice_length=d;this.max_chain=e;this.func=f}function t(){this.strm=null;this.status=0;this.pending_buf=null;this.wrap= -this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=A;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=this.hash_mask=this.hash_bits=this.hash_size= -this.ins_h=0;this.dyn_ltree=new u.Buf16(2*ba);this.dyn_dtree=new u.Buf16(2*(2*I+1));this.bl_tree=new u.Buf16(2*(2*J+1));f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new u.Buf16(N+1);this.heap=new u.Buf16(2*Q+1);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new u.Buf16(2*Q+1);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=this.l_buf=0}function z(b){var c; -return b&&b.state?(b.total_in=b.total_out=0,b.data_type=aa,c=b.state,c.pending=0,c.pending_out=0,0>c.wrap&&(c.wrap=-c.wrap),c.status=c.wrap?ca:ea,b.adler=2===c.wrap?0:1,c.last_flush=G,D._tr_init(c),M):e(b,L)}function w(b){var c=z(b);c===M&&(b=b.state,b.window_size=2*b.w_size,f(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=0,b.lookahead=0,b.insert=0,b.match_length= -b.prev_length=K-1,b.match_available=0,b.ins_h=0);return c}function x(b,c,d,f,g,h){if(!b)return L;var k=1;if(c===H&&(c=6),0>f?(k=0,f=-f):15<f&&(k=2,f-=16),1>g||g>v||d!==A||8>f||15<f||0>c||9<c||0>h||h>S)return e(b,L);8===f&&(f=9);var l=new t;return b.state=l,l.strm=b,l.wrap=k,l.gzhead=null,l.w_bits=f,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=g+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+K-1)/K),l.window=new u.Buf8(2*l.w_size),l.head=new u.Buf16(l.hash_size), -l.prev=new u.Buf16(l.w_size),l.lit_bufsize=1<<g+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new u.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=c,l.strategy=h,l.method=d,w(b)}var y,u=b("../utils/common"),D=b("./trees"),F=b("./adler32"),E=b("./crc32"),B=b("./messages"),G=0,C=4,M=0,L=-2,H=-1,U=1,S=4,aa=2,A=8,v=9,Q=286,I=30,J=19,ba=2*Q+1,N=15,K=3,X=258,T=X+K+1,ca=42,ea=113,P=1,V=2,W=3,O=4;y=[new q(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&& -(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(n(b),0===b.lookahead&&c===G)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,h(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-T&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===C?(h(b,!0),0===b.strm.avail_out?W:O):(b.strstart>b.block_start&&h(b,!1),P)}),new q(4,4,8,4,p),new q(4,5,16,8,p),new q(4,6,32, -32,p),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return x(b,c,A,15,8,0)};d.deflateInit2=x;d.deflateReset=w;d.deflateResetKeep=z;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?L:(b.state.gzhead=c,M):L};d.deflate=function(b,c){var d,m,v,p;if(!b||!b.state||5<c||0>c)return b?e(b,L):L;if(m=b.state,!b.output||!b.input&&0!==b.avail_in||666===m.status&&c!==C)return e(b, -0===b.avail_out?-5:L);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,k(m,31),k(m,139),k(m,8),m.gzhead?(k(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),k(m,255&m.gzhead.time),k(m,m.gzhead.time>>8&255),k(m,m.gzhead.time>>16&255),k(m,m.gzhead.time>>24&255),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(k(m,255&m.gzhead.extra.length),k(m,m.gzhead.extra.length>> -8&255)),m.gzhead.hcrc&&(b.adler=E(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(k(m,0),k(m,0),k(m,0),k(m,0),k(m,0),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,3),m.status=ea)):(v=A+(m.w_bits-8<<4)<<8,v|=(2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3)<<6,0!==m.strstart&&(v|=32),m.status=ea,l(m,v+(31-v%31)),0!==m.strstart&&(l(m,b.adler>>>16),l(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(v=m.pending;m.gzindex<(65535&m.gzhead.extra.length)&&(m.pending!== +b.insert>=J)for(f=b.strstart-b.insert,b.ins_h=b.window[f],b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+1])&b.hash_mask;b.insert&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[f+J-1])&b.hash_mask,b.prev[f&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=f,f++,b.insert--,!(b.lookahead+b.insert<J)););}while(b.lookahead<T&&0!==b.strm.avail_in)}function p(b,c){for(var d,e;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===A)return P;if(0===b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+ +J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),0!==d&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d)),b.match_length>=J)if(e=D._tr_tally(b,b.strstart-b.match_start,b.match_length-J),b.lookahead-=b.match_length,b.match_length<=b.max_lazy_match&&b.lookahead>=J){b.match_length--;do b.strstart++,b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart;while(0!==--b.match_length); +b.strstart++}else b.strstart+=b.match_length,b.match_length=0,b.ins_h=b.window[b.strstart],b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+1])&b.hash_mask;else e=D._tr_tally(b,0,b.window[b.strstart]),b.lookahead--,b.strstart++;if(e&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=b.strstart<J-1?b.strstart:J-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function r(b,c){for(var d,e,f;;){if(b.lookahead<T){if(n(b),b.lookahead<T&&c===A)return P;if(0=== +b.lookahead)break}if(d=0,b.lookahead>=J&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart),b.prev_length=b.match_length,b.prev_match=b.match_start,b.match_length=J-1,0!==d&&b.prev_length<b.max_lazy_match&&b.strstart-d<=b.w_size-T&&(b.match_length=m(b,d),5>=b.match_length&&(b.strategy===U||b.match_length===J&&4096<b.strstart-b.match_start)&&(b.match_length=J-1)),b.prev_length>=J&&b.match_length<=b.prev_length){f= +b.strstart+b.lookahead-J;e=D._tr_tally(b,b.strstart-1-b.prev_match,b.prev_length-J);b.lookahead-=b.prev_length-1;b.prev_length-=2;do++b.strstart<=f&&(b.ins_h=(b.ins_h<<b.hash_shift^b.window[b.strstart+J-1])&b.hash_mask,d=b.prev[b.strstart&b.w_mask]=b.head[b.ins_h],b.head[b.ins_h]=b.strstart);while(0!==--b.prev_length);if(b.match_available=0,b.match_length=J-1,b.strstart++,e&&(h(b,!1),0===b.strm.avail_out))return P}else if(b.match_available){if(e=D._tr_tally(b,0,b.window[b.strstart-1]),e&&h(b,!1), +b.strstart++,b.lookahead--,0===b.strm.avail_out)return P}else b.match_available=1,b.strstart++,b.lookahead--}return b.match_available&&(D._tr_tally(b,0,b.window[b.strstart-1]),b.match_available=0),b.insert=b.strstart<J-1?b.strstart:J-1,c===C?(h(b,!0),0===b.strm.avail_out?W:O):b.last_lit&&(h(b,!1),0===b.strm.avail_out)?P:V}function q(b,c,d,e,f){this.good_length=b;this.max_lazy=c;this.nice_length=d;this.max_chain=e;this.func=f}function t(){this.strm=null;this.status=0;this.pending_buf=null;this.wrap= +this.pending=this.pending_out=this.pending_buf_size=0;this.gzhead=null;this.gzindex=0;this.method=X;this.last_flush=-1;this.w_mask=this.w_bits=this.w_size=0;this.window=null;this.window_size=0;this.head=this.prev=null;this.nice_match=this.good_match=this.strategy=this.level=this.max_lazy_match=this.max_chain_length=this.prev_length=this.lookahead=this.match_start=this.strstart=this.match_available=this.prev_match=this.match_length=this.block_start=this.hash_shift=this.hash_mask=this.hash_bits=this.hash_size= +this.ins_h=0;this.dyn_ltree=new u.Buf16(2*ba);this.dyn_dtree=new u.Buf16(2*(2*H+1));this.bl_tree=new u.Buf16(2*(2*I+1));f(this.dyn_ltree);f(this.dyn_dtree);f(this.bl_tree);this.bl_desc=this.d_desc=this.l_desc=null;this.bl_count=new u.Buf16(M+1);this.heap=new u.Buf16(2*Q+1);f(this.heap);this.heap_max=this.heap_len=0;this.depth=new u.Buf16(2*Q+1);f(this.depth);this.bi_valid=this.bi_buf=this.insert=this.matches=this.static_len=this.opt_len=this.d_buf=this.last_lit=this.lit_bufsize=this.l_buf=0}function z(b){var c; +return b&&b.state?(b.total_in=b.total_out=0,b.data_type=aa,c=b.state,c.pending=0,c.pending_out=0,0>c.wrap&&(c.wrap=-c.wrap),c.status=c.wrap?ca:ea,b.adler=2===c.wrap?0:1,c.last_flush=A,D._tr_init(c),L):e(b,K)}function w(b){var c=z(b);c===L&&(b=b.state,b.window_size=2*b.w_size,f(b.head),b.max_lazy_match=y[b.level].max_lazy,b.good_match=y[b.level].good_length,b.nice_match=y[b.level].nice_length,b.max_chain_length=y[b.level].max_chain,b.strstart=0,b.block_start=0,b.lookahead=0,b.insert=0,b.match_length= +b.prev_length=J-1,b.match_available=0,b.ins_h=0);return c}function x(b,c,d,f,g,h){if(!b)return K;var k=1;if(c===G&&(c=6),0>f?(k=0,f=-f):15<f&&(k=2,f-=16),1>g||g>v||d!==X||8>f||15<f||0>c||9<c||0>h||h>S)return e(b,K);8===f&&(f=9);var l=new t;return b.state=l,l.strm=b,l.wrap=k,l.gzhead=null,l.w_bits=f,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=g+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+J-1)/J),l.window=new u.Buf8(2*l.w_size),l.head=new u.Buf16(l.hash_size), +l.prev=new u.Buf16(l.w_size),l.lit_bufsize=1<<g+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new u.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=c,l.strategy=h,l.method=d,w(b)}var y,u=b("../utils/common"),D=b("./trees"),F=b("./adler32"),E=b("./crc32"),B=b("./messages"),A=0,C=4,L=0,K=-2,G=-1,U=1,S=4,aa=2,X=8,v=9,Q=286,H=30,I=19,ba=2*Q+1,M=15,J=3,N=258,T=N+J+1,ca=42,ea=113,P=1,V=2,W=3,O=4;y=[new q(0,0,0,0,function(b,c){var d=65535;for(d>b.pending_buf_size-5&& +(d=b.pending_buf_size-5);;){if(1>=b.lookahead){if(n(b),0===b.lookahead&&c===A)return P;if(0===b.lookahead)break}b.strstart+=b.lookahead;b.lookahead=0;var e=b.block_start+d;if((0===b.strstart||b.strstart>=e)&&(b.lookahead=b.strstart-e,b.strstart=e,h(b,!1),0===b.strm.avail_out)||b.strstart-b.block_start>=b.w_size-T&&(h(b,!1),0===b.strm.avail_out))return P}return b.insert=0,c===C?(h(b,!0),0===b.strm.avail_out?W:O):(b.strstart>b.block_start&&h(b,!1),P)}),new q(4,4,8,4,p),new q(4,5,16,8,p),new q(4,6,32, +32,p),new q(4,4,16,16,r),new q(8,16,32,32,r),new q(8,16,128,128,r),new q(8,32,128,256,r),new q(32,128,258,1024,r),new q(32,258,258,4096,r)];d.deflateInit=function(b,c){return x(b,c,X,15,8,0)};d.deflateInit2=x;d.deflateReset=w;d.deflateResetKeep=z;d.deflateSetHeader=function(b,c){return b&&b.state?2!==b.state.wrap?K:(b.state.gzhead=c,L):K};d.deflate=function(b,c){var d,m,v,p;if(!b||!b.state||5<c||0>c)return b?e(b,K):K;if(m=b.state,!b.output||!b.input&&0!==b.avail_in||666===m.status&&c!==C)return e(b, +0===b.avail_out?-5:K);if(m.strm=b,d=m.last_flush,m.last_flush=c,m.status===ca)2===m.wrap?(b.adler=0,k(m,31),k(m,139),k(m,8),m.gzhead?(k(m,(m.gzhead.text?1:0)+(m.gzhead.hcrc?2:0)+(m.gzhead.extra?4:0)+(m.gzhead.name?8:0)+(m.gzhead.comment?16:0)),k(m,255&m.gzhead.time),k(m,m.gzhead.time>>8&255),k(m,m.gzhead.time>>16&255),k(m,m.gzhead.time>>24&255),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,255&m.gzhead.os),m.gzhead.extra&&m.gzhead.extra.length&&(k(m,255&m.gzhead.extra.length),k(m,m.gzhead.extra.length>> +8&255)),m.gzhead.hcrc&&(b.adler=E(b.adler,m.pending_buf,m.pending,0)),m.gzindex=0,m.status=69):(k(m,0),k(m,0),k(m,0),k(m,0),k(m,0),k(m,9===m.level?2:2<=m.strategy||2>m.level?4:0),k(m,3),m.status=ea)):(v=X+(m.w_bits-8<<4)<<8,v|=(2<=m.strategy||2>m.level?0:6>m.level?1:6===m.level?2:3)<<6,0!==m.strstart&&(v|=32),m.status=ea,l(m,v+(31-v%31)),0!==m.strstart&&(l(m,b.adler>>>16),l(m,65535&b.adler)),b.adler=1);if(69===m.status)if(m.gzhead.extra){for(v=m.pending;m.gzindex<(65535&m.gzhead.extra.length)&&(m.pending!== m.pending_buf_size||(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v)),g(b),v=m.pending,m.pending!==m.pending_buf_size));)k(m,255&m.gzhead.extra[m.gzindex]),m.gzindex++;m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));m.gzindex===m.gzhead.extra.length&&(m.gzindex=0,m.status=73)}else m.status=73;if(73===m.status)if(m.gzhead.name){v=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending- v,v)),g(b),v=m.pending,m.pending===m.pending_buf_size)){p=1;break}p=m.gzindex<m.gzhead.name.length?255&m.gzhead.name.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.gzindex=0,m.status=91)}else m.status=91;if(91===m.status)if(m.gzhead.comment){v=m.pending;do{if(m.pending===m.pending_buf_size&&(m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v)),g(b),v=m.pending,m.pending===m.pending_buf_size)){p= -1;break}p=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(k(m,255&b.adler),k(m,b.adler>>8&255),b.adler=0,m.status=ea)):m.status=ea),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush=-1,M}else if(0===b.avail_in&&(c<<1)- -(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==C)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==G&&666!==m.status){var q;if(2===m.strategy)a:{for(var r;;){if(0===m.lookahead&&(n(m),0===m.lookahead)){if(c===G){q=P;break a}break}if(m.match_length=0,r=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,r&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)? -P:V)}else if(3===m.strategy)a:{var I,Q;for(r=m.window;;){if(m.lookahead<=X){if(n(m),m.lookahead<=X&&c===G){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=K&&0<m.strstart&&(Q=m.strstart-1,I=r[Q],I===r[++Q]&&I===r[++Q]&&I===r[++Q])){for(d=m.strstart+X;I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&I===r[++Q]&&Q<d;);m.match_length=X-(d-Q);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=K?(q=D._tr_tally(m,1,m.match_length- -K),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)?P:V)}else q=y[m.level].func(m,c);if(q!==W&&q!==O||(m.status=666),q===P||q===W)return 0===b.avail_out&&(m.last_flush=-1),M;if(q===V&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,0,0,!1),3===c&&(f(m.head),0=== -m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,M}return c!==C?M:0>=m.wrap?1:(2===m.wrap?(k(m,255&b.adler),k(m,b.adler>>8&255),k(m,b.adler>>16&255),k(m,b.adler>>24&255),k(m,255&b.total_in),k(m,b.total_in>>8&255),k(m,b.total_in>>16&255),k(m,b.total_in>>24&255)):(l(m,b.adler>>>16),l(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?M:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status,c!==ca&&69!==c&&73!==c&&91!== -c&&103!==c&&c!==ea&&666!==c?e(b,L):(b.state=null,c===ea?e(b,-3):M)):L};d.deflateSetDictionary=function(b,c){var d,e,g,h,k,m,l;e=c.length;if(!b||!b.state||(d=b.state,h=d.wrap,2===h||1===h&&d.status!==ca||d.lookahead))return L;1===h&&(b.adler=F(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===h&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),k=new u.Buf8(d.w_size),u.arraySet(k,c,e-d.w_size,d.w_size,0),c=k,e=d.w_size);k=b.avail_in;m=b.next_in;l=b.input;b.avail_in=e;b.next_in=0;b.input=c;for(n(d);d.lookahead>= -K;){e=d.strstart;g=d.lookahead-(K-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+K-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=K-1;n(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=K-1,d.match_available=0,b.next_in=m,b.input=l,b.avail_in=k,d.wrap=h,M};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13, -"./trees":14}],9:[function(b,c,d){c.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(b,c,d){c.exports=function(b,c){var d,e,f,l,m,n,p,r,q,t,z,w,x,y,u,D,F,E,B,G,C,M,L,H;d=b.state;e=b.next_in;L=b.input;f=e+(b.avail_in-5);l=b.next_out;H=b.output;m=l-(c-b.avail_out);n=l+(b.avail_out-257);p=d.dmax;r=d.wsize;q=d.whave;t=d.wnext;z=d.window;w=d.hold;x=d.bits;y=d.lencode;u=d.distcode;D=(1<<d.lenbits)- -1;F=(1<<d.distbits)-1;a:do b:for(15>x&&(w+=L[e++]<<x,x+=8,w+=L[e++]<<x,x+=8),E=y[w&D];;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,0===B)H[l++]=65535&E;else{if(!(16&B)){if(0===(64&B)){E=y[(65535&E)+(w&(1<<B)-1)];continue b}if(32&B){d.mode=12;break a}b.msg="invalid literal/length code";d.mode=30;break a}G=65535&E;(B&=15)&&(x<B&&(w+=L[e++]<<x,x+=8),G+=w&(1<<B)-1,w>>>=B,x-=B);15>x&&(w+=L[e++]<<x,x+=8,w+=L[e++]<<x,x+=8);E=u[w&F];c:for(;;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,!(16&B)){if(0===(64&B)){E=u[(65535& -E)+(w&(1<<B)-1)];continue c}b.msg="invalid distance code";d.mode=30;break a}if(C=65535&E,B&=15,x<B&&(w+=L[e++]<<x,x+=8,x<B&&(w+=L[e++]<<x,x+=8)),C+=w&(1<<B)-1,C>p){b.msg="invalid distance too far back";d.mode=30;break a}if(w>>>=B,x-=B,B=l-m,C>B){if(B=C-B,B>q&&d.sane){b.msg="invalid distance too far back";d.mode=30;break a}if(E=0,M=z,0===t){if(E+=r-B,B<G){G-=B;do H[l++]=z[E++];while(--B);E=l-C;M=H}}else if(t<B){if(E+=r+t-B,B-=t,B<G){G-=B;do H[l++]=z[E++];while(--B);if(E=0,t<G){B=t;G-=B;do H[l++]=z[E++]; -while(--B);E=l-C;M=H}}}else if(E+=t-B,B<G){G-=B;do H[l++]=z[E++];while(--B);E=l-C;M=H}for(;2<G;)H[l++]=M[E++],H[l++]=M[E++],H[l++]=M[E++],G-=3;G&&(H[l++]=M[E++],1<G&&(H[l++]=M[E++]))}else{E=l-C;do H[l++]=H[E++],H[l++]=H[E++],H[l++]=H[E++],G-=3;while(2<G);G&&(H[l++]=H[E++],1<G&&(H[l++]=H[E++]))}break}}break}while(e<f&&l<n);G=x>>3;e-=G;x-=G<<3;b.next_in=e;b.next_out=l;b.avail_in=e<f?5+(f-e):5-(e-f);b.avail_out=l<n?257+(n-l):257-(l-n);d.hold=w&(1<<x)-1;d.bits=x}},{}],11:[function(b,c,d){function e(b){return(b>>> +1;break}p=m.gzindex<m.gzhead.comment.length?255&m.gzhead.comment.charCodeAt(m.gzindex++):0;k(m,p)}while(0!==p);m.gzhead.hcrc&&m.pending>v&&(b.adler=E(b.adler,m.pending_buf,m.pending-v,v));0===p&&(m.status=103)}else m.status=103;if(103===m.status&&(m.gzhead.hcrc?(m.pending+2>m.pending_buf_size&&g(b),m.pending+2<=m.pending_buf_size&&(k(m,255&b.adler),k(m,b.adler>>8&255),b.adler=0,m.status=ea)):m.status=ea),0!==m.pending){if(g(b),0===b.avail_out)return m.last_flush=-1,L}else if(0===b.avail_in&&(c<<1)- +(4<c?9:0)<=(d<<1)-(4<d?9:0)&&c!==C)return e(b,-5);if(666===m.status&&0!==b.avail_in)return e(b,-5);if(0!==b.avail_in||0!==m.lookahead||c!==A&&666!==m.status){var q;if(2===m.strategy)a:{for(var r;;){if(0===m.lookahead&&(n(m),0===m.lookahead)){if(c===A){q=P;break a}break}if(m.match_length=0,r=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++,r&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)? +P:V)}else if(3===m.strategy)a:{var H,Q;for(r=m.window;;){if(m.lookahead<=N){if(n(m),m.lookahead<=N&&c===A){q=P;break a}if(0===m.lookahead)break}if(m.match_length=0,m.lookahead>=J&&0<m.strstart&&(Q=m.strstart-1,H=r[Q],H===r[++Q]&&H===r[++Q]&&H===r[++Q])){for(d=m.strstart+N;H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&H===r[++Q]&&Q<d;);m.match_length=N-(d-Q);m.match_length>m.lookahead&&(m.match_length=m.lookahead)}if(m.match_length>=J?(q=D._tr_tally(m,1,m.match_length- +J),m.lookahead-=m.match_length,m.strstart+=m.match_length,m.match_length=0):(q=D._tr_tally(m,0,m.window[m.strstart]),m.lookahead--,m.strstart++),q&&(h(m,!1),0===m.strm.avail_out)){q=P;break a}}q=(m.insert=0,c===C?(h(m,!0),0===m.strm.avail_out?W:O):m.last_lit&&(h(m,!1),0===m.strm.avail_out)?P:V)}else q=y[m.level].func(m,c);if(q!==W&&q!==O||(m.status=666),q===P||q===W)return 0===b.avail_out&&(m.last_flush=-1),L;if(q===V&&(1===c?D._tr_align(m):5!==c&&(D._tr_stored_block(m,0,0,!1),3===c&&(f(m.head),0=== +m.lookahead&&(m.strstart=0,m.block_start=0,m.insert=0))),g(b),0===b.avail_out))return m.last_flush=-1,L}return c!==C?L:0>=m.wrap?1:(2===m.wrap?(k(m,255&b.adler),k(m,b.adler>>8&255),k(m,b.adler>>16&255),k(m,b.adler>>24&255),k(m,255&b.total_in),k(m,b.total_in>>8&255),k(m,b.total_in>>16&255),k(m,b.total_in>>24&255)):(l(m,b.adler>>>16),l(m,65535&b.adler)),g(b),0<m.wrap&&(m.wrap=-m.wrap),0!==m.pending?L:1)};d.deflateEnd=function(b){var c;return b&&b.state?(c=b.state.status,c!==ca&&69!==c&&73!==c&&91!== +c&&103!==c&&c!==ea&&666!==c?e(b,K):(b.state=null,c===ea?e(b,-3):L)):K};d.deflateSetDictionary=function(b,c){var d,e,g,h,k,m,l;e=c.length;if(!b||!b.state||(d=b.state,h=d.wrap,2===h||1===h&&d.status!==ca||d.lookahead))return K;1===h&&(b.adler=F(b.adler,c,e,0));d.wrap=0;e>=d.w_size&&(0===h&&(f(d.head),d.strstart=0,d.block_start=0,d.insert=0),k=new u.Buf8(d.w_size),u.arraySet(k,c,e-d.w_size,d.w_size,0),c=k,e=d.w_size);k=b.avail_in;m=b.next_in;l=b.input;b.avail_in=e;b.next_in=0;b.input=c;for(n(d);d.lookahead>= +J;){e=d.strstart;g=d.lookahead-(J-1);do d.ins_h=(d.ins_h<<d.hash_shift^d.window[e+J-1])&d.hash_mask,d.prev[e&d.w_mask]=d.head[d.ins_h],d.head[d.ins_h]=e,e++;while(--g);d.strstart=e;d.lookahead=J-1;n(d)}return d.strstart+=d.lookahead,d.block_start=d.strstart,d.insert=d.lookahead,d.lookahead=0,d.match_length=d.prev_length=J-1,d.match_available=0,b.next_in=m,b.input=l,b.avail_in=k,d.wrap=h,L};d.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13, +"./trees":14}],9:[function(b,c,d){c.exports=function(){this.os=this.xflags=this.time=this.text=0;this.extra=null;this.extra_len=0;this.comment=this.name="";this.hcrc=0;this.done=!1}},{}],10:[function(b,c,d){c.exports=function(b,c){var d,e,f,l,m,n,p,r,q,t,z,w,x,y,u,D,F,E,B,A,C,L,K,G;d=b.state;e=b.next_in;K=b.input;f=e+(b.avail_in-5);l=b.next_out;G=b.output;m=l-(c-b.avail_out);n=l+(b.avail_out-257);p=d.dmax;r=d.wsize;q=d.whave;t=d.wnext;z=d.window;w=d.hold;x=d.bits;y=d.lencode;u=d.distcode;D=(1<<d.lenbits)- +1;F=(1<<d.distbits)-1;a:do b:for(15>x&&(w+=K[e++]<<x,x+=8,w+=K[e++]<<x,x+=8),E=y[w&D];;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,0===B)G[l++]=65535&E;else{if(!(16&B)){if(0===(64&B)){E=y[(65535&E)+(w&(1<<B)-1)];continue b}if(32&B){d.mode=12;break a}b.msg="invalid literal/length code";d.mode=30;break a}A=65535&E;(B&=15)&&(x<B&&(w+=K[e++]<<x,x+=8),A+=w&(1<<B)-1,w>>>=B,x-=B);15>x&&(w+=K[e++]<<x,x+=8,w+=K[e++]<<x,x+=8);E=u[w&F];c:for(;;){if(B=E>>>24,w>>>=B,x-=B,B=E>>>16&255,!(16&B)){if(0===(64&B)){E=u[(65535& +E)+(w&(1<<B)-1)];continue c}b.msg="invalid distance code";d.mode=30;break a}if(C=65535&E,B&=15,x<B&&(w+=K[e++]<<x,x+=8,x<B&&(w+=K[e++]<<x,x+=8)),C+=w&(1<<B)-1,C>p){b.msg="invalid distance too far back";d.mode=30;break a}if(w>>>=B,x-=B,B=l-m,C>B){if(B=C-B,B>q&&d.sane){b.msg="invalid distance too far back";d.mode=30;break a}if(E=0,L=z,0===t){if(E+=r-B,B<A){A-=B;do G[l++]=z[E++];while(--B);E=l-C;L=G}}else if(t<B){if(E+=r+t-B,B-=t,B<A){A-=B;do G[l++]=z[E++];while(--B);if(E=0,t<A){B=t;A-=B;do G[l++]=z[E++]; +while(--B);E=l-C;L=G}}}else if(E+=t-B,B<A){A-=B;do G[l++]=z[E++];while(--B);E=l-C;L=G}for(;2<A;)G[l++]=L[E++],G[l++]=L[E++],G[l++]=L[E++],A-=3;A&&(G[l++]=L[E++],1<A&&(G[l++]=L[E++]))}else{E=l-C;do G[l++]=G[E++],G[l++]=G[E++],G[l++]=G[E++],A-=3;while(2<A);A&&(G[l++]=G[E++],1<A&&(G[l++]=G[E++]))}break}}break}while(e<f&&l<n);A=x>>3;e-=A;x-=A<<3;b.next_in=e;b.next_out=l;b.avail_in=e<f?5+(f-e):5-(e-f);b.avail_out=l<n?257+(n-l):257-(l-n);d.hold=w&(1<<x)-1;d.bits=x}},{}],11:[function(b,c,d){function e(b){return(b>>> 24&255)+(b>>>8&65280)+((65280&b)<<8)+((255&b)<<24)}function f(){this.mode=0;this.last=!1;this.wrap=0;this.havedict=!1;this.total=this.check=this.dmax=this.flags=0;this.head=null;this.wnext=this.whave=this.wsize=this.wbits=0;this.window=null;this.extra=this.offset=this.length=this.bits=this.hold=0;this.distcode=this.lencode=null;this.have=this.ndist=this.nlen=this.ncode=this.distbits=this.lenbits=0;this.next=null;this.lens=new r.Buf16(320);this.work=new r.Buf16(288);this.distdyn=this.lendyn=null;this.was= this.back=this.sane=0}function g(b){var c;return b&&b.state?(c=b.state,b.total_in=b.total_out=c.total=0,b.msg="",c.wrap&&(b.adler=1&c.wrap),c.mode=u,c.last=0,c.havedict=0,c.dmax=32768,c.head=null,c.hold=0,c.bits=0,c.lencode=c.lendyn=new r.Buf32(D),c.distcode=c.distdyn=new r.Buf32(F),c.sane=1,c.back=-1,x):y}function h(b){var c;return b&&b.state?(c=b.state,c.wsize=0,c.whave=0,c.wnext=0,g(b)):y}function k(b,c){var d,e;return b&&b.state?(e=b.state,0>c?(d=0,c=-c):(d=(c>>4)+1,48>c&&(c&=15)),c&&(8>c||15< c)?y:(null!==e.window&&e.wbits!==c&&(e.window=null),e.wrap=d,e.wbits=c,h(b))):y}function l(b,c){var d,e;return b?(e=new f,b.state=e,e.window=null,d=k(b,c),d!==x&&(b.state=null),d):y}function m(b,c,d,e){var f;b=b.state;return null===b.window&&(b.wsize=1<<b.wbits,b.wnext=0,b.whave=0,b.window=new r.Buf8(b.wsize)),e>=b.wsize?(r.arraySet(b.window,c,d-b.wsize,b.wsize,0),b.wnext=0,b.whave=b.wsize):(f=b.wsize-b.wnext,f>e&&(f=e),r.arraySet(b.window,c,d-e,f,b.wnext),e-=f,e?(r.arraySet(b.window,c,d-e,e,0),b.wnext= -e,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var n,p,r=b("../utils/common"),q=b("./adler32"),t=b("./crc32"),z=b("./inffast"),w=b("./inftrees"),x=0,y=-2,u=1,D=852,F=592,E=!0;d.inflateReset=h;d.inflateReset2=k;d.inflateResetKeep=g;d.inflateInit=function(b){return l(b,15)};d.inflateInit2=l;d.inflate=function(b,c){var d,f,g,h,k,l,B,A,v,Q,I,J,ba,N,K,G,D,ca,F,P,V,W,O=0,R=new r.Buf8(4),fa=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!b||!b.state|| -!b.output||!b.input&&0!==b.avail_in)return y;d=b.state;12===d.mode&&(d.mode=13);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;Q=l;I=B;V=x;a:for(;;)switch(d.mode){case u:if(0===d.wrap){d.mode=13;break}for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(2&d.wrap&&35615===A){d.check=0;R[0]=255&A;R[1]=A>>>8&255;d.check=t(d.check,R,2,0);v=A=0;d.mode=2;break}if(d.flags=0,d.head&&(d.head.done=!1),!(1&d.wrap)||(((255&A)<<8)+(A>>8))%31){b.msg="incorrect header check"; +e,b.whave=b.wsize):(b.wnext+=f,b.wnext===b.wsize&&(b.wnext=0),b.whave<b.wsize&&(b.whave+=f))),0}var n,p,r=b("../utils/common"),q=b("./adler32"),t=b("./crc32"),z=b("./inffast"),w=b("./inftrees"),x=0,y=-2,u=1,D=852,F=592,E=!0;d.inflateReset=h;d.inflateReset2=k;d.inflateResetKeep=g;d.inflateInit=function(b){return l(b,15)};d.inflateInit2=l;d.inflate=function(b,c){var d,f,g,h,k,l,B,A,v,Q,H,I,ba,M,J,N,D,ca,F,P,V,W,O=0,R=new r.Buf8(4),fa=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!b||!b.state|| +!b.output||!b.input&&0!==b.avail_in)return y;d=b.state;12===d.mode&&(d.mode=13);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;Q=l;H=B;V=x;a:for(;;)switch(d.mode){case u:if(0===d.wrap){d.mode=13;break}for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(2&d.wrap&&35615===A){d.check=0;R[0]=255&A;R[1]=A>>>8&255;d.check=t(d.check,R,2,0);v=A=0;d.mode=2;break}if(d.flags=0,d.head&&(d.head.done=!1),!(1&d.wrap)||(((255&A)<<8)+(A>>8))%31){b.msg="incorrect header check"; d.mode=30;break}if(8!==(15&A)){b.msg="unknown compression method";d.mode=30;break}if(A>>>=4,v-=4,P=(15&A)+8,0===d.wbits)d.wbits=P;else if(P>d.wbits){b.msg="invalid window size";d.mode=30;break}d.dmax=1<<P;b.adler=d.check=1;d.mode=512&A?10:12;v=A=0;break;case 2:for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.flags=A,8!==(255&d.flags)){b.msg="unknown compression method";d.mode=30;break}if(57344&d.flags){b.msg="unknown header flags set";d.mode=30;break}d.head&&(d.head.text=A>>8&1);512&d.flags&& (R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0;d.mode=3;case 3:for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.head&&(d.head.time=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,R[2]=A>>>16&255,R[3]=A>>>24&255,d.check=t(d.check,R,4,0));v=A=0;d.mode=4;case 4:for(;16>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.head&&(d.head.xflags=255&A,d.head.os=A>>8);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0;d.mode=5;case 5:if(1024&d.flags){for(;16>v;){if(0===l)break a;l--; -A+=f[h++]<<v;v+=8}d.length=A;d.head&&(d.head.extra_len=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0}else d.head&&(d.head.extra=null);d.mode=6;case 6:if(1024&d.flags&&(J=d.length,J>l&&(J=l),J&&(d.head&&(P=d.head.extra_len-d.length,d.head.extra||(d.head.extra=Array(d.head.extra_len)),r.arraySet(d.head.extra,f,h,J,P)),512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,d.length-=J),d.length))break a;d.length=0;d.mode=7;case 7:if(2048&d.flags){if(0===l)break a;J=0;do P=f[h+ -J++],d.head&&P&&65536>d.length&&(d.head.name+=String.fromCharCode(P));while(P&&J<l);if(512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,P)break a}else d.head&&(d.head.name=null);d.length=0;d.mode=8;case 8:if(4096&d.flags){if(0===l)break a;J=0;do P=f[h+J++],d.head&&P&&65536>d.length&&(d.head.comment+=String.fromCharCode(P));while(P&&J<l);if(512&d.flags&&(d.check=t(d.check,f,J,h)),l-=J,h+=J,P)break a}else d.head&&(d.head.comment=null);d.mode=9;case 9:if(512&d.flags){for(;16>v;){if(0===l)break a;l--; +A+=f[h++]<<v;v+=8}d.length=A;d.head&&(d.head.extra_len=A);512&d.flags&&(R[0]=255&A,R[1]=A>>>8&255,d.check=t(d.check,R,2,0));v=A=0}else d.head&&(d.head.extra=null);d.mode=6;case 6:if(1024&d.flags&&(I=d.length,I>l&&(I=l),I&&(d.head&&(P=d.head.extra_len-d.length,d.head.extra||(d.head.extra=Array(d.head.extra_len)),r.arraySet(d.head.extra,f,h,I,P)),512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,d.length-=I),d.length))break a;d.length=0;d.mode=7;case 7:if(2048&d.flags){if(0===l)break a;I=0;do P=f[h+ +I++],d.head&&P&&65536>d.length&&(d.head.name+=String.fromCharCode(P));while(P&&I<l);if(512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,P)break a}else d.head&&(d.head.name=null);d.length=0;d.mode=8;case 8:if(4096&d.flags){if(0===l)break a;I=0;do P=f[h+I++],d.head&&P&&65536>d.length&&(d.head.comment+=String.fromCharCode(P));while(P&&I<l);if(512&d.flags&&(d.check=t(d.check,f,I,h)),l-=I,h+=I,P)break a}else d.head&&(d.head.comment=null);d.mode=9;case 9:if(512&d.flags){for(;16>v;){if(0===l)break a;l--; A+=f[h++]<<v;v+=8}if(A!==(65535&d.check)){b.msg="header crc mismatch";d.mode=30;break}v=A=0}d.head&&(d.head.hcrc=d.flags>>9&1,d.head.done=!0);b.adler=d.check=0;d.mode=12;break;case 10:for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}b.adler=d.check=e(A);v=A=0;d.mode=11;case 11:if(0===d.havedict)return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,2;b.adler=d.check=1;d.mode=12;case 12:if(5===c||6===c)break a;case 13:if(d.last){A>>>=7&v;v-=7&v;d.mode=27;break}for(;3>v;){if(0=== -l)break a;l--;A+=f[h++]<<v;v+=8}switch(d.last=1&A,A>>>=1,--v,3&A){case 0:d.mode=14;break;case 1:G=d;if(E){n=new r.Buf32(512);p=new r.Buf32(32);for(N=0;144>N;)G.lens[N++]=8;for(;256>N;)G.lens[N++]=9;for(;280>N;)G.lens[N++]=7;for(;288>N;)G.lens[N++]=8;w(1,G.lens,0,288,n,0,G.work,{bits:9});for(N=0;32>N;)G.lens[N++]=5;w(2,G.lens,0,32,p,0,G.work,{bits:5});E=!1}G.lencode=n;G.lenbits=9;G.distcode=p;G.distbits=5;if(d.mode=20,6===c){A>>>=2;v-=2;break a}break;case 2:d.mode=17;break;case 3:b.msg="invalid block type", -d.mode=30}A>>>=2;v-=2;break;case 14:A>>>=7&v;for(v-=7&v;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if((65535&A)!==(A>>>16^65535)){b.msg="invalid stored block lengths";d.mode=30;break}if(d.length=65535&A,A=0,v=0,d.mode=15,6===c)break a;case 15:d.mode=16;case 16:if(J=d.length){if(J>l&&(J=l),J>B&&(J=B),0===J)break a;r.arraySet(g,f,h,J,k);l-=J;h+=J;B-=J;k+=J;d.length-=J;break}d.mode=12;break;case 17:for(;14>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.nlen=(31&A)+257,A>>>=5,v-=5,d.ndist=(31&A)+ +l)break a;l--;A+=f[h++]<<v;v+=8}switch(d.last=1&A,A>>>=1,--v,3&A){case 0:d.mode=14;break;case 1:N=d;if(E){n=new r.Buf32(512);p=new r.Buf32(32);for(M=0;144>M;)N.lens[M++]=8;for(;256>M;)N.lens[M++]=9;for(;280>M;)N.lens[M++]=7;for(;288>M;)N.lens[M++]=8;w(1,N.lens,0,288,n,0,N.work,{bits:9});for(M=0;32>M;)N.lens[M++]=5;w(2,N.lens,0,32,p,0,N.work,{bits:5});E=!1}N.lencode=n;N.lenbits=9;N.distcode=p;N.distbits=5;if(d.mode=20,6===c){A>>>=2;v-=2;break a}break;case 2:d.mode=17;break;case 3:b.msg="invalid block type", +d.mode=30}A>>>=2;v-=2;break;case 14:A>>>=7&v;for(v-=7&v;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if((65535&A)!==(A>>>16^65535)){b.msg="invalid stored block lengths";d.mode=30;break}if(d.length=65535&A,A=0,v=0,d.mode=15,6===c)break a;case 15:d.mode=16;case 16:if(I=d.length){if(I>l&&(I=l),I>B&&(I=B),0===I)break a;r.arraySet(g,f,h,I,k);l-=I;h+=I;B-=I;k+=I;d.length-=I;break}d.mode=12;break;case 17:for(;14>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(d.nlen=(31&A)+257,A>>>=5,v-=5,d.ndist=(31&A)+ 1,A>>>=5,v-=5,d.ncode=(15&A)+4,A>>>=4,v-=4,286<d.nlen||30<d.ndist){b.msg="too many length or distance symbols";d.mode=30;break}d.have=0;d.mode=18;case 18:for(;d.have<d.ncode;){for(;3>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.lens[fa[d.have++]]=7&A;A>>>=3;v-=3}for(;19>d.have;)d.lens[fa[d.have++]]=0;if(d.lencode=d.lendyn,d.lenbits=7,W={bits:d.lenbits},V=w(0,d.lens,0,19,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid code lengths set";d.mode=30;break}d.have=0;d.mode=19;case 19:for(;d.have< -d.nlen+d.ndist;){for(;O=d.lencode[A&(1<<d.lenbits)-1],K=O>>>24,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(16>G)A>>>=K,v-=K,d.lens[d.have++]=G;else{if(16===G){for(N=K+2;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A>>>=K,v-=K,0===d.have){b.msg="invalid bit length repeat";d.mode=30;break}P=d.lens[d.have-1];J=3+(3&A);A>>>=2;v-=2}else if(17===G){for(N=K+3;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=K;v-=K;P=0;J=3+(7&A);A>>>=3;v-=3}else{for(N=K+7;v<N;){if(0===l)break a;l--; -A+=f[h++]<<v;v+=8}A>>>=K;v-=K;P=0;J=11+(127&A);A>>>=7;v-=7}if(d.have+J>d.nlen+d.ndist){b.msg="invalid bit length repeat";d.mode=30;break}for(;J--;)d.lens[d.have++]=P}}if(30===d.mode)break;if(0===d.lens[256]){b.msg="invalid code -- missing end-of-block";d.mode=30;break}if(d.lenbits=9,W={bits:d.lenbits},V=w(1,d.lens,0,d.nlen,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid literal/lengths set";d.mode=30;break}if(d.distbits=6,d.distcode=d.distdyn,W={bits:d.distbits},V=w(2,d.lens,d.nlen,d.ndist, -d.distcode,0,d.work,W),d.distbits=W.bits,V){b.msg="invalid distances set";d.mode=30;break}if(d.mode=20,6===c)break a;case 20:d.mode=21;case 21:if(6<=l&&258<=B){b.next_out=k;b.avail_out=B;b.next_in=h;b.avail_in=l;d.hold=A;d.bits=v;z(b,I);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;12===d.mode&&(d.back=-1);break}for(d.back=0;O=d.lencode[A&(1<<d.lenbits)-1],K=O>>>24,N=O>>>16&255,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(N&&0===(240&N)){D= -K;ca=N;for(F=G;O=d.lencode[F+((A&(1<<D+ca)-1)>>D)],K=O>>>24,N=O>>>16&255,G=65535&O,!(D+K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=K,v-=K,d.back+=K,d.length=G,0===N){d.mode=26;break}if(32&N){d.back=-1;d.mode=12;break}if(64&N){b.msg="invalid literal/length code";d.mode=30;break}d.extra=15&N;d.mode=22;case 22:if(d.extra){for(N=d.extra;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.length+=A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}d.was=d.length;d.mode= -23;case 23:for(;O=d.distcode[A&(1<<d.distbits)-1],K=O>>>24,N=O>>>16&255,G=65535&O,!(K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(0===(240&N)){D=K;ca=N;for(F=G;O=d.distcode[F+((A&(1<<D+ca)-1)>>D)],K=O>>>24,N=O>>>16&255,G=65535&O,!(D+K<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=K,v-=K,d.back+=K,64&N){b.msg="invalid distance code";d.mode=30;break}d.offset=G;d.extra=15&N;d.mode=24;case 24:if(d.extra){for(N=d.extra;v<N;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.offset+= -A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}if(d.offset>d.dmax){b.msg="invalid distance too far back";d.mode=30;break}d.mode=25;case 25:if(0===B)break a;if(J=I-B,d.offset>J){if(J=d.offset-J,J>d.whave&&d.sane){b.msg="invalid distance too far back";d.mode=30;break}J>d.wnext?(J-=d.wnext,ba=d.wsize-J):ba=d.wnext-J;J>d.length&&(J=d.length);N=d.window}else N=g,ba=k-d.offset,J=d.length;J>B&&(J=B);B-=J;d.length-=J;do g[k++]=N[ba++];while(--J);0===d.length&&(d.mode=21);break;case 26:if(0===B)break a; -g[k++]=d.length;B--;d.mode=21;break;case 27:if(d.wrap){for(;32>v;){if(0===l)break a;l--;A|=f[h++]<<v;v+=8}if(I-=B,b.total_out+=I,d.total+=I,I&&(b.adler=d.check=d.flags?t(d.check,g,I,k-I):q(d.check,g,I,k-I)),I=B,(d.flags?A:e(A))!==d.check){b.msg="incorrect data check";d.mode=30;break}v=A=0}d.mode=28;case 28:if(d.wrap&&d.flags){for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A!==(4294967295&d.total)){b.msg="incorrect length check";d.mode=30;break}v=A=0}d.mode=29;case 29:V=1;break a;case 30:V= --3;break a;case 31:return-4;default:return y}return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,(d.wsize||I!==b.avail_out&&30>d.mode&&(27>d.mode||4!==c))&&m(b,b.output,b.next_out,I-b.avail_out)?(d.mode=31,-4):(Q-=b.avail_in,I-=b.avail_out,b.total_in+=Q,b.total_out+=I,d.total+=I,d.wrap&&I&&(b.adler=d.check=d.flags?t(d.check,g,I,b.next_out-I):q(d.check,g,I,b.next_out-I)),b.data_type=d.bits+(d.last?64:0)+(12===d.mode?128:0)+(20===d.mode||15===d.mode?256:0),(0===Q&&0===I||4=== +d.nlen+d.ndist;){for(;O=d.lencode[A&(1<<d.lenbits)-1],J=O>>>24,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(16>N)A>>>=J,v-=J,d.lens[d.have++]=N;else{if(16===N){for(M=J+2;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A>>>=J,v-=J,0===d.have){b.msg="invalid bit length repeat";d.mode=30;break}P=d.lens[d.have-1];I=3+(3&A);A>>>=2;v-=2}else if(17===N){for(M=J+3;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=J;v-=J;P=0;I=3+(7&A);A>>>=3;v-=3}else{for(M=J+7;v<M;){if(0===l)break a;l--; +A+=f[h++]<<v;v+=8}A>>>=J;v-=J;P=0;I=11+(127&A);A>>>=7;v-=7}if(d.have+I>d.nlen+d.ndist){b.msg="invalid bit length repeat";d.mode=30;break}for(;I--;)d.lens[d.have++]=P}}if(30===d.mode)break;if(0===d.lens[256]){b.msg="invalid code -- missing end-of-block";d.mode=30;break}if(d.lenbits=9,W={bits:d.lenbits},V=w(1,d.lens,0,d.nlen,d.lencode,0,d.work,W),d.lenbits=W.bits,V){b.msg="invalid literal/lengths set";d.mode=30;break}if(d.distbits=6,d.distcode=d.distdyn,W={bits:d.distbits},V=w(2,d.lens,d.nlen,d.ndist, +d.distcode,0,d.work,W),d.distbits=W.bits,V){b.msg="invalid distances set";d.mode=30;break}if(d.mode=20,6===c)break a;case 20:d.mode=21;case 21:if(6<=l&&258<=B){b.next_out=k;b.avail_out=B;b.next_in=h;b.avail_in=l;d.hold=A;d.bits=v;z(b,H);k=b.next_out;g=b.output;B=b.avail_out;h=b.next_in;f=b.input;l=b.avail_in;A=d.hold;v=d.bits;12===d.mode&&(d.back=-1);break}for(d.back=0;O=d.lencode[A&(1<<d.lenbits)-1],J=O>>>24,M=O>>>16&255,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(M&&0===(240&M)){D= +J;ca=M;for(F=N;O=d.lencode[F+((A&(1<<D+ca)-1)>>D)],J=O>>>24,M=O>>>16&255,N=65535&O,!(D+J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=J,v-=J,d.back+=J,d.length=N,0===M){d.mode=26;break}if(32&M){d.back=-1;d.mode=12;break}if(64&M){b.msg="invalid literal/length code";d.mode=30;break}d.extra=15&M;d.mode=22;case 22:if(d.extra){for(M=d.extra;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.length+=A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}d.was=d.length;d.mode= +23;case 23:for(;O=d.distcode[A&(1<<d.distbits)-1],J=O>>>24,M=O>>>16&255,N=65535&O,!(J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(0===(240&M)){D=J;ca=M;for(F=N;O=d.distcode[F+((A&(1<<D+ca)-1)>>D)],J=O>>>24,M=O>>>16&255,N=65535&O,!(D+J<=v);){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}A>>>=D;v-=D;d.back+=D}if(A>>>=J,v-=J,d.back+=J,64&M){b.msg="invalid distance code";d.mode=30;break}d.offset=N;d.extra=15&M;d.mode=24;case 24:if(d.extra){for(M=d.extra;v<M;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}d.offset+= +A&(1<<d.extra)-1;A>>>=d.extra;v-=d.extra;d.back+=d.extra}if(d.offset>d.dmax){b.msg="invalid distance too far back";d.mode=30;break}d.mode=25;case 25:if(0===B)break a;if(I=H-B,d.offset>I){if(I=d.offset-I,I>d.whave&&d.sane){b.msg="invalid distance too far back";d.mode=30;break}I>d.wnext?(I-=d.wnext,ba=d.wsize-I):ba=d.wnext-I;I>d.length&&(I=d.length);M=d.window}else M=g,ba=k-d.offset,I=d.length;I>B&&(I=B);B-=I;d.length-=I;do g[k++]=M[ba++];while(--I);0===d.length&&(d.mode=21);break;case 26:if(0===B)break a; +g[k++]=d.length;B--;d.mode=21;break;case 27:if(d.wrap){for(;32>v;){if(0===l)break a;l--;A|=f[h++]<<v;v+=8}if(H-=B,b.total_out+=H,d.total+=H,H&&(b.adler=d.check=d.flags?t(d.check,g,H,k-H):q(d.check,g,H,k-H)),H=B,(d.flags?A:e(A))!==d.check){b.msg="incorrect data check";d.mode=30;break}v=A=0}d.mode=28;case 28:if(d.wrap&&d.flags){for(;32>v;){if(0===l)break a;l--;A+=f[h++]<<v;v+=8}if(A!==(4294967295&d.total)){b.msg="incorrect length check";d.mode=30;break}v=A=0}d.mode=29;case 29:V=1;break a;case 30:V= +-3;break a;case 31:return-4;default:return y}return b.next_out=k,b.avail_out=B,b.next_in=h,b.avail_in=l,d.hold=A,d.bits=v,(d.wsize||H!==b.avail_out&&30>d.mode&&(27>d.mode||4!==c))&&m(b,b.output,b.next_out,H-b.avail_out)?(d.mode=31,-4):(Q-=b.avail_in,H-=b.avail_out,b.total_in+=Q,b.total_out+=H,d.total+=H,d.wrap&&H&&(b.adler=d.check=d.flags?t(d.check,g,H,b.next_out-H):q(d.check,g,H,b.next_out-H)),b.data_type=d.bits+(d.last?64:0)+(12===d.mode?128:0)+(20===d.mode||15===d.mode?256:0),(0===Q&&0===H||4=== c)&&V===x&&(V=-5),V)};d.inflateEnd=function(b){if(!b||!b.state)return y;var c=b.state;return c.window&&(c.window=null),b.state=null,x};d.inflateGetHeader=function(b,c){var d;return b&&b.state?(d=b.state,0===(2&d.wrap)?y:(d.head=c,c.done=!1,x)):y};d.inflateSetDictionary=function(b,c){var d,e,f=c.length;return b&&b.state?(d=b.state,0!==d.wrap&&11!==d.mode?y:11===d.mode&&(e=1,e=q(e,c,f,0),e!==d.check)?-3:m(b,c,f,f)?(d.mode=31,-4):(d.havedict=1,x)):y};d.inflateInfo="pako inflate (from Nodeca project)"}, {"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(b,c,d){var e=b("../utils/common"),f=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],g=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],h=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],k=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24, -25,25,26,26,27,27,28,28,29,29,64,64];c.exports=function(b,c,d,p,r,q,t,z){var l,m,n,u,D,F,E,B,G=z.bits,C,M,L,H,U,S,aa=0,A,v=null,Q=0,I=new e.Buf16(16);u=new e.Buf16(16);var J=null,ba=0;for(C=0;15>=C;C++)I[C]=0;for(M=0;M<p;M++)I[c[d+M]]++;H=G;for(L=15;1<=L&&0===I[L];L--);if(H>L&&(H=L),0===L)return r[q++]=20971520,r[q++]=20971520,z.bits=1,0;for(G=1;G<L&&0===I[G];G++);H<G&&(H=G);for(C=l=1;15>=C;C++)if(l<<=1,l-=I[C],0>l)return-1;if(0<l&&(0===b||1!==L))return-1;u[1]=0;for(C=1;15>C;C++)u[C+1]=u[C]+I[C]; -for(M=0;M<p;M++)0!==c[d+M]&&(t[u[c[d+M]]++]=M);if(0===b?(v=J=t,D=19):1===b?(v=f,Q-=257,J=g,ba-=257,D=256):(v=h,J=k,D=-1),A=0,M=0,C=G,u=q,U=H,S=0,n=-1,aa=1<<H,p=aa-1,1===b&&852<aa||2===b&&592<aa)return 1;for(var N=0;;){N++;F=C-S;t[M]<D?(E=0,B=t[M]):t[M]>D?(E=J[ba+t[M]],B=v[Q+t[M]]):(E=96,B=0);l=1<<C-S;G=m=1<<U;do m-=l,r[u+(A>>S)+m]=F<<24|E<<16|B|0;while(0!==m);for(l=1<<C-1;A&l;)l>>=1;if(0!==l?(A&=l-1,A+=l):A=0,M++,0===--I[C]){if(C===L)break;C=c[d+t[M]]}if(C>H&&(A&p)!==n){0===S&&(S=H);u+=G;U=C-S;for(l= -1<<U;U+S<L&&(l-=I[U+S],!(0>=l));)U++,l<<=1;if(aa+=1<<U,1===b&&852<aa||2===b&&592<aa)return 1;n=A&p;r[n]=H<<24|U<<16|u-q|0}}return 0!==A&&(r[u+A]=C-S<<24|4194304),z.bits=H,0}},{"../utils/common":3}],13:[function(b,c,d){c.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(b,c,d){function e(b){for(var c=b.length;0<=--c;)b[c]=0}function f(b,c,d,e,f){this.static_tree= +25,25,26,26,27,27,28,28,29,29,64,64];c.exports=function(b,c,d,p,r,q,t,z){var l,m,n,u,D,F,E,B,A=z.bits,C,L,K,G,U,S,aa=0,X,v=null,Q=0,H=new e.Buf16(16);u=new e.Buf16(16);var I=null,ba=0;for(C=0;15>=C;C++)H[C]=0;for(L=0;L<p;L++)H[c[d+L]]++;G=A;for(K=15;1<=K&&0===H[K];K--);if(G>K&&(G=K),0===K)return r[q++]=20971520,r[q++]=20971520,z.bits=1,0;for(A=1;A<K&&0===H[A];A++);G<A&&(G=A);for(C=l=1;15>=C;C++)if(l<<=1,l-=H[C],0>l)return-1;if(0<l&&(0===b||1!==K))return-1;u[1]=0;for(C=1;15>C;C++)u[C+1]=u[C]+H[C]; +for(L=0;L<p;L++)0!==c[d+L]&&(t[u[c[d+L]]++]=L);if(0===b?(v=I=t,D=19):1===b?(v=f,Q-=257,I=g,ba-=257,D=256):(v=h,I=k,D=-1),X=0,L=0,C=A,u=q,U=G,S=0,n=-1,aa=1<<G,p=aa-1,1===b&&852<aa||2===b&&592<aa)return 1;for(var M=0;;){M++;F=C-S;t[L]<D?(E=0,B=t[L]):t[L]>D?(E=I[ba+t[L]],B=v[Q+t[L]]):(E=96,B=0);l=1<<C-S;A=m=1<<U;do m-=l,r[u+(X>>S)+m]=F<<24|E<<16|B|0;while(0!==m);for(l=1<<C-1;X&l;)l>>=1;if(0!==l?(X&=l-1,X+=l):X=0,L++,0===--H[C]){if(C===K)break;C=c[d+t[L]]}if(C>G&&(X&p)!==n){0===S&&(S=G);u+=A;U=C-S;for(l= +1<<U;U+S<K&&(l-=H[U+S],!(0>=l));)U++,l<<=1;if(aa+=1<<U,1===b&&852<aa||2===b&&592<aa)return 1;n=X&p;r[n]=G<<24|U<<16|u-q|0}}return 0!==X&&(r[u+X]=C-S<<24|4194304),z.bits=G,0}},{"../utils/common":3}],13:[function(b,c,d){c.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(b,c,d){function e(b){for(var c=b.length;0<=--c;)b[c]=0}function f(b,c,d,e,f){this.static_tree= b;this.extra_bits=c;this.extra_base=d;this.elems=e;this.max_length=f;this.has_stree=b&&b.length}function g(b,c){this.dyn_tree=b;this.max_code=0;this.stat_desc=c}function h(b,c){b.pending_buf[b.pending++]=255&c;b.pending_buf[b.pending++]=c>>>8&255}function k(b,c,d){b.bi_valid>aa-d?(b.bi_buf|=c<<b.bi_valid&65535,h(b,b.bi_buf),b.bi_buf=c>>aa-b.bi_valid,b.bi_valid+=d-aa):(b.bi_buf|=c<<b.bi_valid&65535,b.bi_valid+=d)}function l(b,c,d){k(b,d[2*c],d[2*c+1])}function m(b,c){var d=0;do d|=1&b,b>>>=1,d<<=1; -while(0<--c);return d>>>1}function n(b,c,d){var e,f=Array(S+1),g=0;for(e=1;e<=S;e++)f[e]=g=g+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function p(b){var c;for(c=0;c<M;c++)b.dyn_ltree[2*c]=0;for(c=0;c<L;c++)b.dyn_dtree[2*c]=0;for(c=0;c<H;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*A]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?h(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,c,d,e){var f=2*c,g=2*d; -return b[f]<b[g]||b[f]===b[g]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function z(b,c,d){var e,f,g,h,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?l(b,f,c):(g=ea[f],l(b,g+C+1,c),h=J[g],0!==h&&(f-=P[g],k(b,f,h)),e--,g=256>e?ca[e]:ca[256+(e>>>7)],l(b,g,d),h=ba[g],0!==h&& -(e-=V[g],k(b,e,h)));while(m<b.last_lit)}l(b,A,c)}function w(b,c){var d,e,f,g=c.dyn_tree;e=c.stat_desc.static_tree;var h=c.stat_desc.has_stree,k=c.stat_desc.elems,l=-1;b.heap_len=0;b.heap_max=U;for(d=0;d<k;d++)0!==g[2*d]?(b.heap[++b.heap_len]=l=d,b.depth[d]=0):g[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>l?++l:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,h&&(b.static_len-=e[2*f+1]);c.max_code=l;for(d=b.heap_len>>1;1<=d;d--)t(b,g,d);f=k;do d=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),e=b.heap[1], -b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,g[2*f]=g[2*d]+g[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,g[2*d+1]=g[2*e+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,v,h=c.dyn_tree,k=c.max_code,p=c.stat_desc.static_tree,q=c.stat_desc.has_stree,r=c.stat_desc.extra_bits,I=c.stat_desc.extra_base,Q=c.stat_desc.max_length,u=0;for(e=0;e<=S;e++)b.bl_count[e]=0;h[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<U;d++)f=b.heap[d],e=h[2*h[2*f+1]+1]+ -1,e>Q&&(e=Q,u++),h[2*f+1]=e,f>k||(b.bl_count[e]++,m=0,f>=I&&(m=r[f-I]),v=h[2*f],b.opt_len+=v*(e+m),q&&(b.static_len+=v*(p[2*f+1]+m)));if(0!==u){do{for(e=Q-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[Q]--;u-=2}while(0<u);for(e=Q;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>k||(h[2*m+1]!==e&&(b.opt_len+=(e-h[2*m+1])*h[2*m],h[2*m+1]=e),f--)}n(g,l,b.bl_count)}function x(b,c,d){var e,f,g=-1,h=c[1],k=0,l=7,m=4;0===h&&(l=138,m=3);c[2*(d+1)+1]=65535;for(e=0;e<=d;e++)f=h, -h=c[2*(e+1)+1],++k<l&&f===h||(k<m?b.bl_tree[2*f]+=k:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*v]++):10>=k?b.bl_tree[2*Q]++:b.bl_tree[2*I]++,k=0,g=f,0===h?(l=138,m=3):f===h?(l=6,m=3):(l=7,m=4))}function y(b,c,d){var e,f,g=-1,h=c[1],m=0,n=7,p=4;0===h&&(n=138,p=3);for(e=0;e<=d;e++)if(f=h,h=c[2*(e+1)+1],!(++m<n&&f===h)){if(m<p){do l(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(l(b,f,b.bl_tree),m--),l(b,v,b.bl_tree),k(b,m-3,2)):10>=m?(l(b,Q,b.bl_tree),k(b,m-3,3)):(l(b,I,b.bl_tree),k(b,m-11,7));m= -0;g=f;0===h?(n=138,p=3):f===h?(n=6,p=3):(n=7,p=4)}}function u(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return E;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return B;for(c=32;c<C;c++)if(0!==b.dyn_ltree[2*c])return B;return E}function D(b,c,d,e){k(b,(G<<1)+(e?1:0),3);r(b);h(b,d);h(b,~d);F.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var F=b("../utils/common"),E=0,B=1,G=0,C=256,M=C+1+29,L=30,H=19,U=2*M+1,S=15,aa=16,A=256,v=16,Q=17, -I=18,J=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ba=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],K=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=Array(2*(M+2));e(X);var T=Array(2*L);e(T);var ca=Array(512);e(ca);var ea=Array(256);e(ea);var P=Array(29);e(P);var V=Array(L);e(V);var W,O,R,fa=!1;d._tr_init=function(b){if(!fa){var c,d,e,h=Array(S+1);for(e=d=0;28>e;e++)for(P[e]=d,c=0;c<1<<J[e];c++)ea[d++]=e;ea[d-1]= -e;for(e=d=0;16>e;e++)for(V[e]=d,c=0;c<1<<ba[e];c++)ca[d++]=e;for(d>>=7;e<L;e++)for(V[e]=d<<7,c=0;c<1<<ba[e]-7;c++)ca[256+d++]=e;for(c=0;c<=S;c++)h[c]=0;for(c=0;143>=c;)X[2*c+1]=8,c++,h[8]++;for(;255>=c;)X[2*c+1]=9,c++,h[9]++;for(;279>=c;)X[2*c+1]=7,c++,h[7]++;for(;287>=c;)X[2*c+1]=8,c++,h[8]++;n(X,M+1,h);for(c=0;c<L;c++)T[2*c+1]=5,T[2*c]=m(c,5);W=new f(X,J,C+1,M,S);O=new f(T,ba,0,L,S);R=new f([],N,0,H,7);fa=!0}b.l_desc=new g(b.dyn_ltree,W);b.d_desc=new g(b.dyn_dtree,O);b.bl_desc=new g(b.bl_tree,R); -b.bi_buf=0;b.bi_valid=0;p(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,c,d,e){var f,g,h=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=u(b));w(b,b.l_desc);w(b,b.d_desc);x(b,b.dyn_ltree,b.l_desc.max_code);x(b,b.dyn_dtree,b.d_desc.max_code);w(b,b.bl_desc);for(h=H-1;3<=h&&0===b.bl_tree[2*K[h]+1];h--);h=(b.opt_len+=3*(h+1)+14,h);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=d+5;if(d+4<=f&&-1!==c)D(b,c,d,e);else if(4===b.strategy||g===f)k(b,2+(e?1:0),3),z(b,X,T);else{k(b, -4+(e?1:0),3);c=b.l_desc.max_code+1;d=b.d_desc.max_code+1;h+=1;k(b,c-257,5);k(b,d-1,5);k(b,h-4,4);for(f=0;f<h;f++)k(b,b.bl_tree[2*K[f]+1],3);y(b,b.dyn_ltree,c-1);y(b,b.dyn_dtree,d-1);z(b,b.dyn_ltree,b.dyn_dtree)}p(b);e&&r(b)};d._tr_tally=function(b,c,d){return b.pending_buf[b.d_buf+2*b.last_lit]=c>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&c,b.pending_buf[b.l_buf+b.last_lit]=255&d,b.last_lit++,0===c?b.dyn_ltree[2*d]++:(b.matches++,c--,b.dyn_ltree[2*(ea[d]+C+1)]++,b.dyn_dtree[2*(256>c?ca[c]: -ca[256+(c>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){k(b,2,3);l(b,A,X);16===b.bi_valid?(h(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(b,c,d){c.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(b, +while(0<--c);return d>>>1}function n(b,c,d){var e,f=Array(S+1),g=0;for(e=1;e<=S;e++)f[e]=g=g+d[e-1]<<1;for(d=0;d<=c;d++)e=b[2*d+1],0!==e&&(b[2*d]=m(f[e]++,e))}function p(b){var c;for(c=0;c<L;c++)b.dyn_ltree[2*c]=0;for(c=0;c<K;c++)b.dyn_dtree[2*c]=0;for(c=0;c<G;c++)b.bl_tree[2*c]=0;b.dyn_ltree[2*X]=1;b.opt_len=b.static_len=0;b.last_lit=b.matches=0}function r(b){8<b.bi_valid?h(b,b.bi_buf):0<b.bi_valid&&(b.pending_buf[b.pending++]=b.bi_buf);b.bi_buf=0;b.bi_valid=0}function q(b,c,d,e){var f=2*c,g=2*d; +return b[f]<b[g]||b[f]===b[g]&&e[c]<=e[d]}function t(b,c,d){for(var e=b.heap[d],f=d<<1;f<=b.heap_len&&(f<b.heap_len&&q(c,b.heap[f+1],b.heap[f],b.depth)&&f++,!q(c,e,b.heap[f],b.depth));)b.heap[d]=b.heap[f],d=f,f<<=1;b.heap[d]=e}function z(b,c,d){var e,f,g,h,m=0;if(0!==b.last_lit){do e=b.pending_buf[b.d_buf+2*m]<<8|b.pending_buf[b.d_buf+2*m+1],f=b.pending_buf[b.l_buf+m],m++,0===e?l(b,f,c):(g=ea[f],l(b,g+C+1,c),h=I[g],0!==h&&(f-=P[g],k(b,f,h)),e--,g=256>e?ca[e]:ca[256+(e>>>7)],l(b,g,d),h=ba[g],0!==h&& +(e-=V[g],k(b,e,h)));while(m<b.last_lit)}l(b,X,c)}function w(b,c){var d,e,f,g=c.dyn_tree;e=c.stat_desc.static_tree;var h=c.stat_desc.has_stree,k=c.stat_desc.elems,l=-1;b.heap_len=0;b.heap_max=U;for(d=0;d<k;d++)0!==g[2*d]?(b.heap[++b.heap_len]=l=d,b.depth[d]=0):g[2*d+1]=0;for(;2>b.heap_len;)f=b.heap[++b.heap_len]=2>l?++l:0,g[2*f]=1,b.depth[f]=0,b.opt_len--,h&&(b.static_len-=e[2*f+1]);c.max_code=l;for(d=b.heap_len>>1;1<=d;d--)t(b,g,d);f=k;do d=b.heap[1],b.heap[1]=b.heap[b.heap_len--],t(b,g,1),e=b.heap[1], +b.heap[--b.heap_max]=d,b.heap[--b.heap_max]=e,g[2*f]=g[2*d]+g[2*e],b.depth[f]=(b.depth[d]>=b.depth[e]?b.depth[d]:b.depth[e])+1,g[2*d+1]=g[2*e+1]=f,b.heap[1]=f++,t(b,g,1);while(2<=b.heap_len);b.heap[--b.heap_max]=b.heap[1];var m,v,h=c.dyn_tree,k=c.max_code,p=c.stat_desc.static_tree,q=c.stat_desc.has_stree,r=c.stat_desc.extra_bits,H=c.stat_desc.extra_base,Q=c.stat_desc.max_length,u=0;for(e=0;e<=S;e++)b.bl_count[e]=0;h[2*b.heap[b.heap_max]+1]=0;for(d=b.heap_max+1;d<U;d++)f=b.heap[d],e=h[2*h[2*f+1]+1]+ +1,e>Q&&(e=Q,u++),h[2*f+1]=e,f>k||(b.bl_count[e]++,m=0,f>=H&&(m=r[f-H]),v=h[2*f],b.opt_len+=v*(e+m),q&&(b.static_len+=v*(p[2*f+1]+m)));if(0!==u){do{for(e=Q-1;0===b.bl_count[e];)e--;b.bl_count[e]--;b.bl_count[e+1]+=2;b.bl_count[Q]--;u-=2}while(0<u);for(e=Q;0!==e;e--)for(f=b.bl_count[e];0!==f;)m=b.heap[--d],m>k||(h[2*m+1]!==e&&(b.opt_len+=(e-h[2*m+1])*h[2*m],h[2*m+1]=e),f--)}n(g,l,b.bl_count)}function x(b,c,d){var e,f,g=-1,h=c[1],k=0,l=7,m=4;0===h&&(l=138,m=3);c[2*(d+1)+1]=65535;for(e=0;e<=d;e++)f=h, +h=c[2*(e+1)+1],++k<l&&f===h||(k<m?b.bl_tree[2*f]+=k:0!==f?(f!==g&&b.bl_tree[2*f]++,b.bl_tree[2*v]++):10>=k?b.bl_tree[2*Q]++:b.bl_tree[2*H]++,k=0,g=f,0===h?(l=138,m=3):f===h?(l=6,m=3):(l=7,m=4))}function y(b,c,d){var e,f,g=-1,h=c[1],m=0,n=7,p=4;0===h&&(n=138,p=3);for(e=0;e<=d;e++)if(f=h,h=c[2*(e+1)+1],!(++m<n&&f===h)){if(m<p){do l(b,f,b.bl_tree);while(0!==--m)}else 0!==f?(f!==g&&(l(b,f,b.bl_tree),m--),l(b,v,b.bl_tree),k(b,m-3,2)):10>=m?(l(b,Q,b.bl_tree),k(b,m-3,3)):(l(b,H,b.bl_tree),k(b,m-11,7));m= +0;g=f;0===h?(n=138,p=3):f===h?(n=6,p=3):(n=7,p=4)}}function u(b){var c,d=4093624447;for(c=0;31>=c;c++,d>>>=1)if(1&d&&0!==b.dyn_ltree[2*c])return E;if(0!==b.dyn_ltree[18]||0!==b.dyn_ltree[20]||0!==b.dyn_ltree[26])return B;for(c=32;c<C;c++)if(0!==b.dyn_ltree[2*c])return B;return E}function D(b,c,d,e){k(b,(A<<1)+(e?1:0),3);r(b);h(b,d);h(b,~d);F.arraySet(b.pending_buf,b.window,c,d,b.pending);b.pending+=d}var F=b("../utils/common"),E=0,B=1,A=0,C=256,L=C+1+29,K=30,G=19,U=2*L+1,S=15,aa=16,X=256,v=16,Q=17, +H=18,I=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],ba=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],M=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],J=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],N=Array(2*(L+2));e(N);var T=Array(2*K);e(T);var ca=Array(512);e(ca);var ea=Array(256);e(ea);var P=Array(29);e(P);var V=Array(K);e(V);var W,O,R,fa=!1;d._tr_init=function(b){if(!fa){var c,d,e,h=Array(S+1);for(e=d=0;28>e;e++)for(P[e]=d,c=0;c<1<<I[e];c++)ea[d++]=e;ea[d-1]= +e;for(e=d=0;16>e;e++)for(V[e]=d,c=0;c<1<<ba[e];c++)ca[d++]=e;for(d>>=7;e<K;e++)for(V[e]=d<<7,c=0;c<1<<ba[e]-7;c++)ca[256+d++]=e;for(c=0;c<=S;c++)h[c]=0;for(c=0;143>=c;)N[2*c+1]=8,c++,h[8]++;for(;255>=c;)N[2*c+1]=9,c++,h[9]++;for(;279>=c;)N[2*c+1]=7,c++,h[7]++;for(;287>=c;)N[2*c+1]=8,c++,h[8]++;n(N,L+1,h);for(c=0;c<K;c++)T[2*c+1]=5,T[2*c]=m(c,5);W=new f(N,I,C+1,L,S);O=new f(T,ba,0,K,S);R=new f([],M,0,G,7);fa=!0}b.l_desc=new g(b.dyn_ltree,W);b.d_desc=new g(b.dyn_dtree,O);b.bl_desc=new g(b.bl_tree,R); +b.bi_buf=0;b.bi_valid=0;p(b)};d._tr_stored_block=D;d._tr_flush_block=function(b,c,d,e){var f,g,h=0;if(0<b.level){2===b.strm.data_type&&(b.strm.data_type=u(b));w(b,b.l_desc);w(b,b.d_desc);x(b,b.dyn_ltree,b.l_desc.max_code);x(b,b.dyn_dtree,b.d_desc.max_code);w(b,b.bl_desc);for(h=G-1;3<=h&&0===b.bl_tree[2*J[h]+1];h--);h=(b.opt_len+=3*(h+1)+14,h);f=b.opt_len+3+7>>>3;g=b.static_len+3+7>>>3;g<=f&&(f=g)}else f=g=d+5;if(d+4<=f&&-1!==c)D(b,c,d,e);else if(4===b.strategy||g===f)k(b,2+(e?1:0),3),z(b,N,T);else{k(b, +4+(e?1:0),3);c=b.l_desc.max_code+1;d=b.d_desc.max_code+1;h+=1;k(b,c-257,5);k(b,d-1,5);k(b,h-4,4);for(f=0;f<h;f++)k(b,b.bl_tree[2*J[f]+1],3);y(b,b.dyn_ltree,c-1);y(b,b.dyn_dtree,d-1);z(b,b.dyn_ltree,b.dyn_dtree)}p(b);e&&r(b)};d._tr_tally=function(b,c,d){return b.pending_buf[b.d_buf+2*b.last_lit]=c>>>8&255,b.pending_buf[b.d_buf+2*b.last_lit+1]=255&c,b.pending_buf[b.l_buf+b.last_lit]=255&d,b.last_lit++,0===c?b.dyn_ltree[2*d]++:(b.matches++,c--,b.dyn_ltree[2*(ea[d]+C+1)]++,b.dyn_dtree[2*(256>c?ca[c]: +ca[256+(c>>>7)])]++),b.last_lit===b.lit_bufsize-1};d._tr_align=function(b){k(b,2,3);l(b,X,N);16===b.bi_valid?(h(b,b.bi_buf),b.bi_buf=0,b.bi_valid=0):8<=b.bi_valid&&(b.pending_buf[b.pending++]=255&b.bi_buf,b.bi_buf>>=8,b.bi_valid-=8)}},{"../utils/common":3}],15:[function(b,c,d){c.exports=function(){this.input=null;this.total_in=this.avail_in=this.next_in=0;this.output=null;this.total_out=this.avail_out=this.next_out=0;this.msg="";this.state=null;this.data_type=2;this.adler=0}},{}],"/":[function(b, c,d){d=b("./lib/utils/common").assign;var e=b("./lib/deflate"),f=b("./lib/inflate");b=b("./lib/zlib/constants");var g={};d(g,e,f,b);c.exports=g},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")});var JSON;JSON||(JSON={}); (function(){function a(a){return 10>a?"0"+a:a}function b(a){e.lastIndex=0;return e.test(a)?'"'+a.replace(e,function(a){var b=h[a];return"string"===typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function c(a,d){var e,h,l,m,t=f,z,w=d[a];w&&"object"===typeof w&&"function"===typeof w.toJSON&&(w=w.toJSON(a));"function"===typeof k&&(w=k.call(d,a,w));switch(typeof w){case "string":return b(w);case "number":return isFinite(w)?""+w:"null";case "boolean":case "null":return""+w; case "object":if(!w)return"null";f+=g;z=[];if("[object Array]"===Object.prototype.toString.apply(w)){m=w.length;for(e=0;e<m;e+=1)z[e]=c(e,w)||"null";l=0===z.length?"[]":f?"[\n"+f+z.join(",\n"+f)+"\n"+t+"]":"["+z.join(",")+"]";f=t;return l}if(k&&"object"===typeof k)for(m=k.length,e=0;e<m;e+=1)"string"===typeof k[e]&&(h=k[e],(l=c(h,w))&&z.push(b(h)+(f?": ":":")+l));else for(h in w)Object.prototype.hasOwnProperty.call(w,h)&&(l=c(h,w))&&z.push(b(h)+(f?": ":":")+l);l=0===z.length?"{}":f?"{\n"+f+z.join(",\n"+ @@ -184,7 +184,7 @@ f)+"\n"+t+"}":"{"+z.join(",")+"}";f=t;return l}}"function"!==typeof Date.prototy e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,g,h={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},k;"function"!==typeof JSON.stringify&&(JSON.stringify=function(a,b,d){var e;g=f="";if("number"===typeof d)for(e=0;e<d;e+=1)g+=" ";else"string"===typeof d&&(g=d);if((k=b)&&"function"!==typeof b&&("object"!==typeof b||"number"!==typeof b.length))throw Error("JSON.stringify");return c("",{"":a})}); "function"!==typeof JSON.parse&&(JSON.parse=function(a,b){function c(a,d){var e,f,g=a[d];if(g&&"object"===typeof g)for(e in g)Object.prototype.hasOwnProperty.call(g,e)&&(f=c(g,e),void 0!==f?g[e]=f:delete g[e]);return b.call(a,d,g)}var e;a=""+a;d.lastIndex=0;d.test(a)&&(a=a.replace(d,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return e=eval("("+a+")"),"function"===typeof b?c({"":e},""):e;throw new SyntaxError("JSON.parse");})})();"undefined"===typeof window.mxBasePath&&(window.mxBasePath="https://www.draw.io/mxgraph/");window.mxLoadStylesheets=window.mxLoadStylesheets||!1;window.mxLoadResources=window.mxLoadResources||!1;window.mxLanguage=window.mxLanguage||"en";window.urlParams=window.urlParams||{};window.MAX_REQUEST_SIZE=window.MAX_REQUEST_SIZE||10485760;window.MAX_AREA=window.MAX_AREA||225E6;window.EXPORT_URL=window.EXPORT_URL||"/export";window.SAVE_URL=window.SAVE_URL||"/save";window.OPEN_URL=window.OPEN_URL||"/open";window.RESOURCES_PATH=window.RESOURCES_PATH||"resources";window.RESOURCE_BASE=window.RESOURCE_BASE||window.RESOURCES_PATH+"/grapheditor";window.STENCIL_PATH=window.STENCIL_PATH||"stencils";window.IMAGE_PATH=window.IMAGE_PATH||"images"; -window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.8.1",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& +window.STYLE_PATH=window.STYLE_PATH||"styles";window.CSS_PATH=window.CSS_PATH||"styles";window.OPEN_FORM=window.OPEN_FORM||"open.html";window.mxBasePath=window.mxBasePath||"../../../src";window.mxLanguage=window.mxLanguage||urlParams.lang;window.mxLanguages=window.mxLanguages||["de"];var mxClient={VERSION:"8.8.2",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&& 0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&& 0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&& 0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_SVG:0<=navigator.userAgent.indexOf("Firefox/")||0<=navigator.userAgent.indexOf("Iceweasel/")||0<=navigator.userAgent.indexOf("Seamonkey/")||0<=navigator.userAgent.indexOf("Iceape/")||0<=navigator.userAgent.indexOf("Galeon/")|| @@ -529,9 +529,9 @@ function mxArrowConnector(a,b,c,d,e,f,g){mxShape.call(this);this.points=a;this.f mxArrowConnector.prototype.resetStyles=function(){mxShape.prototype.resetStyles.apply(this,arguments);this.arrowSpacing=mxConstants.ARROW_SPACING};mxArrowConnector.prototype.apply=function(a){mxShape.prototype.apply.apply(this,arguments);null!=this.style&&(this.startSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5),this.endSize=3*mxUtils.getNumber(this.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5))}; mxArrowConnector.prototype.augmentBoundingBox=function(a){mxShape.prototype.augmentBoundingBox.apply(this,arguments);var b=this.getEdgeWidth();this.isMarkerStart()&&(b=Math.max(b,this.getStartArrowWidth()));this.isMarkerEnd()&&(b=Math.max(b,this.getEndArrowWidth()));a.grow((b/2+this.strokewidth)*this.scale)}; mxArrowConnector.prototype.paintEdgeShape=function(a,b){var c=this.strokewidth;this.outline&&(c=Math.max(1,mxUtils.getNumber(this.style,mxConstants.STYLE_STROKEWIDTH,this.strokewidth)));for(var d=this.getStartArrowWidth()+c,e=this.getEndArrowWidth()+c,f=this.outline?this.getEdgeWidth()+c:this.getEdgeWidth(),g=this.isOpenEnded(),h=this.isMarkerStart(),k=this.isMarkerEnd(),l=g?0:this.arrowSpacing+c/2,m=this.startSize+c,c=this.endSize+c,n=this.isArrowRounded(),p=b[b.length-1],r=1;r<b.length-1&&b[r].x== -b[0].x&&b[r].y==b[0].y;)r++;var q=b[r].x-b[0].x,r=b[r].y-b[0].y,t=Math.sqrt(q*q+r*r);if(0!=t){var z=q/t,w,x=z,y=r/t,u,D=y,t=f*y,F=-f*z,E=[];n?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();q=z;r=y;if(h&&!g)this.paintMarker(a,b[0].x,b[0].y,z,y,m,d,f,l,!0);else{w=b[0].x+t/2+l*z;u=b[0].y+F/2+l*y;var B=b[0].x-t/2+l*z,G=b[0].y-F/2+l*y;g?(a.moveTo(w,u),E.push(function(){a.lineTo(B,G)})):(a.moveTo(B,G),a.lineTo(w,u))}for(var C=u=w=0,t=0;t<b.length-2;t++)if(F=mxUtils.relativeCcw(b[t].x, -b[t].y,b[t+1].x,b[t+1].y,b[t+2].x,b[t+2].y),w=b[t+2].x-b[t+1].x,u=b[t+2].y-b[t+1].y,C=Math.sqrt(w*w+u*u),0!=C&&(x=w/C,D=u/C,tmp=Math.max(Math.sqrt((z*x+y*D+1)/2),.04),w=z+x,u=y+D,C=Math.sqrt(w*w+u*u),0!=C)){w/=C;u/=C;var C=Math.max(tmp,Math.min(this.strokewidth/200+.04,.35)),C=0!=F&&n?Math.max(.1,C):Math.max(tmp,.06),M=b[t+1].x+u*f/2/C,L=b[t+1].y-w*f/2/C;u=b[t+1].x-u*f/2/C;w=b[t+1].y+w*f/2/C;0!=F&&n?-1==F?(F=u+D*f,C=w-x*f,a.lineTo(u+y*f,w-z*f),a.quadTo(M,L,F,C),function(b,c){E.push(function(){a.lineTo(b, -c)})}(u,w)):(a.lineTo(M,L),function(b,c){var d=M-y*f,e=L+z*f,g=M-D*f,h=L+x*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,h)})}(u,w)):(a.lineTo(M,L),function(b,c){E.push(function(){a.lineTo(b,c)})}(u,w));z=x;y=D}t=f*D;F=-f*x;if(k&&!g)this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!1);else{a.lineTo(p.x-l*x+t/2,p.y-l*D+F/2);var H=p.x-l*x-t/2,U=p.y-l*D-F/2;g?(a.moveTo(H,U),E.splice(0,0,function(){a.moveTo(H,U)})):a.lineTo(H,U)}for(t=E.length-1;0<=t;t--)E[t]();g?(a.end(),a.stroke()):(a.close(), +b[0].x&&b[r].y==b[0].y;)r++;var q=b[r].x-b[0].x,r=b[r].y-b[0].y,t=Math.sqrt(q*q+r*r);if(0!=t){var z=q/t,w,x=z,y=r/t,u,D=y,t=f*y,F=-f*z,E=[];n?a.setLineJoin("round"):2<b.length&&a.setMiterLimit(1.42);a.begin();q=z;r=y;if(h&&!g)this.paintMarker(a,b[0].x,b[0].y,z,y,m,d,f,l,!0);else{w=b[0].x+t/2+l*z;u=b[0].y+F/2+l*y;var B=b[0].x-t/2+l*z,A=b[0].y-F/2+l*y;g?(a.moveTo(w,u),E.push(function(){a.lineTo(B,A)})):(a.moveTo(B,A),a.lineTo(w,u))}for(var C=u=w=0,t=0;t<b.length-2;t++)if(F=mxUtils.relativeCcw(b[t].x, +b[t].y,b[t+1].x,b[t+1].y,b[t+2].x,b[t+2].y),w=b[t+2].x-b[t+1].x,u=b[t+2].y-b[t+1].y,C=Math.sqrt(w*w+u*u),0!=C&&(x=w/C,D=u/C,tmp=Math.max(Math.sqrt((z*x+y*D+1)/2),.04),w=z+x,u=y+D,C=Math.sqrt(w*w+u*u),0!=C)){w/=C;u/=C;var C=Math.max(tmp,Math.min(this.strokewidth/200+.04,.35)),C=0!=F&&n?Math.max(.1,C):Math.max(tmp,.06),L=b[t+1].x+u*f/2/C,K=b[t+1].y-w*f/2/C;u=b[t+1].x-u*f/2/C;w=b[t+1].y+w*f/2/C;0!=F&&n?-1==F?(F=u+D*f,C=w-x*f,a.lineTo(u+y*f,w-z*f),a.quadTo(L,K,F,C),function(b,c){E.push(function(){a.lineTo(b, +c)})}(u,w)):(a.lineTo(L,K),function(b,c){var d=L-y*f,e=K+z*f,g=L-D*f,h=K+x*f;E.push(function(){a.quadTo(b,c,d,e)});E.push(function(){a.lineTo(g,h)})}(u,w)):(a.lineTo(L,K),function(b,c){E.push(function(){a.lineTo(b,c)})}(u,w));z=x;y=D}t=f*D;F=-f*x;if(k&&!g)this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!1);else{a.lineTo(p.x-l*x+t/2,p.y-l*D+F/2);var G=p.x-l*x-t/2,U=p.y-l*D-F/2;g?(a.moveTo(G,U),E.splice(0,0,function(){a.moveTo(G,U)})):a.lineTo(G,U)}for(t=E.length-1;0<=t;t--)E[t]();g?(a.end(),a.stroke()):(a.close(), a.fillAndStroke());a.setShadow(!1);a.setMiterLimit(4);n&&a.setLineJoin("flat");2<b.length&&(a.setMiterLimit(4),h&&!g&&(a.begin(),this.paintMarker(a,b[0].x,b[0].y,q,r,m,d,f,l,!0),a.stroke(),a.end()),k&&!g&&(a.begin(),this.paintMarker(a,p.x,p.y,-z,-y,c,e,f,l,!0),a.stroke(),a.end()))}}; mxArrowConnector.prototype.paintMarker=function(a,b,c,d,e,f,g,h,k,l){g=h/g;var m=h*e/2;h=-h*d/2;var n=(k+f)*d;f=(k+f)*e;l?a.moveTo(b-m+n,c-h+f):a.lineTo(b-m+n,c-h+f);a.lineTo(b-m/g+n,c-h/g+f);a.lineTo(b+k*d,c+k*e);a.lineTo(b+m/g+n,c+h/g+f);a.lineTo(b+m+n,c+h+f)};mxArrowConnector.prototype.isArrowRounded=function(){return this.isRounded};mxArrowConnector.prototype.getStartArrowWidth=function(){return mxConstants.ARROW_WIDTH};mxArrowConnector.prototype.getEndArrowWidth=function(){return mxConstants.ARROW_WIDTH}; mxArrowConnector.prototype.getEdgeWidth=function(){return mxConstants.ARROW_WIDTH/3};mxArrowConnector.prototype.isOpenEnded=function(){return!1};mxArrowConnector.prototype.isMarkerStart=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE};mxArrowConnector.prototype.isMarkerEnd=function(){return mxUtils.getValue(this.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE}; @@ -1541,13 +1541,13 @@ function(a,b){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphH this.getRubberband=function(){return n};var p=(new Date).getTime(),r=0,q=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;q.apply(this,arguments);a!=this.currentState?(p=(new Date).getTime(),r=0):r=(new Date).getTime()-p};var t=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<r||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, "outlineConnect","1"))&&t.apply(this,arguments)};var z=this.isToggleEvent;this.isToggleEvent=function(a){return z.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=n.isForceRubberbandEvent;n.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var x=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& (x=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=x)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!b||a.isConsumed())return y.apply(this, -arguments);b=b?a.sourceState.cell:a.getCell();if(null!=b){var c=this.getLinkForCell(b);null!=c&&(this.isCustomLink(c)?this.customLinkClicked(b,c):this.openLink(c))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var u=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return u.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m), -p=this.view.getState(n);if(null!=p&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(p.style,"locked","0")){var q=mxUtils.getValue(p.style,mxConstants.STYLE_ROTATION)||0;0!=q&&(p=mxUtils.getBoundingBox(p,q));(g.isEdge(n)||g.isVertex(n))&&p.x>=a&&p.y+p.height<=k&&p.y>=b&&p.x+p.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var F=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();F=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c=b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=F?this.addSelectionCells(F):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);F=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +arguments);b=b?a.sourceState.cell:a.getCell();null!=b&&(b=this.getLinkForCell(b),null!=b&&(this.isCustomLink(b)?this.customLinkClicked(b):this.openLink(b)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var b=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(b?a.sourceState.cell:a.getCell())};var u=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return u.apply(this,arguments)};this.selectRegion=function(a,b){var c=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(c,b);return c};this.getAllCells=function(a,b,c,d,e,f){f=null!=f?f:[];if(0<c||0<d){var g=this.getModel(),h=a+c,k=b+d;null==e&&(e=this.getCurrentRoot(),null==e&&(e=g.getRoot()));if(null!=e)for(var l=g.getChildCount(e),m=0;m<l;m++){var n=g.getChildAt(e,m),p=this.view.getState(n);if(null!= +p&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(p.style,"locked","0")){var q=mxUtils.getValue(p.style,mxConstants.STYLE_ROTATION)||0;0!=q&&(p=mxUtils.getBoundingBox(p,q));(g.isEdge(n)||g.isVertex(n))&&p.x>=a&&p.y+p.height<=k&&p.y>=b&&p.x+p.width<=h&&f.push(n);this.getAllCells(a,b,c,d,n,f)}}}return f};var D=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,b,c){return this.graph.isCellSelected(a)?!1:D.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var F=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")){var c=b.getProperty("event").getState();F=null==c||this.isSelectionEmpty()||this.isCellSelected(c.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,b){if(!mxEvent.isMultiTouchEvent(b)){var c= +b.getProperty("event"),d=b.getProperty("cell");null==d?(c=mxUtils.convertPoint(this.container,mxEvent.getClientX(c),mxEvent.getClientY(c)),n.start(c.x,c.y)):null!=F?this.addSelectionCells(F):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);F=null;b.consume()}}));this.connectionHandler.selectCells=function(a,b){this.graph.setSelectionCell(b||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,b){return b&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,b,c){c=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+c+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(c):Base64.encode(c,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; @@ -1555,7 +1555,7 @@ Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);th d&&d!=c.node;){if("a"==d.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,d,b);break}d=d.parentNode}});mxEvent.addGestureListeners(c.node,g,h,k);mxEvent.addListener(c.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,b,c){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(c)&&!mxEvent.isPopupTrigger(c)||mxEvent.isTouchEvent(c)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(c)}}; Graph.prototype.openLink=function(a,b){var c=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else c=window.open(a,b);return c};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,b){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a);a=null!=b?b.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(b=new mxStackLayout(this.graph,!0),b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),b.spacing=a.stackSpacing||b.spacing,b.border=a.stackBorder||b.border,b.marginLeft=a.marginLeft||0,b.marginRight=a.marginRight||0,b.marginTop=a.marginTop||0,b.marginBottom=a.marginBottom||0,b.fill=!0,b):"treeLayout"==a.childLayout?(b=new mxCompactTreeLayout(this.graph),b.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.groupPadding=mxUtils.getValue(a,"parentPadding",20),b.levelDistance=mxUtils.getValue(a,"treeLevelDistance", @@ -1571,8 +1571,8 @@ shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyy /\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),c=!0);var h=c?"getUTC":"get",k=a[h+"Date"](),l=a[h+"Day"](),m=a[h+"Month"](),n=a[h+"FullYear"](),p=a[h+"Hours"](),r=a[h+"Minutes"](),q=a[h+"Seconds"](),h=a[h+"Milliseconds"](),t=c?0:a.getTimezoneOffset(),z={d:k,dd:g(k),ddd:d.i18n.dayNames[l],dddd:d.i18n.dayNames[l+7],m:m+1,mm:g(m+1),mmm:d.i18n.monthNames[m],mmmm:d.i18n.monthNames[m+ 12],yy:String(n).slice(2),yyyy:n,h:p%12||12,hh:g(p%12||12),H:p,HH:g(p),M:r,MM:g(r),s:q,ss:g(q),l:g(h,3),L:g(99<h?Math.round(h/10):h),t:12>p?"a":"p",tt:12>p?"am":"pm",T:12>p?"A":"P",TT:12>p?"AM":"PM",Z:c?"UTC":(String(a).match(e)||[""]).pop().replace(f,""),o:(0<t?"-":"+")+g(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4),S:["th","st","nd","rd"][3<k%10?0:(10!=k%100-k%10)*k%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in z?z[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),c=b.getChildCount(b.root),d=0;d<c;d++)(function(c){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var e=document.createElement("input");e.style.display="inline-block";e.setAttribute("type","checkbox");b.isVisible(c)&&(e.setAttribute("checked","checked"),e.defaultChecked= -!0);d.appendChild(e);var h=c.value||mxResources.get("background")||"Background";d.setAttribute("title",h);mxUtils.write(d,h);a.appendChild(d);mxEvent.addListener(e,"click",function(){null!=e.getAttribute("checked")?e.removeAttribute("checked"):e.setAttribute("checked","checked");b.setVisible(c,e.checked)})})(b.getChildAt(b.root,d));return a}; +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),c=b.getChildCount(b.root),d=0;d<c;d++)mxUtils.bind(this,function(c){var d=document.createElement("div");d.style.overflow="hidden";d.style.textOverflow="ellipsis";d.style.padding="2px";d.style.whiteSpace="nowrap";var e=document.createElement("input");e.style.display="inline-block";e.setAttribute("type","checkbox");b.isVisible(c)&&(e.setAttribute("checked","checked"), +e.defaultChecked=!0);d.appendChild(e);var h=this.convertValueToString(c)||mxResources.get("background")||"Background";d.setAttribute("title",h);mxUtils.write(d,h);a.appendChild(d);mxEvent.addListener(e,"click",function(){null!=e.getAttribute("checked")?e.removeAttribute("checked"):e.setAttribute("checked","checked");b.setVisible(c,e.checked)})})(b.getChildAt(b.root,d));return a}; Graph.prototype.replacePlaceholders=function(a,b){var c=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var e=match[0];if(2<e.length&&"%label%"!=e&&"%tooltip%"!=e){var f=null;if(match.index>d&&"%"==b.charAt(match.index-1))f=e.substring(1);else{var g=e.substring(1,e.length-1);if(0>g.indexOf("{"))for(var h=a;null==f&&null!=h;)null!=h.value&&"object"==typeof h.value&&(f=h.hasAttribute(g)?null!=h.getAttribute(g)?h.getAttribute(g):"":null),h=this.model.getParent(h);null==f&&(f=this.getGlobalVariable(g))}c.push(b.substring(d, match.index)+(null!=f?f:e));d=match.index+e.length}}c.push(b.substring(d))}return c.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,c){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=c&&(mxEvent.isTouchEvent(b)?c.update(c.getState(this.view.getState(a[1]))):c.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; Graph.prototype.connectVertex=function(a,b,c,d,e,f){f=f?f:!1;var g=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(g.x+=a.geometry.width/2,g.y-=c):b==mxConstants.DIRECTION_SOUTH?(g.x+=a.geometry.width/2,g.y+=a.geometry.height+c):(g.x=b==mxConstants.DIRECTION_WEST?g.x-c:g.x+(a.geometry.width+c),g.y+=a.geometry.height/2);c=this.view.getState(this.model.getParent(a)); @@ -1658,7 +1658,7 @@ a.getCell=mxUtils.bind(this,function(a){var c=b.apply(this,arguments);this.error null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; Graph.prototype.importGraphModel=function(a,b,c,d){b=null!=b?b:0;c=null!=c?c:0;var e=[],f=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,f);a=f.getChildCount(f.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var k=f.getChildAt(f.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))k=this.importCells([k],0,0,this.model.getRoot(),null,g)[0],l=this.model.getChildren(k),this.moveCells(l,b,c),e=e.concat(l);else var l= f.getChildren(k),e=e.concat(this.importCells(l,b,c,this.getDefaultParent(),null,g))}if(d){this.isGridEnabled()&&(b=this.snap(b),c=this.snap(c));var m=this.getBoundingBoxFromGeometry(e,!0);null!=m&&this.moveCells(e,b-m.x,c-m.y)}}finally{this.model.endUpdate()}return e};Graph.prototype.getAllConnectionConstraints=function(a,b){if(null!=a){var c=mxUtils.getValue(a.style,"points",null);if(null!=c){var d=[];try{for(var e=JSON.parse(c),c=0;c<e.length;c++){var f=e[c];d.push(new mxConnectionConstraint(new mxPoint(f[0], -f[1]),2<f.length?"0"!=f[2]:!0))}}catch(K){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, +f[1]),2<f.length?"0"!=f[2]:!0))}}catch(J){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);null!=b&&(b=mxUtils.getValue(b,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, this.setCellStyles(mxConstants.STYLE_ELBOW,b,[a]))}};Graph.prototype.isValidRoot=function(a){for(var b=this.model.getChildCount(a),c=0,d=0;d<b;d++){var e=this.model.getChildAt(a,d);this.model.isVertex(e)&&(e=this.getCellGeometry(e),null==e||e.relative||c++)}return 0<c||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(b,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, arguments)&&"0"!=mxUtils.getValue(b,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var b=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(b&&null!=a&&null!=this.layoutManager){var c=this.model.getParent(a);null!=c&&(c=this.layoutManager.getLayout(c),null!=c&&c.constructor==mxStackLayout&&(b=!1))}return b};Graph.prototype.getPreferredSizeForCell= function(a){var b=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=b&&(b.width+=10,b.height+=4,this.gridEnabled&&(b.width=this.snap(b.width),b.height=this.snap(b.height)));return b};Graph.prototype.turnShapes=function(a){var b=this.getModel(),c=[];b.beginUpdate();try{for(var d=0;d<a.length;d++){var e=a[d];if(b.isEdge(e)){var f=b.getTerminal(e,!0),g=b.getTerminal(e,!1);b.setTerminal(e,g,!0);b.setTerminal(e,f,!1);var h=b.getGeometry(e);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); @@ -1701,7 +1701,7 @@ function(a,b){b=null!=b?b:a;var c=document.createElement("a");c.setAttribute("hr b){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(b){b=a.apply(this,arguments);if(mxEvent.isTouchEvent(b.getEvent())&&null==b.getState()){var c=this.getCellAt(b.graphX,b.graphY);null!=c&&this.isSwimlane(c)&&this.hitsSwimlaneContent(c,b.graphX,b.graphY)||(b.state=this.view.getState(c),null!=b.state&&null!=b.state.shape&&(this.container.style.cursor=b.state.shape.node.style.cursor))}null==b.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); return b};var b=!1,c=!1,d=!1,e=this.fireMouseEvent;this.fireMouseEvent=function(a,f,g){a==mxEvent.MOUSE_DOWN&&(f=this.updateMouseEvent(f),b=this.isCellSelected(f.getCell()),c=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());e.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,e){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==e.getState()||!e.isSource(e.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(e.getEvent())&& (c&&null==e.getCell()&&this.isSelectionEmpty()||b&&this.isCellSelected(e.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var b=[],c=0,d=a.rangeCount;c<d;++c)b.push(a.getRangeAt(c));return b}}else if(document.selection&& -document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(J){}};var e=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", +document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var b=0,c=a.length;b<c;++b)sel.addRange(a[b])}else document.selection&&a.select&&a.select()}catch(I){}};var e=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", "1"));e.apply(this,arguments)};var f=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,b){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?f.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var g=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,b){g.apply(this, arguments);var c=this.graph.view.getState(a);this.textarea.className=null!=c&&1==c.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var c=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(c)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var h=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function b(a,c){c.originalNode=a;a=a.firstChild;for(var d=c.firstChild;null!=a&&null!=d;)b(a,d),a=a.nextSibling,d=d.nextSibling;return c}function c(a,b){if(null!=a)if(b.originalNode!=a)d(a);else for(a=a.firstChild,b=b.firstChild;null!=a;){var e= @@ -1750,7 +1750,7 @@ HoverIcons.prototype.rotationHandle:b==mxEvent.LABEL_HANDLE?this.secondaryHandle arguments)};var D=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var b=this.graph.getModel(),c=b.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return b.isEdge(c)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(b=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(b.x),Math.round(b.y),Math.round(b.width),Math.round(b.height))):D.apply(this,arguments)};var F=mxVertexHandler.prototype.mouseDown; mxVertexHandler.prototype.mouseDown=function(a,b){var c=this.graph.getModel(),d=c.getParent(this.state.cell),e=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(b)==mxEvent.ROTATION_HANDLE||!c.isEdge(d)||null==e||!e.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&F.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var E=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,b){E.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var B=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var G=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){G.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= +function(a,b){B.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var A=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){A.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var b=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= 1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,c){b()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); b()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,b){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var c=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(c,d);if(null!=c||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(b,c){if(null==b&&(null==c||0==c.length)||1<this.graph.getSelectionCount())null!= this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=b||null!=c&&0<c.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=b&&(this.linkHint.appendChild(this.graph.createLinkForHint(b)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d= @@ -1758,17 +1758,17 @@ document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttrib d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=c)for(d=0;d<c.length;d++){var e=document.createElement("div");e.style.marginTop=null!=b||0<d?"6px":"0px";e.appendChild(this.graph.createLinkForHint(c[d].getAttribute("href"), mxUtils.getTextContent(c[d])));this.linkHint.appendChild(e)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var C=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){C.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(b,c){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(b,c){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, -this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var M=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){M.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var L=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){L.apply(this); +this.changeHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);if(null!=b||null!=c&&0<c.length)this.updateLinkHint(b,c),this.redrawHandles()};var L=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){L.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var K=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){K.apply(this); if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),b=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),c=mxUtils.getBoundingBox(b,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=c?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,b=null!=this.state.text?this.state.text.boundingBox:null;null==c&&(c=this.state);c=c.y+c.height;null!=b&&(c=Math.max(c, -b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var H=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){H.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var U=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= +b.y+b.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(c+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var G=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){G.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var U=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= function(){U.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var S=mxEdgeHandler.prototype.redrawHandles; mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(S.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var aa=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= -function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var A=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){A.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), +function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var X=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){X.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function c(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function e(){mxCylinder.call(this)}function f(){mxActor.call(this)}function g(){mxCylinder.call(this)}function h(){mxActor.call(this)}function k(){mxActor.call(this)}function l(){mxActor.call(this)}function m(){mxActor.call(this)}function n(){mxActor.call(this)}function p(){mxActor.call(this)}function r(){mxActor.call(this)}function q(a,b){this.canvas= a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=b;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,q.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,q.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,q.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,q.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; this.canvas.curveTo=mxUtils.bind(this,q.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,q.prototype.arcTo)}function t(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function x(){mxActor.call(this)}function y(){mxActor.call(this)}function u(){mxRectangleShape.call(this)}function D(){mxRectangleShape.call(this)}function F(){mxCylinder.call(this)}function E(){mxShape.call(this)}function B(){mxShape.call(this)} -function G(){mxEllipse.call(this)}function C(){mxShape.call(this)}function M(){mxShape.call(this)}function L(){mxRectangleShape.call(this)}function H(){mxShape.call(this)}function U(){mxShape.call(this)}function S(){mxShape.call(this)}function aa(){mxCylinder.call(this)}function A(){mxDoubleEllipse.call(this)}function v(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=0}function I(){mxArrowConnector.call(this);this.spacing=0}function J(){mxActor.call(this)}function ba(){mxRectangleShape.call(this)} -function N(){mxActor.call(this)}function K(){mxActor.call(this)}function X(){mxActor.call(this)}function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function ea(){mxActor.call(this)}function P(){mxActor.call(this)}function V(){mxActor.call(this)}function W(){mxActor.call(this)}function O(){mxActor.call(this)}function R(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}function Z(){mxRhombus.call(this)}function va(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)} +function A(){mxEllipse.call(this)}function C(){mxShape.call(this)}function L(){mxShape.call(this)}function K(){mxRectangleShape.call(this)}function G(){mxShape.call(this)}function U(){mxShape.call(this)}function S(){mxShape.call(this)}function aa(){mxCylinder.call(this)}function X(){mxDoubleEllipse.call(this)}function v(){mxDoubleEllipse.call(this)}function Q(){mxArrowConnector.call(this);this.spacing=0}function H(){mxArrowConnector.call(this);this.spacing=0}function I(){mxActor.call(this)}function ba(){mxRectangleShape.call(this)} +function M(){mxActor.call(this)}function J(){mxActor.call(this)}function N(){mxActor.call(this)}function T(){mxActor.call(this)}function ca(){mxActor.call(this)}function ea(){mxActor.call(this)}function P(){mxActor.call(this)}function V(){mxActor.call(this)}function W(){mxActor.call(this)}function O(){mxActor.call(this)}function R(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function Y(){mxEllipse.call(this)}function Z(){mxRhombus.call(this)}function va(){mxEllipse.call(this)}function wa(){mxEllipse.call(this)} function xa(){mxEllipse.call(this)}function qa(){mxEllipse.call(this)}function ra(){mxActor.call(this)}function ma(){mxActor.call(this)}function ia(){mxActor.call(this)}function ja(){mxConnector.call(this)}function Ba(a,b,c,d,e,f,g,h,k,l){g+=k;var m=d.clone();d.x-=e*(2*g+k);d.y-=f*(2*g+k);e*=g+k;f*=g+k;return function(){a.ellipse(m.x-e-g,m.y-f-g,2*g,2*g);l?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.max(0,Math.min(d, Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));f?(a.moveTo(b,e),a.lineTo(b,b),a.lineTo(0,0),a.moveTo(b,b),a.lineTo(d,b)):(a.moveTo(0,0),a.lineTo(d-b,0),a.lineTo(d,b),a.lineTo(d,e),a.lineTo(b,e),a.lineTo(0,e-b),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", a);var ya=Math.tan(mxUtils.toRadians(30)),ka=(.5-ya)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(d,e/ya);a.translate((d-b)/2,(e-b)/2+b/4);a.moveTo(0,.25*b);a.lineTo(.5*b,b*ka);a.lineTo(b,.25*b);a.lineTo(.5*b,(.5-ka)*b);a.lineTo(0,.25*b);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(c,mxCylinder);c.prototype.size=20;c.prototype.redrawPath=function(a,b,c,d,e,f){b=Math.min(d,e/(.5+ya));f?(a.moveTo(0,.25*b),a.lineTo(.5* @@ -1803,14 +1803,14 @@ c,d,e]))}};mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function 0);b+=f;c+=f;d-=2*f;e-=2*f;0<d&&0<e&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var f=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+f]];if(null!=g){var h=this.style["symbol"+f+"Align"],k=this.style["symbol"+f+"VerticalAlign"],l=this.style["symbol"+f+"Width"],m=this.style["symbol"+f+"Height"],sa=this.style["symbol"+f+"Spacing"]||0,n=this.style["symbol"+f+"VSpacing"]||sa,p=this.style["symbol"+f+"ArcSpacing"];null!=p&&(p*=this.getArcSize(d+this.strokewidth, e+this.strokewidth),sa+=p,n+=p);var p=b,oa=c,p=h==mxConstants.ALIGN_CENTER?p+(d-l)/2:h==mxConstants.ALIGN_RIGHT?p+(d-l-sa):p+sa,oa=k==mxConstants.ALIGN_MIDDLE?oa+(e-m)/2:k==mxConstants.ALIGN_BOTTOM?oa+(e-m-n):oa+n;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,p,oa,l,m);a.restore()}f++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",D);mxUtils.extend(F,mxCylinder);F.prototype.redrawPath=function(a,b,c,d, e,f){f?(a.moveTo(0,0),a.lineTo(d/2,e/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(0,e),a.close())};mxCellRenderer.registerShape("message",F);mxUtils.extend(E,mxShape);E.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.ellipse(d/4,0,d/2,e/4);a.fillAndStroke();a.begin();a.moveTo(d/2,e/4);a.lineTo(d/2,2*e/3);a.moveTo(d/2,e/3);a.lineTo(0,e/3);a.moveTo(d/2,e/3);a.lineTo(d,e/3);a.moveTo(d/2,2*e/3);a.lineTo(0,e);a.moveTo(d/2,2*e/3);a.lineTo(d,e);a.end();a.stroke()}; -mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(G,mxEllipse);G.prototype.paintVertexShape=function(a,b, -c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",G);mxUtils.extend(C,mxShape);C.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",C);mxUtils.extend(M,mxShape);M.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ -a.height/8,a.width,7*a.height/8)};M.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};M.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",M);mxUtils.extend(L,mxRectangleShape);L.prototype.size=40;L.prototype.isHtmlAllowed=function(){return!1};L.prototype.getLabelBounds= -function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};L.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=L&&(g=new g, -g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};L.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,f))};mxCellRenderer.registerShape("umlLifeline",L);mxUtils.extend(H,mxShape);H.prototype.width=60;H.prototype.height=30;H.prototype.corner= -10;H.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};H.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style, +mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(B,mxShape);B.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};B.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(0,e/4);a.lineTo(0,3*e/4);a.end();a.stroke();a.begin();a.moveTo(0,e/2);a.lineTo(d/6,e/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,e);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",B);mxUtils.extend(A,mxEllipse);A.prototype.paintVertexShape=function(a,b, +c,d,e){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(b+d/8,c+e);a.lineTo(b+7*d/8,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",A);mxUtils.extend(C,mxShape);C.prototype.paintVertexShape=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(d,0);a.lineTo(0,e);a.moveTo(0,0);a.lineTo(d,e);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",C);mxUtils.extend(L,mxShape);L.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ +a.height/8,a.width,7*a.height/8)};L.prototype.paintBackground=function(a,b,c,d,e){a.translate(b,c);a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,e/8,d,7*e/8);a.fillAndStroke()};L.prototype.paintForeground=function(a,b,c,d,e){a.begin();a.moveTo(3*d/8,e/8*1.1);a.lineTo(5*d/8,e/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",L);mxUtils.extend(K,mxRectangleShape);K.prototype.size=40;K.prototype.isHtmlAllowed=function(){return!1};K.prototype.getLabelBounds= +function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,b)};K.prototype.paintBackground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,b,c,d,f):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=K&&(g=new g, +g.apply(this.state),a.save(),g.paintVertexShape(a,b,c,d,f),a.restore()));f<e&&(a.setDashed(!0),a.begin(),a.moveTo(b+d/2,c+f),a.lineTo(b+d/2,c+e),a.end(),a.stroke())};K.prototype.paintForeground=function(a,b,c,d,e){var f=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,b,c,d,Math.min(e,f))};mxCellRenderer.registerShape("umlLifeline",K);mxUtils.extend(G,mxShape);G.prototype.width=60;G.prototype.height=30;G.prototype.corner= +10;G.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};G.prototype.paintBackground=function(a,b,c,d,e){var f=this.corner,g=Math.min(d,Math.max(f,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(e,Math.max(1.5*f,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),k=mxUtils.getValue(this.style, mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);k!=mxConstants.NONE&&(a.setFillColor(k),a.rect(b,c,d,e),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,b,c,d,e),a.setGradient(this.fill,this.gradient,b,c,d,e,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(b,c);a.lineTo(b+g,c);a.lineTo(b+g,c+Math.max(0,h-1.5*f));a.lineTo(b+Math.max(0,g-f),c+h);a.lineTo(b,c+h);a.close();a.fillAndStroke();a.begin(); -a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",H);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=L.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); +a.moveTo(b+g,c);a.lineTo(b+d,c);a.lineTo(b+d,c+e);a.lineTo(b,c+e);a.lineTo(b,c+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",G);mxPerimeter.LifelinePerimeter=function(a,b,c,d){d=K.prototype.size;null!=b&&(d=mxUtils.getValue(b.style,"size",d)*b.view.scale);b=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;c.x<a.getCenterX()&&(b=-1*(b+1));return new mxPoint(a.getCenterX()+b,Math.min(a.y+a.height,Math.max(a.y+d,c.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); mxPerimeter.OrthogonalPerimeter=function(a,b,c,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,b,c,d){d=parseFloat(b.style[mxConstants.STYLE_STROKEWIDTH]||1)*b.view.scale/2-1;null!=b.style.backboneSize&&(d+=parseFloat(b.style.backboneSize)*b.view.scale/2-1);if("south"==b.style[mxConstants.STYLE_DIRECTION]||"north"==b.style[mxConstants.STYLE_DIRECTION])return c.x< a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,c.y)));c.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,c.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,b,c,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(b.style,"size",w.prototype.size))* b.view.scale))),b.style),b,c,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,b,c,d){var e=m.prototype.size;null!=b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height;b=null!=b?mxUtils.getValue(b.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_SOUTH?(e=k*Math.max(0,Math.min(1,e)),g=[new mxPoint(f,g),new mxPoint(f+ @@ -1824,15 +1824,15 @@ b&&(e=mxUtils.getValue(b.style,"size",e));var f=a.x,g=a.y,h=a.width,k=a.height,l e,g),new mxPoint(f+h-e,g),new mxPoint(f+h,a),new mxPoint(f+h-e,g+k),new mxPoint(f+e,g+k),new mxPoint(f,a),new mxPoint(f+e,g)]);l=new mxPoint(l,a);d&&(c.x<f||c.x>f+h?l.y=c.y:l.x=c.x);return mxUtils.getPerimeterPoint(g,l,c)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(U,mxShape);U.prototype.size=10;U.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(b,c);a.ellipse((d-f)/2,0,f,f);a.fillAndStroke(); a.begin();a.moveTo(d/2,f);a.lineTo(d/2,e);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",U);mxUtils.extend(S,mxShape);S.prototype.size=10;S.prototype.inset=2;S.prototype.paintBackground=function(a,b,c,d,e){var f=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(b,c);a.begin();a.moveTo(d/2,f+g);a.lineTo(d/2,e);a.end();a.stroke();a.begin();a.moveTo((d-f)/2-g,f/2);a.quadTo((d-f)/2-g,f+g,d/ 2,f+g);a.quadTo((d+f)/2+g,f+g,(d+f)/2+g,f/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",S);mxUtils.extend(aa,mxCylinder);aa.prototype.jettyWidth=32;aa.prototype.jettyHeight=12;aa.prototype.redrawPath=function(a,b,c,d,e,f){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));b=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));c=g/2;var g=c+g/2,h=.3*e-b/2,k=.7*e-b/2;f?(a.moveTo(c,h),a.lineTo(g,h),a.lineTo(g,h+b),a.lineTo(c,h+b),a.moveTo(c, -k),a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",aa);mxUtils.extend(A,mxDoubleEllipse);A.prototype.outerStroke=!0;A.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); -this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",A);mxUtils.extend(v,A);v.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",v);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", -Q);mxUtils.extend(I,mxArrowConnector);I.prototype.defaultWidth=10;I.prototype.defaultArrowWidth=20;I.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};I.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};I.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", -I);mxUtils.extend(J,mxActor);J.prototype.size=30;J.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",J);mxUtils.extend(ba,mxRectangleShape);ba.prototype.dx=20;ba.prototype.dy=20;ba.prototype.isHtmlAllowed= +k),a.lineTo(g,k),a.lineTo(g,k+b),a.lineTo(c,k+b)):(a.moveTo(c,0),a.lineTo(d,0),a.lineTo(d,e),a.lineTo(c,e),a.lineTo(c,k+b),a.lineTo(0,k+b),a.lineTo(0,k),a.lineTo(c,k),a.lineTo(c,h+b),a.lineTo(0,h+b),a.lineTo(0,h),a.lineTo(c,h),a.close());a.end()};mxCellRenderer.registerShape("component",aa);mxUtils.extend(X,mxDoubleEllipse);X.prototype.outerStroke=!0;X.prototype.paintVertexShape=function(a,b,c,d,e){var f=Math.min(4,Math.min(d/5,e/5));0<d&&0<e&&(a.ellipse(b+f,c+f,d-2*f,e-2*f),a.fillAndStroke());a.setShadow(!1); +this.outerStroke&&(a.ellipse(b,c,d,e),a.stroke())};mxCellRenderer.registerShape("endState",X);mxUtils.extend(v,X);v.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",v);mxUtils.extend(Q,mxArrowConnector);Q.prototype.defaultWidth=4;Q.prototype.isOpenEnded=function(){return!0};Q.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};Q.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", +Q);mxUtils.extend(H,mxArrowConnector);H.prototype.defaultWidth=10;H.prototype.defaultArrowWidth=20;H.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};H.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};H.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", +H);mxUtils.extend(I,mxActor);I.prototype.size=30;I.prototype.redrawPath=function(a,b,c,d,e){b=Math.min(e,parseFloat(mxUtils.getValue(this.style,"size",this.size)));c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e),new mxPoint(0,b),new mxPoint(d,0),new mxPoint(d,e)],this.isRounded,c,!0);a.end()};mxCellRenderer.registerShape("manualInput",I);mxUtils.extend(ba,mxRectangleShape);ba.prototype.dx=20;ba.prototype.dy=20;ba.prototype.isHtmlAllowed= function(){return!1};ba.prototype.paintForeground=function(a,b,c,d,e){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var f=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,f=Math.max(f,Math.min(d*g,e*g));g=Math.max(f,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));f=Math.max(f,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(b,c+f);a.lineTo(b+d,c+ -f);a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",ba);mxUtils.extend(N,mxActor);N.prototype.dx=20;N.prototype.dy=20;N.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, -mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",N);mxUtils.extend(K,mxActor);K.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",K);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= -20;X.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d- -b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(T,mxActor);T.prototype.arrowWidth=.3;T.prototype.arrowSize=.2;T.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +f);a.end();a.stroke();a.begin();a.moveTo(b+g,c);a.lineTo(b+g,c+e);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",ba);mxUtils.extend(M,mxActor);M.prototype.dx=20;M.prototype.dy=20;M.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, +mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint(b,c),new mxPoint(b,e),new mxPoint(0,e)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("corner",M);mxUtils.extend(J,mxActor);J.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.lineTo(0,e);a.end();a.moveTo(d,0);a.lineTo(d,e);a.end();a.moveTo(0,e/2);a.lineTo(d,e/2);a.end()};mxCellRenderer.registerShape("crossbar",J);mxUtils.extend(N,mxActor);N.prototype.dx=20;N.prototype.dy= +20;N.prototype.redrawPath=function(a,b,c,d,e){b=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));c=Math.max(0,Math.min(e,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,c),new mxPoint((d+b)/2,c),new mxPoint((d+b)/2,e),new mxPoint((d-b)/2,e),new mxPoint((d- +b)/2,c),new mxPoint(0,c)],this.isRounded,f,!0);a.end()};mxCellRenderer.registerShape("tee",N);mxUtils.extend(T,mxActor);T.prototype.arrowWidth=.3;T.prototype.arrowSize=.2;T.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ 2;this.addPoints(a,[new mxPoint(0,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(0,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",T);mxUtils.extend(ca,mxActor);ca.prototype.redrawPath=function(a,b,c,d,e){var f=e*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",T.prototype.arrowWidth))));b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",T.prototype.arrowSize)))); c=(e-f)/2;var f=c+f,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,e/2),new mxPoint(b,0),new mxPoint(b,c),new mxPoint(d-b,c),new mxPoint(d-b,0),new mxPoint(d,e/2),new mxPoint(d-b,e),new mxPoint(d-b,f),new mxPoint(b,f),new mxPoint(b,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",ca);mxUtils.extend(ea,mxActor);ea.prototype.size=.1;ea.prototype.redrawPath=function(a,b,c,d,e){b=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, "size",this.size))));a.moveTo(b,0);a.lineTo(d,0);a.quadTo(d-2*b,e/2,d,e);a.lineTo(b,e);a.quadTo(b-2*b,e/2,b,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",ea);mxUtils.extend(P,mxActor);P.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.close();a.end()};mxCellRenderer.registerShape("or",P);mxUtils.extend(V,mxActor);V.prototype.redrawPath=function(a,b,c,d,e){a.moveTo(0,0);a.quadTo(d,0,d,e/2);a.quadTo(d,e,0,e);a.quadTo(d/2,e/2,0,0);a.close(); @@ -1869,17 +1869,17 @@ b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])}) Math.sqrt(mxUtils.ptSegDistSq(f.x,f.y,g.x,g.y,h.x,h.y));d=mxUtils.ptLineDist(f.x,f.y,f.x+e,f.y-d,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*c)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(k.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(k.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<b/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<b&&(a.style.endWidth=a.style.startWidth))})));return c},swimlane:function(a){var b=[da(a,[mxConstants.STYLE_STARTSIZE],function(b){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(b.getCenterX(), b.y+Math.max(0,Math.min(b.height,c))):new mxPoint(b.x+Math.max(0,Math.min(b.width,c)),b.getCenterY())},function(b,c){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(b.height,c.y-b.y))):Math.round(Math.max(0,Math.min(b.width,c.x-b.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var c=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));b.push(ga(a,c/2))}return b}, -label:pa(),ext:pa(),rectangle:pa(),triangle:pa(),rhombus:pa(),umlLifeline:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",L.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[da(a,["width","height"],function(a){var b=Math.max(H.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, -"width",H.prototype.width))),c=Math.max(1.5*H.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",H.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(H.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*H.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[da(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, +label:pa(),ext:pa(),rectangle:pa(),triangle:pa(),rhombus:pa(),umlLifeline:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",K.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))},!1)]},umlFrame:function(a){return[da(a,["width","height"],function(a){var b=Math.max(G.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, +"width",G.prototype.width))),c=Math.max(1.5*G.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",G.prototype.height)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.width=Math.round(Math.max(G.prototype.corner,Math.min(a.width,b.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*G.prototype.corner,Math.min(a.height,b.y-a.y)))},!1)]},process:function(a){var b=[da(a,["size"],function(a){var b=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, "size",t.prototype.size))));return new mxPoint(a.x+a.width*b,a.y+a.height/4)},function(a,b){this.state.style.size=Math.max(0,Math.min(.5,(b.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},cross:function(a){return[da(a,["size"],function(a){var b=Math.min(a.width,a.height),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ma.prototype.size)))*b/2;return new mxPoint(a.getCenterX()-b,a.getCenterY()-b)},function(a,b){var c=Math.min(a.width, a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-b.y)/c*2,Math.max(0,a.getCenterX()-b.x)/c*2)))})]},note:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",e.prototype.size)))));return new mxPoint(a.x+a.width-b,a.y+b)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-b.x),Math.min(a.height,b.y-a.y))))})]},manualInput:function(a){var b= -[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",J.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},dataStorage:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size)))); +[da(a,["size"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",I.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*b/4)},function(a,b){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(b.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},dataStorage:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",ea.prototype.size)))); return new mxPoint(a.x+(1-b)*a.width,a.getCenterY())},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-b.x)/a.width))})]},callout:function(a){var b=[da(a,["size","position"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+c*a.width,a.y+a.height- b)},function(a,b){mxUtils.getValue(this.state.style,"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-b.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(b.x-a.x)/a.width)))/100}),da(a,["position2"],function(a){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+b*a.width,a.y+a.height)},function(a,b){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1, (b.x-a.x)/a.width)))/100}),da(a,["base"],function(a){var b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,c*a.width+d),a.y+a.height-b)},function(a,b){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))); this.state.style.base=Math.round(Math.max(0,Math.min(a.width,b.x-a.x-c*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},internalStorage:function(a){var b=[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",ba.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",ba.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, -b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},corner:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",N.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",N.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, -b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, +b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ga(a));return b},corner:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",M.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",M.prototype.dy)));return new mxPoint(a.x+b,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width, +b.x-a.x)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},tee:function(a){return[da(a,["dx","dy"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",N.prototype.dx))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",N.prototype.dy)));return new mxPoint(a.x+(a.width+b)/2,a.y+c)},function(a,b){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,b.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0, Math.min(a.height,b.y-a.y)))})]},singleArrow:ha(1),doubleArrow:ha(.5),folder:function(a){return[da(a,["tabWidth","tabHeight"],function(a){var b=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",g.prototype.tabWidth))),c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",g.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);return new mxPoint(a.x+b,a.y+c)},function(a,b){var c= Math.max(0,Math.min(a.width,b.x-a.x));mxUtils.getValue(this.state.style,"tabPosition",g.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);this.state.style.tabWidth=Math.round(c);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,b.y-a.y)))})]},document:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",l.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,b){this.state.style.size= Math.max(0,Math.min(1,(a.y+a.height-b.y)/a.height))})]},tape:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size))));return new mxPoint(a.getCenterX(),a.y+b*a.height/2)},function(a,b){this.state.style.size=Math.max(0,Math.min(1,(b.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[da(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",O.prototype.size)))); @@ -1891,7 +1891,7 @@ k*b,q.y+l*b));e.push(q)};var q=h;null==d&&(d=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g. mxRectangleShape.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25, 1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1, .5))];mxLabel.prototype.constraints=mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;u.prototype.constraints=mxRectangleShape.prototype.constraints;e.prototype.constraints=mxRectangleShape.prototype.constraints;h.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints; -ba.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints=mxRectangleShape.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;qa.prototype.constraints=mxEllipse.prototype.constraints;J.prototype.constraints=mxRectangleShape.prototype.constraints;ra.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints= +ba.prototype.constraints=mxRectangleShape.prototype.constraints;ea.prototype.constraints=mxRectangleShape.prototype.constraints;R.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;Y.prototype.constraints=mxEllipse.prototype.constraints;qa.prototype.constraints=mxEllipse.prototype.constraints;I.prototype.constraints=mxRectangleShape.prototype.constraints;ra.prototype.constraints=mxRectangleShape.prototype.constraints;ia.prototype.constraints= mxRectangleShape.prototype.constraints;W.prototype.constraints=mxRectangleShape.prototype.constraints;O.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, .3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];aa.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, @@ -1904,7 +1904,7 @@ mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.protot 0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1), !0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875, .5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];m.prototype.constraints=mxRectangleShape.prototype.constraints;n.prototype.constraints=mxRectangleShape.prototype.constraints;l.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, -.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;X.prototype.constraints=null;N.prototype.constraints=null;K.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;N.prototype.constraints=null;M.prototype.constraints=null;J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];ca.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), -new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];L.prototype.constraints=null;P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, +new mxConnectionConstraint(new mxPoint(1,.5),!1)];ma.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];K.prototype.constraints=null;P.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, .5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];V.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)]})(); \ No newline at end of file diff --git a/src/main/webapp/js/viewer.min.js b/src/main/webapp/js/viewer.min.js index ae43b6fc6eea512eac5fb63ab53d48cfb3b705f8..fa85bb3a9bd15a7f7aa456543df806d01d4aaa32 100644 --- a/src/main/webapp/js/viewer.min.js +++ b/src/main/webapp/js/viewer.min.js @@ -1949,8 +1949,8 @@ b,d,e){0>a&&(a=0);6<a&&(a=6);0>b&&(b=0);1<b&&(b=1);0>d&&(d=0);1<d&&(d=1);this.rg 0,c]:(a=a===f?3+(e-b)/g:b===f?5+(a-e)/g:1+(b-a)/g,a=[6===a?0:a,g/c,c]);null!==a[0]&&(this.hsv[0]=a[0]);0!==a[2]&&(this.hsv[1]=a[1]);this.hsv[2]=a[2];this.exportColor(d)};this.fromString=function(a,b){var c=a.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);return c?(6===c[1].length?this.fromRGB(parseInt(c[1].substr(0,2),16)/255,parseInt(c[1].substr(2,2),16)/255,parseInt(c[1].substr(4,2),16)/255,b):this.fromRGB(parseInt(c[1].charAt(0)+c[1].charAt(0),16)/255,parseInt(c[1].charAt(1)+c[1].charAt(1),16)/ 255,parseInt(c[1].charAt(2)+c[1].charAt(2),16)/255,b),!0):!1};this.toString=function(){return(256|Math.round(255*this.rgb[0])).toString(16).substr(1)+(256|Math.round(255*this.rgb[1])).toString(16).substr(1)+(256|Math.round(255*this.rgb[2])).toString(16).substr(1)};var r=this,t="hvs"===this.pickerMode.toLowerCase()?1:0,u=jscolor.fetchElement(this.valueElement),x=jscolor.fetchElement(this.styleElement),y=!1,A=!1,z=1,v=2,B=4,C=8;u&&(q=function(){r.fromString(u.value,z);p()},jscolor.addEvent(u,"keyup", q),jscolor.addEvent(u,"input",q),jscolor.addEvent(u,"blur",l),u.setAttribute("autocomplete","off"));x&&(x.jscStyle={backgroundImage:x.style.backgroundImage,backgroundColor:x.style.backgroundColor,color:x.style.color});switch(t){case 0:jscolor.requireImage("hs.png");break;case 1:jscolor.requireImage("hv.png")}jscolor.requireImage("cross.gif");jscolor.requireImage("arrow.gif");this.importColor()}};jscolor.install(); -Editor=function(a,b,e,c,k){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=c||this.createGraph(b,e);this.editable=null!=k?k:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= -function(){return this.status};this.graphChangeListener=function(a,c){var b=null!=c?c.getProperty("edit"):null;null!=b&&b.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; +Editor=function(a,b,e,d,k){mxEventSource.call(this);this.chromeless=null!=a?a:this.chromeless;this.initStencilRegistry();this.graph=d||this.createGraph(b,e);this.editable=null!=k?k:!a;this.undoManager=this.createUndoManager();this.status="";this.getOrCreateFilename=function(){return this.filename||mxResources.get("drawing",[Editor.pageCounter])+".xml"};this.getFilename=function(){return this.filename};this.setStatus=function(a){this.status=a;this.fireEvent(new mxEventObject("statusChanged"))};this.getStatus= +function(){return this.status};this.graphChangeListener=function(a,d){var b=null!=d?d.getProperty("edit"):null;null!=b&&b.ignoreEdit||this.setModified(!0)};this.graph.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.graphChangeListener.apply(this,arguments)}));this.graph.resetViewOnRootChange=!1;this.init()};Editor.pageCounter=0; (function(){try{for(var a=window;null!=a.opener&&"undefined"!==typeof a.opener.Editor&&!isNaN(a.opener.Editor.pageCounter)&&a.opener!=a;)a=a.opener;null!=a&&(a.Editor.pageCounter++,Editor.pageCounter=a.Editor.pageCounter)}catch(b){}})();Editor.useLocalStorage="undefined"!=typeof Storage&&mxClient.IS_IOS; Editor.helpImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAXVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC5BxTwAAAAH3RSTlMAlUF8boNQIE0LBgOgkGlHNSwqFIx/dGVUOjApmV9ezNACSAAAAIVJREFUGNNtjNsOgzAMQ5NeoVcKDAZs+//PXLKI8YKlWvaRU7jXuFpb9qsbdK05XILUiE8JHQox1Pv3OgFUzf1AGqWqUg+QBwLF0YAeegBlCNgRWOpB5vUfTCmeoHQ/wNdy0jLH/cM+b+wLTw4n/7ACEmHVVy8h6qy8V7MNcGowWpsNbvUFcGUEdSi1s/oAAAAASUVORK5CYII=":IMAGE_PATH+ "/help.png"; @@ -1970,7 +1970,7 @@ Editor.previousLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAA Editor.ctrlKey=mxClient.IS_MAC?"Cmd":"Ctrl";Editor.popupsAllowed=!0;mxUtils.extend(Editor,mxEventSource);Editor.prototype.originalNoForeignObject=mxClient.NO_FO;Editor.prototype.transparentImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhMAAwAIAAAP///wAAACH5BAEAAAAALAAAAAAwADAAAAIxhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8egpAAA7":IMAGE_PATH+"/transparent.gif";Editor.prototype.extendCanvas=!0;Editor.prototype.chromeless=!1;Editor.prototype.cancelFirst=!0; Editor.prototype.enabled=!0;Editor.prototype.filename=null;Editor.prototype.modified=!1;Editor.prototype.autosave=!0;Editor.prototype.initialTopSpacing=0;Editor.prototype.appName=document.title;Editor.prototype.editBlankUrl=window.location.protocol+"//"+window.location.host+"/";Editor.prototype.init=function(){};Editor.prototype.isChromelessView=function(){return this.chromeless};Editor.prototype.setAutosave=function(a){this.autosave=a;this.fireEvent(new mxEventObject("autosaveChanged"))}; Editor.prototype.getEditBlankUrl=function(a){return this.editBlankUrl+a}; -Editor.prototype.editAsNew=function(a,b){var e=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(e+=(0<e.length?"&":"?")+"ui="+urlParams.ui);null==this.editorWindow||this.editorWindow.closed?"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?(null==this.editorWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(c){"ready"==c.data&&c.source==this.editorWindow&&this.editorWindow.postMessage(a,"*")})),this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e+ +Editor.prototype.editAsNew=function(a,b){var e=null!=b?"?title="+encodeURIComponent(b):"";null!=urlParams.ui&&(e+=(0<e.length?"&":"?")+"ui="+urlParams.ui);null==this.editorWindow||this.editorWindow.closed?"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?(null==this.editorWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(d){"ready"==d.data&&d.source==this.editorWindow&&this.editorWindow.postMessage(a,"*")})),this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e+ (0<e.length?"&":"?")+"client=1"))):this.editorWindow=this.graph.openLink(this.getEditBlankUrl(e)+"#R"+encodeURIComponent(a)):this.editorWindow.focus()};Editor.prototype.createGraph=function(a,b){var e=new Graph(null,b,null,null,a);e.transparentBackground=!1;this.chromeless||(e.isBlankLink=function(a){return!this.isExternalProtocol(a)});return e}; Editor.prototype.resetGraph=function(){this.graph.gridEnabled=!this.isChromelessView()||"1"==urlParams.grid;this.graph.graphHandler.guidesEnabled=!0;this.graph.setTooltips(!0);this.graph.setConnectable(!0);this.graph.foldingEnabled=!0;this.graph.scrollbars=this.graph.defaultScrollbars;this.graph.pageVisible=this.graph.defaultPageVisible;this.graph.pageBreaksVisible=this.graph.pageVisible;this.graph.preferPageSize=this.graph.pageBreaksVisible;this.graph.background=this.graph.defaultGraphBackground; this.graph.pageScale=mxGraph.prototype.pageScale;this.graph.pageFormat=mxGraph.prototype.pageFormat;this.updateGraphComponents();this.graph.view.setScale(1)}; @@ -1982,14 +1982,14 @@ this.updateGraphComponents();this.fireEvent(new mxEventObject("resetGraphView")) Editor.prototype.getGraphXml=function(a){a=(null!=a?a:1)?(new mxCodec(mxUtils.createXmlDocument())).encode(this.graph.getModel()):this.graph.encodeCells(mxUtils.sortCells(this.graph.model.getTopmostCells(this.graph.getSelectionCells())));if(0!=this.graph.view.translate.x||0!=this.graph.view.translate.y)a.setAttribute("dx",Math.round(100*this.graph.view.translate.x)/100),a.setAttribute("dy",Math.round(100*this.graph.view.translate.y)/100);a.setAttribute("grid",this.graph.isGridEnabled()?"1":"0");a.setAttribute("gridSize", this.graph.gridSize);a.setAttribute("guides",this.graph.graphHandler.guidesEnabled?"1":"0");a.setAttribute("tooltips",this.graph.tooltipHandler.isEnabled()?"1":"0");a.setAttribute("connect",this.graph.connectionHandler.isEnabled()?"1":"0");a.setAttribute("arrows",this.graph.connectionArrowsEnabled?"1":"0");a.setAttribute("fold",this.graph.foldingEnabled?"1":"0");a.setAttribute("page",this.graph.pageVisible?"1":"0");a.setAttribute("pageScale",this.graph.pageScale);a.setAttribute("pageWidth",this.graph.pageFormat.width); a.setAttribute("pageHeight",this.graph.pageFormat.height);null!=this.graph.background&&a.setAttribute("background",this.graph.background);return a};Editor.prototype.updateGraphComponents=function(){var a=this.graph;null!=a.container&&(a.view.validateBackground(),a.container.style.overflow=a.scrollbars?"auto":"hidden",this.fireEvent(new mxEventObject("updateGraphComponents")))};Editor.prototype.setModified=function(a){this.modified=a};Editor.prototype.setFilename=function(a){this.filename=a}; -Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(c,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),r=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&& +Editor.prototype.createUndoManager=function(){var a=this.graph,b=new mxUndoManager;this.undoListener=function(a,e){b.undoableEditHappened(e.getProperty("edit"))};var e=mxUtils.bind(this,function(a,b){this.undoListener.apply(this,arguments)});a.getModel().addListener(mxEvent.UNDO,e);a.getView().addListener(mxEvent.UNDO,e);e=function(d,b){for(var e=a.getSelectionCellsForChanges(b.getProperty("edit").changes),k=a.getModel(),r=[],v=0;v<e.length;v++)(k.isVertex(e[v])||k.isEdge(e[v]))&&null!=a.view.getState(e[v])&& r.push(e[v]);a.setSelectionCells(r)};b.addListener(mxEvent.UNDO,e);b.addListener(mxEvent.REDO,e);return b};Editor.prototype.initStencilRegistry=function(){};Editor.prototype.destroy=function(){null!=this.graph&&(this.graph.destroy(),this.graph=null)};OpenFile=function(a){this.consumer=this.producer=null;this.done=a;this.args=null};OpenFile.prototype.setConsumer=function(a){this.consumer=a;this.execute()};OpenFile.prototype.setData=function(){this.args=arguments;this.execute()}; OpenFile.prototype.error=function(a){this.cancel(!0);mxUtils.alert(a)};OpenFile.prototype.execute=function(){null!=this.consumer&&null!=this.args&&(this.cancel(!1),this.consumer.apply(this,this.args))};OpenFile.prototype.cancel=function(a){null!=this.done&&this.done(null!=a?a:!0)}; -function Dialog(a,b,e,c,k,l,p,r){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;c+=v;var d=e,f=c,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),t=Math.max(1,Math.round((g-c-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);c=Math.min(c,g-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& -(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";m+=h.x;t+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(m,t, -e,c);m=k.x;t=k.y;n.style.width=e+"px";n.style.height=c+"px";n.style.left=m+"px";n.style.top=t+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");l&&(l=document.createElement("img"),l.setAttribute("src",Dialog.prototype.closeImage),l.setAttribute("title",mxResources.get("close")),l.className="geDialogClose",l.style.top=t+14+"px",l.style.left=m+e+38-v+"px",l.style.zIndex=this.zIndex,mxEvent.addListener(l,"click", -mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(l),this.dialogImg=l,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(d){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";m=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));t=Math.max(1,Math.round((g-c-a.footerHeight)/3));e=Math.min(d,document.body.scrollWidth-64);c= -Math.min(f,g-64);var q=this.getPosition(m,t,e,c);m=q.x;t=q.y;n.style.left=m+"px";n.style.top=t+"px";n.style.width=e+"px";n.style.height=c+"px";!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=t+14+"px",this.dialogImg.style.left=m+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=n;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; +function Dialog(a,b,e,d,k,m,p,r){var v=0;mxClient.IS_VML&&(null==document.documentMode||8>document.documentMode)&&(v=80);e+=v;d+=v;var c=e,f=d,g=Math.max(document.body.clientHeight,document.documentElement.clientHeight),u=Math.max(1,Math.round((document.body.clientWidth-e-64)/2)),t=Math.max(1,Math.round((g-d-a.footerHeight)/3));mxClient.IS_QUIRKS||(b.style.maxHeight="100%");e=Math.min(e,document.body.scrollWidth-64);d=Math.min(d,g-64);0<a.dialogs.length&&(this.zIndex+=2*a.dialogs.length);null==this.bg&& +(this.bg=a.createDiv("background"),this.bg.style.position="absolute",this.bg.style.background=Dialog.backdropColor,this.bg.style.height=g+"px",this.bg.style.right="0px",this.bg.style.zIndex=this.zIndex-2,mxUtils.setOpacity(this.bg,this.bgOpacity),mxClient.IS_QUIRKS&&new mxDivResizer(this.bg));var h=mxUtils.getDocumentScrollOrigin(document);this.bg.style.left=h.x+"px";this.bg.style.top=h.y+"px";u+=h.x;t+=h.y;k&&document.body.appendChild(this.bg);var n=a.createDiv("geDialog");k=this.getPosition(u,t, +e,d);u=k.x;t=k.y;n.style.width=e+"px";n.style.height=d+"px";n.style.left=u+"px";n.style.top=t+"px";n.style.zIndex=this.zIndex;n.appendChild(b);document.body.appendChild(n);!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");m&&(m=document.createElement("img"),m.setAttribute("src",Dialog.prototype.closeImage),m.setAttribute("title",mxResources.get("close")),m.className="geDialogClose",m.style.top=t+14+"px",m.style.left=u+e+38-v+"px",m.style.zIndex=this.zIndex,mxEvent.addListener(m,"click", +mxUtils.bind(this,function(){a.hideDialog(!0)})),document.body.appendChild(m),this.dialogImg=m,mxEvent.addGestureListeners(this.bg,null,null,mxUtils.bind(this,function(c){a.hideDialog(!0)})));this.resizeListener=mxUtils.bind(this,function(){g=Math.max(document.body.clientHeight,document.documentElement.clientHeight);this.bg.style.height=g+"px";u=Math.max(1,Math.round((document.body.clientWidth-e-64)/2));t=Math.max(1,Math.round((g-d-a.footerHeight)/3));e=Math.min(c,document.body.scrollWidth-64);d= +Math.min(f,g-64);var l=this.getPosition(u,t,e,d);u=l.x;t=l.y;n.style.left=u+"px";n.style.top=t+"px";n.style.width=e+"px";n.style.height=d+"px";!r&&b.clientHeight>n.clientHeight-64&&(b.style.overflowY="auto");null!=this.dialogImg&&(this.dialogImg.style.top=t+14+"px",this.dialogImg.style.left=u+e+38-v+"px")});mxEvent.addListener(window,"resize",this.resizeListener);this.onDialogClose=p;this.container=n;a.editor.fireEvent(new mxEventObject("showDialog"))}Dialog.backdropColor="white"; Dialog.prototype.zIndex=mxPopupMenu.prototype.zIndex-1; Dialog.prototype.noColorImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkEzRDlBMUUwODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkEzRDlBMUUxODYxMTExRTFCMzA4RDdDMjJBMEMxRDM3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTNEOUExREU4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTNEOUExREY4NjExMTFFMUIzMDhEN0MyMkEwQzFEMzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5xh3fmAAAABlBMVEX////MzMw46qqDAAAAGElEQVR42mJggAJGKGAYIIGBth8KAAIMAEUQAIElnLuQAAAAAElFTkSuQmCC":IMAGE_PATH+ "/nocolor.png";Dialog.prototype.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJAQMAAADaX5RTAAAABlBMVEV7mr3///+wksspAAAAAnRSTlP/AOW3MEoAAAAdSURBVAgdY9jXwCDDwNDRwHCwgeExmASygSL7GgB12QiqNHZZIwAAAABJRU5ErkJggg==":IMAGE_PATH+"/close.png"; @@ -2000,115 +2000,115 @@ Dialog.prototype.lockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoA Dialog.prototype.unlockedImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzdDMDZCN0QxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzdDMDZCN0UxNzIxMTFFNUI0RTk5NTg4OTcyMUUyODEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozN0MwNkI3QjE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozN0MwNkI3QzE3MjExMUU1QjRFOTk1ODg5NzIxRTI4MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkKMpVwAAAAYUExURZmZmbKysr+/v6ysrOXl5czMzLGxsf///zHN5lwAAAAIdFJOU/////////8A3oO9WQAAADxJREFUeNpUzFESACAEBNBVsfe/cZJU+8Mzs8CIABCidtfGOndnYsT40HDSiCcbPdoJo10o9aI677cpwACRoAF3dFNlswAAAABJRU5ErkJggg==":IMAGE_PATH+ "/unlocked.png";Dialog.prototype.bgOpacity=80;Dialog.prototype.getPosition=function(a,b){return new mxPoint(a,b)};Dialog.prototype.close=function(a){null!=this.onDialogClose&&(this.onDialogClose(a),this.onDialogClose=null);null!=this.dialogImg&&(this.dialogImg.parentNode.removeChild(this.dialogImg),this.dialogImg=null);null!=this.bg&&null!=this.bg.parentNode&&this.bg.parentNode.removeChild(this.bg);mxEvent.removeListener(window,"resize",this.resizeListener);this.container.parentNode.removeChild(this.container)}; var PrintDialog=function(a,b){this.create(a,b)}; -PrintDialog.prototype.create=function(a){function b(a){var c=r.checked||d.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,m=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,t=1/e.pageScale;if(c){var u=r.checked?1:parseInt(f.value);isNaN(u)||(t=mxUtils.getScaleForPageCount(u,e,m))}e.getGraphBounds();var k=u=0,m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*b);m.height=Math.ceil(m.height*b);t*=b;!c&&e.pageVisible?(b=e.getPageLayout(),u-=b.x*m.width,k-=b.y*m.height): -c=!0;c=PrintDialog.createPrintPreview(e,t,m,0,u,k,c);c.open();a&&PrintDialog.printPreview(c)}var e=a.editor.graph,c,k,l=document.createElement("table");l.style.width="100%";l.style.height="100%";var p=document.createElement("tbody");c=document.createElement("tr");var r=document.createElement("input");r.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(r);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage")); -k.appendChild(v);mxEvent.addListener(v,"click",function(a){r.checked=!r.checked;d.checked=!r.checked;mxEvent.consume(a)});mxEvent.addListener(r,"change",function(){d.checked=!r.checked});c.appendChild(k);p.appendChild(c);c=c.cloneNode(!1);var d=document.createElement("input");d.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(d);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v, -"click",function(a){d.checked=!d.checked;r.checked=!d.checked;mxEvent.consume(a)});c.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");c.appendChild(k);p.appendChild(c);mxEvent.addListener(d,"change", -function(){d.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");r.checked=!d.checked});c=c.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");c.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);c.appendChild(k);p.appendChild(c);c=document.createElement("tr");k=document.createElement("td");k.colSpan=2; -k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});m.className="geBtn";k.appendChild(m)}m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});m.className="geBtn gePrimaryBtn";k.appendChild(m);a.editor.cancelFirst|| -k.appendChild(v);c.appendChild(k);p.appendChild(c);l.appendChild(p);this.container=l};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}; -PrintDialog.createPrintPreview=function(a,b,e,c,k,l,p){b=new mxPrintPreview(a,b,e,c,k,l);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var r=b.writeHead;b.writeHead=function(a){r.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; +PrintDialog.prototype.create=function(a){function b(a){var d=r.checked||c.checked,b=parseInt(g.value)/100;isNaN(b)&&(b=1,g.value="100%");var b=.75*b,l=e.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT,u=1/e.pageScale;if(d){var q=r.checked?1:parseInt(f.value);isNaN(q)||(u=mxUtils.getScaleForPageCount(q,e,l))}e.getGraphBounds();var t=q=0,l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*b);l.height=Math.ceil(l.height*b);u*=b;!d&&e.pageVisible?(b=e.getPageLayout(),q-=b.x*l.width,t-=b.y*l.height): +d=!0;d=PrintDialog.createPrintPreview(e,u,l,0,q,t,d);d.open();a&&PrintDialog.printPreview(d)}var e=a.editor.graph,d,k,m=document.createElement("table");m.style.width="100%";m.style.height="100%";var p=document.createElement("tbody");d=document.createElement("tr");var r=document.createElement("input");r.setAttribute("type","checkbox");k=document.createElement("td");k.setAttribute("colspan","2");k.style.fontSize="10pt";k.appendChild(r);var v=document.createElement("span");mxUtils.write(v," "+mxResources.get("fitPage")); +k.appendChild(v);mxEvent.addListener(v,"click",function(a){r.checked=!r.checked;c.checked=!r.checked;mxEvent.consume(a)});mxEvent.addListener(r,"change",function(){c.checked=!r.checked});d.appendChild(k);p.appendChild(d);d=d.cloneNode(!1);var c=document.createElement("input");c.setAttribute("type","checkbox");k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(c);v=document.createElement("span");mxUtils.write(v," "+mxResources.get("posterPrint")+":");k.appendChild(v);mxEvent.addListener(v, +"click",function(a){c.checked=!c.checked;r.checked=!c.checked;mxEvent.consume(a)});d.appendChild(k);var f=document.createElement("input");f.setAttribute("value","1");f.setAttribute("type","number");f.setAttribute("min","1");f.setAttribute("size","4");f.setAttribute("disabled","disabled");f.style.width="50px";k=document.createElement("td");k.style.fontSize="10pt";k.appendChild(f);mxUtils.write(k," "+mxResources.get("pages")+" (max)");d.appendChild(k);p.appendChild(d);mxEvent.addListener(c,"change", +function(){c.checked?f.removeAttribute("disabled"):f.setAttribute("disabled","disabled");r.checked=!c.checked});d=d.cloneNode(!1);k=document.createElement("td");mxUtils.write(k,mxResources.get("pageScale")+":");d.appendChild(k);k=document.createElement("td");var g=document.createElement("input");g.setAttribute("value","100 %");g.setAttribute("size","5");g.style.width="50px";k.appendChild(g);d.appendChild(k);p.appendChild(d);d=document.createElement("tr");k=document.createElement("td");k.colSpan=2; +k.style.paddingTop="20px";k.setAttribute("align","right");v=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});v.className="geBtn";a.editor.cancelFirst&&k.appendChild(v);if(PrintDialog.previewEnabled){var u=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();b(!1)});u.className="geBtn";k.appendChild(u)}u=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();b(!0)});u.className="geBtn gePrimaryBtn";k.appendChild(u);a.editor.cancelFirst|| +k.appendChild(v);d.appendChild(k);p.appendChild(d);m.appendChild(p);this.container=m};PrintDialog.printPreview=function(a){if(null!=a.wnd){var b=function(){a.wnd.focus();a.wnd.print();a.wnd.close()};mxClient.IS_GC?window.setTimeout(b,500):b()}}; +PrintDialog.createPrintPreview=function(a,b,e,d,k,m,p){b=new mxPrintPreview(a,b,e,d,k,m);b.title=mxResources.get("preview");b.printBackgroundImage=!0;b.autoOrigin=p;a=a.background;if(null==a||""==a||a==mxConstants.NONE)a="#ffffff";b.backgroundColor=a;var r=b.writeHead;b.writeHead=function(a){r.apply(this,arguments);a.writeln('<style type="text/css">');a.writeln("@media screen {");a.writeln(" body > div { padding:30px;box-sizing:content-box; }");a.writeln("}");a.writeln("</style>")};return b}; PrintDialog.previewEnabled=!0; -var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(d.style.backgroundColor="",d.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(d.style.backgroundColor=f,d.style.backgroundImage="")}function e(){null==t?(m.removeAttribute("title"),m.style.fontSize="",m.innerHTML=mxResources.get("change")+"..."):(m.setAttribute("title",t.src),m.style.fontSize="11px",m.innerHTML=t.src.substring(0,42)+"...")}var c=a.editor.graph,k,l,p=document.createElement("table");p.style.width= -"100%";p.style.height="100%";var r=document.createElement("tbody");k=document.createElement("tr");l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";mxUtils.write(l,mxResources.get("paperSize")+":");k.appendChild(l);l=document.createElement("td");l.style.verticalAlign="top";l.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(l,"pagesetupdialog",c.pageFormat);k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td"); -mxUtils.write(l,mxResources.get("background")+":");k.appendChild(l);l=document.createElement("td");l.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var d=document.createElement("button");d.style.width="18px";d.style.height="18px";d.style.marginRight="20px";d.style.backgroundPosition="center center";d.style.backgroundRepeat="no-repeat";var f=c.background;b();mxEvent.addListener(d,"click",function(d){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(d)}); -l.appendChild(d);mxUtils.write(l,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=c.getGridSize();l.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?c.getGridSize():a)});k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td");mxUtils.write(l,mxResources.get("image")+ -":");k.appendChild(l);l=document.createElement("td");var m=document.createElement("a");m.style.textDecoration="underline";m.style.cursor="pointer";m.style.color="#a0a0a0";var t=c.backgroundImage;mxEvent.addListener(m,"click",function(d){a.showBackgroundImageDialog(function(a){t=a;e()});mxEvent.consume(d)});e();l.appendChild(m);k.appendChild(l);r.appendChild(k);k=document.createElement("tr");l=document.createElement("td");l.colSpan=2;l.style.paddingTop="16px";l.setAttribute("align","right");var h= -mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&l.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();c.gridSize!==g.value&&c.setGridSize(parseInt(g.value));var d=new ChangePageSetup(a,f,t,v.get());d.ignoreColor=c.background==f;d.ignoreImage=(null!=c.backgroundImage?c.backgroundImage.src:null)===(null!=t?t.src:null);c.pageFormat.width==d.previousFormat.width&&c.pageFormat.height==d.previousFormat.height&& -d.ignoreColor&&d.ignoreImage||c.model.execute(d)});n.className="geBtn gePrimaryBtn";l.appendChild(n);a.editor.cancelFirst||l.appendChild(h);k.appendChild(l);r.appendChild(k);p.appendChild(r);this.container=p}; -PageSetupDialog.addPageFormatPanel=function(a,b,e,c){function k(a,d,c){if(c||g!=document.activeElement&&m!=document.activeElement){a=!1;for(d=0;d<h.length;d++)c=h[d],u?"custom"==c.key&&(r.value=c.key,u=!1):null!=c.format&&("a4"==c.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==c.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==c.format.width&& -e.height==c.format.height?(r.value=c.key,l.setAttribute("checked","checked"),l.defaultChecked=!0,l.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==c.format.height&&e.height==c.format.width&&(r.value=c.key,l.removeAttribute("checked"),l.defaultChecked=!1,l.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,m.value=e.height/100,l.setAttribute("checked","checked"), -r.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var l=document.createElement("input");l.setAttribute("name",b);l.setAttribute("type","radio");l.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var r=document.createElement("select");r.style.marginBottom="8px";r.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px"; -v.style.height="24px";l.style.marginRight="6px";v.appendChild(l);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";v.appendChild(p);var d=document.createElement("span");d.style.width="100px";mxUtils.write(d,mxResources.get("landscape"));v.appendChild(d);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input"); -g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var m=document.createElement("input");m.setAttribute("size","7");m.style.textAlign="right";f.appendChild(m);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var t={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var q=h[n];t[q.key]=q;var w=document.createElement("option");w.setAttribute("value",q.key);mxUtils.write(w,q.title);r.appendChild(w)}var u=!1;k();a.appendChild(r);mxUtils.br(a); -a.appendChild(v);a.appendChild(f);var y=e,E=function(a,d){var b=t[r.value];null!=b.format?(g.value=b.format.width/100,m.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(m.value))&&(m.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(m.value)));"custom"!=r.value&&p.checked&&(b=new mxRectangle(0,0,b.height,b.width)); -d&&u||b.width==y.width&&b.height==y.height||(y=b,null!=c&&c(y))};mxEvent.addListener(b,"click",function(a){l.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(d,"click",function(a){p.checked=!0;E(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",E);mxEvent.addListener(g,"click",E);mxEvent.addListener(m,"blur",E);mxEvent.addListener(m,"click",E);mxEvent.addListener(p,"change",E);mxEvent.addListener(l,"change",E);mxEvent.addListener(r,"change",function(a){u="custom"==r.value;E(a,!0)});E(); -return{set:function(a){e=a;k(null,null,!0)},get:function(){return y},widthInput:g,heightInput:m}}; +var PageSetupDialog=function(a){function b(){null==f||f==mxConstants.NONE?(c.style.backgroundColor="",c.style.backgroundImage="url('"+Dialog.prototype.noColorImage+"')"):(c.style.backgroundColor=f,c.style.backgroundImage="")}function e(){null==t?(u.removeAttribute("title"),u.style.fontSize="",u.innerHTML=mxResources.get("change")+"..."):(u.setAttribute("title",t.src),u.style.fontSize="11px",u.innerHTML=t.src.substring(0,42)+"...")}var d=a.editor.graph,k,m,p=document.createElement("table");p.style.width= +"100%";p.style.height="100%";var r=document.createElement("tbody");k=document.createElement("tr");m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";mxUtils.write(m,mxResources.get("paperSize")+":");k.appendChild(m);m=document.createElement("td");m.style.verticalAlign="top";m.style.fontSize="10pt";var v=PageSetupDialog.addPageFormatPanel(m,"pagesetupdialog",d.pageFormat);k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td"); +mxUtils.write(m,mxResources.get("background")+":");k.appendChild(m);m=document.createElement("td");m.style.whiteSpace="nowrap";document.createElement("input").setAttribute("type","text");var c=document.createElement("button");c.style.width="18px";c.style.height="18px";c.style.marginRight="20px";c.style.backgroundPosition="center center";c.style.backgroundRepeat="no-repeat";var f=d.background;b();mxEvent.addListener(c,"click",function(c){a.pickColor(f||"none",function(a){f=a;b()});mxEvent.consume(c)}); +m.appendChild(c);mxUtils.write(m,mxResources.get("gridSize")+":");var g=document.createElement("input");g.setAttribute("type","number");g.setAttribute("min","0");g.style.width="40px";g.style.marginLeft="6px";g.value=d.getGridSize();m.appendChild(g);mxEvent.addListener(g,"change",function(){var a=parseInt(g.value);g.value=Math.max(1,isNaN(a)?d.getGridSize():a)});k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td");mxUtils.write(m,mxResources.get("image")+ +":");k.appendChild(m);m=document.createElement("td");var u=document.createElement("a");u.style.textDecoration="underline";u.style.cursor="pointer";u.style.color="#a0a0a0";var t=d.backgroundImage;mxEvent.addListener(u,"click",function(c){a.showBackgroundImageDialog(function(a){t=a;e()});mxEvent.consume(c)});e();m.appendChild(u);k.appendChild(m);r.appendChild(k);k=document.createElement("tr");m=document.createElement("td");m.colSpan=2;m.style.paddingTop="16px";m.setAttribute("align","right");var h= +mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});h.className="geBtn";a.editor.cancelFirst&&m.appendChild(h);var n=mxUtils.button(mxResources.get("apply"),function(){a.hideDialog();d.gridSize!==g.value&&d.setGridSize(parseInt(g.value));var c=new ChangePageSetup(a,f,t,v.get());c.ignoreColor=d.background==f;c.ignoreImage=(null!=d.backgroundImage?d.backgroundImage.src:null)===(null!=t?t.src:null);d.pageFormat.width==c.previousFormat.width&&d.pageFormat.height==c.previousFormat.height&& +c.ignoreColor&&c.ignoreImage||d.model.execute(c)});n.className="geBtn gePrimaryBtn";m.appendChild(n);a.editor.cancelFirst||m.appendChild(h);k.appendChild(m);r.appendChild(k);p.appendChild(r);this.container=p}; +PageSetupDialog.addPageFormatPanel=function(a,b,e,d){function k(a,c,d){if(d||g!=document.activeElement&&u!=document.activeElement){a=!1;for(c=0;c<h.length;c++)d=h[c],q?"custom"==d.key&&(r.value=d.key,q=!1):null!=d.format&&("a4"==d.key?826==e.width?(e=mxRectangle.fromRectangle(e),e.width=827):826==e.height&&(e=mxRectangle.fromRectangle(e),e.height=827):"a5"==d.key&&(584==e.width?(e=mxRectangle.fromRectangle(e),e.width=583):584==e.height&&(e=mxRectangle.fromRectangle(e),e.height=583)),e.width==d.format.width&& +e.height==d.format.height?(r.value=d.key,m.setAttribute("checked","checked"),m.defaultChecked=!0,m.checked=!0,p.removeAttribute("checked"),p.defaultChecked=!1,p.checked=!1,a=!0):e.width==d.format.height&&e.height==d.format.width&&(r.value=d.key,m.removeAttribute("checked"),m.defaultChecked=!1,m.checked=!1,p.setAttribute("checked","checked"),p.defaultChecked=!0,a=p.checked=!0));a?(v.style.display="",f.style.display="none"):(g.value=e.width/100,u.value=e.height/100,m.setAttribute("checked","checked"), +r.value="custom",v.style.display="none",f.style.display="")}}b="format-"+b;var m=document.createElement("input");m.setAttribute("name",b);m.setAttribute("type","radio");m.setAttribute("value","portrait");var p=document.createElement("input");p.setAttribute("name",b);p.setAttribute("type","radio");p.setAttribute("value","landscape");var r=document.createElement("select");r.style.marginBottom="8px";r.style.width="202px";var v=document.createElement("div");v.style.marginLeft="4px";v.style.width="210px"; +v.style.height="24px";m.style.marginRight="6px";v.appendChild(m);b=document.createElement("span");b.style.maxWidth="100px";mxUtils.write(b,mxResources.get("portrait"));v.appendChild(b);p.style.marginLeft="10px";p.style.marginRight="6px";v.appendChild(p);var c=document.createElement("span");c.style.width="100px";mxUtils.write(c,mxResources.get("landscape"));v.appendChild(c);var f=document.createElement("div");f.style.marginLeft="4px";f.style.width="210px";f.style.height="24px";var g=document.createElement("input"); +g.setAttribute("size","7");g.style.textAlign="right";f.appendChild(g);mxUtils.write(f," in x ");var u=document.createElement("input");u.setAttribute("size","7");u.style.textAlign="right";f.appendChild(u);mxUtils.write(f," in");v.style.display="none";f.style.display="none";for(var t={},h=PageSetupDialog.getFormats(),n=0;n<h.length;n++){var l=h[n];t[l.key]=l;var w=document.createElement("option");w.setAttribute("value",l.key);mxUtils.write(w,l.title);r.appendChild(w)}var q=!1;k();a.appendChild(r);mxUtils.br(a); +a.appendChild(v);a.appendChild(f);var y=e,D=function(a,c){var b=t[r.value];null!=b.format?(g.value=b.format.width/100,u.value=b.format.height/100,f.style.display="none",v.style.display=""):(v.style.display="none",f.style.display="");isNaN(parseFloat(g.value))&&(g.value=e.width/100);isNaN(parseFloat(u.value))&&(u.value=e.height/100);b=new mxRectangle(0,0,Math.floor(100*parseFloat(g.value)),Math.floor(100*parseFloat(u.value)));"custom"!=r.value&&p.checked&&(b=new mxRectangle(0,0,b.height,b.width)); +c&&q||b.width==y.width&&b.height==y.height||(y=b,null!=d&&d(y))};mxEvent.addListener(b,"click",function(a){m.checked=!0;D(a);mxEvent.consume(a)});mxEvent.addListener(c,"click",function(a){p.checked=!0;D(a);mxEvent.consume(a)});mxEvent.addListener(g,"blur",D);mxEvent.addListener(g,"click",D);mxEvent.addListener(u,"blur",D);mxEvent.addListener(u,"click",D);mxEvent.addListener(p,"change",D);mxEvent.addListener(m,"change",D);mxEvent.addListener(r,"change",function(a){q="custom"==r.value;D(a,!0)});D(); +return{set:function(a){e=a;k(null,null,!0)},get:function(){return y},widthInput:g,heightInput:u}}; PageSetupDialog.getFormats=function(){return[{key:"letter",title:'US-Letter (8,5" x 11")',format:mxConstants.PAGE_FORMAT_LETTER_PORTRAIT},{key:"legal",title:'US-Legal (8,5" x 14")',format:new mxRectangle(0,0,850,1400)},{key:"tabloid",title:"US-Tabloid (279 mm x 432 mm)",format:new mxRectangle(0,0,1100,1700)},{key:"a0",title:"A0 (841 mm x 1189 mm)",format:new mxRectangle(0,0,3300,4681)},{key:"a1",title:"A1 (594 mm x 841 mm)",format:new mxRectangle(0,0,2339,3300)},{key:"a2",title:"A2 (420 mm x 594 mm)", format:new mxRectangle(0,0,1654,2336)},{key:"a3",title:"A3 (297 mm x 420 mm)",format:new mxRectangle(0,0,1169,1654)},{key:"a4",title:"A4 (210 mm x 297 mm)",format:mxConstants.PAGE_FORMAT_A4_PORTRAIT},{key:"a5",title:"A5 (148 mm x 210 mm)",format:new mxRectangle(0,0,583,827)},{key:"a6",title:"A6 (105 mm x 148 mm)",format:new mxRectangle(0,0,413,583)},{key:"a7",title:"A7 (74 mm x 105 mm)",format:new mxRectangle(0,0,291,413)},{key:"custom",title:mxResources.get("custom"),format:null}]}; -(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var c=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var d=a.container.firstChild;null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.nextSibling;null!=d&&(this.backgroundPageShape=this.createBackgroundPageShape(c),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= -mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),d.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,d),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(d){a.dblClick(d)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(d))}), -mxUtils.bind(this,function(d){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(d)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(d))}),mxUtils.bind(this,function(d){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(d))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=c,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= -null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,c=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,d=null!=c&&this.gridColor!=c.toLowerCase()?this.gridColor:"#ffffff",b="none",g="";if(a.isGridEnabled()){g=10;mxClient.IS_SVG?(b=unescape(encodeURIComponent(this.createSvgGrid(d))),b=window.btoa?btoa(b):Base64.encode(b,!0),b="url(data:image/svg+xml;base64,"+b+")",g=a.gridSize*this.scale*this.gridSteps): -b="url("+this.gridImage+")";var e=d=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),d=1+e.x,e=1+e.y);g=-Math.round(g-mxUtils.mod(this.translate.x*this.scale-d,g))+"px "+-Math.round(g-mxUtils.mod(this.translate.y*this.scale-e,g))+"px"}d=a.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=g,a.view.backgroundPageShape.node.style.backgroundImage=b,a.view.backgroundPageShape.node.style.backgroundColor= -c,a.container.className="geDiagramContainer geDiagramBackdrop",d.style.backgroundImage="none",d.style.backgroundColor=""):(a.container.className="geDiagramContainer",d.style.backgroundPosition=g,d.style.backgroundColor=c,d.style.backgroundImage=b)};mxGraphView.prototype.createSvgGrid=function(a){for(var c=this.graph.gridSize*this.scale;c<this.minGridSize;)c*=2;for(var d=this.gridSteps*c,b=[],g=1;g<this.gridSteps;g++){var e=g*c;b.push("M 0 "+e+" L "+d+" "+e+" M "+e+" 0 L "+e+" "+d)}return'<svg width="'+ -d+'" height="'+d+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+d+'" height="'+d+'" patternUnits="userSpaceOnUse"><path d="'+b.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+d+" 0 L 0 0 0 "+d+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(c,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var d= -this.view.canvas;null!=d.ownerSVGElement&&(d=d.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+c,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";d.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,c,d){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,t=b*this.pageScale,h=this.view.getBackgroundPageBounds();c=h.width;d=h.height;var n= -new mxRectangle(b*g.x,b*g.y,e.width*t,e.height*t),q=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(d/n.height)-1:0,w=a?Math.ceil(c/n.width)-1:0,u=h.x+c,k=h.y+d;null==this.horizontalPageBreaks&&0<q&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var d=a==this.horizontalPageBreaks?q:w,c=0;c<=d;c++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(c+1)*n.height)), -new mxPoint(Math.round(u),Math.round(h.y+(c+1)*n.height))]:[new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(c+1)*n.width),Math.round(k))];null!=a[c]?(a[c].points=b,a[c].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[c]=b)}for(c=d;c<a.length;c++)a[c].destroy();a.splice(d,a.length-d)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; -var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,c,d){for(var f=0;f<c.length;f++)if(this.graph.getModel().isVertex(c[f])){var g=this.graph.getCellGeometry(c[f]);if(null!=g&&g.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(c,d){return this.isConnecting()? -!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),c=0<a.width?a.x/this.scale-this.translate.x:0,d=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,c)/e),t=Math.floor(Math.min(0, -d)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+t*b),this.scale*(Math.ceil(Math.max(1,c+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,d+a.height/this.scale)/b)-t)*b)};var c=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){c.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= -a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var k=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,c,d,b,g,e){var f=k.apply(this,arguments);null==e||e||mxEvent.addListener(f,"mousedown",function(a){mxEvent.consume(a)});return f};var l=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var c=this.graph.getModel(),d=c.getParent(this.graph.getSelectionCell()),b=l.apply(this,arguments),g=c.getParent(b); -if(null==d||d!=b&&d!=g)for(;!this.graph.isCellSelected(b)&&!this.graph.isCellSelected(g)&&c.isVertex(g)&&!this.graph.isContainer(g);)b=g,g=this.graph.getModel().getParent(b);return b};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,c){var d=p.apply(this,arguments);if(!d)for(var b=this.graph.getModel(),g=b.getParent(a);null!=g;){if(this.graph.isCellSelected(g)&&b.isVertex(g)){d=!0;break}g=b.getParent(g)}return d};mxGraphHandler.prototype.selectDelayed= -function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var c=a.getCell();null==c&&(c=this.cell);var d=this.graph.view.getState(c);if(null==d||!a.isSource(d.control))for(var d=this.graph.getModel(),b=d.getParent(c);!this.graph.isCellSelected(b)&&d.isVertex(b);)c=b,b=d.getParent(c);this.graph.selectCellForEvent(c,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var c=this.graph.getModel(),d=c.getParent(a);c.isVertex(d)&&!this.graph.isContainer(d);)this.graph.isCellSelected(d)&& -(a=d),d=c.getParent(d);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var c=this.editor.graph;c.lightbox=e;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); -this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,c.isEnabled=function(){return!1},c.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||c.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= -k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k));!this.editor.chromeless||this.editor.editable?(b=function(a){var d=mxEvent.getSource(a); -if("A"==d.nodeName)for(;null!=d;){if("geHint"==d.className)return!0;d=d.parentNode}return k(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):c.panningHandler.usePopupTrigger=!1;c.init(this.diagramContainer);mxClient.IS_SVG&&null!=c.view.getDrawPane()&&(b=c.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); -mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var d=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-d.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-d.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var l=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,d){return l||p.apply(this,arguments)};this.keydownHandler= -mxUtils.bind(this,function(a){32==a.which?(l=!0,this.hoverIcons.reset(),c.container.style.cursor="move",c.isEditing()||mxEvent.getSource(a)!=c.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){c.container.style.cursor="";l=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var r=c.panningHandler.isForcePanningEvent;c.panningHandler.isForcePanningEvent= -function(a){return r.apply(this,arguments)||l||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=c.cellEditor.isStopEditingEvent;c.cellEditor.isStopEditingEvent=function(a){return v.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; -var d=!1,f=null,g=null,m=null,t=mxUtils.bind(this,function(){if(null!=this.toolbar&&d!=c.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==m)this.toolbar.createTextToolbar();else{for(var h=0;h<m.length;h++)this.toolbar.container.appendChild(m[h]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu= -g}d=c.cellEditor.isContentEditing();f=a;g=e;m=b}}),h=this,n=c.cellEditor.startEditing;c.cellEditor.startEditing=function(){n.apply(this,arguments);t();if(c.cellEditor.isContentEditing()){var a=!1,d=function(){a||(a=!0,window.setTimeout(function(){for(var d=c.getSelectedElement();null!=d&&d.nodeType!=mxConstants.NODETYPE_ELEMENT;)d=d.parentNode;if(null!=d&&(d=mxUtils.getCurrentStyle(d),null!=d&&null!=h.toolbar)){var b=d.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b= -b.substring(0,b.length-1));h.toolbar.setFontName(b);h.toolbar.setFontSize(parseInt(d.fontSize))}a=!1},0))};mxEvent.addListener(c.cellEditor.textarea,"input",d);mxEvent.addListener(c.cellEditor.textarea,"touchend",d);mxEvent.addListener(c.cellEditor.textarea,"mouseup",d);mxEvent.addListener(c.cellEditor.textarea,"keyup",d);d()}};var q=c.cellEditor.stopEditing;c.cellEditor.stopEditing=function(a,d){q.apply(this,arguments);t()};c.container.setAttribute("tabindex","0");c.container.style.cursor="default"; -if(window.self===window.top&&null!=c.container.parentNode)try{c.container.focus()}catch(x){}var w=c.fireMouseEvent;c.fireMouseEvent=function(a,d,c){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};c.popupMenuHandler.autoExpand=!0;null!=this.menus&&(c.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,d,c){this.menus.createPopupMenu(a,d,c)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){c.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); -this.getKeyHandler=function(){return keyHandler};var u="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var d=c.view.getState(a);if(null!=d){a=a.clone();a.style="";a=c.getCellStyle(a);var b=[],f=[],g;for(g in d.style)a[g]!=d.style[g]&&(b.push(d.style[g]),f.push(g));g=c.getModel().getStyle(d.cell);for(var e=null!=g?g.split(";"):[],m=0;m<e.length;m++){var h=e[m], -q=h.indexOf("=");0<=q&&(g=h.substring(0,q),h=h.substring(q+1),null!=a[g]&&"none"==h&&(b.push(h),f.push(g)))}c.getModel().isEdge(d.cell)?c.currentEdgeStyle={}:c.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[d.cell]))}};this.clearDefaultStyle=function(){c.currentEdgeStyle=mxUtils.clone(c.defaultEdgeStyle);c.currentVertexStyle=mxUtils.clone(c.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var E= -["fontFamily","fontSize","fontColor"],z="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],E,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)u.push(G[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(u,y[a])&&u.push(y[a]);var C=function(a,d){var b=c.getModel(); -b.beginUpdate();try{if(d)for(var f=b.isEdge(h),g=f?c.currentEdgeStyle:c.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var m=g[f[e]];null!=m&&c.setCellStyles(f[e],m,a)}else for(m=0;m<a.length;m++){for(var h=a[m],q=b.getStyle(h),n=null!=q?q.split(";"):[],t=u.slice(),e=0;e<n.length;e++){var w=n[e],k=w.indexOf("=");if(0<=k){var z=w.substring(0,k),r=mxUtils.indexOf(t,z);0<=r&&t.splice(r,1);for(var p=0;p<G.length;p++){var x=G[p];if(0<=mxUtils.indexOf(x,z))for(var E=0;E< -x.length;E++){var l=mxUtils.indexOf(t,x[E]);0<=l&&t.splice(l,1)}}}}for(var g=(f=b.isEdge(h))?c.currentEdgeStyle:c.currentVertexStyle,v=b.getStyle(h),e=0;e<t.length;e++){var z=t[e],H=g[z];null==H||"shape"==z&&!f||f&&!(0>mxUtils.indexOf(y,z))||(v=mxUtils.setStyle(v,z,H))}b.setStyle(h,v)}}finally{b.endUpdate()}};c.addListener("cellsInserted",function(a,d){C(d.getProperty("cells"))});c.addListener("textInserted",function(a,d){C(d.getProperty("cells"),!0)});c.connectionHandler.addListener(mxEvent.CONNECT, -function(a,d){var b=[d.getProperty("cell")];d.getProperty("terminalInserted")&&b.push(d.getProperty("terminal"));C(b)});this.addListener("styleChanged",mxUtils.bind(this,function(a,d){var b=d.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=c.getModel().isVertex(b[e])||f,!(g=c.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=d.getProperty("keys"),m=d.getProperty("values"),e=0;e<b.length;e++){var h=0<=mxUtils.indexOf(E,b[e]);if("strokeColor"!=b[e]||null!=m[e]&&"none"!= -m[e])if(0<=mxUtils.indexOf(y,b[e]))g||0<=mxUtils.indexOf(z,b[e])?null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]:f&&0<=mxUtils.indexOf(u,b[e])&&(null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e]);else if(0<=mxUtils.indexOf(u,b[e])){if(f||h)null==m[e]?delete c.currentVertexStyle[b[e]]:c.currentVertexStyle[b[e]]=m[e];if(g||h||0<=mxUtils.indexOf(z,b[e]))null==m[e]?delete c.currentEdgeStyle[b[e]]:c.currentEdgeStyle[b[e]]=m[e]}}null!=this.toolbar&&(this.toolbar.setFontName(c.currentVertexStyle.fontFamily|| -Menus.prototype.defaultFont),this.toolbar.setFontSize(c.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==c.currentEdgeStyle.edgeStyle&&"1"==c.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==c.currentEdgeStyle.edgeStyle||"none"==c.currentEdgeStyle.edgeStyle||null==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== -c.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==c.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==c.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==c.currentEdgeStyle.shape? -"geSprite geSprite-linkedge":"flexArrow"==c.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==c.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(c.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= -this.getCssClassForMarker("end",c.currentEdgeStyle.shape,c.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(c.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=c.currentVertexStyle.fontFamily||"Helvetica",d=String(c.currentVertexStyle.fontSize||"12"),b=c.getView().getState(c.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,d=b.style[mxConstants.STYLE_FONTSIZE]||d,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a); -this.toolbar.setFontSize(d)}),c.getSelectionModel().addListener(mxEvent.CHANGE,a),c.getModel().addListener(mxEvent.CHANGE,a));c.addListener(mxEvent.CELLS_ADDED,function(a,d){var b=d.getProperty("cells"),f=d.getProperty("parent");c.getModel().isLayer(f)&&!c.isCellVisible(f)&&null!=b&&0<b.length&&c.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document, +(function(){mxGraphView.prototype.validateBackgroundPage=function(){var a=this.graph;if(null!=a.container&&!a.transparentBackground){if(a.pageVisible){var d=this.getBackgroundPageBounds();if(null==this.backgroundPageShape){for(var c=a.container.firstChild;null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.nextSibling;null!=c&&(this.backgroundPageShape=this.createBackgroundPageShape(d),this.backgroundPageShape.scale=1,this.backgroundPageShape.isShadow=!mxClient.IS_QUIRKS,this.backgroundPageShape.dialect= +mxConstants.DIALECT_STRICTHTML,this.backgroundPageShape.init(a.container),c.style.position="absolute",a.container.insertBefore(this.backgroundPageShape.node,c),this.backgroundPageShape.redraw(),this.backgroundPageShape.node.className="geBackgroundPage",mxEvent.addListener(this.backgroundPageShape.node,"dblclick",mxUtils.bind(this,function(c){a.dblClick(c)})),mxEvent.addGestureListeners(this.backgroundPageShape.node,mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_DOWN,new mxMouseEvent(c))}), +mxUtils.bind(this,function(c){null!=a.tooltipHandler&&a.tooltipHandler.isHideOnHover()&&a.tooltipHandler.hide();a.isMouseDown&&!mxEvent.isConsumed(c)&&a.fireMouseEvent(mxEvent.MOUSE_MOVE,new mxMouseEvent(c))}),mxUtils.bind(this,function(c){a.fireMouseEvent(mxEvent.MOUSE_UP,new mxMouseEvent(c))})))}else this.backgroundPageShape.scale=1,this.backgroundPageShape.bounds=d,this.backgroundPageShape.redraw()}else null!=this.backgroundPageShape&&(this.backgroundPageShape.destroy(),this.backgroundPageShape= +null);this.validateBackgroundStyles()}};mxGraphView.prototype.validateBackgroundStyles=function(){var a=this.graph,d=null==a.background||a.background==mxConstants.NONE?a.defaultPageBackgroundColor:a.background,c=null!=d&&this.gridColor!=d.toLowerCase()?this.gridColor:"#ffffff",f="none",b="";if(a.isGridEnabled()){b=10;mxClient.IS_SVG?(f=unescape(encodeURIComponent(this.createSvgGrid(c))),f=window.btoa?btoa(f):Base64.encode(f,!0),f="url(data:image/svg+xml;base64,"+f+")",b=a.gridSize*this.scale*this.gridSteps): +f="url("+this.gridImage+")";var e=c=0;null!=a.view.backgroundPageShape&&(e=this.getBackgroundPageBounds(),c=1+e.x,e=1+e.y);b=-Math.round(b-mxUtils.mod(this.translate.x*this.scale-c,b))+"px "+-Math.round(b-mxUtils.mod(this.translate.y*this.scale-e,b))+"px"}c=a.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);null!=a.view.backgroundPageShape?(a.view.backgroundPageShape.node.style.backgroundPosition=b,a.view.backgroundPageShape.node.style.backgroundImage=f,a.view.backgroundPageShape.node.style.backgroundColor= +d,a.container.className="geDiagramContainer geDiagramBackdrop",c.style.backgroundImage="none",c.style.backgroundColor=""):(a.container.className="geDiagramContainer",c.style.backgroundPosition=b,c.style.backgroundColor=d,c.style.backgroundImage=f)};mxGraphView.prototype.createSvgGrid=function(a){for(var d=this.graph.gridSize*this.scale;d<this.minGridSize;)d*=2;for(var c=this.gridSteps*d,b=[],g=1;g<this.gridSteps;g++){var e=g*d;b.push("M 0 "+e+" L "+c+" "+e+" M "+e+" 0 L "+e+" "+c)}return'<svg width="'+ +c+'" height="'+c+'" xmlns="'+mxConstants.NS_SVG+'"><defs><pattern id="grid" width="'+c+'" height="'+c+'" patternUnits="userSpaceOnUse"><path d="'+b.join(" ")+'" fill="none" stroke="'+a+'" opacity="0.2" stroke-width="1"/><path d="M '+c+" 0 L 0 0 0 "+c+'" fill="none" stroke="'+a+'" stroke-width="1"/></pattern></defs><rect width="100%" height="100%" fill="url(#grid)"/></svg>'};var a=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(d,b){a.apply(this,arguments);if(null!=this.shiftPreview1){var c= +this.view.canvas;null!=c.ownerSVGElement&&(c=c.ownerSVGElement);var f=this.gridSize*this.view.scale*this.view.gridSteps,f=-Math.round(f-mxUtils.mod(this.view.translate.x*this.view.scale+d,f))+"px "+-Math.round(f-mxUtils.mod(this.view.translate.y*this.view.scale+b,f))+"px";c.style.backgroundPosition=f}};mxGraph.prototype.updatePageBreaks=function(a,d,c){var b=this.view.scale,g=this.view.translate,e=this.pageFormat,t=b*this.pageScale,h=this.view.getBackgroundPageBounds();d=h.width;c=h.height;var n= +new mxRectangle(b*g.x,b*g.y,e.width*t,e.height*t),l=(a=a&&Math.min(n.width,n.height)>this.minPageBreakDist)?Math.ceil(c/n.height)-1:0,w=a?Math.ceil(d/n.width)-1:0,q=h.x+d,r=h.y+c;null==this.horizontalPageBreaks&&0<l&&(this.horizontalPageBreaks=[]);null==this.verticalPageBreaks&&0<w&&(this.verticalPageBreaks=[]);a=mxUtils.bind(this,function(a){if(null!=a){for(var c=a==this.horizontalPageBreaks?l:w,d=0;d<=c;d++){var b=a==this.horizontalPageBreaks?[new mxPoint(Math.round(h.x),Math.round(h.y+(d+1)*n.height)), +new mxPoint(Math.round(q),Math.round(h.y+(d+1)*n.height))]:[new mxPoint(Math.round(h.x+(d+1)*n.width),Math.round(h.y)),new mxPoint(Math.round(h.x+(d+1)*n.width),Math.round(r))];null!=a[d]?(a[d].points=b,a[d].redraw()):(b=new mxPolyline(b,this.pageBreakColor),b.dialect=this.dialect,b.isDashed=this.pageBreakDashed,b.pointerEvents=!1,b.init(this.view.backgroundPane),b.redraw(),a[d]=b)}for(d=c;d<a.length;d++)a[d].destroy();a.splice(c,a.length-c)}});a(this.horizontalPageBreaks);a(this.verticalPageBreaks)}; +var b=mxGraphHandler.prototype.shouldRemoveCellsFromParent;mxGraphHandler.prototype.shouldRemoveCellsFromParent=function(a,d,c){for(var f=0;f<d.length;f++)if(this.graph.getModel().isVertex(d[f])){var g=this.graph.getCellGeometry(d[f]);if(null!=g&&g.relative)return!1}return b.apply(this,arguments)};var e=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=e.apply(this,arguments);a.intersects=mxUtils.bind(this,function(d,c){return this.isConnecting()? +!0:mxCellMarker.prototype.intersects.apply(a,arguments)});return a};mxGraphView.prototype.createBackgroundPageShape=function(a){return new mxRectangleShape(a,"#ffffff",this.graph.defaultPageBorderColor)};mxGraphView.prototype.getBackgroundPageBounds=function(){var a=this.getGraphBounds(),d=0<a.width?a.x/this.scale-this.translate.x:0,c=0<a.height?a.y/this.scale-this.translate.y:0,b=this.graph.pageFormat,g=this.graph.pageScale,e=b.width*g,b=b.height*g,g=Math.floor(Math.min(0,d)/e),t=Math.floor(Math.min(0, +c)/b);return new mxRectangle(this.scale*(this.translate.x+g*e),this.scale*(this.translate.y+t*b),this.scale*(Math.ceil(Math.max(1,d+a.width/this.scale)/e)-g)*e,this.scale*(Math.ceil(Math.max(1,c+a.height/this.scale)/b)-t)*b)};var d=mxGraph.prototype.panGraph;mxGraph.prototype.panGraph=function(a,b){d.apply(this,arguments);this.dialect==mxConstants.DIALECT_SVG||null==this.view.backgroundPageShape||this.useScrollbarsForPanning&&mxUtils.hasScrollbars(this.container)||(this.view.backgroundPageShape.node.style.marginLeft= +a+"px",this.view.backgroundPageShape.node.style.marginTop=b+"px")};var k=mxPopupMenu.prototype.addItem;mxPopupMenu.prototype.addItem=function(a,d,c,b,g,e){var f=k.apply(this,arguments);null==e||e||mxEvent.addListener(f,"mousedown",function(a){mxEvent.consume(a)});return f};var m=mxGraphHandler.prototype.getInitialCellForEvent;mxGraphHandler.prototype.getInitialCellForEvent=function(a){var d=this.graph.getModel(),c=d.getParent(this.graph.getSelectionCell()),b=m.apply(this,arguments),g=d.getParent(b); +if(null==c||c!=b&&c!=g)for(;!this.graph.isCellSelected(b)&&!this.graph.isCellSelected(g)&&d.isVertex(g)&&!this.graph.isContainer(g);)b=g,g=this.graph.getModel().getParent(b);return b};var p=mxGraphHandler.prototype.isDelayedSelection;mxGraphHandler.prototype.isDelayedSelection=function(a,d){var c=p.apply(this,arguments);if(!c)for(var b=this.graph.getModel(),g=b.getParent(a);null!=g;){if(this.graph.isCellSelected(g)&&b.isVertex(g)){c=!0;break}g=b.getParent(g)}return c};mxGraphHandler.prototype.selectDelayed= +function(a){if(!this.graph.popupMenuHandler.isPopupTrigger(a)){var d=a.getCell();null==d&&(d=this.cell);var c=this.graph.view.getState(d);if(null==c||!a.isSource(c.control))for(var c=this.graph.getModel(),b=c.getParent(d);!this.graph.isCellSelected(b)&&c.isVertex(b);)d=b,b=c.getParent(d);this.graph.selectCellForEvent(d,a.getEvent())}};mxPopupMenuHandler.prototype.getCellForPopupEvent=function(a){a=a.getCell();for(var d=this.graph.getModel(),c=d.getParent(a);d.isVertex(c)&&!this.graph.isContainer(c);)this.graph.isCellSelected(c)&& +(a=c),c=d.getParent(c);return a}})();EditorUi=function(a,b,e){mxEventSource.call(this);this.destroyFunctions=[];this.editor=a||new Editor;this.container=b||document.body;var d=this.editor.graph;d.lightbox=e;mxClient.IS_SVG?mxPopupMenu.prototype.submenuImage="data:image/gif;base64,R0lGODlhCQAJAIAAAP///zMzMyH5BAEAAAAALAAAAAAJAAkAAAIPhI8WebHsHopSOVgb26AAADs=":(new Image).src=mxPopupMenu.prototype.submenuImage;mxClient.IS_SVG||null==mxConnectionHandler.prototype.connectImage||((new Image).src=mxConnectionHandler.prototype.connectImage.src); +this.editor.chromeless&&!this.editor.editable&&(this.footerHeight=0,d.isEnabled=function(){return!1},d.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())});this.actions=new Actions(this);this.menus=this.createMenus();this.createDivs();this.createUi();this.refresh();var k=mxUtils.bind(this,function(a){null==a&&(a=window.event);return this.isSelectionAllowed(a)||d.isEditing()});this.container==document.body&&(this.menubarContainer.onselectstart=k,this.menubarContainer.onmousedown= +k,this.toolbarContainer.onselectstart=k,this.toolbarContainer.onmousedown=k,this.diagramContainer.onselectstart=k,this.diagramContainer.onmousedown=k,this.sidebarContainer.onselectstart=k,this.sidebarContainer.onmousedown=k,this.formatContainer.onselectstart=k,this.formatContainer.onmousedown=k,this.footerContainer.onselectstart=k,this.footerContainer.onmousedown=k,null!=this.tabContainer&&(this.tabContainer.onselectstart=k));!this.editor.chromeless||this.editor.editable?(b=function(a){var c=mxEvent.getSource(a); +if("A"==c.nodeName)for(;null!=c;){if("geHint"==c.className)return!0;c=c.parentNode}return k(a)},mxClient.IS_IE&&("undefined"===typeof document.documentMode||9>document.documentMode)?mxEvent.addListener(this.diagramContainer,"contextmenu",b):this.diagramContainer.oncontextmenu=b):d.panningHandler.usePopupTrigger=!1;d.init(this.diagramContainer);mxClient.IS_SVG&&null!=d.view.getDrawPane()&&(b=d.view.getDrawPane().ownerSVGElement,null!=b&&(b.style.position="absolute"));this.hoverIcons=this.createHoverIcons(); +mxEvent.addListener(this.diagramContainer,"mousemove",mxUtils.bind(this,function(a){var c=mxUtils.getOffset(this.diagramContainer);0<mxEvent.getClientX(a)-c.x-this.diagramContainer.clientWidth||0<mxEvent.getClientY(a)-c.y-this.diagramContainer.clientHeight?this.diagramContainer.setAttribute("title",mxResources.get("panTooltip")):this.diagramContainer.removeAttribute("title")}));var m=!1,p=this.hoverIcons.isResetEvent;this.hoverIcons.isResetEvent=function(a,c){return m||p.apply(this,arguments)};this.keydownHandler= +mxUtils.bind(this,function(a){32==a.which?(m=!0,this.hoverIcons.reset(),d.container.style.cursor="move",d.isEditing()||mxEvent.getSource(a)!=d.container||mxEvent.consume(a)):mxEvent.isConsumed(a)||27!=a.keyCode||this.hideDialog()});mxEvent.addListener(document,"keydown",this.keydownHandler);this.keyupHandler=mxUtils.bind(this,function(a){d.container.style.cursor="";m=!1});mxEvent.addListener(document,"keyup",this.keyupHandler);var r=d.panningHandler.isForcePanningEvent;d.panningHandler.isForcePanningEvent= +function(a){return r.apply(this,arguments)||m||mxEvent.isMouseEvent(a.getEvent())&&(this.usePopupTrigger||!mxEvent.isPopupTrigger(a.getEvent()))&&(!mxEvent.isControlDown(a.getEvent())&&mxEvent.isRightMouseButton(a.getEvent())||mxEvent.isMiddleMouseButton(a.getEvent()))};var v=d.cellEditor.isStopEditingEvent;d.cellEditor.isStopEditingEvent=function(a){return v.apply(this,arguments)||13==a.keyCode&&(!mxClient.IS_SF&&mxEvent.isControlDown(a)||mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxClient.IS_SF&&mxEvent.isShiftDown(a))}; +var c=!1,f=null,g=null,u=null,t=mxUtils.bind(this,function(){if(null!=this.toolbar&&c!=d.cellEditor.isContentEditing()){for(var a=this.toolbar.container.firstChild,b=[];null!=a;){var e=a.nextSibling;0>mxUtils.indexOf(this.toolbar.staticElements,a)&&(a.parentNode.removeChild(a),b.push(a));a=e}a=this.toolbar.fontMenu;e=this.toolbar.sizeMenu;if(null==u)this.toolbar.createTextToolbar();else{for(var l=0;l<u.length;l++)this.toolbar.container.appendChild(u[l]);this.toolbar.fontMenu=f;this.toolbar.sizeMenu= +g}c=d.cellEditor.isContentEditing();f=a;g=e;u=b}}),h=this,n=d.cellEditor.startEditing;d.cellEditor.startEditing=function(){n.apply(this,arguments);t();if(d.cellEditor.isContentEditing()){var a=!1,c=function(){a||(a=!0,window.setTimeout(function(){for(var c=d.getSelectedElement();null!=c&&c.nodeType!=mxConstants.NODETYPE_ELEMENT;)c=c.parentNode;if(null!=c&&(c=mxUtils.getCurrentStyle(c),null!=c&&null!=h.toolbar)){var b=c.fontFamily;"'"==b.charAt(0)&&(b=b.substring(1));"'"==b.charAt(b.length-1)&&(b= +b.substring(0,b.length-1));h.toolbar.setFontName(b);h.toolbar.setFontSize(parseInt(c.fontSize))}a=!1},0))};mxEvent.addListener(d.cellEditor.textarea,"input",c);mxEvent.addListener(d.cellEditor.textarea,"touchend",c);mxEvent.addListener(d.cellEditor.textarea,"mouseup",c);mxEvent.addListener(d.cellEditor.textarea,"keyup",c);c()}};var l=d.cellEditor.stopEditing;d.cellEditor.stopEditing=function(a,c){l.apply(this,arguments);t()};d.container.setAttribute("tabindex","0");d.container.style.cursor="default"; +if(window.self===window.top&&null!=d.container.parentNode)try{d.container.focus()}catch(x){}var w=d.fireMouseEvent;d.fireMouseEvent=function(a,c,d){a==mxEvent.MOUSE_DOWN&&this.container.focus();w.apply(this,arguments)};d.popupMenuHandler.autoExpand=!0;null!=this.menus&&(d.popupMenuHandler.factoryMethod=mxUtils.bind(this,function(a,c,d){this.menus.createPopupMenu(a,c,d)}));mxEvent.addGestureListeners(document,mxUtils.bind(this,function(a){d.popupMenuHandler.hideMenu()}));this.keyHandler=this.createKeyHandler(a); +this.getKeyHandler=function(){return keyHandler};var q="rounded shadow glass dashed dashPattern comic labelBackgroundColor".split(" "),y="shape edgeStyle curved rounded elbow comic jumpStyle jumpSize".split(" ");this.setDefaultStyle=function(a){var c=d.view.getState(a);if(null!=c){a=a.clone();a.style="";a=d.getCellStyle(a);var b=[],f=[],g;for(g in c.style)a[g]!=c.style[g]&&(b.push(c.style[g]),f.push(g));g=d.getModel().getStyle(c.cell);for(var e=null!=g?g.split(";"):[],l=0;l<e.length;l++){var u=e[l], +h=u.indexOf("=");0<=h&&(g=u.substring(0,h),u=u.substring(h+1),null!=a[g]&&"none"==u&&(b.push(u),f.push(g)))}d.getModel().isEdge(c.cell)?d.currentEdgeStyle={}:d.currentVertexStyle={};this.fireEvent(new mxEventObject("styleChanged","keys",f,"values",b,"cells",[c.cell]))}};this.clearDefaultStyle=function(){d.currentEdgeStyle=mxUtils.clone(d.defaultEdgeStyle);d.currentVertexStyle=mxUtils.clone(d.defaultVertexStyle);this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]))};var D= +["fontFamily","fontSize","fontColor"],z="edgeStyle startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),G=["startArrow startFill startSize endArrow endFill endSize jettySize orthogonalLoop".split(" "),["strokeColor","strokeWidth"],["fillColor","gradientColor"],D,["opacity"],["align"],["html"]];for(a=0;a<G.length;a++)for(b=0;b<G[a].length;b++)q.push(G[a][b]);for(a=0;a<y.length;a++)0>mxUtils.indexOf(q,y[a])&&q.push(y[a]);var E=function(a,c){var b=d.getModel(); +b.beginUpdate();try{if(c)for(var f=b.isEdge(u),g=f?d.currentEdgeStyle:d.currentVertexStyle,f=["fontSize","fontFamily","fontColor"],e=0;e<f.length;e++){var l=g[f[e]];null!=l&&d.setCellStyles(f[e],l,a)}else for(l=0;l<a.length;l++){for(var u=a[l],h=b.getStyle(u),n=null!=h?h.split(";"):[],t=q.slice(),e=0;e<n.length;e++){var w=n[e],z=w.indexOf("=");if(0<=z){var k=w.substring(0,z),r=mxUtils.indexOf(t,k);0<=r&&t.splice(r,1);for(var D=0;D<G.length;D++){var p=G[D];if(0<=mxUtils.indexOf(p,k))for(var x=0;x< +p.length;x++){var m=mxUtils.indexOf(t,p[x]);0<=m&&t.splice(m,1)}}}}for(var g=(f=b.isEdge(u))?d.currentEdgeStyle:d.currentVertexStyle,v=b.getStyle(u),e=0;e<t.length;e++){var k=t[e],J=g[k];null==J||"shape"==k&&!f||f&&!(0>mxUtils.indexOf(y,k))||(v=mxUtils.setStyle(v,k,J))}b.setStyle(u,v)}}finally{b.endUpdate()}};d.addListener("cellsInserted",function(a,c){E(c.getProperty("cells"))});d.addListener("textInserted",function(a,c){E(c.getProperty("cells"),!0)});d.connectionHandler.addListener(mxEvent.CONNECT, +function(a,c){var d=[c.getProperty("cell")];c.getProperty("terminalInserted")&&d.push(c.getProperty("terminal"));E(d)});this.addListener("styleChanged",mxUtils.bind(this,function(a,c){var b=c.getProperty("cells"),f=!1,g=!1;if(0<b.length)for(var e=0;e<b.length&&(f=d.getModel().isVertex(b[e])||f,!(g=d.getModel().isEdge(b[e])||g)||!f);e++);else g=f=!0;for(var b=c.getProperty("keys"),l=c.getProperty("values"),e=0;e<b.length;e++){var u=0<=mxUtils.indexOf(D,b[e]);if("strokeColor"!=b[e]||null!=l[e]&&"none"!= +l[e])if(0<=mxUtils.indexOf(y,b[e]))g||0<=mxUtils.indexOf(z,b[e])?null==l[e]?delete d.currentEdgeStyle[b[e]]:d.currentEdgeStyle[b[e]]=l[e]:f&&0<=mxUtils.indexOf(q,b[e])&&(null==l[e]?delete d.currentVertexStyle[b[e]]:d.currentVertexStyle[b[e]]=l[e]);else if(0<=mxUtils.indexOf(q,b[e])){if(f||u)null==l[e]?delete d.currentVertexStyle[b[e]]:d.currentVertexStyle[b[e]]=l[e];if(g||u||0<=mxUtils.indexOf(z,b[e]))null==l[e]?delete d.currentEdgeStyle[b[e]]:d.currentEdgeStyle[b[e]]=l[e]}}null!=this.toolbar&&(this.toolbar.setFontName(d.currentVertexStyle.fontFamily|| +Menus.prototype.defaultFont),this.toolbar.setFontSize(d.currentVertexStyle.fontSize||Menus.prototype.defaultFontSize),null!=this.toolbar.edgeStyleMenu&&(this.toolbar.edgeStyleMenu.getElementsByTagName("div")[0].className="orthogonalEdgeStyle"==d.currentEdgeStyle.edgeStyle&&"1"==d.currentEdgeStyle.curved?"geSprite geSprite-curved":"straight"==d.currentEdgeStyle.edgeStyle||"none"==d.currentEdgeStyle.edgeStyle||null==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-straight":"entityRelationEdgeStyle"== +d.currentEdgeStyle.edgeStyle?"geSprite geSprite-entity":"elbowEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalelbow":"horizontalelbow"):"isometricEdgeStyle"==d.currentEdgeStyle.edgeStyle?"geSprite geSprite-"+("vertical"==d.currentEdgeStyle.elbow?"verticalisometric":"horizontalisometric"):"geSprite geSprite-orthogonal"),null!=this.toolbar.edgeShapeMenu&&(this.toolbar.edgeShapeMenu.getElementsByTagName("div")[0].className="link"==d.currentEdgeStyle.shape? +"geSprite geSprite-linkedge":"flexArrow"==d.currentEdgeStyle.shape?"geSprite geSprite-arrow":"arrow"==d.currentEdgeStyle.shape?"geSprite geSprite-simplearrow":"geSprite geSprite-connection"),null!=this.toolbar.lineStartMenu&&(this.toolbar.lineStartMenu.getElementsByTagName("div")[0].className=this.getCssClassForMarker("start",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_STARTARROW],mxUtils.getValue(d.currentEdgeStyle,"startFill","1"))),null!=this.toolbar.lineEndMenu&&(this.toolbar.lineEndMenu.getElementsByTagName("div")[0].className= +this.getCssClassForMarker("end",d.currentEdgeStyle.shape,d.currentEdgeStyle[mxConstants.STYLE_ENDARROW],mxUtils.getValue(d.currentEdgeStyle,"endFill","1"))))}));null!=this.toolbar&&(a=mxUtils.bind(this,function(){var a=d.currentVertexStyle.fontFamily||"Helvetica",c=String(d.currentVertexStyle.fontSize||"12"),b=d.getView().getState(d.getSelectionCell());null!=b&&(a=b.style[mxConstants.STYLE_FONTFAMILY]||a,c=b.style[mxConstants.STYLE_FONTSIZE]||c,10<a.length&&(a=a.substring(0,8)+"..."));this.toolbar.setFontName(a); +this.toolbar.setFontSize(c)}),d.getSelectionModel().addListener(mxEvent.CHANGE,a),d.getModel().addListener(mxEvent.CHANGE,a));d.addListener(mxEvent.CELLS_ADDED,function(a,c){var b=c.getProperty("cells"),f=c.getProperty("parent");d.getModel().isLayer(f)&&!d.isCellVisible(f)&&null!=b&&0<b.length&&d.getModel().setVisible(f,!0)});this.gestureHandler=mxUtils.bind(this,function(a){null!=this.currentMenu&&mxEvent.getSource(a)!=this.currentMenu.div&&this.hideCurrentMenu()});mxEvent.addGestureListeners(document, this.gestureHandler);this.resizeHandler=mxUtils.bind(this,function(){window.setTimeout(mxUtils.bind(this,function(){null!=this.editor.graph&&this.refresh()}),0)});mxEvent.addListener(window,"resize",this.resizeHandler);this.orientationChangeHandler=mxUtils.bind(this,function(){this.refresh()});mxEvent.addListener(window,"orientationchange",this.orientationChangeHandler);mxClient.IS_IOS&&!window.navigator.standalone&&(this.scrollHandler=mxUtils.bind(this,function(){window.scrollTo(0,0)}),mxEvent.addListener(window, -"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){c.view.validateBackground()}));c.addListener("gridSizeChanged",mxUtils.bind(this,function(){c.isGridEnabled()&&c.view.validateBackground()}));this.editor.resetGraph();this.init();this.open()}; +"scroll",this.scrollHandler));this.editor.addListener("resetGraphView",mxUtils.bind(this,function(){this.resetScrollbars()}));this.addListener("gridEnabledChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));this.addListener("backgroundColorChanged",mxUtils.bind(this,function(){d.view.validateBackground()}));d.addListener("gridSizeChanged",mxUtils.bind(this,function(){d.isGridEnabled()&&d.view.validateBackground()}));this.editor.resetGraph();this.init();this.open()}; mxUtils.extend(EditorUi,mxEventSource);EditorUi.compactUi=!0;EditorUi.prototype.splitSize=mxClient.IS_TOUCH||mxClient.IS_POINTER?12:8;EditorUi.prototype.menubarHeight=30;EditorUi.prototype.formatEnabled=!0;EditorUi.prototype.formatWidth=240;EditorUi.prototype.toolbarHeight=34;EditorUi.prototype.footerHeight=28;EditorUi.prototype.sidebarFooterHeight=34;EditorUi.prototype.editButtonLink=null;EditorUi.prototype.hsplitPosition=640>=screen.width?118:208;EditorUi.prototype.allowAnimation=!0; EditorUi.prototype.lightboxMaxFitScale=2;EditorUi.prototype.lightboxVerticalDivider=4; EditorUi.prototype.init=function(){var a=this.editor.graph;mxEvent.addListener(a.container,"keydown",mxUtils.bind(this,function(a){this.onKeyDown(a)}));mxEvent.addListener(a.container,"keypress",mxUtils.bind(this,function(a){this.onKeyPress(a)}));this.addUndoListener();this.addBeforeUnloadListener();a.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()}));a.getModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){this.updateActionStates()})); var b=a.setDefaultParent,e=this;this.editor.graph.setDefaultParent=function(){b.apply(this,arguments);e.updateActionStates()};a.editLink=e.actions.get("editLink").funct;this.updateActionStates();this.initClipboard();this.initCanvas();null!=this.format&&this.format.init()};EditorUi.prototype.onKeyDown=function(a){var b=this.editor.graph;9==a.which&&b.isEnabled()&&!mxEvent.isAltDown(a)&&(b.isEditing()?b.stopEditing(!1):b.selectCell(!mxEvent.isShiftDown(a)),mxEvent.consume(a))}; EditorUi.prototype.onKeyPress=function(a){var b=this.editor.graph;!this.isImmediateEditingEvent(a)||b.isEditing()||b.isSelectionEmpty()||0===a.which||mxEvent.isAltDown(a)||mxEvent.isControlDown(a)||mxEvent.isMetaDown(a)||(b.escape(),b.startEditing(),mxClient.IS_FF&&(b=b.cellEditor,b.textarea.innerHTML=String.fromCharCode(a.which),a=document.createRange(),a.selectNodeContents(b.textarea),a.collapse(!1),b=window.getSelection(),b.removeAllRanges(),b.addRange(a)))}; EditorUi.prototype.isImmediateEditingEvent=function(a){return!0}; -EditorUi.prototype.getCssClassForMarker=function(a,b,e,c){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==c?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==c?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ -a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==c?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==c?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==c?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==c?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==c?"geSprite geSprite-"+a+"thindiamond": -"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==c?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==c||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ +EditorUi.prototype.getCssClassForMarker=function(a,b,e,d){return"flexArrow"==b?null!=e&&e!=mxConstants.NONE?"geSprite geSprite-"+a+"blocktrans":"geSprite geSprite-noarrow":e==mxConstants.ARROW_CLASSIC?"1"==d?"geSprite geSprite-"+a+"classic":"geSprite geSprite-"+a+"classictrans":e==mxConstants.ARROW_CLASSIC_THIN?"1"==d?"geSprite geSprite-"+a+"classicthin":"geSprite geSprite-"+a+"classicthintrans":e==mxConstants.ARROW_OPEN?"geSprite geSprite-"+a+"open":e==mxConstants.ARROW_OPEN_THIN?"geSprite geSprite-"+ +a+"openthin":e==mxConstants.ARROW_BLOCK?"1"==d?"geSprite geSprite-"+a+"block":"geSprite geSprite-"+a+"blocktrans":e==mxConstants.ARROW_BLOCK_THIN?"1"==d?"geSprite geSprite-"+a+"blockthin":"geSprite geSprite-"+a+"blockthintrans":e==mxConstants.ARROW_OVAL?"1"==d?"geSprite geSprite-"+a+"oval":"geSprite geSprite-"+a+"ovaltrans":e==mxConstants.ARROW_DIAMOND?"1"==d?"geSprite geSprite-"+a+"diamond":"geSprite geSprite-"+a+"diamondtrans":e==mxConstants.ARROW_DIAMOND_THIN?"1"==d?"geSprite geSprite-"+a+"thindiamond": +"geSprite geSprite-"+a+"thindiamondtrans":"openAsync"==e?"geSprite geSprite-"+a+"openasync":"dash"==e?"geSprite geSprite-"+a+"dash":"cross"==e?"geSprite geSprite-"+a+"cross":"async"==e?"1"==d?"geSprite geSprite-"+a+"async":"geSprite geSprite-"+a+"asynctrans":"circle"==e||"circlePlus"==e?"1"==d||"circle"==e?"geSprite geSprite-"+a+"circle":"geSprite geSprite-"+a+"circleplus":"ERone"==e?"geSprite geSprite-"+a+"erone":"ERmandOne"==e?"geSprite geSprite-"+a+"eronetoone":"ERmany"==e?"geSprite geSprite-"+ a+"ermany":"ERoneToMany"==e?"geSprite geSprite-"+a+"eronetomany":"ERzeroToOne"==e?"geSprite geSprite-"+a+"eroneopt":"ERzeroToMany"==e?"geSprite geSprite-"+a+"ermanyopt":"geSprite geSprite-noarrow"};EditorUi.prototype.createMenus=function(){return null}; EditorUi.prototype.updatePasteActionStates=function(){var a=this.editor.graph,b=this.actions.get("paste"),e=this.actions.get("pasteHere");b.setEnabled(this.editor.graph.cellEditor.isContentEditing()||!mxClipboard.isEmpty()&&a.isEnabled()&&!a.isCellLocked(a.getDefaultParent()));e.setEnabled(b.isEnabled())}; -EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(c){c.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var c=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste", -!1,null):e=c.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);a.updatePasteActionStates()};var l=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,c){l.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; -EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),d=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*d.width),this.scale*(this.translate.y+a.y*d.height),this.scale*a.width*d.width, -this.scale*a.height*d.height)};a.getPreferredPageSize=function(a,d,b){a=this.getPageLayout();d=this.getPageSize();return new mxRectangle(0,0,a.width*d.width,a.height*d.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(d,b,c,f){if(null!=a.container){c=null!=c?c:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),m=a.view.translate,h=a.view.scale,q=mxRectangle.fromRectangle(g); -q.x=q.x/h-m.x;q.y=q.y/h-m.y;q.width/=h;q.height/=h;var m=a.container.scrollTop,n=a.container.scrollLeft,u=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)u+=3;var t=a.container.offsetWidth-u,u=a.container.offsetHeight-u;d=d?Math.max(.3,Math.min(b||1,t/q.width)):h;b=(t-d*q.width)/2/d;var w=0==this.lightboxVerticalDivider?0:(u-d*q.height)/this.lightboxVerticalDivider/d;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<u)a.view.scaleAndTranslate(d, -Math.floor(b-q.x),Math.floor(w-q.y)),a.container.scrollTop=m*d/h,a.container.scrollLeft=n*d/h;else if(0!=c||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+c/h),Math.floor(g.y+f/h))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var c=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",c);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",c)});this.editor.addListener("resetGraphView", -mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(d){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(d){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= -"nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var d=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=d?parseInt(d["margin-bottom"]|| -0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",k);k();var l=0,k=mxUtils.bind(this,function(a,d,b){l++;var c=document.createElement("span");c.style.paddingLeft="8px";c.style.paddingRight="8px";c.style.cursor="pointer";mxEvent.addListener(c,"click",a);null!=b&&c.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",d);c.appendChild(a);this.chromelessToolbar.appendChild(c); -return c}),p=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),r=document.createElement("div");r.style.display="inline-block";r.style.verticalAlign="top";r.style.fontFamily="Helvetica,Arial";r.style.marginTop="8px";r.style.color="#ffffff";this.chromelessToolbar.appendChild(r);var v=k(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), -d=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(r.innerHTML="",mxUtils.write(r,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});p.style.paddingLeft="0px";p.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",p.style.display="",r.style.display="inline-block"):(v.style.display="none",p.style.display= -"none",r.style.display="none");d()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",d);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(d){a.isLightboxView()?(1==a.view.scale? -this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(d)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,m=null,t=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;m=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";m= -null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=m&&(window.clearTimeout(m),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(mxUtils.bind(this,function(d){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, +EditorUi.prototype.initClipboard=function(){var a=this,b=mxClipboard.cut;mxClipboard.cut=function(d){d.cellEditor.isContentEditing()?document.execCommand("cut",!1,null):b.apply(this,arguments);a.updatePasteActionStates()};var e=mxClipboard.copy;mxClipboard.copy=function(b){b.cellEditor.isContentEditing()?document.execCommand("copy",!1,null):e.apply(this,arguments);a.updatePasteActionStates()};var d=mxClipboard.paste;mxClipboard.paste=function(b){var e=null;b.cellEditor.isContentEditing()?document.execCommand("paste", +!1,null):e=d.apply(this,arguments);a.updatePasteActionStates();return e};var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);a.updatePasteActionStates()};var m=this.editor.graph.cellEditor.stopEditing;this.editor.graph.cellEditor.stopEditing=function(b,d){m.apply(this,arguments);a.updatePasteActionStates()};this.updatePasteActionStates()};EditorUi.prototype.lazyZoomDelay=20; +EditorUi.prototype.initCanvas=function(){var a=this.editor.graph;a.timerAutoScroll=!0;a.getPagePadding=function(){return new mxPoint(Math.max(0,Math.round((a.container.offsetWidth-34)/a.view.scale)),Math.max(0,Math.round((a.container.offsetHeight-34)/a.view.scale)))};a.view.getBackgroundPageBounds=function(){var a=this.graph.getPageLayout(),c=this.graph.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*c.width),this.scale*(this.translate.y+a.y*c.height),this.scale*a.width*c.width, +this.scale*a.height*c.height)};a.getPreferredPageSize=function(a,c,b){a=this.getPageLayout();c=this.getPageSize();return new mxRectangle(0,0,a.width*c.width,a.height*c.height)};var b=null,e=this;if(this.editor.isChromelessView()){this.chromelessResize=b=mxUtils.bind(this,function(c,b,d,f){if(null!=a.container){d=null!=d?d:0;f=null!=f?f:0;var g=a.pageVisible?a.view.getBackgroundPageBounds():a.getGraphBounds(),e=mxUtils.hasScrollbars(a.container),l=a.view.translate,u=a.view.scale,h=mxRectangle.fromRectangle(g); +h.x=h.x/u-l.x;h.y=h.y/u-l.y;h.width/=u;h.height/=u;var l=a.container.scrollTop,n=a.container.scrollLeft,q=mxClient.IS_QUIRKS||8<=document.documentMode?20:14;if(8==document.documentMode||9==document.documentMode)q+=3;var t=a.container.offsetWidth-q,q=a.container.offsetHeight-q;c=c?Math.max(.3,Math.min(b||1,t/h.width)):u;b=(t-c*h.width)/2/c;var w=0==this.lightboxVerticalDivider?0:(q-c*h.height)/this.lightboxVerticalDivider/c;e&&(b=Math.max(b,0),w=Math.max(w,0));if(e||g.width<t||g.height<q)a.view.scaleAndTranslate(c, +Math.floor(b-h.x),Math.floor(w-h.y)),a.container.scrollTop=l*c/u,a.container.scrollLeft=n*c/u;else if(0!=d||0!=f)g=a.view.translate,a.view.setTranslate(Math.floor(g.x+d/u),Math.floor(g.y+f/u))}});this.chromelessWindowResize=mxUtils.bind(this,function(){this.chromelessResize(!1)});var d=mxUtils.bind(this,function(){this.chromelessWindowResize(!1)});mxEvent.addListener(window,"resize",d);this.destroyFunctions.push(function(){mxEvent.removeListener(window,"resize",d)});this.editor.addListener("resetGraphView", +mxUtils.bind(this,function(){this.chromelessResize(!0)}));this.actions.get("zoomIn").funct=mxUtils.bind(this,function(c){a.zoomIn();this.chromelessResize(!1)});this.actions.get("zoomOut").funct=mxUtils.bind(this,function(c){a.zoomOut();this.chromelessResize(!1)});if("0"!=urlParams.toolbar){this.chromelessToolbar=document.createElement("div");this.chromelessToolbar.style.position="fixed";this.chromelessToolbar.style.overflow="hidden";this.chromelessToolbar.style.boxSizing="border-box";this.chromelessToolbar.style.whiteSpace= +"nowrap";this.chromelessToolbar.style.backgroundColor="#000000";this.chromelessToolbar.style.padding="10px 10px 8px 10px";this.chromelessToolbar.style.left="50%";mxClient.IS_VML||(mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"borderRadius","20px"),mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transition","opacity 600ms ease-in-out"));var k=mxUtils.bind(this,function(){var c=mxUtils.getCurrentStyle(a.container);this.chromelessToolbar.style.bottom=(null!=c?parseInt(c["margin-bottom"]|| +0):0)+(null!=this.tabContainer?20+parseInt(this.tabContainer.style.height):20)+"px"});this.editor.addListener("resetGraphView",k);k();var m=0,k=mxUtils.bind(this,function(a,c,b){m++;var d=document.createElement("span");d.style.paddingLeft="8px";d.style.paddingRight="8px";d.style.cursor="pointer";mxEvent.addListener(d,"click",a);null!=b&&d.setAttribute("title",b);a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",c);d.appendChild(a);this.chromelessToolbar.appendChild(d); +return d}),p=k(mxUtils.bind(this,function(a){this.actions.get("previousPage").funct();mxEvent.consume(a)}),Editor.previousLargeImage,mxResources.get("previousPage")),r=document.createElement("div");r.style.display="inline-block";r.style.verticalAlign="top";r.style.fontFamily="Helvetica,Arial";r.style.marginTop="8px";r.style.color="#ffffff";this.chromelessToolbar.appendChild(r);var v=k(mxUtils.bind(this,function(a){this.actions.get("nextPage").funct();mxEvent.consume(a)}),Editor.nextLargeImage,mxResources.get("nextPage")), +c=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&(r.innerHTML="",mxUtils.write(r,mxUtils.indexOf(this.pages,this.currentPage)+1+" / "+this.pages.length))});p.style.paddingLeft="0px";p.style.paddingRight="4px";v.style.paddingLeft="4px";v.style.paddingRight="0px";var f=mxUtils.bind(this,function(){null!=this.pages&&1<this.pages.length&&null!=this.currentPage?(v.style.display="",p.style.display="",r.style.display="inline-block"):(v.style.display="none",p.style.display= +"none",r.style.display="none");c()});this.editor.addListener("resetGraphView",f);this.editor.addListener("pageSelected",c);k(mxUtils.bind(this,function(a){this.actions.get("zoomOut").funct();mxEvent.consume(a)}),Editor.zoomOutLargeImage,mxResources.get("zoomOut")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(a){this.actions.get("zoomIn").funct();mxEvent.consume(a)}),Editor.zoomInLargeImage,mxResources.get("zoomIn")+" (Alt+Mousewheel)");k(mxUtils.bind(this,function(c){a.isLightboxView()?(1==a.view.scale? +this.lightboxFit():a.zoomTo(1),this.chromelessResize(!1)):this.chromelessResize(!0);mxEvent.consume(c)}),Editor.actualSizeLargeImage,mxResources.get("fit"));var g=null,u=null,t=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=u&&(window.clearTimeout(u),fadeThead2=null);g=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(this.chromelessToolbar,0);g=null;u=window.setTimeout(mxUtils.bind(this,function(){this.chromelessToolbar.style.display="none";u= +null}),600)}),a||200)}),h=mxUtils.bind(this,function(a){null!=g&&(window.clearTimeout(g),fadeThead=null);null!=u&&(window.clearTimeout(u),fadeThead2=null);this.chromelessToolbar.style.display="";mxUtils.setOpacity(this.chromelessToolbar,a||30)});if("1"==urlParams.layers){this.layersDialog=null;var n=k(mxUtils.bind(this,function(c){if(null!=this.layersDialog)this.layersDialog.parentNode.removeChild(this.layersDialog),this.layersDialog=null;else{this.layersDialog=a.createLayersDialog();mxEvent.addListener(this.layersDialog, "mouseleave",mxUtils.bind(this,function(){this.layersDialog.parentNode.removeChild(this.layersDialog);this.layersDialog=null}));var b=n.getBoundingClientRect();mxUtils.setPrefixedStyle(this.layersDialog.style,"borderRadius","5px");this.layersDialog.style.position="fixed";this.layersDialog.style.fontFamily="Helvetica,Arial";this.layersDialog.style.backgroundColor="#000000";this.layersDialog.style.width="160px";this.layersDialog.style.padding="4px 2px 4px 2px";this.layersDialog.style.color="#ffffff"; -mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(d)}),Editor.layersLargeImage,mxResources.get("layers")),q=a.getModel();q.addListener(mxEvent.CHANGE,function(){n.style.display=1<q.getChildCount(q.root)? -"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(d){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(d)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, +mxUtils.setOpacity(this.layersDialog,70);this.layersDialog.style.left=b.left+"px";this.layersDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";b=mxUtils.getCurrentStyle(this.editor.graph.container);this.layersDialog.style.zIndex=b.zIndex;document.body.appendChild(this.layersDialog)}mxEvent.consume(c)}),Editor.layersLargeImage,mxResources.get("layers")),l=a.getModel();l.addListener(mxEvent.CHANGE,function(){n.style.display=1<l.getChildCount(l.root)? +"":"none"})}this.addChromelessToolbarItems(k);null!=this.editor.editButtonLink&&k(mxUtils.bind(this,function(c){"_blank"==this.editor.editButtonLink?this.editor.editAsNew(this.getEditBlankXml()):a.openLink(this.editor.editButtonLink,"editWindow");mxEvent.consume(c)}),Editor.editLargeImage,mxResources.get("edit"));!a.lightbox||"1"!=urlParams.close&&this.container==document.body||k(mxUtils.bind(this,function(a){"1"==urlParams.close?window.close():(this.destroy(),mxEvent.consume(a))}),Editor.closeLargeImage, mxResources.get("close")+" (Escape)");this.chromelessToolbar.style.display="none";mxUtils.setPrefixedStyle(this.chromelessToolbar.style,"transform","translate(-50%,0)");a.container.appendChild(this.chromelessToolbar);mxEvent.addListener(a.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(mxEvent.isShiftDown(a)||h(30),t())}));mxEvent.addListener(this.chromelessToolbar,mxClient.IS_POINTER?"pointermove":"mousemove",function(a){mxEvent.consume(a)}); -mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(d,b){this.startX= -b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,d){},mouseUp:function(d,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-b.getGraphX())<w&&Math.abs(this.startY-b.getGraphY())<w&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?t():h(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var u= -a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),d=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*d.width;this.translate.y=a.y-(this.y0||0)*d.height}u.apply(this,arguments)};var y=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var d=this.getPageLayout(),b=this.getPagePadding(),c=this.getPageSize(),f=Math.ceil(2*b.x+d.width* -c.width),g=Math.ceil(2*b.y+d.height*c.height),e=a.minimumGraphSize;if(null==e||e.width!=f||e.height!=g)a.minimumGraphSize=new mxRectangle(0,0,f,g);f=b.x-d.x*c.width;b=b.y-d.y*c.height;this.autoTranslate||this.view.translate.x==f&&this.view.translate.y==b?y.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=d.x,this.view.y0=d.y,d=a.view.translate.x,c=a.view.translate.y,a.view.setTranslate(f,b),a.container.scrollLeft+=Math.round((f-d)*a.view.scale),a.container.scrollTop+=Math.round((b-c)*a.view.scale), -this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var E=null;a.lazyZoom=function(d){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);d?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= -(this.view.scale-.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){var d=mxUtils.getOffset(a.container),c=0,f=0;null!=E&&(c=a.container.offsetWidth/2-E.x+d.x,f=a.container.offsetHeight/2-E.y+d.y);d=this.view.scale; -this.zoom(this.cumulativeZoomFactor);this.view.scale!=d&&(null!=b&&e.chromelessResize(!1,null,c*(this.cumulativeZoomFactor-1),f*(this.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==c&&0==f||(a.container.scrollLeft-=c*(this.cumulativeZoomFactor-1),a.container.scrollTop-=f*(this.cumulativeZoomFactor-1)));this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),this.lazyZoomDelay)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(d,b){if((null==this.dialogs||0==this.dialogs.length)&& -a.isZoomWheelEvent(d))for(var c=mxEvent.getSource(d);null!=c;){if(c==a.container){E=new mxPoint(mxEvent.getClientX(d),mxEvent.getClientY(d));a.lazyZoom(b);mxEvent.consume(d);break}c=c.parentNode}}))};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; +mxEvent.addListener(this.chromelessToolbar,"mouseenter",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100)}));mxEvent.addListener(this.chromelessToolbar,"mousemove",mxUtils.bind(this,function(a){mxEvent.isShiftDown(a)?t():h(100);mxEvent.consume(a)}));mxEvent.addListener(this.chromelessToolbar,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||h(30)}));var w=a.getTolerance();a.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(c,b){this.startX= +b.getGraphX();this.startY=b.getGraphY();this.scrollLeft=a.container.scrollLeft;this.scrollTop=a.container.scrollTop},mouseMove:function(a,c){},mouseUp:function(c,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-a.container.scrollLeft)<w&&Math.abs(this.scrollTop-a.container.scrollTop)<w&&Math.abs(this.startX-b.getGraphX())<w&&Math.abs(this.startY-b.getGraphY())<w&&(0<parseFloat(e.chromelessToolbar.style.opacity||0)?t():h(30))}})}this.editor.editable||this.addChromelessClickHandler()}else if(this.editor.extendCanvas){var q= +a.view.validate;a.view.validate=function(){if(null!=this.graph.container&&mxUtils.hasScrollbars(this.graph.container)){var a=this.graph.getPagePadding(),c=this.graph.getPageSize();this.translate.x=a.x-(this.x0||0)*c.width;this.translate.y=a.y-(this.y0||0)*c.height}q.apply(this,arguments)};var y=a.sizeDidChange;a.sizeDidChange=function(){if(null!=this.container&&mxUtils.hasScrollbars(this.container)){var c=this.getPageLayout(),b=this.getPagePadding(),d=this.getPageSize(),f=Math.ceil(2*b.x+c.width* +d.width),g=Math.ceil(2*b.y+c.height*d.height),e=a.minimumGraphSize;if(null==e||e.width!=f||e.height!=g)a.minimumGraphSize=new mxRectangle(0,0,f,g);f=b.x-c.x*d.width;b=b.y-c.y*d.height;this.autoTranslate||this.view.translate.x==f&&this.view.translate.y==b?y.apply(this,arguments):(this.autoTranslate=!0,this.view.x0=c.x,this.view.y0=c.y,c=a.view.translate.x,d=a.view.translate.y,a.view.setTranslate(f,b),a.container.scrollLeft+=Math.round((f-c)*a.view.scale),a.container.scrollTop+=Math.round((b-d)*a.view.scale), +this.autoTranslate=!1)}}}a.updateZoomTimeout=null;a.cumulativeZoomFactor=1;var D=null;a.lazyZoom=function(c){null!=this.updateZoomTimeout&&window.clearTimeout(this.updateZoomTimeout);c?.15>this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor=(this.view.scale+.01)/this.view.scale:(this.cumulativeZoomFactor*=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale):.15>=this.view.scale*this.cumulativeZoomFactor?this.cumulativeZoomFactor= +(this.view.scale-.01)/this.view.scale:(this.cumulativeZoomFactor/=this.zoomFactor,this.cumulativeZoomFactor=Math.round(this.view.scale*this.cumulativeZoomFactor*20)/20/this.view.scale);this.cumulativeZoomFactor=Math.max(.01,Math.min(this.view.scale*this.cumulativeZoomFactor,160)/this.view.scale);this.updateZoomTimeout=window.setTimeout(mxUtils.bind(this,function(){var c=mxUtils.getOffset(a.container),d=0,f=0;null!=D&&(d=a.container.offsetWidth/2-D.x+c.x,f=a.container.offsetHeight/2-D.y+c.y);c=this.view.scale; +this.zoom(this.cumulativeZoomFactor);this.view.scale!=c&&(null!=b&&e.chromelessResize(!1,null,d*(this.cumulativeZoomFactor-1),f*(this.cumulativeZoomFactor-1)),!mxUtils.hasScrollbars(a.container)||0==d&&0==f||(a.container.scrollLeft-=d*(this.cumulativeZoomFactor-1),a.container.scrollTop-=f*(this.cumulativeZoomFactor-1)));this.cumulativeZoomFactor=1;this.updateZoomTimeout=null}),this.lazyZoomDelay)};mxEvent.addMouseWheelListener(mxUtils.bind(this,function(c,b){if((null==this.dialogs||0==this.dialogs.length)&& +a.isZoomWheelEvent(c))for(var d=mxEvent.getSource(c);null!=d;){if(d==a.container){D=new mxPoint(mxEvent.getClientX(c),mxEvent.getClientY(c));a.lazyZoom(b);mxEvent.consume(c);break}d=d.parentNode}}))};EditorUi.prototype.addChromelessToolbarItems=function(a){a(mxUtils.bind(this,function(a){this.actions.get("print").funct();mxEvent.consume(a)}),Editor.printLargeImage,mxResources.get("print"))}; EditorUi.prototype.createTemporaryGraph=function(a){a=new Graph(document.createElement("div"),null,null,a);a.resetViewOnRootChange=!1;a.setConnectable(!1);a.gridEnabled=!1;a.autoScroll=!1;a.setTooltips(!1);a.setEnabled(!1);a.container.style.visibility="hidden";a.container.style.position="absolute";a.container.style.overflow="hidden";a.container.style.height="1px";a.container.style.width="1px";return a}; EditorUi.prototype.addChromelessClickHandler=function(){var a=urlParams.highlight;null!=a&&0<a.length&&(a="#"+a);this.editor.graph.addClickHandler(a)};EditorUi.prototype.toggleFormatPanel=function(a){this.formatWidth=a||0<this.formatWidth?0:240;this.formatContainer.style.display=a||0<this.formatWidth?"":"none";this.refresh();this.format.refresh();this.fireEvent(new mxEventObject("formatWidthChanged"))}; EditorUi.prototype.lightboxFit=function(a){if(this.isDiagramEmpty())this.editor.graph.view.setScale(1);else{var b=urlParams.border,e=60;null!=b&&(e=parseInt(b));this.editor.graph.maxFitScale=this.lightboxMaxFitScale;this.editor.graph.fit(e,null,null,null,null,null,a);this.editor.graph.maxFitScale=null}};EditorUi.prototype.isDiagramEmpty=function(){var a=this.editor.graph.getModel();return 1==a.getChildCount(a.root)&&0==a.getChildCount(a.getChildAt(a.root,0))}; EditorUi.prototype.isSelectionAllowed=function(a){return"SELECT"==mxEvent.getSource(a).nodeName||"INPUT"==mxEvent.getSource(a).nodeName&&mxUtils.isAncestorNode(this.formatContainer,mxEvent.getSource(a))};EditorUi.prototype.addBeforeUnloadListener=function(){window.onbeforeunload=mxUtils.bind(this,function(){if(!this.editor.isChromelessView())return this.onBeforeUnload()})};EditorUi.prototype.onBeforeUnload=function(){if(this.editor.modified)return mxResources.get("allChangesLost")}; -EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(c){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+c.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); +EditorUi.prototype.open=function(){try{null!=window.opener&&null!=window.opener.openFile&&window.opener.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var e=mxUtils.parseXml(a);this.editor.setGraphXml(e.documentElement);this.editor.setModified(!1);this.editor.undoManager.clear();null!=b&&(this.editor.setFilename(b),this.updateDocumentTitle())}catch(d){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+d.message)}}))}catch(a){}this.editor.graph.view.validate();this.editor.graph.sizeDidChange(); this.editor.fireEvent(new mxEventObject("resetGraphView"))};EditorUi.prototype.setCurrentMenu=function(a,b){this.currentMenuElt=b;this.currentMenu=a};EditorUi.prototype.resetCurrentMenu=function(){this.currentMenu=this.currentMenuElt=null};EditorUi.prototype.hideCurrentMenu=function(){null!=this.currentMenu&&(this.currentMenu.hideMenu(),this.resetCurrentMenu())}; EditorUi.prototype.updateDocumentTitle=function(){var a=this.editor.getOrCreateFilename();null!=this.editor.appName&&(a+=" - "+this.editor.appName);document.title=a};EditorUi.prototype.createHoverIcons=function(){return new HoverIcons(this.editor.graph)};EditorUi.prototype.redo=function(){try{this.editor.graph.isEditing()?document.execCommand("redo",!1,null):this.editor.undoManager.redo()}catch(a){}}; EditorUi.prototype.undo=function(){try{var a=this.editor.graph;if(a.isEditing()){var b=a.cellEditor.textarea.innerHTML;document.execCommand("undo",!1,null);b==a.cellEditor.textarea.innerHTML&&(a.stopEditing(!0),this.editor.undoManager.undo())}else this.editor.undoManager.undo()}catch(e){}};EditorUi.prototype.canRedo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canRedo()};EditorUi.prototype.canUndo=function(){return this.editor.graph.isEditing()||this.editor.undoManager.canUndo()}; @@ -2119,26 +2119,26 @@ EditorUi.prototype.resetScrollbars=function(){var a=this.editor.graph;if(!this.e 1;b=a.getGraphBounds();0<b.width&&0<b.height&&(b.x>a.container.scrollLeft+.9*a.container.clientWidth&&(a.container.scrollLeft=Math.min(b.x+b.width-a.container.clientWidth,b.x-10)),b.y>a.container.scrollTop+.9*a.container.clientHeight&&(a.container.scrollTop=Math.min(b.y+b.height-a.container.clientHeight,b.y-10)))}else{var b=a.getGraphBounds(),e=Math.max(b.width,a.scrollTileSize.width*a.view.scale);a.container.scrollTop=Math.floor(Math.max(0,b.y-Math.max(20,(a.container.clientHeight-Math.max(b.height, a.scrollTileSize.height*a.view.scale))/4)));a.container.scrollLeft=Math.floor(Math.max(0,b.x-Math.max(0,(a.container.clientWidth-e)/2)))}else a.pageVisible?(b=a.view.getBackgroundPageBounds(),a.view.setTranslate(Math.floor(Math.max(0,(a.container.clientWidth-b.width)/2)-b.x),Math.floor(Math.max(0,(a.container.clientHeight-b.height)/2)-b.y))):(b=a.getGraphBounds(),a.view.setTranslate(Math.floor(Math.max(0,Math.max(0,(a.container.clientWidth-b.width)/2)-b.x)),Math.floor(Math.max(0,Math.max(20,(a.container.clientHeight- b.height)/4))-b.y)))}; -EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),c=0,k=0;e&&(c=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-c,b.container.scrollTop=b.view.translate.y* -b.view.scale-k);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,c){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=c;this.ignoreImage=this.ignoreColor=!1} +EditorUi.prototype.setPageVisible=function(a){var b=this.editor.graph,e=mxUtils.hasScrollbars(b.container),d=0,k=0;e&&(d=b.view.translate.x*b.view.scale-b.container.scrollLeft,k=b.view.translate.y*b.view.scale-b.container.scrollTop);b.pageVisible=a;b.pageBreaksVisible=a;b.preferPageSize=a;b.view.validateBackground();e&&(a=b.getSelectionCells(),b.clearSelection(),b.setSelectionCells(a));b.sizeDidChange();e&&(b.container.scrollLeft=b.view.translate.x*b.view.scale-d,b.container.scrollTop=b.view.translate.y* +b.view.scale-k);this.fireEvent(new mxEventObject("pageViewChanged"))};function ChangePageSetup(a,b,e,d){this.ui=a;this.previousColor=this.color=b;this.previousImage=this.image=e;this.previousFormat=this.format=d;this.ignoreImage=this.ignoreColor=!1} ChangePageSetup.prototype.execute=function(){var a=this.ui.editor.graph;if(!this.ignoreColor){this.color=this.previousColor;var b=a.background;this.ui.setBackgroundColor(this.previousColor);this.previousColor=b}this.ignoreImage||(this.image=this.previousImage,b=a.backgroundImage,this.ui.setBackgroundImage(this.previousImage),this.previousImage=b);null!=this.previousFormat&&(this.format=this.previousFormat,b=a.pageFormat,this.previousFormat.width!=b.width||this.previousFormat.height!=b.height)&&(this.ui.setPageFormat(this.previousFormat), -this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);return c};mxCodecRegistry.register(a)})(); +this.previousFormat=b);null!=this.foldingEnabled&&this.foldingEnabled!=this.ui.editor.graph.foldingEnabled&&(this.ui.setFoldingEnabled(this.foldingEnabled),this.foldingEnabled=!this.foldingEnabled)};(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);return d};mxCodecRegistry.register(a)})(); EditorUi.prototype.setBackgroundColor=function(a){this.editor.graph.background=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("backgroundColorChanged"))};EditorUi.prototype.setFoldingEnabled=function(a){this.editor.graph.foldingEnabled=a;this.editor.graph.view.revalidate();this.fireEvent(new mxEventObject("foldingEnabledChanged"))}; EditorUi.prototype.setPageFormat=function(a){this.editor.graph.pageFormat=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageFormatChanged"))};EditorUi.prototype.setPageScale=function(a){this.editor.graph.pageScale=a;this.editor.graph.pageVisible?(this.editor.graph.view.validateBackground(),this.editor.graph.sizeDidChange()):this.actions.get("pageView").funct();this.fireEvent(new mxEventObject("pageScaleChanged"))}; EditorUi.prototype.setGridColor=function(a){this.editor.graph.view.gridColor=a;this.editor.graph.view.validateBackground();this.fireEvent(new mxEventObject("gridColorChanged"))}; -EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,c=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,c);e.addListener(mxEvent.UNDO,c);e.addListener(mxEvent.REDO,c);e.addListener(mxEvent.CLEAR,c);var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);c()};var l=this.editor.graph.cellEditor.stopEditing; -this.editor.graph.cellEditor.stopEditing=function(a,b){l.apply(this,arguments);c()};c()}; -EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,c=!1,k=a.getSelectionCells();if(null!=k)for(var l=0;l<k.length;l++){var p=k[l];a.getModel().isEdge(p)&&(c=!0);a.getModel().isVertex(p)&&(e=!0);if(c&&e)break}k="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(l= -0;l<k.length;l++)this.actions.get(k[l]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(c);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);c=e&&1==a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()|| -c&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||c&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(c&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot);this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())|| -0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b);this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1== -a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&&e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount()); -this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()}; -EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,c=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,c=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var k=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& -(k=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var l=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var r=0;if(null!=this.sidebarFooterContainer){var v= -this.footerHeight+k,r=Math.max(0,Math.min(c-p-v,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=l+"px";this.sidebarFooterContainer.style.height=r+"px";this.sidebarFooterContainer.style.bottom=v+"px"}v=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=l+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=v+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= -null!=this.hsplit.parentNode?l+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+k+"px";this.hsplit.style.left=l+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);b?(this.menubarContainer.style.width=e+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, -b=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-r+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-l-this.splitSize-v)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,r=Math.max(0,c-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= +EditorUi.prototype.addUndoListener=function(){var a=this.actions.get("undo"),b=this.actions.get("redo"),e=this.editor.undoManager,d=mxUtils.bind(this,function(){a.setEnabled(this.canUndo());b.setEnabled(this.canRedo())});e.addListener(mxEvent.ADD,d);e.addListener(mxEvent.UNDO,d);e.addListener(mxEvent.REDO,d);e.addListener(mxEvent.CLEAR,d);var k=this.editor.graph.cellEditor.startEditing;this.editor.graph.cellEditor.startEditing=function(){k.apply(this,arguments);d()};var m=this.editor.graph.cellEditor.stopEditing; +this.editor.graph.cellEditor.stopEditing=function(a,b){m.apply(this,arguments);d()};d()}; +EditorUi.prototype.updateActionStates=function(){var a=this.editor.graph,b=!a.isSelectionEmpty(),e=!1,d=!1,k=a.getSelectionCells();if(null!=k)for(var m=0;m<k.length;m++){var p=k[m];a.getModel().isEdge(p)&&(d=!0);a.getModel().isVertex(p)&&(e=!0);if(d&&e)break}k="cut copy bold italic underline delete duplicate editStyle editTooltip editLink backgroundColor borderColor edit toFront toBack lockUnlock solid dashed pasteSize dotted fillColor gradientColor shadow fontColor formattedText rounded toggleRounded sharp strokeColor".split(" ");for(m= +0;m<k.length;m++)this.actions.get(k[m]).setEnabled(b);this.actions.get("setAsDefaultStyle").setEnabled(1==a.getSelectionCount());this.actions.get("clearWaypoints").setEnabled(!a.isSelectionEmpty());this.actions.get("copySize").setEnabled(1==a.getSelectionCount());this.actions.get("turn").setEnabled(!a.isSelectionEmpty());this.actions.get("curved").setEnabled(d);this.actions.get("rotation").setEnabled(e);this.actions.get("wordWrap").setEnabled(e);this.actions.get("autosize").setEnabled(e);d=e&&1== +a.getSelectionCount();this.actions.get("group").setEnabled(1<a.getSelectionCount()||d&&!a.isContainer(a.getSelectionCell()));this.actions.get("ungroup").setEnabled(1==a.getSelectionCount()&&(0<a.getModel().getChildCount(a.getSelectionCell())||d&&a.isContainer(a.getSelectionCell())));this.actions.get("removeFromGroup").setEnabled(d&&a.getModel().isVertex(a.getModel().getParent(a.getSelectionCell())));a.view.getState(a.getSelectionCell());this.menus.get("navigation").setEnabled(b||null!=a.view.currentRoot); +this.actions.get("collapsible").setEnabled(e&&(a.isContainer(a.getSelectionCell())||0<a.model.getChildCount(a.getSelectionCell())));this.actions.get("home").setEnabled(null!=a.view.currentRoot);this.actions.get("exitGroup").setEnabled(null!=a.view.currentRoot);this.actions.get("enterGroup").setEnabled(1==a.getSelectionCount()&&a.isValidRoot(a.getSelectionCell()));b=1==a.getSelectionCount()&&a.isCellFoldable(a.getSelectionCell());this.actions.get("expand").setEnabled(b);this.actions.get("collapse").setEnabled(b); +this.actions.get("editLink").setEnabled(1==a.getSelectionCount());this.actions.get("openLink").setEnabled(1==a.getSelectionCount()&&null!=a.getLinkForCell(a.getSelectionCell()));this.actions.get("guides").setEnabled(a.isEnabled());this.actions.get("grid").setEnabled(!this.editor.chromeless||this.editor.editable);b=a.isEnabled()&&!a.isCellLocked(a.getDefaultParent());this.menus.get("layout").setEnabled(b);this.menus.get("insert").setEnabled(b);this.menus.get("direction").setEnabled(b&&e);this.menus.get("align").setEnabled(b&& +e&&1<a.getSelectionCount());this.menus.get("distribute").setEnabled(b&&e&&1<a.getSelectionCount());this.actions.get("selectVertices").setEnabled(b);this.actions.get("selectEdges").setEnabled(b);this.actions.get("selectAll").setEnabled(b);this.actions.get("selectNone").setEnabled(b);this.updatePasteActionStates()}; +EditorUi.prototype.refresh=function(a){a=null!=a?a:!0;var b=mxClient.IS_IE&&(null==document.documentMode||5==document.documentMode),e=this.container.clientWidth,d=this.container.clientHeight;this.container==document.body&&(e=document.body.clientWidth||document.documentElement.clientWidth,d=b?document.body.clientHeight||document.documentElement.clientHeight:document.documentElement.clientHeight);var k=0;mxClient.IS_IOS&&!window.navigator.standalone&&window.innerHeight!=document.documentElement.clientHeight&& +(k=document.documentElement.clientHeight-window.innerHeight,window.scrollTo(0,0));var m=Math.max(0,Math.min(this.hsplitPosition,e-this.splitSize-20)),p=0;null!=this.menubar&&(this.menubarContainer.style.height=this.menubarHeight+"px",p+=this.menubarHeight);null!=this.toolbar&&(this.toolbarContainer.style.top=this.menubarHeight+"px",this.toolbarContainer.style.height=this.toolbarHeight+"px",p+=this.toolbarHeight);0<p&&!mxClient.IS_QUIRKS&&(p+=1);var r=0;if(null!=this.sidebarFooterContainer){var v= +this.footerHeight+k,r=Math.max(0,Math.min(d-p-v,this.sidebarFooterHeight));this.sidebarFooterContainer.style.width=m+"px";this.sidebarFooterContainer.style.height=r+"px";this.sidebarFooterContainer.style.bottom=v+"px"}v=null!=this.format?this.formatWidth:0;this.sidebarContainer.style.top=p+"px";this.sidebarContainer.style.width=m+"px";this.formatContainer.style.top=p+"px";this.formatContainer.style.width=v+"px";this.formatContainer.style.display=null!=this.format?"":"none";this.diagramContainer.style.left= +null!=this.hsplit.parentNode?m+this.splitSize+"px":"0px";this.diagramContainer.style.top=this.sidebarContainer.style.top;this.footerContainer.style.height=this.footerHeight+"px";this.hsplit.style.top=this.sidebarContainer.style.top;this.hsplit.style.bottom=this.footerHeight+k+"px";this.hsplit.style.left=m+"px";null!=this.tabContainer&&(this.tabContainer.style.left=this.diagramContainer.style.left);b?(this.menubarContainer.style.width=e+"px",this.toolbarContainer.style.width=this.menubarContainer.style.width, +b=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),this.sidebarContainer.style.height=b-r+"px",this.formatContainer.style.height=b+"px",this.diagramContainer.style.width=null!=this.hsplit.parentNode?Math.max(0,e-m-this.splitSize-v)+"px":e+"px",this.footerContainer.style.width=this.menubarContainer.style.width,r=Math.max(0,d-this.footerHeight-this.menubarHeight-this.toolbarHeight),null!=this.tabContainer&&(this.tabContainer.style.width=this.diagramContainer.style.width,this.tabContainer.style.bottom= this.footerHeight+k+"px",r-=this.tabContainer.clientHeight),this.diagramContainer.style.height=r+"px",this.hsplit.style.height=r+"px"):(0<this.footerHeight&&(this.footerContainer.style.bottom=k+"px"),this.diagramContainer.style.right=v+"px",e=0,null!=this.tabContainer&&(this.tabContainer.style.bottom=this.footerHeight+k+"px",this.tabContainer.style.right=this.diagramContainer.style.right,e=this.tabContainer.clientHeight),this.sidebarContainer.style.bottom=this.footerHeight+r+k+"px",this.formatContainer.style.bottom= this.footerHeight+k+"px",this.diagramContainer.style.bottom=this.footerHeight+k+e+"px");a&&this.editor.graph.sizeDidChange()};EditorUi.prototype.createTabContainer=function(){return null}; EditorUi.prototype.createDivs=function(){this.menubarContainer=this.createDiv("geMenubarContainer");this.toolbarContainer=this.createDiv("geToolbarContainer");this.sidebarContainer=this.createDiv("geSidebarContainer");this.formatContainer=this.createDiv("geSidebarContainer geFormatContainer");this.diagramContainer=this.createDiv("geDiagramContainer");this.footerContainer=this.createDiv("geFooterContainer");this.hsplit=this.createDiv("geHsplit");this.hsplit.setAttribute("title",mxResources.get("collapseExpand")); @@ -2149,109 +2149,110 @@ this.sidebar=this.editor.chromeless?null:this.createSidebar(this.sidebarContaine this.container.appendChild(this.sidebarFooterContainer);this.container.appendChild(this.diagramContainer);null!=this.container&&null!=this.tabContainer&&this.container.appendChild(this.tabContainer);this.toolbar=this.editor.chromeless?null:this.createToolbar(this.createDiv("geToolbar"));null!=this.toolbar&&(this.toolbarContainer.appendChild(this.toolbar.container),this.container.appendChild(this.toolbarContainer));null!=this.sidebar&&(this.container.appendChild(this.hsplit),this.addSplitHandler(this.hsplit, !0,0,mxUtils.bind(this,function(a){this.hsplitPosition=a;this.refresh()})))};EditorUi.prototype.createStatusContainer=function(){var a=document.createElement("a");a.className="geItem geStatus";420>screen.width&&(a.style.maxWidth=Math.max(20,screen.width-320)+"px",a.style.overflow="hidden");return a};EditorUi.prototype.setStatusText=function(a){this.statusContainer.innerHTML=a};EditorUi.prototype.createToolbar=function(a){return new Toolbar(this,a)}; EditorUi.prototype.createSidebar=function(a){return new Sidebar(this,a)};EditorUi.prototype.createFormat=function(a){return new Format(this,a)};EditorUi.prototype.createFooter=function(){return this.createDiv("geFooter")};EditorUi.prototype.createDiv=function(a){var b=document.createElement("div");b.className=a;return b}; -EditorUi.prototype.addSplitHandler=function(a,b,e,c){function k(a){if(null!=p){var g=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));c(Math.max(0,r+(b?g.x-p.x:p.y-g.y)-e));mxEvent.consume(a);r!=f()&&(v=!0,d=null)}}function l(a){k(a);p=r=null}var p=null,r=null,v=!0,d=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var f=mxUtils.bind(this,function(){var d=parseInt(b?a.style.left:a.style.bottom);b||(d=d+e-this.footerHeight);return d});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), -mxEvent.getClientY(a));r=f();v=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!v){var b=null!=d?d-e:0;d=f();c(b);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,k,l);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,k,l)})};EditorUi.prototype.showDialog=function(a,b,e,c,k,l,p){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,c,k,l,p);this.dialogs.push(this.dialog)}; +EditorUi.prototype.addSplitHandler=function(a,b,e,d){function k(a){if(null!=p){var g=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a));d(Math.max(0,r+(b?g.x-p.x:p.y-g.y)-e));mxEvent.consume(a);r!=f()&&(v=!0,c=null)}}function m(a){k(a);p=r=null}var p=null,r=null,v=!0,c=null;mxClient.IS_POINTER&&(a.style.touchAction="none");var f=mxUtils.bind(this,function(){var c=parseInt(b?a.style.left:a.style.bottom);b||(c=c+e-this.footerHeight);return c});mxEvent.addGestureListeners(a,function(a){p=new mxPoint(mxEvent.getClientX(a), +mxEvent.getClientY(a));r=f();v=!1;mxEvent.consume(a)});mxEvent.addListener(a,"click",function(a){if(!v){var b=null!=c?c-e:0;c=f();d(b);mxEvent.consume(a)}});mxEvent.addGestureListeners(document,null,k,m);this.destroyFunctions.push(function(){mxEvent.removeGestureListeners(document,null,k,m)})};EditorUi.prototype.showDialog=function(a,b,e,d,k,m,p){this.editor.graph.tooltipHandler.hideTooltip();null==this.dialogs&&(this.dialogs=[]);this.dialog=new Dialog(this,a,b,e,d,k,m,p);this.dialogs.push(this.dialog)}; EditorUi.prototype.hideDialog=function(a){null!=this.dialogs&&0<this.dialogs.length&&(this.dialogs.pop().close(a),this.dialog=0<this.dialogs.length?this.dialogs[this.dialogs.length-1]:null,null==this.dialog&&"hidden"!=this.editor.graph.container.style.visibility&&this.editor.graph.container.focus(),mxUtils.clearSelection(),this.editor.fireEvent(new mxEventObject("hideDialog")))}; -EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,c=e.cellEditor.saveSelection(),k=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(c);b(a)},function(){e.cellEditor.restoreSelection(c)});this.showDialog(k.container,230,430,!0,!1);k.init()}; +EditorUi.prototype.pickColor=function(a,b){var e=this.editor.graph,d=e.cellEditor.saveSelection(),k=new ColorDialog(this,a||"none",function(a){e.cellEditor.restoreSelection(d);b(a)},function(){e.cellEditor.restoreSelection(d)});this.showDialog(k.container,230,430,!0,!1);k.init()}; EditorUi.prototype.openFile=function(){window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));this.showDialog((new OpenDialog(this)).container,Editor.useLocalStorage?640:320,Editor.useLocalStorage?480:220,!0,!0,function(){window.openFile=null})}; -EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var c=a.lastIndexOf("</mxGraphModel>");c>e&&(b=a.substring(e,c+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(k){}return b}; +EditorUi.prototype.extractGraphModelFromHtml=function(a){var b=null;try{var e=a.indexOf("<mxGraphModel ");if(0<=e){var d=a.lastIndexOf("</mxGraphModel>");d>e&&(b=a.substring(e,d+21).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}}catch(k){}return b}; EditorUi.prototype.extractGraphModelFromEvent=function(a){var b=null,e=null;null!=a&&(a=null!=a.dataTransfer?a.dataTransfer:a.clipboardData,null!=a&&(10==document.documentMode||11==document.documentMode?e=a.getData("Text"):(e=0<=mxUtils.indexOf(a.types,"text/html")?a.getData("text/html"):null,mxUtils.indexOf(a.types,null==e||0==e.length)&&(e=a.getData("text/plain"))),null!=e&&(e=this.editor.graph.zapGremlins(mxUtils.trim(e)),a=this.extractGraphModelFromHtml(e),null!=a&&(e=a))));null!=e&&this.isCompatibleString(e)&& (b=e);return b};EditorUi.prototype.isCompatibleString=function(a){return!1};EditorUi.prototype.saveFile=function(a){a||null==this.editor.filename?(a=new FilenameDialog(this,this.editor.getOrCreateFilename(),mxResources.get("save"),mxUtils.bind(this,function(a){this.save(a)}),null,mxUtils.bind(this,function(a){if(null!=a&&0<a.length)return!0;mxUtils.confirm(mxResources.get("invalidName"));return!1})),this.showDialog(a.container,300,100,!0,!0),a.init()):this.save(this.editor.getOrCreateFilename())}; EditorUi.prototype.save=function(a){if(null!=a){this.editor.graph.isEditing()&&this.editor.graph.stopEditing();var b=mxUtils.getXml(this.editor.getGraphXml());try{if(Editor.useLocalStorage){if(null!=localStorage.getItem(a)&&!mxUtils.confirm(mxResources.get("replaceIt",[a])))return;localStorage.setItem(a,b);this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saved"))+" "+new Date)}else if(b.length<MAX_REQUEST_SIZE)(new mxXmlRequest(SAVE_URL,"filename="+encodeURIComponent(a)+"&xml="+encodeURIComponent(b))).simulate(document, "_blank");else{mxUtils.alert(mxResources.get("drawingTooLarge"));mxUtils.popup(b);return}this.editor.setModified(!1);this.editor.setFilename(a);this.updateDocumentTitle()}catch(e){this.editor.setStatus(mxUtils.htmlEntities(mxResources.get("errorSavingFile")))}}}; -EditorUi.prototype.executeLayout=function(a,b,e){var c=this.editor.graph;if(c.isEnabled()){c.getModel().beginUpdate();try{a()}catch(k){throw k;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(c),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){c.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(c.getModel().endUpdate(),null!=e&&e())}}}; -EditorUi.prototype.showImageDialog=function(a,b,e,c){c=this.editor.graph.cellEditor;var k=c.saveSelection(),l=mxUtils.prompt(a,b);c.restoreSelection(k);if(null!=l&&0<l.length){var p=new Image;p.onload=function(){e(l,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=l}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.executeLayout=function(a,b,e){var d=this.editor.graph;if(d.isEnabled()){d.getModel().beginUpdate();try{a()}catch(k){throw k;}finally{this.allowAnimation&&b&&0>navigator.userAgent.indexOf("Camino")?(a=new mxMorphing(d),a.addListener(mxEvent.DONE,mxUtils.bind(this,function(){d.getModel().endUpdate();null!=e&&e()})),a.startAnimation()):(d.getModel().endUpdate(),null!=e&&e())}}}; +EditorUi.prototype.showImageDialog=function(a,b,e,d){d=this.editor.graph.cellEditor;var k=d.saveSelection(),m=mxUtils.prompt(a,b);d.restoreSelection(k);if(null!=m&&0<m.length){var p=new Image;p.onload=function(){e(m,p.width,p.height)};p.onerror=function(){e(null);mxUtils.alert(mxResources.get("fileNotFound"))};p.src=m}else e(null)};EditorUi.prototype.showLinkDialog=function(a,b,e){a=new LinkDialog(this,a,b,e);this.showDialog(a.container,420,90,!0,!0);a.init()}; +EditorUi.prototype.showDataDialog=function(a){null!=a&&(a=new EditDataDialog(this,a),this.showDialog(a.container,340,340,!0,!1,null,!1),a.init())}; EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor=!0;this.editor.graph.model.execute(a)});var b=mxUtils.prompt(mxResources.get("backgroundImage"),"");if(null!=b&&0<b.length){var e=new Image;e.onload=function(){a(new mxImage(b,e.width,e.height))};e.onerror=function(){a(null);mxUtils.alert(mxResources.get("fileNotFound"))};e.src=b}else a(null)}; EditorUi.prototype.setBackgroundImage=function(a){this.editor.graph.setBackgroundImage(a);this.editor.graph.view.validateBackgroundImage();this.fireEvent(new mxEventObject("backgroundImageChanged"))};EditorUi.prototype.confirm=function(a,b,e){mxUtils.confirm(a)?null!=b&&b():null!=e&&e()}; EditorUi.prototype.createOutline=function(a){var b=new mxOutline(this.editor.graph);b.border=20;mxEvent.addListener(window,"resize",function(){b.update()});this.addListener("pageFormatChanged",function(){b.update()});return b}; -EditorUi.prototype.createKeyHandler=function(a){function b(a,d,b){p.push(function(){if(!c.isSelectionEmpty()&&c.isEnabled())if(d=null!=d?d:1,b){c.getModel().beginUpdate();try{for(var f=c.getSelectionCells(),g=0;g<f.length;g++)if(c.getModel().isVertex(f[g])&&c.isCellResizable(f[g])){var e=c.getCellGeometry(f[g]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-d):38==a?e.height=Math.max(0,e.height-d):39==a?e.width+=d:40==a&&(e.height+=d),c.getModel().setGeometry(f[g],e))}}finally{c.getModel().endUpdate()}}else f= -c.getSelectionCell(),g=c.model.getParent(f),e=null,1==c.getSelectionCount()&&c.model.isVertex(f)&&null!=c.layoutManager&&!c.isCellLocked(f)&&(e=c.layoutManager.getLayout(g)),null!=e&&e.constructor==mxStackLayout?(e=g.getIndex(f),37==a||38==a?c.model.add(g,f,Math.max(0,e-1)):39!=a&&40!=a||c.model.add(g,f,Math.min(c.model.getChildCount(g),e+1))):(g=f=0,37==a?f=-d:38==a?g=-d:39==a?f=d:40==a&&(g=d),c.moveCells(c.getMovableCells(c.getSelectionCells()),f,g))});null!=r&&window.clearTimeout(r);r=window.setTimeout(function(){if(0< -p.length){c.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{c.getModel().endUpdate()}c.scrollCellToVisible(c.getSelectionCell())}},200)}var e=this,c=this.editor.graph,k=new mxKeyHandler(c),l=k.isEventIgnored;k.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& -!mxClient.IS_SF)&&l.apply(this,arguments)};k.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};k.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],r=null,v={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},d=k.getFunction,f={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), -76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip")};mxKeyHandler.prototype.getFunction=function(a){if(c.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var g=f[a.keyCode];if(null!=g)return g.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){c.selectParentCell()}:function(){c.selectChildCell()};if(null!=v[a.keyCode]&&!c.isSelectionEmpty())if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){if(c.model.isVertex(c.getSelectionCell()))return function(){var d= -c.connectVertex(c.getSelectionCell(),v[a.keyCode],c.defaultEdgeLength,a,!0);null!=d&&0<d.length&&(1==d.length&&c.model.isEdge(d[0])?c.setSelectionCell(c.model.getTerminal(d[0],!1)):c.setSelectionCell(d[d.length-1]),c.scrollCellToVisible(c.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(c.view.getState(c.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?c.gridSize:null)}}return d.apply(this, -arguments)};k.bindAction=mxUtils.bind(this,function(a,d,b,c){var f=this.actions.get(b);null!=f&&(b=function(){f.isEnabled()&&f.funct()},d?c?k.bindControlShiftKey(a,b):k.bindControlKey(a,b):c?k.bindShiftKey(a,b):k.bindKey(a,b))});var g=k.escape;k.escape=function(a){g.apply(this,arguments)};k.enter=function(){};k.bindControlShiftKey(36,function(){c.exitGroup()});k.bindControlShiftKey(35,function(){c.enterGroup()});k.bindKey(36,function(){c.home()});k.bindKey(35,function(){c.refresh()});k.bindAction(107, -!0,"zoomIn");k.bindAction(109,!0,"zoomOut");k.bindAction(80,!0,"print");k.bindAction(79,!0,"outline",!0);k.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)k.bindControlKey(36,function(){c.isEnabled()&&c.foldCells(!0)}),k.bindControlKey(35,function(){c.isEnabled()&&c.foldCells(!1)}),k.bindControlKey(13,function(){c.isEnabled()&&c.setSelectionCells(c.duplicateCells(c.getSelectionCells(),!1))}),k.bindAction(8,!1,"delete"),k.bindAction(8,!0,"deleteAll"),k.bindAction(46,!1, -"delete"),k.bindAction(46,!0,"deleteAll"),k.bindAction(72,!0,"resetView"),k.bindAction(72,!0,"fitWindow",!0),k.bindAction(74,!0,"fitPage"),k.bindAction(74,!0,"fitTwoPages",!0),k.bindAction(48,!0,"customZoom"),k.bindAction(82,!0,"turn"),k.bindAction(82,!0,"clearDefaultStyle",!0),k.bindAction(83,!0,"save"),k.bindAction(83,!0,"saveAs",!0),k.bindAction(65,!0,"selectAll"),k.bindAction(65,!0,"selectNone",!0),k.bindAction(73,!0,"selectVertices",!0),k.bindAction(69,!0,"selectEdges",!0),k.bindAction(69,!0, -"editStyle"),k.bindAction(66,!0,"bold"),k.bindAction(66,!0,"toBack",!0),k.bindAction(70,!0,"toFront",!0),k.bindAction(68,!0,"duplicate"),k.bindAction(68,!0,"setAsDefaultStyle",!0),k.bindAction(90,!0,"undo"),k.bindAction(89,!0,"autosize",!0),k.bindAction(88,!0,"cut"),k.bindAction(67,!0,"copy"),k.bindAction(86,!0,"paste"),k.bindAction(71,!0,"group"),k.bindAction(77,!0,"editData"),k.bindAction(71,!0,"grid",!0),k.bindAction(73,!0,"italic"),k.bindAction(76,!0,"lockUnlock"),k.bindAction(76,!0,"layers", -!0),k.bindAction(80,!0,"formatPanel",!0),k.bindAction(85,!0,"underline"),k.bindAction(85,!0,"ungroup",!0),k.bindAction(190,!0,"superscript"),k.bindAction(188,!0,"subscript"),k.bindKey(13,function(){c.isEnabled()&&c.startEditingAtCell()}),k.bindKey(113,function(){c.isEnabled()&&c.startEditingAtCell()});mxClient.IS_WIN?k.bindAction(89,!0,"redo"):k.bindAction(90,!0,"redo",!0);return k}; +EditorUi.prototype.createKeyHandler=function(a){function b(a,c,b){p.push(function(){if(!d.isSelectionEmpty()&&d.isEnabled())if(c=null!=c?c:1,b){d.getModel().beginUpdate();try{for(var f=d.getSelectionCells(),g=0;g<f.length;g++)if(d.getModel().isVertex(f[g])&&d.isCellResizable(f[g])){var e=d.getCellGeometry(f[g]);null!=e&&(e=e.clone(),37==a?e.width=Math.max(0,e.width-c):38==a?e.height=Math.max(0,e.height-c):39==a?e.width+=c:40==a&&(e.height+=c),d.getModel().setGeometry(f[g],e))}}finally{d.getModel().endUpdate()}}else f= +d.getSelectionCell(),g=d.model.getParent(f),e=null,1==d.getSelectionCount()&&d.model.isVertex(f)&&null!=d.layoutManager&&!d.isCellLocked(f)&&(e=d.layoutManager.getLayout(g)),null!=e&&e.constructor==mxStackLayout?(e=g.getIndex(f),37==a||38==a?d.model.add(g,f,Math.max(0,e-1)):39!=a&&40!=a||d.model.add(g,f,Math.min(d.model.getChildCount(g),e+1))):(g=f=0,37==a?f=-c:38==a?g=-c:39==a?f=c:40==a&&(g=c),d.moveCells(d.getMovableCells(d.getSelectionCells()),f,g))});null!=r&&window.clearTimeout(r);r=window.setTimeout(function(){if(0< +p.length){d.getModel().beginUpdate();try{for(var a=0;a<p.length;a++)p[a]();p=[]}finally{d.getModel().endUpdate()}d.scrollCellToVisible(d.getSelectionCell())}},200)}var e=this,d=this.editor.graph,k=new mxKeyHandler(d),m=k.isEventIgnored;k.isEventIgnored=function(a){return(!this.isControlDown(a)||mxEvent.isShiftDown(a)||90!=a.keyCode&&89!=a.keyCode&&188!=a.keyCode&&190!=a.keyCode&&85!=a.keyCode)&&(66!=a.keyCode&&73!=a.keyCode||!this.isControlDown(a)||this.graph.cellEditor.isContentEditing()&&!mxClient.IS_FF&& +!mxClient.IS_SF)&&m.apply(this,arguments)};k.isEnabledForEvent=function(a){return!mxEvent.isConsumed(a)&&this.isGraphEvent(a)&&this.isEnabled()&&(null==e.dialogs||0==e.dialogs.length)};k.isControlDown=function(a){return mxEvent.isControlDown(a)||mxClient.IS_MAC&&a.metaKey};var p=[],r=null,v={37:mxConstants.DIRECTION_WEST,38:mxConstants.DIRECTION_NORTH,39:mxConstants.DIRECTION_EAST,40:mxConstants.DIRECTION_SOUTH},c=k.getFunction,f={67:this.actions.get("clearWaypoints"),65:this.actions.get("connectionArrows"), +76:this.actions.get("editLink"),80:this.actions.get("connectionPoints"),84:this.actions.get("editTooltip"),86:this.actions.get("pasteSize"),88:this.actions.get("copySize")};mxKeyHandler.prototype.getFunction=function(a){if(d.isEnabled()){if(mxEvent.isShiftDown(a)&&mxEvent.isAltDown(a)){var g=f[a.keyCode];if(null!=g)return g.funct}if(9==a.keyCode&&mxEvent.isAltDown(a))return mxEvent.isShiftDown(a)?function(){d.selectParentCell()}:function(){d.selectChildCell()};if(null!=v[a.keyCode]&&!d.isSelectionEmpty())if(mxEvent.isShiftDown(a)&& +mxEvent.isAltDown(a)){if(d.model.isVertex(d.getSelectionCell()))return function(){var c=d.connectVertex(d.getSelectionCell(),v[a.keyCode],d.defaultEdgeLength,a,!0);null!=c&&0<c.length&&(1==c.length&&d.model.isEdge(c[0])?d.setSelectionCell(d.model.getTerminal(c[0],!1)):d.setSelectionCell(c[c.length-1]),d.scrollCellToVisible(d.getSelectionCell()),null!=e.hoverIcons&&e.hoverIcons.update(d.view.getState(d.getSelectionCell())))}}else return this.isControlDown(a)?function(){b(a.keyCode,mxEvent.isShiftDown(a)? +d.gridSize:null,!0)}:function(){b(a.keyCode,mxEvent.isShiftDown(a)?d.gridSize:null)}}return c.apply(this,arguments)};k.bindAction=mxUtils.bind(this,function(a,c,b,d){var f=this.actions.get(b);null!=f&&(b=function(){f.isEnabled()&&f.funct()},c?d?k.bindControlShiftKey(a,b):k.bindControlKey(a,b):d?k.bindShiftKey(a,b):k.bindKey(a,b))});var g=k.escape;k.escape=function(a){g.apply(this,arguments)};k.enter=function(){};k.bindControlShiftKey(36,function(){d.exitGroup()});k.bindControlShiftKey(35,function(){d.enterGroup()}); +k.bindKey(36,function(){d.home()});k.bindKey(35,function(){d.refresh()});k.bindAction(107,!0,"zoomIn");k.bindAction(109,!0,"zoomOut");k.bindAction(80,!0,"print");k.bindAction(79,!0,"outline",!0);k.bindAction(112,!1,"about");if(!this.editor.chromeless||this.editor.editable)k.bindControlKey(36,function(){d.isEnabled()&&d.foldCells(!0)}),k.bindControlKey(35,function(){d.isEnabled()&&d.foldCells(!1)}),k.bindControlKey(13,function(){d.isEnabled()&&d.setSelectionCells(d.duplicateCells(d.getSelectionCells(), +!1))}),k.bindAction(8,!1,"delete"),k.bindAction(8,!0,"deleteAll"),k.bindAction(46,!1,"delete"),k.bindAction(46,!0,"deleteAll"),k.bindAction(72,!0,"resetView"),k.bindAction(72,!0,"fitWindow",!0),k.bindAction(74,!0,"fitPage"),k.bindAction(74,!0,"fitTwoPages",!0),k.bindAction(48,!0,"customZoom"),k.bindAction(82,!0,"turn"),k.bindAction(82,!0,"clearDefaultStyle",!0),k.bindAction(83,!0,"save"),k.bindAction(83,!0,"saveAs",!0),k.bindAction(65,!0,"selectAll"),k.bindAction(65,!0,"selectNone",!0),k.bindAction(73, +!0,"selectVertices",!0),k.bindAction(69,!0,"selectEdges",!0),k.bindAction(69,!0,"editStyle"),k.bindAction(66,!0,"bold"),k.bindAction(66,!0,"toBack",!0),k.bindAction(70,!0,"toFront",!0),k.bindAction(68,!0,"duplicate"),k.bindAction(68,!0,"setAsDefaultStyle",!0),k.bindAction(90,!0,"undo"),k.bindAction(89,!0,"autosize",!0),k.bindAction(88,!0,"cut"),k.bindAction(67,!0,"copy"),k.bindAction(86,!0,"paste"),k.bindAction(71,!0,"group"),k.bindAction(77,!0,"editData"),k.bindAction(71,!0,"grid",!0),k.bindAction(73, +!0,"italic"),k.bindAction(76,!0,"lockUnlock"),k.bindAction(76,!0,"layers",!0),k.bindAction(80,!0,"formatPanel",!0),k.bindAction(85,!0,"underline"),k.bindAction(85,!0,"ungroup",!0),k.bindAction(190,!0,"superscript"),k.bindAction(188,!0,"subscript"),k.bindKey(13,function(){d.isEnabled()&&d.startEditingAtCell()}),k.bindKey(113,function(){d.isEnabled()&&d.startEditingAtCell()});mxClient.IS_WIN?k.bindAction(89,!0,"redo"):k.bindAction(90,!0,"redo",!0);return k}; EditorUi.prototype.destroy=function(){null!=this.editor&&(this.editor.destroy(),this.editor=null);null!=this.menubar&&(this.menubar.destroy(),this.menubar=null);null!=this.toolbar&&(this.toolbar.destroy(),this.toolbar=null);null!=this.sidebar&&(this.sidebar.destroy(),this.sidebar=null);null!=this.keyHandler&&(this.keyHandler.destroy(),this.keyHandler=null);null!=this.keydownHandler&&(mxEvent.removeListener(document,"keydown",this.keydownHandler),this.keydownHandler=null);null!=this.keyupHandler&& (mxEvent.removeListener(document,"keyup",this.keyupHandler),this.keyupHandler=null);null!=this.resizeHandler&&(mxEvent.removeListener(window,"resize",this.resizeHandler),this.resizeHandler=null);null!=this.gestureHandler&&(mxEvent.removeGestureListeners(document,this.gestureHandler),this.gestureHandler=null);null!=this.orientationChangeHandler&&(mxEvent.removeListener(window,"orientationchange",this.orientationChangeHandler),this.orientationChangeHandler=null);null!=this.scrollHandler&&(mxEvent.removeListener(window, "scroll",this.scrollHandler),this.scrollHandler=null);if(null!=this.destroyFunctions){for(var a=0;a<this.destroyFunctions.length;a++)this.destroyFunctions[a]();this.destroyFunctions=null}for(var b=[this.menubarContainer,this.toolbarContainer,this.sidebarContainer,this.formatContainer,this.diagramContainer,this.footerContainer,this.chromelessToolbar,this.hsplit,this.sidebarFooterContainer,this.layersDialog],a=0;a<b.length;a++)null!=b[a]&&null!=b[a].parentNode&&b[a].parentNode.removeChild(b[a])};"undefined"!==typeof html4&&(html4.ATTRIBS["a::target"]=0,html4.ATTRIBS["source::src"]=0,html4.ATTRIBS["video::src"]=0);mxConstants.SHADOW_OPACITY=.25;mxConstants.SHADOWCOLOR="#000000";mxConstants.VML_SHADOWCOLOR="#d0d0d0";mxGraph.prototype.pageBreakColor="#c0c0c0";mxGraph.prototype.pageScale=1; (function(){try{if(null!=navigator&&null!=navigator.language){var a=navigator.language.toLowerCase();mxGraph.prototype.pageFormat="en-us"===a||"en-ca"===a||"es-mx"===a?mxConstants.PAGE_FORMAT_LETTER_PORTRAIT:mxConstants.PAGE_FORMAT_A4_PORTRAIT}}catch(b){}})();mxText.prototype.baseSpacingTop=5;mxText.prototype.baseSpacingBottom=1;mxGraphModel.prototype.ignoreRelativeEdgeParent=!1; mxGraphView.prototype.gridImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhCgAKAJEAAAAAAP///8zMzP///yH5BAEAAAMALAAAAAAKAAoAAAIJ1I6py+0Po2wFADs=":IMAGE_PATH+"/grid.gif";mxGraphView.prototype.gridSteps=4;mxGraphView.prototype.minGridSize=4;mxGraphView.prototype.gridColor="#e0e0e0";mxSvgCanvas2D.prototype.foAltText="[Not supported by viewer]"; -Graph=function(a,b,e,c,k){mxGraph.call(this,a,b,e,c);this.themes=k||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var d=this.view.getState(a);a=null!=d?d.style:this.getCellStyle(a); -return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var l=null,p=null,r=null,v=null,d=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var c=b.getProperty("event");if(!mxEvent.isControlDown(c.getEvent())&&!mxEvent.isShiftDown(c.getEvent())){var f=c.getState();null!=f&&this.model.isEdge(f.cell)&&(l=new mxPoint(c.getGraphX(),c.getGraphY()),d=this.isCellSelected(f.cell),r=f,p=c,null!= -f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,c.getGraphX(),c.getGraphY())?v=mxEvent.LABEL_HANDLE:(f=this.selectionCellsHandler.getHandler(f.cell),null!=f&&null!=f.bends&&0<f.bends.length&&(v=f.getHandleForEvent(c))))}}}));this.addMouseListener({mouseDown:function(a,d){},mouseMove:mxUtils.bind(this,function(a,b){var c=this.selectionCellsHandler.handlers.map,f;for(f in c)if(null!=c[f].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& -!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(f=this.tolerance,null!=l&&null!=r&&null!=p){if(c=r,Math.abs(l.x-b.getGraphX())>f||Math.abs(l.y-b.getGraphY())>f){this.isCellSelected(c.cell)||this.setSelectionCell(c.cell);var g=this.selectionCellsHandler.getHandler(c.cell);if(null!=g&&null!=g.bends&&0<g.bends.length){var e=g.getHandleForEvent(p),h=this.view.getEdgeStyle(c);f=h==mxEdgeStyle.EntityRelation;d||v!=mxEvent.LABEL_HANDLE||(e=v);if(f&&0!=e&&e!=g.bends.length-1&&e!=mxEvent.LABEL_HANDLE)!f|| -null==c.visibleSourceState&&null==c.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(e==mxEvent.LABEL_HANDLE||0==e||null!=c.visibleSourceState||e==g.bends.length-1||null!=c.visibleTargetState)f||e==mxEvent.LABEL_HANDLE||(f=c.absolutePoints,null!=f&&(null==h&&null==e||h==mxEdgeStyle.OrthConnector)&&(e=v,null==e&&(e=new mxRectangle(l.x,l.y),e.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(e,f[0].x,f[0].y)?e=0:mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y)? -e=g.bends.length-1:null!=h&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1].x)&&0==Math.round(f[1].x-f[2].x)||0==Math.round(f[0].y-f[1].y)&&0==Math.round(f[1].y-f[2].y)))?e=2:(e=mxUtils.findNearestSegment(c,l.x,l.y),e=null==h?mxEvent.VIRTUAL_HANDLE-e:e+1))),null==e&&(e=mxEvent.VIRTUAL_HANDLE)),g.start(b.getGraphX(),b.getGraphX(),e),v=l=p=r=null,d=!1,b.consume(),this.graphHandler.reset()}}}else if(c=b.getState(),null!=c&&this.model.isEdge(c.cell)){g=null;f=c.absolutePoints;if(null!=f)if(e=new mxRectangle(b.getGraphX(), -b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=c.text&&null!=c.text.boundingBox&&mxUtils.contains(c.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=c.visibleSourceState||null!=c.visibleTargetState)h=this.view.getEdgeStyle(c),g="crosshair",h!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(c)&&(h=mxUtils.findNearestSegment(c,b.getGraphX(),b.getGraphY()), -h<f.length-1&&0<=h&&(g=0==Math.round(f[h].x-f[h+1].x)?"col-resize":"row-resize"));null!=g&&c.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,d){v=l=p=r=null})})}this.cellRenderer.getLabelValue=function(a){var d=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(d=1!=a.style.html?mxUtils.htmlEntities(d,!1):a.view.graph.sanitizeHtml(d));return d};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); -this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,d){return!1};this.alternateEdgeStyle="vertical";null==c&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= -function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var d=[],b=this.graph.pageFormat,c=this.graph.pageScale,g=b.width*c,b=b.height*c,c=this.graph.view.translate,e=this.graph.view.scale,h=this.graph.getPageLayout(),m=0;m<h.width;m++)d.push(new mxRectangle(((h.x+m)*g+c.x)*e,(h.y*b+c.y)*e,g*e,b*e));for(m=0;m<h.height;m++)d.push(new mxRectangle((h.x*g+c.x)*e,((h.y+m)*b+c.y)*e,g*e,b*e));a=d.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= -function(a,d){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var d=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],c=0;c<d.length;c++){var f=this.graph.view.getState(d[c]),f=null!=f?f.style:this.graph.getCellStyle(d[c]); -"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(d[c]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(d,f)&&b.push(f)):b.push(d[c])}return b};this.connectionHandler.createTargetVertex=function(a,d){var b=this.graph.view.getState(d),b=null!=b?b.style:this.graph.getCellStyle(d);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(d),this.graph.model.isVertex(b)&&(d=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this); -this.getRubberband=function(){return g};var m=(new Date).getTime(),t=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(m=(new Date).getTime(),t=0):t=(new Date).getTime()-m};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, -"outlineConnect","1"))&&n.apply(this,arguments)};var q=this.isToggleEvent;this.isToggleEvent=function(a){return q.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var u=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& -(u=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=u)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!d||a.isConsumed())return y.apply(this, -arguments);d=d?a.sourceState.cell:a.getCell();if(null!=d){var b=this.getLinkForCell(d);null!=b&&(this.isCustomLink(b)?this.customLinkClicked(d,b):this.openLink(b))}};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var d=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(d?a.sourceState.cell:a.getCell())};var E=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()|| -this.isCellLocked(a)){if(null!=this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return E.apply(this,arguments)};this.selectRegion=function(a,d){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,d);return b};this.getAllCells=function(a,d,b,c,f,g){g=null!=g?g:[];if(0<b||0<c){var e=this.getModel(),h=a+b,m=d+c;null==f&&(f=this.getCurrentRoot(),null==f&&(f=e.getRoot()));if(null!=f)for(var q=e.getChildCount(f),u=0;u<q;u++){var n=e.getChildAt(f,u), -t=this.view.getState(n);if(null!=t&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(e.isEdge(n)||e.isVertex(n))&&t.x>=a&&t.y+t.height<=m&&t.y>=d&&t.x+t.width<=h&&g.push(n);this.getAllCells(a,d,b,c,n,g)}}}return g};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,d,b){return this.graph.isCellSelected(a)?!1:z.apply(this, -arguments)};this.isCellLocked=function(a){for(a=this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,d){if("mouseDown"==d.getProperty("eventName")){var b=d.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD, -mxUtils.bind(this,function(a,d){if(!mxEvent.isMultiTouchEvent(d)){var b=d.getProperty("event"),c=d.getProperty("cell");null==c?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(c)&&this.removeSelectionCell(c);G=null;d.consume()}}));this.connectionHandler.selectCells=function(a,d){this.graph.setSelectionCell(d||a)};this.connectionHandler.constraintHandler.isStateIgnored= -function(a,d){return d&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var C=this.updateMouseEvent;this.updateMouseEvent=function(a){a=C.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state= -null);return a}}};Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; +Graph=function(a,b,e,d,k){mxGraph.call(this,a,b,e,d);this.themes=k||this.defaultThemes;this.currentEdgeStyle=mxUtils.clone(this.defaultEdgeStyle);this.currentVertexStyle=mxUtils.clone(this.defaultVertexStyle);a=this.baseUrl;b=a.indexOf("//");this.domainPathUrl=this.domainUrl="";0<b&&(b=a.indexOf("/",b+2),0<b&&(this.domainUrl=a.substring(0,b)),b=a.lastIndexOf("/"),0<b&&(this.domainPathUrl=a.substring(0,b+1)));this.isHtmlLabel=function(a){var c=this.view.getState(a);a=null!=c?c.style:this.getCellStyle(a); +return"1"==a.html||"wrap"==a[mxConstants.STYLE_WHITE_SPACE]};if(this.edgeMode){var m=null,p=null,r=null,v=null,c=!1;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,b){if("mouseDown"==b.getProperty("eventName")&&this.isEnabled()){var d=b.getProperty("event");if(!mxEvent.isControlDown(d.getEvent())&&!mxEvent.isShiftDown(d.getEvent())){var f=d.getState();null!=f&&this.model.isEdge(f.cell)&&(m=new mxPoint(d.getGraphX(),d.getGraphY()),c=this.isCellSelected(f.cell),r=f,p=d,null!= +f.text&&null!=f.text.boundingBox&&mxUtils.contains(f.text.boundingBox,d.getGraphX(),d.getGraphY())?v=mxEvent.LABEL_HANDLE:(f=this.selectionCellsHandler.getHandler(f.cell),null!=f&&null!=f.bends&&0<f.bends.length&&(v=f.getHandleForEvent(d))))}}}));this.addMouseListener({mouseDown:function(a,c){},mouseMove:mxUtils.bind(this,function(a,b){var d=this.selectionCellsHandler.handlers.map,f;for(f in d)if(null!=d[f].index)return;if(this.isEnabled()&&!this.panningHandler.isActive()&&!mxEvent.isControlDown(b.getEvent())&& +!mxEvent.isShiftDown(b.getEvent())&&!mxEvent.isAltDown(b.getEvent()))if(f=this.tolerance,null!=m&&null!=r&&null!=p){if(d=r,Math.abs(m.x-b.getGraphX())>f||Math.abs(m.y-b.getGraphY())>f){this.isCellSelected(d.cell)||this.setSelectionCell(d.cell);var g=this.selectionCellsHandler.getHandler(d.cell);if(null!=g&&null!=g.bends&&0<g.bends.length){var e=g.getHandleForEvent(p),l=this.view.getEdgeStyle(d);f=l==mxEdgeStyle.EntityRelation;c||v!=mxEvent.LABEL_HANDLE||(e=v);if(f&&0!=e&&e!=g.bends.length-1&&e!=mxEvent.LABEL_HANDLE)!f|| +null==d.visibleSourceState&&null==d.visibleTargetState||(this.graphHandler.reset(),b.consume());else if(e==mxEvent.LABEL_HANDLE||0==e||null!=d.visibleSourceState||e==g.bends.length-1||null!=d.visibleTargetState)f||e==mxEvent.LABEL_HANDLE||(f=d.absolutePoints,null!=f&&(null==l&&null==e||l==mxEdgeStyle.OrthConnector)&&(e=v,null==e&&(e=new mxRectangle(m.x,m.y),e.grow(mxEdgeHandler.prototype.handleImage.width/2),mxUtils.contains(e,f[0].x,f[0].y)?e=0:mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y)? +e=g.bends.length-1:null!=l&&(2==f.length||3==f.length&&(0==Math.round(f[0].x-f[1].x)&&0==Math.round(f[1].x-f[2].x)||0==Math.round(f[0].y-f[1].y)&&0==Math.round(f[1].y-f[2].y)))?e=2:(e=mxUtils.findNearestSegment(d,m.x,m.y),e=null==l?mxEvent.VIRTUAL_HANDLE-e:e+1))),null==e&&(e=mxEvent.VIRTUAL_HANDLE)),g.start(b.getGraphX(),b.getGraphX(),e),v=m=p=r=null,c=!1,b.consume(),this.graphHandler.reset()}}}else if(d=b.getState(),null!=d&&this.model.isEdge(d.cell)){g=null;f=d.absolutePoints;if(null!=f)if(e=new mxRectangle(b.getGraphX(), +b.getGraphY()),e.grow(mxEdgeHandler.prototype.handleImage.width/2),null!=d.text&&null!=d.text.boundingBox&&mxUtils.contains(d.text.boundingBox,b.getGraphX(),b.getGraphY()))g="move";else if(mxUtils.contains(e,f[0].x,f[0].y)||mxUtils.contains(e,f[f.length-1].x,f[f.length-1].y))g="pointer";else if(null!=d.visibleSourceState||null!=d.visibleTargetState)l=this.view.getEdgeStyle(d),g="crosshair",l!=mxEdgeStyle.EntityRelation&&this.isOrthogonal(d)&&(l=mxUtils.findNearestSegment(d,b.getGraphX(),b.getGraphY()), +l<f.length-1&&0<=l&&(g=0==Math.round(f[l].x-f[l+1].x)?"col-resize":"row-resize"));null!=g&&d.setCursor(g)}}),mouseUp:mxUtils.bind(this,function(a,c){v=m=p=r=null})})}this.cellRenderer.getLabelValue=function(a){var c=mxCellRenderer.prototype.getLabelValue.apply(this,arguments);a.view.graph.isHtmlLabel(a.cell)&&(c=1!=a.style.html?mxUtils.htmlEntities(c,!1):a.view.graph.sanitizeHtml(c));return c};if("undefined"!==typeof mxVertexHandler){this.setConnectable(!0);this.setDropEnabled(!0);this.setPanning(!0); +this.setTooltips(!0);this.setAllowLoops(!0);this.allowAutoPanning=!0;this.constrainChildren=this.resetEdgesOnConnect=!1;this.constrainRelativeChildren=!0;this.graphHandler.scrollOnMove=!1;this.graphHandler.scaleGrid=!0;this.connectionHandler.setCreateTarget(!1);this.connectionHandler.insertBeforeSource=!0;this.connectionHandler.isValidSource=function(a,c){return!1};this.alternateEdgeStyle="vertical";null==d&&this.loadStylesheet();var f=this.graphHandler.getGuideStates;this.graphHandler.getGuideStates= +function(){var a=f.apply(this,arguments);if(this.graph.pageVisible){for(var c=[],b=this.graph.pageFormat,d=this.graph.pageScale,g=b.width*d,b=b.height*d,d=this.graph.view.translate,e=this.graph.view.scale,l=this.graph.getPageLayout(),h=0;h<l.width;h++)c.push(new mxRectangle(((l.x+h)*g+d.x)*e,(l.y*b+d.y)*e,g*e,b*e));for(h=0;h<l.height;h++)c.push(new mxRectangle((l.x*g+d.x)*e,((l.y+h)*b+d.y)*e,g*e,b*e));a=c.concat(a)}return a};mxDragSource.prototype.dragElementZIndex=mxPopupMenu.prototype.zIndex;mxGuide.prototype.getGuideColor= +function(a,c){return null==a.cell?"#ffa500":mxConstants.GUIDE_COLOR};this.graphHandler.createPreviewShape=function(a){this.previewColor="#000000"==this.graph.background?"#ffffff":mxGraphHandler.prototype.previewColor;return mxGraphHandler.prototype.createPreviewShape.apply(this,arguments)};this.graphHandler.getCells=function(a){for(var c=mxGraphHandler.prototype.getCells.apply(this,arguments),b=[],d=0;d<c.length;d++){var f=this.graph.view.getState(c[d]),f=null!=f?f.style:this.graph.getCellStyle(c[d]); +"1"==mxUtils.getValue(f,"part","0")?(f=this.graph.model.getParent(c[d]),this.graph.model.isVertex(f)&&0>mxUtils.indexOf(c,f)&&b.push(f)):b.push(c[d])}return b};this.connectionHandler.createTargetVertex=function(a,c){var b=this.graph.view.getState(c),b=null!=b?b.style:this.graph.getCellStyle(c);mxUtils.getValue(b,"part",!1)&&(b=this.graph.model.getParent(c),this.graph.model.isVertex(b)&&(c=b));return mxConnectionHandler.prototype.createTargetVertex.apply(this,arguments)};var g=new mxRubberband(this); +this.getRubberband=function(){return g};var u=(new Date).getTime(),t=0,h=this.connectionHandler.mouseMove;this.connectionHandler.mouseMove=function(){var a=this.currentState;h.apply(this,arguments);a!=this.currentState?(u=(new Date).getTime(),t=0):t=(new Date).getTime()-u};var n=this.connectionHandler.isOutlineConnectEvent;this.connectionHandler.isOutlineConnectEvent=function(a){return null!=this.currentState&&a.getState()==this.currentState&&2E3<t||(null==this.currentState||"0"!=mxUtils.getValue(this.currentState.style, +"outlineConnect","1"))&&n.apply(this,arguments)};var l=this.isToggleEvent;this.isToggleEvent=function(a){return l.apply(this,arguments)||mxEvent.isShiftDown(a)};var w=g.isForceRubberbandEvent;g.isForceRubberbandEvent=function(a){return w.apply(this,arguments)||mxUtils.hasScrollbars(this.graph.container)&&mxClient.IS_FF&&mxClient.IS_WIN&&null==a.getState()&&mxEvent.isTouchEvent(a.getEvent())};var q=null;this.panningHandler.addListener(mxEvent.PAN_START,mxUtils.bind(this,function(){this.isEnabled()&& +(q=this.container.style.cursor,this.container.style.cursor="move")}));this.panningHandler.addListener(mxEvent.PAN_END,mxUtils.bind(this,function(){this.isEnabled()&&(this.container.style.cursor=q)}));this.popupMenuHandler.autoExpand=!0;this.popupMenuHandler.isSelectOnPopup=function(a){return mxEvent.isMouseEvent(a.getEvent())};var y=this.click;this.click=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);if(this.isEnabled()&&!c||a.isConsumed())return y.apply(this, +arguments);c=c?a.sourceState.cell:a.getCell();null!=c&&(c=this.getLinkForCell(c),null!=c&&(this.isCustomLink(c)?this.customLinkClicked(c):this.openLink(c)))};this.tooltipHandler.getStateForEvent=function(a){return a.sourceState};this.getCursorForMouseEvent=function(a){var c=null==a.state&&null!=a.sourceState&&this.isCellLocked(a.sourceState.cell);return this.getCursorForCell(c?a.sourceState.cell:a.getCell())};var D=this.getCursorForCell;this.getCursorForCell=function(a){if(!this.isEnabled()||this.isCellLocked(a)){if(null!= +this.getLinkForCell(a))return"pointer";if(this.isCellLocked(a))return"default"}return D.apply(this,arguments)};this.selectRegion=function(a,c){var b=this.getAllCells(a.x,a.y,a.width,a.height);this.selectCellsForEvent(b,c);return b};this.getAllCells=function(a,c,b,d,f,e){e=null!=e?e:[];if(0<b||0<d){var g=this.getModel(),l=a+b,h=c+d;null==f&&(f=this.getCurrentRoot(),null==f&&(f=g.getRoot()));if(null!=f)for(var u=g.getChildCount(f),q=0;q<u;q++){var n=g.getChildAt(f,q),t=this.view.getState(n);if(null!= +t&&this.isCellVisible(n)&&"1"!=mxUtils.getValue(t.style,"locked","0")){var w=mxUtils.getValue(t.style,mxConstants.STYLE_ROTATION)||0;0!=w&&(t=mxUtils.getBoundingBox(t,w));(g.isEdge(n)||g.isVertex(n))&&t.x>=a&&t.y+t.height<=h&&t.y>=c&&t.x+t.width<=l&&e.push(n);this.getAllCells(a,c,b,d,n,e)}}}return e};var z=this.graphHandler.shouldRemoveCellsFromParent;this.graphHandler.shouldRemoveCellsFromParent=function(a,c,b){return this.graph.isCellSelected(a)?!1:z.apply(this,arguments)};this.isCellLocked=function(a){for(a= +this.view.getState(a);null!=a;){if("1"==mxUtils.getValue(a.style,"locked","0"))return!0;a=this.view.getState(this.model.getParent(a.cell))}return!1};var G=null;this.addListener(mxEvent.FIRE_MOUSE_EVENT,mxUtils.bind(this,function(a,c){if("mouseDown"==c.getProperty("eventName")){var b=c.getProperty("event").getState();G=null==b||this.isSelectionEmpty()||this.isCellSelected(b.cell)?null:this.getSelectionCells()}}));this.addListener(mxEvent.TAP_AND_HOLD,mxUtils.bind(this,function(a,c){if(!mxEvent.isMultiTouchEvent(c)){var b= +c.getProperty("event"),d=c.getProperty("cell");null==d?(b=mxUtils.convertPoint(this.container,mxEvent.getClientX(b),mxEvent.getClientY(b)),g.start(b.x,b.y)):null!=G?this.addSelectionCells(G):1<this.getSelectionCount()&&this.isCellSelected(d)&&this.removeSelectionCell(d);G=null;c.consume()}}));this.connectionHandler.selectCells=function(a,c){this.graph.setSelectionCell(c||a)};this.connectionHandler.constraintHandler.isStateIgnored=function(a,c){return c&&a.view.graph.isCellSelected(a.cell)};this.selectionModel.addListener(mxEvent.CHANGE, +mxUtils.bind(this,function(){var a=this.connectionHandler.constraintHandler;null!=a.currentFocus&&a.isStateIgnored(a.currentFocus,!0)&&(a.currentFocus=null,a.constraints=null,a.destroyIcons());a.destroyFocusHighlight()}));Graph.touchStyle&&this.initTouch();var E=this.updateMouseEvent;this.updateMouseEvent=function(a){a=E.apply(this,arguments);null!=a.state&&this.isCellLocked(a.getCell())&&(a.state=null);return a}}}; +Graph.touchStyle=mxClient.IS_TOUCH||mxClient.IS_FF&&mxClient.IS_WIN||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints||null==window.urlParams||"1"==urlParams.touch;Graph.fileSupport=null!=window.File&&null!=window.FileReader&&null!=window.FileList&&(null==window.urlParams||"0"!=urlParams.filesupport);Graph.lineJumpsEnabled=!0;Graph.defaultJumpSize=6; Graph.createSvgImage=function(a,b,e){e=unescape(encodeURIComponent('<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+a+'px" height="'+b+'px" version="1.1">'+e+"</svg>"));return new mxImage("data:image/svg+xml;base64,"+(window.btoa?btoa(e):Base64.encode(e,!0)),a,b)};mxUtils.extend(Graph,mxGraph);Graph.prototype.minFitScale=null;Graph.prototype.maxFitScale=null; Graph.prototype.linkPolicy="frame"==urlParams.target?"blank":urlParams.target||"auto";Graph.prototype.linkTarget="frame"==urlParams.target?"_self":"_blank";Graph.prototype.defaultScrollbars=!mxClient.IS_IOS;Graph.prototype.defaultPageVisible=!0;Graph.prototype.lightbox=!1;Graph.prototype.defaultPageBackgroundColor="#ffffff";Graph.prototype.defaultPageBorderColor="#ffffff";Graph.prototype.defaultGraphBackground="#ffffff";Graph.prototype.scrollTileSize=new mxRectangle(0,0,400,400); Graph.prototype.transparentBackground=!0;Graph.prototype.defaultEdgeLength=80;Graph.prototype.edgeMode=!1;Graph.prototype.connectionArrowsEnabled=!0;Graph.prototype.placeholderPattern=RegExp("%(date{.*}|[^%^{^}]+)%","g");Graph.prototype.absoluteUrlPattern=/^(?:[a-z]+:)?\/\//i;Graph.prototype.defaultThemeName="default";Graph.prototype.defaultThemes={};Graph.prototype.baseUrl=(window!=window.top?document.referrer:document.location.toString()).split("#")[0];Graph.prototype.editAfterInsert=!1; -Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,k=!0,l=null,p=mxUtils.bind(this,function(a){k=!0;l=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),r=mxUtils.bind(this,function(a){k=k&&null!=l&&Math.abs(l.x-mxEvent.getClientX(a))<b&&Math.abs(l.y-mxEvent.getClientY(a))<b}),v=mxUtils.bind(this,function(d){if(k)for(var b=mxEvent.getSource(d);null!= -b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,d);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,r,v);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; +Graph.prototype.init=function(a){mxGraph.prototype.init.apply(this,arguments);this.cellRenderer.initializeLabel=function(a,e){mxCellRenderer.prototype.initializeLabel.apply(this,arguments);var b=a.view.graph.tolerance,k=!0,m=null,p=mxUtils.bind(this,function(a){k=!0;m=new mxPoint(mxEvent.getClientX(a),mxEvent.getClientY(a))}),r=mxUtils.bind(this,function(a){k=k&&null!=m&&Math.abs(m.x-mxEvent.getClientX(a))<b&&Math.abs(m.y-mxEvent.getClientY(a))<b}),v=mxUtils.bind(this,function(c){if(k)for(var b=mxEvent.getSource(c);null!= +b&&b!=e.node;){if("a"==b.nodeName.toLowerCase()){a.view.graph.labelLinkClicked(a,b,c);break}b=b.parentNode}});mxEvent.addGestureListeners(e.node,p,r,v);mxEvent.addListener(e.node,"click",function(a){mxEvent.consume(a)})};this.initLayoutManager()};Graph.prototype.isLightboxView=function(){return this.lightbox}; Graph.prototype.labelLinkClicked=function(a,b,e){b=b.getAttribute("href");if(null!=b&&!this.isCustomLink(b)&&mxEvent.isLeftMouseButton(e)&&!mxEvent.isPopupTrigger(e)||mxEvent.isTouchEvent(e)){if(!this.isEnabled()||this.isCellLocked(a.cell))a=this.isBlankLink(b)?this.linkTarget:"_top",this.openLink(this.getAbsoluteUrl(b),a);mxEvent.consume(e)}}; -Graph.prototype.openLink=function(a,b){var e=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var c=a.split("#")[1];window.location.hash=="#"+c&&(window.location.hash="");window.location.hash=c}else e=window.open(a,b);return e};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; -Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a,b){this.fireEvent(new mxEventObject("customLinkClicked","cell",a,"href",b))};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; +Graph.prototype.openLink=function(a,b){var e=window;if("_self"==b&&window!=window.top)window.location.href=a;else if(a.substring(0,this.baseUrl.length)==this.baseUrl&&"#"==a.charAt(this.baseUrl.length)&&"_top"==b&&window==window.top){var d=a.split("#")[1];window.location.hash=="#"+d&&(window.location.hash="");window.location.hash=d}else e=window.open(a,b);return e};Graph.prototype.getLinkTitle=function(a){return a.substring(a.lastIndexOf("/")+1)}; +Graph.prototype.isCustomLink=function(a){return"data:"==a.substring(0,5)};Graph.prototype.customLinkClicked=function(a){console.log("customLinkClicked not implemented")};Graph.prototype.isExternalProtocol=function(a){return"mailto:"===a.substring(0,7)};Graph.prototype.isBlankLink=function(a){return!this.isExternalProtocol(a)&&("blank"===this.linkPolicy||"self"!==this.linkPolicy&&!this.isRelativeUrl(a)&&a.substring(0,this.domainUrl.length)!==this.domainUrl)}; Graph.prototype.isRelativeUrl=function(a){return null!=a&&!this.absoluteUrlPattern.test(a)&&"data:"!==a.substring(0,5)&&!this.isExternalProtocol(a)}; Graph.prototype.initLayoutManager=function(){this.layoutManager=new mxLayoutManager(this);this.layoutManager.getLayout=function(a){var b=this.graph.view.getState(a);a=null!=b?b.style:this.graph.getCellStyle(a);return"stackLayout"==a.childLayout?(b=new mxStackLayout(this.graph,!0),b.resizeParentMax="1"==mxUtils.getValue(a,"resizeParentMax","1"),b.horizontal="1"==mxUtils.getValue(a,"horizontalStack","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.resizeLast="1"==mxUtils.getValue(a, "resizeLast","0"),b.spacing=a.stackSpacing||b.spacing,b.border=a.stackBorder||b.border,b.marginLeft=a.marginLeft||0,b.marginRight=a.marginRight||0,b.marginTop=a.marginTop||0,b.marginBottom=a.marginBottom||0,b.fill=!0,b):"treeLayout"==a.childLayout?(b=new mxCompactTreeLayout(this.graph),b.horizontal="1"==mxUtils.getValue(a,"horizontalTree","1"),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.groupPadding=mxUtils.getValue(a,"parentPadding",20),b.levelDistance=mxUtils.getValue(a,"treeLevelDistance", 30),b.maintainParentLocation=!0,b.edgeRouting=!1,b.resetEdges=!1,b):"flowLayout"==a.childLayout?(b=new mxHierarchicalLayout(this.graph,mxUtils.getValue(a,"flowOrientation",mxConstants.DIRECTION_EAST)),b.resizeParent="1"==mxUtils.getValue(a,"resizeParent","1"),b.parentBorder=mxUtils.getValue(a,"parentPadding",20),b.maintainParentLocation=!0,b.intraCellSpacing=mxUtils.getValue(a,"intraCellSpacing",mxHierarchicalLayout.prototype.intraCellSpacing),b.interRankCellSpacing=mxUtils.getValue(a,"interRankCellSpacing", mxHierarchicalLayout.prototype.interRankCellSpacing),b.interHierarchySpacing=mxUtils.getValue(a,"interHierarchySpacing",mxHierarchicalLayout.prototype.interHierarchySpacing),b.parallelEdgeSpacing=mxUtils.getValue(a,"parallelEdgeSpacing",mxHierarchicalLayout.prototype.parallelEdgeSpacing),b):null}};Graph.prototype.getPageSize=function(){return this.pageVisible?new mxRectangle(0,0,this.pageFormat.width*this.pageScale,this.pageFormat.height*this.pageScale):this.scrollTileSize}; -Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),c=Math.ceil(b.y/this.view.scale-this.view.translate.y),k=Math.floor(e/a.width),l=Math.floor(c/a.height);return new mxRectangle(k,l,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-k,Math.ceil((c+Math.floor(b.height/this.view.scale))/a.height)-l)}; +Graph.prototype.getPageLayout=function(){var a=this.getPageSize(),b=this.getGraphBounds();if(0==b.width||0==b.height)return new mxRectangle(0,0,1,1);var e=Math.ceil(b.x/this.view.scale-this.view.translate.x),d=Math.ceil(b.y/this.view.scale-this.view.translate.y),k=Math.floor(e/a.width),m=Math.floor(d/a.height);return new mxRectangle(k,m,Math.ceil((e+Math.floor(b.width/this.view.scale))/a.width)-k,Math.ceil((d+Math.floor(b.height/this.view.scale))/a.height)-m)}; Graph.prototype.sanitizeHtml=function(a,b){return html_sanitize(a,function(a){return null!=a&&"javascript:"!==a.toString().toLowerCase().substring(0,11)?a:null},function(a){return a})};Graph.prototype.updatePlaceholders=function(){var a=!1,b;for(b in this.model.cells){var e=this.model.cells[b];this.isReplacePlaceholders(e)&&(this.view.invalidate(e,!1,!1),a=!0)}a&&this.view.validate()};Graph.prototype.isReplacePlaceholders=function(a){return null!=a.value&&"object"==typeof a.value&&"1"==a.value.getAttribute("placeholders")}; Graph.prototype.isZoomWheelEvent=function(a){return mxEvent.isAltDown(a)||mxEvent.isControlDown(a)&&!mxClient.IS_MAC};Graph.prototype.isTransparentClickEvent=function(a){return mxEvent.isAltDown(a)};Graph.prototype.isIgnoreTerminalEvent=function(a){return mxEvent.isShiftDown(a)&&mxEvent.isControlDown(a)};Graph.prototype.isSplitTarget=function(a,b,e){return!this.model.isEdge(b[0])&&!mxEvent.isAltDown(e)&&!mxEvent.isShiftDown(e)&&mxGraph.prototype.isSplitTarget.apply(this,arguments)}; Graph.prototype.getLabel=function(a){var b=mxGraph.prototype.getLabel.apply(this,arguments);null!=b&&this.isReplacePlaceholders(a)&&null==a.getAttribute("placeholder")&&(b=this.replacePlaceholders(a,b));return b};Graph.prototype.isLabelMovable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return!this.isCellLocked(a)&&(this.model.isEdge(a)&&this.edgeLabelsMovable||this.model.isVertex(a)&&(this.vertexLabelsMovable||"1"==mxUtils.getValue(b,"labelMovable","0")))}; Graph.prototype.setGridSize=function(a){this.gridSize=a;this.fireEvent(new mxEventObject("gridSizeChanged"))};Graph.prototype.getGlobalVariable=function(a){var b=null;"date"==a?b=(new Date).toLocaleDateString():"time"==a?b=(new Date).toLocaleTimeString():"timestamp"==a?b=(new Date).toLocaleString():"date{"==a.substring(0,5)&&(a=a.substring(5,a.length-1),b=this.formatDate(new Date,a));return b}; Graph.prototype.formatDate=function(a,b,e){null==this.dateFormatCache&&(this.dateFormatCache={i18n:{dayNames:"Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),monthNames:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December".split(" ")},masks:{"default":"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy", -shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var c=this.dateFormatCache,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,l=/[^-+\dA-Z]/g,p=function(a,d){a=String(a);for(d=d||2;a.length<d;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| -/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(c.masks[b]||b||c.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var r=e?"getUTC":"get",v=a[r+"Date"](),d=a[r+"Day"](),f=a[r+"Month"](),g=a[r+"FullYear"](),m=a[r+"Hours"](),t=a[r+"Minutes"](),h=a[r+"Seconds"](),r=a[r+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),q={d:v,dd:p(v),ddd:c.i18n.dayNames[d],dddd:c.i18n.dayNames[d+7],m:f+1,mm:p(f+1),mmm:c.i18n.monthNames[f],mmmm:c.i18n.monthNames[f+ -12],yy:String(g).slice(2),yyyy:g,h:m%12||12,hh:p(m%12||12),H:m,HH:p(m),M:t,MM:p(t),s:h,ss:p(h),l:p(r,3),L:p(99<r?Math.round(r/10):r),t:12>m?"a":"p",tt:12>m?"am":"pm",T:12>m?"A":"P",TT:12>m?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(l,""),o:(0<n?"-":"+")+p(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in q?q[a]:a.slice(1, +shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"}});var d=this.dateFormatCache,k=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,m=/[^-+\dA-Z]/g,p=function(a,c){a=String(a);for(c=c||2;a.length<c;)a="0"+a;return a};1!=arguments.length||"[object String]"!=Object.prototype.toString.call(a)|| +/\d/.test(a)||(b=a,a=void 0);a=a?new Date(a):new Date;if(isNaN(a))throw SyntaxError("invalid date");b=String(d.masks[b]||b||d.masks["default"]);"UTC:"==b.slice(0,4)&&(b=b.slice(4),e=!0);var r=e?"getUTC":"get",v=a[r+"Date"](),c=a[r+"Day"](),f=a[r+"Month"](),g=a[r+"FullYear"](),u=a[r+"Hours"](),t=a[r+"Minutes"](),h=a[r+"Seconds"](),r=a[r+"Milliseconds"](),n=e?0:a.getTimezoneOffset(),l={d:v,dd:p(v),ddd:d.i18n.dayNames[c],dddd:d.i18n.dayNames[c+7],m:f+1,mm:p(f+1),mmm:d.i18n.monthNames[f],mmmm:d.i18n.monthNames[f+ +12],yy:String(g).slice(2),yyyy:g,h:u%12||12,hh:p(u%12||12),H:u,HH:p(u),M:t,MM:p(t),s:h,ss:p(h),l:p(r,3),L:p(99<r?Math.round(r/10):r),t:12>u?"a":"p",tt:12>u?"am":"pm",T:12>u?"A":"P",TT:12>u?"AM":"PM",Z:e?"UTC":(String(a).match(k)||[""]).pop().replace(m,""),o:(0<n?"-":"+")+p(100*Math.floor(Math.abs(n)/60)+Math.abs(n)%60,4),S:["th","st","nd","rd"][3<v%10?0:(10!=v%100-v%10)*v%10]};return b.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(a){return a in l?l[a]:a.slice(1, a.length-1)})}; -Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),c=0;c<e;c++)(function(c){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(c)&&(k.setAttribute("checked","checked"),k.defaultChecked= -!0);e.appendChild(k);var r=c.value||mxResources.get("background")||"Background";e.setAttribute("title",r);mxUtils.write(e,r);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(c,k.checked)})})(b.getChildAt(b.root,c));return a}; -Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var c=0;match=this.placeholderPattern.exec(b);){var k=match[0];if(2<k.length&&"%label%"!=k&&"%tooltip%"!=k){var l=null;if(match.index>c&&"%"==b.charAt(match.index-1))l=k.substring(1);else{var p=k.substring(1,k.length-1);if(0>p.indexOf("{"))for(var r=a;null==l&&null!=r;)null!=r.value&&"object"==typeof r.value&&(l=r.hasAttribute(p)?null!=r.getAttribute(p)?r.getAttribute(p):"":null),r=this.model.getParent(r);null==l&&(l=this.getGlobalVariable(p))}e.push(b.substring(c, -match.index)+(null!=l?l:k));c=match.index+k.length}}e.push(b.substring(c))}return e.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; -Graph.prototype.connectVertex=function(a,b,e,c,k,l){l=l?l:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a)); -var r=this.view.scale,v=this.view.translate,d=v.x*r,v=v.y*r;this.model.isVertex(e.cell)&&(d=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);l=l||mxEvent.isControlDown(c)&&!k?null:this.getCellAt(d+p.x*r,v+p.y*r);this.model.isAncestor(l,a)&&(l=null);for(e=l;null!=e;){if(this.isCellLocked(e)){l=null;break}e=this.model.getParent(e)}null!=l&&(e=this.view.getState(a),r=this.view.getState(l),null!=e&&null!=r&&mxUtils.intersects(e,r)&&(l= -null));if(k=!mxEvent.isShiftDown(c)||k)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==l||this.isCellConnectable(l)||(e=this.getModel().getParent(l),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(l=e));if(l==a||this.model.isEdge(l)||!this.isCellConnectable(l))l=null;e=[];this.model.beginUpdate();try{r=l;if(null==r&&k){for(var d=a,f=this.getCellGeometry(a);null!= -f&&f.relative;)d=this.getModel().getParent(d),f=this.getCellGeometry(d);var g=this.view.getState(d),m=null!=g?g.style:this.getCellStyle(d);if(mxUtils.getValue(m,"part",!1)){var t=this.model.getParent(d);this.model.isVertex(t)&&(d=t)}r=this.duplicateCells([d],!1)[0];f=this.getCellGeometry(r);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(c)&&k||null==l&&null!=f&&f.constructor==mxStackLayout? -null:this.insertEdge(this.model.getParent(a),null,"",a,r,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(c=a;null!=c.parent&&null!=c.geometry&&c.geometry.relative&&c.parent!=h.parent;)c=this.model.getParent(c);null!=c&&null!=c.parent&&c.parent==h.parent&&(n=c.parent.getIndex(c),this.model.add(c.parent,h,n))}null==l&&null!=r&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent, -r,n));null!=h&&e.push(h);null==l&&null!=r&&e.push(r);null==r&&null!=h&&h.geometry.setTerminalPoint(p,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e}; -Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,c;for(c in this.model.cells)if(e=this.model.cells[c],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; -Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,c=null;null==c&&null!=e;)null!=e.value&&"object"==typeof e.value&&(c=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return c||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; +Graph.prototype.createLayersDialog=function(){var a=document.createElement("div");a.style.position="absolute";for(var b=this.getModel(),e=b.getChildCount(b.root),d=0;d<e;d++)mxUtils.bind(this,function(d){var e=document.createElement("div");e.style.overflow="hidden";e.style.textOverflow="ellipsis";e.style.padding="2px";e.style.whiteSpace="nowrap";var k=document.createElement("input");k.style.display="inline-block";k.setAttribute("type","checkbox");b.isVisible(d)&&(k.setAttribute("checked","checked"), +k.defaultChecked=!0);e.appendChild(k);var r=this.convertValueToString(d)||mxResources.get("background")||"Background";e.setAttribute("title",r);mxUtils.write(e,r);a.appendChild(e);mxEvent.addListener(k,"click",function(){null!=k.getAttribute("checked")?k.removeAttribute("checked"):k.setAttribute("checked","checked");b.setVisible(d,k.checked)})})(b.getChildAt(b.root,d));return a}; +Graph.prototype.replacePlaceholders=function(a,b){var e=[];if(null!=b){for(var d=0;match=this.placeholderPattern.exec(b);){var k=match[0];if(2<k.length&&"%label%"!=k&&"%tooltip%"!=k){var m=null;if(match.index>d&&"%"==b.charAt(match.index-1))m=k.substring(1);else{var p=k.substring(1,k.length-1);if(0>p.indexOf("{"))for(var r=a;null==m&&null!=r;)null!=r.value&&"object"==typeof r.value&&(m=r.hasAttribute(p)?null!=r.getAttribute(p)?r.getAttribute(p):"":null),r=this.model.getParent(r);null==m&&(m=this.getGlobalVariable(p))}e.push(b.substring(d, +match.index)+(null!=m?m:k));d=match.index+k.length}}e.push(b.substring(d))}return e.join("")};Graph.prototype.selectCellsForConnectVertex=function(a,b,e){2==a.length&&this.model.isVertex(a[1])?(this.setSelectionCell(a[1]),null!=e&&(mxEvent.isTouchEvent(b)?e.update(e.getState(this.view.getState(a[1]))):e.reset()),this.scrollCellToVisible(a[1])):this.setSelectionCells(a)}; +Graph.prototype.connectVertex=function(a,b,e,d,k,m){m=m?m:!1;var p=a.geometry.relative&&null!=a.parent.geometry?new mxPoint(a.parent.geometry.width*a.geometry.x,a.parent.geometry.height*a.geometry.y):new mxPoint(a.geometry.x,a.geometry.y);b==mxConstants.DIRECTION_NORTH?(p.x+=a.geometry.width/2,p.y-=e):b==mxConstants.DIRECTION_SOUTH?(p.x+=a.geometry.width/2,p.y+=a.geometry.height+e):(p.x=b==mxConstants.DIRECTION_WEST?p.x-e:p.x+(a.geometry.width+e),p.y+=a.geometry.height/2);e=this.view.getState(this.model.getParent(a)); +var r=this.view.scale,v=this.view.translate,c=v.x*r,v=v.y*r;this.model.isVertex(e.cell)&&(c=e.x,v=e.y);this.model.isVertex(a.parent)&&a.geometry.relative&&(p.x+=a.parent.geometry.x,p.y+=a.parent.geometry.y);m=m||mxEvent.isControlDown(d)&&!k?null:this.getCellAt(c+p.x*r,v+p.y*r);this.model.isAncestor(m,a)&&(m=null);for(e=m;null!=e;){if(this.isCellLocked(e)){m=null;break}e=this.model.getParent(e)}null!=m&&(e=this.view.getState(a),r=this.view.getState(m),null!=e&&null!=r&&mxUtils.intersects(e,r)&&(m= +null));if(k=!mxEvent.isShiftDown(d)||k)b==mxConstants.DIRECTION_NORTH?p.y-=a.geometry.height/2:b==mxConstants.DIRECTION_SOUTH?p.y+=a.geometry.height/2:p.x=b==mxConstants.DIRECTION_WEST?p.x-a.geometry.width/2:p.x+a.geometry.width/2;null==m||this.isCellConnectable(m)||(e=this.getModel().getParent(m),this.getModel().isVertex(e)&&this.isCellConnectable(e)&&(m=e));if(m==a||this.model.isEdge(m)||!this.isCellConnectable(m))m=null;e=[];this.model.beginUpdate();try{r=m;if(null==r&&k){for(var c=a,f=this.getCellGeometry(a);null!= +f&&f.relative;)c=this.getModel().getParent(c),f=this.getCellGeometry(c);var g=this.view.getState(c),u=null!=g?g.style:this.getCellStyle(c);if(mxUtils.getValue(u,"part",!1)){var t=this.model.getParent(c);this.model.isVertex(t)&&(c=t)}r=this.duplicateCells([c],!1)[0];f=this.getCellGeometry(r);null!=f&&(f.x=p.x-f.width/2,f.y=p.y-f.height/2)}f=null;null!=this.layoutManager&&(f=this.layoutManager.getLayout(this.model.getParent(a)));var h=mxEvent.isControlDown(d)&&k||null==m&&null!=f&&f.constructor==mxStackLayout? +null:this.insertEdge(this.model.getParent(a),null,"",a,r,this.createCurrentEdgeStyle());if(null!=h&&this.connectionHandler.insertBeforeSource){var n=null;for(d=a;null!=d.parent&&null!=d.geometry&&d.geometry.relative&&d.parent!=h.parent;)d=this.model.getParent(d);null!=d&&null!=d.parent&&d.parent==h.parent&&(n=d.parent.getIndex(d),this.model.add(d.parent,h,n))}null==m&&null!=r&&null!=f&&null!=a.parent&&f.constructor==mxStackLayout&&b==mxConstants.DIRECTION_WEST&&(n=a.parent.getIndex(a),this.model.add(a.parent, +r,n));null!=h&&e.push(h);null==m&&null!=r&&e.push(r);null==r&&null!=h&&h.geometry.setTerminalPoint(p,!1);null!=h&&this.fireEvent(new mxEventObject("cellsInserted","cells",[h]))}finally{this.model.endUpdate()}return e}; +Graph.prototype.getIndexableText=function(){var a=document.createElement("div"),b=[],e,d;for(d in this.model.cells)if(e=this.model.cells[d],this.model.isVertex(e)||this.model.isEdge(e))this.isHtmlLabel(e)?(a.innerHTML=this.getLabel(e),e=mxUtils.extractTextWithWhitespace([a])):e=this.getLabel(e),e=mxUtils.trim(e.replace(/[\x00-\x1F\x7F-\x9F]|\s+/g," ")),0<e.length&&b.push(e);return b.join(" ")}; +Graph.prototype.convertValueToString=function(a){if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&&null!=a.getAttribute("placeholder")){for(var b=a.getAttribute("placeholder"),e=a,d=null;null==d&&null!=e;)null!=e.value&&"object"==typeof e.value&&(d=e.hasAttribute(b)?null!=e.getAttribute(b)?e.getAttribute(b):"":null),e=this.model.getParent(e);return d||""}return a.value.getAttribute("label")}return mxGraph.prototype.convertValueToString.apply(this,arguments)}; Graph.prototype.getLinksForState=function(a){return null!=a&&null!=a.text&&null!=a.text.node?a.text.node.getElementsByTagName("a"):null};Graph.prototype.getLinkForCell=function(a){return null!=a.value&&"object"==typeof a.value?(a=a.value.getAttribute("link"),null!=a&&"javascript:"===a.toLowerCase().substring(0,11)&&(a=a.substring(11)),a):null}; Graph.prototype.getCellStyle=function(a){var b=mxGraph.prototype.getCellStyle.apply(this,arguments);if(null!=a&&null!=this.layoutManager){var e=this.model.getParent(a);this.model.isVertex(e)&&this.isCellCollapsed(a)&&(e=this.layoutManager.getLayout(e),null!=e&&e.constructor==mxStackLayout&&(b[mxConstants.STYLE_HORIZONTAL]=!e.horizontal))}return b}; -Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var c=this.layoutManager.getLayout(this.model.getParent(a));null!=c&&c.constructor==mxStackLayout&&(c.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; -Graph.prototype.foldCells=function(a,b,e,c,k){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var l=0;l<e.length;l++){var p=this.view.getState(e[l]),r=this.getCellGeometry(e[l]);if(null!=p&&null!=r){var v=Math.round(r.width-p.width/this.view.scale),d=Math.round(r.height-p.height/this.view.scale);if(0!=d||0!=v){var f=this.model.getParent(e[l]),g=this.layoutManager.getLayout(f); -null==g?null!=k&&this.isMoveCellsEvent(k)&&this.moveSiblings(p,f,v,d):null!=k&&mxEvent.isAltDown(k)||g.constructor!=mxStackLayout||g.resizeLast||this.resizeParentStacks(f,g,v,d)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; -Graph.prototype.moveSiblings=function(a,b,e,c){this.model.beginUpdate();try{var k=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<k.length;b++)if(k[b]!=a.cell){var l=this.view.getState(k[b]),p=this.getCellGeometry(k[b]);null!=l&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(l.x-a.x)/a.width))),Math.round(c*Math.max(0,Math.min(1,(l.y-a.y)/a.height)))),this.model.setGeometry(k[b],p))}}finally{this.model.endUpdate()}}; -Graph.prototype.resizeParentStacks=function(a,b,e,c){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var k=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==k&&!b.resizeLast;){var l=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=l&&(l=l.clone(),b.horizontal?l.width+=e+Math.min(0,p.width/this.view.scale-l.width):l.height+=c+Math.min(0,p.height/this.view.scale-l.height),this.model.setGeometry(a, -l));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; +Graph.prototype.updateAlternateBounds=function(a,b,e){if(null!=a&&null!=b&&null!=this.layoutManager&&null!=b.alternateBounds){var d=this.layoutManager.getLayout(this.model.getParent(a));null!=d&&d.constructor==mxStackLayout&&(d.horizontal?b.alternateBounds.height=0:b.alternateBounds.width=0)}mxGraph.prototype.updateAlternateBounds.apply(this,arguments)};Graph.prototype.isMoveCellsEvent=function(a){return mxEvent.isShiftDown(a)}; +Graph.prototype.foldCells=function(a,b,e,d,k){b=null!=b?b:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));if(null!=e){this.model.beginUpdate();try{if(mxGraph.prototype.foldCells.apply(this,arguments),null!=this.layoutManager)for(var m=0;m<e.length;m++){var p=this.view.getState(e[m]),r=this.getCellGeometry(e[m]);if(null!=p&&null!=r){var v=Math.round(r.width-p.width/this.view.scale),c=Math.round(r.height-p.height/this.view.scale);if(0!=c||0!=v){var f=this.model.getParent(e[m]),g=this.layoutManager.getLayout(f); +null==g?null!=k&&this.isMoveCellsEvent(k)&&this.moveSiblings(p,f,v,c):null!=k&&mxEvent.isAltDown(k)||g.constructor!=mxStackLayout||g.resizeLast||this.resizeParentStacks(f,g,v,c)}}}}finally{this.model.endUpdate()}this.isEnabled()&&this.setSelectionCells(e)}}; +Graph.prototype.moveSiblings=function(a,b,e,d){this.model.beginUpdate();try{var k=this.getCellsBeyond(a.x,a.y,b,!0,!0);for(b=0;b<k.length;b++)if(k[b]!=a.cell){var m=this.view.getState(k[b]),p=this.getCellGeometry(k[b]);null!=m&&null!=p&&(p=p.clone(),p.translate(Math.round(e*Math.max(0,Math.min(1,(m.x-a.x)/a.width))),Math.round(d*Math.max(0,Math.min(1,(m.y-a.y)/a.height)))),this.model.setGeometry(k[b],p))}}finally{this.model.endUpdate()}}; +Graph.prototype.resizeParentStacks=function(a,b,e,d){if(null!=this.layoutManager&&null!=b&&b.constructor==mxStackLayout&&!b.resizeLast){this.model.beginUpdate();try{for(var k=b.horizontal;null!=a&&null!=b&&b.constructor==mxStackLayout&&b.horizontal==k&&!b.resizeLast;){var m=this.getCellGeometry(a),p=this.view.getState(a);null!=p&&null!=m&&(m=m.clone(),b.horizontal?m.width+=e+Math.min(0,p.width/this.view.scale-m.width):m.height+=d+Math.min(0,p.height/this.view.scale-m.height),this.model.setGeometry(a, +m));a=this.model.getParent(a);b=this.layoutManager.getLayout(a)}}finally{this.model.endUpdate()}}};Graph.prototype.isContainer=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.isSwimlane(a)?"0"!=b.container:"1"==b.container};Graph.prototype.isCellConnectable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return null!=b.connectable?"0"!=b.connectable:mxGraph.prototype.isCellConnectable.apply(this,arguments)}; Graph.prototype.selectAll=function(a){a=a||this.getDefaultParent();this.isCellLocked(a)||mxGraph.prototype.selectAll.apply(this,arguments)};Graph.prototype.selectCells=function(a,b,e){e=e||this.getDefaultParent();this.isCellLocked(e)||mxGraph.prototype.selectCells.apply(this,arguments)};Graph.prototype.getSwimlaneAt=function(a,b,e){e=e||this.getDefaultParent();return this.isCellLocked(e)?null:mxGraph.prototype.getSwimlaneAt.apply(this,arguments)}; Graph.prototype.isCellFoldable=function(a){var b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return this.foldingEnabled&&!this.isCellLocked(a)&&(this.isContainer(a)&&"0"!=b.collapsible||!this.isContainer(a)&&"1"==b.collapsible)};Graph.prototype.reset=function(){this.isEditing()&&this.stopEditing(!0);this.escape();this.isSelectionEmpty()||this.clearSelection()}; Graph.prototype.zoom=function(a,b){a=Math.max(.01,Math.min(this.view.scale*a,160))/this.view.scale;mxGraph.prototype.zoom.apply(this,arguments)};Graph.prototype.zoomIn=function(){.15>this.view.scale?this.zoom((this.view.scale+.01)/this.view.scale):this.zoom(Math.round(this.view.scale*this.zoomFactor*20)/20/this.view.scale)};Graph.prototype.zoomOut=function(){.15>=this.view.scale?this.zoom((this.view.scale-.01)/this.view.scale):this.zoom(Math.round(1/this.zoomFactor*this.view.scale*20)/20/this.view.scale)}; -Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=["label","tooltip","placeholders","placeholder"];a=a.value.attributes;var c=[];this.isEnabled()&&e.push("link");for(var k=0;k<a.length;k++)0>mxUtils.indexOf(e,a[k].nodeName)&&0<a[k].nodeValue.length&&c.push({name:a[k].nodeName,value:a[k].nodeValue});c.sort(function(a, -b){return a.name<b.name?-1:a.name>b.name?1:0});for(k=0;k<c.length;k++)"link"==c[k].name&&this.isCustomLink(c[k].value)||(b+=("link"!=c[k].name?c[k].name+":":"")+mxUtils.htmlEntities(c[k].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1))}}return b};Graph.prototype.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.prototype.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")}; +Graph.prototype.getTooltipForCell=function(a){var b="";if(mxUtils.isNode(a.value)){var e=a.value.getAttribute("tooltip");if(null!=e)null!=e&&this.isReplacePlaceholders(a)&&(e=this.replacePlaceholders(a,e)),b=this.sanitizeHtml(e);else{e=["label","tooltip","placeholders","placeholder"];a=a.value.attributes;var d=[];this.isEnabled()&&e.push("link");for(var k=0;k<a.length;k++)0>mxUtils.indexOf(e,a[k].nodeName)&&0<a[k].nodeValue.length&&d.push({name:a[k].nodeName,value:a[k].nodeValue});d.sort(function(a, +b){return a.name<b.name?-1:a.name>b.name?1:0});for(k=0;k<d.length;k++)"link"==d[k].name&&this.isCustomLink(d[k].value)||(b+=("link"!=d[k].name?d[k].name+":":"")+mxUtils.htmlEntities(d[k].value)+"\n");0<b.length&&(b=b.substring(0,b.length-1))}}return b};Graph.prototype.stringToBytes=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=a.charCodeAt(e);return b};Graph.prototype.bytesToString=function(a){for(var b=Array(a.length),e=0;e<a.length;e++)b[e]=String.fromCharCode(a[e]);return b.join("")}; Graph.prototype.compress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=this.bytesToString(pako.deflateRaw(encodeURIComponent(a)));return window.btoa?btoa(a):Base64.encode(a,!0)};Graph.prototype.decompress=function(a){if(null==a||0==a.length||"undefined"===typeof pako)return a;a=window.atob?atob(a):Base64.decode(a,!0);return this.zapGremlins(decodeURIComponent(this.bytesToString(pako.inflateRaw(a))))}; -Graph.prototype.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var c=a.charCodeAt(e);(32<=c||9==c||10==c||13==c)&&b.push(a.charAt(e))}return b.join("")};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=6;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy"; +Graph.prototype.zapGremlins=function(a){for(var b=[],e=0;e<a.length;e++){var d=a.charCodeAt(e);(32<=d||9==d||10==d||13==d)&&b.push(a.charAt(e))}return b.join("")};HoverIcons=function(a){this.graph=a;this.init()};HoverIcons.prototype.arrowSpacing=6;HoverIcons.prototype.updateDelay=500;HoverIcons.prototype.activationDelay=140;HoverIcons.prototype.currentState=null;HoverIcons.prototype.activeArrow=null;HoverIcons.prototype.inactiveOpacity=15;HoverIcons.prototype.cssCursor="copy"; HoverIcons.prototype.checkCollisions=!0;HoverIcons.prototype.triangleUp=mxClient.IS_SVG?Graph.createSvgImage(26,14,'<path d="m 1 14 L 13 1 L 26 14 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-up.png",26,14);HoverIcons.prototype.triangleRight=mxClient.IS_SVG?Graph.createSvgImage(14,26,'<path d="m 1 1 L 14 13 L 1 26 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-right.png",14,26); HoverIcons.prototype.triangleDown=mxClient.IS_SVG?Graph.createSvgImage(26,14,'<path d="m 1 1 L 13 14 L 26 1 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-down.png",26,14);HoverIcons.prototype.triangleLeft=mxClient.IS_SVG?Graph.createSvgImage(14,26,'<path d="m 14 1 L 1 13 L 14 26 z" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/triangle-left.png",14,26); HoverIcons.prototype.roundDrop=mxClient.IS_SVG?Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#007dfc"/>'):new mxImage(IMAGE_PATH+"/round-drop.png",26,26); @@ -2260,9 +2261,9 @@ HoverIcons.prototype.refreshTarget=new mxImage(mxClient.IS_SVG?"data:image/png;b HoverIcons.prototype.init=function(){this.arrowUp=this.createArrow(this.triangleUp,mxResources.get("plusTooltip"));this.arrowRight=this.createArrow(this.triangleRight,mxResources.get("plusTooltip"));this.arrowDown=this.createArrow(this.triangleDown,mxResources.get("plusTooltip"));this.arrowLeft=this.createArrow(this.triangleLeft,mxResources.get("plusTooltip"));this.elts=[this.arrowUp,this.arrowRight,this.arrowDown,this.arrowLeft];this.repaintHandler=mxUtils.bind(this,function(){this.repaint()});this.graph.selectionModel.addListener(mxEvent.CHANGE, this.repaintHandler);this.graph.model.addListener(mxEvent.CHANGE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE_AND_TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.TRANSLATE,this.repaintHandler);this.graph.view.addListener(mxEvent.SCALE,this.repaintHandler);this.graph.view.addListener(mxEvent.DOWN,this.repaintHandler);this.graph.view.addListener(mxEvent.UP,this.repaintHandler);this.graph.addListener(mxEvent.ROOT,this.repaintHandler);this.graph.addListener(mxEvent.ESCAPE, mxUtils.bind(this,function(){this.mouseDownPoint=null}));mxEvent.addListener(this.graph.container,"mouseleave",mxUtils.bind(this,function(a){null!=a.relatedTarget&&mxEvent.getSource(a)==this.graph.container&&this.setDisplay("none")}));this.graph.addListener(mxEvent.START_EDITING,mxUtils.bind(this,function(a){this.reset()}));var a=this.graph.click;this.graph.click=mxUtils.bind(this,function(b){a.apply(this.graph,arguments);null==this.currentState||this.graph.isCellSelected(this.currentState.cell)|| -!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,c){b=!1;var e=c.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var l=this.getState(c.getState());null==l&&mxEvent.isTouchEvent(e)||this.update(l)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)|| -this.update(this.getState(c.getState()),c.getGraphX(),c.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,c){var e=c.getEvent();this.isResetEvent(e)?this.reset():this.isActive()&&null!=this.mouseDownPoint&&Math.abs(c.getGraphX()-this.mouseDownPoint.x)<this.graph.tolerance&&Math.abs(c.getGraphY()-this.mouseDownPoint.y)<this.graph.tolerance?b||this.click(this.currentState,this.getDirection(),c):this.isActive()?1== -this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(c.getGraphX(),c.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,c.getGraphX(),c.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||this.reset();b=!1;this.resetActiveArrow()})})}; +!mxEvent.isTouchEvent(b.getEvent())||this.graph.model.isVertex(b.getCell())||this.reset()});var b=!1;this.graph.addMouseListener({mouseDown:mxUtils.bind(this,function(a,d){b=!1;var e=d.getEvent();if(this.isResetEvent(e))this.reset();else if(!this.isActive()){var m=this.getState(d.getState());null==m&&mxEvent.isTouchEvent(e)||this.update(m)}this.setDisplay("none")}),mouseMove:mxUtils.bind(this,function(a,d){var e=d.getEvent();this.isResetEvent(e)?this.reset():this.graph.isMouseDown||mxEvent.isTouchEvent(e)|| +this.update(this.getState(d.getState()),d.getGraphX(),d.getGraphY());null!=this.graph.connectionHandler&&null!=this.graph.connectionHandler.shape&&(b=!0)}),mouseUp:mxUtils.bind(this,function(a,d){var e=d.getEvent();this.isResetEvent(e)?this.reset():this.isActive()&&null!=this.mouseDownPoint&&Math.abs(d.getGraphX()-this.mouseDownPoint.x)<this.graph.tolerance&&Math.abs(d.getGraphY()-this.mouseDownPoint.y)<this.graph.tolerance?b||this.click(this.currentState,this.getDirection(),d):this.isActive()?1== +this.graph.getSelectionCount()&&this.graph.model.isEdge(this.graph.getSelectionCell())?this.reset():this.update(this.getState(this.graph.view.getState(this.graph.getCellAt(d.getGraphX(),d.getGraphY())))):mxEvent.isTouchEvent(e)||null!=this.bbox&&mxUtils.contains(this.bbox,d.getGraphX(),d.getGraphY())?(this.setDisplay(""),this.repaint()):mxEvent.isTouchEvent(e)||this.reset();b=!1;this.resetActiveArrow()})})}; HoverIcons.prototype.isResetEvent=function(a,b){return mxEvent.isAltDown(a)||null==this.activeArrow&&mxEvent.isShiftDown(a)||mxEvent.isMetaDown(a)||mxEvent.isPopupTrigger(a)&&!mxEvent.isControlDown(a)}; HoverIcons.prototype.createArrow=function(a,b){var e=null;mxClient.IS_IE&&!mxClient.IS_SVG?(mxClient.IS_IE6&&"CSS1Compat"!=document.compatMode?(e=document.createElement(mxClient.VML_PREFIX+":image"),e.setAttribute("src",a.src),e.style.borderStyle="none"):(e=document.createElement("div"),e.style.backgroundImage="url("+a.src+")",e.style.backgroundPosition="center",e.style.backgroundRepeat="no-repeat"),e.style.width=a.width+4+"px",e.style.height=a.height+4+"px",e.style.display=mxClient.IS_QUIRKS?"inline": "inline-block"):(e=mxUtils.createImage(a.src),e.style.width=a.width+"px",e.style.height=a.height+"px",e.style.padding=this.tolerance+"px");null!=b&&e.setAttribute("title",b);e.style.position="absolute";e.style.cursor=this.cssCursor;mxEvent.addGestureListeners(e,mxUtils.bind(this,function(a){null==this.currentState||this.isResetEvent(a)||(this.mouseDownPoint=mxUtils.convertPoint(this.graph.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),this.drag(a,this.mouseDownPoint.x,this.mouseDownPoint.y), @@ -2270,116 +2271,116 @@ this.activeArrow=e,this.setDisplay("none"),mxEvent.consume(a))}));mxEvent.redire this.resetActiveArrow()}));return e};HoverIcons.prototype.resetActiveArrow=function(){null!=this.activeArrow&&(mxUtils.setOpacity(this.activeArrow,this.inactiveOpacity),this.activeArrow=null)};HoverIcons.prototype.getDirection=function(){var a=mxConstants.DIRECTION_EAST;this.activeArrow==this.arrowUp?a=mxConstants.DIRECTION_NORTH:this.activeArrow==this.arrowDown?a=mxConstants.DIRECTION_SOUTH:this.activeArrow==this.arrowLeft&&(a=mxConstants.DIRECTION_WEST);return a}; HoverIcons.prototype.visitNodes=function(a){for(var b=0;b<this.elts.length;b++)null!=this.elts[b]&&a(this.elts[b])};HoverIcons.prototype.removeNodes=function(){this.visitNodes(function(a){null!=a.parentNode&&a.parentNode.removeChild(a)})};HoverIcons.prototype.setDisplay=function(a){this.visitNodes(function(b){b.style.display=a})};HoverIcons.prototype.isActive=function(){return null!=this.activeArrow&&null!=this.currentState}; HoverIcons.prototype.drag=function(a,b,e){this.graph.popupMenuHandler.hideMenu();this.graph.stopEditing(!1);null!=this.currentState&&(this.graph.connectionHandler.start(this.currentState,b,e),this.graph.isMouseTrigger=mxEvent.isMouseEvent(a),this.graph.isMouseDown=!0,a=this.graph.selectionCellsHandler.getHandler(this.currentState.cell),null!=a&&a.setHandlesVisible(!1))};HoverIcons.prototype.getStateAt=function(a,b,e){return this.graph.view.getState(this.graph.getCellAt(b,e))}; -HoverIcons.prototype.click=function(a,b,e){var c=e.getEvent(),k=e.getGraphX(),l=e.getGraphY(),k=this.getStateAt(a,k,l);null==k||!this.graph.model.isEdge(k.cell)||mxEvent.isControlDown(c)||k.getVisibleTerminalState(!0)!=a&&k.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,c),this.graph.selectCellsForConnectVertex(a,c,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(c)?this.update(this.getState(this.graph.view.getState(a[1]))): +HoverIcons.prototype.click=function(a,b,e){var d=e.getEvent(),k=e.getGraphX(),m=e.getGraphY(),k=this.getStateAt(a,k,m);null==k||!this.graph.model.isEdge(k.cell)||mxEvent.isControlDown(d)||k.getVisibleTerminalState(!0)!=a&&k.getVisibleTerminalState(!1)!=a?null!=a&&(a=this.graph.connectVertex(a.cell,b,this.graph.defaultEdgeLength,d),this.graph.selectCellsForConnectVertex(a,d,this),2==a.length&&this.graph.model.isVertex(a[1])?(this.graph.setSelectionCell(a[1]),mxEvent.isTouchEvent(d)?this.update(this.getState(this.graph.view.getState(a[1]))): this.reset(),this.graph.scrollCellToVisible(a[1])):this.graph.setSelectionCells(a)):(this.graph.setSelectionCell(k.cell),this.reset());e.consume()};HoverIcons.prototype.reset=function(a){null!=a&&!a||null==this.updateThread||window.clearTimeout(this.updateThread);this.activeArrow=this.currentState=this.mouseDownPoint=null;this.removeNodes();this.bbox=null}; HoverIcons.prototype.repaint=function(){this.bbox=null;if(null!=this.currentState){this.currentState=this.getState(this.currentState);if(null!=this.currentState&&this.graph.model.isVertex(this.currentState.cell)&&this.graph.isCellConnectable(this.currentState.cell)){var a=mxRectangle.fromRectangle(this.currentState);null!=this.currentState.shape&&null!=this.currentState.shape.boundingBox&&(a=mxRectangle.fromRectangle(this.currentState.shape.boundingBox));a.grow(this.graph.tolerance);a.grow(this.arrowSpacing); var b=this.graph.selectionCellsHandler.getHandler(this.currentState.cell);null!=b&&(a.x-=b.horizontalOffset/2,a.y-=b.verticalOffset/2,a.width+=b.horizontalOffset,a.height+=b.verticalOffset,null!=b.rotationShape&&null!=b.rotationShape.node&&"hidden"!=b.rotationShape.node.style.visibility&&"none"!=b.rotationShape.node.style.display&&null!=b.rotationShape.boundingBox&&a.add(b.rotationShape.boundingBox));this.arrowUp.style.left=Math.round(this.currentState.getCenterX()-this.triangleUp.width/2-this.tolerance)+ "px";this.arrowUp.style.top=Math.round(a.y-this.triangleUp.height-this.tolerance)+"px";mxUtils.setOpacity(this.arrowUp,this.inactiveOpacity);this.arrowRight.style.left=Math.round(a.x+a.width-this.tolerance)+"px";this.arrowRight.style.top=Math.round(this.currentState.getCenterY()-this.triangleRight.height/2-this.tolerance)+"px";mxUtils.setOpacity(this.arrowRight,this.inactiveOpacity);this.arrowDown.style.left=this.arrowUp.style.left;this.arrowDown.style.top=Math.round(a.y+a.height-this.tolerance)+ -"px";mxUtils.setOpacity(this.arrowDown,this.inactiveOpacity);this.arrowLeft.style.left=Math.round(a.x-this.triangleLeft.width-this.tolerance)+"px";this.arrowLeft.style.top=this.arrowRight.style.top;mxUtils.setOpacity(this.arrowLeft,this.inactiveOpacity);if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),e=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),c=this.graph.getCellAt(this.currentState.getCenterX(), -a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==e&&e==c&&c==a&&(a=c=e=b=null);var k=this.graph.getCellGeometry(this.currentState.cell),l=mxUtils.bind(this,function(a,b){var c=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null!=a&&!this.graph.model.isAncestor(a,this.currentState.cell)&&(null==c||null==k||c.height<6*k.height&&c.width<6*k.width)?b.style.visibility="hidden":b.style.visibility="visible"}); -l(b,this.arrowRight);l(e,this.arrowLeft);l(c,this.arrowUp);l(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),this.arrowDown.setAttribute("title", +"px";mxUtils.setOpacity(this.arrowDown,this.inactiveOpacity);this.arrowLeft.style.left=Math.round(a.x-this.triangleLeft.width-this.tolerance)+"px";this.arrowLeft.style.top=this.arrowRight.style.top;mxUtils.setOpacity(this.arrowLeft,this.inactiveOpacity);if(this.checkCollisions){var b=this.graph.getCellAt(a.x+a.width+this.triangleRight.width/2,this.currentState.getCenterY()),e=this.graph.getCellAt(a.x-this.triangleLeft.width/2,this.currentState.getCenterY()),d=this.graph.getCellAt(this.currentState.getCenterX(), +a.y-this.triangleUp.height/2),a=this.graph.getCellAt(this.currentState.getCenterX(),a.y+a.height+this.triangleDown.height/2);null!=b&&b==e&&e==d&&d==a&&(a=d=e=b=null);var k=this.graph.getCellGeometry(this.currentState.cell),m=mxUtils.bind(this,function(a,b){var d=this.graph.model.isVertex(a)&&this.graph.getCellGeometry(a);null!=a&&!this.graph.model.isAncestor(a,this.currentState.cell)&&(null==d||null==k||d.height<6*k.height&&d.width<6*k.width)?b.style.visibility="hidden":b.style.visibility="visible"}); +m(b,this.arrowRight);m(e,this.arrowLeft);m(d,this.arrowUp);m(a,this.arrowDown)}else this.arrowLeft.style.visibility="visible",this.arrowRight.style.visibility="visible",this.arrowUp.style.visibility="visible",this.arrowDown.style.visibility="visible";this.graph.tooltipHandler.isEnabled()?(this.arrowLeft.setAttribute("title",mxResources.get("plusTooltip")),this.arrowRight.setAttribute("title",mxResources.get("plusTooltip")),this.arrowUp.setAttribute("title",mxResources.get("plusTooltip")),this.arrowDown.setAttribute("title", mxResources.get("plusTooltip"))):(this.arrowLeft.removeAttribute("title"),this.arrowRight.removeAttribute("title"),this.arrowUp.removeAttribute("title"),this.arrowDown.removeAttribute("title"))}else this.reset();null!=this.currentState&&(this.bbox=this.computeBoundingBox(),null!=this.bbox&&this.bbox.grow(10))}}; HoverIcons.prototype.computeBoundingBox=function(){var a=this.graph.model.isEdge(this.currentState.cell)?null:mxRectangle.fromRectangle(this.currentState);this.visitNodes(function(b){null!=b.parentNode&&(b=new mxRectangle(b.offsetLeft,b.offsetTop,b.offsetWidth,b.offsetHeight),null==a?a=b:a.add(b))});return a}; HoverIcons.prototype.getState=function(a){if(null!=a){a=a.cell;if(this.graph.getModel().isVertex(a)&&!this.graph.isCellConnectable(a)){var b=this.graph.getModel().getParent(a);this.graph.getModel().isVertex(b)&&this.graph.isCellConnectable(b)&&(a=b)}if(this.graph.isCellLocked(a)||this.graph.model.isEdge(a))a=null;a=this.graph.view.getState(a)}return a}; -HoverIcons.prototype.update=function(a,b,e){if(this.graph.connectionArrowsEnabled){var c=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,c=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(c=(new Date).getTime()-this.startTime); -this.setDisplay("");null!=this.currentState&&this.currentState!=a&&c<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||c>this.activationDelay)&&this.currentState!=a&&(c>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox,b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()): +HoverIcons.prototype.update=function(a,b,e){if(this.graph.connectionArrowsEnabled){var d=null;this.prev!=a||this.isActive()?(this.startTime=(new Date).getTime(),this.prev=a,d=0,null!=this.updateThread&&window.clearTimeout(this.updateThread),null!=a&&(this.updateThread=window.setTimeout(mxUtils.bind(this,function(){this.isActive()||this.graph.isMouseDown||this.graph.panningHandler.isActive()||(this.prev=a,this.update(a,b,e))}),this.updateDelay+10))):null!=this.startTime&&(d=(new Date).getTime()-this.startTime); +this.setDisplay("");null!=this.currentState&&this.currentState!=a&&d<this.activationDelay&&null!=this.bbox&&!mxUtils.contains(this.bbox,b,e)?this.reset(!1):(null!=this.currentState||d>this.activationDelay)&&this.currentState!=a&&(d>this.updateDelay&&null!=a||null==this.bbox||null==b||null==e||!mxUtils.contains(this.bbox,b,e))&&(null!=a&&this.graph.isEnabled()?(this.removeNodes(),this.setCurrentState(a),this.repaint(),this.graph.connectionHandler.constraintHandler.currentFocus!=a&&this.graph.connectionHandler.constraintHandler.reset()): this.reset())}else this.reset()};HoverIcons.prototype.setCurrentState=function(a){"eastwest"!=a.style.portConstraint&&(this.graph.container.appendChild(this.arrowUp),this.graph.container.appendChild(this.arrowDown));this.graph.container.appendChild(this.arrowRight);this.graph.container.appendChild(this.arrowLeft);this.currentState=a}; -(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,d){var c=this.getState(a);null!=c&&this.graph.model.isEdge(c.cell)&&null!=c.style&&1!=c.style[mxConstants.STYLE_CURVED]&&!c.invalid&&this.updateLineJumps(c)&&this.graph.cellRenderer.redraw(c,!1,this.isRendering());c=b.apply(this,arguments);null!= -c&&this.graph.model.isEdge(c.cell)&&1!=c.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(c);return c};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,d){return e.apply(this,arguments)||null!=a.routedPoints&&null!=d.routedPoints&&!mxUtils.equalPoints(d.routedPoints,a.routedPoints)};var c=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){c.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& -this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var d=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,c=null;if(null!=d&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(d,b,f){var e=new mxPoint(b,f);e.type=d;c.push(e);e=null!=a.routedPoints?a.routedPoints[c.length-1]:null;return null==e||e.type!=d||e.x!=b||e.y!=f},t=.5*this.scale,b=!1,c=[],h=0;h<d.length-1;h++){for(var n=d[h+1],q=d[h],w=[],u=d[h+2];h< -d.length-2&&mxUtils.ptSegDistSq(q.x,q.y,u.x,u.y,n.x,n.y)<1*this.scale*this.scale;)n=u,h++,u=d[h+2];for(var b=e(0,q.x,q.y)||b,k=0;k<this.validEdges.length;k++){var r=this.validEdges[k],z=r.absolutePoints;if(null!=z&&mxUtils.intersects(a,r)&&"1"!=r.style.noJump)for(r=0;r<z.length-1;r++){for(var l=z[r+1],p=z[r],u=z[r+2];r<z.length-2&&mxUtils.ptSegDistSq(p.x,p.y,u.x,u.y,l.x,l.y)<1*this.scale*this.scale;)l=u,r++,u=z[r+2];u=mxUtils.intersection(q.x,q.y,n.x,n.y,p.x,p.y,l.x,l.y);if(null!=u&&(Math.abs(u.x- -p.x)>t||Math.abs(u.y-p.y)>t)&&(Math.abs(u.x-l.x)>t||Math.abs(u.y-l.y)>t)){l=u.x-q.x;p=u.y-q.y;u={distSq:l*l+p*p,x:u.x,y:u.y};for(l=0;l<w.length;l++)if(w[l].distSq>u.distSq){w.splice(l,0,u);u=null;break}null==u||0!=w.length&&w[w.length-1].x===u.x&&w[w.length-1].y===u.y||w.push(u)}}}for(r=0;r<w.length;r++)b=e(1,w[r].x,w[r].y)||b}u=d[d.length-1];b=e(0,u.x,u.y)||b}a.routedPoints=c;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,d,b){this.routedPoints= -null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)k.apply(this,arguments);else{var c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,q=null,w=null;h=[];var u=null;a.begin();for(var y=0;y<this.state.routedPoints.length;y++){var r= -this.state.routedPoints[y],z=new mxPoint(r.x/this.scale,r.y/this.scale);0==y?z=d[0]:y==this.state.routedPoints.length-1&&(z=d[d.length-1]);var l=!1;if(null!=q&&1==r.type){var p=this.state.routedPoints[y+1],r=p.x/this.scale-z.x,p=p.y/this.scale-z.y,r=r*r+p*p;null==u&&(u=new mxPoint(z.x-q.x,z.y-q.y),w=Math.sqrt(u.x*u.x+u.y*u.y),u.x=u.x*f/w,u.y=u.y*f/w);r>f*f&&0<w&&(r=q.x-z.x,p=q.y-z.y,r=r*r+p*p,r>f*f&&(l=new mxPoint(z.x-u.x,z.y-u.y),r=new mxPoint(z.x+u.x,z.y+u.y),h.push(l),this.addPoints(a,h,b,c,!1, -null,n),h=0>Math.round(u.x)||0==Math.round(u.x)&&0>=Math.round(u.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(l.x-u.y*h,l.y+u.x*h),a.lineTo(r.x-u.y*h,r.y+u.x*h),a.lineTo(r.x,r.y)):"arc"==e?(h*=1.3,a.curveTo(l.x-u.y*h,l.y+u.x*h,r.x-u.y*h,r.y+u.x*h,r.x,r.y)):(a.moveTo(r.x,r.y),n=!0),h=[r],l=!0))}else u=null;l||(h.push(z),q=z)}this.addPoints(a,h,b,c,!1,null,n);a.stroke()}};var l=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,d,b,c){if(null==d||null== -a||"1"!=d.style.snapToPoint&&"1"!=a.style.snapToPoint)l.apply(this,arguments);else{d=this.getTerminalPort(a,d,c);var f=this.getNextPoint(a,b,c),e=this.graph.isOrthogonal(a),g=mxUtils.toRadians(Number(d.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(d.getCenterX(),d.getCenterY());if(0!=g)var q=Math.cos(-g),w=Math.sin(-g),f=mxUtils.getRotatedPoint(f,q,w,n);q=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);q+=parseFloat(a.style[c?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| -0);f=this.getPerimeterPoint(d,f,0==g&&e,q);0!=g&&(q=Math.cos(g),w=Math.sin(g),f=mxUtils.getRotatedPoint(f,q,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,d,b,c,f),c)}};mxGraphView.prototype.snapToAnchorPoint=function(a,d,b,c,e){if(null!=d&&null!=a){a=this.graph.getAllConnectionConstraints(d);c=b=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(d,a[f]);if(null!=g){var m=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==c||m<c)b=g,c=m}}null!=b&&(e=b)}return e}; -var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,d,b){var c=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(c=b.state.view.graph.replacePlaceholders(b.state.cell,c));return c};var r=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var d=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=d&&"stencil("==d.substring(0,8))try{var b= -d.substring(8,d.length-1),c=mxUtils.parseXml(a.view.graph.decompress(b));return new mxShape(new mxStencil(c.documentElement))}catch(m){null!=window.console&&console.log("Error in shape: "+m)}}return r.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; -mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var c=0;c<b.length;c++){var k=b[c];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var l= -mxUtils.load(k);null!=l&&200<=l.getStatus()&&299>=l.getStatus()&&eval.call(window,l.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",k,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; +(function(){var a=mxGraphView.prototype.resetValidationState;mxGraphView.prototype.resetValidationState=function(){a.apply(this,arguments);this.validEdges=[]};var b=mxGraphView.prototype.validateCellState;mxGraphView.prototype.validateCellState=function(a,c){var d=this.getState(a);null!=d&&this.graph.model.isEdge(d.cell)&&null!=d.style&&1!=d.style[mxConstants.STYLE_CURVED]&&!d.invalid&&this.updateLineJumps(d)&&this.graph.cellRenderer.redraw(d,!1,this.isRendering());d=b.apply(this,arguments);null!= +d&&this.graph.model.isEdge(d.cell)&&1!=d.style[mxConstants.STYLE_CURVED]&&this.validEdges.push(d);return d};var e=mxCellRenderer.prototype.isShapeInvalid;mxCellRenderer.prototype.isShapeInvalid=function(a,c){return e.apply(this,arguments)||null!=a.routedPoints&&null!=c.routedPoints&&!mxUtils.equalPoints(c.routedPoints,a.routedPoints)};var d=mxGraphView.prototype.updateCellState;mxGraphView.prototype.updateCellState=function(a){d.apply(this,arguments);this.graph.model.isEdge(a.cell)&&1!=a.style[mxConstants.STYLE_CURVED]&& +this.updateLineJumps(a)};mxGraphView.prototype.updateLineJumps=function(a){var c=a.absolutePoints;if(Graph.lineJumpsEnabled){var b=null!=a.routedPoints,d=null;if(null!=c&&null!=this.validEdges&&"none"!==mxUtils.getValue(a.style,"jumpStyle","none")){for(var e=function(c,b,f){var e=new mxPoint(b,f);e.type=c;d.push(e);e=null!=a.routedPoints?a.routedPoints[d.length-1]:null;return null==e||e.type!=c||e.x!=b||e.y!=f},t=.5*this.scale,b=!1,d=[],h=0;h<c.length-1;h++){for(var n=c[h+1],l=c[h],w=[],q=c[h+2];h< +c.length-2&&mxUtils.ptSegDistSq(l.x,l.y,q.x,q.y,n.x,n.y)<1*this.scale*this.scale;)n=q,h++,q=c[h+2];for(var b=e(0,l.x,l.y)||b,k=0;k<this.validEdges.length;k++){var r=this.validEdges[k],z=r.absolutePoints;if(null!=z&&mxUtils.intersects(a,r)&&"1"!=r.style.noJump)for(r=0;r<z.length-1;r++){for(var p=z[r+1],m=z[r],q=z[r+2];r<z.length-2&&mxUtils.ptSegDistSq(m.x,m.y,q.x,q.y,p.x,p.y)<1*this.scale*this.scale;)p=q,r++,q=z[r+2];q=mxUtils.intersection(l.x,l.y,n.x,n.y,m.x,m.y,p.x,p.y);if(null!=q&&(Math.abs(q.x- +m.x)>t||Math.abs(q.y-m.y)>t)&&(Math.abs(q.x-p.x)>t||Math.abs(q.y-p.y)>t)){p=q.x-l.x;m=q.y-l.y;q={distSq:p*p+m*m,x:q.x,y:q.y};for(p=0;p<w.length;p++)if(w[p].distSq>q.distSq){w.splice(p,0,q);q=null;break}null==q||0!=w.length&&w[w.length-1].x===q.x&&w[w.length-1].y===q.y||w.push(q)}}}for(r=0;r<w.length;r++)b=e(1,w[r].x,w[r].y)||b}q=c[c.length-1];b=e(0,q.x,q.y)||b}a.routedPoints=d;return b}return!1};var k=mxConnector.prototype.paintLine;mxConnector.prototype.paintLine=function(a,c,b){this.routedPoints= +null!=this.state?this.state.routedPoints:null;if(this.outline||null==this.state||null==this.style||null==this.state.routedPoints||0==this.state.routedPoints.length)k.apply(this,arguments);else{var d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2,f=(parseInt(mxUtils.getValue(this.style,"jumpSize",Graph.defaultJumpSize))-2)/2+this.strokewidth,e=mxUtils.getValue(this.style,"jumpStyle","none"),h,n=!0,l=null,w=null;h=[];var q=null;a.begin();for(var y=0;y<this.state.routedPoints.length;y++){var r= +this.state.routedPoints[y],z=new mxPoint(r.x/this.scale,r.y/this.scale);0==y?z=c[0]:y==this.state.routedPoints.length-1&&(z=c[c.length-1]);var p=!1;if(null!=l&&1==r.type){var m=this.state.routedPoints[y+1],r=m.x/this.scale-z.x,m=m.y/this.scale-z.y,r=r*r+m*m;null==q&&(q=new mxPoint(z.x-l.x,z.y-l.y),w=Math.sqrt(q.x*q.x+q.y*q.y),q.x=q.x*f/w,q.y=q.y*f/w);r>f*f&&0<w&&(r=l.x-z.x,m=l.y-z.y,r=r*r+m*m,r>f*f&&(p=new mxPoint(z.x-q.x,z.y-q.y),r=new mxPoint(z.x+q.x,z.y+q.y),h.push(p),this.addPoints(a,h,b,d,!1, +null,n),h=0>Math.round(q.x)||0==Math.round(q.x)&&0>=Math.round(q.y)?1:-1,n=!1,"sharp"==e?(a.lineTo(p.x-q.y*h,p.y+q.x*h),a.lineTo(r.x-q.y*h,r.y+q.x*h),a.lineTo(r.x,r.y)):"arc"==e?(h*=1.3,a.curveTo(p.x-q.y*h,p.y+q.x*h,r.x-q.y*h,r.y+q.x*h,r.x,r.y)):(a.moveTo(r.x,r.y),n=!0),h=[r],p=!0))}else q=null;p||(h.push(z),l=z)}this.addPoints(a,h,b,d,!1,null,n);a.stroke()}};var m=mxGraphView.prototype.updateFloatingTerminalPoint;mxGraphView.prototype.updateFloatingTerminalPoint=function(a,c,b,d){if(null==c||null== +a||"1"!=c.style.snapToPoint&&"1"!=a.style.snapToPoint)m.apply(this,arguments);else{c=this.getTerminalPort(a,c,d);var f=this.getNextPoint(a,b,d),e=this.graph.isOrthogonal(a),g=mxUtils.toRadians(Number(c.style[mxConstants.STYLE_ROTATION]||"0")),n=new mxPoint(c.getCenterX(),c.getCenterY());if(0!=g)var l=Math.cos(-g),w=Math.sin(-g),f=mxUtils.getRotatedPoint(f,l,w,n);l=parseFloat(a.style[mxConstants.STYLE_PERIMETER_SPACING]||0);l+=parseFloat(a.style[d?mxConstants.STYLE_SOURCE_PERIMETER_SPACING:mxConstants.STYLE_TARGET_PERIMETER_SPACING]|| +0);f=this.getPerimeterPoint(c,f,0==g&&e,l);0!=g&&(l=Math.cos(g),w=Math.sin(g),f=mxUtils.getRotatedPoint(f,l,w,n));a.setAbsoluteTerminalPoint(this.snapToAnchorPoint(a,c,b,d,f),d)}};mxGraphView.prototype.snapToAnchorPoint=function(a,c,b,d,e){if(null!=c&&null!=a){a=this.graph.getAllConnectionConstraints(c);d=b=null;if(null!=a)for(var f=0;f<a.length;f++){var g=this.graph.getConnectionPoint(c,a[f]);if(null!=g){var n=(g.x-e.x)*(g.x-e.x)+(g.y-e.y)*(g.y-e.y);if(null==d||n<d)b=g,d=n}}null!=b&&(e=b)}return e}; +var p=mxStencil.prototype.evaluateTextAttribute;mxStencil.prototype.evaluateTextAttribute=function(a,c,b){var d=p.apply(this,arguments);"1"==a.getAttribute("placeholders")&&null!=b.state&&(d=b.state.view.graph.replacePlaceholders(b.state.cell,d));return d};var r=mxCellRenderer.prototype.createShape;mxCellRenderer.prototype.createShape=function(a){if(null!=a.style&&"undefined"!==typeof pako){var c=mxUtils.getValue(a.style,mxConstants.STYLE_SHAPE,null);if(null!=c&&"stencil("==c.substring(0,8))try{var b= +c.substring(8,c.length-1),d=mxUtils.parseXml(a.view.graph.decompress(b));return new mxShape(new mxStencil(d.documentElement))}catch(u){null!=window.console&&console.log("Error in shape: "+u)}}return r.apply(this,arguments)}})();mxStencilRegistry.libraries={};mxStencilRegistry.dynamicLoading=!0;mxStencilRegistry.allowEval=!0;mxStencilRegistry.packages=[]; +mxStencilRegistry.getStencil=function(a){var b=mxStencilRegistry.stencils[a];if(null==b&&null==mxCellRenderer.defaultShapes[a]&&mxStencilRegistry.dynamicLoading){var e=mxStencilRegistry.getBasenameForStencil(a);if(null!=e){b=mxStencilRegistry.libraries[e];if(null!=b){if(null==mxStencilRegistry.packages[e]){for(var d=0;d<b.length;d++){var k=b[d];if(".xml"==k.toLowerCase().substring(k.length-4,k.length))mxStencilRegistry.loadStencilSet(k,null);else if(".js"==k.toLowerCase().substring(k.length-3,k.length))try{if(mxStencilRegistry.allowEval){var m= +mxUtils.load(k);null!=m&&200<=m.getStatus()&&299>=m.getStatus()&&eval.call(window,m.getText())}}catch(p){null!=window.console&&console.log("error in getStencil:",k,p)}}mxStencilRegistry.packages[e]=1}}else e=e.replace("_-_","_"),mxStencilRegistry.loadStencilSet(STENCIL_PATH+"/"+e+".xml",null);b=mxStencilRegistry.stencils[a]}}return b}; mxStencilRegistry.getBasenameForStencil=function(a){var b=null;if(null!=a&&(a=a.split("."),0<a.length&&"mxgraph"==a[0]))for(var b=a[1],e=2;e<a.length-1;e++)b+="/"+a[e];return b}; -mxStencilRegistry.loadStencilSet=function(a,b,e,c){var k=mxStencilRegistry.packages[a];if(null!=e&&e||null==k){var l=!1;if(null==k)try{if(c){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(c){null!=c&&null!=c.documentElement&&(mxStencilRegistry.packages[a]=c,l=!0,mxStencilRegistry.parseStencilSet(c.documentElement,b,l))}));return}k=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=k;l=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=k&&null!= -k.documentElement&&mxStencilRegistry.parseStencilSet(k.documentElement,b,l)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; -mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var c=a.firstChild;null!=c;)"shapes"==c.nodeName&&mxStencilRegistry.parseStencilSet(c,b,e),c=c.nextSibling;else{e=null!=e?e:!0;var c=a.firstChild,k="";a=a.getAttribute("name");for(null!=a&&(k=a+".");null!=c;){if(c.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=c.getAttribute("name"),null!=a)){var k=k.toLowerCase(),l=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(k+l.toLowerCase(),new mxStencil(c));if(null!=b){var p=c.getAttribute("w"), -r=c.getAttribute("h"),p=null==p?80:parseInt(p,10),r=null==r?80:parseInt(r,10);b(k,l,a,p,r)}}c=c.nextSibling}}}; +mxStencilRegistry.loadStencilSet=function(a,b,e,d){var k=mxStencilRegistry.packages[a];if(null!=e&&e||null==k){var m=!1;if(null==k)try{if(d){mxStencilRegistry.loadStencil(a,mxUtils.bind(this,function(d){null!=d&&null!=d.documentElement&&(mxStencilRegistry.packages[a]=d,m=!0,mxStencilRegistry.parseStencilSet(d.documentElement,b,m))}));return}k=mxStencilRegistry.loadStencil(a);mxStencilRegistry.packages[a]=k;m=!0}catch(p){null!=window.console&&console.log("error in loadStencilSet:",a,p)}null!=k&&null!= +k.documentElement&&mxStencilRegistry.parseStencilSet(k.documentElement,b,m)}};mxStencilRegistry.loadStencil=function(a,b){if(null!=b)mxUtils.get(a,mxUtils.bind(this,function(a){b(200<=a.getStatus()&&299>=a.getStatus()?a.getXml():null)}));else return mxUtils.load(a).getXml()};mxStencilRegistry.parseStencilSets=function(a){for(var b=0;b<a.length;b++)mxStencilRegistry.parseStencilSet(mxUtils.parseXml(a[b]).documentElement)}; +mxStencilRegistry.parseStencilSet=function(a,b,e){if("stencils"==a.nodeName)for(var d=a.firstChild;null!=d;)"shapes"==d.nodeName&&mxStencilRegistry.parseStencilSet(d,b,e),d=d.nextSibling;else{e=null!=e?e:!0;var d=a.firstChild,k="";a=a.getAttribute("name");for(null!=a&&(k=a+".");null!=d;){if(d.nodeType==mxConstants.NODETYPE_ELEMENT&&(a=d.getAttribute("name"),null!=a)){var k=k.toLowerCase(),m=a.replace(/ /g,"_");e&&mxStencilRegistry.addStencil(k+m.toLowerCase(),new mxStencil(d));if(null!=b){var p=d.getAttribute("w"), +r=d.getAttribute("h"),p=null==p?80:parseInt(p,10),r=null==r?80:parseInt(r,10);b(k,m,a,p,r)}}d=d.nextSibling}}}; "undefined"!=typeof mxVertexHandler&&function(){function a(){var a=document.createElement("div");a.className="geHint";a.style.whiteSpace="nowrap";a.style.position="absolute";return a}mxConstants.HANDLE_FILLCOLOR="#99ccff";mxConstants.HANDLE_STROKECOLOR="#0088cf";mxConstants.VERTEX_SELECTION_COLOR="#00a8ff";mxConstants.OUTLINE_COLOR="#00a8ff";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#99ccff";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#00a8ff";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.EDGE_SELECTION_COLOR= "#00a8ff";mxConstants.DEFAULT_VALID_COLOR="#00a8ff";mxConstants.LABEL_HANDLE_FILLCOLOR="#cee7ff";mxConstants.GUIDE_COLOR="#0088cf";mxConstants.HIGHLIGHT_OPACITY=30;mxConstants.HIGHLIGHT_SIZE=8;mxEdgeHandler.prototype.snapToTerminals=!0;mxGraphHandler.prototype.guidesEnabled=!0;mxRubberband.prototype.fadeOut=!0;mxGuide.prototype.isEnabledForEvent=function(a){return!mxEvent.isAltDown(a)};var b=mxConnectionHandler.prototype.isCreateTarget;mxConnectionHandler.prototype.isCreateTarget=function(a){return mxEvent.isControlDown(a)|| b.apply(this,arguments)};mxConstraintHandler.prototype.createHighlightShape=function(){var a=new mxEllipse(null,this.highlightColor,this.highlightColor,0);a.opacity=mxConstants.HIGHLIGHT_OPACITY;return a};mxConnectionHandler.prototype.livePreview=!0;mxConnectionHandler.prototype.cursor="crosshair";mxConnectionHandler.prototype.createEdgeState=function(a){a=this.graph.createCurrentEdgeStyle();a=this.graph.createEdge(null,null,null,null,null,a);a=new mxCellState(this.graph.view,a,this.graph.getCellStyle(a)); -for(var d in this.graph.currentEdgeStyle)a.style[d]=this.graph.currentEdgeStyle[d];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var c=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=c.apply(this,arguments),d=a.getCell; -a.getCell=mxUtils.bind(this,function(a){var b=d.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& +for(var c in this.graph.currentEdgeStyle)a.style[c]=this.graph.currentEdgeStyle[c];return a};var e=mxConnectionHandler.prototype.createShape;mxConnectionHandler.prototype.createShape=function(){var a=e.apply(this,arguments);a.isDashed="1"==this.graph.currentEdgeStyle[mxConstants.STYLE_DASHED];return a};mxConnectionHandler.prototype.updatePreview=function(a){};var d=mxConnectionHandler.prototype.createMarker;mxConnectionHandler.prototype.createMarker=function(){var a=d.apply(this,arguments),c=a.getCell; +a.getCell=mxUtils.bind(this,function(a){var b=c.apply(this,arguments);this.error=null;return b});return a};mxConnectionHandler.prototype.isCellEnabled=function(a){return!this.graph.isCellLocked(a)};Graph.prototype.defaultVertexStyle={};Graph.prototype.defaultEdgeStyle={edgeStyle:"orthogonalEdgeStyle",rounded:"0",jettySize:"auto",orthogonalLoop:"1"};Graph.prototype.createCurrentEdgeStyle=function(){var a="edgeStyle="+(this.currentEdgeStyle.edgeStyle||"none")+";";null!=this.currentEdgeStyle.shape&& (a+="shape="+this.currentEdgeStyle.shape+";");null!=this.currentEdgeStyle.curved&&(a+="curved="+this.currentEdgeStyle.curved+";");null!=this.currentEdgeStyle.rounded&&(a+="rounded="+this.currentEdgeStyle.rounded+";");null!=this.currentEdgeStyle.comic&&(a+="comic="+this.currentEdgeStyle.comic+";");null!=this.currentEdgeStyle.jumpStyle&&(a+="jumpStyle="+this.currentEdgeStyle.jumpStyle+";");null!=this.currentEdgeStyle.jumpSize&&(a+="jumpSize="+this.currentEdgeStyle.jumpSize+";");"elbowEdgeStyle"==this.currentEdgeStyle.edgeStyle&& null!=this.currentEdgeStyle.elbow&&(a+="elbow="+this.currentEdgeStyle.elbow+";");return a=null!=this.currentEdgeStyle.html?a+("html="+this.currentEdgeStyle.html+";"):a+"html=1;"};Graph.prototype.getPagePadding=function(){return new mxPoint(0,0)};Graph.prototype.loadStylesheet=function(){var a=null!=this.themes?this.themes[this.defaultThemeName]:mxStyleRegistry.dynamicLoading?mxUtils.load(STYLE_PATH+"/default.xml").getDocumentElement():null;null!=a&&(new mxCodec(a.ownerDocument)).decode(a,this.getStylesheet())}; -Graph.prototype.importGraphModel=function(a,d,b,c){d=null!=d?d:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},h=0;h<a;h++){var q=e.getChildAt(e.getRoot(),h);if(1!=a||this.isCellLocked(this.getDefaultParent()))q=this.importCells([q],0,0,this.model.getRoot(),null,g)[0],m=this.model.getChildren(q),this.moveCells(m,d,b),f=f.concat(m);else var m= -e.getChildren(q),f=f.concat(this.importCells(m,d,b,this.getDefaultParent(),null,g))}if(c){this.isGridEnabled()&&(d=this.snap(d),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(f,!0);null!=n&&this.moveCells(f,d-n.x,b-n.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,d){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var c=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];c.push(new mxConnectionConstraint(new mxPoint(e[0], -e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return c}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);null!=d&&(d=mxUtils.getValue(d,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, -this.setCellStyles(mxConstants.STYLE_ELBOW,d,[a]))}};Graph.prototype.isValidRoot=function(a){for(var d=this.model.getChildCount(a),b=0,c=0;c<d;c++){var f=this.model.getChildAt(a,c);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var d=this.view.getState(a),d=null!=d?d.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(d,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, -arguments)&&"0"!=mxUtils.getValue(d,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var d=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(d&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(d=!1))}return d};Graph.prototype.getPreferredSizeForCell= -function(a){var d=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=d&&(d.width+=10,d.height+=4,this.gridEnabled&&(d.width=this.snap(d.width),d.height=this.snap(d.height)));return d};Graph.prototype.turnShapes=function(a){var d=this.getModel(),b=[];d.beginUpdate();try{for(var c=0;c<a.length;c++){var f=a[c];if(d.isEdge(f)){var e=d.getTerminal(f,!0),g=d.getTerminal(f,!1);d.setTerminal(f,g,!0);d.setTerminal(f,e,!1);var h=d.getGeometry(f);if(null!=h){h=h.clone();null!=h.points&&h.points.reverse(); -var q=h.getTerminalPoint(!0),m=h.getTerminalPoint(!1);h.setTerminalPoint(q,!1);h.setTerminalPoint(m,!0);d.setGeometry(f,h);var n=this.view.getState(f),u=this.view.getState(e),t=this.view.getState(g);if(null!=n){var w=null!=u?this.getConnectionConstraint(n,u,!0):null,Q=null!=t?this.getConnectionConstraint(n,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(d.isVertex(f)&&(h=this.getCellGeometry(f),null!=h)){h=h.clone();h.x+=h.width/2-h.height/ -2;h.y+=h.height/2-h.width/2;var k=h.width;h.width=h.height;h.height=k;d.setGeometry(f,h);var r=this.view.getState(f);if(null!=r){var y=r.style[mxConstants.STYLE_DIRECTION]||"east";"east"==y?y="south":"south"==y?y="west":"west"==y?y="north":"north"==y&&(y="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,y,[f])}b.push(f)}}}finally{d.endUpdate()}return b};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& -null!=a.cell.value&&"object"==typeof a.cell.value){var d=this.model.getDescendants(a.cell);if(0<d.length)for(var b=0;b<d.length;b++)this.isReplacePlaceholders(d[b])&&this.view.invalidate(d[b],!1,!1)}};Graph.prototype.replaceElement=function(a,d){for(var b=a.ownerDocument.createElement(null!=d?d:"span"),c=Array.prototype.slice.call(a.attributes);attr=c.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.updateLabelElements=function(a, -d,b){a=null!=a?a:this.getSelectionCells();for(var c=document.createElement("div"),f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){c.innerHTML=e;for(var g=c.getElementsByTagName(null!=b?b:"*"),h=0;h<g.length;h++)d(g[h]);c.innerHTML!=e&&this.cellLabelChanged(a[f],c.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,d,b){d=this.zapGremlins(d);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& -null!=a.getAttribute("placeholder"))for(var c=a.getAttribute("placeholder"),f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&f.hasAttribute(c)){this.setAttributeForCell(f,c,d);break}f=this.model.getParent(f)}var e=a.value.cloneNode(!0);e.setAttribute("label",d);d=e}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var d=new mxDictionary,b=0;b<a.length;b++)d.put(a[b],!0); -for(var c=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f||d.get(f)||(d.put(f,!0),c.push(f))}for(b=0;b<c.length;b++)if(f=this.view.getState(c[b]),null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&& -e;g++)d.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var d=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var c=this.view.getState(a[b]);if(null!=c){var f=mxUtils.getValue(c.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(c.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&c==mxConstants.NONE&&d.push(a[b])}}a=d;mxGraph.prototype.removeCellsAfterUngroup.apply(this, -arguments)};Graph.prototype.setLinkForCell=function(a,d){this.setAttributeForCell(a,"link",d)};Graph.prototype.setTooltipForCell=function(a,d){this.setAttributeForCell(a,"tooltip",d)};Graph.prototype.setAttributeForCell=function(a,d,b){var c;null!=a.value&&"object"==typeof a.value?c=a.value.cloneNode(!0):(c=mxUtils.createXmlDocument().createElement("UserObject"),c.setAttribute("label",a.value||""));null!=b&&0<b.length?c.setAttribute(d,b):c.removeAttribute(d);this.model.setValue(a,c)};Graph.prototype.getDropTarget= -function(a,d,b,c){this.getModel();if(mxEvent.isAltDown(d))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,d){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a)); -if(null!=a&&!this.model.isVertex(d)){var c=this.model.isEdge(d)?this.view.getState(d):null,f=mxEvent.getSource(a);this.firstClickState!=c||this.firstClickSource!=f||null!=c&&null!=c.text&&null!=c.text.node&&(mxUtils.contains(c.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(c.text.node,mxEvent.getSource(a)))||(null!=c||this.isCellLocked(this.getDefaultParent()))&&(null==c||this.isCellLocked(c.cell))||!(null!=c||mxClient.IS_VML&&f==this.view.getCanvas()||mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)|| -(d=this.addText(b.x,b.y,c))}mxGraph.prototype.dblClick.call(this,a,d)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),d=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var c=this.getPageLayout(),f=this.getPageSize(),d=Math.max(d,c.x*f.width),b=Math.max(b,c.y*f.height);return new mxPoint(this.snap(d+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view, -d=this.getGraphBounds(),b=this.getInsertPoint(),c=this.snap(Math.round(Math.max(b.x,d.x/a.scale-a.translate.x+(0==d.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(d.y+d.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(c,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,d,b){var c=new mxCell;c.value="Text";c.style="text;html=1;resizable=0;points=[];";c.geometry=new mxGeometry(0,0,0,0);c.vertex=!0;if(null!=b){c.style+= -"align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";c.geometry.relative=!0;c.connectable=!1;var f=this.view.getRelativePoint(b,a,d);c.geometry.x=Math.round(1E4*f.x)/1E4;c.geometry.y=Math.round(f.y);c.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,c.geometry),e=this.view.scale;c.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((d-f.y)/e))}else c.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",f=this.view.translate,c.geometry.width=40,c.geometry.height= -20,c.geometry.x=Math.round(a/this.view.scale)-f.x,c.geometry.y=Math.round(d/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([c],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[c])),this.autoSizeCell(c)}finally{this.getModel().endUpdate()}return c};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler= -function(a,d,b){var c=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var c=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=c&&(a[b].setAttribute("href",c),null!=d&&mxEvent.addGestureListeners(a[b],null,null,d))}});this.model.addListener(mxEvent.CHANGE,c);c();var f=this.container.style.cursor,e=this.getTolerance(),g=this,h={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g, -a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var d=a.sourceState;if(null==d||null==g.getLinkForCell(d.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,d,b){return null==g.getLinkForCell(a.cell)}),d=g.view.getState(a);d!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=d,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,d){this.startX=d.getGraphX();this.startY=d.getGraphY();this.scrollLeft= -g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(d)},mouseMove:function(a,d){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-d.getGraphX()),c=Math.abs(this.startY-d.getGraphY());(b>e||c>e)&&this.clear()}}else{for(b=d.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&& -null!=this.currentState&&g.tooltipHandler.reset(d,!0,this.currentState),(null==this.currentState||d.getState()!=this.currentState&&null!=d.sourceState||!g.intersects(this.currentState,d.getGraphX(),d.getGraphY()))&&this.updateCurrentState(d))}},mouseUp:function(a,c){for(var f=c.getSource(),h=c.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==c.sourceState||!c.isSource(c.sourceState.control))&& -((mxEvent.isLeftMouseButton(h)||mxEvent.isMiddleMouseButton(h))&&!mxEvent.isPopupTrigger(h)||mxEvent.isTouchEvent(h))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==d||d(h,this.currentLink),mxEvent.isConsumed(h)||(h=mxEvent.isMiddleMouseButton(h)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,h),c.consume())):null!=b&&!c.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)< -e&&Math.abs(this.startX-c.getGraphX())<e&&Math.abs(this.startY-c.getGraphY())<e&&b(c.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}}; -g.click=function(a){};g.addMouseListener(h);mxEvent.addListener(document,"mouseleave",function(a){h.clear()})};Graph.prototype.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();d=null!=d?d:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),c=this.gridSize,f=[];b.beginUpdate();try{for(var e=this.cloneCells(a,!1),g=0;g<a.length;g++){var h=b.getParent(a[g]),q=this.moveCells([e[g]],c,c,!1)[0];f.push(q);if(d)b.add(h,e[g]);else{var m=h.getIndex(a[g]);b.add(h,e[g],m+1)}}}finally{b.endUpdate()}return f}; -Graph.prototype.insertImage=function(a,d,b){if(null!=a){for(var c=this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<c.length;e++)f.push(c[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",d);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink", -!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var d=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return d||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,d){null==d&&(d=this.getSelectionCells());if(null!=d&&1<d.length){for(var b=[],c=null,f=null,e=0;e<d.length;e++)if(this.getModel().isVertex(d[e])){var g=this.view.getState(d[e]); -if(null!=g){var h=a?g.getCenterX():g.getCenterY(),c=null!=c?Math.max(c,h):h,f=null!=f?Math.min(f,h):h;b.push(g)}}if(2<b.length){b.sort(function(d,b){return a?d.x-b.x:d.y-b.y});g=this.view.translate;h=this.view.scale;f=f/h-(a?g.x:g.y);c=c/h-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var q=(c-f)/(b.length-1),c=f,e=1;e<b.length-1;e++){var m=this.view.getState(this.model.getParent(b[e].cell)),n=this.getCellGeometry(b[e].cell),c=c+q;null!=n&&null!=m&&(n=n.clone(),a?n.x=Math.round(c-n.width/2)-m.origin.x: -n.y=Math.round(c-n.height/2)-m.origin.y,this.getModel().setGeometry(b[e].cell,n))}}finally{this.getModel().endUpdate()}}}return d};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var d=this.cloneCells(a),b=new mxDictionary,c=0;c<a.length;c++)b.put(a[c],!0);for(c=0;c<d.length;c++){var f=this.view.getState(a[c]);if(null!=f){var e=this.getCellGeometry(d[c]);null==e||!e.relative||this.model.isEdge(a[c])|| -b.get(this.model.getParent(a[c]))||(e.relative=!1,e.x=f.x/f.view.scale-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(c=0;c<a.length;c++)f.add(e,d[c]);return b.encode(f)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,d){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,d,b,c,f,e,g,h){d=null!=d?d:1;b=null!=b?b:0; -f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;c=e||c?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==c)throw Error(mxResources.get("drawingEmpty"));var q=this.view.scale,m=mxUtils.createXmlDocument(),n=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"svg"):m.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==m.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink", -mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=d/q;n.setAttribute("width",Math.max(1,Math.ceil(c.width*a)+2*b)+"px");n.setAttribute("height",Math.max(1,Math.ceil(c.height*a)+2*b)+"px");n.setAttribute("version","1.1");var u=n;f&&(u=null!=m.createElementNS?m.createElementNS(mxConstants.NS_SVG,"g"):m.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(u));m.appendChild(n);m=this.createSvgCanvas(u);m.foOffset= -f?-.5:0;m.textOffset=f?-.5:0;m.imageOffset=f?-.5:0;m.translate(Math.floor((b/d-c.x)/q),Math.floor((b/d-c.y)/q));var t=document.createElement("textarea"),w=m.createAlternateContent;m.createAlternateContent=function(a,d,b,c,f,e,g,h,m,q,n,u,k){var r=this.state;if(null!=this.foAltText&&(0==c||0!=r.fontSize&&e.length<5*c/r.fontSize)){var y=this.createElement("text");y.setAttribute("x",Math.round(c/2));y.setAttribute("y",Math.round((f+r.fontSize)/2));y.setAttribute("fill",r.fontColor||"black");y.setAttribute("text-anchor", -"middle");y.setAttribute("font-size",Math.round(r.fontSize)+"px");y.setAttribute("font-family",r.fontFamily);(r.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&y.setAttribute("font-weight","bold");(r.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&y.setAttribute("font-style","italic");(r.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&y.setAttribute("text-decoration","underline");try{return t.innerHTML=e,y.textContent=t.value,y}catch(Ba){return w.apply(this, -arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;null!=b&&(f=q/d,d=this.view.translate,f=new mxRectangle(d.x*f,d.y*f,b.width*f,b.height*f),mxUtils.intersects(c,f)&&m.image(d.x,d.y,b.width,b.height,b.src,!0));m.scale(a);m.textEnabled=g;h=null!=h?h:this.createSvgImageExport();var k=h.drawCellState;h.drawCellState=function(a,d){for(var b=a.view.graph,c=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!c&&null!=f;)c=b.isCellSelected(f),f=b.model.getParent(f);(e||c)&&k.apply(this, -arguments)};h.drawState(this.getView().getState(this.model.root),m);return n};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var d=window.getSelection();d.getRangeAt&&d.rangeCount&&(a=d.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,d,b){for(;null!=a&&a.nodeName!=d;){if(a== -b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var d=null;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){var b=document.createRange();b.selectNode(a);d.removeAllRanges();d.addRange(b)}}else(d=document.selection)&&"Control"!=d.type&&(a=d.createRange(),a.collapse(!0),b=d.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,d){for(var b=a.tBodies[0],c=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(d), -f=0;f<c;f++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,d){a.tBodies[0].deleteRow(d)};Graph.prototype.insertColumn=function(a,d){var b=a.tHead;if(null!=b)for(var c=0;c<b.rows.length;c++){var f=document.createElement("th");b.rows[c].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(c=0;c<b.rows.length;c++)f=b.rows[c].insertCell(d),mxUtils.br(f);return b.rows[0].cells[0<=d?d:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,d){if(0<=d)for(var b= -a.tBodies[0].rows,c=0;c<b.length;c++)b[c].cells.length>d&&b[c].deleteCell(d)};Graph.prototype.pasteHtmlAtCaret=function(a){var d;if(window.getSelection){if(d=window.getSelection(),d.getRangeAt&&d.rangeCount){d=d.getRangeAt(0);d.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var c;c=b.firstChild;)lastNode=a.appendChild(c);d.insertNode(a)}}else(d=document.selection)&&"Control"!=d.type&&d.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint= -function(a,d){d=null!=d?d:a;var b=document.createElement("a");b.setAttribute("href",this.getAbsoluteUrl(a));null==a||this.isCustomLink(a)||b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<d.length&&(d=d.substring(0,26)+"..."+d.substring(d.length-10));mxUtils.write(b,d);return b};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a, -d){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(d){d=a.apply(this,arguments);if(mxEvent.isTouchEvent(d.getEvent())&&null==d.getState()){var b=this.getCellAt(d.graphX,d.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,d.graphX,d.graphY)||(d.state=this.view.getState(b),null!=d.state&&null!=d.state.shape&&(this.container.style.cursor=d.state.shape.node.style.cursor))}null==d.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); -return d};var d=!1,b=!1,c=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),d=this.isCellSelected(e.getCell()),b=this.isSelectionEmpty(),c=this.popupMenuHandler.isMenuShowing());f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!c&&!mxEvent.isMouseEvent(f.getEvent())&& -(b&&null==f.getCell()&&this.isSelectionEmpty()||d&&this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var d=[],b=0,c=a.rangeCount;b<c;++b)d.push(a.getRangeAt(b));return d}}else if(document.selection&& -document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var d=0,b=a.length;d<b;++d)sel.addRange(a[d])}else document.selection&&a.select&&a.select()}catch(F){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", -"1"));k.apply(this,arguments)};var l=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,d){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?l.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var p=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,d){p.apply(this, -arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),c=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=c&&c.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| -mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var r=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function d(a,b){b.originalNode=a;a=a.firstChild;for(var c=b.firstChild;null!=a&&null!=c;)d(a,c),a=a.nextSibling,c=c.nextSibling;return b}function b(a,d){if(null!=a)if(d.originalNode!=a)c(a);else for(a=a.firstChild,d=d.firstChild;null!=a;){var f= -a.nextSibling;null==d?c(a):(b(a,d),d=d.nextSibling);a=f}}function c(a){for(var d=a.firstChild;null!=d;){var b=d.nextSibling;c(d);d=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), -a.removeAttribute("border"))):a.parentNode.removeChild(a)}r.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var c=d(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){b(this.textarea,c)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),d=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br", -"1"),b=this.saveSelection();if(this.codeViewMode){h=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<h.length&&"\n"==h.charAt(h.length-1)&&(h=h.substring(0,h.length-1));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"<br/>"):h,!0);this.textarea.className="mxCellEditor geContentEditable";var c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style, -mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT; -this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=e?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=d;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= -!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var h=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(h=mxUtils.replaceTrailingNewlines(h,"<div><br></div>"));h=this.graph.sanitizeHtml(d?h.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):h,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var c=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? -Math.round(c*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(c)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=h&&(this.textarea.innerHTML=h);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); -this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,d){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var c=null!=a.text?a.text.margin:null;null==c&&(c=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, -mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=c.x*this.bounds.width;this.bounds.y+=c.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/b)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/b)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/b)+(this.textarea.offsetHeight- +Graph.prototype.importGraphModel=function(a,c,b,d){c=null!=c?c:0;b=null!=b?b:0;var f=[],e=new mxGraphModel;(new mxCodec(a.ownerDocument)).decode(a,e);a=e.getChildCount(e.getRoot());this.model.getChildCount(this.model.getRoot());this.model.beginUpdate();try{for(var g={},l=0;l<a;l++){var h=e.getChildAt(e.getRoot(),l);if(1!=a||this.isCellLocked(this.getDefaultParent()))h=this.importCells([h],0,0,this.model.getRoot(),null,g)[0],q=this.model.getChildren(h),this.moveCells(q,c,b),f=f.concat(q);else var q= +e.getChildren(h),f=f.concat(this.importCells(q,c,b,this.getDefaultParent(),null,g))}if(d){this.isGridEnabled()&&(c=this.snap(c),b=this.snap(b));var n=this.getBoundingBoxFromGeometry(f,!0);null!=n&&this.moveCells(f,c-n.x,b-n.y)}}finally{this.model.endUpdate()}return f};Graph.prototype.getAllConnectionConstraints=function(a,c){if(null!=a){var b=mxUtils.getValue(a.style,"points",null);if(null!=b){var d=[];try{for(var f=JSON.parse(b),b=0;b<f.length;b++){var e=f[b];d.push(new mxConnectionConstraint(new mxPoint(e[0], +e[1]),2<e.length?"0"!=e[2]:!0))}}catch(O){}return d}if(null!=a.shape)if(null!=a.shape.stencil){if(null!=a.shape.stencil)return a.shape.stencil.constraints}else if(null!=a.shape.constraints)return a.shape.constraints}return null};Graph.prototype.flipEdge=function(a){if(null!=a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);null!=c&&(c=mxUtils.getValue(c,mxConstants.STYLE_ELBOW,mxConstants.ELBOW_HORIZONTAL)==mxConstants.ELBOW_HORIZONTAL?mxConstants.ELBOW_VERTICAL:mxConstants.ELBOW_HORIZONTAL, +this.setCellStyles(mxConstants.STYLE_ELBOW,c,[a]))}};Graph.prototype.isValidRoot=function(a){for(var c=this.model.getChildCount(a),b=0,d=0;d<c;d++){var f=this.model.getChildAt(a,d);this.model.isVertex(f)&&(f=this.getCellGeometry(f),null==f||f.relative||b++)}return 0<b||this.isContainer(a)};Graph.prototype.isValidDropTarget=function(a){var c=this.view.getState(a),c=null!=c?c.style:this.getCellStyle(a);return"1"!=mxUtils.getValue(c,"part","0")&&(this.isContainer(a)||mxGraph.prototype.isValidDropTarget.apply(this, +arguments)&&"0"!=mxUtils.getValue(c,"dropTarget","1"))};Graph.prototype.createGroupCell=function(){var a=mxGraph.prototype.createGroupCell.apply(this,arguments);a.setStyle("group");return a};Graph.prototype.isExtendParentsOnAdd=function(a){var c=mxGraph.prototype.isExtendParentsOnAdd.apply(this,arguments);if(c&&null!=a&&null!=this.layoutManager){var b=this.model.getParent(a);null!=b&&(b=this.layoutManager.getLayout(b),null!=b&&b.constructor==mxStackLayout&&(c=!1))}return c};Graph.prototype.getPreferredSizeForCell= +function(a){var c=mxGraph.prototype.getPreferredSizeForCell.apply(this,arguments);null!=c&&(c.width+=10,c.height+=4,this.gridEnabled&&(c.width=this.snap(c.width),c.height=this.snap(c.height)));return c};Graph.prototype.turnShapes=function(a){var c=this.getModel(),b=[];c.beginUpdate();try{for(var d=0;d<a.length;d++){var f=a[d];if(c.isEdge(f)){var e=c.getTerminal(f,!0),g=c.getTerminal(f,!1);c.setTerminal(f,g,!0);c.setTerminal(f,e,!1);var l=c.getGeometry(f);if(null!=l){l=l.clone();null!=l.points&&l.points.reverse(); +var h=l.getTerminalPoint(!0),q=l.getTerminalPoint(!1);l.setTerminalPoint(h,!1);l.setTerminalPoint(q,!0);c.setGeometry(f,l);var n=this.view.getState(f),u=this.view.getState(e),t=this.view.getState(g);if(null!=n){var w=null!=u?this.getConnectionConstraint(n,u,!0):null,Q=null!=t?this.getConnectionConstraint(n,t,!1):null;this.setConnectionConstraint(f,e,!0,Q);this.setConnectionConstraint(f,g,!1,w)}b.push(f)}}else if(c.isVertex(f)&&(l=this.getCellGeometry(f),null!=l)){l=l.clone();l.x+=l.width/2-l.height/ +2;l.y+=l.height/2-l.width/2;var r=l.width;l.width=l.height;l.height=r;c.setGeometry(f,l);var k=this.view.getState(f);if(null!=k){var y=k.style[mxConstants.STYLE_DIRECTION]||"east";"east"==y?y="south":"south"==y?y="west":"west"==y?y="north":"north"==y&&(y="east");this.setCellStyles(mxConstants.STYLE_DIRECTION,y,[f])}b.push(f)}}}finally{c.endUpdate()}return b};Graph.prototype.processChange=function(a){mxGraph.prototype.processChange.apply(this,arguments);if(a instanceof mxValueChange&&null!=a.cell&& +null!=a.cell.value&&"object"==typeof a.cell.value){var c=this.model.getDescendants(a.cell);if(0<c.length)for(var b=0;b<c.length;b++)this.isReplacePlaceholders(c[b])&&this.view.invalidate(c[b],!1,!1)}};Graph.prototype.replaceElement=function(a,c){for(var b=a.ownerDocument.createElement(null!=c?c:"span"),d=Array.prototype.slice.call(a.attributes);attr=d.pop();)b.setAttribute(attr.nodeName,attr.nodeValue);b.innerHTML=a.innerHTML;a.parentNode.replaceChild(b,a)};Graph.prototype.updateLabelElements=function(a, +c,b){a=null!=a?a:this.getSelectionCells();for(var d=document.createElement("div"),f=0;f<a.length;f++)if(this.isHtmlLabel(a[f])){var e=this.convertValueToString(a[f]);if(null!=e&&0<e.length){d.innerHTML=e;for(var g=d.getElementsByTagName(null!=b?b:"*"),l=0;l<g.length;l++)c(g[l]);d.innerHTML!=e&&this.cellLabelChanged(a[f],d.innerHTML)}}};Graph.prototype.cellLabelChanged=function(a,c,b){c=this.zapGremlins(c);this.model.beginUpdate();try{if(null!=a.value&&"object"==typeof a.value){if(this.isReplacePlaceholders(a)&& +null!=a.getAttribute("placeholder"))for(var d=a.getAttribute("placeholder"),f=a;null!=f;){if(f==this.model.getRoot()||null!=f.value&&"object"==typeof f.value&&f.hasAttribute(d)){this.setAttributeForCell(f,d,c);break}f=this.model.getParent(f)}var e=a.value.cloneNode(!0);e.setAttribute("label",c);c=e}mxGraph.prototype.cellLabelChanged.apply(this,arguments)}finally{this.model.endUpdate()}};Graph.prototype.cellsRemoved=function(a){if(null!=a){for(var c=new mxDictionary,b=0;b<a.length;b++)c.put(a[b],!0); +for(var d=[],b=0;b<a.length;b++){var f=this.model.getParent(a[b]);null==f||c.get(f)||(c.put(f,!0),d.push(f))}for(b=0;b<d.length;b++)if(f=this.view.getState(d[b]),null!=f&&(this.model.isEdge(f.cell)||this.model.isVertex(f.cell))&&this.isCellDeletable(f.cell)){var e=mxUtils.getValue(f.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),g=mxUtils.getValue(f.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);if(e==mxConstants.NONE&&g==mxConstants.NONE){e=!0;for(g=0;g<this.model.getChildCount(f.cell)&& +e;g++)c.get(this.model.getChildAt(f.cell,g))||(e=!1);e&&a.push(f.cell)}}}mxGraph.prototype.cellsRemoved.apply(this,arguments)};Graph.prototype.removeCellsAfterUngroup=function(a){for(var c=[],b=0;b<a.length;b++)if(this.isCellDeletable(a[b])){var d=this.view.getState(a[b]);if(null!=d){var f=mxUtils.getValue(d.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(d.style,mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);f==mxConstants.NONE&&d==mxConstants.NONE&&c.push(a[b])}}a=c;mxGraph.prototype.removeCellsAfterUngroup.apply(this, +arguments)};Graph.prototype.setLinkForCell=function(a,c){this.setAttributeForCell(a,"link",c)};Graph.prototype.setTooltipForCell=function(a,c){this.setAttributeForCell(a,"tooltip",c)};Graph.prototype.setAttributeForCell=function(a,c,b){var d;null!=a.value&&"object"==typeof a.value?d=a.value.cloneNode(!0):(d=mxUtils.createXmlDocument().createElement("UserObject"),d.setAttribute("label",a.value||""));null!=b&&0<b.length?d.setAttribute(c,b):d.removeAttribute(c);this.model.setValue(a,d)};Graph.prototype.getDropTarget= +function(a,c,b,d){this.getModel();if(mxEvent.isAltDown(c))return null;for(var f=0;f<a.length;f++)if(this.model.isEdge(this.model.getParent(a[f])))return null;return mxGraph.prototype.getDropTarget.apply(this,arguments)};Graph.prototype.click=function(a){mxGraph.prototype.click.call(this,a);this.firstClickState=a.getState();this.firstClickSource=a.getSource()};Graph.prototype.dblClick=function(a,c){if(this.isEnabled()){var b=mxUtils.convertPoint(this.container,mxEvent.getClientX(a),mxEvent.getClientY(a)); +if(null!=a&&!this.model.isVertex(c)){var d=this.model.isEdge(c)?this.view.getState(c):null,f=mxEvent.getSource(a);this.firstClickState!=d||this.firstClickSource!=f||null!=d&&null!=d.text&&null!=d.text.node&&(mxUtils.contains(d.text.boundingBox,b.x,b.y)||mxUtils.isAncestorNode(d.text.node,mxEvent.getSource(a)))||(null!=d||this.isCellLocked(this.getDefaultParent()))&&(null==d||this.isCellLocked(d.cell))||!(null!=d||mxClient.IS_VML&&f==this.view.getCanvas()||mxClient.IS_SVG&&f==this.view.getCanvas().ownerSVGElement)|| +(c=this.addText(b.x,b.y,d))}mxGraph.prototype.dblClick.call(this,a,c)}};Graph.prototype.getInsertPoint=function(){var a=this.getGridSize(),c=this.container.scrollLeft/this.view.scale-this.view.translate.x,b=this.container.scrollTop/this.view.scale-this.view.translate.y;if(this.pageVisible)var d=this.getPageLayout(),f=this.getPageSize(),c=Math.max(c,d.x*f.width),b=Math.max(b,d.y*f.height);return new mxPoint(this.snap(c+a),this.snap(b+a))};Graph.prototype.getFreeInsertPoint=function(){var a=this.view, +c=this.getGraphBounds(),b=this.getInsertPoint(),d=this.snap(Math.round(Math.max(b.x,c.x/a.scale-a.translate.x+(0==c.width?2*this.gridSize:0)))),a=this.snap(Math.round(Math.max(b.y,(c.y+c.height)/a.scale-a.translate.y+2*this.gridSize)));return new mxPoint(d,a)};Graph.prototype.isMouseInsertPoint=function(){return!1};Graph.prototype.addText=function(a,c,b){var d=new mxCell;d.value="Text";d.style="text;html=1;resizable=0;points=[];";d.geometry=new mxGeometry(0,0,0,0);d.vertex=!0;if(null!=b){d.style+= +"align=center;verticalAlign=middle;labelBackgroundColor=#ffffff;";d.geometry.relative=!0;d.connectable=!1;var f=this.view.getRelativePoint(b,a,c);d.geometry.x=Math.round(1E4*f.x)/1E4;d.geometry.y=Math.round(f.y);d.geometry.offset=new mxPoint(0,0);var f=this.view.getPoint(b,d.geometry),e=this.view.scale;d.geometry.offset=new mxPoint(Math.round((a-f.x)/e),Math.round((c-f.y)/e))}else d.style+="autosize=1;align=left;verticalAlign=top;spacingTop=-4;",f=this.view.translate,d.geometry.width=40,d.geometry.height= +20,d.geometry.x=Math.round(a/this.view.scale)-f.x,d.geometry.y=Math.round(c/this.view.scale)-f.y;this.getModel().beginUpdate();try{this.addCells([d],null!=b?b.cell:null),this.fireEvent(new mxEventObject("textInserted","cells",[d])),this.autoSizeCell(d)}finally{this.getModel().endUpdate()}return d};Graph.prototype.getAbsoluteUrl=function(a){null!=a&&this.isRelativeUrl(a)&&(a="#"==a.charAt(0)?this.baseUrl+a:"/"==a.charAt(0)?this.domainUrl+a:this.domainPathUrl+a);return a};Graph.prototype.addClickHandler= +function(a,c,b){var d=mxUtils.bind(this,function(){var a=this.container.getElementsByTagName("a");if(null!=a)for(var b=0;b<a.length;b++){var d=this.getAbsoluteUrl(a[b].getAttribute("href"));null!=d&&(a[b].setAttribute("href",d),null!=c&&mxEvent.addGestureListeners(a[b],null,null,c))}});this.model.addListener(mxEvent.CHANGE,d);d();var f=this.container.style.cursor,e=this.getTolerance(),g=this,l={currentState:null,currentLink:null,highlight:null!=a&&""!=a&&a!=mxConstants.NONE?new mxCellHighlight(g, +a,4):null,startX:0,startY:0,scrollLeft:0,scrollTop:0,updateCurrentState:function(a){var c=a.sourceState;if(null==c||null==g.getLinkForCell(c.cell))a=g.getCellAt(a.getGraphX(),a.getGraphY(),null,null,null,function(a,c,b){return null==g.getLinkForCell(a.cell)}),c=g.view.getState(a);c!=this.currentState&&(null!=this.currentState&&this.clear(),this.currentState=c,null!=this.currentState&&this.activate(this.currentState))},mouseDown:function(a,c){this.startX=c.getGraphX();this.startY=c.getGraphY();this.scrollLeft= +g.container.scrollLeft;this.scrollTop=g.container.scrollTop;null==this.currentLink&&"auto"==g.container.style.overflow&&(g.container.style.cursor="move");this.updateCurrentState(c)},mouseMove:function(a,c){if(g.isMouseDown){if(null!=this.currentLink){var b=Math.abs(this.startX-c.getGraphX()),d=Math.abs(this.startY-c.getGraphY());(b>e||d>e)&&this.clear()}}else{for(b=c.getSource();null!=b&&"a"!=b.nodeName.toLowerCase();)b=b.parentNode;null!=b?this.clear():(null!=g.tooltipHandler&&null!=this.currentLink&& +null!=this.currentState&&g.tooltipHandler.reset(c,!0,this.currentState),(null==this.currentState||c.getState()!=this.currentState&&null!=c.sourceState||!g.intersects(this.currentState,c.getGraphX(),c.getGraphY()))&&this.updateCurrentState(c))}},mouseUp:function(a,d){for(var f=d.getSource(),l=d.getEvent();null!=f&&"a"!=f.nodeName.toLowerCase();)f=f.parentNode;null==f&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)<e&&(null==d.sourceState||!d.isSource(d.sourceState.control))&& +((mxEvent.isLeftMouseButton(l)||mxEvent.isMiddleMouseButton(l))&&!mxEvent.isPopupTrigger(l)||mxEvent.isTouchEvent(l))&&(null!=this.currentLink?(f=g.isBlankLink(this.currentLink),"data:"!==this.currentLink.substring(0,5)&&f||null==c||c(l,this.currentLink),mxEvent.isConsumed(l)||(l=mxEvent.isMiddleMouseButton(l)?"_blank":f?g.linkTarget:"_top",g.openLink(this.currentLink,l),d.consume())):null!=b&&!d.isConsumed()&&Math.abs(this.scrollLeft-g.container.scrollLeft)<e&&Math.abs(this.scrollTop-g.container.scrollTop)< +e&&Math.abs(this.startX-d.getGraphX())<e&&Math.abs(this.startY-d.getGraphY())<e&&b(d.getEvent()));this.clear()},activate:function(a){this.currentLink=g.getAbsoluteUrl(g.getLinkForCell(a.cell));null!=this.currentLink&&(g.container.style.cursor="pointer",null!=this.highlight&&this.highlight.highlight(a))},clear:function(){null!=g.container&&(g.container.style.cursor=f);this.currentLink=this.currentState=null;null!=this.highlight&&this.highlight.hide();null!=g.tooltipHandler&&g.tooltipHandler.hide()}}; +g.click=function(a){};g.addMouseListener(l);mxEvent.addListener(document,"mouseleave",function(a){l.clear()})};Graph.prototype.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();c=null!=c?c:!0;a=this.model.getTopmostCells(a);var b=this.getModel(),d=this.gridSize,f=[];b.beginUpdate();try{for(var e=this.cloneCells(a,!1),g=0;g<a.length;g++){var l=b.getParent(a[g]),h=this.moveCells([e[g]],d,d,!1)[0];f.push(h);if(c)b.add(l,e[g]);else{var q=l.getIndex(a[g]);b.add(l,e[g],q+1)}}}finally{b.endUpdate()}return f}; +Graph.prototype.insertImage=function(a,c,b){if(null!=a){for(var d=this.cellEditor.textarea.getElementsByTagName("img"),f=[],e=0;e<d.length;e++)f.push(d[e]);document.execCommand("insertimage",!1,a);a=this.cellEditor.textarea.getElementsByTagName("img");if(a.length==f.length+1)for(e=a.length-1;0<=e;e--)if(0==e||a[e]!=f[e-1]){a[e].setAttribute("width",c);a[e].setAttribute("height",b);break}}};Graph.prototype.insertLink=function(a){0==a.length?document.execCommand("unlink",!1):document.execCommand("createlink", +!1,mxUtils.trim(a))};Graph.prototype.isCellResizable=function(a){var c=mxGraph.prototype.isCellResizable.apply(this,arguments),b=this.view.getState(a),b=null!=b?b.style:this.getCellStyle(a);return c||"0"!=mxUtils.getValue(b,mxConstants.STYLE_RESIZABLE,"1")&&"wrap"==b[mxConstants.STYLE_WHITE_SPACE]};Graph.prototype.distributeCells=function(a,c){null==c&&(c=this.getSelectionCells());if(null!=c&&1<c.length){for(var b=[],d=null,f=null,e=0;e<c.length;e++)if(this.getModel().isVertex(c[e])){var g=this.view.getState(c[e]); +if(null!=g){var l=a?g.getCenterX():g.getCenterY(),d=null!=d?Math.max(d,l):l,f=null!=f?Math.min(f,l):l;b.push(g)}}if(2<b.length){b.sort(function(c,b){return a?c.x-b.x:c.y-b.y});g=this.view.translate;l=this.view.scale;f=f/l-(a?g.x:g.y);d=d/l-(a?g.x:g.y);this.getModel().beginUpdate();try{for(var h=(d-f)/(b.length-1),d=f,e=1;e<b.length-1;e++){var q=this.view.getState(this.model.getParent(b[e].cell)),n=this.getCellGeometry(b[e].cell),d=d+h;null!=n&&null!=q&&(n=n.clone(),a?n.x=Math.round(d-n.width/2)-q.origin.x: +n.y=Math.round(d-n.height/2)-q.origin.y,this.getModel().setGeometry(b[e].cell,n))}}finally{this.getModel().endUpdate()}}}return c};Graph.prototype.isCloneEvent=function(a){return mxClient.IS_MAC&&mxEvent.isMetaDown(a)||mxEvent.isControlDown(a)};Graph.prototype.encodeCells=function(a){for(var c=this.cloneCells(a),b=new mxDictionary,d=0;d<a.length;d++)b.put(a[d],!0);for(d=0;d<c.length;d++){var f=this.view.getState(a[d]);if(null!=f){var e=this.getCellGeometry(c[d]);null==e||!e.relative||this.model.isEdge(a[d])|| +b.get(this.model.getParent(a[d]))||(e.relative=!1,e.x=f.x/f.view.scale-f.view.translate.x,e.y=f.y/f.view.scale-f.view.translate.y)}}b=new mxCodec;f=new mxGraphModel;e=f.getChildAt(f.getRoot(),0);for(d=0;d<a.length;d++)f.add(e,c[d]);return b.encode(f)};Graph.prototype.createSvgImageExport=function(){var a=new mxImageExport;a.getLinkForCellState=mxUtils.bind(this,function(a,c){return this.getLinkForCell(a.cell)});return a};Graph.prototype.getSvg=function(a,c,b,d,f,e,g,l){c=null!=c?c:1;b=null!=b?b:0; +f=null!=f?f:!0;e=null!=e?e:!0;g=null!=g?g:!0;d=e||d?this.getGraphBounds():this.getBoundingBox(this.getSelectionCells());if(null==d)throw Error(mxResources.get("drawingEmpty"));var h=this.view.scale,q=mxUtils.createXmlDocument(),n=null!=q.createElementNS?q.createElementNS(mxConstants.NS_SVG,"svg"):q.createElement("svg");null!=a&&(null!=n.style?n.style.backgroundColor=a:n.setAttribute("style","background-color:"+a));null==q.createElementNS?(n.setAttribute("xmlns",mxConstants.NS_SVG),n.setAttribute("xmlns:xlink", +mxConstants.NS_XLINK)):n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",mxConstants.NS_XLINK);a=c/h;n.setAttribute("width",Math.max(1,Math.ceil(d.width*a)+2*b)+"px");n.setAttribute("height",Math.max(1,Math.ceil(d.height*a)+2*b)+"px");n.setAttribute("version","1.1");var u=n;f&&(u=null!=q.createElementNS?q.createElementNS(mxConstants.NS_SVG,"g"):q.createElement("g"),u.setAttribute("transform","translate(0.5,0.5)"),n.appendChild(u));q.appendChild(n);q=this.createSvgCanvas(u);q.foOffset= +f?-.5:0;q.textOffset=f?-.5:0;q.imageOffset=f?-.5:0;q.translate(Math.floor((b/c-d.x)/h),Math.floor((b/c-d.y)/h));var t=document.createElement("textarea"),w=q.createAlternateContent;q.createAlternateContent=function(a,c,b,d,f,e,g,l,h,q,n,u,r){var k=this.state;if(null!=this.foAltText&&(0==d||0!=k.fontSize&&e.length<5*d/k.fontSize)){var y=this.createElement("text");y.setAttribute("x",Math.round(d/2));y.setAttribute("y",Math.round((f+k.fontSize)/2));y.setAttribute("fill",k.fontColor||"black");y.setAttribute("text-anchor", +"middle");y.setAttribute("font-size",Math.round(k.fontSize)+"px");y.setAttribute("font-family",k.fontFamily);(k.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&y.setAttribute("font-weight","bold");(k.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&y.setAttribute("font-style","italic");(k.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&y.setAttribute("text-decoration","underline");try{return t.innerHTML=e,y.textContent=t.value,y}catch(Ba){return w.apply(this, +arguments)}}else return w.apply(this,arguments)};b=this.backgroundImage;null!=b&&(f=h/c,c=this.view.translate,f=new mxRectangle(c.x*f,c.y*f,b.width*f,b.height*f),mxUtils.intersects(d,f)&&q.image(c.x,c.y,b.width,b.height,b.src,!0));q.scale(a);q.textEnabled=g;l=null!=l?l:this.createSvgImageExport();var r=l.drawCellState;l.drawCellState=function(a,c){for(var b=a.view.graph,d=b.isCellSelected(a.cell),f=b.model.getParent(a.cell);!e&&!d&&null!=f;)d=b.isCellSelected(f),f=b.model.getParent(f);(e||d)&&r.apply(this, +arguments)};l.drawState(this.getView().getState(this.model.root),q);return n};Graph.prototype.createSvgCanvas=function(a){return new mxSvgCanvas2D(a)};Graph.prototype.getSelectedElement=function(){var a=null;if(window.getSelection){var c=window.getSelection();c.getRangeAt&&c.rangeCount&&(a=c.getRangeAt(0).commonAncestorContainer)}else document.selection&&(a=document.selection.createRange().parentElement());return a};Graph.prototype.getParentByName=function(a,c,b){for(;null!=a&&a.nodeName!=c;){if(a== +b)return null;a=a.parentNode}return a};Graph.prototype.selectNode=function(a){var c=null;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){var b=document.createRange();b.selectNode(a);c.removeAllRanges();c.addRange(b)}}else(c=document.selection)&&"Control"!=c.type&&(a=c.createRange(),a.collapse(!0),b=c.createRange(),b.setEndPoint("StartToStart",a),b.select())};Graph.prototype.insertRow=function(a,c){for(var b=a.tBodies[0],d=0<b.rows.length?b.rows[0].cells.length:1,b=b.insertRow(c), +f=0;f<d;f++)mxUtils.br(b.insertCell(-1));return b.cells[0]};Graph.prototype.deleteRow=function(a,c){a.tBodies[0].deleteRow(c)};Graph.prototype.insertColumn=function(a,c){var b=a.tHead;if(null!=b)for(var d=0;d<b.rows.length;d++){var f=document.createElement("th");b.rows[d].appendChild(f);mxUtils.br(f)}b=a.tBodies[0];for(d=0;d<b.rows.length;d++)f=b.rows[d].insertCell(c),mxUtils.br(f);return b.rows[0].cells[0<=c?c:b.rows[0].cells.length-1]};Graph.prototype.deleteColumn=function(a,c){if(0<=c)for(var b= +a.tBodies[0].rows,d=0;d<b.length;d++)b[d].cells.length>c&&b[d].deleteCell(c)};Graph.prototype.pasteHtmlAtCaret=function(a){var c;if(window.getSelection){if(c=window.getSelection(),c.getRangeAt&&c.rangeCount){c=c.getRangeAt(0);c.deleteContents();var b=document.createElement("div");b.innerHTML=a;a=document.createDocumentFragment();for(var d;d=b.firstChild;)lastNode=a.appendChild(d);c.insertNode(a)}}else(c=document.selection)&&"Control"!=c.type&&c.createRange().pasteHTML(a)};Graph.prototype.createLinkForHint= +function(a,c){c=null!=c?c:a;var b=document.createElement("a");b.setAttribute("href",this.getAbsoluteUrl(a));null==a||this.isCustomLink(a)||b.setAttribute("title",a);null!=this.linkTarget&&b.setAttribute("target",this.linkTarget);40<c.length&&(c=c.substring(0,26)+"..."+c.substring(c.length-10));mxUtils.write(b,c);return b};Graph.prototype.initTouch=function(){this.connectionHandler.marker.isEnabled=function(){return null!=this.graph.connectionHandler.first};this.addListener(mxEvent.START_EDITING,function(a, +c){this.popupMenuHandler.hideMenu()});var a=this.updateMouseEvent;this.updateMouseEvent=function(c){c=a.apply(this,arguments);if(mxEvent.isTouchEvent(c.getEvent())&&null==c.getState()){var b=this.getCellAt(c.graphX,c.graphY);null!=b&&this.isSwimlane(b)&&this.hitsSwimlaneContent(b,c.graphX,c.graphY)||(c.state=this.view.getState(b),null!=c.state&&null!=c.state.shape&&(this.container.style.cursor=c.state.shape.node.style.cursor))}null==c.getState()&&this.isEnabled()&&(this.container.style.cursor="default"); +return c};var c=!1,b=!1,d=!1,f=this.fireMouseEvent;this.fireMouseEvent=function(a,e,g){a==mxEvent.MOUSE_DOWN&&(e=this.updateMouseEvent(e),c=this.isCellSelected(e.getCell()),b=this.isSelectionEmpty(),d=this.popupMenuHandler.isMenuShowing());f.apply(this,arguments)};this.popupMenuHandler.mouseUp=mxUtils.bind(this,function(a,f){this.popupMenuHandler.popupTrigger=!this.isEditing()&&this.isEnabled()&&(null==f.getState()||!f.isSource(f.getState().control))&&(this.popupMenuHandler.popupTrigger||!d&&!mxEvent.isMouseEvent(f.getEvent())&& +(b&&null==f.getCell()&&this.isSelectionEmpty()||c&&this.isCellSelected(f.getCell())));mxPopupMenuHandler.prototype.mouseUp.apply(this.popupMenuHandler,arguments)})};mxCellEditor.prototype.isContentEditing=function(){var a=this.graph.view.getState(this.editingCell);return null!=a&&1==a.style.html};mxCellEditor.prototype.saveSelection=function(){if(window.getSelection){var a=window.getSelection();if(a.getRangeAt&&a.rangeCount){for(var c=[],b=0,d=a.rangeCount;b<d;++b)c.push(a.getRangeAt(b));return c}}else if(document.selection&& +document.selection.createRange)return document.selection.createRange();return null};mxCellEditor.prototype.restoreSelection=function(a){try{if(a)if(window.getSelection){sel=window.getSelection();sel.removeAllRanges();for(var c=0,b=a.length;c<b;++c)sel.addRange(a[c])}else document.selection&&a.select&&a.select()}catch(F){}};var k=mxCellRenderer.prototype.initializeLabel;mxCellRenderer.prototype.initializeLabel=function(a){null!=a.text&&(a.text.replaceLinefeeds="0"!=mxUtils.getValue(a.style,"nl2Br", +"1"));k.apply(this,arguments)};var m=mxConstraintHandler.prototype.update;mxConstraintHandler.prototype.update=function(a,c){this.isKeepFocusEvent(a)||!mxEvent.isAltDown(a.getEvent())?m.apply(this,arguments):this.reset()};mxGuide.prototype.createGuideShape=function(a){return new mxPolyline([],mxConstants.GUIDE_COLOR,mxConstants.GUIDE_STROKEWIDTH)};mxCellEditor.prototype.escapeCancelsEditing=!1;var p=mxCellEditor.prototype.startEditing;mxCellEditor.prototype.startEditing=function(a,c){p.apply(this, +arguments);var b=this.graph.view.getState(a);this.textarea.className=null!=b&&1==b.style.html?"mxCellEditor geContentEditable":"mxCellEditor mxPlainTextEditor";this.codeViewMode=!1;this.switchSelectionState=null;this.graph.setSelectionCell(a);var b=this.graph.getModel().getParent(a),d=this.graph.getCellGeometry(a);this.graph.getModel().isEdge(b)&&null!=d&&d.relative||this.graph.getModel().isEdge(a)?mxClient.IS_QUIRKS?this.textarea.style.border="gray dotted 1px":this.textarea.style.outline=mxClient.IS_IE|| +mxClient.IS_IE11||mxClient.IS_FF&&mxClient.IS_WIN?"gray dotted 1px":"":mxClient.IS_QUIRKS&&(this.textarea.style.outline="none",this.textarea.style.border="")};var r=mxCellEditor.prototype.installListeners;mxCellEditor.prototype.installListeners=function(a){function c(a,b){b.originalNode=a;a=a.firstChild;for(var d=b.firstChild;null!=a&&null!=d;)c(a,d),a=a.nextSibling,d=d.nextSibling;return b}function b(a,c){if(null!=a)if(c.originalNode!=a)d(a);else for(a=a.firstChild,c=c.firstChild;null!=a;){var f= +a.nextSibling;null==c?d(a):(b(a,c),c=c.nextSibling);a=f}}function d(a){for(var c=a.firstChild;null!=c;){var b=c.nextSibling;d(c);c=b}1==a.nodeType&&("BR"===a.nodeName||null!=a.firstChild)||3==a.nodeType&&0!=mxUtils.trim(mxUtils.getTextContent(a)).length?(3==a.nodeType&&mxUtils.setTextContent(a,mxUtils.getTextContent(a).replace(/\n|\r/g,"")),1==a.nodeType&&(a.removeAttribute("style"),a.removeAttribute("class"),a.removeAttribute("width"),a.removeAttribute("cellpadding"),a.removeAttribute("cellspacing"), +a.removeAttribute("border"))):a.parentNode.removeChild(a)}r.apply(this,arguments);mxClient.IS_QUIRKS||7===document.documentMode||8===document.documentMode||mxEvent.addListener(this.textarea,"paste",mxUtils.bind(this,function(a){var d=c(this.textarea,this.textarea.cloneNode(!0));window.setTimeout(mxUtils.bind(this,function(){b(this.textarea,d)}),0)}))};mxCellEditor.prototype.toggleViewMode=function(){var a=this.graph.view.getState(this.editingCell),c=null!=a&&"0"!=mxUtils.getValue(a.style,"nl2Br", +"1"),b=this.saveSelection();if(this.codeViewMode){l=mxUtils.extractTextWithWhitespace(this.textarea.childNodes);0<l.length&&"\n"==l.charAt(l.length-1)&&(l=l.substring(0,l.length-1));l=this.graph.sanitizeHtml(c?l.replace(/\n/g,"<br/>"):l,!0);this.textarea.className="mxCellEditor geContentEditable";var d=mxUtils.getValue(a.style,mxConstants.STYLE_FONTSIZE,mxConstants.DEFAULT_FONTSIZE),c=mxUtils.getValue(a.style,mxConstants.STYLE_FONTFAMILY,mxConstants.DEFAULT_FONTFAMILY),f=mxUtils.getValue(a.style, +mxConstants.STYLE_ALIGN,mxConstants.ALIGN_LEFT),e=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD,g=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC,a=(mxUtils.getValue(a.style,mxConstants.STYLE_FONTSTYLE,0)&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT?Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT; +this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration=a?"underline":"";this.textarea.style.fontWeight=e?"bold":"normal";this.textarea.style.fontStyle=g?"italic":"";this.textarea.style.fontFamily=c;this.textarea.style.textAlign=f;this.textarea.style.padding="0px";this.textarea.innerHTML!=l&&(this.textarea.innerHTML=l,0==this.textarea.innerHTML.length&&(this.textarea.innerHTML=this.getEmptyLabelText(),this.clearOnChange=0<this.textarea.innerHTML.length));this.codeViewMode= +!1}else{this.clearOnChange&&this.textarea.innerHTML==this.getEmptyLabelText()&&(this.clearOnChange=!1,this.textarea.innerHTML="");var l=mxUtils.htmlEntities(this.textarea.innerHTML);mxClient.IS_QUIRKS||8==document.documentMode||(l=mxUtils.replaceTrailingNewlines(l,"<div><br></div>"));l=this.graph.sanitizeHtml(c?l.replace(/\n/g,"").replace(/<br\s*.?>/g,"<br>"):l,!0);this.textarea.className="mxCellEditor mxPlainTextEditor";var d=mxConstants.DEFAULT_FONTSIZE;this.textarea.style.lineHeight=mxConstants.ABSOLUTE_LINE_HEIGHT? +Math.round(d*mxConstants.LINE_HEIGHT)+"px":mxConstants.LINE_HEIGHT;this.textarea.style.fontSize=Math.round(d)+"px";this.textarea.style.textDecoration="";this.textarea.style.fontWeight="normal";this.textarea.style.fontStyle="";this.textarea.style.fontFamily=mxConstants.DEFAULT_FONTFAMILY;this.textarea.style.textAlign="left";this.textarea.style.padding="2px";this.textarea.innerHTML!=l&&(this.textarea.innerHTML=l);this.codeViewMode=!0}this.textarea.focus();null!=this.switchSelectionState&&this.restoreSelection(this.switchSelectionState); +this.switchSelectionState=b;this.resize()};var v=mxCellEditor.prototype.resize;mxCellEditor.prototype.resize=function(a,c){if(null!=this.textarea)if(a=this.graph.getView().getState(this.editingCell),this.codeViewMode&&null!=a){var b=a.view.scale;this.bounds=mxRectangle.fromRectangle(a);if(0==this.bounds.width&&0==this.bounds.height){this.bounds.width=160*b;this.bounds.height=60*b;var d=null!=a.text?a.text.margin:null;null==d&&(d=mxUtils.getAlignmentAsPoint(mxUtils.getValue(a.style,mxConstants.STYLE_ALIGN, +mxConstants.ALIGN_CENTER),mxUtils.getValue(a.style,mxConstants.STYLE_VERTICAL_ALIGN,mxConstants.ALIGN_MIDDLE)));this.bounds.x+=d.x*this.bounds.width;this.bounds.y+=d.y*this.bounds.height}this.textarea.style.width=Math.round((this.bounds.width-4)/b)+"px";this.textarea.style.height=Math.round((this.bounds.height-4)/b)+"px";this.textarea.style.overflow="auto";this.textarea.clientHeight<this.textarea.offsetHeight&&(this.textarea.style.height=Math.round(this.bounds.height/b)+(this.textarea.offsetHeight- this.textarea.clientHeight)+"px",this.bounds.height=parseInt(this.textarea.style.height)*b);this.textarea.clientWidth<this.textarea.offsetWidth&&(this.textarea.style.width=Math.round(this.bounds.width/b)+(this.textarea.offsetWidth-this.textarea.clientWidth)+"px",this.bounds.width=parseInt(this.textarea.style.width)*b);this.textarea.style.left=Math.round(this.bounds.x)+"px";this.textarea.style.top=Math.round(this.bounds.y)+"px";mxClient.IS_VML?this.textarea.style.zoom=b:mxUtils.setPrefixedStyle(this.textarea.style, -"transform","scale("+b+","+b+")")}else this.textarea.style.height="",this.textarea.style.overflow="",v.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,d){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,d);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; -mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var d=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return d="1"==mxUtils.getValue(a.style,"nl2Br","1")?d.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):d.replace(/\r\n/g,"").replace(/\n/g,"")};var d=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& -this.toggleViewMode();d.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,d){this.graph.getModel().beginUpdate();try{if(f.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),c=mxUtils.getValue(a.style, -mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==d&&b==mxConstants.NONE&&c==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var d=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))d=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),d==mxConstants.NONE&&(d=null);return d};mxCellEditor.prototype.getMinimumSize= -function(a){var d=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*d+20,30)};var g=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,d,b,c,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(d){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,c=this.graph.view.scale;d=this.roundLength((this.bounds.x+this.currentDx)/ -c-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/c-b.y);this.hint.innerHTML=d+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,d){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&& -!mxEvent.isControlDown(d.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,d){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(d.getEvent())||mxEvent.isMetaDown(d.getEvent())}; -var m=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),d=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(d/=2,a.x=this.sizers[0].bounds.width+d,a.y=this.sizers[0].bounds.height+d):a=m.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(d){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)), -this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+"°":(d=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/d)+" x "+this.roundLength(this.bounds.height/d)),d=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),null==d&&(d=this.bounds),this.hint.style.left=d.x+Math.round((d.width-this.hint.clientWidth)/2)+"px",this.hint.style.top=d.y+d.height+12+"px",null!=this.linkHint&& -(this.linkHint.style.display="none"))};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(d,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var c=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-c.x),c=this.roundLength(b.y/f-c.y);this.hint.innerHTML=e+", "+c;this.hint.style.visibility= -"visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(d.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(d.getGraphY(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&& +"transform","scale("+b+","+b+")")}else this.textarea.style.height="",this.textarea.style.overflow="",v.apply(this,arguments)};mxCellEditorGetInitialValue=mxCellEditor.prototype.getInitialValue;mxCellEditor.prototype.getInitialValue=function(a,c){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetInitialValue.apply(this,arguments);var b=this.graph.getEditingValue(a.cell,c);"1"==mxUtils.getValue(a.style,"nl2Br","1")&&(b=b.replace(/\n/g,"<br/>"));return b=this.graph.sanitizeHtml(b,!0)}; +mxCellEditorGetCurrentValue=mxCellEditor.prototype.getCurrentValue;mxCellEditor.prototype.getCurrentValue=function(a){if("0"==mxUtils.getValue(a.style,"html","0"))return mxCellEditorGetCurrentValue.apply(this,arguments);var c=this.graph.sanitizeHtml(this.textarea.innerHTML,!0);return c="1"==mxUtils.getValue(a.style,"nl2Br","1")?c.replace(/\r\n/g,"<br/>").replace(/\n/g,"<br/>"):c.replace(/\r\n/g,"").replace(/\n/g,"")};var c=mxCellEditor.prototype.stopEditing;mxCellEditor.prototype.stopEditing=function(a){this.codeViewMode&& +this.toggleViewMode();c.apply(this,arguments);this.focusContainer()};mxCellEditor.prototype.focusContainer=function(){try{this.graph.container.focus()}catch(Q){}};var f=mxCellEditor.prototype.applyValue;mxCellEditor.prototype.applyValue=function(a,c){this.graph.getModel().beginUpdate();try{if(f.apply(this,arguments),this.graph.isCellDeletable(a.cell)&&0==this.graph.model.getChildCount(a.cell)){var b=mxUtils.getValue(a.style,mxConstants.STYLE_STROKECOLOR,mxConstants.NONE),d=mxUtils.getValue(a.style, +mxConstants.STYLE_FILLCOLOR,mxConstants.NONE);""==c&&b==mxConstants.NONE&&d==mxConstants.NONE&&this.graph.removeCells([a.cell],!1)}}finally{this.graph.getModel().endUpdate()}};mxCellEditor.prototype.getBackgroundColor=function(a){var c=null;if(this.graph.getModel().isEdge(a.cell)||this.graph.getModel().isEdge(this.graph.getModel().getParent(a.cell)))c=mxUtils.getValue(a.style,mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,null),c==mxConstants.NONE&&(c=null);return c};mxCellEditor.prototype.getMinimumSize= +function(a){var c=this.graph.getView().scale;return new mxRectangle(0,0,null==a.text?30:a.text.size*c+20,30)};var g=mxGraphHandler.prototype.moveCells;mxGraphHandler.prototype.moveCells=function(a,c,b,d,f,e){mxEvent.isAltDown(e)&&(f=null);g.apply(this,arguments)};mxGraphHandler.prototype.updateHint=function(c){if(null!=this.shape){null==this.hint&&(this.hint=a(),this.graph.container.appendChild(this.hint));var b=this.graph.view.translate,d=this.graph.view.scale;c=this.roundLength((this.bounds.x+this.currentDx)/ +d-b.x);b=this.roundLength((this.bounds.y+this.currentDy)/d-b.y);this.hint.innerHTML=c+", "+b;this.hint.style.left=this.shape.bounds.x+Math.round((this.shape.bounds.width-this.hint.clientWidth)/2)+"px";this.hint.style.top=this.shape.bounds.y+this.shape.bounds.height+12+"px"}};mxGraphHandler.prototype.removeHint=function(){null!=this.hint&&(this.hint.parentNode.removeChild(this.hint),this.hint=null)};mxVertexHandler.prototype.isRecursiveResize=function(a,c){return!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&& +!mxEvent.isControlDown(c.getEvent())&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null)};mxVertexHandler.prototype.isCenteredEvent=function(a,c){return!(!this.graph.isSwimlane(a.cell)&&0<this.graph.model.getChildCount(a.cell)&&!this.graph.isCellCollapsed(a.cell)&&"1"==mxUtils.getValue(a.style,"recursiveResize","1")&&null==mxUtils.getValue(a.style,"childLayout",null))&&mxEvent.isControlDown(c.getEvent())||mxEvent.isMetaDown(c.getEvent())}; +var u=mxVertexHandler.prototype.getHandlePadding;mxVertexHandler.prototype.getHandlePadding=function(){var a=new mxPoint(0,0),c=this.tolerance;this.graph.cellEditor.getEditingCell()==this.state.cell&&null!=this.sizers&&0<this.sizers.length&&null!=this.sizers[0]?(c/=2,a.x=this.sizers[0].bounds.width+c,a.y=this.sizers[0].bounds.height+c):a=u.apply(this,arguments);return a};mxVertexHandler.prototype.updateHint=function(c){this.index!=mxEvent.LABEL_HANDLE&&(null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint)), +this.index==mxEvent.ROTATION_HANDLE?this.hint.innerHTML=this.currentAlpha+"°":(c=this.state.view.scale,this.hint.innerHTML=this.roundLength(this.bounds.width/c)+" x "+this.roundLength(this.bounds.height/c)),c=mxUtils.getBoundingBox(this.bounds,null!=this.currentAlpha?this.currentAlpha:this.state.style[mxConstants.STYLE_ROTATION]||"0"),null==c&&(c=this.bounds),this.hint.style.left=c.x+Math.round((c.width-this.hint.clientWidth)/2)+"px",this.hint.style.top=c.y+c.height+12+"px",null!=this.linkHint&& +(this.linkHint.style.display="none"))};mxVertexHandler.prototype.removeHint=function(){mxGraphHandler.prototype.removeHint.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.display="")};mxEdgeHandler.prototype.updateHint=function(c,b){null==this.hint&&(this.hint=a(),this.state.view.graph.container.appendChild(this.hint));var d=this.graph.view.translate,f=this.graph.view.scale,e=this.roundLength(b.x/f-d.x),d=this.roundLength(b.y/f-d.y);this.hint.innerHTML=e+", "+d;this.hint.style.visibility= +"visible";if(this.isSource||this.isTarget)null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus?(e=this.constraintHandler.currentConstraint.point,this.hint.innerHTML="["+Math.round(100*e.x)+"%, "+Math.round(100*e.y)+"%]"):this.marker.hasValidState()&&(this.hint.style.visibility="hidden");this.hint.style.left=Math.round(c.getGraphX()-this.hint.clientWidth/2)+"px";this.hint.style.top=Math.max(c.getGraphY(),b.y)+this.state.view.graph.gridSize+"px";null!=this.linkHint&& (this.linkHint.style.display="none")};mxEdgeHandler.prototype.removeHint=mxVertexHandler.prototype.removeHint;HoverIcons.prototype.mainHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/>'):new mxImage(IMAGE_PATH+"/handle-main.png",17,17);HoverIcons.prototype.secondaryHandle=mxClient.IS_SVG?Graph.createSvgImage(16,16,'<path d="m 8 3 L 13 8 L 8 13 L 3 8 z" stroke="#fff" fill="#fca000"/>'):new mxImage(IMAGE_PATH+"/handle-secondary.png", 17,17);HoverIcons.prototype.fixedHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/><path d="m 7 7 L 11 11 M 7 11 L 11 7" stroke="#fff"/>'):new mxImage(IMAGE_PATH+"/handle-fixed.png",17,17);HoverIcons.prototype.terminalHandle=mxClient.IS_SVG?Graph.createSvgImage(18,18,'<circle cx="9" cy="9" r="5" stroke="#fff" fill="#007dfc" stroke-width="1"/><circle cx="9" cy="9" r="2" stroke="#fff" fill="transparent"/>'):new mxImage(IMAGE_PATH+ "/handle-terminal.png",17,17);HoverIcons.prototype.rotationHandle=new mxImage(mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAVCAYAAACkCdXRAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA6ZJREFUeNqM001IY1cUB/D/fYmm2sbR2lC1zYlgoRG6MpEyBlpxM9iFIGKFIm3s0lCKjOByhCLZCFqLBF1YFVJdSRbdFHRhBbULtRuFVBTzYRpJgo2mY5OX5N9Fo2TG+eiFA/dd3vvd8+65ByTxshARTdf1JySp6/oTEdFe9T5eg5lIcnBwkCSZyWS+exX40oyur68/KxaLf5Okw+H4X+A9JBaLfUySZ2dnnJqaosPhIAACeC34DJRKpb7IZrMcHx+nwWCgUopGo/EOKwf9fn/1CzERUevr6+9ls1mOjIwQAH0+H4PBIKPR6D2ofAQCgToRUeVYJUkuLy8TANfW1kiS8/PzCy84Mw4MDBAAZ2dnmc/nub+/X0MSEBF1cHDwMJVKsaGhgV6vl+l0mqOjo1+KyKfl1dze3l4NBoM/PZ+diFSLiIKIGBOJxA9bW1sEwNXVVSaTyQMRaRaRxrOzs+9J8ujoaE5EPhQRq67rcZ/PRwD0+/3Udf03EdEgIqZisZibnJykwWDg4eEhd3Z2xkXELCJvPpdBrYjUiEhL+Xo4HH4sIhUaAKNSqiIcDsNkMqG+vh6RSOQQQM7tdhsAQCkFAHC73UUATxcWFqypVApmsxnDw8OwWq2TADQNgAYAFosF+XweyWQSdru9BUBxcXFRB/4rEgDcPouIIx6P4+bmBi0tLSCpAzBqAIqnp6c/dnZ2IpfLYXNzE62traMADACKNputpr+/v8lms9UAKAAwiMjXe3t7KBQKqKurQy6Xi6K0i2l6evpROp1mbW0t29vbGY/Hb8/IVIqq2zlJXl1dsaOjg2azmefn5wwEAl+JSBVExCgi75PkzMwMlVJsbGxkIpFgPp8PX15ePopEIs3JZPITXdf/iEajbGpqolKKExMT1HWdHo/nIxGpgIgoEXnQ3d39kCTHxsYIgC6Xi3NzcwyHw8xkMozFYlxaWmJbWxuVUuzt7WUul6PX6/1cRN4WEe2uA0SkaWVl5XGpRVhdXU0A1DSNlZWVdz3qdDrZ09PDWCzG4+Pjn0XEWvp9KJKw2WwKwBsA3gHQHAqFfr24uMDGxgZ2d3cRiUQAAHa7HU6nE319fTg5Ofmlq6vrGwB/AngaCoWK6rbsNptNA1AJoA7Aux6Pp3NoaMhjsVg+QNmIRqO/u1yubwFEASRKUAEA7rASqABUAKgC8KAUb5XWCOAfAFcA/gJwDSB7C93DylCtdM8qABhLc5TumV6KQigUeubjfwcAHkQJ94ndWeYAAAAASUVORK5CYII=": @@ -2388,233 +2389,234 @@ HoverIcons.prototype.fixedHandle;mxEdgeHandler.prototype.labelHandleImage=HoverI Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxClient.IS_SVG||((new Image).src=HoverIcons.prototype.mainHandle.src,(new Image).src=HoverIcons.prototype.fixedHandle.src,(new Image).src=HoverIcons.prototype.terminalHandle.src,(new Image).src=HoverIcons.prototype.secondaryHandle.src,(new Image).src=HoverIcons.prototype.rotationHandle.src,(new Image).src=HoverIcons.prototype.triangleUp.src,(new Image).src=HoverIcons.prototype.triangleRight.src,(new Image).src=HoverIcons.prototype.triangleDown.src, (new Image).src=HoverIcons.prototype.triangleLeft.src,(new Image).src=HoverIcons.prototype.refreshTarget.src,(new Image).src=HoverIcons.prototype.roundDrop.src);mxVertexHandler.prototype.rotationEnabled=!0;mxVertexHandler.prototype.manageSizers=!0;mxVertexHandler.prototype.livePreview=!0;mxRubberband.prototype.defaultOpacity=30;mxConnectionHandler.prototype.outlineConnect=!0;mxCellHighlight.prototype.keepOnTop=!0;mxVertexHandler.prototype.parentHighlightEnabled=!0;mxVertexHandler.prototype.rotationHandleVSpacing= -20;mxEdgeHandler.prototype.parentHighlightEnabled=!0;mxEdgeHandler.prototype.dblClickRemoveEnabled=!0;mxEdgeHandler.prototype.straightRemoveEnabled=!0;mxEdgeHandler.prototype.virtualBendsEnabled=!0;mxEdgeHandler.prototype.mergeRemoveEnabled=!0;mxEdgeHandler.prototype.manageLabelHandle=!0;mxEdgeHandler.prototype.outlineConnect=!0;mxEdgeHandler.prototype.isAddVirtualBendEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())}; -if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return null== -a.getState()&&!mxEvent.isMouseEvent(d)||mxEvent.isPopupTrigger(d)&&(null==a.getState()||mxEvent.isControlDown(d)||mxEvent.isShiftDown(d))};var t=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,d){t.apply(this,arguments);mxEvent.isTouchEvent(d.getEvent())&&this.graph.isCellSelected(d.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var d=a.getEvent();return mxEvent.isLeftMouseButton(d)&& -(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(d)&&!mxEvent.isShiftDown(d))||this.usePopupTrigger&&mxEvent.isPopupTrigger(d)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,d){var b=null!=this.div&&"none"!=this.div.style.display,c=null,f=null,e=null,g=null;null!=this.first&& -null!=this.currentX&&null!=this.currentY&&(c=this.first.x,f=this.first.y,e=(this.currentX-c)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(d.getEvent())&&this.graph.isToggleEvent(d.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),h= -this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(h)}else if(this.isSpaceEvent(d)){this.graph.model.beginUpdate();try{for(h=this.graph.getCellsBeyond(c,f,this.graph.getDefaultParent(),!0,!0),b=0;b<h.length;b++)if(this.graph.isCellMovable(h[b])){var m=this.graph.view.getState(h[b]),q=this.graph.getCellGeometry(h[b]);null!=m&&null!=q&&(q=q.clone(),q.translate(e,g),this.graph.model.setGeometry(h[b],q))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y, -this.width,this.height),this.graph.selectRegion(e,d.getEvent());d.consume()}};mxRubberband.prototype.mouseMove=function(a,d){if(!d.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),c=mxUtils.getOffset(this.graph.container);b.x-=c.x;b.y-=c.y;var c=d.getX()+b.x,b=d.getY()+b.y,f=this.first.x-c,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(c,b), -this.isSpaceEvent(d)?(c=this.x+this.width,b=this.y+this.height,f=this.graph.view.scale,mxEvent.isAltDown(d.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=c-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= +if(Graph.touchStyle){if(mxClient.IS_TOUCH||0<navigator.maxTouchPoints||0<navigator.msMaxTouchPoints)mxShape.prototype.svgStrokeTolerance=18,mxVertexHandler.prototype.tolerance=12,mxEdgeHandler.prototype.tolerance=12,Graph.prototype.tolerance=12,mxVertexHandler.prototype.rotationHandleVSpacing=-24,mxConstraintHandler.prototype.getTolerance=function(a){return mxEvent.isMouseEvent(a.getEvent())?4:this.graph.getTolerance()};mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return null== +a.getState()&&!mxEvent.isMouseEvent(c)||mxEvent.isPopupTrigger(c)&&(null==a.getState()||mxEvent.isControlDown(c)||mxEvent.isShiftDown(c))};var t=mxGraphHandler.prototype.mouseDown;mxGraphHandler.prototype.mouseDown=function(a,c){t.apply(this,arguments);mxEvent.isTouchEvent(c.getEvent())&&this.graph.isCellSelected(c.getCell())&&1<this.graph.getSelectionCount()&&(this.delayedSelection=!1)}}else mxPanningHandler.prototype.isPanningTrigger=function(a){var c=a.getEvent();return mxEvent.isLeftMouseButton(c)&& +(this.useLeftButtonForPanning&&null==a.getState()||mxEvent.isControlDown(c)&&!mxEvent.isShiftDown(c))||this.usePopupTrigger&&mxEvent.isPopupTrigger(c)};mxRubberband.prototype.isSpaceEvent=function(a){return this.graph.isEnabled()&&!this.graph.isCellLocked(this.graph.getDefaultParent())&&mxEvent.isControlDown(a.getEvent())&&mxEvent.isShiftDown(a.getEvent())};mxRubberband.prototype.mouseUp=function(a,c){var b=null!=this.div&&"none"!=this.div.style.display,d=null,f=null,e=null,g=null;null!=this.first&& +null!=this.currentX&&null!=this.currentY&&(d=this.first.x,f=this.first.y,e=(this.currentX-d)/this.graph.view.scale,g=(this.currentY-f)/this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(e=this.graph.snap(e),g=this.graph.snap(g),this.graph.isGridEnabled()||(Math.abs(e)<this.graph.tolerance&&(e=0),Math.abs(g)<this.graph.tolerance&&(g=0))));this.reset();if(b){if(mxEvent.isAltDown(c.getEvent())&&this.graph.isToggleEvent(c.getEvent())){var e=new mxRectangle(this.x,this.y,this.width,this.height),l= +this.graph.getCells(e.x,e.y,e.width,e.height);this.graph.removeSelectionCells(l)}else if(this.isSpaceEvent(c)){this.graph.model.beginUpdate();try{for(l=this.graph.getCellsBeyond(d,f,this.graph.getDefaultParent(),!0,!0),b=0;b<l.length;b++)if(this.graph.isCellMovable(l[b])){var h=this.graph.view.getState(l[b]),q=this.graph.getCellGeometry(l[b]);null!=h&&null!=q&&(q=q.clone(),q.translate(e,g),this.graph.model.setGeometry(l[b],q))}}finally{this.graph.model.endUpdate()}}else e=new mxRectangle(this.x,this.y, +this.width,this.height),this.graph.selectRegion(e,c.getEvent());c.consume()}};mxRubberband.prototype.mouseMove=function(a,c){if(!c.isConsumed()&&null!=this.first){var b=mxUtils.getScrollOrigin(this.graph.container),d=mxUtils.getOffset(this.graph.container);b.x-=d.x;b.y-=d.y;var d=c.getX()+b.x,b=c.getY()+b.y,f=this.first.x-d,e=this.first.y-b,g=this.graph.tolerance;if(null!=this.div||Math.abs(f)>g||Math.abs(e)>g)null==this.div&&(this.div=this.createShape()),mxUtils.clearSelection(),this.update(d,b), +this.isSpaceEvent(c)?(d=this.x+this.width,b=this.y+this.height,f=this.graph.view.scale,mxEvent.isAltDown(c.getEvent())||(this.width=this.graph.snap(this.width/f)*f,this.height=this.graph.snap(this.height/f)*f,this.graph.isGridEnabled()||(this.width<this.graph.tolerance&&(this.width=0),this.height<this.graph.tolerance&&(this.height=0)),this.x<this.first.x&&(this.x=d-this.width),this.y<this.first.y&&(this.y=b-this.height)),this.div.style.borderStyle="dashed",this.div.style.backgroundColor="white",this.div.style.left= this.x+"px",this.div.style.top=this.y+"px",this.div.style.width=Math.max(0,this.width)+"px",this.div.style.height=this.graph.container.clientHeight+"px",this.div.style.borderWidth=0>=this.width?"0px 1px 0px 0px":"0px 1px 0px 1px",null==this.secondDiv&&(this.secondDiv=this.div.cloneNode(!0),this.div.parentNode.appendChild(this.secondDiv)),this.secondDiv.style.left=this.x+"px",this.secondDiv.style.top=this.y+"px",this.secondDiv.style.width=this.graph.container.clientWidth+"px",this.secondDiv.style.height= -Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),d.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this, -arguments)};var n=(new Date).getTime(),q=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,d,b,c){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),q=0):q=(new Date).getTime()-n;this.currentTerminalState=b};var u=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<q||(null==this.currentTerminalState|| -"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&u.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,d){var b=null!=a&&0==a,c=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,c,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), -f):null)?this.fixedHandleImage:null!=f&&null!=c?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var y=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,d,b){this.handleImage=d==mxEvent.ROTATION_HANDLE? -HoverIcons.prototype.rotationHandle:d==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return y.apply(this,arguments)};var E=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var d=this.graph.getModel(),b=d.getParent(a[0]),c=this.graph.getCellGeometry(a[0]);if(d.isEdge(b)&&null!=c&&c.relative&&(d=this.graph.view.getState(a[0]),null!=d&&2>d.width&&2>d.height&&null!=d.text&&null!=d.text.boundingBox))return mxRectangle.fromRectangle(d.text.boundingBox)}return E.apply(this, -arguments)};var z=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var d=this.graph.getModel(),b=d.getParent(a.cell),c=this.graph.getCellGeometry(a.cell);return d.isEdge(b)&&null!=c&&c.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(d=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(d.x),Math.round(d.y),Math.round(d.width),Math.round(d.height))):z.apply(this,arguments)};var G=mxVertexHandler.prototype.mouseDown; -mxVertexHandler.prototype.mouseDown=function(a,d){var b=this.graph.getModel(),c=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(d)==mxEvent.ROTATION_HANDLE||!b.isEdge(c)||null==f||!f.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&G.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| -this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var C=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,d){C.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var x=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= -function(a,d){x.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var H=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){H.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var d=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= -1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){d()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); -d()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,d){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),c=this.graph.getLinksForState(this.state);this.updateLinkHint(b,c);if(null!=b||null!=c&&0<c.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(d,b){if(null==d&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!= -this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=d||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=d&&(this.linkHint.appendChild(this.graph.createLinkForHint(d)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var c= -document.createElement("img");c.setAttribute("src",Editor.editImage);c.setAttribute("title",mxResources.get("editLink"));c.setAttribute("width","11");c.setAttribute("height","11");c.style.marginLeft="10px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));c=document.createElement("img");c.setAttribute("src",Dialog.prototype.clearImage); -c.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));c.setAttribute("width","13");c.setAttribute("height","10");c.style.marginLeft="4px";c.style.marginBottom="-1px";c.style.cursor="pointer";this.linkHint.appendChild(c);mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(c=0;c<b.length;c++){var f=document.createElement("div");f.style.marginTop=null!=d||0<c?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[c].getAttribute("href"), -mxUtils.getTextContent(b[c])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var I=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){I.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= -this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(d,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(d,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, -this.changeHandler);var d=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=d||null!=b&&0<b.length)this.updateLinkHint(d,b),this.redrawHandles()};var A=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){A.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var N=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){N.apply(this); -if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),d=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(d,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,d=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=d&&(b=Math.max(b, -d.y+d.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var D=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){D.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var J=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= -function(){J.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles; +Math.max(0,this.height)+"px",this.secondDiv.style.borderWidth=0>=this.height?"1px 0px 0px 0px":"1px 0px 1px 0px"):(this.div.style.backgroundColor="",this.div.style.borderWidth="",this.div.style.borderStyle="",null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null)),c.consume()}};var h=mxRubberband.prototype.reset;mxRubberband.prototype.reset=function(){null!=this.secondDiv&&(this.secondDiv.parentNode.removeChild(this.secondDiv),this.secondDiv=null);h.apply(this, +arguments)};var n=(new Date).getTime(),l=0,w=mxEdgeHandler.prototype.updatePreviewState;mxEdgeHandler.prototype.updatePreviewState=function(a,c,b,d){w.apply(this,arguments);b!=this.currentTerminalState?(n=(new Date).getTime(),l=0):l=(new Date).getTime()-n;this.currentTerminalState=b};var q=mxEdgeHandler.prototype.isOutlineConnectEvent;mxEdgeHandler.prototype.isOutlineConnectEvent=function(a){return null!=this.currentTerminalState&&a.getState()==this.currentTerminalState&&2E3<l||(null==this.currentTerminalState|| +"0"!=mxUtils.getValue(this.currentTerminalState.style,"outlineConnect","1"))&&q.apply(this,arguments)};mxVertexHandler.prototype.isCustomHandleEvent=function(a){return!mxEvent.isShiftDown(a.getEvent())};mxEdgeHandler.prototype.createHandleShape=function(a,c){var b=null!=a&&0==a,d=this.state.getVisibleTerminalState(b),f=null!=a&&(0==a||a>=this.state.absolutePoints.length-1||this.constructor==mxElbowEdgeHandler&&2==a)?this.graph.getConnectionConstraint(this.state,d,b):null,b=null!=(null!=f?this.graph.getConnectionPoint(this.state.getVisibleTerminalState(b), +f):null)?this.fixedHandleImage:null!=f&&null!=d?this.terminalHandleImage:this.handleImage;if(null!=b)return b=new mxImageShape(new mxRectangle(0,0,b.width,b.height),b.src),b.preserveImageAspect=!1,b;b=mxConstants.HANDLE_SIZE;this.preferHtml&&--b;return new mxRectangleShape(new mxRectangle(0,0,b,b),mxConstants.HANDLE_FILLCOLOR,mxConstants.HANDLE_STROKECOLOR)};var y=mxVertexHandler.prototype.createSizerShape;mxVertexHandler.prototype.createSizerShape=function(a,c,b){this.handleImage=c==mxEvent.ROTATION_HANDLE? +HoverIcons.prototype.rotationHandle:c==mxEvent.LABEL_HANDLE?this.secondaryHandleImage:this.handleImage;return y.apply(this,arguments)};var D=mxGraphHandler.prototype.getBoundingBox;mxGraphHandler.prototype.getBoundingBox=function(a){if(null!=a&&1==a.length){var c=this.graph.getModel(),b=c.getParent(a[0]),d=this.graph.getCellGeometry(a[0]);if(c.isEdge(b)&&null!=d&&d.relative&&(c=this.graph.view.getState(a[0]),null!=c&&2>c.width&&2>c.height&&null!=c.text&&null!=c.text.boundingBox))return mxRectangle.fromRectangle(c.text.boundingBox)}return D.apply(this, +arguments)};var z=mxVertexHandler.prototype.getSelectionBounds;mxVertexHandler.prototype.getSelectionBounds=function(a){var c=this.graph.getModel(),b=c.getParent(a.cell),d=this.graph.getCellGeometry(a.cell);return c.isEdge(b)&&null!=d&&d.relative&&2>a.width&&2>a.height&&null!=a.text&&null!=a.text.boundingBox?(c=a.text.unrotatedBoundingBox||a.text.boundingBox,new mxRectangle(Math.round(c.x),Math.round(c.y),Math.round(c.width),Math.round(c.height))):z.apply(this,arguments)};var G=mxVertexHandler.prototype.mouseDown; +mxVertexHandler.prototype.mouseDown=function(a,c){var b=this.graph.getModel(),d=b.getParent(this.state.cell),f=this.graph.getCellGeometry(this.state.cell);(this.getHandleForEvent(c)==mxEvent.ROTATION_HANDLE||!b.isEdge(d)||null==f||!f.relative||null==this.state||2<=this.state.width||2<=this.state.height)&&G.apply(this,arguments)};mxVertexHandler.prototype.isRotationHandleVisible=function(){return this.graph.isEnabled()&&this.rotationEnabled&&this.graph.isCellRotatable(this.state.cell)&&(0>=mxGraphHandler.prototype.maxCells|| +this.graph.getSelectionCount()<mxGraphHandler.prototype.maxCells)};mxVertexHandler.prototype.rotateClick=function(){this.state.view.graph.turnShapes([this.state.cell])};var E=mxVertexHandler.prototype.mouseMove;mxVertexHandler.prototype.mouseMove=function(a,c){E.apply(this,arguments);null!=this.graph.graphHandler.first&&null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display="none")};var x=mxVertexHandler.prototype.mouseUp;mxVertexHandler.prototype.mouseUp= +function(a,c){x.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var J=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){J.apply(this,arguments);var a=!1;null!=this.rotationShape&&this.rotationShape.node.setAttribute("title",mxResources.get("rotateTooltip"));var c=mxUtils.bind(this,function(){null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display= +1==this.graph.getSelectionCount()?"":"none");null!=this.specialHandle&&(this.specialHandle.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none");this.redrawHandles()});this.selectionHandler=mxUtils.bind(this,function(a,b){c()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(a,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state)); +c()});this.graph.getModel().addListener(mxEvent.CHANGE,this.changeHandler);this.editingHandler=mxUtils.bind(this,function(a,c){this.redrawHandles()});this.graph.addListener(mxEvent.EDITING_STOPPED,this.editingHandler);var b=this.graph.getLinkForCell(this.state.cell),d=this.graph.getLinksForState(this.state);this.updateLinkHint(b,d);if(null!=b||null!=d&&0<d.length)a=!0;a&&this.redrawHandles()};mxVertexHandler.prototype.updateLinkHint=function(c,b){if(null==c&&(null==b||0==b.length)||1<this.graph.getSelectionCount())null!= +this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);else if(null!=c||null!=b&&0<b.length){null==this.linkHint&&(this.linkHint=a(),this.linkHint.style.padding="6px 8px 6px 8px",this.linkHint.style.fontSize="90%",this.linkHint.style.opacity="1",this.linkHint.style.filter="",this.graph.container.appendChild(this.linkHint));this.linkHint.innerHTML="";if(null!=c&&(this.linkHint.appendChild(this.graph.createLinkForHint(c)),this.graph.isEnabled()&&"function"===typeof this.graph.editLink)){var d= +document.createElement("img");d.setAttribute("src",Editor.editImage);d.setAttribute("title",mxResources.get("editLink"));d.setAttribute("width","11");d.setAttribute("height","11");d.style.marginLeft="10px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setSelectionCell(this.state.cell);this.graph.editLink();mxEvent.consume(a)}));d=document.createElement("img");d.setAttribute("src",Dialog.prototype.clearImage); +d.setAttribute("title",mxResources.get("removeIt",[mxResources.get("link")]));d.setAttribute("width","13");d.setAttribute("height","10");d.style.marginLeft="4px";d.style.marginBottom="-1px";d.style.cursor="pointer";this.linkHint.appendChild(d);mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){this.graph.setLinkForCell(this.state.cell,null);mxEvent.consume(a)}))}if(null!=b)for(d=0;d<b.length;d++){var f=document.createElement("div");f.style.marginTop=null!=c||0<d?"6px":"0px";f.appendChild(this.graph.createLinkForHint(b[d].getAttribute("href"), +mxUtils.getTextContent(b[d])));this.linkHint.appendChild(f)}}};mxEdgeHandler.prototype.updateLinkHint=mxVertexHandler.prototype.updateLinkHint;var H=mxEdgeHandler.prototype.init;mxEdgeHandler.prototype.init=function(){H.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.state.view.graph.connectionHandler.isEnabled()});var a=mxUtils.bind(this,function(){null!=this.linkHint&&(this.linkHint.style.display=1==this.graph.getSelectionCount()?"":"none");null!= +this.labelShape&&(this.labelShape.node.style.display=this.graph.isEnabled()&&this.graph.getSelectionCount()<this.graph.graphHandler.maxCells?"":"none")});this.selectionHandler=mxUtils.bind(this,function(c,b){a()});this.graph.getSelectionModel().addListener(mxEvent.CHANGE,this.selectionHandler);this.changeHandler=mxUtils.bind(this,function(c,b){this.updateLinkHint(this.graph.getLinkForCell(this.state.cell),this.graph.getLinksForState(this.state));a();this.redrawHandles()});this.graph.getModel().addListener(mxEvent.CHANGE, +this.changeHandler);var c=this.graph.getLinkForCell(this.state.cell),b=this.graph.getLinksForState(this.state);if(null!=c||null!=b&&0<b.length)this.updateLinkHint(c,b),this.redrawHandles()};var B=mxConnectionHandler.prototype.init;mxConnectionHandler.prototype.init=function(){B.apply(this,arguments);this.constraintHandler.isEnabled=mxUtils.bind(this,function(){return this.graph.connectionHandler.isEnabled()})};var N=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){N.apply(this); +if(null!=this.state&&null!=this.linkHint){var a=new mxPoint(this.state.getCenterX(),this.state.getCenterY()),c=new mxRectangle(this.state.x,this.state.y-22,this.state.width+24,this.state.height+22),b=mxUtils.getBoundingBox(c,this.state.style[mxConstants.STYLE_ROTATION]||"0",a),a=null!=b?mxUtils.getBoundingBox(this.state,this.state.style[mxConstants.STYLE_ROTATION]||"0"):this.state,c=null!=this.state.text?this.state.text.boundingBox:null;null==b&&(b=this.state);b=b.y+b.height;null!=c&&(b=Math.max(b, +c.y+c.height));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(b+this.verticalOffset/2+6+this.state.view.graph.tolerance)+"px"}};var C=mxVertexHandler.prototype.reset;mxVertexHandler.prototype.reset=function(){C.apply(this,arguments);null!=this.rotationShape&&null!=this.rotationShape.node&&(this.rotationShape.node.style.display=1==this.graph.getSelectionCount()?"":"none")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy= +function(){I.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler),this.changeHandler=null);null!=this.editingHandler&&(this.graph.removeListener(this.editingHandler),this.editingHandler=null)};var R=mxEdgeHandler.prototype.redrawHandles; mxEdgeHandler.prototype.redrawHandles=function(){if(null!=this.marker&&(R.apply(this),null!=this.state&&null!=this.linkHint)){var a=this.state;null!=this.state.text&&null!=this.state.text.bounds&&(a=new mxRectangle(a.x,a.y,a.width,a.height),a.add(this.state.text.bounds));this.linkHint.style.left=Math.max(0,Math.round(a.x+(a.width-this.linkHint.clientWidth)/2))+"px";this.linkHint.style.top=Math.round(a.y+a.height+6+this.state.view.graph.tolerance)+"px"}};var Y=mxEdgeHandler.prototype.reset;mxEdgeHandler.prototype.reset= function(){Y.apply(this,arguments);null!=this.linkHint&&(this.linkHint.style.visibility="")};var aa=mxEdgeHandler.prototype.destroy;mxEdgeHandler.prototype.destroy=function(){aa.apply(this,arguments);null!=this.linkHint&&(this.linkHint.parentNode.removeChild(this.linkHint),this.linkHint=null);null!=this.selectionHandler&&(this.graph.getSelectionModel().removeListener(this.selectionHandler),this.selectionHandler=null);null!=this.changeHandler&&(this.graph.getModel().removeListener(this.changeHandler), -this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function c(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function l(){mxActor.call(this)}function p(){mxCylinder.call(this)}function r(){mxActor.call(this)}function v(){mxActor.call(this)}function d(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function m(){mxActor.call(this)}function t(){mxActor.call(this)}function h(a,d){this.canvas= -a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=d;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; -this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function q(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function u(){mxActor.call(this)}function y(){mxActor.call(this)}function E(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function C(){mxShape.call(this)}function x(){mxShape.call(this)} -function H(){mxEllipse.call(this)}function I(){mxShape.call(this)}function A(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function D(){mxShape.call(this)}function J(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function F(){mxActor.call(this)}function V(){mxRectangleShape.call(this)} -function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function B(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function na(){mxEllipse.call(this)}function oa(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)} -function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,d,b,c,f,e,g,h,q,m){g+=q;var la=c.clone();c.x-=f*(2*g+q);c.y-=e*(2*g+q);f*=g+q;e*=g+q;return function(){a.ellipse(la.x-f-g,la.y-e-g,2*g,2*g);m?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c, -Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d,f),a.lineTo(d,d),a.lineTo(0,0),a.moveTo(d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(d,f),a.lineTo(0,f-d),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", -a);var xa=Math.tan(mxUtils.toRadians(30)),pa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/xa);a.translate((c-d)/2,(f-d)/2+d/4);a.moveTo(0,.25*d);a.lineTo(.5*d,d*pa);a.lineTo(d,.25*d);a.lineTo(.5*d,(.5-pa)*d);a.lineTo(0,.25*d);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.min(c,f/(.5+xa));e?(a.moveTo(0,.25*d),a.lineTo(.5* -d,(.5-pa)*d),a.lineTo(d,.25*d),a.moveTo(.5*d,(.5-pa)*d),a.lineTo(.5*d,(1-pa)*d)):(a.translate((c-d)/2,(f-d)/2),a.moveTo(0,.25*d),a.lineTo(.5*d,d*pa),a.lineTo(d,.25*d),a.lineTo(d,.75*d),a.lineTo(.5*d,(1-pa)*d),a.lineTo(0,.75*d),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(c,mxCylinder);c.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e|| -(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,d/2),a.moveTo(0,d),a.curveTo(0,2*d,c,2*d,c,d),e||(a.stroke(),a.begin()),a.translate(0,-d);e||(a.moveTo(0,d),a.curveTo(0,-d/3,c,-d/3,c,d),a.lineTo(c,f-d),a.curveTo(c,f+d/3,0,f+d/3,0,f-d),a.close())};c.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", -c);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c-d,0),a.lineTo(c-d,d),a.lineTo(c,d)):(a.moveTo(0,0),a.lineTo(c-d,0),a.lineTo(c,d),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(l,mxActor);l.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c/2,.5*f,c,0);a.quadTo(.5* -c,f/2,c,f);a.quadTo(c/2,.5*f,0,f);a.quadTo(.5*c,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",l);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,d,b,c,f,e){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); -e?"left"==g?(a.moveTo(0,b),a.lineTo(d,b)):(a.moveTo(c-d,b),a.lineTo(c,b)):("left"==g?(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,b),a.lineTo(c,b)):(a.moveTo(0,b),a.lineTo(c-d,b),a.lineTo(c-d,0),a.lineTo(c,0)),a.lineTo(c,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(r,mxActor);r.prototype.size=30;r.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style, -mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",r);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,d/2);a.quadTo(c/4,1.4*d,c/2,d/2);a.quadTo(3*c/4,d*(1-1.4),c,d/2);a.lineTo(c,f-d/2);a.quadTo(3* -c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close();a.end()};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var d=mxUtils.getValue(this.style,"size",this.size),b=a.width,c=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return d*=c,new mxRectangle(a.x,a.y+d,b,c-2*d);d*=b;return new mxRectangle(a.x+d,a.y,b-2*d,c)}return a};mxCellRenderer.registerShape("tape", -v);mxUtils.extend(d,mxActor);d.prototype.size=.3;d.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};d.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(c,0);a.lineTo(c,f-d/2);a.quadTo(3*c/4,f-1.4*d,c/2,f-d/2);a.quadTo(c/4,f-d*(1-1.4),0,f-d/2);a.lineTo(0,d/2);a.close(); -a.end()};mxCellRenderer.registerShape("document",d);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, -[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c-d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,f)],this.isRounded, -b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(m,mxActor);m.prototype.size=.5;m.prototype.redrawPath=function(a,d,b,c,f){a.setFillColor(null);d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f/2),new mxPoint(0,f/2),new mxPoint(d,f/2),new mxPoint(d,f),new mxPoint(c,f)],this.isRounded,b,!1);a.end()}; -mxCellRenderer.registerShape("curlyBracket",m);mxUtils.extend(t,mxActor);t.prototype.redrawPath=function(a,d,b,c,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);d=c/5;a.rect(0,0,d,f);a.fillAndStroke();a.rect(2*d,0,d,f);a.fillAndStroke();a.rect(4*d,0,d,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",t);h.prototype.moveTo=function(a,d){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;this.firstX=a;this.firstY=d};h.prototype.close=function(){null!=this.firstX&& -null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};h.prototype.quadTo=function(a,d,b,c){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=c};h.prototype.curveTo=function(a,d,b,c,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,d,b,c,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY= -g};h.prototype.lineTo=function(a,d){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},c=Math.abs(a-this.lastX),f=Math.abs(d-this.lastY),e=Math.sqrt(c*c+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d;return}var g=Math.round(e/10),la=this.defaultVariation;5>g&&(g=5,la/=3);for(var h=b(a-this.lastX)*c/g,b=b(d-this.lastY)*f/g,c=c/e,f=f/e,e=0;e<g;e++){var q=(Math.random()-.5)*la;this.originalLineTo.call(this.canvas, -h*e+this.lastX-q*f,b*e+this.lastY-q*c)}this.originalLineTo.call(this.canvas,a,d)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=d};h.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= +this.changeHandler=null)}}();(function(){function a(){mxCylinder.call(this)}function b(){mxActor.call(this)}function e(){mxCylinder.call(this)}function d(){mxCylinder.call(this)}function k(){mxCylinder.call(this)}function m(){mxActor.call(this)}function p(){mxCylinder.call(this)}function r(){mxActor.call(this)}function v(){mxActor.call(this)}function c(){mxActor.call(this)}function f(){mxActor.call(this)}function g(){mxActor.call(this)}function u(){mxActor.call(this)}function t(){mxActor.call(this)}function h(a,c){this.canvas= +a;this.canvas.setLineJoin("round");this.canvas.setLineCap("round");this.defaultVariation=c;this.originalLineTo=this.canvas.lineTo;this.canvas.lineTo=mxUtils.bind(this,h.prototype.lineTo);this.originalMoveTo=this.canvas.moveTo;this.canvas.moveTo=mxUtils.bind(this,h.prototype.moveTo);this.originalClose=this.canvas.close;this.canvas.close=mxUtils.bind(this,h.prototype.close);this.originalQuadTo=this.canvas.quadTo;this.canvas.quadTo=mxUtils.bind(this,h.prototype.quadTo);this.originalCurveTo=this.canvas.curveTo; +this.canvas.curveTo=mxUtils.bind(this,h.prototype.curveTo);this.originalArcTo=this.canvas.arcTo;this.canvas.arcTo=mxUtils.bind(this,h.prototype.arcTo)}function n(){mxRectangleShape.call(this)}function l(){mxRectangleShape.call(this)}function w(){mxActor.call(this)}function q(){mxActor.call(this)}function y(){mxActor.call(this)}function D(){mxRectangleShape.call(this)}function z(){mxRectangleShape.call(this)}function G(){mxCylinder.call(this)}function E(){mxShape.call(this)}function x(){mxShape.call(this)} +function J(){mxEllipse.call(this)}function H(){mxShape.call(this)}function B(){mxShape.call(this)}function N(){mxRectangleShape.call(this)}function C(){mxShape.call(this)}function I(){mxShape.call(this)}function R(){mxShape.call(this)}function Y(){mxCylinder.call(this)}function aa(){mxDoubleEllipse.call(this)}function Q(){mxDoubleEllipse.call(this)}function S(){mxArrowConnector.call(this);this.spacing=0}function K(){mxArrowConnector.call(this);this.spacing=0}function F(){mxActor.call(this)}function V(){mxRectangleShape.call(this)} +function L(){mxActor.call(this)}function O(){mxActor.call(this)}function X(){mxActor.call(this)}function A(){mxActor.call(this)}function W(){mxActor.call(this)}function P(){mxActor.call(this)}function da(){mxActor.call(this)}function T(){mxActor.call(this)}function Z(){mxActor.call(this)}function U(){mxActor.call(this)}function ma(){mxEllipse.call(this)}function na(){mxEllipse.call(this)}function ca(){mxEllipse.call(this)}function ia(){mxRhombus.call(this)}function qa(){mxEllipse.call(this)}function ea(){mxEllipse.call(this)} +function ra(){mxEllipse.call(this)}function fa(){mxEllipse.call(this)}function ja(){mxActor.call(this)}function ba(){mxActor.call(this)}function ka(){mxActor.call(this)}function ga(){mxConnector.call(this)}function Aa(a,c,b,d,f,e,g,l,h,q){g+=h;var pa=d.clone();d.x-=f*(2*g+h);d.y-=e*(2*g+h);f*=g+h;e*=g+h;return function(){a.ellipse(pa.x-f-g,pa.y-e-g,2*g,2*g);q?a.fillAndStroke():a.stroke()}}mxUtils.extend(a,mxCylinder);a.prototype.size=20;a.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d, +Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(c,f),a.lineTo(c,c),a.lineTo(0,0),a.moveTo(c,c),a.lineTo(d,c)):(a.moveTo(0,0),a.lineTo(d-c,0),a.lineTo(d,c),a.lineTo(d,f),a.lineTo(c,f),a.lineTo(0,f-c),a.lineTo(0,0),a.close());a.end()};a.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?(a=parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale,new mxRectangle(a,a,0,0)):null};mxCellRenderer.registerShape("cube", +a);var xa=Math.tan(mxUtils.toRadians(30)),oa=(.5-xa)/2;mxUtils.extend(b,mxActor);b.prototype.size=20;b.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/xa);a.translate((d-c)/2,(f-c)/2+c/4);a.moveTo(0,.25*c);a.lineTo(.5*c,c*oa);a.lineTo(c,.25*c);a.lineTo(.5*c,(.5-oa)*c);a.lineTo(0,.25*c);a.close();a.end()};mxCellRenderer.registerShape("isoRectangle",b);mxUtils.extend(e,mxCylinder);e.prototype.size=20;e.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.min(d,f/(.5+xa));e?(a.moveTo(0,.25*c),a.lineTo(.5* +c,(.5-oa)*c),a.lineTo(c,.25*c),a.moveTo(.5*c,(.5-oa)*c),a.lineTo(.5*c,(1-oa)*c)):(a.translate((d-c)/2,(f-c)/2),a.moveTo(0,.25*c),a.lineTo(.5*c,c*oa),a.lineTo(c,.25*c),a.lineTo(c,.75*c),a.lineTo(.5*c,(1-oa)*c),a.lineTo(0,.75*c),a.close());a.end()};mxCellRenderer.registerShape("isoCube",e);mxUtils.extend(d,mxCylinder);d.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.min(f/2,Math.round(f/8)+this.strokewidth-1);if(e&&null!=this.fill||!e&&null==this.fill)a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e|| +(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e||(a.stroke(),a.begin()),a.translate(0,c/2),a.moveTo(0,c),a.curveTo(0,2*c,d,2*c,d,c),e||(a.stroke(),a.begin()),a.translate(0,-c);e||(a.moveTo(0,c),a.curveTo(0,-c/3,d,-c/3,d,c),a.lineTo(d,f-c),a.curveTo(d,f+c/3,0,f+c/3,0,f-c),a.close())};d.prototype.getLabelMargins=function(a){return new mxRectangle(0,2.5*Math.min(a.height/2,Math.round(a.height/8)+this.strokewidth-1)*this.scale,0,0)};mxCellRenderer.registerShape("datastore", +d);mxUtils.extend(k,mxCylinder);k.prototype.size=30;k.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));e?(a.moveTo(d-c,0),a.lineTo(d-c,c),a.lineTo(d,c)):(a.moveTo(0,0),a.lineTo(d-c,0),a.lineTo(d,c),a.lineTo(d,f),a.lineTo(0,f),a.lineTo(0,0),a.close());a.end()};mxCellRenderer.registerShape("note",k);mxUtils.extend(m,mxActor);m.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d/2,.5*f,d,0);a.quadTo(.5* +d,f/2,d,f);a.quadTo(d/2,.5*f,0,f);a.quadTo(.5*d,f/2,0,0);a.end()};mxCellRenderer.registerShape("switch",m);mxUtils.extend(p,mxCylinder);p.prototype.tabWidth=60;p.prototype.tabHeight=20;p.prototype.tabPosition="right";p.prototype.redrawPath=function(a,c,b,d,f,e){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"tabWidth",this.tabWidth))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"tabHeight",this.tabHeight))));var g=mxUtils.getValue(this.style,"tabPosition",this.tabPosition); +e?"left"==g?(a.moveTo(0,b),a.lineTo(c,b)):(a.moveTo(d-c,b),a.lineTo(d,b)):("left"==g?(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,b),a.lineTo(d,b)):(a.moveTo(0,b),a.lineTo(d-c,b),a.lineTo(d-c,0),a.lineTo(d,0)),a.lineTo(d,f),a.lineTo(0,f),a.lineTo(0,b),a.close());a.end()};mxCellRenderer.registerShape("folder",p);mxUtils.extend(r,mxActor);r.prototype.size=30;r.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))));b=mxUtils.getValue(this.style, +mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d,f),new mxPoint(0,f),new mxPoint(0,c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("card",r);mxUtils.extend(v,mxActor);v.prototype.size=.4;v.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,c/2);a.quadTo(d/4,1.4*c,d/2,c/2);a.quadTo(3*d/4,c*(1-1.4),d,c/2);a.lineTo(d,f-c/2);a.quadTo(3* +d/4,f-1.4*c,d/2,f-c/2);a.quadTo(d/4,f-c*(1-1.4),0,f-c/2);a.lineTo(0,c/2);a.close();a.end()};v.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.style,"boundedLbl",!1)){var c=mxUtils.getValue(this.style,"size",this.size),b=a.width,d=a.height;if(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)return c*=d,new mxRectangle(a.x,a.y+c,b,d-2*c);c*=b;return new mxRectangle(a.x+c,a.y,b-2*c,d)}return a};mxCellRenderer.registerShape("tape", +v);mxUtils.extend(c,mxActor);c.prototype.size=.3;c.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*a.height):null};c.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));a.moveTo(0,0);a.lineTo(d,0);a.lineTo(d,f-c/2);a.quadTo(3*d/4,f-1.4*c,d/2,f-c/2);a.quadTo(d/4,f-c*(1-1.4),0,f-c/2);a.lineTo(0,c/2);a.close(); +a.end()};mxCellRenderer.registerShape("document",c);mxCylinder.prototype.getLabelMargins=function(a){return mxUtils.getValue(this.style,"boundedLbl",!1)?new mxRectangle(0,Math.min(this.maxHeight*this.scale,.3*a.height),0,0):null};mxUtils.extend(f,mxActor);f.prototype.size=.2;f.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a, +[new mxPoint(0,f),new mxPoint(c,0),new mxPoint(d,0),new mxPoint(d-c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("parallelogram",f);mxUtils.extend(g,mxActor);g.prototype.size=.2;g.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,f)],this.isRounded, +b,!0)};mxCellRenderer.registerShape("trapezoid",g);mxUtils.extend(u,mxActor);u.prototype.size=.5;u.prototype.redrawPath=function(a,c,b,d,f){a.setFillColor(null);c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c,0),new mxPoint(c,f/2),new mxPoint(0,f/2),new mxPoint(c,f/2),new mxPoint(c,f),new mxPoint(d,f)],this.isRounded,b,!1);a.end()}; +mxCellRenderer.registerShape("curlyBracket",u);mxUtils.extend(t,mxActor);t.prototype.redrawPath=function(a,c,b,d,f){a.setStrokeWidth(1);a.setFillColor(this.stroke);c=d/5;a.rect(0,0,c,f);a.fillAndStroke();a.rect(2*c,0,c,f);a.fillAndStroke();a.rect(4*c,0,c,f);a.fillAndStroke()};mxCellRenderer.registerShape("parallelMarker",t);h.prototype.moveTo=function(a,c){this.originalMoveTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;this.firstX=a;this.firstY=c};h.prototype.close=function(){null!=this.firstX&& +null!=this.firstY&&(this.lineTo(this.firstX,this.firstY),this.originalClose.apply(this.canvas,arguments));this.originalClose.apply(this.canvas,arguments)};h.prototype.quadTo=function(a,c,b,d){this.originalQuadTo.apply(this.canvas,arguments);this.lastX=b;this.lastY=d};h.prototype.curveTo=function(a,c,b,d,f,e){this.originalCurveTo.apply(this.canvas,arguments);this.lastX=f;this.lastY=e};h.prototype.arcTo=function(a,c,b,d,f,e,g){this.originalArcTo.apply(this.canvas,arguments);this.lastX=e;this.lastY= +g};h.prototype.lineTo=function(a,c){if(null!=this.lastX&&null!=this.lastY){var b=function(a){return"number"===typeof a?a?0>a?-1:1:a===a?0:NaN:NaN},d=Math.abs(a-this.lastX),f=Math.abs(c-this.lastY),e=Math.sqrt(d*d+f*f);if(2>e){this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c;return}var g=Math.round(e/10),l=this.defaultVariation;5>g&&(g=5,l/=3);for(var pa=b(a-this.lastX)*d/g,b=b(c-this.lastY)*f/g,d=d/e,f=f/e,e=0;e<g;e++){var h=(Math.random()-.5)*l;this.originalLineTo.call(this.canvas, +pa*e+this.lastX-h*f,b*e+this.lastY-h*d)}this.originalLineTo.call(this.canvas,a,c)}else this.originalLineTo.apply(this.canvas,arguments);this.lastX=a;this.lastY=c};h.prototype.destroy=function(){this.canvas.lineTo=this.originalLineTo;this.canvas.moveTo=this.originalMoveTo;this.canvas.close=this.originalClose;this.canvas.quadTo=this.originalQuadTo;this.canvas.curveTo=this.originalCurveTo;this.canvas.arcTo=this.originalArcTo};var Ba=mxShape.prototype.paint;mxShape.prototype.defaultJiggle=1.5;mxShape.prototype.paint= function(a){null!=this.style&&"0"!=mxUtils.getValue(this.style,"comic","0")&&null==a.handHiggle&&(a.handJiggle=new h(a,mxUtils.getValue(this.style,"jiggle",this.defaultJiggle)));Ba.apply(this,arguments);null!=a.handJiggle&&(a.handJiggle.destroy(),delete a.handJiggle)};mxRhombus.prototype.defaultJiggle=2;var Fa=mxRectangleShape.prototype.isHtmlAllowed;mxRectangleShape.prototype.isHtmlAllowed=function(){return(null==this.style||"0"==mxUtils.getValue(this.style,"comic","0"))&&Fa.apply(this,arguments)}; -var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,d,b,c,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, -0)?e=Math.min(c/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(c*e,f*e)),a.moveTo(d+e,b),a.lineTo(d+c-e,b),a.quadTo(d+c,b,d+c,b+e),a.lineTo(d+c,b+f-e),a.quadTo(d+c,b+f,d+c-e,b+f),a.lineTo(d+e,b+f),a.quadTo(d,b+f,d,b+f-e),a.lineTo(d,b+e),a.quadTo(d,b,d+e,b)):(a.moveTo(d,b),a.lineTo(d+c,b),a.lineTo(d+c,b+f),a.lineTo(d,b+f),a.lineTo(d, -b)),a.close(),a.end(),a.fillAndStroke()}};var Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,d,b,c,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var d= -a.width,b=a.height;a=new mxRectangle(a.x,a.y,d,b);var c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,c=Math.max(c,Math.min(d*f,b*f));a.x+=Math.round(c);a.width-=Math.round(2*c)}return a};n.prototype.paintForeground=function(a,d,b,c,f){var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= -mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));e=Math.round(e);a.begin();a.moveTo(d+e,b);a.lineTo(d+e,b+f);a.moveTo(d+c-e,b);a.lineTo(d+c-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(q,mxRectangleShape);q.prototype.paintBackground=function(a,d,b,c,f){a.setFillColor(mxConstants.NONE);a.rect(d,b,c,f);a.fill()};q.prototype.paintForeground= -function(a,d,b,c,f){};mxCellRenderer.registerShape("transparent",q);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,d,b,c,f){d=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, -"size",this.size))));var e=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),h=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-b),new mxPoint(Math.min(c,e+h),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,d,!0,[4])};mxCellRenderer.registerShape("callout", -w);mxUtils.extend(u,mxActor);u.prototype.size=.2;u.prototype.fixedSize=20;u.prototype.redrawPath=function(a,d,b,c,f){d="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c- -d,f),new mxPoint(0,f),new mxPoint(d,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",u);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.5*f),new mxPoint(c-d,f),new mxPoint(d,f),new mxPoint(0,.5*f)], -this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(E,mxRectangleShape);E.prototype.isHtmlAllowed=function(){return!1};E.prototype.paintForeground=function(a,d,b,c,f){var e=Math.min(c/5,f/5)+1;a.begin();a.moveTo(d+c/2,b+e);a.lineTo(d+c/2,b+f-e);a.moveTo(d+e,b+f/2);a.lineTo(d+c-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",E);var Ca=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= -function(a){if(1==this.style["double"]){var d=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};mxRhombus.prototype.paintVertexShape=function(a,d,b,c,f){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&(a.setShadow(!1),Ca.apply(this,[a,d, -b,c,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var d=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+d,a.y+d,a.width-2*d,a.height-2*d)}return a};z.prototype.paintForeground=function(a,d,b,c,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| -0);d+=e;b+=e;c-=2*e;f-=2*e;0<c&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var h=this.style["symbol"+e+"Align"],la=this.style["symbol"+e+"VerticalAlign"],q=this.style["symbol"+e+"Width"],m=this.style["symbol"+e+"Height"],n=this.style["symbol"+e+"Spacing"]||0,u=this.style["symbol"+e+"VSpacing"]||n,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(c+this.strokewidth, -f+this.strokewidth),n+=t,u+=t);var t=d,w=b,t=h==mxConstants.ALIGN_CENTER?t+(c-q)/2:h==mxConstants.ALIGN_RIGHT?t+(c-q-n):t+n,w=la==mxConstants.ALIGN_MIDDLE?w+(f-m)/2:la==mxConstants.ALIGN_BOTTOM?w+(f-m-u):w+u;a.save();h=new g;h.style=this.style;g.prototype.paintVertexShape.call(h,a,t,w,q,m);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,d,b,c,f,e){e? -(a.moveTo(0,0),a.lineTo(c/2,f/2),a.lineTo(c,0),a.end()):(a.moveTo(0,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(C,mxShape);C.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.ellipse(c/4,0,c/2,f/4);a.fillAndStroke();a.begin();a.moveTo(c/2,f/4);a.lineTo(c/2,2*f/3);a.moveTo(c/2,f/3);a.lineTo(0,f/3);a.moveTo(c/2,f/3);a.lineTo(c,f/3);a.moveTo(c/2,2*f/3);a.lineTo(0,f);a.moveTo(c/2,2*f/3);a.lineTo(c,f);a.end();a.stroke()}; -mxCellRenderer.registerShape("umlActor",C);mxUtils.extend(x,mxShape);x.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};x.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(c/6,f/2);a.end();a.stroke();a.ellipse(c/6,0,5*c/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",x);mxUtils.extend(H,mxEllipse);H.prototype.paintVertexShape=function(a,d, -b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/8,b+f);a.lineTo(d+7*c/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",H);mxUtils.extend(I,mxShape);I.prototype.paintVertexShape=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(c,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(c,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",I);mxUtils.extend(A,mxShape);A.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ -a.height/8,a.width,7*a.height/8)};A.prototype.paintBackground=function(a,d,b,c,f){a.translate(d,b);a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,0);a.end();a.stroke();a.ellipse(0,f/8,c,7*f/8);a.fillAndStroke()};A.prototype.paintForeground=function(a,d,b,c,f){a.begin();a.moveTo(3*c/8,f/8*1.1);a.lineTo(5*c/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",A);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.prototype.getLabelBounds= -function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,d)};N.prototype.paintBackground=function(a,d,b,c,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,d,b,c,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g, -g.apply(this.state),a.save(),g.paintVertexShape(a,d,b,c,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(d+c/2,b+e),a.lineTo(d+c/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,d,b,c,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,d,b,c,Math.min(f,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(D,mxShape);D.prototype.width=60;D.prototype.height=30;D.prototype.corner= -10;D.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};D.prototype.paintBackground=function(a,d,b,c,f){var e=this.corner,g=Math.min(c,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),h=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),q=mxUtils.getValue(this.style, -mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);q!=mxConstants.NONE&&(a.setFillColor(q),a.rect(d,b,c,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,d,b,c,f),a.setGradient(this.fill,this.gradient,d,b,c,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(d,b);a.lineTo(d+g,b);a.lineTo(d+g,b+Math.max(0,h-1.5*e));a.lineTo(d+Math.max(0,g-e),b+h);a.lineTo(d,b+h);a.close();a.fillAndStroke();a.begin(); -a.moveTo(d+g,b);a.lineTo(d+c,b);a.lineTo(d+c,b+f);a.lineTo(d,b+f);a.lineTo(d,b+h);a.stroke()};mxCellRenderer.registerShape("umlFrame",D);mxPerimeter.LifelinePerimeter=function(a,d,b,c){c=N.prototype.size;null!=d&&(c=mxUtils.getValue(d.style,"size",c)*d.view.scale);d=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;b.x<a.getCenterX()&&(d=-1*(d+1));return new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y+c,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); -mxPerimeter.OrthogonalPerimeter=function(a,d,b,c){c=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,d,b,c){c=parseFloat(d.style[mxConstants.STYLE_STROKEWIDTH]||1)*d.view.scale/2-1;null!=d.style.backboneSize&&(c+=parseFloat(d.style.backboneSize)*d.view.scale/2-1);if("south"==d.style[mxConstants.STYLE_DIRECTION]||"north"==d.style[mxConstants.STYLE_DIRECTION])return b.x< -a.getCenterX()&&(c=-1*(c+1)),new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(c=-1*(c+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),a.getCenterY()+c)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,d,b,c){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(d.style,"size",w.prototype.size))* -d.view.scale))),d.style),d,b,c)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,d,b,c){var e=f.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,q=a.width,m=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(e=m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+ -q,h+e),new mxPoint(g+q,h+m),new mxPoint(g,h+m-e),new mxPoint(g,h)]):(e=q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+e,h),new mxPoint(g+q,h),new mxPoint(g+q-e,h+m),new mxPoint(g,h+m),new mxPoint(g+e,h)]);m=a.getCenterX();a=a.getCenterY();a=new mxPoint(m,a);c&&(b.x<g||b.x>g+q?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,d,b,c){var f=g.prototype.size;null!=d&&(f= -mxUtils.getValue(d.style,"size",f));var e=a.x,h=a.y,q=a.width,m=a.height;d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=q*Math.max(0,Math.min(1,f)),h=[new mxPoint(e+f,h),new mxPoint(e+q-f,h),new mxPoint(e+q,h+m),new mxPoint(e,h+m),new mxPoint(e+f,h)]):d==mxConstants.DIRECTION_WEST?(f=q*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+q,h),new mxPoint(e+q-f,h+m),new mxPoint(e+f,h+m),new mxPoint(e, -h)]):d==mxConstants.DIRECTION_NORTH?(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h+f),new mxPoint(e+q,h),new mxPoint(e+q,h+m),new mxPoint(e,h+m-f),new mxPoint(e,h+f)]):(f=m*Math.max(0,Math.min(1,f)),h=[new mxPoint(e,h),new mxPoint(e+q,h+f),new mxPoint(e+q,h+m-f),new mxPoint(e,h+m),new mxPoint(e,h)]);m=a.getCenterX();a=a.getCenterY();a=new mxPoint(m,a);c&&(b.x<e||b.x>e+q?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(h,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); -mxPerimeter.StepPerimeter=function(a,d,b,c){var f="0"!=mxUtils.getValue(d.style,"fixedSize","0"),e=f?u.prototype.fixedSize:u.prototype.size;null!=d&&(e=mxUtils.getValue(d.style,"size",e));var g=a.x,h=a.y,q=a.width,m=a.height,n=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(q,e)):q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(g+q- -f,h),new mxPoint(g+q,a),new mxPoint(g+q-f,h+m),new mxPoint(g,h+m),new mxPoint(g+f,a),new mxPoint(g,h)]):d==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(q,e)):q*Math.max(0,Math.min(1,e)),h=[new mxPoint(g+f,h),new mxPoint(g+q,h),new mxPoint(g+q-f,a),new mxPoint(g+q,h+m),new mxPoint(g+f,h+m),new mxPoint(g,a),new mxPoint(g+f,h)]):d==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h+f),new mxPoint(n,h),new mxPoint(g+q,h+f),new mxPoint(g+q, -h+m),new mxPoint(n,h+m-f),new mxPoint(g,h+m),new mxPoint(g,h+f)]):(f=f?Math.max(0,Math.min(m,e)):m*Math.max(0,Math.min(1,e)),h=[new mxPoint(g,h),new mxPoint(n,h+f),new mxPoint(g+q,h),new mxPoint(g+q,h+m-f),new mxPoint(n,h+m),new mxPoint(g,h+m-f),new mxPoint(g,h)]);n=new mxPoint(n,a);c&&(b.x<g||b.x>g+q?n.y=b.y:n.x=b.x);return mxUtils.getPerimeterPoint(h,n,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,d,b,c){var f=y.prototype.size;null!= -d&&(f=mxUtils.getValue(d.style,"size",f));var e=a.x,g=a.y,h=a.width,q=a.height,m=a.getCenterX();a=a.getCenterY();d=null!=d?mxUtils.getValue(d.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;d==mxConstants.DIRECTION_NORTH||d==mxConstants.DIRECTION_SOUTH?(f=q*Math.max(0,Math.min(1,f)),g=[new mxPoint(m,g),new mxPoint(e+h,g+f),new mxPoint(e+h,g+q-f),new mxPoint(m,g+q),new mxPoint(e,g+q-f),new mxPoint(e,g+f),new mxPoint(m,g)]):(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+ -f,g),new mxPoint(e+h-f,g),new mxPoint(e+h,a),new mxPoint(e+h-f,g+q),new mxPoint(e+f,g+q),new mxPoint(e,a),new mxPoint(e+f,g)]);m=new mxPoint(m,a);c&&(b.x<e||b.x>e+h?m.y=b.y:m.x=b.x);return mxUtils.getPerimeterPoint(g,m,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(J,mxShape);J.prototype.size=10;J.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(d,b);a.ellipse((c-e)/2,0,e,e);a.fillAndStroke(); -a.begin();a.moveTo(c/2,e);a.lineTo(c/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",J);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,d,b,c,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(d,b);a.begin();a.moveTo(c/2,e+g);a.lineTo(c/2,f);a.end();a.stroke();a.begin();a.moveTo((c-e)/2-g,e/2);a.quadTo((c-e)/2-g,e+g,c/ -2,e+g);a.quadTo((c+e)/2+g,e+g,(c+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,d,b,c,f,e){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));d=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,h=.3*f-d/2,q=.7*f-d/2;e?(a.moveTo(b,h),a.lineTo(g,h),a.lineTo(g,h+d),a.lineTo(b,h+d),a.moveTo(b,q), -a.lineTo(g,q),a.lineTo(g,q+d),a.lineTo(b,q+d)):(a.moveTo(b,0),a.lineTo(c,0),a.lineTo(c,f),a.lineTo(b,f),a.lineTo(b,q+d),a.lineTo(0,q+d),a.lineTo(0,q),a.lineTo(b,q),a.lineTo(b,h+d),a.lineTo(0,h+d),a.lineTo(0,h),a.lineTo(b,h),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,d,b,c,f){var e=Math.min(4,Math.min(c/5,f/5));0<c&&0<f&&(a.ellipse(d+e,b+e,c-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1); -this.outerStroke&&(a.ellipse(d,b,c,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", +var Ga=mxRectangleShape.prototype.paintBackground;mxRectangleShape.prototype.paintBackground=function(a,c,b,d,f){if(null==a.handJiggle)Ga.apply(this,arguments);else{var e=!0;null!=this.style&&(e="1"==mxUtils.getValue(this.style,mxConstants.STYLE_POINTER_EVENTS,"1"));if(e||null!=this.fill&&this.fill!=mxConstants.NONE||null!=this.stroke&&this.stroke!=mxConstants.NONE)e||null!=this.fill&&this.fill!=mxConstants.NONE||(a.pointerEvents=!1),a.begin(),this.isRounded?("1"==mxUtils.getValue(this.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE, +0)?e=Math.min(d/2,Math.min(f/2,mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2)):(e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.min(d*e,f*e)),a.moveTo(c+e,b),a.lineTo(c+d-e,b),a.quadTo(c+d,b,c+d,b+e),a.lineTo(c+d,b+f-e),a.quadTo(c+d,b+f,c+d-e,b+f),a.lineTo(c+e,b+f),a.quadTo(c,b+f,c,b+f-e),a.lineTo(c,b+e),a.quadTo(c,b,c+e,b)):(a.moveTo(c,b),a.lineTo(c+d,b),a.lineTo(c+d,b+f),a.lineTo(c,b+f),a.lineTo(c, +b)),a.close(),a.end(),a.fillAndStroke()}};var Ha=mxRectangleShape.prototype.paintForeground;mxRectangleShape.prototype.paintForeground=function(a,c,b,d,f){null==a.handJiggle&&Ha.apply(this,arguments)};mxUtils.extend(n,mxRectangleShape);n.prototype.size=.1;n.prototype.isHtmlAllowed=function(){return!1};n.prototype.getLabelBounds=function(a){if(mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,!0)==(null==this.direction||this.direction==mxConstants.DIRECTION_EAST||this.direction==mxConstants.DIRECTION_WEST)){var c= +a.width,b=a.height;a=new mxRectangle(a.x,a.y,c,b);var d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var f=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,d=Math.max(d,Math.min(c*f,b*f));a.x+=Math.round(d);a.width-=Math.round(2*d)}return a};n.prototype.paintForeground=function(a,c,b,d,f){var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));if(this.isRounded)var g= +mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(d*g,f*g));e=Math.round(e);a.begin();a.moveTo(c+e,b);a.lineTo(c+e,b+f);a.moveTo(c+d-e,b);a.lineTo(c+d-e,b+f);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("process",n);mxUtils.extend(l,mxRectangleShape);l.prototype.paintBackground=function(a,c,b,d,f){a.setFillColor(mxConstants.NONE);a.rect(c,b,d,f);a.fill()};l.prototype.paintForeground= +function(a,c,b,d,f){};mxCellRenderer.registerShape("transparent",l);mxUtils.extend(w,mxHexagon);w.prototype.size=30;w.prototype.position=.5;w.prototype.position2=.5;w.prototype.base=20;w.prototype.getLabelMargins=function(){return new mxRectangle(0,0,0,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale)};w.prototype.redrawPath=function(a,c,b,d,f){c=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style, +"size",this.size))));var e=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position",this.position)))),g=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"position2",this.position2)))),l=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"base",this.base))));this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,f-b),new mxPoint(Math.min(d,e+l),f-b),new mxPoint(g,f),new mxPoint(Math.max(0,e),f-b),new mxPoint(0,f-b)],this.isRounded,c,!0,[4])};mxCellRenderer.registerShape("callout", +w);mxUtils.extend(q,mxActor);q.prototype.size=.2;q.prototype.fixedSize=20;q.prototype.redrawPath=function(a,c,b,d,f){c="0"!=mxUtils.getValue(this.style,"fixedSize","0")?Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"size",this.fixedSize)))):d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d- +c,f),new mxPoint(0,f),new mxPoint(c,f/2)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("step",q);mxUtils.extend(y,mxHexagon);y.prototype.size=.25;y.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,.5*f),new mxPoint(d-c,f),new mxPoint(c,f),new mxPoint(0,.5*f)], +this.isRounded,b,!0)};mxCellRenderer.registerShape("hexagon",y);mxUtils.extend(D,mxRectangleShape);D.prototype.isHtmlAllowed=function(){return!1};D.prototype.paintForeground=function(a,c,b,d,f){var e=Math.min(d/5,f/5)+1;a.begin();a.moveTo(c+d/2,b+e);a.lineTo(c+d/2,b+f-e);a.moveTo(c+e,b+f/2);a.lineTo(c+d-e,b+f/2);a.end();a.stroke();mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("plus",D);var Ca=mxRhombus.prototype.paintVertexShape;mxRhombus.prototype.getLabelBounds= +function(a){if(1==this.style["double"]){var c=(2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};mxRhombus.prototype.paintVertexShape=function(a,c,b,d,f){Ca.apply(this,arguments);if(!this.outline&&1==this.style["double"]){var e=2*Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0);c+=e;b+=e;d-=2*e;f-=2*e;0<d&&0<f&&(a.setShadow(!1),Ca.apply(this,[a,c, +b,d,f]))}};mxUtils.extend(z,mxRectangleShape);z.prototype.isHtmlAllowed=function(){return!1};z.prototype.getLabelBounds=function(a){if(1==this.style["double"]){var c=(Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]||0))*this.scale;return new mxRectangle(a.x+c,a.y+c,a.width-2*c,a.height-2*c)}return a};z.prototype.paintForeground=function(a,c,b,d,f){if(null!=this.style){if(!this.outline&&1==this.style["double"]){var e=Math.max(2,this.strokewidth+1)+parseFloat(this.style[mxConstants.STYLE_MARGIN]|| +0);c+=e;b+=e;d-=2*e;f-=2*e;0<d&&0<f&&mxRectangleShape.prototype.paintBackground.apply(this,arguments)}a.setDashed(!1);var e=0,g;do{g=mxCellRenderer.defaultShapes[this.style["symbol"+e]];if(null!=g){var l=this.style["symbol"+e+"Align"],pa=this.style["symbol"+e+"VerticalAlign"],h=this.style["symbol"+e+"Width"],q=this.style["symbol"+e+"Height"],n=this.style["symbol"+e+"Spacing"]||0,u=this.style["symbol"+e+"VSpacing"]||n,t=this.style["symbol"+e+"ArcSpacing"];null!=t&&(t*=this.getArcSize(d+this.strokewidth, +f+this.strokewidth),n+=t,u+=t);var t=c,w=b,t=l==mxConstants.ALIGN_CENTER?t+(d-h)/2:l==mxConstants.ALIGN_RIGHT?t+(d-h-n):t+n,w=pa==mxConstants.ALIGN_MIDDLE?w+(f-q)/2:pa==mxConstants.ALIGN_BOTTOM?w+(f-q-u):w+u;a.save();l=new g;l.style=this.style;g.prototype.paintVertexShape.call(l,a,t,w,h,q);a.restore()}e++}while(null!=g)}mxRectangleShape.prototype.paintForeground.apply(this,arguments)};mxCellRenderer.registerShape("ext",z);mxUtils.extend(G,mxCylinder);G.prototype.redrawPath=function(a,c,b,d,f,e){e? +(a.moveTo(0,0),a.lineTo(d/2,f/2),a.lineTo(d,0),a.end()):(a.moveTo(0,0),a.lineTo(d,0),a.lineTo(d,f),a.lineTo(0,f),a.close())};mxCellRenderer.registerShape("message",G);mxUtils.extend(E,mxShape);E.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.ellipse(d/4,0,d/2,f/4);a.fillAndStroke();a.begin();a.moveTo(d/2,f/4);a.lineTo(d/2,2*f/3);a.moveTo(d/2,f/3);a.lineTo(0,f/3);a.moveTo(d/2,f/3);a.lineTo(d,f/3);a.moveTo(d/2,2*f/3);a.lineTo(0,f);a.moveTo(d/2,2*f/3);a.lineTo(d,f);a.end();a.stroke()}; +mxCellRenderer.registerShape("umlActor",E);mxUtils.extend(x,mxShape);x.prototype.getLabelMargins=function(a){return new mxRectangle(a.width/6,0,0,0)};x.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(0,f/4);a.lineTo(0,3*f/4);a.end();a.stroke();a.begin();a.moveTo(0,f/2);a.lineTo(d/6,f/2);a.end();a.stroke();a.ellipse(d/6,0,5*d/6,f);a.fillAndStroke()};mxCellRenderer.registerShape("umlBoundary",x);mxUtils.extend(J,mxEllipse);J.prototype.paintVertexShape=function(a,c, +b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+d/8,b+f);a.lineTo(c+7*d/8,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("umlEntity",J);mxUtils.extend(H,mxShape);H.prototype.paintVertexShape=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(d,0);a.lineTo(0,f);a.moveTo(0,0);a.lineTo(d,f);a.end();a.stroke()};mxCellRenderer.registerShape("umlDestroy",H);mxUtils.extend(B,mxShape);B.prototype.getLabelBounds=function(a){return new mxRectangle(a.x,a.y+ +a.height/8,a.width,7*a.height/8)};B.prototype.paintBackground=function(a,c,b,d,f){a.translate(c,b);a.begin();a.moveTo(3*d/8,f/8*1.1);a.lineTo(5*d/8,0);a.end();a.stroke();a.ellipse(0,f/8,d,7*f/8);a.fillAndStroke()};B.prototype.paintForeground=function(a,c,b,d,f){a.begin();a.moveTo(3*d/8,f/8*1.1);a.lineTo(5*d/8,f/4);a.end();a.stroke()};mxCellRenderer.registerShape("umlControl",B);mxUtils.extend(N,mxRectangleShape);N.prototype.size=40;N.prototype.isHtmlAllowed=function(){return!1};N.prototype.getLabelBounds= +function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.style,"size",this.size))*this.scale));return new mxRectangle(a.x,a.y,a.width,c)};N.prototype.paintBackground=function(a,c,b,d,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)))),g=mxUtils.getValue(this.style,"participant");null==g||null==this.state?mxRectangleShape.prototype.paintBackground.call(this,a,c,b,d,e):(g=this.state.view.graph.cellRenderer.getShape(g),null!=g&&g!=N&&(g=new g, +g.apply(this.state),a.save(),g.paintVertexShape(a,c,b,d,e),a.restore()));e<f&&(a.setDashed(!0),a.begin(),a.moveTo(c+d/2,b+e),a.lineTo(c+d/2,b+f),a.end(),a.stroke())};N.prototype.paintForeground=function(a,c,b,d,f){var e=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));mxRectangleShape.prototype.paintForeground.call(this,a,c,b,d,Math.min(f,e))};mxCellRenderer.registerShape("umlLifeline",N);mxUtils.extend(C,mxShape);C.prototype.width=60;C.prototype.height=30;C.prototype.corner= +10;C.prototype.getLabelMargins=function(a){return new mxRectangle(0,0,a.width-parseFloat(mxUtils.getValue(this.style,"width",this.width)*this.scale),a.height-parseFloat(mxUtils.getValue(this.style,"height",this.height)*this.scale))};C.prototype.paintBackground=function(a,c,b,d,f){var e=this.corner,g=Math.min(d,Math.max(e,parseFloat(mxUtils.getValue(this.style,"width",this.width)))),l=Math.min(f,Math.max(1.5*e,parseFloat(mxUtils.getValue(this.style,"height",this.height)))),h=mxUtils.getValue(this.style, +mxConstants.STYLE_SWIMLANE_FILLCOLOR,mxConstants.NONE);h!=mxConstants.NONE&&(a.setFillColor(h),a.rect(c,b,d,f),a.fill());null!=this.fill&&this.fill!=mxConstants.NONE&&this.gradient&&this.gradient!=mxConstants.NONE?(this.getGradientBounds(a,c,b,d,f),a.setGradient(this.fill,this.gradient,c,b,d,f,this.gradientDirection)):a.setFillColor(this.fill);a.begin();a.moveTo(c,b);a.lineTo(c+g,b);a.lineTo(c+g,b+Math.max(0,l-1.5*e));a.lineTo(c+Math.max(0,g-e),b+l);a.lineTo(c,b+l);a.close();a.fillAndStroke();a.begin(); +a.moveTo(c+g,b);a.lineTo(c+d,b);a.lineTo(c+d,b+f);a.lineTo(c,b+f);a.lineTo(c,b+l);a.stroke()};mxCellRenderer.registerShape("umlFrame",C);mxPerimeter.LifelinePerimeter=function(a,c,b,d){d=N.prototype.size;null!=c&&(d=mxUtils.getValue(c.style,"size",d)*c.view.scale);c=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;b.x<a.getCenterX()&&(c=-1*(c+1));return new mxPoint(a.getCenterX()+c,Math.min(a.y+a.height,Math.max(a.y+d,b.y)))};mxStyleRegistry.putValue("lifelinePerimeter",mxPerimeter.LifelinePerimeter); +mxPerimeter.OrthogonalPerimeter=function(a,c,b,d){d=!0;return mxPerimeter.RectanglePerimeter.apply(this,arguments)};mxStyleRegistry.putValue("orthogonalPerimeter",mxPerimeter.OrthogonalPerimeter);mxPerimeter.BackbonePerimeter=function(a,c,b,d){d=parseFloat(c.style[mxConstants.STYLE_STROKEWIDTH]||1)*c.view.scale/2-1;null!=c.style.backboneSize&&(d+=parseFloat(c.style.backboneSize)*c.view.scale/2-1);if("south"==c.style[mxConstants.STYLE_DIRECTION]||"north"==c.style[mxConstants.STYLE_DIRECTION])return b.x< +a.getCenterX()&&(d=-1*(d+1)),new mxPoint(a.getCenterX()+d,Math.min(a.y+a.height,Math.max(a.y,b.y)));b.y<a.getCenterY()&&(d=-1*(d+1));return new mxPoint(Math.min(a.x+a.width,Math.max(a.x,b.x)),a.getCenterY()+d)};mxStyleRegistry.putValue("backbonePerimeter",mxPerimeter.BackbonePerimeter);mxPerimeter.CalloutPerimeter=function(a,c,b,d){return mxPerimeter.RectanglePerimeter(mxUtils.getDirectedBounds(a,new mxRectangle(0,0,0,Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(c.style,"size",w.prototype.size))* +c.view.scale))),c.style),c,b,d)};mxStyleRegistry.putValue("calloutPerimeter",mxPerimeter.CalloutPerimeter);mxPerimeter.ParallelogramPerimeter=function(a,c,b,d){var e=f.prototype.size;null!=c&&(e=mxUtils.getValue(c.style,"size",e));var g=a.x,l=a.y,h=a.width,q=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(e=q*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+ +h,l+e),new mxPoint(g+h,l+q),new mxPoint(g,l+q-e),new mxPoint(g,l)]):(e=h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+e,l),new mxPoint(g+h,l),new mxPoint(g+h-e,l+q),new mxPoint(g,l+q),new mxPoint(g+e,l)]);q=a.getCenterX();a=a.getCenterY();a=new mxPoint(q,a);d&&(b.x<g||b.x>g+h?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(l,a,b)};mxStyleRegistry.putValue("parallelogramPerimeter",mxPerimeter.ParallelogramPerimeter);mxPerimeter.TrapezoidPerimeter=function(a,c,b,d){var f=g.prototype.size;null!=c&&(f= +mxUtils.getValue(c.style,"size",f));var e=a.x,l=a.y,h=a.width,q=a.height;c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(f=h*Math.max(0,Math.min(1,f)),l=[new mxPoint(e+f,l),new mxPoint(e+h-f,l),new mxPoint(e+h,l+q),new mxPoint(e,l+q),new mxPoint(e+f,l)]):c==mxConstants.DIRECTION_WEST?(f=h*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l),new mxPoint(e+h,l),new mxPoint(e+h-f,l+q),new mxPoint(e+f,l+q),new mxPoint(e, +l)]):c==mxConstants.DIRECTION_NORTH?(f=q*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l+f),new mxPoint(e+h,l),new mxPoint(e+h,l+q),new mxPoint(e,l+q-f),new mxPoint(e,l+f)]):(f=q*Math.max(0,Math.min(1,f)),l=[new mxPoint(e,l),new mxPoint(e+h,l+f),new mxPoint(e+h,l+q-f),new mxPoint(e,l+q),new mxPoint(e,l)]);q=a.getCenterX();a=a.getCenterY();a=new mxPoint(q,a);d&&(b.x<e||b.x>e+h?a.y=b.y:a.x=b.x);return mxUtils.getPerimeterPoint(l,a,b)};mxStyleRegistry.putValue("trapezoidPerimeter",mxPerimeter.TrapezoidPerimeter); +mxPerimeter.StepPerimeter=function(a,c,b,d){var f="0"!=mxUtils.getValue(c.style,"fixedSize","0"),e=f?q.prototype.fixedSize:q.prototype.size;null!=c&&(e=mxUtils.getValue(c.style,"size",e));var g=a.x,l=a.y,h=a.width,n=a.height,u=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_EAST?(f=f?Math.max(0,Math.min(h,e)):h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(g+h- +f,l),new mxPoint(g+h,a),new mxPoint(g+h-f,l+n),new mxPoint(g,l+n),new mxPoint(g+f,a),new mxPoint(g,l)]):c==mxConstants.DIRECTION_WEST?(f=f?Math.max(0,Math.min(h,e)):h*Math.max(0,Math.min(1,e)),l=[new mxPoint(g+f,l),new mxPoint(g+h,l),new mxPoint(g+h-f,a),new mxPoint(g+h,l+n),new mxPoint(g+f,l+n),new mxPoint(g,a),new mxPoint(g+f,l)]):c==mxConstants.DIRECTION_NORTH?(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l+f),new mxPoint(u,l),new mxPoint(g+h,l+f),new mxPoint(g+h, +l+n),new mxPoint(u,l+n-f),new mxPoint(g,l+n),new mxPoint(g,l+f)]):(f=f?Math.max(0,Math.min(n,e)):n*Math.max(0,Math.min(1,e)),l=[new mxPoint(g,l),new mxPoint(u,l+f),new mxPoint(g+h,l),new mxPoint(g+h,l+n-f),new mxPoint(u,l+n),new mxPoint(g,l+n-f),new mxPoint(g,l)]);u=new mxPoint(u,a);d&&(b.x<g||b.x>g+h?u.y=b.y:u.x=b.x);return mxUtils.getPerimeterPoint(l,u,b)};mxStyleRegistry.putValue("stepPerimeter",mxPerimeter.StepPerimeter);mxPerimeter.HexagonPerimeter2=function(a,c,b,d){var f=y.prototype.size;null!= +c&&(f=mxUtils.getValue(c.style,"size",f));var e=a.x,g=a.y,l=a.width,h=a.height,q=a.getCenterX();a=a.getCenterY();c=null!=c?mxUtils.getValue(c.style,mxConstants.STYLE_DIRECTION,mxConstants.DIRECTION_EAST):mxConstants.DIRECTION_EAST;c==mxConstants.DIRECTION_NORTH||c==mxConstants.DIRECTION_SOUTH?(f=h*Math.max(0,Math.min(1,f)),g=[new mxPoint(q,g),new mxPoint(e+l,g+f),new mxPoint(e+l,g+h-f),new mxPoint(q,g+h),new mxPoint(e,g+h-f),new mxPoint(e,g+f),new mxPoint(q,g)]):(f=l*Math.max(0,Math.min(1,f)),g=[new mxPoint(e+ +f,g),new mxPoint(e+l-f,g),new mxPoint(e+l,a),new mxPoint(e+l-f,g+h),new mxPoint(e+f,g+h),new mxPoint(e,a),new mxPoint(e+f,g)]);q=new mxPoint(q,a);d&&(b.x<e||b.x>e+l?q.y=b.y:q.x=b.x);return mxUtils.getPerimeterPoint(g,q,b)};mxStyleRegistry.putValue("hexagonPerimeter2",mxPerimeter.HexagonPerimeter2);mxUtils.extend(I,mxShape);I.prototype.size=10;I.prototype.paintBackground=function(a,c,b,d,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size));a.translate(c,b);a.ellipse((d-e)/2,0,e,e);a.fillAndStroke(); +a.begin();a.moveTo(d/2,e);a.lineTo(d/2,f);a.end();a.stroke()};mxCellRenderer.registerShape("lollipop",I);mxUtils.extend(R,mxShape);R.prototype.size=10;R.prototype.inset=2;R.prototype.paintBackground=function(a,c,b,d,f){var e=parseFloat(mxUtils.getValue(this.style,"size",this.size)),g=parseFloat(mxUtils.getValue(this.style,"inset",this.inset))+this.strokewidth;a.translate(c,b);a.begin();a.moveTo(d/2,e+g);a.lineTo(d/2,f);a.end();a.stroke();a.begin();a.moveTo((d-e)/2-g,e/2);a.quadTo((d-e)/2-g,e+g,d/ +2,e+g);a.quadTo((d+e)/2+g,e+g,(d+e)/2+g,e/2);a.end();a.stroke()};mxCellRenderer.registerShape("requires",R);mxUtils.extend(Y,mxCylinder);Y.prototype.jettyWidth=32;Y.prototype.jettyHeight=12;Y.prototype.redrawPath=function(a,c,b,d,f,e){var g=parseFloat(mxUtils.getValue(this.style,"jettyWidth",this.jettyWidth));c=parseFloat(mxUtils.getValue(this.style,"jettyHeight",this.jettyHeight));b=g/2;var g=b+g/2,l=.3*f-c/2,h=.7*f-c/2;e?(a.moveTo(b,l),a.lineTo(g,l),a.lineTo(g,l+c),a.lineTo(b,l+c),a.moveTo(b,h), +a.lineTo(g,h),a.lineTo(g,h+c),a.lineTo(b,h+c)):(a.moveTo(b,0),a.lineTo(d,0),a.lineTo(d,f),a.lineTo(b,f),a.lineTo(b,h+c),a.lineTo(0,h+c),a.lineTo(0,h),a.lineTo(b,h),a.lineTo(b,l+c),a.lineTo(0,l+c),a.lineTo(0,l),a.lineTo(b,l),a.close());a.end()};mxCellRenderer.registerShape("component",Y);mxUtils.extend(aa,mxDoubleEllipse);aa.prototype.outerStroke=!0;aa.prototype.paintVertexShape=function(a,c,b,d,f){var e=Math.min(4,Math.min(d/5,f/5));0<d&&0<f&&(a.ellipse(c+e,b+e,d-2*e,f-2*e),a.fillAndStroke());a.setShadow(!1); +this.outerStroke&&(a.ellipse(c,b,d,f),a.stroke())};mxCellRenderer.registerShape("endState",aa);mxUtils.extend(Q,aa);Q.prototype.outerStroke=!1;mxCellRenderer.registerShape("startState",Q);mxUtils.extend(S,mxArrowConnector);S.prototype.defaultWidth=4;S.prototype.isOpenEnded=function(){return!0};S.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};S.prototype.isArrowRounded=function(){return this.isRounded};mxCellRenderer.registerShape("link", S);mxUtils.extend(K,mxArrowConnector);K.prototype.defaultWidth=10;K.prototype.defaultArrowWidth=20;K.prototype.getStartArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"startWidth",this.defaultArrowWidth)};K.prototype.getEndArrowWidth=function(){return this.getEdgeWidth()+mxUtils.getNumber(this.style,"endWidth",this.defaultArrowWidth)};K.prototype.getEdgeWidth=function(){return mxUtils.getNumber(this.style,"width",this.defaultWidth)+Math.max(0,this.strokewidth-1)};mxCellRenderer.registerShape("flexArrow", -K);mxUtils.extend(F,mxActor);F.prototype.size=30;F.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,d),new mxPoint(c,0),new mxPoint(c,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",F);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed= -function(){return!1};V.prototype.paintForeground=function(a,d,b,c,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(c*g,f*g));g=Math.max(e,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(d,b+e);a.lineTo(d+c,b+e); -a.end();a.stroke();a.begin();a.moveTo(d+g,b);a.lineTo(d+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, -mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d,b),new mxPoint(d,f),new mxPoint(0,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(c,0);a.lineTo(c,f);a.end();a.moveTo(0,f/2);a.lineTo(c,f/2);a.end()};mxCellRenderer.registerShape("crossbar",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= -20;X.prototype.redrawPath=function(a,d,b,c,f){d=Math.max(0,Math.min(c,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,b),new mxPoint((c+d)/2,b),new mxPoint((c+d)/2,f),new mxPoint((c-d)/2,f),new mxPoint((c- -d)/2,b),new mxPoint(0,b)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(B,mxActor);B.prototype.arrowWidth=.3;B.prototype.arrowSize=.2;B.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ -2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",B);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,d,b,c,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",B.prototype.arrowWidth))));d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",B.prototype.arrowSize)))); -b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c-d,b),new mxPoint(c-d,0),new mxPoint(c,f/2),new mxPoint(c-d,f),new mxPoint(c-d,e),new mxPoint(d,e),new mxPoint(d,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,d,b,c,f){d=c*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, -"size",this.size))));a.moveTo(d,0);a.lineTo(c,0);a.quadTo(c-2*d,f/2,c,f);a.lineTo(d,f);a.quadTo(d-2*d,f/2,d,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(da,mxActor);da.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",da);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,d,b,c,f){a.moveTo(0,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,0,f);a.quadTo(c/2,f/2,0,0);a.close(); -a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(d,0),new mxPoint(c-d,0),new mxPoint(c,.8*d),new mxPoint(c,f),new mxPoint(0,f),new mxPoint(0,.8*d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit", -Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.prototype.redrawPath=function(a,d,b,c,f){d=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(c,0),new mxPoint(c,f-d),new mxPoint(c/2,f),new mxPoint(0,f-d)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",U);mxUtils.extend(na,mxEllipse);na.prototype.paintVertexShape= -function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(d+c/2,b+f);a.lineTo(d+c,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",na);mxUtils.extend(oa,mxEllipse);oa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke();a.begin();a.moveTo(d+c/2,b);a.lineTo(d+c/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", -oa);mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(d+.145*c,b+.145*f);a.lineTo(d+.855*c,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(d+.855*c,b+.145*f);a.lineTo(d+.145*c,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ca);mxUtils.extend(ia,mxRhombus);ia.prototype.paintVertexShape=function(a,d,b,c,f){mxRhombus.prototype.paintVertexShape.apply(this, -arguments);a.setShadow(!1);a.begin();a.moveTo(d,b+f/2);a.lineTo(d+c,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ia);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,d,b,c,f){a.begin();a.moveTo(d,b);a.lineTo(d+c,b);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(d,b+f);a.lineTo(d+c,b+f);a.lineTo(d+c/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape= -function(a,d,b,c,f){var e=b+f-5;a.begin();a.moveTo(d,b);a.lineTo(d,b+f);a.moveTo(d,e);a.lineTo(d+10,e-5);a.moveTo(d,e);a.lineTo(d+10,e+5);a.moveTo(d,e);a.lineTo(d+c,e);a.moveTo(d+c,b);a.lineTo(d+c,b+f);a.moveTo(d+c,e);a.lineTo(d+c-10,e-5);a.moveTo(d+c,e);a.lineTo(d+c-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,d,b,c,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, -arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(d,b,c,f),a.fill(),a.begin(),a.moveTo(d,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(d+c,b):a.moveTo(d+c,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(d+c,b+f):a.moveTo(d+c,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(d,b+f):a.moveTo(d,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(d,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ra);mxUtils.extend(fa, -mxEllipse);fa.prototype.paintVertexShape=function(a,d,b,c,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(d+c/2,b),a.lineTo(d+c/2,b+f)):(a.moveTo(d,b+f/2),a.lineTo(d+c,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",fa);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);a.moveTo(0,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(0, -f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(f,c);var e=Math.max(0,Math.min(d,d*parseFloat(mxUtils.getValue(this.style,"size",this.size))));d=(f-e)/2;b=d+e;var g=(c-e)/2,e=g+e;a.moveTo(0,d);a.lineTo(g,d);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,d);a.lineTo(c,d);a.lineTo(c,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", -ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.prototype.redrawPath=function(a,d,b,c,f){d=Math.min(c,f/2);b=Math.min(c-d,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*c);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(c-d,0);a.quadTo(c,0,c,f/2);a.quadTo(c,f,c-d,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.prototype.paintEdgeShape=function(a,d,b){for(var c= -[],f=0;f<d.length;f++)c.push(mxUtils.clone(d[f]));var f=a.state.dashed,e=a.state.fixDash;ga.prototype.origPaintEdgeShape.apply(this,[a,c,b]);3<=a.state.strokeWidth&&(c=mxUtils.getValue(this.style,"fillColor",null),null!=c&&(a.setStrokeColor(c),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ga.prototype.origPaintEdgeShape.apply(this,[a,d,b])))};mxCellRenderer.registerShape("filledEdge",ga);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; -StyleFormatPanel.prototype.getCustomColors=function(){var d=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==d.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,d,b,c,f,e,g,h,q,m){var n=f*(g+q+1),u=e*(g+q+1);return function(){a.begin();a.moveTo(c.x-n/2-u/2,c.y-u/2+n/2);a.lineTo(c.x+u/2-3*n/2,c.y-3*u/2-n/2);a.stroke()}});mxMarker.addMarker("cross",function(a,d,b,c,f,e,g,h,q, -m){var n=f*(g+q+1),u=e*(g+q+1);return function(){a.begin();a.moveTo(c.x-n/2-u/2,c.y-u/2+n/2);a.lineTo(c.x+u/2-3*n/2,c.y-3*u/2-n/2);a.moveTo(c.x-n/2+u/2,c.y-u/2-n/2);a.lineTo(c.x-u/2-3*n/2,c.y-3*u/2+n/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,d,b,c,f,e,g,h,q,m){var n=c.clone(),u=Aa.apply(this,arguments),t=f*(g+2*q),w=e*(g+2*q);return function(){u.apply(this,arguments);a.begin();a.moveTo(n.x-f*q,n.y-e*q);a.lineTo(n.x-2*t+f*q,n.y-2*w+e*q);a.moveTo(n.x- -t-w+e*q,n.y-w+t-f*q);a.lineTo(n.x+w-t-e*q,n.y-w-t+f*q);a.stroke()}});mxMarker.addMarker("async",function(a,d,b,c,f,e,g,h,q,m){d=f*q*1.118;b=e*q*1.118;f*=g+q;e*=g+q;var n=c.clone();n.x-=d;n.y-=b;c.x+=1*-f-d;c.y+=1*-e-b;return function(){a.begin();a.moveTo(n.x,n.y);h?a.lineTo(n.x-f-e/2,n.y-e+f/2):a.lineTo(n.x+e/2-f,n.y-e-f/2);a.lineTo(n.x-f,n.y-e);a.close();m?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(d,b,c,f,e,g,h,q,m,n){e*=h+m;g*=h+m;var u= -f.clone();return function(){d.begin();d.moveTo(u.x,u.y);q?d.lineTo(u.x-e-g/a,u.y-g+e/a):d.lineTo(u.x+g/a-e,u.y-g-e/a);d.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,d,b){return sa(a,["width"],d,function(d,c,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+b;return new mxPoint(e.x+c*d/4+f*g/2,e.y+f*d/4-c*g/2)},function(d,c,f,e,g,h){d=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));a.style.width=Math.round(2*d)/a.view.scale-b})},sa=function(a,d,b,c,f){return M(a,d, -function(d){var f=a.absolutePoints,e=f.length-1;d=a.view.translate;var g=a.view.scale,h=b?f[0]:f[e],f=b?f[1]:f[e-1],e=f.x-h.x,q=f.y-h.y,m=Math.sqrt(e*e+q*q),h=c.call(this,m,e/m,q/m,h,f);return new mxPoint(h.x/g-d.x,h.y/g-d.y)},function(d,c,e){var g=a.absolutePoints,h=g.length-1;d=a.view.translate;var q=a.view.scale,m=b?g[0]:g[h],g=b?g[1]:g[h-1],h=g.x-m.x,n=g.y-m.y,u=Math.sqrt(h*h+n*n);c.x=(c.x+d.x)*q;c.y=(c.y+d.y)*q;f.call(this,u,h/u,n/u,m,g,c,e)})},ma=function(a){return function(d){return[M(d,["arrowWidth", -"arrowSize"],function(d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",B.prototype.arrowWidth))),c=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",B.prototype.arrowSize)));return new mxPoint(d.x+(1-c)*d.width,d.y+(1-b)*d.height/2)},function(d,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(d.y+d.height/2-b.y)/d.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(d.x+d.width-b.x)/d.width))})]}},ya=function(a,d,b){return function(c){var f= -[M(c,["size"],function(b){var c=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",d)))))*a;return new mxPoint(b.x+c,b.y+c)},function(d,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(d.width,b.x-d.x),Math.min(d.height,b.y-d.y)))/a)})];b&&mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ha(c));return f}},ua=function(a,d,b,c,f){b=null!=b?b:1;return function(e){var g=[M(e,["size"],function(d){var b=null!=f?"0"!=mxUtils.getValue(this.state.style, -"fixedSize","0"):null,c=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(d.x+Math.max(0,Math.min(d.width,c*(b?1:d.width))),d.getCenterY())},function(a,d,c){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?d.x-a.x:Math.max(0,Math.min(b,(d.x-a.x)/a.width));g&&!mxEvent.isAltDown(c.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,c)];d&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(d){var b= -[M(d,["size"],function(d){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(d.x+b*d.width*.75,d.y+d.height/4)},function(d,b){this.state.style.size=Math.max(0,Math.min(a,(b.x-d.x)/(.75*d.width)))},null,!0)];mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(d));return b}},ta=function(){return function(a){var d=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d}},ha=function(a,d){return M(a, -[mxConstants.STYLE_ARCSIZE],function(b){var c=null!=d?d:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+c)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)* -f),b.y+c)},function(d,b,c){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(d.width,2*(d.x+d.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(d.width-b.x+d.x)/Math.min(d.width,d.height))))})},M=function(a,d,b,c,f,e){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<d.length;a++)this.copyStyle(d[a])}; -g.getPosition=b;g.setPosition=c;g.ignoreGrid=null!=f?f:!0;if(e){var h=g.positionChanged;g.positionChanged=function(){h.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(a,!1,10)]},flexArrow:function(a){var d=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d, -b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale; -a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(q.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(d,b,c,f,e){d=(a.shape.getStartArrowWidth()- -a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)-b*d/2)},function(b,c,f,e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0, -Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(q.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<d/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<d&&(a.style.startWidth= -a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f, -e,g,h,q){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(q.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))< -d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(d,b,c,f,e){d=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-c*d/2,f.y+c*(e+a.shape.strokewidth*a.view.scale)+b*d/2)},function(b,c,f,e,g,h,q){b= -Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,h.x,h.y));c=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-c,h.x,h.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(c-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(q.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(q.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- -parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<d/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<d&&(a.style.endWidth=a.style.startWidth))})));return b},swimlane:function(a){var d=[M(a,[mxConstants.STYLE_STARTSIZE],function(d){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(d.getCenterX(), -d.y+Math.max(0,Math.min(d.height,b))):new mxPoint(d.x+Math.max(0,Math.min(d.width,b)),d.getCenterY())},function(d,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(d.height,b.y-d.y))):Math.round(Math.max(0,Math.min(d.width,b.x-d.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));d.push(ha(a,b/2))}return d}, -label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var d=Math.max(D.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, -"width",D.prototype.width))),b=Math.max(1.5*D.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",D.prototype.height)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.width=Math.round(Math.max(D.prototype.corner,Math.min(a.width,d.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*D.prototype.corner,Math.min(a.height,d.y-a.y)))},!1)]},process:function(a){var d=[M(a,["size"],function(a){var d=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, -"size",n.prototype.size))));return new mxPoint(a.x+a.width*d,a.y+a.height/4)},function(a,d){this.state.style.size=Math.max(0,Math.min(.5,(d.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},cross:function(a){return[M(a,["size"],function(a){var d=Math.min(a.width,a.height),d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ba.prototype.size)))*d/2;return new mxPoint(a.getCenterX()-d,a.getCenterY()-d)},function(a,d){var b=Math.min(a.width, -a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-d.y)/b*2,Math.max(0,a.getCenterX()-d.x)/b*2)))})]},note:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-d,a.y+d)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-d.x),Math.min(a.height,d.y-a.y))))})]},manualInput:function(a){var d= -[M(a,["size"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*d/4)},function(a,d){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(d.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},dataStorage:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.prototype.size))));return new mxPoint(a.x+ -(1-d)*a.width,a.getCenterY())},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-d.x)/a.width))})]},callout:function(a){var d=[M(a,["size","position"],function(a){var d=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-d)},function(a,d){mxUtils.getValue(this.state.style, -"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-d.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var d=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+d*a.width,a.y+a.height)},function(a,d){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(d.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var d= -Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+c),a.y+a.height-d)},function(a,d){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width, -d.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},internalStorage:function(a){var d=[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",V.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",V.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,d.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&d.push(ha(a));return d},corner:function(a){return[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",L.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",L.prototype.dy)));return new mxPoint(a.x+d,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,d.x-a.x)));this.state.style.dy=Math.round(Math.max(0, -Math.min(a.height,d.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+d)/2,a.y+b)},function(a,d){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,d.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},singleArrow:ma(1),doubleArrow:ma(.5), -folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(d=a.width-d);return new mxPoint(a.x+d,a.y+b)},function(a,d){var b=Math.max(0,Math.min(a.width,d.x-a.x));mxUtils.getValue(this.state.style, -"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,d.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",d.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]}, -tape:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.prototype.size))));return new mxPoint(a.getCenterX(),a.y+d*a.height/2)},function(a,d){this.state.style.size=Math.max(0,Math.min(1,(d.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var d=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-d)*a.height)}, -function(a,d){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-d.y)/a.height))})]},step:ua(u.prototype.size,!0,null,!0,u.prototype.fixedSize),hexagon:ua(y.prototype.size,!0,.5,!0),curlyBracket:ua(m.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,r.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1== +K);mxUtils.extend(F,mxActor);F.prototype.size=30;F.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size)));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f),new mxPoint(0,c),new mxPoint(d,0),new mxPoint(d,f)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("manualInput",F);mxUtils.extend(V,mxRectangleShape);V.prototype.dx=20;V.prototype.dy=20;V.prototype.isHtmlAllowed= +function(){return!1};V.prototype.paintForeground=function(a,c,b,d,f){mxRectangleShape.prototype.paintForeground.apply(this,arguments);var e=0;if(this.isRounded)var g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)/100,e=Math.max(e,Math.min(d*g,f*g));g=Math.max(e,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));e=Math.max(e,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));a.begin();a.moveTo(c,b+e);a.lineTo(c+d,b+e); +a.end();a.stroke();a.begin();a.moveTo(c+g,b);a.lineTo(c+g,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("internalStorage",V);mxUtils.extend(L,mxActor);L.prototype.dx=20;L.prototype.dy=20;L.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE, +mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,b),new mxPoint(c,b),new mxPoint(c,f),new mxPoint(0,f)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("corner",L);mxUtils.extend(O,mxActor);O.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.lineTo(0,f);a.end();a.moveTo(d,0);a.lineTo(d,f);a.end();a.moveTo(0,f/2);a.lineTo(d,f/2);a.end()};mxCellRenderer.registerShape("crossbar",O);mxUtils.extend(X,mxActor);X.prototype.dx=20;X.prototype.dy= +20;X.prototype.redrawPath=function(a,c,b,d,f){c=Math.max(0,Math.min(d,parseFloat(mxUtils.getValue(this.style,"dx",this.dx))));b=Math.max(0,Math.min(f,parseFloat(mxUtils.getValue(this.style,"dy",this.dy))));parseFloat(mxUtils.getValue(this.style,"size",this.size));var e=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,b),new mxPoint((d+c)/2,b),new mxPoint((d+c)/2,f),new mxPoint((d-c)/2,f),new mxPoint((d- +c)/2,b),new mxPoint(0,b)],this.isRounded,e,!0);a.end()};mxCellRenderer.registerShape("tee",X);mxUtils.extend(A,mxActor);A.prototype.arrowWidth=.3;A.prototype.arrowSize=.2;A.prototype.redrawPath=function(a,c,b,d,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",this.arrowWidth))));c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",this.arrowSize))));b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/ +2;this.addPoints(a,[new mxPoint(0,b),new mxPoint(d-c,b),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d-c,f),new mxPoint(d-c,e),new mxPoint(0,e)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("singleArrow",A);mxUtils.extend(W,mxActor);W.prototype.redrawPath=function(a,c,b,d,f){var e=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowWidth",A.prototype.arrowWidth))));c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"arrowSize",A.prototype.arrowSize)))); +b=(f-e)/2;var e=b+e,g=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,f/2),new mxPoint(c,0),new mxPoint(c,b),new mxPoint(d-c,b),new mxPoint(d-c,0),new mxPoint(d,f/2),new mxPoint(d-c,f),new mxPoint(d-c,e),new mxPoint(c,e),new mxPoint(c,f)],this.isRounded,g,!0);a.end()};mxCellRenderer.registerShape("doubleArrow",W);mxUtils.extend(P,mxActor);P.prototype.size=.1;P.prototype.redrawPath=function(a,c,b,d,f){c=d*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style, +"size",this.size))));a.moveTo(c,0);a.lineTo(d,0);a.quadTo(d-2*c,f/2,d,f);a.lineTo(c,f);a.quadTo(c-2*c,f/2,c,0);a.close();a.end()};mxCellRenderer.registerShape("dataStorage",P);mxUtils.extend(da,mxActor);da.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,0,f);a.close();a.end()};mxCellRenderer.registerShape("or",da);mxUtils.extend(T,mxActor);T.prototype.redrawPath=function(a,c,b,d,f){a.moveTo(0,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,0,f);a.quadTo(d/2,f/2,0,0);a.close(); +a.end()};mxCellRenderer.registerShape("xor",T);mxUtils.extend(Z,mxActor);Z.prototype.size=20;Z.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d/2,Math.min(f,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(c,0),new mxPoint(d-c,0),new mxPoint(d,.8*c),new mxPoint(d,f),new mxPoint(0,f),new mxPoint(0,.8*c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("loopLimit", +Z);mxUtils.extend(U,mxActor);U.prototype.size=.375;U.prototype.redrawPath=function(a,c,b,d,f){c=f*Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.style,"size",this.size))));b=mxUtils.getValue(this.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;this.addPoints(a,[new mxPoint(0,0),new mxPoint(d,0),new mxPoint(d,f-c),new mxPoint(d/2,f),new mxPoint(0,f-c)],this.isRounded,b,!0);a.end()};mxCellRenderer.registerShape("offPageConnector",U);mxUtils.extend(ma,mxEllipse);ma.prototype.paintVertexShape= +function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.begin();a.moveTo(c+d/2,b+f);a.lineTo(c+d,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("tapeData",ma);mxUtils.extend(na,mxEllipse);na.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+f/2);a.lineTo(c+d,b+f/2);a.end();a.stroke();a.begin();a.moveTo(c+d/2,b);a.lineTo(c+d/2,b+f);a.end();a.stroke()};mxCellRenderer.registerShape("orEllipse", +na);mxUtils.extend(ca,mxEllipse);ca.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();a.moveTo(c+.145*d,b+.145*f);a.lineTo(c+.855*d,b+.855*f);a.end();a.stroke();a.begin();a.moveTo(c+.855*d,b+.145*f);a.lineTo(c+.145*d,b+.855*f);a.end();a.stroke()};mxCellRenderer.registerShape("sumEllipse",ca);mxUtils.extend(ia,mxRhombus);ia.prototype.paintVertexShape=function(a,c,b,d,f){mxRhombus.prototype.paintVertexShape.apply(this, +arguments);a.setShadow(!1);a.begin();a.moveTo(c,b+f/2);a.lineTo(c+d,b+f/2);a.end();a.stroke()};mxCellRenderer.registerShape("sortShape",ia);mxUtils.extend(qa,mxEllipse);qa.prototype.paintVertexShape=function(a,c,b,d,f){a.begin();a.moveTo(c,b);a.lineTo(c+d,b);a.lineTo(c+d/2,b+f/2);a.close();a.fillAndStroke();a.begin();a.moveTo(c,b+f);a.lineTo(c+d,b+f);a.lineTo(c+d/2,b+f/2);a.close();a.fillAndStroke()};mxCellRenderer.registerShape("collate",qa);mxUtils.extend(ea,mxEllipse);ea.prototype.paintVertexShape= +function(a,c,b,d,f){var e=b+f-5;a.begin();a.moveTo(c,b);a.lineTo(c,b+f);a.moveTo(c,e);a.lineTo(c+10,e-5);a.moveTo(c,e);a.lineTo(c+10,e+5);a.moveTo(c,e);a.lineTo(c+d,e);a.moveTo(c+d,b);a.lineTo(c+d,b+f);a.moveTo(c+d,e);a.lineTo(c+d-10,e-5);a.moveTo(c+d,e);a.lineTo(c+d-10,e+5);a.end();a.stroke()};mxCellRenderer.registerShape("dimension",ea);mxUtils.extend(ra,mxEllipse);ra.prototype.paintVertexShape=function(a,c,b,d,f){this.outline||a.setStrokeColor(null);mxRectangleShape.prototype.paintBackground.apply(this, +arguments);null!=this.style&&(a.setStrokeColor(this.stroke),a.rect(c,b,d,f),a.fill(),a.begin(),a.moveTo(c,b),"1"==mxUtils.getValue(this.style,"top","1")?a.lineTo(c+d,b):a.moveTo(c+d,b),"1"==mxUtils.getValue(this.style,"right","1")?a.lineTo(c+d,b+f):a.moveTo(c+d,b+f),"1"==mxUtils.getValue(this.style,"bottom","1")?a.lineTo(c,b+f):a.moveTo(c,b+f),"1"==mxUtils.getValue(this.style,"left","1")&&a.lineTo(c,b-this.strokewidth/2),a.end(),a.stroke())};mxCellRenderer.registerShape("partialRectangle",ra);mxUtils.extend(fa, +mxEllipse);fa.prototype.paintVertexShape=function(a,c,b,d,f){mxEllipse.prototype.paintVertexShape.apply(this,arguments);a.setShadow(!1);a.begin();"vertical"==mxUtils.getValue(this.style,"line")?(a.moveTo(c+d/2,b),a.lineTo(c+d/2,b+f)):(a.moveTo(c,b+f/2),a.lineTo(c+d,b+f/2));a.end();a.stroke()};mxCellRenderer.registerShape("lineEllipse",fa);mxUtils.extend(ja,mxActor);ja.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/2);a.moveTo(0,0);a.lineTo(d-c,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,d-c,f);a.lineTo(0, +f);a.close();a.end()};mxCellRenderer.registerShape("delay",ja);mxUtils.extend(ba,mxActor);ba.prototype.size=.2;ba.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(f,d);var e=Math.max(0,Math.min(c,c*parseFloat(mxUtils.getValue(this.style,"size",this.size))));c=(f-e)/2;b=c+e;var g=(d-e)/2,e=g+e;a.moveTo(0,c);a.lineTo(g,c);a.lineTo(g,0);a.lineTo(e,0);a.lineTo(e,c);a.lineTo(d,c);a.lineTo(d,b);a.lineTo(e,b);a.lineTo(e,f);a.lineTo(g,f);a.lineTo(g,b);a.lineTo(0,b);a.close();a.end()};mxCellRenderer.registerShape("cross", +ba);mxUtils.extend(ka,mxActor);ka.prototype.size=.25;ka.prototype.redrawPath=function(a,c,b,d,f){c=Math.min(d,f/2);b=Math.min(d-c,Math.max(0,parseFloat(mxUtils.getValue(this.style,"size",this.size)))*d);a.moveTo(0,f/2);a.lineTo(b,0);a.lineTo(d-c,0);a.quadTo(d,0,d,f/2);a.quadTo(d,f,d-c,f);a.lineTo(b,f);a.close();a.end()};mxCellRenderer.registerShape("display",ka);mxUtils.extend(ga,mxConnector);ga.prototype.origPaintEdgeShape=ga.prototype.paintEdgeShape;ga.prototype.paintEdgeShape=function(a,c,b){for(var d= +[],f=0;f<c.length;f++)d.push(mxUtils.clone(c[f]));var f=a.state.dashed,e=a.state.fixDash;ga.prototype.origPaintEdgeShape.apply(this,[a,d,b]);3<=a.state.strokeWidth&&(d=mxUtils.getValue(this.style,"fillColor",null),null!=d&&(a.setStrokeColor(d),a.setStrokeWidth(a.state.strokeWidth-2),a.setDashed(f,e),ga.prototype.origPaintEdgeShape.apply(this,[a,c,b])))};mxCellRenderer.registerShape("filledEdge",ga);"undefined"!==typeof StyleFormatPanel&&function(){var a=StyleFormatPanel.prototype.getCustomColors; +StyleFormatPanel.prototype.getCustomColors=function(){var c=this.format.getSelectionState(),b=a.apply(this,arguments);"umlFrame"==c.style.shape&&b.push({title:mxResources.get("laneColor"),key:"swimlaneFillColor",defaultValue:"#ffffff"});return b}}();mxMarker.addMarker("dash",function(a,c,b,d,f,e,g,l,h,q){var n=f*(g+h+1),u=e*(g+h+1);return function(){a.begin();a.moveTo(d.x-n/2-u/2,d.y-u/2+n/2);a.lineTo(d.x+u/2-3*n/2,d.y-3*u/2-n/2);a.stroke()}});mxMarker.addMarker("cross",function(a,c,b,d,f,e,g,l,h, +q){var n=f*(g+h+1),u=e*(g+h+1);return function(){a.begin();a.moveTo(d.x-n/2-u/2,d.y-u/2+n/2);a.lineTo(d.x+u/2-3*n/2,d.y-3*u/2-n/2);a.moveTo(d.x-n/2+u/2,d.y-u/2-n/2);a.lineTo(d.x-u/2-3*n/2,d.y-3*u/2+n/2);a.stroke()}});mxMarker.addMarker("circle",Aa);mxMarker.addMarker("circlePlus",function(a,c,d,b,f,e,g,l,h,q){var n=b.clone(),u=Aa.apply(this,arguments),t=f*(g+2*h),w=e*(g+2*h);return function(){u.apply(this,arguments);a.begin();a.moveTo(n.x-f*h,n.y-e*h);a.lineTo(n.x-2*t+f*h,n.y-2*w+e*h);a.moveTo(n.x- +t-w+e*h,n.y-w+t-f*h);a.lineTo(n.x+w-t-e*h,n.y-w-t+f*h);a.stroke()}});mxMarker.addMarker("async",function(a,c,b,d,f,e,g,l,h,q){c=f*h*1.118;b=e*h*1.118;f*=g+h;e*=g+h;var n=d.clone();n.x-=c;n.y-=b;d.x+=1*-f-c;d.y+=1*-e-b;return function(){a.begin();a.moveTo(n.x,n.y);l?a.lineTo(n.x-f-e/2,n.y-e+f/2):a.lineTo(n.x+e/2-f,n.y-e-f/2);a.lineTo(n.x-f,n.y-e);a.close();q?a.fillAndStroke():a.stroke()}});mxMarker.addMarker("openAsync",function(a){a=null!=a?a:2;return function(c,d,b,f,e,g,l,h,q,n){e*=l+q;g*=l+q;var u= +f.clone();return function(){c.begin();c.moveTo(u.x,u.y);h?c.lineTo(u.x-e-g/a,u.y-g+e/a):c.lineTo(u.x+g/a-e,u.y-g-e/a);c.stroke()}}}(2));if("undefined"!==typeof mxVertexHandler){var Da=function(a,c,d){return sa(a,["width"],c,function(c,b,f,e,g){g=a.shape.getEdgeWidth()*a.view.scale+d;return new mxPoint(e.x+b*c/4+f*g/2,e.y+f*c/4-b*g/2)},function(c,b,f,e,g,l){c=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));a.style.width=Math.round(2*c)/a.view.scale-d})},sa=function(a,c,d,b,f){return M(a,c, +function(c){var f=a.absolutePoints,e=f.length-1;c=a.view.translate;var g=a.view.scale,l=d?f[0]:f[e],f=d?f[1]:f[e-1],e=f.x-l.x,h=f.y-l.y,q=Math.sqrt(e*e+h*h),l=b.call(this,q,e/q,h/q,l,f);return new mxPoint(l.x/g-c.x,l.y/g-c.y)},function(c,b,e){var g=a.absolutePoints,l=g.length-1;c=a.view.translate;var h=a.view.scale,q=d?g[0]:g[l],g=d?g[1]:g[l-1],l=g.x-q.x,n=g.y-q.y,u=Math.sqrt(l*l+n*n);b.x=(b.x+c.x)*h;b.y=(b.y+c.y)*h;f.call(this,u,l/u,n/u,q,g,b,e)})},la=function(a){return function(c){return[M(c,["arrowWidth", +"arrowSize"],function(c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"arrowWidth",A.prototype.arrowWidth))),d=Math.max(0,Math.min(a,mxUtils.getValue(this.state.style,"arrowSize",A.prototype.arrowSize)));return new mxPoint(c.x+(1-d)*c.width,c.y+(1-b)*c.height/2)},function(c,b){this.state.style.arrowWidth=Math.max(0,Math.min(1,Math.abs(c.y+c.height/2-b.y)/c.height*2));this.state.style.arrowSize=Math.max(0,Math.min(a,(c.x+c.width-b.x)/c.width))})]}},ya=function(a,c,b){return function(d){var f= +[M(d,["size"],function(b){var d=Math.max(0,Math.min(b.width,Math.min(b.height,parseFloat(mxUtils.getValue(this.state.style,"size",c)))))*a;return new mxPoint(b.x+d,b.y+d)},function(c,b){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(c.width,b.x-c.x),Math.min(c.height,b.y-c.y)))/a)})];b&&mxUtils.getValue(d.style,mxConstants.STYLE_ROUNDED,!1)&&f.push(ha(d));return f}},ua=function(a,c,b,d,f){b=null!=b?b:1;return function(e){var g=[M(e,["size"],function(c){var b=null!=f?"0"!=mxUtils.getValue(this.state.style, +"fixedSize","0"):null,d=parseFloat(mxUtils.getValue(this.state.style,"size",b?f:a));return new mxPoint(c.x+Math.max(0,Math.min(c.width,d*(b?1:c.width))),c.getCenterY())},function(a,c,d){var g=null!=f?"0"!=mxUtils.getValue(this.state.style,"fixedSize","0"):null;a=g?c.x-a.x:Math.max(0,Math.min(b,(c.x-a.x)/a.width));g&&!mxEvent.isAltDown(d.getEvent())&&(a=e.view.graph.snap(a));this.state.style.size=a},null,d)];c&&mxUtils.getValue(e.style,mxConstants.STYLE_ROUNDED,!1)&&g.push(ha(e));return g}},Ea=function(a){return function(c){var b= +[M(c,["size"],function(c){var b=Math.max(0,Math.min(a,parseFloat(mxUtils.getValue(this.state.style,"size",g.prototype.size))));return new mxPoint(c.x+b*c.width*.75,c.y+c.height/4)},function(c,b){this.state.style.size=Math.max(0,Math.min(a,(b.x-c.x)/(.75*c.width)))},null,!0)];mxUtils.getValue(c.style,mxConstants.STYLE_ROUNDED,!1)&&b.push(ha(c));return b}},ta=function(){return function(a){var c=[];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c}},ha=function(a,c){return M(a, +[mxConstants.STYLE_ARCSIZE],function(b){var d=null!=c?c:b.height/8;if("1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)){var f=mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,mxConstants.LINE_ARCSIZE)/2;return new mxPoint(b.x+b.width-Math.min(b.width/2,f),b.y+d)}f=Math.max(0,parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_ARCSIZE,100*mxConstants.RECTANGLE_ROUNDING_FACTOR)))/100;return new mxPoint(b.x+b.width-Math.min(Math.max(b.width/2,b.height/2),Math.min(b.width,b.height)* +f),b.y+d)},function(c,b,d){"1"==mxUtils.getValue(a.style,mxConstants.STYLE_ABSOLUTE_ARCSIZE,0)?this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.max(0,Math.min(c.width,2*(c.x+c.width-b.x)))):this.state.style[mxConstants.STYLE_ARCSIZE]=Math.round(Math.min(50,Math.max(0,100*(c.width-b.x+c.x)/Math.min(c.width,c.height))))})},M=function(a,c,b,d,f,e){var g=new mxHandle(a,null,mxVertexHandler.prototype.secondaryHandleImage);g.execute=function(){for(var a=0;a<c.length;a++)this.copyStyle(c[a])}; +g.getPosition=b;g.setPosition=d;g.ignoreGrid=null!=f?f:!0;if(e){var l=g.positionChanged;g.positionChanged=function(){l.apply(this,arguments);a.view.invalidate(this.state.cell);a.view.validate()}}return g},za={link:function(a){return[Da(a,!0,10),Da(a,!1,10)]},flexArrow:function(a){var c=a.view.graph.gridSize/a.view.scale,b=[];mxUtils.getValue(a.style,mxConstants.STYLE_STARTARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c, +b,d,f,e){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,d,f,e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale; +a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]);mxEvent.isAltDown(h.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!0,function(c,b,d,f,e){c=(a.shape.getStartArrowWidth()- +a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)+d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)-b*c/2)},function(b,d,f,e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_STARTSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.startWidth=Math.max(0, +Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE],a.style.endWidth=a.style.startWidth);mxEvent.isAltDown(h.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_STARTSIZE])-parseFloat(a.style[mxConstants.STYLE_ENDSIZE]))<c/6&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]),Math.abs(parseFloat(a.style.startWidth)-parseFloat(a.style.endWidth))<c&&(a.style.startWidth= +a.style.endWidth))})));mxUtils.getValue(a.style,mxConstants.STYLE_ENDARROW,mxConstants.NONE)!=mxConstants.NONE&&(b.push(sa(a,["width",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,d,f,e){c=(a.shape.getEdgeWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,d,f, +e,g,l,h){b=Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.width=Math.round(2*b)/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE]);mxEvent.isAltDown(h.getEvent())||Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])-parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))< +c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE])})),b.push(sa(a,["startWidth","endWidth",mxConstants.STYLE_STARTSIZE,mxConstants.STYLE_ENDSIZE],!1,function(c,b,d,f,e){c=(a.shape.getEndArrowWidth()-a.shape.strokewidth)*a.view.scale;e=3*mxUtils.getNumber(a.style,mxConstants.STYLE_ENDSIZE,mxConstants.ARROW_SIZE/5)*a.view.scale;return new mxPoint(f.x+b*(e+a.shape.strokewidth*a.view.scale)-d*c/2,f.y+d*(e+a.shape.strokewidth*a.view.scale)+b*c/2)},function(b,d,f,e,g,l,h){b= +Math.sqrt(mxUtils.ptSegDistSq(e.x,e.y,g.x,g.y,l.x,l.y));d=mxUtils.ptLineDist(e.x,e.y,e.x+f,e.y-d,l.x,l.y);a.style[mxConstants.STYLE_ENDSIZE]=Math.round(100*(d-a.shape.strokewidth)/3)/100/a.view.scale;a.style.endWidth=Math.max(0,Math.round(2*b)-a.shape.getEdgeWidth())/a.view.scale;mxEvent.isControlDown(h.getEvent())&&(a.style[mxConstants.STYLE_STARTSIZE]=a.style[mxConstants.STYLE_ENDSIZE],a.style.startWidth=a.style.endWidth);mxEvent.isAltDown(h.getEvent())||(Math.abs(parseFloat(a.style[mxConstants.STYLE_ENDSIZE])- +parseFloat(a.style[mxConstants.STYLE_STARTSIZE]))<c/6&&(a.style[mxConstants.STYLE_ENDSIZE]=a.style[mxConstants.STYLE_STARTSIZE]),Math.abs(parseFloat(a.style.endWidth)-parseFloat(a.style.startWidth))<c&&(a.style.endWidth=a.style.startWidth))})));return b},swimlane:function(a){var c=[M(a,[mxConstants.STYLE_STARTSIZE],function(c){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));return 1==mxUtils.getValue(a.style,mxConstants.STYLE_HORIZONTAL,1)?new mxPoint(c.getCenterX(), +c.y+Math.max(0,Math.min(c.height,b))):new mxPoint(c.x+Math.max(0,Math.min(c.width,b)),c.getCenterY())},function(c,b){a.style[mxConstants.STYLE_STARTSIZE]=1==mxUtils.getValue(this.state.style,mxConstants.STYLE_HORIZONTAL,1)?Math.round(Math.max(0,Math.min(c.height,b.y-c.y))):Math.round(Math.max(0,Math.min(c.width,b.x-c.x)))})];if(mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED)){var b=parseFloat(mxUtils.getValue(a.style,mxConstants.STYLE_STARTSIZE,mxConstants.DEFAULT_STARTSIZE));c.push(ha(a,b/2))}return c}, +label:ta(),ext:ta(),rectangle:ta(),triangle:ta(),rhombus:ta(),umlLifeline:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",N.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))},!1)]},umlFrame:function(a){return[M(a,["width","height"],function(a){var c=Math.max(C.prototype.corner,Math.min(a.width,mxUtils.getValue(this.state.style, +"width",C.prototype.width))),b=Math.max(1.5*C.prototype.corner,Math.min(a.height,mxUtils.getValue(this.state.style,"height",C.prototype.height)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.width=Math.round(Math.max(C.prototype.corner,Math.min(a.width,c.x-a.x)));this.state.style.height=Math.round(Math.max(1.5*C.prototype.corner,Math.min(a.height,c.y-a.y)))},!1)]},process:function(a){var c=[M(a,["size"],function(a){var c=Math.max(0,Math.min(.5,parseFloat(mxUtils.getValue(this.state.style, +"size",n.prototype.size))));return new mxPoint(a.x+a.width*c,a.y+a.height/4)},function(a,c){this.state.style.size=Math.max(0,Math.min(.5,(c.x-a.x)/a.width))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},cross:function(a){return[M(a,["size"],function(a){var c=Math.min(a.width,a.height),c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"size",ba.prototype.size)))*c/2;return new mxPoint(a.getCenterX()-c,a.getCenterY()-c)},function(a,c){var b=Math.min(a.width, +a.height);this.state.style.size=Math.max(0,Math.min(1,Math.min(Math.max(0,a.getCenterY()-c.y)/b*2,Math.max(0,a.getCenterX()-c.x)/b*2)))})]},note:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.width,Math.min(a.height,parseFloat(mxUtils.getValue(this.state.style,"size",k.prototype.size)))));return new mxPoint(a.x+a.width-c,a.y+c)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(Math.min(a.width,a.x+a.width-c.x),Math.min(a.height,c.y-a.y))))})]},manualInput:function(a){var c= +[M(a,["size"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",F.prototype.size)));return new mxPoint(a.x+a.width/4,a.y+3*c/4)},function(a,c){this.state.style.size=Math.round(Math.max(0,Math.min(a.height,4*(c.y-a.y)/3)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},dataStorage:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",P.prototype.size))));return new mxPoint(a.x+ +(1-c)*a.width,a.getCenterY())},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.x+a.width-c.x)/a.width))})]},callout:function(a){var c=[M(a,["size","position"],function(a){var c=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));mxUtils.getValue(this.state.style,"base",w.prototype.base);return new mxPoint(a.x+b*a.width,a.y+a.height-c)},function(a,c){mxUtils.getValue(this.state.style, +"base",w.prototype.base);this.state.style.size=Math.round(Math.max(0,Math.min(a.height,a.y+a.height-c.y)));this.state.style.position=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),M(a,["position2"],function(a){var c=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position2",w.prototype.position2)));return new mxPoint(a.x+c*a.width,a.y+a.height)},function(a,c){this.state.style.position2=Math.round(100*Math.max(0,Math.min(1,(c.x-a.x)/a.width)))/100}),M(a,["base"],function(a){var c= +Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"size",w.prototype.size))),b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position))),d=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"base",w.prototype.base)));return new mxPoint(a.x+Math.min(a.width,b*a.width+d),a.y+a.height-c)},function(a,c){var b=Math.max(0,Math.min(1,mxUtils.getValue(this.state.style,"position",w.prototype.position)));this.state.style.base=Math.round(Math.max(0,Math.min(a.width, +c.x-a.x-b*a.width)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},internalStorage:function(a){var c=[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",V.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",V.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0, +Math.min(a.height,c.y-a.y)))})];mxUtils.getValue(a.style,mxConstants.STYLE_ROUNDED,!1)&&c.push(ha(a));return c},corner:function(a){return[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",L.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",L.prototype.dy)));return new mxPoint(a.x+c,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,Math.min(a.width,c.x-a.x)));this.state.style.dy=Math.round(Math.max(0, +Math.min(a.height,c.y-a.y)))})]},tee:function(a){return[M(a,["dx","dy"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"dx",X.prototype.dx))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"dy",X.prototype.dy)));return new mxPoint(a.x+(a.width+c)/2,a.y+b)},function(a,c){this.state.style.dx=Math.round(Math.max(0,2*Math.min(a.width/2,c.x-a.x-a.width/2)));this.state.style.dy=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},singleArrow:la(1),doubleArrow:la(.5), +folder:function(a){return[M(a,["tabWidth","tabHeight"],function(a){var c=Math.max(0,Math.min(a.width,mxUtils.getValue(this.state.style,"tabWidth",p.prototype.tabWidth))),b=Math.max(0,Math.min(a.height,mxUtils.getValue(this.state.style,"tabHeight",p.prototype.tabHeight)));mxUtils.getValue(this.state.style,"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(c=a.width-c);return new mxPoint(a.x+c,a.y+b)},function(a,c){var b=Math.max(0,Math.min(a.width,c.x-a.x));mxUtils.getValue(this.state.style, +"tabPosition",p.prototype.tabPosition)==mxConstants.ALIGN_RIGHT&&(b=a.width-b);this.state.style.tabWidth=Math.round(b);this.state.style.tabHeight=Math.round(Math.max(0,Math.min(a.height,c.y-a.y)))})]},document:function(a){return[M(a,["size"],function(a){var b=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",c.prototype.size))));return new mxPoint(a.x+3*a.width/4,a.y+(1-b)*a.height)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]}, +tape:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",v.prototype.size))));return new mxPoint(a.getCenterX(),a.y+c*a.height/2)},function(a,c){this.state.style.size=Math.max(0,Math.min(1,(c.y-a.y)/a.height*2))})]},offPageConnector:function(a){return[M(a,["size"],function(a){var c=Math.max(0,Math.min(1,parseFloat(mxUtils.getValue(this.state.style,"size",U.prototype.size))));return new mxPoint(a.getCenterX(),a.y+(1-c)*a.height)}, +function(a,c){this.state.style.size=Math.max(0,Math.min(1,(a.y+a.height-c.y)/a.height))})]},step:ua(q.prototype.size,!0,null,!0,q.prototype.fixedSize),hexagon:ua(y.prototype.size,!0,.5,!0),curlyBracket:ua(u.prototype.size,!1),display:ua(ka.prototype.size,!1),cube:ya(1,a.prototype.size,!1),card:ya(.5,r.prototype.size,!0),loopLimit:ya(.5,Z.prototype.size,!0),trapezoid:Ea(.5),parallelogram:Ea(1)};Graph.createHandle=M;Graph.handleFactory=za;mxVertexHandler.prototype.createCustomHandles=function(){if(1== this.state.view.graph.getSelectionCount()&&this.graph.isCellRotatable(this.state.cell)){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_RECTANGLE);a=za[a];if(null!=a)return a(this.state)}return null};mxEdgeHandler.prototype.createCustomHandles=function(){if(1==this.state.view.graph.getSelectionCount()){var a=this.state.style.shape;null==mxCellRenderer.defaultShapes[a]&&null==mxStencilRegistry.getStencil(a)&&(a=mxConstants.SHAPE_CONNECTOR); -a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),ma=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(ma),Math.sin(ma)),ma=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(ma),Math.sin(ma));mxEdgeStyle.IsometricConnector=function(a,d,b,c,f){var e=a.view;c=null!=c&&0<c.length?c[0]:null;var g=a.absolutePoints,h=g[0],g=g[g.length-1];null!=c&&(c=e.transformControlPoint(a, -c));null==h&&null!=d&&(h=new mxPoint(d.getCenterX(),d.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var q=va.x,m=va.y,n=wa.x,u=wa.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=h){a=function(a,d,b){a-=w.x;var c=d-w.y;d=(u*a-n*c)/(q*u-m*n);a=(m*a-q*c)/(m*n-q*u);t?(b&&(w=new mxPoint(w.x+q*d,w.y+m*d),f.push(w)),w=new mxPoint(w.x+n*a,w.y+u*a)):(b&&(w=new mxPoint(w.x+n*a,w.y+u*a),f.push(w)),w=new mxPoint(w.x+q*d,w.y+m*d));f.push(w)}; -var w=h;null==c&&(c=new mxPoint(h.x+(g.x-h.x)/2,h.y+(g.y-h.y)/2));a(c.x,c.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,d){if(d==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints= +a=za[a];if(null!=a)return a(this.state)}return null}}else Graph.createHandle=function(){},Graph.handleFactory={};var va=new mxPoint(1,0),wa=new mxPoint(1,0),la=mxUtils.toRadians(-30),va=mxUtils.getRotatedPoint(va,Math.cos(la),Math.sin(la)),la=mxUtils.toRadians(-150),wa=mxUtils.getRotatedPoint(wa,Math.cos(la),Math.sin(la));mxEdgeStyle.IsometricConnector=function(a,c,b,d,f){var e=a.view;d=null!=d&&0<d.length?d[0]:null;var g=a.absolutePoints,l=g[0],g=g[g.length-1];null!=d&&(d=e.transformControlPoint(a, +d));null==l&&null!=c&&(l=new mxPoint(c.getCenterX(),c.getCenterY()));null==g&&null!=b&&(g=new mxPoint(b.getCenterX(),b.getCenterY()));var h=va.x,q=va.y,n=wa.x,u=wa.y,t="horizontal"==mxUtils.getValue(a.style,"elbow","horizontal");if(null!=g&&null!=l){a=function(a,c,b){a-=w.x;var d=c-w.y;c=(u*a-n*d)/(h*u-q*n);a=(q*a-h*d)/(q*n-h*u);t?(b&&(w=new mxPoint(w.x+h*c,w.y+q*c),f.push(w)),w=new mxPoint(w.x+n*a,w.y+u*a)):(b&&(w=new mxPoint(w.x+n*a,w.y+u*a),f.push(w)),w=new mxPoint(w.x+h*c,w.y+q*c));f.push(w)}; +var w=l;null==d&&(d=new mxPoint(l.x+(g.x-l.x)/2,l.y+(g.y-l.y)/2));a(d.x,d.y,!0);a(g.x,g.y,!1)}};mxStyleRegistry.putValue("isometricEdgeStyle",mxEdgeStyle.IsometricConnector);var Ia=Graph.prototype.createEdgeHandler;Graph.prototype.createEdgeHandler=function(a,c){if(c==mxEdgeStyle.IsometricConnector){var b=new mxElbowEdgeHandler(a);b.snapToTerminals=!1;return b}return Ia.apply(this,arguments)};b.prototype.constraints=[];e.prototype.constraints=[];w.prototype.constraints=[];mxRectangleShape.prototype.constraints= [new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5, 1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxEllipse.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!0),new mxConnectionConstraint(new mxPoint(1,0),!0),new mxConnectionConstraint(new mxPoint(0,1),!0),new mxConnectionConstraint(new mxPoint(1,1),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(1,.5))];mxLabel.prototype.constraints= -mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;E.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;r.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints= -mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;na.prototype.constraints=mxEllipse.prototype.constraints;oa.prototype.constraints=mxEllipse.prototype.constraints;ca.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;ja.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints; +mxRectangleShape.prototype.constraints;mxImageShape.prototype.constraints=mxRectangleShape.prototype.constraints;mxSwimlane.prototype.constraints=mxRectangleShape.prototype.constraints;D.prototype.constraints=mxRectangleShape.prototype.constraints;k.prototype.constraints=mxRectangleShape.prototype.constraints;r.prototype.constraints=mxRectangleShape.prototype.constraints;a.prototype.constraints=mxRectangleShape.prototype.constraints;p.prototype.constraints=mxRectangleShape.prototype.constraints;V.prototype.constraints= +mxRectangleShape.prototype.constraints;P.prototype.constraints=mxRectangleShape.prototype.constraints;ma.prototype.constraints=mxEllipse.prototype.constraints;na.prototype.constraints=mxEllipse.prototype.constraints;ca.prototype.constraints=mxEllipse.prototype.constraints;fa.prototype.constraints=mxEllipse.prototype.constraints;F.prototype.constraints=mxRectangleShape.prototype.constraints;ja.prototype.constraints=mxRectangleShape.prototype.constraints;ka.prototype.constraints=mxRectangleShape.prototype.constraints; Z.prototype.constraints=mxRectangleShape.prototype.constraints;U.prototype.constraints=mxRectangleShape.prototype.constraints;mxCylinder.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.15,.05),!1),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.85,.05),!1),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1, -.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];C.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, +.3),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.7),!0),new mxConnectionConstraint(new mxPoint(.15,.95),!1),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.85,.95),!1)];E.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.1),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.75,.1),!1),new mxConnectionConstraint(new mxPoint(0,1/3),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(1,1/3),!1),new mxConnectionConstraint(new mxPoint(1,1),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1)];Y.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0,.3),!0),new mxConnectionConstraint(new mxPoint(0,.7),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1, .5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];mxActor.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.25,.2),!1),new mxConnectionConstraint(new mxPoint(.1,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.75,.25),!1),new mxConnectionConstraint(new mxPoint(.9, -.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];l.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, +.5),!1),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0)];m.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(.5,.25),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(0, 1),!1),new mxConnectionConstraint(new mxPoint(.5,.75),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];v.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.35),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.65),!1),new mxConnectionConstraint(new mxPoint(1,.35),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,.65),!1),new mxConnectionConstraint(new mxPoint(.25,1),!1),new mxConnectionConstraint(new mxPoint(.75, -0),!1)];u.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, -.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];J.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= +0),!1)];q.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(.25,1),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(.75,1),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1, +.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxLine.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];I.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];mxDoubleEllipse.prototype.constraints= mxEllipse.prototype.constraints;mxRhombus.prototype.constraints=mxEllipse.prototype.constraints;mxTriangle.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.5,1),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0)];mxHexagon.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.375, 0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.625,0),!0),new mxConnectionConstraint(new mxPoint(0,.25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0),new mxConnectionConstraint(new mxPoint(.375,1),!0),new mxConnectionConstraint(new mxPoint(.5,1), !0),new mxConnectionConstraint(new mxPoint(.625,1),!0)];mxCloud.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,.25),!1),new mxConnectionConstraint(new mxPoint(.4,.1),!1),new mxConnectionConstraint(new mxPoint(.16,.55),!1),new mxConnectionConstraint(new mxPoint(.07,.4),!1),new mxConnectionConstraint(new mxPoint(.31,.8),!1),new mxConnectionConstraint(new mxPoint(.13,.77),!1),new mxConnectionConstraint(new mxPoint(.8,.8),!1),new mxConnectionConstraint(new mxPoint(.55,.95),!1),new mxConnectionConstraint(new mxPoint(.875, -.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;d.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, +.5),!1),new mxConnectionConstraint(new mxPoint(.96,.7),!1),new mxConnectionConstraint(new mxPoint(.625,.2),!1),new mxConnectionConstraint(new mxPoint(.88,.25),!1)];f.prototype.constraints=mxRectangleShape.prototype.constraints;g.prototype.constraints=mxRectangleShape.prototype.constraints;c.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.25,0),!0),new mxConnectionConstraint(new mxPoint(.5,0),!0),new mxConnectionConstraint(new mxPoint(.75,0),!0),new mxConnectionConstraint(new mxPoint(0, .25),!0),new mxConnectionConstraint(new mxPoint(0,.5),!0),new mxConnectionConstraint(new mxPoint(0,.75),!0),new mxConnectionConstraint(new mxPoint(1,.25),!0),new mxConnectionConstraint(new mxPoint(1,.5),!0),new mxConnectionConstraint(new mxPoint(1,.75),!0)];mxArrow.prototype.constraints=null;X.prototype.constraints=null;L.prototype.constraints=null;O.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,0),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0, -1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];B.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), +1),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.5,.5),!1),new mxConnectionConstraint(new mxPoint(.75,.5),!1),new mxConnectionConstraint(new mxPoint(1,0),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(1,1),!1)];A.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1)];W.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1), new mxConnectionConstraint(new mxPoint(1,.5),!1)];ba.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.5,0),!1),new mxConnectionConstraint(new mxPoint(.5,1),!1)];N.prototype.constraints=null;da.prototype.constraints=[new mxConnectionConstraint(new mxPoint(0,.25),!1),new mxConnectionConstraint(new mxPoint(0,.5),!1),new mxConnectionConstraint(new mxPoint(0,.75),!1),new mxConnectionConstraint(new mxPoint(1, .5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)];T.prototype.constraints=[new mxConnectionConstraint(new mxPoint(.175,.25),!1),new mxConnectionConstraint(new mxPoint(.25,.5),!1),new mxConnectionConstraint(new mxPoint(.175,.75),!1),new mxConnectionConstraint(new mxPoint(1,.5),!1),new mxConnectionConstraint(new mxPoint(.7,.1),!1),new mxConnectionConstraint(new mxPoint(.7,.9),!1)]})();function Actions(a){this.editorUi=a;this.actions={};this.init()} -Actions.prototype.init=function(){function a(a){c.escape();var b=c.getDeletableCells(c.getSelectionCells());if(null!=b&&0<b.length){var d=c.model.getParents(b);c.removeCells(b,a);if(null!=d){a=[];for(b=0;b<d.length;b++)c.model.contains(d[b])&&(c.model.isVertex(d[b])||c.model.isEdge(d[b]))&&a.push(d[b]);c.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,c=e.graph,k=function(){return Action.prototype.isEnabled.apply(this,arguments)&&c.isEnabled()};this.addAction("new...",function(){c.openLink(b.getUrl())}); -this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var d=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(d.documentElement))}catch(f){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+f.message)}}));b.showDialog((new OpenDialog(this)).container, +Actions.prototype.init=function(){function a(a){d.escape();var b=d.getDeletableCells(d.getSelectionCells());if(null!=b&&0<b.length){var c=d.model.getParents(b);d.removeCells(b,a);if(null!=c){a=[];for(b=0;b<c.length;b++)d.model.contains(c[b])&&(d.model.isVertex(c[b])||d.model.isEdge(c[b]))&&a.push(c[b]);d.setSelectionCells(a)}}}var b=this.editorUi,e=b.editor,d=e.graph,k=function(){return Action.prototype.isEnabled.apply(this,arguments)&&d.isEnabled()};this.addAction("new...",function(){d.openLink(b.getUrl())}); +this.addAction("open...",function(){window.openNew=!0;window.openKey="open";b.openFile()});this.addAction("import...",function(){window.openNew=!1;window.openKey="import";window.openFile=new OpenFile(mxUtils.bind(this,function(){b.hideDialog()}));window.openFile.setConsumer(mxUtils.bind(this,function(a,b){try{var c=mxUtils.parseXml(a);e.graph.setSelectionCells(e.graph.importGraphModel(c.documentElement))}catch(f){mxUtils.alert(mxResources.get("invalidOrMissingFile")+": "+f.message)}}));b.showDialog((new OpenDialog(this)).container, 320,220,!0,!0,function(){window.openFile=null})}).isEnabled=k;this.addAction("save",function(){b.saveFile(!1)},null,null,Editor.ctrlKey+"+S").isEnabled=k;this.addAction("saveAs...",function(){b.saveFile(!0)},null,null,Editor.ctrlKey+"+Shift+S").isEnabled=k;this.addAction("export...",function(){b.showDialog((new ExportDialog(b)).container,300,230,!0,!0)});this.addAction("editDiagram...",function(){var a=new EditDiagramDialog(b);b.showDialog(a.container,620,420,!0,!1);a.init()});this.addAction("pageSetup...", -function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=k;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(c,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", -function(){mxClipboard.cut(c)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(c)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&mxClipboard.paste(c)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){c.getModel().beginUpdate();try{var b=mxClipboard.paste(c);if(null!=b){a=!0;for(var d=0;d<b.length&& -a;d++)a=a&&c.model.isEdge(b[d]);var f=c.view.translate,e=c.view.scale,m=f.x,t=f.y,f=null;if(1==b.length&&a){var h=c.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:c.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(c.snap(c.popupMenuHandler.triggerX/e-m)),q=Math.round(c.snap(c.popupMenuHandler.triggerY/e-t));c.cellsMoved(b,n-f.x,q-f.y)}}}finally{c.getModel().endUpdate()}}});this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete"); -this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){c.setSelectionCells(c.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){c.turnShapes(c.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices",function(){c.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){c.selectEdges()}, -null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){c.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){c.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!c.isSelectionEmpty()){c.getModel().beginUpdate();try{var a=c.isCellMovable(c.getSelectionCell())?1:0;c.toggleCellStyles(mxConstants.STYLE_MOVABLE,a);c.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);c.toggleCellStyles(mxConstants.STYLE_ROTATABLE, -a);c.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);c.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);c.toggleCellStyles("connectable",a)}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){c.home()},null,null,"Home");this.addAction("exitGroup",function(){c.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){c.enterGroup()},null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){c.foldCells(!0)}, -null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){c.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){c.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){c.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==c.getSelectionCount()?c.setCellStyles("container","1"):c.setSelectionCell(c.groupCells(null,0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1== -c.getSelectionCount()&&0==c.getModel().getChildCount(c.getSelectionCell())?c.setCellStyles("container","0"):c.setSelectionCells(c.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){c.removeCellsFromParent()});this.addAction("edit",function(){c.isEnabled()&&c.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=c.getSelectionCell()||c.getModel().getRoot();null!=a&&(a=new EditDataDialog(b,a),b.showDialog(a.container, -340,340,!0,!1,null,!1),a.init())},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),d="";if(mxUtils.isNode(c.value)){var f=c.value.getAttribute("tooltip");null!=f&&(d=f)}d=new TextareaDialog(b,mxResources.get("editTooltip")+":",d,function(d){a.setTooltipForCell(c,d)});b.showDialog(d.container,320,200,!0,!0);d.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a= -c.getLinkForCell(c.getSelectionCell());null!=a&&c.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var c=a.getSelectionCell(),d=a.getLinkForCell(c)||"";b.showLinkDialog(d,mxResources.get("apply"),function(d){d=mxUtils.trim(d);a.setLinkForCell(c,0<d.length?d:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"), -function(a,b){a=mxUtils.trim(a);if(0<a.length){var d=null,f=c.getLinkTitle(a);null!=b&&0<b.length&&(d=b[0].iconUrl,f=b[0].name||b[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));var e=c.getFreeInsertPoint(),d=new mxCell(f,new mxGeometry(e.x,e.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=d?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+d:"spacing=10;"));d.vertex=!0;c.setLinkForCell(d,a);c.cellSizeUpdated(d, -!0);c.getModel().beginUpdate();try{d=c.addCell(d),c.fireEvent(new mxEventObject("cellsInserted","cells",[d]))}finally{c.getModel().endUpdate()}c.setSelectionCell(d);c.scrollCellToVisible(c.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var c=a.getSelectedElement(),d=a.getParentByName(c,"A",a.cellEditor.textarea),f="";if(null==d&&null!=c&&null!=c.getElementsByTagName)for(var e=c.getElementsByTagName("a"), -m=0;m<e.length&&null==d;m++)e[m].textContent==c.textContent&&(a.selectNode(e[m]),d=e[m]);null!=d&&"A"==d.nodeName&&(f=d.getAttribute("href")||"");var t=a.cellEditor.saveSelection();b.showLinkDialog(f,mxResources.get("apply"),mxUtils.bind(this,function(d){a.cellEditor.restoreSelection(t);null!=d&&a.insertLink(d)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=c.getSelectionCells();if(null!=a){c.getModel().beginUpdate(); -try{for(var b=0;b<a.length;b++){var d=a[b];if(c.getModel().getChildCount(d))c.updateGroupBounds([d],20);else{var f=c.view.getState(d),e=c.getCellGeometry(d);c.getModel().isVertex(d)&&null!=f&&null!=f.text&&null!=e&&c.isWrapping(d)?(e=e.clone(),e.height=f.text.boundingBox.height/c.view.scale,c.getModel().setGeometry(d,e)):c.updateCellSize(d)}}}finally{c.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=c.getView().getState(c.getSelectionCell()); -if(null!=a){var e="1";c.stopEditing();c.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,d=c.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=d;d=mxUtils.extractTextWithWhitespace(f.childNodes);c.cellLabelChanged(a.cell,d)}else d=mxUtils.htmlEntities(c.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(d=d.replace(/\n/g,"<br/>")),c.cellLabelChanged(a.cell, -c.sanitizeHtml(d));c.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=c.getView().getState(c.getSelectionCell()),b="wrap";c.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);c.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=c.getView().getState(c.getSelectionCell()); -null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&c.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){c.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){c.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); -this.addAction("zoomOut",function(a){c.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){c.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/a.width/b,(c.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop= -a.y*c.view.scale-1,c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth-c.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();var a=c.pageFormat,b=c.pageScale;c.zoomTo(Math.floor(20*Math.min((c.container.clientWidth-10)/(2*a.width)/b,(c.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(c.container)&&(a=c.getPagePadding(),c.container.scrollTop=Math.min(a.y, -(c.container.scrollHeight-c.container.clientHeight)/2),c.container.scrollLeft=Math.min(a.x,(c.container.scrollWidth-c.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){c.pageVisible||this.get("pageView").funct();c.zoomTo(Math.floor(20*(c.container.clientWidth-10)/c.pageFormat.width/c.pageScale)/20);if(mxUtils.hasScrollbars(c.container)){var a=c.getPagePadding();c.container.scrollLeft=Math.min(a.x*c.view.scale,(c.container.scrollWidth- -c.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*c.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&c.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi, -parseInt(100*c.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var l=null,l=this.addAction("grid",function(){c.setGridEnabled(!c.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.isGridEnabled()});l.setEnabled(!1); -l=this.addAction("guides",function(){c.graphHandler.guidesEnabled=!c.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.graphHandler.guidesEnabled});l.setEnabled(!1);l=this.addAction("tooltips",function(){c.tooltipHandler.setEnabled(!c.tooltipHandler.isEnabled())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.tooltipHandler.isEnabled()});l=this.addAction("collapseExpand",function(){var a= -new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!c.foldingEnabled;c.model.execute(a)});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.foldingEnabled});l.isEnabled=k;l=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.scrollbars});l=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!c.pageVisible)}));l.setToggleAction(!0);l.setSelectedCallback(function(){return c.pageVisible}); -l=this.addAction("connectionArrows",function(){c.connectionArrowsEnabled=!c.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionArrowsEnabled});l=this.addAction("connectionPoints",function(){c.setConnectable(!c.connectionHandler.isEnabled());b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionHandler.isEnabled()}); -l=this.addAction("copyConnect",function(){c.connectionHandler.setCreateTarget(!c.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});l.setToggleAction(!0);l.setSelectedCallback(function(){return c.connectionHandler.isCreateTarget()});l.isEnabled=k;l=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});l.setToggleAction(!0);l.setSelectedCallback(function(){return b.editor.autosave});l.isEnabled=k;l.visible=!1;this.addAction("help",function(){var a= -"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);c.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));l=mxUtils.bind(this,function(a,b,d,f){return this.addAction(a,function(){if(null!=d&&c.cellEditor.isContentEditing())d();else{c.stopEditing(!1);c.getModel().beginUpdate();try{c.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, -b),(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?c.updateLabelElements(c.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&c.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&c.updateLabelElements(c.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& -c.replaceElement(a)})}finally{c.getModel().endUpdate()}}},null,null,f)});l("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");l("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");l("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); +function(){b.showDialog((new PageSetupDialog(b)).container,320,220,!0,!0)}).isEnabled=k;this.addAction("print...",function(){b.showDialog((new PrintDialog(b)).container,300,180,!0,!0)},null,"sprite-print",Editor.ctrlKey+"+P");this.addAction("preview",function(){mxUtils.show(d,null,10,10)});this.addAction("undo",function(){b.undo()},null,"sprite-undo",Editor.ctrlKey+"+Z");this.addAction("redo",function(){b.redo()},null,"sprite-redo",mxClient.IS_WIN?Editor.ctrlKey+"+Y":Editor.ctrlKey+"+Shift+Z");this.addAction("cut", +function(){mxClipboard.cut(d)},null,"sprite-cut",Editor.ctrlKey+"+X");this.addAction("copy",function(){mxClipboard.copy(d)},null,"sprite-copy",Editor.ctrlKey+"+C");this.addAction("paste",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&mxClipboard.paste(d)},!1,"sprite-paste",Editor.ctrlKey+"+V");this.addAction("pasteHere",function(a){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){d.getModel().beginUpdate();try{var b=mxClipboard.paste(d);if(null!=b){a=!0;for(var c=0;c<b.length&& +a;c++)a=a&&d.model.isEdge(b[c]);var f=d.view.translate,e=d.view.scale,u=f.x,t=f.y,f=null;if(1==b.length&&a){var h=d.getCellGeometry(b[0]);null!=h&&(f=h.getTerminalPoint(!0))}f=null!=f?f:d.getBoundingBoxFromGeometry(b,a);if(null!=f){var n=Math.round(d.snap(d.popupMenuHandler.triggerX/e-u)),l=Math.round(d.snap(d.popupMenuHandler.triggerY/e-t));d.cellsMoved(b,n-f.x,l-f.y)}}}finally{d.getModel().endUpdate()}}});this.addAction("copySize",function(a){a=d.getSelectionCell();d.isEnabled()&&null!=a&&d.getModel().isVertex(a)&& +(a=d.getCellGeometry(a),null!=a&&(b.copiedSize=new mxRectangle(a.x,a.y,a.width,a.height)))},null,null,"Alt+Shit+X");this.addAction("pasteSize",function(a){if(d.isEnabled()&&!d.isSelectionEmpty()&&null!=b.copiedSize){d.getModel().beginUpdate();try{var e=d.getSelectionCells();for(a=0;a<e.length;a++)if(d.getModel().isVertex(e[a])){var c=d.getCellGeometry(e[a]);null!=c&&(c=c.clone(),c.width=b.copiedSize.width,c.height=b.copiedSize.height,d.getModel().setGeometry(e[a],c))}}finally{d.getModel().endUpdate()}}}, +null,null,"Alt+Shit+V");this.addAction("delete",function(b){a(null!=b&&mxEvent.isShiftDown(b))},null,null,"Delete");this.addAction("deleteAll",function(){a(!0)},null,null,Editor.ctrlKey+"+Delete");this.addAction("duplicate",function(){d.setSelectionCells(d.duplicateCells())},null,null,Editor.ctrlKey+"+D");this.put("turn",new Action(mxResources.get("turn")+" / "+mxResources.get("reverse"),function(){d.turnShapes(d.getSelectionCells())},null,null,Editor.ctrlKey+"+R"));this.addAction("selectVertices", +function(){d.selectVertices()},null,null,Editor.ctrlKey+"+Shift+I");this.addAction("selectEdges",function(){d.selectEdges()},null,null,Editor.ctrlKey+"+Shift+E");this.addAction("selectAll",function(){d.selectAll(null,!0)},null,null,Editor.ctrlKey+"+A");this.addAction("selectNone",function(){d.clearSelection()},null,null,Editor.ctrlKey+"+Shift+A");this.addAction("lockUnlock",function(){if(!d.isSelectionEmpty()){d.getModel().beginUpdate();try{var a=d.isCellMovable(d.getSelectionCell())?1:0;d.toggleCellStyles(mxConstants.STYLE_MOVABLE, +a);d.toggleCellStyles(mxConstants.STYLE_RESIZABLE,a);d.toggleCellStyles(mxConstants.STYLE_ROTATABLE,a);d.toggleCellStyles(mxConstants.STYLE_DELETABLE,a);d.toggleCellStyles(mxConstants.STYLE_EDITABLE,a);d.toggleCellStyles("connectable",a)}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+L");this.addAction("home",function(){d.home()},null,null,"Home");this.addAction("exitGroup",function(){d.exitGroup()},null,null,Editor.ctrlKey+"+Shift+Home");this.addAction("enterGroup",function(){d.enterGroup()}, +null,null,Editor.ctrlKey+"+Shift+End");this.addAction("collapse",function(){d.foldCells(!0)},null,null,Editor.ctrlKey+"+Home");this.addAction("expand",function(){d.foldCells(!1)},null,null,Editor.ctrlKey+"+End");this.addAction("toFront",function(){d.orderCells(!1)},null,null,Editor.ctrlKey+"+Shift+F");this.addAction("toBack",function(){d.orderCells(!0)},null,null,Editor.ctrlKey+"+Shift+B");this.addAction("group",function(){1==d.getSelectionCount()?d.setCellStyles("container","1"):d.setSelectionCell(d.groupCells(null, +0))},null,null,Editor.ctrlKey+"+G");this.addAction("ungroup",function(){1==d.getSelectionCount()&&0==d.getModel().getChildCount(d.getSelectionCell())?d.setCellStyles("container","0"):d.setSelectionCells(d.ungroupCells())},null,null,Editor.ctrlKey+"+Shift+U");this.addAction("removeFromGroup",function(){d.removeCellsFromParent()});this.addAction("edit",function(){d.isEnabled()&&d.startEditingAtCell()},null,null,"F2/Enter");this.addAction("editData...",function(){var a=d.getSelectionCell()||d.getModel().getRoot(); +b.showDataDialog(a)},null,null,Editor.ctrlKey+"+M");this.addAction("editTooltip...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),c="";if(mxUtils.isNode(d.value)){var f=d.value.getAttribute("tooltip");null!=f&&(c=f)}c=new TextareaDialog(b,mxResources.get("editTooltip")+":",c,function(c){a.setTooltipForCell(d,c)});b.showDialog(c.container,320,200,!0,!0);c.init()}},null,null,"Alt+Shift+T");this.addAction("openLink",function(){var a=d.getLinkForCell(d.getSelectionCell()); +null!=a&&d.openLink(a)});this.addAction("editLink...",function(){var a=b.editor.graph;if(a.isEnabled()&&!a.isSelectionEmpty()){var d=a.getSelectionCell(),c=a.getLinkForCell(d)||"";b.showLinkDialog(c,mxResources.get("apply"),function(c){c=mxUtils.trim(c);a.setLinkForCell(d,0<c.length?c:null)})}},null,null,"Alt+Shift+L");this.addAction("insertLink...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&&b.showLinkDialog("",mxResources.get("insert"),function(a,b){a=mxUtils.trim(a);if(0<a.length){var c= +null,f=d.getLinkTitle(a);null!=b&&0<b.length&&(c=b[0].iconUrl,f=b[0].name||b[0].type,f=f.charAt(0).toUpperCase()+f.substring(1),30<f.length&&(f=f.substring(0,30)+"..."));var e=d.getFreeInsertPoint(),c=new mxCell(f,new mxGeometry(e.x,e.y,100,40),"fontColor=#0000EE;fontStyle=4;rounded=1;overflow=hidden;"+(null!=c?"shape=label;imageWidth=16;imageHeight=16;spacingLeft=26;align=left;image="+c:"spacing=10;"));c.vertex=!0;d.setLinkForCell(c,a);d.cellSizeUpdated(c,!0);d.getModel().beginUpdate();try{c=d.addCell(c), +d.fireEvent(new mxEventObject("cellsInserted","cells",[c]))}finally{d.getModel().endUpdate()}d.setSelectionCell(c);d.scrollCellToVisible(d.getSelectionCell())}})}).isEnabled=k;this.addAction("link...",mxUtils.bind(this,function(){var a=b.editor.graph;if(a.isEnabled())if(a.cellEditor.isContentEditing()){var d=a.getSelectedElement(),c=a.getParentByName(d,"A",a.cellEditor.textarea),f="";if(null==c&&null!=d&&null!=d.getElementsByTagName)for(var e=d.getElementsByTagName("a"),u=0;u<e.length&&null==c;u++)e[u].textContent== +d.textContent&&(a.selectNode(e[u]),c=e[u]);null!=c&&"A"==c.nodeName&&(f=c.getAttribute("href")||"");var t=a.cellEditor.saveSelection();b.showLinkDialog(f,mxResources.get("apply"),mxUtils.bind(this,function(c){a.cellEditor.restoreSelection(t);null!=c&&a.insertLink(c)}))}else a.isSelectionEmpty()?this.get("insertLink").funct():this.get("editLink").funct()})).isEnabled=k;this.addAction("autosize",function(){var a=d.getSelectionCells();if(null!=a){d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var c= +a[b];if(d.getModel().getChildCount(c))d.updateGroupBounds([c],20);else{var f=d.view.getState(c),e=d.getCellGeometry(c);d.getModel().isVertex(c)&&null!=f&&null!=f.text&&null!=e&&d.isWrapping(c)?(e=e.clone(),e.height=f.text.boundingBox.height/d.view.scale,d.getModel().setGeometry(c,e)):d.updateCellSize(c)}}}finally{d.getModel().endUpdate()}}},null,null,Editor.ctrlKey+"+Shift+Y");this.addAction("formattedText",function(){var a=d.getView().getState(d.getSelectionCell());if(null!=a){var e="1";d.stopEditing(); +d.getModel().beginUpdate();try{if("1"==a.style.html){var e=null,c=d.convertValueToString(a.cell);"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"").replace(/<br\s*.?>/g,"\n"));var f=document.createElement("div");f.innerHTML=c;c=mxUtils.extractTextWithWhitespace(f.childNodes);d.cellLabelChanged(a.cell,c)}else c=mxUtils.htmlEntities(d.convertValueToString(a.cell),!1),"0"!=mxUtils.getValue(a.style,"nl2Br","1")&&(c=c.replace(/\n/g,"<br/>")),d.cellLabelChanged(a.cell,d.sanitizeHtml(c)); +d.setCellStyles("html",e);b.fireEvent(new mxEventObject("styleChanged","keys",["html"],"values",[null!=e?e:"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("wordWrap",function(){var a=d.getView().getState(d.getSelectionCell()),b="wrap";d.stopEditing();null!=a&&"wrap"==a.style[mxConstants.STYLE_WHITE_SPACE]&&(b=null);d.setCellStyles(mxConstants.STYLE_WHITE_SPACE,b)});this.addAction("rotation",function(){var a="0",e=d.getView().getState(d.getSelectionCell()); +null!=e&&(a=e.style[mxConstants.STYLE_ROTATION]||a);a=new FilenameDialog(b,a,mxResources.get("apply"),function(a){null!=a&&0<a.length&&d.setCellStyles(mxConstants.STYLE_ROTATION,a)},mxResources.get("enterValue")+" ("+mxResources.get("rotation")+" 0-360)");b.showDialog(a.container,375,80,!0,!0);a.init()});this.addAction("resetView",function(){d.zoomTo(1);b.resetScrollbars()},null,null,Editor.ctrlKey+"+H");this.addAction("zoomIn",function(a){d.zoomIn()},null,null,Editor.ctrlKey+" + (Numpad) / Alt+Mousewheel"); +this.addAction("zoomOut",function(a){d.zoomOut()},null,null,Editor.ctrlKey+" - (Numpad) / Alt+Mousewheel");this.addAction("fitWindow",function(){d.fit()},null,null,Editor.ctrlKey+"+Shift+H");this.addAction("fitPage",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/a.width/b,(d.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop= +a.y*d.view.scale-1,d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth-d.container.clientWidth)/2)-1)}),null,null,Editor.ctrlKey+"+J");this.addAction("fitTwoPages",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();var a=d.pageFormat,b=d.pageScale;d.zoomTo(Math.floor(20*Math.min((d.container.clientWidth-10)/(2*a.width)/b,(d.container.clientHeight-10)/a.height/b))/20);mxUtils.hasScrollbars(d.container)&&(a=d.getPagePadding(),d.container.scrollTop=Math.min(a.y, +(d.container.scrollHeight-d.container.clientHeight)/2),d.container.scrollLeft=Math.min(a.x,(d.container.scrollWidth-d.container.clientWidth)/2))}),null,null,Editor.ctrlKey+"+Shift+J");this.addAction("fitPageWidth",mxUtils.bind(this,function(){d.pageVisible||this.get("pageView").funct();d.zoomTo(Math.floor(20*(d.container.clientWidth-10)/d.pageFormat.width/d.pageScale)/20);if(mxUtils.hasScrollbars(d.container)){var a=d.getPagePadding();d.container.scrollLeft=Math.min(a.x*d.view.scale,(d.container.scrollWidth- +d.container.clientWidth)/2)}}));this.put("customZoom",new Action(mxResources.get("custom")+"...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi,parseInt(100*d.getView().getScale()),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&d.zoomTo(a/100)}),mxResources.get("zoom")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}),null,null,Editor.ctrlKey+"+0"));this.addAction("pageScale...",mxUtils.bind(this,function(){var a=new FilenameDialog(this.editorUi, +parseInt(100*d.pageScale),mxResources.get("apply"),mxUtils.bind(this,function(a){a=parseInt(a);!isNaN(a)&&0<a&&b.setPageScale(a/100)}),mxResources.get("pageScale")+" (%)");this.editorUi.showDialog(a.container,300,80,!0,!0);a.init()}));var m=null,m=this.addAction("grid",function(){d.setGridEnabled(!d.isGridEnabled());b.fireEvent(new mxEventObject("gridEnabledChanged"))},null,null,Editor.ctrlKey+"+Shift+G");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.isGridEnabled()});m.setEnabled(!1); +m=this.addAction("guides",function(){d.graphHandler.guidesEnabled=!d.graphHandler.guidesEnabled;b.fireEvent(new mxEventObject("guidesEnabledChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.graphHandler.guidesEnabled});m.setEnabled(!1);m=this.addAction("tooltips",function(){d.tooltipHandler.setEnabled(!d.tooltipHandler.isEnabled())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.tooltipHandler.isEnabled()});m=this.addAction("collapseExpand",function(){var a= +new ChangePageSetup(b);a.ignoreColor=!0;a.ignoreImage=!0;a.foldingEnabled=!d.foldingEnabled;d.model.execute(a)});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.foldingEnabled});m.isEnabled=k;m=this.addAction("scrollbars",function(){b.setScrollbars(!b.hasScrollbars())});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.scrollbars});m=this.addAction("pageView",mxUtils.bind(this,function(){b.setPageVisible(!d.pageVisible)}));m.setToggleAction(!0);m.setSelectedCallback(function(){return d.pageVisible}); +m=this.addAction("connectionArrows",function(){d.connectionArrowsEnabled=!d.connectionArrowsEnabled;b.fireEvent(new mxEventObject("connectionArrowsChanged"))},null,null,"Alt+Shift+A");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionArrowsEnabled});m=this.addAction("connectionPoints",function(){d.setConnectable(!d.connectionHandler.isEnabled());b.fireEvent(new mxEventObject("connectionPointsChanged"))},null,null,"Alt+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isEnabled()}); +m=this.addAction("copyConnect",function(){d.connectionHandler.setCreateTarget(!d.connectionHandler.isCreateTarget());b.fireEvent(new mxEventObject("copyConnectChanged"))});m.setToggleAction(!0);m.setSelectedCallback(function(){return d.connectionHandler.isCreateTarget()});m.isEnabled=k;m=this.addAction("autosave",function(){b.editor.setAutosave(!b.editor.autosave)});m.setToggleAction(!0);m.setSelectedCallback(function(){return b.editor.autosave});m.isEnabled=k;m.visible=!1;this.addAction("help",function(){var a= +"";mxResources.isLanguageSupported(mxClient.language)&&(a="_"+mxClient.language);d.openLink(RESOURCES_PATH+"/help"+a+".html")});var p=!1;this.put("about",new Action(mxResources.get("about")+" Graph Editor...",function(){p||(b.showDialog((new AboutDialog(b)).container,320,280,!0,!0,function(){p=!1}),p=!0)},null,null,"F1"));m=mxUtils.bind(this,function(a,b,c,f){return this.addAction(a,function(){if(null!=c&&d.cellEditor.isContentEditing())c();else{d.stopEditing(!1);d.getModel().beginUpdate();try{d.toggleCellStyleFlags(mxConstants.STYLE_FONTSTYLE, +b),(b&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontWeight=null;"B"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC?d.updateLabelElements(d.getSelectionCells(),function(a){a.style.fontStyle=null;"I"==a.nodeName&&d.replaceElement(a)}):(b&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&d.updateLabelElements(d.getSelectionCells(),function(a){a.style.textDecoration=null;"U"==a.nodeName&& +d.replaceElement(a)})}finally{d.getModel().endUpdate()}}},null,null,f)});m("bold",mxConstants.FONT_BOLD,function(){document.execCommand("bold",!1,null)},Editor.ctrlKey+"+B");m("italic",mxConstants.FONT_ITALIC,function(){document.execCommand("italic",!1,null)},Editor.ctrlKey+"+I");m("underline",mxConstants.FONT_UNDERLINE,function(){document.execCommand("underline",!1,null)},Editor.ctrlKey+"+U");this.addAction("fontColor...",function(){b.menus.pickColor(mxConstants.STYLE_FONTCOLOR,"forecolor","000000")}); this.addAction("strokeColor...",function(){b.menus.pickColor(mxConstants.STYLE_STROKECOLOR)});this.addAction("fillColor...",function(){b.menus.pickColor(mxConstants.STYLE_FILLCOLOR)});this.addAction("gradientColor...",function(){b.menus.pickColor(mxConstants.STYLE_GRADIENTCOLOR)});this.addAction("backgroundColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BACKGROUNDCOLOR,"backcolor")});this.addAction("borderColor...",function(){b.menus.pickColor(mxConstants.STYLE_LABEL_BORDERCOLOR)}); -this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,null),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}); -this.addAction("dashed",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("dotted",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_DASHED,"1"),c.setCellStyles(mxConstants.STYLE_DASH_PATTERN, -"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("sharp",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}); -this.addAction("rounded",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),c.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!c.isSelectionEmpty()&&c.isEnabled()){c.getModel().beginUpdate();try{var a=c.getSelectionCells(),e=c.view.getState(a[0]), -d=null!=e?e.style:c.getCellStyle(a[0]),f="1"==mxUtils.getValue(d,mxConstants.STYLE_ROUNDED,"0")?"0":"1";c.setCellStyles(mxConstants.STYLE_ROUNDED,f);c.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}}});this.addAction("curved",function(){c.getModel().beginUpdate();try{c.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),c.setCellStyles(mxConstants.STYLE_CURVED, -"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",c.getSelectionCells()))}finally{c.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=c.view.getState(c.getSelectionCell()),e="1";null!=a&&null!=c.getFoldingImage(a)&&(e="0");c.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",c.getSelectionCells()))});this.addAction("editStyle...", -mxUtils.bind(this,function(){var a=c.getSelectionCells();if(null!=a&&0<a.length){var b=c.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",function(d){null!=d&&c.setCellStyle(mxUtils.trim(d),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){c.isEnabled()&&!c.isSelectionEmpty()&&b.setDefaultStyle(c.getSelectionCell())},null,null,Editor.ctrlKey+ -"+Shift+D");this.addAction("clearDefaultStyle",function(){c.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=c.getSelectionCell();if(null!=a&&c.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var d=c.view.translate,f=c.view.scale,g=d.x,d=d.y,a=c.getModel().getParent(a),m=c.getCellGeometry(a);c.getModel().isVertex(a)&&null!=m;)g+=m.x,d+=m.y,a=c.getModel().getParent(a),m= -c.getCellGeometry(a);g=Math.round(c.snap(c.popupMenuHandler.triggerX/f-g));f=Math.round(c.snap(c.popupMenuHandler.triggerY/f-d));b.addPointAt(b.state,g,f)}}});this.addAction("removeWaypoint",function(){var a=b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=c.getSelectionCells();if(null!=a){a=c.addAllEdges(a);c.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var d=a[b];if(c.getModel().isEdge(d)){var f= -c.getCellGeometry(d);null!=f&&(f=f.clone(),f.points=null,c.getModel().setGeometry(d,f))}}}finally{c.getModel().endUpdate()}}},null,null,"Alt+Shift+C");l=this.addAction("subscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");l=this.addAction("superscript",mxUtils.bind(this,function(){c.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", -function(){if(c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=c.getView().getState(c.getSelectionCell()),d="";null!=e&&(d=e.style[mxConstants.STYLE_IMAGE]||d);var f=c.cellEditor.saveSelection();b.showImageDialog(a,d,function(a,d,b){if(c.cellEditor.isContentEditing())c.cellEditor.restoreSelection(f),c.insertImage(a,d,b);else{var e=c.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;c.getModel().beginUpdate(); -try{if(0==e.length){var q=c.getFreeInsertPoint(),g=e=[c.insertVertex(c.getDefaultParent(),null,"",q.x,q.y,d,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];c.fireEvent(new mxEventObject("cellsInserted","cells",g))}c.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var m=c.view.getState(e[0]),u=null!=m?m.style:c.getCellStyle(e[0]);"image"!=u[mxConstants.STYLE_SHAPE]&&"label"!=u[mxConstants.STYLE_SHAPE]?c.setCellStyles(mxConstants.STYLE_SHAPE,"image", -e):0==a.length&&c.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==c.getSelectionCount()&&null!=d&&null!=b){var t=e[0],k=c.getModel().getGeometry(t);null!=k&&(k=k.clone(),k.width=d,k.height=b,c.getModel().setGeometry(t,k))}}finally{c.getModel().endUpdate()}null!=g&&(c.setSelectionCells(g),c.scrollCellToVisible(g[0]))}}},c.cellEditor.isContentEditing(),!c.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){c.isEnabled()&&!c.isCellLocked(c.getDefaultParent())&& -(c.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;l=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))): -this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));l=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));l=this.addAction("outline", +this.addAction("vertical",function(){b.menus.toggleStyle(mxConstants.STYLE_HORIZONTAL,!0)});this.addAction("shadow",function(){b.menus.toggleStyle(mxConstants.STYLE_SHADOW)});this.addAction("solid",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,null),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",[null,null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}); +this.addAction("dashed",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN,null),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1",null],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("dotted",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_DASHED,"1"),d.setCellStyles(mxConstants.STYLE_DASH_PATTERN, +"1 4"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_DASHED,mxConstants.STYLE_DASH_PATTERN],"values",["1","1 4"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("sharp",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}); +this.addAction("rounded",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"1"),d.setCellStyles(mxConstants.STYLE_CURVED,"0"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["1","0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("toggleRounded",function(){if(!d.isSelectionEmpty()&&d.isEnabled()){d.getModel().beginUpdate();try{var a=d.getSelectionCells(),e=d.view.getState(a[0]), +c=null!=e?e.style:d.getCellStyle(a[0]),f="1"==mxUtils.getValue(c,mxConstants.STYLE_ROUNDED,"0")?"0":"1";d.setCellStyles(mxConstants.STYLE_ROUNDED,f);d.setCellStyles(mxConstants.STYLE_CURVED,null);b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",[f,"0"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}}});this.addAction("curved",function(){d.getModel().beginUpdate();try{d.setCellStyles(mxConstants.STYLE_ROUNDED,"0"),d.setCellStyles(mxConstants.STYLE_CURVED, +"1"),b.fireEvent(new mxEventObject("styleChanged","keys",[mxConstants.STYLE_ROUNDED,mxConstants.STYLE_CURVED],"values",["0","1"],"cells",d.getSelectionCells()))}finally{d.getModel().endUpdate()}});this.addAction("collapsible",function(){var a=d.view.getState(d.getSelectionCell()),e="1";null!=a&&null!=d.getFoldingImage(a)&&(e="0");d.setCellStyles("collapsible",e);b.fireEvent(new mxEventObject("styleChanged","keys",["collapsible"],"values",[e],"cells",d.getSelectionCells()))});this.addAction("editStyle...", +mxUtils.bind(this,function(){var a=d.getSelectionCells();if(null!=a&&0<a.length){var b=d.getModel(),b=new TextareaDialog(this.editorUi,mxResources.get("editStyle")+":",b.getStyle(a[0])||"",function(c){null!=c&&d.setCellStyle(mxUtils.trim(c),a)},null,null,400,220);this.editorUi.showDialog(b.container,420,300,!0,!0);b.init()}}),null,null,Editor.ctrlKey+"+E");this.addAction("setAsDefaultStyle",function(){d.isEnabled()&&!d.isSelectionEmpty()&&b.setDefaultStyle(d.getSelectionCell())},null,null,Editor.ctrlKey+ +"+Shift+D");this.addAction("clearDefaultStyle",function(){d.isEnabled()&&b.clearDefaultStyle()},null,null,Editor.ctrlKey+"+Shift+R");this.addAction("addWaypoint",function(){var a=d.getSelectionCell();if(null!=a&&d.getModel().isEdge(a)){var b=e.graph.selectionCellsHandler.getHandler(a);if(b instanceof mxEdgeHandler){for(var c=d.view.translate,f=d.view.scale,g=c.x,c=c.y,a=d.getModel().getParent(a),u=d.getCellGeometry(a);d.getModel().isVertex(a)&&null!=u;)g+=u.x,c+=u.y,a=d.getModel().getParent(a),u= +d.getCellGeometry(a);g=Math.round(d.snap(d.popupMenuHandler.triggerX/f-g));f=Math.round(d.snap(d.popupMenuHandler.triggerY/f-c));b.addPointAt(b.state,g,f)}}});this.addAction("removeWaypoint",function(){var a=b.actions.get("removeWaypoint");null!=a.handler&&a.handler.removePoint(a.handler.state,a.index)});this.addAction("clearWaypoints",function(){var a=d.getSelectionCells();if(null!=a){a=d.addAllEdges(a);d.getModel().beginUpdate();try{for(var b=0;b<a.length;b++){var c=a[b];if(d.getModel().isEdge(c)){var f= +d.getCellGeometry(c);null!=f&&(f=f.clone(),f.points=null,d.getModel().setGeometry(c,f))}}}finally{d.getModel().endUpdate()}}},null,null,"Alt+Shift+C");m=this.addAction("subscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("subscript",!1,null)}),null,null,Editor.ctrlKey+"+,");m=this.addAction("superscript",mxUtils.bind(this,function(){d.cellEditor.isContentEditing()&&document.execCommand("superscript",!1,null)}),null,null,Editor.ctrlKey+"+.");this.addAction("image...", +function(){if(d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())){var a=mxResources.get("image")+" ("+mxResources.get("url")+"):",e=d.getView().getState(d.getSelectionCell()),c="";null!=e&&(c=e.style[mxConstants.STYLE_IMAGE]||c);var f=d.cellEditor.saveSelection();b.showImageDialog(a,c,function(a,c,b){if(d.cellEditor.isContentEditing())d.cellEditor.restoreSelection(f),d.insertImage(a,c,b);else{var e=d.getSelectionCells();if(null!=a&&(0<a.length||0<e.length)){var g=null;d.getModel().beginUpdate(); +try{if(0==e.length){var l=d.getFreeInsertPoint(),g=e=[d.insertVertex(d.getDefaultParent(),null,"",l.x,l.y,c,b,"shape=image;imageAspect=0;aspect=fixed;verticalLabelPosition=bottom;verticalAlign=top;")];d.fireEvent(new mxEventObject("cellsInserted","cells",g))}d.setCellStyles(mxConstants.STYLE_IMAGE,0<a.length?a:null,e);var u=d.view.getState(e[0]),q=null!=u?u.style:d.getCellStyle(e[0]);"image"!=q[mxConstants.STYLE_SHAPE]&&"label"!=q[mxConstants.STYLE_SHAPE]?d.setCellStyles(mxConstants.STYLE_SHAPE,"image", +e):0==a.length&&d.setCellStyles(mxConstants.STYLE_SHAPE,null,e);if(1==d.getSelectionCount()&&null!=c&&null!=b){var t=e[0],k=d.getModel().getGeometry(t);null!=k&&(k=k.clone(),k.width=c,k.height=b,d.getModel().setGeometry(t,k))}}finally{d.getModel().endUpdate()}null!=g&&(d.setSelectionCells(g),d.scrollCellToVisible(g[0]))}}},d.cellEditor.isContentEditing(),!d.cellEditor.isContentEditing())}}).isEnabled=k;this.addAction("insertImage...",function(){d.isEnabled()&&!d.isCellLocked(d.getDefaultParent())&& +(d.clearSelection(),b.actions.get("image").funct())}).isEnabled=k;m=this.addAction("layers",mxUtils.bind(this,function(){null==this.layersWindow?(this.layersWindow=new LayersWindow(b,document.body.offsetWidth-280,120,220,180),this.layersWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("layers"))}),this.layersWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("layers"))): +this.layersWindow.window.setVisible(!this.layersWindow.window.isVisible())}),null,null,Editor.ctrlKey+"+Shift+L");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.layersWindow&&this.layersWindow.window.isVisible()}));m=this.addAction("formatPanel",mxUtils.bind(this,function(){b.toggleFormatPanel()}),null,null,Editor.ctrlKey+"+Shift+P");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return 0<b.formatWidth}));m=this.addAction("outline", mxUtils.bind(this,function(){null==this.outlineWindow?(this.outlineWindow=new OutlineWindow(b,document.body.offsetWidth-260,100,180,180),this.outlineWindow.window.addListener("show",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.addListener("hide",function(){b.fireEvent(new mxEventObject("outline"))}),this.outlineWindow.window.setVisible(!0),b.fireEvent(new mxEventObject("outline"))):this.outlineWindow.window.setVisible(!this.outlineWindow.window.isVisible())}),null, -null,Editor.ctrlKey+"+Shift+O");l.setToggleAction(!0);l.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};Actions.prototype.addAction=function(a,b,e,c,k){var l;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),l=mxResources.get(a)+"..."):l=mxResources.get(a);return this.put(a,new Action(l,b,e,c,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]}; -function Action(a,b,e,c,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=c;this.shortcut=k;this.visible=!0}mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled}; +null,Editor.ctrlKey+"+Shift+O");m.setToggleAction(!0);m.setSelectedCallback(mxUtils.bind(this,function(){return null!=this.outlineWindow&&this.outlineWindow.window.isVisible()}))};Actions.prototype.addAction=function(a,b,e,d,k){var m;"..."==a.substring(a.length-3)?(a=a.substring(0,a.length-3),m=mxResources.get(a)+"..."):m=mxResources.get(a);return this.put(a,new Action(m,b,e,d,k))};Actions.prototype.put=function(a,b){return this.actions[a]=b};Actions.prototype.get=function(a){return this.actions[a]}; +function Action(a,b,e,d,k){mxEventSource.call(this);this.label=a;this.funct=this.createFunction(b);this.enabled=null!=e?e:!0;this.iconCls=d;this.shortcut=k;this.visible=!0}mxUtils.extend(Action,mxEventSource);Action.prototype.createFunction=function(a){return a};Action.prototype.setEnabled=function(a){this.enabled!=a&&(this.enabled=a,this.fireEvent(new mxEventObject("stateChanged")))};Action.prototype.isEnabled=function(){return this.enabled}; Action.prototype.setToggleAction=function(a){this.toggleAction=a};Action.prototype.setSelectedCallback=function(a){this.selectedCallback=a};Action.prototype.isSelected=function(){return this.selectedCallback()};DrawioFile=function(a,b){mxEventSource.call(this);this.ui=a;this.data=b||""};mxUtils.extend(DrawioFile,mxEventSource);DrawioFile.prototype.autosaveDelay=1500;DrawioFile.prototype.maxAutosaveDelay=3E4;DrawioFile.prototype.autosaveThread=null;DrawioFile.prototype.lastAutosave=null;DrawioFile.prototype.modified=!1;DrawioFile.prototype.changeListenerEnabled=!0;DrawioFile.prototype.lastAutosaveRevision=null;DrawioFile.prototype.maxAutosaveRevisionDelay=18E5;DrawioFile.prototype.descriptorChanged=function(){this.fireEvent(new mxEventObject("descriptorChanged"))}; -DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,b,e,c){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,c){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; +DrawioFile.prototype.contentChanged=function(){this.fireEvent(new mxEventObject("contentChanged"))};DrawioFile.prototype.save=function(a,b,e,d){this.updateFileData();this.clearAutosave()};DrawioFile.prototype.updateFileData=function(){this.setData(this.ui.getFileData(null,null,null,null,null,null,null,null,this))};DrawioFile.prototype.saveAs=function(a,b,e){};DrawioFile.prototype.saveFile=function(a,b,e,d){};DrawioFile.prototype.getPublicUrl=function(a){a(null)}; DrawioFile.prototype.isRestricted=function(){return!1};DrawioFile.prototype.isModified=function(){return this.modified};DrawioFile.prototype.setModified=function(a){this.modified=a};DrawioFile.prototype.isAutosaveOptional=function(){return!1};DrawioFile.prototype.isAutosave=function(){return this.ui.editor.autosave};DrawioFile.prototype.isRenamable=function(){return!1};DrawioFile.prototype.rename=function(a,b,e){};DrawioFile.prototype.isMovable=function(){return!1}; DrawioFile.prototype.move=function(a,b,e){};DrawioFile.prototype.getHash=function(){return""};DrawioFile.prototype.getId=function(){return""};DrawioFile.prototype.isEditable=function(){return!this.ui.editor.isChromelessView()||this.ui.editor.editable};DrawioFile.prototype.getUi=function(){return this.ui};DrawioFile.prototype.getTitle=function(){return""};DrawioFile.prototype.setData=function(a){this.data=a};DrawioFile.prototype.getData=function(){return this.data}; DrawioFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,b){var e=null!=b?b.getProperty("edit"):null;!this.changeListenerEnabled||!this.isEditable()||null!=e&&e.ignoreEdit||(this.setModified(!0),this.isAutosave()?(this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get("saving"))+"..."),this.autosave(this.autosaveDelay,this.maxAutosaveDelay,mxUtils.bind(this,function(a){null!=this.autosaveThread||this.ui.getCurrentFile()!=this|| @@ -2622,12 +2624,12 @@ this.isModified()||this.ui.editor.setStatus(mxUtils.htmlEntities(mxResources.get this.ui.addListener("pageScaleChanged",this.changeListener);this.ui.addListener("backgroundColorChanged",this.changeListener);this.ui.addListener("backgroundImageChanged",this.changeListener);this.ui.addListener("foldingEnabledChanged",this.changeListener);this.ui.addListener("mathEnabledChanged",this.changeListener);this.ui.addListener("gridEnabledChanged",this.changeListener);this.ui.addListener("guidesEnabledChanged",this.changeListener);this.ui.addListener("pageViewChanged",this.changeListener)}; DrawioFile.prototype.addUnsavedStatus=function(a){a instanceof Error&&null!=a.message?this.ui.editor.setStatus('<div class="geStatusAlert" style="overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChanges"))+" ("+mxUtils.htmlEntities(a.message)+")</div>"):(this.ui.editor.setStatus('<div class="geStatusAlert" style="cursor:pointer;overflow:hidden;">'+mxUtils.htmlEntities(mxResources.get("unsavedChangesClickHereToSave"))+"</div>"),null!=this.ui.statusContainer&&(a=this.ui.statusContainer.getElementsByTagName("div"), 0<a.length&&mxEvent.addListener(a[0],"click",mxUtils.bind(this,function(){this.ui.actions.get(null==this.ui.mode?"saveAs":"save").funct()}))))}; -DrawioFile.prototype.autosave=function(a,b,e,c){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<b?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}), -mxUtils.bind(this,function(a){null!=c&&c(a)}))}else null!=e&&e(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; -DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),c=0<e?a.substring(e):"",e=b.lastIndexOf(".");return c===(0<e?b.substring(e):"")}return a==b}; -DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,b,e,c){DrawioFile.call(this,a,b);this.title=e;this.mode=c?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; -LocalFile.prototype.saveFile=function(a,b,e,c){this.title=a;this.updateFileData();b=this.getData();var k=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),l=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,k?"image/png":"text/xml",k);else if(b.length<MAX_REQUEST_SIZE){var c=a.lastIndexOf("."),c=0<c?a.substring(c+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+c+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ -(k?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});k?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){l(a)}),c,this.ui.getCurrentFile()!=this?this.getData():null):l(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; +DrawioFile.prototype.autosave=function(a,b,e,d){null==this.lastAutosave&&(this.lastAutosave=(new Date).getTime());a=(new Date).getTime()-this.lastAutosave<b?a:0;this.clearAutosave();this.autosaveThread=window.setTimeout(mxUtils.bind(this,function(){this.lastAutosave=this.autosaveThread=null;if(this.isModified()&&this.isAutosaveNow()){var a=this.isAutosaveRevision();a&&(this.lastAutosaveRevision=(new Date).getTime());this.save(a,mxUtils.bind(this,function(a){this.autosaveCompleted();null!=e&&e(a)}), +mxUtils.bind(this,function(a){null!=d&&d(a)}))}else null!=e&&e(null)}),a)};DrawioFile.prototype.isAutosaveNow=function(){return!0};DrawioFile.prototype.autosaveCompleted=function(){};DrawioFile.prototype.clearAutosave=function(){null!=this.autosaveThread&&(window.clearTimeout(this.autosaveThread),this.autosaveThread=null)};DrawioFile.prototype.isAutosaveRevision=function(){var a=(new Date).getTime();return null==this.lastAutosaveRevision||a-this.lastAutosaveRevision>this.maxAutosaveRevisionDelay}; +DrawioFile.prototype.close=function(a){this.isAutosave()&&this.isModified()&&this.save(this.isAutosaveRevision(),null,null,a);this.destroy()};DrawioFile.prototype.hasSameExtension=function(a,b){if(null!=a&&null!=b){var e=a.lastIndexOf("."),d=0<e?a.substring(e):"",e=b.lastIndexOf(".");return d===(0<e?b.substring(e):"")}return a==b}; +DrawioFile.prototype.destroy=function(){this.clearAutosave();null!=this.changeListener&&(this.ui.editor.graph.model.removeListener(this.changeListener),this.ui.editor.graph.removeListener(this.changeListener),this.ui.removeListener(this.changeListener),this.changeListener=null)};LocalFile=function(a,b,e,d){DrawioFile.call(this,a,b);this.title=e;this.mode=d?null:App.MODE_DEVICE};mxUtils.extend(LocalFile,DrawioFile);LocalFile.prototype.isAutosave=function(){return!1};LocalFile.prototype.getMode=function(){return this.mode};LocalFile.prototype.getTitle=function(){return this.title};LocalFile.prototype.isRenamable=function(){return!0};LocalFile.prototype.save=function(a,b,e){this.saveAs(this.title,b,e)};LocalFile.prototype.saveAs=function(a,b,e){this.saveFile(a,!1,b,e)}; +LocalFile.prototype.saveFile=function(a,b,e,d){this.title=a;this.updateFileData();b=this.getData();var k=this.ui.useCanvasForExport&&/(\.png)$/i.test(this.getTitle()),m=mxUtils.bind(this,function(b){if(this.ui.isOfflineApp()||this.ui.isLocalFileSave())this.ui.doSaveLocalFile(b,a,k?"image/png":"text/xml",k);else if(b.length<MAX_REQUEST_SIZE){var d=a.lastIndexOf("."),d=0<d?a.substring(d+1):"xml";(new mxXmlRequest(SAVE_URL,"format="+d+"&xml="+encodeURIComponent(b)+"&filename="+encodeURIComponent(a)+ +(k?"&binary=1":""))).simulate(document,"_blank")}else this.ui.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(b)}));this.setModified(!1);this.contentChanged();null!=e&&e()});k?this.ui.getEmbeddedPng(mxUtils.bind(this,function(a){m(a)}),d,this.ui.getCurrentFile()!=this?this.getData():null):m(b)};LocalFile.prototype.rename=function(a,b,e){this.title=a;this.descriptorChanged();null!=b&&b()}; LocalFile.prototype.open=function(){this.ui.setFileData(this.getData());this.changeListener=mxUtils.bind(this,function(a,b){this.setModified(!0);this.addUnsavedStatus()});this.ui.editor.graph.model.addListener(mxEvent.CHANGE,this.changeListener)};(function(){Editor.prototype.appName="draw.io";Editor.closeImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAMAAADzN3VRAAAApVBMVEUAAAD////k5OT///8AAAB1dXXMzMz9/f39/f37+/v5+fn+/v7///9iYmJaWlqFhYWnp6ejo6OHh4f////////////////7+/v5+fnx8fH///8AAAD///8bGxv7+/v5+fkoKCghISFDQ0MYGBjh4eHY2Njb29tQUFBvb29HR0c/Pz82NjYrKyu/v78SEhLu7u7s7OzV1dVVVVU7OzsVFRXAv78QEBBzqehMAAAAG3RSTlMAA/7p/vz5xZlrTiPL/v78+/v7+OXd2TYQDs8L70ZbAAABKUlEQVQoz3VS13LCMBBUXHChd8iukDslQChJ/v/TchaG4cXS+OSb1c7trU7V60OpdRz2ZtNZL4zXNlcN8BEtSG6+NxIXkeRPoBuQ1cjvZ31/VJFB10ISli6diYfH8iYO3WUNCcNlB0gTrXOtkxTo0O1aKKiBBMhhv2MNBQKoiA5wxlZo0JDzD3AYKbWacyj3fs01wxey0pyEP+R8pWKWXoqtIZ0DDg5pbki9krEKOa6LVDQsdoXEsi46Zqh69KFz7B1u7Hb2yDV8firXDKBlZ4UFiswKGRhXTS93/ECK7yxnJ3+S3y/ThpO+cfSD017nqa18aasabU0/t7d+tk0/1oMEJ1NaD67iwdF68OabFSLn+eHb0+vjy+uk8br9fdrftH0O2menfd7+AQfYM/lNjoDHAAAAAElFTkSuQmCC": IMAGE_PATH+"/delete.png";Editor.plusImage=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDdCMTdENjVCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDdCMTdENjZCOEM4MTFFNDlCRjVBNDdCODU5NjNBNUMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowN0IxN0Q2M0I4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowN0IxN0Q2NEI4QzgxMUU0OUJGNUE0N0I4NTk2M0E1QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PtjrjmgAAAAtSURBVHjaYvz//z8DMigvLwcLdHZ2MiKLMzEQCaivkLGsrOw/dU0cAr4GCDAARQsQbTFrv10AAAAASUVORK5CYII=": IMAGE_PATH+"/plus.png";Editor.spinImage=mxClient.IS_SVG?"data:image/gif;base64,R0lGODlhDAAMAPUxAEVriVp7lmCAmmGBm2OCnGmHn3OPpneSqYKbr4OcsIScsI2kto6kt46lt5KnuZmtvpquvpuvv56ywaCzwqK1xKu7yay9yq+/zLHAzbfF0bjG0bzJ1LzK1MDN18jT28nT3M3X3tHa4dTc49Xd5Njf5dng5t3k6d/l6uDm6uru8e7x8/Dz9fT29/b4+Pj5+fj5+vr6+v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkKADEAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAADAAMAAAGR8CYcEgsOgYAIax4CCQuQldrCBEsiK8VS2hoFGOrlJDA+cZQwkLnqyoJFZKviSS0ICrE0ec0jDAwIiUeGyBFGhMPFBkhZo1BACH5BAkKAC4ALAAAAAAMAAwAhVB0kFR3k1V4k2CAmmWEnW6Lo3KOpXeSqH2XrIOcsISdsImhtIqhtJCmuJGnuZuwv52wwJ+ywZ+ywqm6yLHBzbLCzrXEz7fF0LnH0rrI0r7L1b/M1sXR2cfT28rV3czW3s/Z4Nfe5Nvi6ODm6uLn6+Ln7OLo7OXq7efs7+zw8u/y9PDy9PX3+Pr7+////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZDQJdwSCxGDAIAoVFkFBwYSyIwGE4OkCJxIdG6WkJEx8sSKj7elfBB0a5SQg1EQ0SVVMPKhDM6iUIkRR4ZFxsgJl6JQQAh+QQJCgAxACwAAAAADAAMAIVGa4lcfZdjgpxkg51nhp5ui6N3kqh5lKqFnbGHn7KIoLOQp7iRp7mSqLmTqbqarr6br7+fssGitcOitcSuvsuuv8uwwMyzw861xNC5x9K6x9K/zNbDztjE0NnG0drJ1NzQ2eDS2+LT2+LV3ePZ4Oba4ebb4ufc4+jm6+7t8PLt8PPt8fPx8/Xx9PX09vf19/j3+Pn///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CYcEgsUhQFggFSjCQmnE1jcBhqGBXiIuAQSi7FGEIgfIzCFoCXFCZiPO0hKBMiwl7ET6eUYqlWLkUnISImKC1xbUEAIfkECQoAMgAsAAAAAAwADACFTnKPT3KPVHaTYoKcb4yjcY6leZSpf5mtgZuvh5+yiqG0i6K1jqW3kae5nrHBnrLBn7LCoLPCobTDqbrIqrvIs8LOtMPPtcPPtcTPuMbRucfSvcrUvsvVwMzWxdHaydTcytXdzNbezdff0drh2ODl2+Ln3eTp4Obq4ujs5Ont5uvu6O3w6u7w6u7x7/L09vj5+vr7+vv7////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkdAmXBILHIcicOCUqxELKKPxKAYgiYd4oMAEWo8RVmjIMScwhmBcJMKXwLCECmMGAhPI1QRwBiaSixCMDFhLSorLi8wYYxCQQAh+QQJCgAxACwAAAAADAAMAIVZepVggJphgZtnhp5vjKN2kah3kqmBmq+KobSLorWNpLaRp7mWq7ybr7+gs8KitcSktsWnuManucexwM2ywc63xtG6yNO9ytS+ytW/zNbDz9jH0tvL1d3N197S2+LU3OPU3ePV3eTX3+Xa4efb4ufd5Onl6u7r7vHs7/Lt8PLw8/Xy9Pby9fb09ff2+Pn3+Pn6+vr///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSMCYcEgseiwSR+RS7GA4JFGF8RiWNiEiJTERgkjFGAQh/KTCGoJwpApnBkITKrwoCFWnFlEhaAxXLC9CBwAGRS4wQgELYY1CQQAh+QQJCgAzACwAAAAADAAMAIVMcI5SdZFhgZtti6JwjaR4k6mAma6Cm6+KobSLorWLo7WNo7aPpredsMCescGitMOitcSmuMaqu8ixwc2zws63xdC4xtG5x9K9ytXAzdfCztjF0NnF0drK1d3M1t7P2N/P2eDT2+LX3+Xe5Onh5+vi5+vj6Ozk6e3n7O/o7O/q7vHs7/Lt8PPu8fPx8/X3+Pn6+vv7+/v8/Pz///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRcCZcEgsmkIbTOZTLIlGqZNnchm2SCgiJ6IRqljFmQUiXIVnoITQde4chC9Y+LEQxmTFRkFSNFAqDAMIRQoCAAEEDmeLQQAh+QQJCgAwACwAAAAADAAMAIVXeZRefplff5lhgZtph59yjqV2kaeAmq6FnbGFnrGLorWNpLaQp7mRqLmYrb2essGgs8Klt8apusitvcquv8u2xNC7yNO8ydS8ytTAzdfBzdfM1t7N197Q2eDU3OPX3+XZ4ObZ4ebc4+jf5erg5erg5uvp7fDu8fPv8vTz9fb09vf19/j3+Pn4+fn5+vr6+/v///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRUCYcEgspkwjEKhUVJ1QsBNp0xm2VixiSOMRvlxFGAcTJook5eEHIhQcwpWIkAFQECkNy9AQWFwyEAkPRQ4FAwQIE2llQQAh+QQJCgAvACwAAAAADAAMAIVNcY5SdZFigptph6BvjKN0kKd8lquAmq+EnbGGn7KHn7ONpLaOpbearr+csMCdscCescGhtMOnuMauvsuzws60w862xdC9ytW/y9a/zNbCztjG0drH0tvK1N3M1t7N19/U3ePb4uff5urj6Ozk6e3l6u7m6u7o7PDq7vDt8PPv8vTw8vTw8/X19vf6+vv///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQ8CXcEgsvlytVUplJLJIpSEDUESFTELBwSgCCQEV42kjDFiMo4uQsDB2MkLHoEHUTD7DRAHC8VAiZ0QSCgYIDxhNiUEAOw==": @@ -2636,378 +2638,383 @@ IMAGE_PATH+"/img-hi-res.png";Editor.loResImage=mxClient.IS_SVG?"data:image/png;b IMAGE_PATH+"/img-lo-res.png";Editor.cameraLargeImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAVlpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDUuNC4wIj4KICAgPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KTMInWQAAA/BJREFUWAnFl0uIjWEYx885buPSuGwmSYwtwsY1ikKSNYNclmQnadgrZSPlsnBLSlaGBdNYKY0Vdi4L4zYzIqxGxmXG//d+7//0+uY7nWMiT/2/53mf+3v7vnNKpf9M5UbrDw8Pj4m+wzmeT1FBUS6Xf+YNox6reMONukijMXUTM3NmI75PyXcJPwRWg5kS7xysDLNmfEUxpx2rceNE50IlYjyRklcLf0prY+x4BTqfmx3ZUHQaO9ISGngYq38V/1EH+ECPa+QaK1u1kVBQirDMChiS3CTeIkwWvghtwhKBpZ8g1CO2B99FynVU/KowSRgQ3mlrBsVZ1awmQlS0SGbfXglfBPbdRGMm5O8RXg2P835pDCvzWjghTHETcLpZLHwS8kTCtBEK1SN83Egam8YxyVZqc+Do5qkwS+gT9grNwkUBG6cbsG/gs3BTuC/0ChCxq4QtwgzBMdwUZBPyN4Ftfi4sYPZHktbOSRlIuutRP5jYj0ueZp88xyYcS/zZoiLyQT1IA/cTj7eSlwnrhI+JnkQbCwo2Sx/2M7VJt17wdhVtgxvrpoFnAuSAbJQ97biZAlKxBfD9wgOhV+BgIR/AZtJ4kwD5PGSj7OmmekjWEy0oAQHAS3+KpBpzXqYK3UItopHpSRMno2N+cm7gDYnfRCcr3QBqriMHLJDkeyhFfiG5aVbK+8rhtP9M6QcIEJHX5Fp9NMAyQlYiu+OOJNlODCIXyka/P23bncTdiC7OydC1+v1Bsb+5r84DK8S3Rdmf5cRUFW3bXtWUSt1Rdk6G4SyJV2o1YId+vNUxr+x5yCJiapFtcxQzLjrxboGcMxvFJwEOKnLwjIbkx/sdSmeSaUY++SwTAxV+4DJT7RVwkbk46gNCsifIItuy0e9PF33Cb4homhN5YRyzL5q5V2VNkv98kqgoGTo3YF9CnMM5Y5rItFfvBSi9JulVXOgI+VwIntkt+SaZ6weQfcovJf7zpTfl86P/wAF7Fz18NeKwmvAWCaX0Z/uMHQr42ZxvR/Rxcw5xM+9J/CJq8w2gduDhmDgso/QrBH47dEXQ1IqczyHpIOfIRtnTtV7SwO1oKXKkU3fbToFGSDHtMWcaH1WBuVYnDbRFi99iqSMySdzxXckrazUh23KBVYGIcfNBkTxca0e4ATJ0KukGYVBgr/MnlhPOtQq/ksUfCbzh+EFCjtnCUoHfjhA/OsiTv2HcEvJMELp0VakZDliTmriTdPivxU4VmEhtPrGV+KJhO7ZKt0doFZh1fgZSBWIW2AGEHwg3BUWOnKtH+suqdw07tYMfglCrWPD5mw9qVYuniaXkT0OtWaSuo5LJTY1RBf+roF9X5+y/5qU+DAAAAABJRU5ErkJggg=="; Editor.defaultCustomLibraries=[];Editor.enableCustomLibraries=!0;Editor.defaultCsvValue='##\n## Example CSV import. Use ## for comments and # for configuration. Paste CSV below.\n## The following names are reserved and should not be used (or ignored):\n## id, tooltip, placeholder(s), link and label (see below)\n##\n#\n## Node label with placeholders and HTML.\n## Default is \'%name_of_first_column%\'.\n#\n# label: %name%<br><i style="color:gray;">%position%</i><br><a href="mailto:%email%">Email</a>\n#\n## Node style (placeholders are replaced once).\n## Default is the current style for nodes.\n#\n# style: label;image=%image%;whiteSpace=wrap;html=1;rounded=1;fillColor=%fill%;strokeColor=%stroke%;\n#\n## Uses the given column name as the identity for cells (updates existing cells).\n## Default is no identity (empty value or -).\n#\n# identity: -\n#\n## Adds a prefix to the identity of cells to make sure they do not collide with existing cells (whose\n## IDs are numbers from 0..n, sometimes with a GUID prefix in the context of realtime collaboration).\n## Default is csvimport-.\n#\n# namespace: csvimport-\n#\n## Connections between rows ("from": source colum, "to": target column).\n## Label, style and invert are optional. Defaults are \'\', current style and false.\n## In addition to label, an optional fromlabel and tolabel can be used to name the column\n## that contains the text for the label in the edges source or target (invert ignored).\n## The label is concatenated in the form fromlabel + label + tolabel if all are defined.\n## The target column may contain a comma-separated list of values.\n## Multiple connect entries are allowed.\n#\n# connect: {"from": "manager", "to": "name", "invert": true, "label": "manages", \\\n# "style": "curved=1;endArrow=blockThin;endFill=1;fontSize=11;"}\n# connect: {"from": "refs", "to": "id", "style": "curved=1;fontSize=11;"}\n#\n## Node x-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# left: \n#\n## Node y-coordinate. Possible value is a column name. Default is empty. Layouts will\n## override this value.\n#\n# top: \n#\n## Node width. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the width. Default is auto.\n#\n# width: auto\n#\n## Node height. Possible value is a number (in px), auto or an @ sign followed by a column\n## name that contains the value for the height. Default is auto.\n#\n# height: auto\n#\n## Padding for autosize. Default is 0.\n#\n# padding: -12\n#\n## Comma-separated list of ignored columns for metadata. (These can be\n## used for connections and styles but will not be added as metadata.)\n#\n# ignore: id,image,fill,stroke\n#\n## Column to be renamed to link attribute (used as link).\n#\n# link: url\n#\n## Spacing between nodes. Default is 40.\n#\n# nodespacing: 40\n#\n## Spacing between parallel edges. Default is 40.\n#\n# edgespacing: 40\n#\n## Name of layout. Possible values are auto, none, verticaltree, horizontaltree,\n## verticalflow, horizontalflow, organic, circle. Default is auto.\n#\n# layout: auto\n#\n## ---- CSV below this line. First line are column names. ----\nname,position,id,location,manager,email,fill,stroke,refs,url,image\nEvan Miller,CFO,emi,Office 1,,me@example.com,#dae8fc,#6c8ebf,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-9-2-128.png\nEdward Morrison,Brand Manager,emo,Office 2,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-10-3-128.png\nRon Donovan,System Admin,rdo,Office 3,Evan Miller,me@example.com,#d5e8d4,#82b366,"emo,tva",https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-2-128.png\nTessa Valet,HR Director,tva,Office 4,Evan Miller,me@example.com,#d5e8d4,#82b366,,https://www.draw.io,https://cdn3.iconfinder.com/data/icons/user-avatars-1/512/users-3-128.png\n'; Editor.shadowOptionEnabled=!0;Editor.configure=function(a){if(null!=a){Editor.configVersion=a.version;Menus.prototype.defaultFonts=a.defaultFonts||Menus.prototype.defaultFonts;ColorDialog.prototype.presetColors=a.presetColors||ColorDialog.prototype.presetColors;ColorDialog.prototype.defaultColors=a.defaultColors||ColorDialog.prototype.defaultColors;StyleFormatPanel.prototype.defaultColorSchemes=a.defaultColorSchemes||StyleFormatPanel.prototype.defaultColorSchemes;Graph.prototype.defaultEdgeLength= -a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var d=document.createElement("style");d.setAttribute("type","text/css");d.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(d,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries); +a.defaultEdgeLength||Graph.prototype.defaultEdgeLength;if(null!=a.css){var c=document.createElement("style");c.setAttribute("type","text/css");c.appendChild(document.createTextNode(a.css));var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(c,b)}null!=a.defaultLibraries&&(Sidebar.prototype.defaultEntries=a.defaultLibraries);null!=a.defaultCustomLibraries&&(Editor.defaultCustomLibraries=a.defaultCustomLibraries);null!=a.enableCustomLibraries&&(Editor.enableCustomLibraries=a.enableCustomLibraries); null!=a.defaultVertexStyle&&(Graph.prototype.defaultVertexStyle=a.defaultVertexStyle);null!=a.defaultEdgeStyle&&(Graph.prototype.defaultEdgeStyle=a.defaultEdgeStyle);a.emptyDiagramXml&&(EditorUi.prototype.emptyDiagramXml=a.emptyDiagramXml);a.thumbWidth&&(Sidebar.prototype.thumbWidth=a.thumbWidth);a.thumbHeight&&(Sidebar.prototype.thumbHeight=a.thumbHeight);a.emptyLibraryXml&&(EditorUi.prototype.emptyLibraryXml=a.emptyLibraryXml);a.sidebarWidth&&(EditorUi.prototype.hsplitPosition=a.sidebarWidth);a.fontCss&& -(d=document.createElement("style"),d.setAttribute("type","text/css"),d.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(d,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),d=0;d<a.plugins.length;d++)mxscript(a.plugins[d])}};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(d){d= -null!=d&&"mxlibrary"!=d.nodeName?this.extractGraphModel(d):null;if(null!=d){var b=d.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],c=b.getElementsByTagName("div");null!=c&&0<c.length&&(b=c[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"==d.nodeName){b=d.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(c=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(), -null!=c&&(f=new mxCodec(c.ownerDocument),f.decode(c,this.graph.getStylesheet())));else if(c=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=c){var f=new mxCodec(c.ownerDocument);f.decode(c,this.graph.getStylesheet())}this.graph.currentStyle=b;this.graph.mathEnabled="1"==urlParams.math||"1"==d.getAttribute("math");b=d.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src, -b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==d.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}};};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var d=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&& -d.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&d.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));d.setAttribute("math",this.graph.mathEnabled?"1":"0");d.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return d};Editor.prototype.isDataSvg=function(a){try{var d=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=d&&(null!=d&&"<"!=d.charAt(0)&&"%"!=d.charAt(0)&&(d=unescape(window.atob?atob(d):Base64.decode(cont,d))), -null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d)),null!=d&&0<d.length)){var b=mxUtils.parseXml(d).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(y){}return!1};Editor.prototype.extractGraphModel=function(a,d){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"),c=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){c.push(b[f]);break}0<c.length&&(b=c[0].getAttribute("data-mxgraph"),null!= -b?(c=JSON.parse(b),null!=c&&null!=c.xml&&(c=mxUtils.parseXml(c.xml),a=c.documentElement)):(c=c[0].getElementsByTagName("div"),0<c.length&&(b=mxUtils.getTextContent(c[0]),b=this.graph.decompress(b),0<b.length&&(c=mxUtils.parseXml(b),a=c.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!=b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement; -else throw{message:mxResources.get("notADiagramFile")};null==a||d||(c=null,"diagram"==a.nodeName?c=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(c=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=c&&(b=this.graph.decompress(mxUtils.getTextContent(c)),null!=b&&0<b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||d&&"mxfile"==a.nodeName||(a=null);return a};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled= -"1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var c=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents=function(){c.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,d){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML"; -Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(d||{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js", -"noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init= -function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,d){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var c=document.getElementsByTagName("script");if(null!=c&&0<c.length){var f=document.createElement("script");f.type="text/javascript";f.src=a;c[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null; -var d=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,c,f){void 0!==b?d.push(b.replace(/\\'/g,"'")):void 0!==c?d.push(c.replace(/\\"/g,'"')):void 0!==f&&d.push(f);return""});/,\s*$/.test(a)&&d.push("");return d};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,d){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}; -var l=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){l.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}if(null!=window.StyleFormatPanel){var p=Format.prototype.init;Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var r=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? -r.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var d=this.editorUi,b=d.editor.graph,c=this.createOption(mxResources.get("shadow"), -function(){return b.shadowVisible},function(a){var c=new ChangePageSetup(d);c.ignoreColor=!0;c.ignoreImage=!0;c.shadowVisible=a;b.model.execute(c)},{install:function(a){this.listener=function(){a(b.shadowVisible)};d.addListener("shadowVisibleChanged",this.listener)},destroy:function(){d.removeListener(this.listener)}});Editor.shadowOptionEnabled||(c.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(c,60));a.appendChild(c)}return a};var d=DiagramFormatPanel.prototype.addOptions; -DiagramFormatPanel.prototype.addOptions=function(a){a=d.apply(this,arguments);var b=this.editorUi,c=b.editor.graph;if(c.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&& -c.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return c.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(c.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); +(c=document.createElement("style"),c.setAttribute("type","text/css"),c.appendChild(document.createTextNode(a.fontCss)),b=document.getElementsByTagName("script")[0],b.parentNode.insertBefore(c,b),Editor.prototype.fontCss=a.fontCss);if(null!=a.plugins)for(App.initPluginCallback(),c=0;c<a.plugins.length;c++)mxscript(a.plugins[c])}};Editor.s4=function(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)};Editor.guid=function(){return Editor.s4()+Editor.s4()+"-"+Editor.s4()+"-"+Editor.s4()+ +"-"+Editor.s4()+"-"+Editor.s4()+Editor.s4()+Editor.s4()};Editor.prototype.editButtonLink=null!=urlParams.edit?decodeURIComponent(urlParams.edit):null;var a=Editor.prototype.setGraphXml;Editor.prototype.setGraphXml=function(c){c=null!=c&&"mxlibrary"!=c.nodeName?this.extractGraphModel(c):null;if(null!=c){var b=c.getElementsByTagName("parsererror");if(null!=b&&0<b.length){var b=b[0],d=b.getElementsByTagName("div");null!=d&&0<d.length&&(b=d[0]);throw{message:mxUtils.getTextContent(b)};}if("mxGraphModel"== +c.nodeName){b=c.getAttribute("style")||"default-style2";if("1"==urlParams.embed||null!=b&&""!=b)b!=this.graph.currentStyle&&(d=null!=this.graph.themes?this.graph.themes[b]:mxUtils.load(STYLE_PATH+"/"+b+".xml").getDocumentElement(),null!=d&&(f=new mxCodec(d.ownerDocument),f.decode(d,this.graph.getStylesheet())));else if(d=null!=this.graph.themes?this.graph.themes["default-old"]:mxUtils.load(STYLE_PATH+"/default-old.xml").getDocumentElement(),null!=d){var f=new mxCodec(d.ownerDocument);f.decode(d,this.graph.getStylesheet())}this.graph.currentStyle= +b;this.graph.mathEnabled="1"==urlParams.math||"1"==c.getAttribute("math");b=c.getAttribute("backgroundImage");null!=b?(b=JSON.parse(b),this.graph.setBackgroundImage(new mxImage(b.src,b.width,b.height))):this.graph.setBackgroundImage(null);mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;this.graph.setShadowVisible("1"==c.getAttribute("shadow"),!1)}a.apply(this,arguments)}else throw{message:mxResources.get("notADiagramFile")||"Invalid data",toString:function(){return this.message}}; +};var b=Editor.prototype.getGraphXml;Editor.prototype.getGraphXml=function(a){a=null!=a?a:!0;var c=b.apply(this,arguments);null!=this.graph.currentStyle&&"default-style2"!=this.graph.currentStyle&&c.setAttribute("style",this.graph.currentStyle);null!=this.graph.backgroundImage&&c.setAttribute("backgroundImage",JSON.stringify(this.graph.backgroundImage));c.setAttribute("math",this.graph.mathEnabled?"1":"0");c.setAttribute("shadow",this.graph.shadowVisible?"1":"0");return c};Editor.prototype.isDataSvg= +function(a){try{var c=mxUtils.parseXml(a).documentElement.getAttribute("content");if(null!=c&&(null!=c&&"<"!=c.charAt(0)&&"%"!=c.charAt(0)&&(c=unescape(window.atob?atob(c):Base64.decode(cont,c))),null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c)),null!=c&&0<c.length)){var b=mxUtils.parseXml(c).documentElement;return"mxfile"==b.nodeName||"mxGraphModel"==b.nodeName}}catch(y){}return!1};Editor.prototype.extractGraphModel=function(a,c){if(null!=a&&"undefined"!==typeof pako){var b=a.ownerDocument.getElementsByTagName("div"), +d=[];if(null!=b&&0<b.length)for(var f=0;f<b.length;f++)if("mxgraph"==b[f].getAttribute("class")){d.push(b[f]);break}0<d.length&&(b=d[0].getAttribute("data-mxgraph"),null!=b?(d=JSON.parse(b),null!=d&&null!=d.xml&&(d=mxUtils.parseXml(d.xml),a=d.documentElement)):(d=d[0].getElementsByTagName("div"),0<d.length&&(b=mxUtils.getTextContent(d[0]),b=this.graph.decompress(b),0<b.length&&(d=mxUtils.parseXml(b),a=d.documentElement))))}if(null!=a&&"svg"==a.nodeName)if(b=a.getAttribute("content"),null!=b&&"<"!= +b.charAt(0)&&"%"!=b.charAt(0)&&(b=unescape(window.atob?atob(b):Base64.decode(cont,b))),null!=b&&"%"==b.charAt(0)&&(b=decodeURIComponent(b)),null!=b&&0<b.length)a=mxUtils.parseXml(b).documentElement;else throw{message:mxResources.get("notADiagramFile")};null==a||c||(d=null,"diagram"==a.nodeName?d=a:"mxfile"==a.nodeName&&(b=a.getElementsByTagName("diagram"),0<b.length&&(d=b[Math.max(0,Math.min(b.length-1,urlParams.page||0))])),null!=d&&(b=this.graph.decompress(mxUtils.getTextContent(d)),null!=b&&0< +b.length&&(a=mxUtils.parseXml(b).documentElement)));null==a||"mxGraphModel"==a.nodeName||c&&"mxfile"==a.nodeName||(a=null);return a};var e=Editor.prototype.resetGraph;Editor.prototype.resetGraph=function(){this.graph.mathEnabled="1"==urlParams.math;this.graph.view.x0=null;this.graph.view.y0=null;mxClient.NO_FO=this.graph.mathEnabled?!0:this.originalNoForeignObject;e.apply(this,arguments)};Editor.prototype.originalNoForeignObject=mxClient.NO_FO;var d=Editor.prototype.updateGraphComponents;Editor.prototype.updateGraphComponents= +function(){d.apply(this,arguments);mxClient.NO_FO=this.graph.mathEnabled&&null!=Editor.MathJaxRender?!0:this.originalNoForeignObject};Editor.initMath=function(a,c){a=null!=a?a:"https://math.draw.io/current/MathJax.js?config=TeX-MML-AM_HTMLorMML";Editor.mathJaxQueue=[];Editor.doMathJaxRender=function(a){window.setTimeout(function(){"hidden"!=a.style.visibility&&MathJax.Hub.Queue(["Typeset",MathJax.Hub,a])},0)};window.MathJax={skipStartupTypeset:!0,showMathMenu:!1,messageStyle:"none",AuthorInit:function(){MathJax.Hub.Config(c|| +{jax:["input/TeX","input/MathML","input/AsciiMath","output/HTML-CSS"],extensions:["tex2jax.js","mml2jax.js","asciimath2jax.js"],"HTML-CSS":{imageFont:null},TeX:{extensions:["AMSmath.js","AMSsymbols.js","noErrors.js","noUndefined.js"]},tex2jax:{ignoreClass:"mxCellEditor"},asciimath2jax:{ignoreClass:"mxCellEditor"}});MathJax.Hub.Register.StartupHook("Begin",function(){for(var a=0;a<Editor.mathJaxQueue.length;a++)Editor.doMathJaxRender(Editor.mathJaxQueue[a])})}};Editor.MathJaxRender=function(a){"undefined"!== +typeof MathJax&&"undefined"!==typeof MathJax.Hub?Editor.doMathJaxRender(a):Editor.mathJaxQueue.push(a)};Editor.MathJaxClear=function(){Editor.mathJaxQueue=[]};var b=Editor.prototype.init;Editor.prototype.init=function(){b.apply(this,arguments);this.graph.addListener(mxEvent.SIZE,mxUtils.bind(this,function(a,c){null!=this.graph.container&&this.graph.mathEnabled&&Editor.MathJaxRender(this.graph.container)}))};var d=document.getElementsByTagName("script");if(null!=d&&0<d.length){var f=document.createElement("script"); +f.type="text/javascript";f.src=a;d[0].parentNode.appendChild(f)}};Editor.prototype.csvToArray=function(a){if(!/^\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*(?:,\s*(?:'[^'\\]*(?:\\[\S\s][^'\\]*)*'|"[^"\\]*(?:\\[\S\s][^"\\]*)*"|[^,'"\s\\]*(?:\s+[^,'"\s\\]+)*)\s*)*$/.test(a))return null;var c=[];a.replace(/(?!\s*$)\s*(?:'([^'\\]*(?:\\[\S\s][^'\\]*)*)'|"([^"\\]*(?:\\[\S\s][^"\\]*)*)"|([^,'"\s\\]*(?:\s+[^,'"\s\\]+)*))\s*(?:,|$)/g,function(a,b,d,f){void 0!== +b?c.push(b.replace(/\\'/g,"'")):void 0!==d?c.push(d.replace(/\\"/g,'"')):void 0!==f&&c.push(f);return""});/,\s*$/.test(a)&&c.push("");return c};if(window.ColorDialog){var k=ColorDialog.addRecentColor;ColorDialog.addRecentColor=function(a,c){k.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()};var m=ColorDialog.resetRecentColors;ColorDialog.resetRecentColors=function(){m.apply(this,arguments);mxSettings.setRecentColors(ColorDialog.recentColors);mxSettings.save()}}window.EditDataDialog&& +(EditDataDialog.getDisplayIdForCell=function(a,c){var b=null;null!=a.editor.graph.getModel().getParent(c)?b=c.getId():null!=a.currentPage&&(b=a.currentPage.getId());return b});if(null!=window.StyleFormatPanel){var p=Format.prototype.init;Format.prototype.init=function(){p.apply(this,arguments);this.editorUi.editor.addListener("fileLoaded",this.update)};var r=Format.prototype.refresh;Format.prototype.refresh=function(){null!=this.editorUi.getCurrentFile()||"1"==urlParams.embed||this.editorUi.editor.chromeless? +r.apply(this,arguments):this.clear()};DiagramFormatPanel.prototype.isShadowOptionVisible=function(){var a=this.editorUi.getCurrentFile();return"1"==urlParams.embed||null!=a&&a.isEditable()};DiagramFormatPanel.prototype.isMathOptionVisible=function(a){return!1};var v=DiagramFormatPanel.prototype.addView;DiagramFormatPanel.prototype.addView=function(a){a=v.apply(this,arguments);this.editorUi.getCurrentFile();if(mxClient.IS_SVG&&this.isShadowOptionVisible()){var c=this.editorUi,b=c.editor.graph,d=this.createOption(mxResources.get("shadow"), +function(){return b.shadowVisible},function(a){var d=new ChangePageSetup(c);d.ignoreColor=!0;d.ignoreImage=!0;d.shadowVisible=a;b.model.execute(d)},{install:function(a){this.listener=function(){a(b.shadowVisible)};c.addListener("shadowVisibleChanged",this.listener)},destroy:function(){c.removeListener(this.listener)}});Editor.shadowOptionEnabled||(d.getElementsByTagName("input")[0].setAttribute("disabled","disabled"),mxUtils.setOpacity(d,60));a.appendChild(d)}return a};var c=DiagramFormatPanel.prototype.addOptions; +DiagramFormatPanel.prototype.addOptions=function(a){a=c.apply(this,arguments);var b=this.editorUi,d=b.editor.graph;if(d.isEnabled()){var f=b.getCurrentFile();null!=f&&f.isAutosaveOptional()&&(f=this.createOption(mxResources.get("autosave"),function(){return b.editor.autosave},function(a){b.editor.setAutosave(a)},{install:function(a){this.listener=function(){a(b.editor.autosave)};b.editor.addListener("autosaveChanged",this.listener)},destroy:function(){b.editor.removeListener(this.listener)}}),a.appendChild(f))}if(this.isMathOptionVisible()&& +d.isEnabled()&&"undefined"!==typeof MathJax){f=this.createOption(mxResources.get("mathematicalTypesetting"),function(){return d.mathEnabled},function(a){b.actions.get("mathematicalTypesetting").funct()},{install:function(a){this.listener=function(){a(d.mathEnabled)};b.addListener("mathEnabledChanged",this.listener)},destroy:function(){b.removeListener(this.listener)}});f.style.paddingTop="0px";a.appendChild(f);var e=b.menus.createHelpLink("https://desk.draw.io/support/solutions/articles/16000032875"); e.style.position="relative";e.style.top="4px";f.appendChild(e)}return a};StyleFormatPanel.prototype.defaultColorSchemes=[[null,{fill:"#f5f5f5",stroke:"#666666"},{fill:"#dae8fc",stroke:"#6c8ebf"},{fill:"#d5e8d4",stroke:"#82b366"},{fill:"#ffe6cc",stroke:"#d79b00"},{fill:"#fff2cc",stroke:"#d6b656"},{fill:"#f8cecc",stroke:"#b85450"},{fill:"#e1d5e7",stroke:"#9673a6"}],[null,{fill:"#f5f5f5",stroke:"#666666",gradient:"#b3b3b3"},{fill:"#dae8fc",stroke:"#6c8ebf",gradient:"#7ea6e0"},{fill:"#d5e8d4",stroke:"#82b366", gradient:"#97d077"},{fill:"#ffcd28",stroke:"#d79b00",gradient:"#ffa500"},{fill:"#fff2cc",stroke:"#d6b656",gradient:"#ffd966"},{fill:"#f8cecc",stroke:"#b85450",gradient:"#ea6b66"},{fill:"#e6d0de",stroke:"#996185",gradient:"#d5739d"}],[null,{fill:"#eeeeee",stroke:"#36393d"},{fill:"#f9f7ed",stroke:"#36393d"},{fill:"#ffcc99",stroke:"#36393d"},{fill:"#cce5ff",stroke:"#36393d"},{fill:"#ffff88",stroke:"#36393d"},{fill:"#cdeb8b",stroke:"#36393d"},{fill:"#ffcccc",stroke:"#36393d"}]];var f=StyleFormatPanel.prototype.init; -StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var d=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));d.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+ -")");d.style.marginBottom="2px";d.style.width="100px";d.style.marginRight="2px";a.appendChild(d);d=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));d.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");d.style.marginBottom="2px";d.style.width="100px";a.appendChild(d);mxUtils.br(a);return g.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function d(a){function d(a){var d= -mxUtils.button("",function(d){c.getModel().beginUpdate();try{var b=c.getSelectionCells();for(d=0;d<b.length;d++){for(var f=c.getModel().getStyle(b[d]),g=0;g<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR, -"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));c.getModel().setStyle(b[d],f)}}finally{c.getModel().endUpdate()}});d.className="geStyleButton";d.style.width="36px";d.style.height="30px";d.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?d.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":d.style.backgroundImage="linear-gradient("+ -a.fill+" 0px,"+a.gradient+" 100%)":d.style.backgroundColor=a.fill,d.style.border="1px solid "+a.stroke):(d.style.backgroundColor="#ffffff",d.style.border="1px solid #000000");f.appendChild(d)}f.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),d(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var c=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= +StyleFormatPanel.prototype.init=function(){"image"!=this.format.createSelectionState().style.shape&&this.container.appendChild(this.addStyles(this.createPanel()));f.apply(this,arguments)};var g=StyleFormatPanel.prototype.addStyleOps;StyleFormatPanel.prototype.addStyleOps=function(a){var c=mxUtils.button(mxResources.get("copyStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("copyStyle").funct()}));c.setAttribute("title",mxResources.get("copyStyle")+" ("+this.editorUi.actions.get("copyStyle").shortcut+ +")");c.style.marginBottom="2px";c.style.width="100px";c.style.marginRight="2px";a.appendChild(c);c=mxUtils.button(mxResources.get("pasteStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("pasteStyle").funct()}));c.setAttribute("title",mxResources.get("pasteStyle")+" ("+this.editorUi.actions.get("pasteStyle").shortcut+")");c.style.marginBottom="2px";c.style.width="100px";a.appendChild(c);mxUtils.br(a);return g.apply(this,arguments)};StyleFormatPanel.prototype.addStyles=function(a){function c(a){function c(a){var c= +mxUtils.button("",function(c){d.getModel().beginUpdate();try{var b=d.getSelectionCells();for(c=0;c<b.length;c++){for(var f=d.getModel().getStyle(b[c]),g=0;g<e.length;g++)f=mxUtils.removeStylename(f,e[g]);null!=a?(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,a.fill),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR,a.stroke),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,a.gradient)):(f=mxUtils.setStyle(f,mxConstants.STYLE_FILLCOLOR,"#ffffff"),f=mxUtils.setStyle(f,mxConstants.STYLE_STROKECOLOR, +"#000000"),f=mxUtils.setStyle(f,mxConstants.STYLE_GRADIENTCOLOR,null));d.getModel().setStyle(b[c],f)}}finally{d.getModel().endUpdate()}});c.className="geStyleButton";c.style.width="36px";c.style.height="30px";c.style.margin="0px 6px 6px 0px";null!=a?(null!=a.gradient?mxClient.IS_IE&&(mxClient.IS_QUIRKS||10>document.documentMode)?c.style.filter="progid:DXImageTransform.Microsoft.Gradient(StartColorStr='"+a.fill+"', EndColorStr='"+a.gradient+"', GradientType=0)":c.style.backgroundImage="linear-gradient("+ +a.fill+" 0px,"+a.gradient+" 100%)":c.style.backgroundColor=a.fill,c.style.border="1px solid "+a.stroke):(c.style.backgroundColor="#ffffff",c.style.border="1px solid #000000");f.appendChild(c)}f.innerHTML="";for(var b=0;b<a.length;b++)0<b&&0==mxUtils.mod(b,4)&&mxUtils.br(f),c(a[b])}function b(a){mxEvent.addListener(a,"mouseenter",function(){a.style.opacity="1"});mxEvent.addListener(a,"mouseleave",function(){a.style.opacity="0.5"})}var d=this.editorUi.editor.graph,f=document.createElement("div");f.style.whiteSpace= "nowrap";f.style.paddingLeft="24px";f.style.paddingRight="20px";a.style.paddingLeft="16px";a.style.paddingBottom="6px";a.style.position="relative";a.appendChild(f);var e="plain-gray plain-blue plain-green plain-turquoise plain-orange plain-yellow plain-red plain-pink plain-purple gray blue green turquoise orange yellow red pink purple".split(" ");null==this.editorUi.currentScheme&&(this.editorUi.currentScheme=0);var g=document.createElement("div");g.style.cssText="position:absolute;left:10px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ4eHh3d3d1dXVxcXF2dnZ2dnZ2dnZxcXF2dnYmb3w1AAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADRJREFUCNdjwACMAmBKaiGYs2oJmLPKAZ3DabU8AMRTXpUKopislqFyVzCAuUZgikkBZjoAcMYLnp53P/UAAAAASUVORK5CYII=);"; -mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));var h=document.createElement("div");h.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; -1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(h));mxEvent.addListener(h,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);d(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(h);d(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var d=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& -(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var c=this.editorUi.editor.graph,f=c.view.getState(c.getSelectionCell());1==c.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(d=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, -function(a){this.editorUi.actions.get("editShape").funct()})),d.setAttribute("title",mxResources.get("editShape")),d.style.marginBottom="2px",null==b?d.style.width="202px":(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d)):d.image&&(d=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),d.setAttribute("title",mxResources.get("editImage")),d.style.marginBottom="2px",null==b?d.style.width="202px": -(b.style.width="100px",d.style.width="100px",d.style.marginLeft="2px"),a.appendChild(d));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= -"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var m=Graph.prototype.init;Graph.prototype.init=function(){function a(a){d=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)d=mxUtils.clone(a)}m.apply(this,arguments);var d=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){d=null});this.isMouseInsertPoint=function(){return null!=d};var b=this.getInsertPoint; -this.getInsertPoint=function(){return null!=d?this.getPointForEvent(d):b.apply(this,arguments)};var c=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var d=this.graph.view.getState(a),d=null!=d?d.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==d.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,d){d.height=Math.max(d.height,20);if(1<d.height/20){var b=d.height%20;d.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a, -d)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=d.marginLeft||0;b.marginRight=d.marginRight||0;b.marginTop=d.marginTop||0;b.marginBottom=d.marginBottom||0;b.resizeParent=!1;return b}return c.apply(this,arguments)}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)){this.model.beginUpdate();try{var d=JSON.parse(a.substring(17)); -if(null!=d.actions)for(var b=0;b<d.actions.length;b++)this.handleCustomLinkAction(d.actions[b])}catch(y){null!=window.console&&console.log("Error in "+a+": "+y)}finally{this.model.endUpdate()}}};Graph.prototype.handleCustomLinkAction=function(a){if(null!=a.toggle&&null!=a.toggle.cells)for(var d=0;d<a.toggle.cells.length;d++){var b=this.model.getCell(a.toggle.cells[d]);null!=b&&this.model.setVisible(b,!this.model.isVisible(b))}};Graph.prototype.highlightCell=function(a,d,b){d=null!=d?d:mxConstants.DEFAULT_VALID_COLOR; -b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var c=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),f=new mxCellHighlight(this,d,c,!1);f.highlight(a);window.setTimeout(function(){null!=f.shape&&(mxUtils.setPrefixedStyle(f.shape.node.style,"transition","all 1200ms ease-in-out"),f.shape.node.style.opacity=0);window.setTimeout(function(){f.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,d,b){b=null!=b?b:!1;var c=a.ownerDocument,f=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG, -"filter"):c.createElement("filter");f.setAttribute("id",this.shadowId);var e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feGaussianBlur"):c.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feOffset"):c.createElement("feOffset");e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy", -this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feFlood"):c.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feComposite"):c.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2", -"offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"feBlend"):c.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.length?(c=null!=c.createElementNS?c.createElementNS(mxConstants.NS_SVG,"defs"):c.createElement("defs"),null!=a.firstChild?a.insertBefore(c,a.firstChild):a.appendChild(c)):c= -e[0];c.appendChild(f);b||((d||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width",parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,d){mxClient.IS_SVG&&(d=null!=d?d:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"), -d&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root),d,b=0;do d=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(d),"locked","0"));null!=d&&this.setDefaultParent(d)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian= -[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er=[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5= -[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic=[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]= -[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js", -STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]=[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js", -STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl=[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+ -"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js",STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves= -[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var d=null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?d="mxgraph.er":"sysML"==a.substring(0,5)&&(d="mxgraph.sysml"));return d};var h=mxMarker.createMarker;mxMarker.createMarker=function(a,d,b,c,f,e,g,m,n,t){if(null!=b&&null==mxMarker.markers[b]){var q=this.getPackageForType(b);null!=q&&mxStencilRegistry.getStencil(q)}return h.apply(this,arguments)}; -PrintDialog.prototype.create=function(a,d){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h,Math.min(parseInt(w.value),parseInt(k.value))))}function c(d){function b(d,b,f){var e=d.getGraphBounds(),g=0,h=0,m=da.get(),n=1/d.pageScale,t=v.checked;if(t)var n=parseInt(W.value),q=parseInt(P.value),n=Math.min(m.height*q/(e.height/d.view.scale),m.width*n/(e.width/d.view.scale));else n=parseInt(r.value)/(100*d.pageScale),isNaN(n)&&(c= -1/d.pageScale,r.value="100 %");m=mxRectangle.fromRectangle(m);m.width=Math.ceil(m.width*c);m.height=Math.ceil(m.height*c);n*=c;!t&&d.pageVisible?(e=d.getPageLayout(),g-=e.x*m.width,h-=e.y*m.height):t=!0;if(null==b){b=PrintDialog.createPrintPreview(d,n,m,0,g,h,t);b.pageSelector=!1;b.mathEnabled=!1;d=a.getCurrentFile();null!=d&&(b.title=d.getTitle());var u=b.writeHead;b.writeHead=function(d){u.apply(this,arguments);null!=a.editor.fontCss&&(d.writeln('<style type="text/css">'),d.writeln(a.editor.fontCss), -d.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,d,b,c,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled?this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{m=d.background;if(null==m||""==m||m==mxConstants.NONE)m="#ffffff";b.backgroundColor=m;b.autoOrigin=t;b.appendGraph(d,n,g,h,f,!0)}return b}var c=parseInt(T.value)/100;isNaN(c)&&(c=1,T.value="100 %");var c=.75*c,e=k.value,g=w.value,h=!t.checked,n=null; -h&&(h=e==m&&g==m);if(!h&&null!=a.pages&&a.pages.length){var q=0,h=a.pages.length-1;t.checked||(q=parseInt(e)-1,h=parseInt(g)-1);for(var u=q;u<=h;u++){var l=a.pages[u],e=l==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,q=!1,y=null,p=null;null==l.viewState&&null==l.mapping&&null==l.root&&a.updatePageRoot(l);null!=l.viewState?(g=l.viewState.pageVisible,q=l.viewState.mathEnabled,y=l.viewState.background,p=l.viewState.backgroundImage):null!=l.mapping&&null!=l.mapping.diagramMap&& -(q="0"!=l.mapping.diagramMap.get("mathEnabled"),y=l.mapping.diagramMap.get("background"),p=l.mapping.diagramMap.get("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null);e.background=y;e.backgroundImage=null!=p?new mxImage(p.src,p.width,p.height):null;e.pageVisible=g;e.mathEnabled=q;var A=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?l.getName():"pagenumber"==a?u+1:A.apply(this,arguments)};document.body.appendChild(e.container);a.updatePageRoot(l);e.model.setRoot(l.root)}n= -b(e,n,u!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'),h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'), -h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"),h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),d&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&d&&PrintDialog.printPreview(n)} -var f=a.editor.graph,e=document.createElement("div"),g=document.createElement("h3");g.style.width="100%";g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,d||mxResources.get("print"));e.appendChild(g);var h=1,m=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var t=document.createElement("input");t.style.cssText="margin-right:8px;margin-bottom:8px;";t.setAttribute("value","all");t.setAttribute("type","radio"); -t.setAttribute("name","pages-printdialog");n.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var q=t.cloneNode(!0);t.setAttribute("checked","checked");q.setAttribute("value","range");n.appendChild(q);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type", -"number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span");mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){q.checked=!0});mxEvent.addListener(w,"focus",function(){q.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){m=g+ -1;k.value=m;w.value=m;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var l=document.createElement("div");l.style.marginBottom="10px";var p=document.createElement("input");p.style.marginRight="8px";p.setAttribute("value","adjust");p.setAttribute("type","radio");p.setAttribute("name","printZoom");l.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));l.appendChild(g);var r=document.createElement("input");r.style.cssText="margin:0 8px 0 8px;"; -r.setAttribute("value","100 %");r.style.width="50px";l.appendChild(r);mxEvent.addListener(r,"focus",function(){p.checked=!0});e.appendChild(l);var n=n.cloneNode(!1),v=p.cloneNode(!0);v.setAttribute("value","fit");p.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);l=document.createElement("table");l.style.display="inline-block";var Q=document.createElement("tbody"), -S=document.createElement("tr"),K=S.cloneNode(!0),F=document.createElement("td"),V=F.cloneNode(!0),L=F.cloneNode(!0),O=F.cloneNode(!0),X=F.cloneNode(!0),B=F.cloneNode(!0);F.style.textAlign="right";O.style.textAlign="right";mxUtils.write(F,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g, -mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P);mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));B.appendChild(g);S.appendChild(F);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(B);Q.appendChild(S);Q.appendChild(K);l.appendChild(Q); -n.appendChild(l);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom="12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g); -var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T);e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);a.isOffline()||(l=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}), -l.className="geBtn",g.appendChild(l));PrintDialog.previewEnabled&&(l=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog();c(!1)}),l.className="geBtn",g.appendChild(l));l=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();c(!0)});l.className="geBtn gePrimaryBtn";g.appendChild(l);a.editor.cancelFirst||g.appendChild(n);e.appendChild(g);this.container=e};var n=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null== -this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background=this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(n.apply(this,arguments),null!=this.mathEnabled&& -this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!=this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); -(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.previousColor=c.color;c.previousImage=c.image;c.previousFormat=c.format;null!=c.foldingEnabled&&(c.foldingEnabled=!c.foldingEnabled);null!=c.mathEnabled&&(c.mathEnabled=!c.mathEnabled);null!=c.shadowVisible&&(c.shadowVisible=!c.shadowVisible);return c};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; +mxEvent.addListener(g,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme-1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));var l=document.createElement("div");l.style.cssText="position:absolute;left:202px;top:8px;bottom:8px;width:20px;margin:4px;opacity:0.5;background-repeat:no-repeat;background-position:center center;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAQBAMAAADQT4M0AAAAIVBMVEUAAAB2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnZ2dnYBuwCcAAAACnRSTlMAfCTkhhvb7cQSPH2JPgAAADZJREFUCNdjQAOMAmBKaiGY8loF5rKswsZlrVo8AUiFrTICcbIWK8A5DF1gDoMymMPApIAwHwCS0Qx/U7qCBQAAAABJRU5ErkJggg==);"; +1<this.defaultColorSchemes.length&&(a.appendChild(g),a.appendChild(l));mxEvent.addListener(l,"click",mxUtils.bind(this,function(){this.editorUi.currentScheme=mxUtils.mod(this.editorUi.currentScheme+1,this.defaultColorSchemes.length);c(this.defaultColorSchemes[this.editorUi.currentScheme])}));b(g);b(l);c(this.defaultColorSchemes[this.editorUi.currentScheme]);return a};StyleFormatPanel.prototype.addEditOps=function(a){var c=this.format.getSelectionState(),b=null;1==this.editorUi.editor.graph.getSelectionCount()&& +(b=mxUtils.button(mxResources.get("editStyle"),mxUtils.bind(this,function(a){this.editorUi.actions.get("editStyle").funct()})),b.setAttribute("title",mxResources.get("editStyle")+" ("+this.editorUi.actions.get("editStyle").shortcut+")"),b.style.width="202px",b.style.marginBottom="2px",a.appendChild(b));var d=this.editorUi.editor.graph,f=d.view.getState(d.getSelectionCell());1==d.getSelectionCount()&&null!=f&&null!=f.shape&&null!=f.shape.stencil?(c=mxUtils.button(mxResources.get("editShape"),mxUtils.bind(this, +function(a){this.editorUi.actions.get("editShape").funct()})),c.setAttribute("title",mxResources.get("editShape")),c.style.marginBottom="2px",null==b?c.style.width="202px":(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c)):c.image&&(c=mxUtils.button(mxResources.get("editImage"),mxUtils.bind(this,function(a){this.editorUi.actions.get("image").funct()})),c.setAttribute("title",mxResources.get("editImage")),c.style.marginBottom="2px",null==b?c.style.width="202px": +(b.style.width="100px",c.style.width="100px",c.style.marginLeft="2px"),a.appendChild(c));return a}}Graph.prototype.defaultThemeName="default-style2";Graph.prototype.lastPasteXml=null;Graph.prototype.pasteCounter=0;Graph.prototype.defaultScrollbars="0"!=urlParams.sb;Graph.prototype.defaultPageVisible="0"!=urlParams.pv;Graph.prototype.shadowId="dropShadow";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowBlur="1.7";Graph.prototype.svgShadowSize= +"3";Graph.prototype.edgeMode="move"!=urlParams.edge;var u=Graph.prototype.init;Graph.prototype.init=function(){function a(a){c=a;if(mxClient.IS_QUIRKS||7==document.documentMode||8==document.documentMode)c=mxUtils.clone(a)}u.apply(this,arguments);var c=null;mxEvent.addListener(this.container,"mouseenter",a);mxEvent.addListener(this.container,"mousemove",a);mxEvent.addListener(this.container,"mouseleave",function(a){c=null});this.isMouseInsertPoint=function(){return null!=c};var b=this.getInsertPoint; +this.getInsertPoint=function(){return null!=c?this.getPointForEvent(c):b.apply(this,arguments)};var d=this.layoutManager.getLayout;this.layoutManager.getLayout=function(a){var c=this.graph.view.getState(a),c=null!=c?c.style:this.graph.getCellStyle(a);if("undefined"!=typeof mxRackContainer&&"rack"==c.childLayout){var b=new mxStackLayout(this.graph,!1);b.setChildGeometry=function(a,c){c.height=Math.max(c.height,20);if(1<c.height/20){var b=c.height%20;c.height+=10<b?20-b:-b}this.graph.getModel().setGeometry(a, +c)};b.fill=!0;b.unitSize=mxRackContainer.unitSize|20;b.marginLeft=c.marginLeft||0;b.marginRight=c.marginRight||0;b.marginTop=c.marginTop||0;b.marginBottom=c.marginBottom||0;b.resizeParent=!1;return b}return d.apply(this,arguments)}};var t=Graph.prototype.loadStylesheet;Graph.prototype.loadStylesheet=function(){t.apply(this,arguments);this.currentStyle="default-style2"};Graph.prototype.handleCustomLink=function(a){if("data:action/json,"==a.substring(0,17)&&(a=JSON.parse(a.substring(17)),null!=a.actions)){for(var c= +0;c<a.actions.length;c++)null!=a.actions[c].open&&(this.isCustomLink(a.actions[c].open)?this.customLinkClicked(a.actions[c].open):this.openLink(a.actions[c].open));this.model.beginUpdate();try{for(c=0;c<a.actions.length;c++)this.handleLinkAction(a.actions[c])}finally{this.model.endUpdate()}}};Graph.prototype.handleLinkAction=function(a){var c=[];null!=a.select&&this.isEnabled()&&(c=this.getCellsForAction(a.select),this.setSelectionCells(c));null!=a.scroll&&(c=this.getCellsForAction(a.scroll));null!= +a.toggle&&this.toggleCells(this.getCellsForAction(a.toggle));null!=a.show&&this.setCellsVisible(this.getCellsForAction(a.show),!0);null!=a.hide&&this.setCellsVisible(this.getCellsForAction(a.hide),!1);null!=a.highlight&&(c=this.getCellsForAction(a.highlight),this.highlightCells(c,a.highlight.color,a.highlight.duration,a.highlight.opacity));0<c.length&&this.scrollCellToVisible(c[0])};Graph.prototype.getCellsForAction=function(a){return this.getCellsById(a.cells).concat(this.getCellsForTags(a.tags))}; +Graph.prototype.getCellsById=function(a){var c=[];if(null!=a)for(var b=0;b<a.length;b++)if("*"==a[b])var d=this.getDefaultParent(),c=c.concat(this.model.filterDescendants(function(a){return a!=d},d));else{var f=this.model.getCell(a[b]);null!=f&&c.push(f)}return c};Graph.prototype.getCellsForTags=function(a,c,b){var d=[];if(null!=a){c=null!=c?c:this.model.getDescendants(this.model.getRoot());b=null!=b?b:"tags";for(var f=0;f<c.length;f++)if(this.model.isVertex(c[f])||this.model.isEdge(c[f])){var e= +null!=c[f].value&&"object"==typeof c[f].value?mxUtils.trim(c[f].value.getAttribute(b)||""):"",g=!0;if(0<e.length)for(var e=e.toLowerCase().split(" "),l=0;l<a.length&&g;l++)var h=mxUtils.trim(a[l]).toLowerCase(),g=g&&(0==h.length||0<=mxUtils.indexOf(e,h));else g=0==a.length;g&&d.push(c[f])}}return d};Graph.prototype.toggleCells=function(a){this.model.beginUpdate();try{for(var c=0;c<a.length;c++)this.model.setVisible(a[c],!this.model.isVisible(a[c]))}finally{this.model.endUpdate()}};Graph.prototype.setCellsVisible= +function(a,c){this.model.beginUpdate();try{for(var b=0;b<a.length;b++)this.model.setVisible(a[b],c)}finally{this.model.endUpdate()}};Graph.prototype.highlightCells=function(a,c,b,d){for(var f=0;f<a.length;f++)this.highlightCell(a[f],c,b,d)};Graph.prototype.highlightCell=function(a,c,b,d){c=null!=c?c:mxConstants.DEFAULT_VALID_COLOR;b=null!=b?b:1E3;a=this.view.getState(a);if(null!=a){var f=Math.max(5,mxUtils.getValue(a.style,mxConstants.STYLE_STROKEWIDTH,1)+4),e=new mxCellHighlight(this,c,f,!1);null!= +d&&(e.opacity=d);e.highlight(a);window.setTimeout(function(){null!=e.shape&&(mxUtils.setPrefixedStyle(e.shape.node.style,"transition","all 1200ms ease-in-out"),e.shape.node.style.opacity=0);window.setTimeout(function(){e.destroy()},1200)},b)}};Graph.prototype.addSvgShadow=function(a,c,b){b=null!=b?b:!1;var d=a.ownerDocument,f=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"filter"):d.createElement("filter");f.setAttribute("id",this.shadowId);var e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feGaussianBlur"):d.createElement("feGaussianBlur");e.setAttribute("in","SourceAlpha");e.setAttribute("stdDeviation",this.svgShadowBlur);e.setAttribute("result","blur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feOffset"):d.createElement("feOffset");e.setAttribute("in","blur");e.setAttribute("dx",this.svgShadowSize);e.setAttribute("dy",this.svgShadowSize);e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feFlood"):d.createElement("feFlood");e.setAttribute("flood-color",this.svgShadowColor);e.setAttribute("flood-opacity",this.svgShadowOpacity);e.setAttribute("result","offsetColor");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"feComposite"):d.createElement("feComposite");e.setAttribute("in","offsetColor");e.setAttribute("in2","offsetBlur");e.setAttribute("operator","in");e.setAttribute("result","offsetBlur");f.appendChild(e);e=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG, +"feBlend"):d.createElement("feBlend");e.setAttribute("in","SourceGraphic");e.setAttribute("in2","offsetBlur");f.appendChild(e);e=a.getElementsByTagName("defs");0==e.length?(d=null!=d.createElementNS?d.createElementNS(mxConstants.NS_SVG,"defs"):d.createElement("defs"),null!=a.firstChild?a.insertBefore(d,a.firstChild):a.appendChild(d)):d=e[0];d.appendChild(f);b||((c||a.getElementsByTagName("g")[0]).setAttribute("filter","url(#"+this.shadowId+")"),isNaN(parseInt(a.getAttribute("width")))||(a.setAttribute("width", +parseInt(a.getAttribute("width"))+6),a.setAttribute("height",parseInt(a.getAttribute("height"))+6)));return f};Graph.prototype.setShadowVisible=function(a,c){mxClient.IS_SVG&&(c=null!=c?c:!0,(this.shadowVisible=a)?this.view.getDrawPane().setAttribute("filter","url(#"+this.shadowId+")"):this.view.getDrawPane().removeAttribute("filter"),c&&this.fireEvent(new mxEventObject("shadowVisibleChanged")))};Graph.prototype.selectUnlockedLayer=function(){if(null==this.defaultParent){var a=this.model.getChildCount(this.model.root), +c,b=0;do c=this.model.getChildAt(this.model.root,b);while(b++<a&&"1"==mxUtils.getValue(this.getCellStyle(c),"locked","0"));null!=c&&this.setDefaultParent(c)}};mxStencilRegistry.libraries.mockup=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries.arrows2=[SHAPES_PATH+"/mxArrows.js"];mxStencilRegistry.libraries.atlassian=[STENCIL_PATH+"/atlassian.xml",SHAPES_PATH+"/mxAtlassian.js"];mxStencilRegistry.libraries.bpmn=[SHAPES_PATH+"/bpmn/mxBpmnShape2.js",STENCIL_PATH+"/bpmn.xml"];mxStencilRegistry.libraries.er= +[SHAPES_PATH+"/er/mxER.js"];mxStencilRegistry.libraries.flowchart=[SHAPES_PATH+"/mxFlowchart.js",STENCIL_PATH+"/flowchart.xml"];mxStencilRegistry.libraries.ios=[SHAPES_PATH+"/mockup/mxMockupiOS.js"];mxStencilRegistry.libraries.rackGeneral=[SHAPES_PATH+"/rack/mxRack.js",STENCIL_PATH+"/rack/general.xml"];mxStencilRegistry.libraries.rackF5=[STENCIL_PATH+"/rack/f5.xml"];mxStencilRegistry.libraries.lean_mapping=[SHAPES_PATH+"/mxLeanMap.js",STENCIL_PATH+"/lean_mapping.xml"];mxStencilRegistry.libraries.basic= +[SHAPES_PATH+"/mxBasic.js",STENCIL_PATH+"/basic.xml"];mxStencilRegistry.libraries.ios7icons=[STENCIL_PATH+"/ios7/icons.xml"];mxStencilRegistry.libraries.ios7ui=[SHAPES_PATH+"/ios7/mxIOS7Ui.js",STENCIL_PATH+"/ios7/misc.xml"];mxStencilRegistry.libraries.android=[SHAPES_PATH+"/mxAndroid.js",STENCIL_PATH+"/android/android.xml"];mxStencilRegistry.libraries["electrical/transmission"]=[SHAPES_PATH+"/mxElectrical.js",STENCIL_PATH+"/electrical/transmission.xml"];mxStencilRegistry.libraries.infographic=[SHAPES_PATH+ +"/mxInfographic.js"];mxStencilRegistry.libraries["mockup/buttons"]=[SHAPES_PATH+"/mockup/mxMockupButtons.js"];mxStencilRegistry.libraries["mockup/containers"]=[SHAPES_PATH+"/mockup/mxMockupContainers.js"];mxStencilRegistry.libraries["mockup/forms"]=[SHAPES_PATH+"/mockup/mxMockupForms.js"];mxStencilRegistry.libraries["mockup/graphics"]=[SHAPES_PATH+"/mockup/mxMockupGraphics.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/markup"]=[SHAPES_PATH+"/mockup/mxMockupMarkup.js"];mxStencilRegistry.libraries["mockup/misc"]= +[SHAPES_PATH+"/mockup/mxMockupMisc.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/navigation"]=[SHAPES_PATH+"/mockup/mxMockupNavigation.js",STENCIL_PATH+"/mockup/misc.xml"];mxStencilRegistry.libraries["mockup/text"]=[SHAPES_PATH+"/mockup/mxMockupText.js"];mxStencilRegistry.libraries.floorplan=[SHAPES_PATH+"/mxFloorplan.js",STENCIL_PATH+"/floorplan.xml"];mxStencilRegistry.libraries.bootstrap=[SHAPES_PATH+"/mxBootstrap.js",STENCIL_PATH+"/bootstrap.xml"];mxStencilRegistry.libraries.gmdl= +[SHAPES_PATH+"/mxGmdl.js",STENCIL_PATH+"/gmdl.xml"];mxStencilRegistry.libraries.cabinets=[SHAPES_PATH+"/mxCabinets.js",STENCIL_PATH+"/cabinets.xml"];mxStencilRegistry.libraries.archimate=[SHAPES_PATH+"/mxArchiMate.js"];mxStencilRegistry.libraries.archimate3=[SHAPES_PATH+"/mxArchiMate3.js"];mxStencilRegistry.libraries.sysml=[SHAPES_PATH+"/mxSysML.js"];mxStencilRegistry.libraries.eip=[SHAPES_PATH+"/mxEip.js",STENCIL_PATH+"/eip.xml"];mxStencilRegistry.libraries.networks=[SHAPES_PATH+"/mxNetworks.js", +STENCIL_PATH+"/networks.xml"];mxStencilRegistry.libraries.aws3d=[SHAPES_PATH+"/mxAWS3D.js",STENCIL_PATH+"/aws3d.xml"];mxStencilRegistry.libraries.pid2inst=[SHAPES_PATH+"/pid2/mxPidInstruments.js"];mxStencilRegistry.libraries.pid2misc=[SHAPES_PATH+"/pid2/mxPidMisc.js",STENCIL_PATH+"/pid/misc.xml"];mxStencilRegistry.libraries.pid2valves=[SHAPES_PATH+"/pid2/mxPidValves.js"];mxStencilRegistry.libraries.pidFlowSensors=[STENCIL_PATH+"/pid/flow_sensors.xml"];mxMarker.getPackageForType=function(a){var c= +null;null!=a&&0<a.length&&("ER"==a.substring(0,2)?c="mxgraph.er":"sysML"==a.substring(0,5)&&(c="mxgraph.sysml"));return c};var h=mxMarker.createMarker;mxMarker.createMarker=function(a,c,b,d,f,e,g,n,u,t){if(null!=b&&null==mxMarker.markers[b]){var l=this.getPackageForType(b);null!=l&&mxStencilRegistry.getStencil(l)}return h.apply(this,arguments)};PrintDialog.prototype.create=function(a,c){function b(){w.value=Math.max(1,Math.min(h,Math.max(parseInt(w.value),parseInt(k.value))));k.value=Math.max(1,Math.min(h, +Math.min(parseInt(w.value),parseInt(k.value))))}function d(c){function b(c,b,f){var e=c.getGraphBounds(),g=0,h=0,l=da.get(),n=1/c.pageScale,u=v.checked;if(u)var n=parseInt(W.value),t=parseInt(P.value),n=Math.min(l.height*t/(e.height/c.view.scale),l.width*n/(e.width/c.view.scale));else n=parseInt(r.value)/(100*c.pageScale),isNaN(n)&&(d=1/c.pageScale,r.value="100 %");l=mxRectangle.fromRectangle(l);l.width=Math.ceil(l.width*d);l.height=Math.ceil(l.height*d);n*=d;!u&&c.pageVisible?(e=c.getPageLayout(), +g-=e.x*l.width,h-=e.y*l.height):u=!0;if(null==b){b=PrintDialog.createPrintPreview(c,n,l,0,g,h,u);b.pageSelector=!1;b.mathEnabled=!1;c=a.getCurrentFile();null!=c&&(b.title=c.getTitle());var q=b.writeHead;b.writeHead=function(c){q.apply(this,arguments);null!=a.editor.fontCss&&(c.writeln('<style type="text/css">'),c.writeln(a.editor.fontCss),c.writeln("</style>"))};if("undefined"!==typeof MathJax){var k=b.renderPage;b.renderPage=function(a,c,b,d,f,e){var g=k.apply(this,arguments);this.graph.mathEnabled? +this.mathEnabled=!0:g.className="geDisableMathJax";return g}}b.open(null,null,f,!0)}else{l=c.background;if(null==l||""==l||l==mxConstants.NONE)l="#ffffff";b.backgroundColor=l;b.autoOrigin=u;b.appendGraph(c,n,g,h,f,!0)}return b}var d=parseInt(T.value)/100;isNaN(d)&&(d=1,T.value="100 %");var d=.75*d,e=k.value,g=w.value,h=!u.checked,n=null;h&&(h=e==l&&g==l);if(!h&&null!=a.pages&&a.pages.length){var t=0,h=a.pages.length-1;u.checked||(t=parseInt(e)-1,h=parseInt(g)-1);for(var q=t;q<=h;q++){var m=a.pages[q], +e=m==a.currentPage?f:null;if(null==e){var e=a.createTemporaryGraph(f.getStylesheet()),g=!0,t=!1,p=null,y=null;null==m.viewState&&null==m.mapping&&null==m.root&&a.updatePageRoot(m);null!=m.viewState?(g=m.viewState.pageVisible,t=m.viewState.mathEnabled,p=m.viewState.background,y=m.viewState.backgroundImage):null!=m.mapping&&null!=m.mapping.diagramMap&&(t="0"!=m.mapping.diagramMap.get("mathEnabled"),p=m.mapping.diagramMap.get("background"),y=m.mapping.diagramMap.get("backgroundImage"),y=null!=y&&0<y.length? +JSON.parse(y):null);e.background=p;e.backgroundImage=null!=y?new mxImage(y.src,y.width,y.height):null;e.pageVisible=g;e.mathEnabled=t;var B=e.getGlobalVariable;e.getGlobalVariable=function(a){return"page"==a?m.getName():"pagenumber"==a?q+1:B.apply(this,arguments)};document.body.appendChild(e.container);a.updatePageRoot(m);e.model.setRoot(m.root)}n=b(e,n,q!=h);e!=f&&e.container.parentNode.removeChild(e.container)}}else n=b(f);n.mathEnabled&&(h=n.wnd.document,h.writeln('<script type="text/x-mathjax-config">'), +h.writeln("MathJax.Hub.Config({"),h.writeln('messageStyle: "none",'),h.writeln('jax: ["input/TeX", "input/MathML", "input/AsciiMath", "output/HTML-CSS"],'),h.writeln('extensions: ["tex2jax.js", "mml2jax.js", "asciimath2jax.js"],'),h.writeln('"HTML-CSS": {'),h.writeln("imageFont: null"),h.writeln("},"),h.writeln("TeX: {"),h.writeln('extensions: ["AMSmath.js", "AMSsymbols.js", "noErrors.js", "noUndefined.js"]'),h.writeln("},"),h.writeln("tex2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("},"), +h.writeln("asciimath2jax: {"),h.writeln('\tignoreClass: "geDisableMathJax"'),h.writeln("}"),h.writeln("});"),c&&(h.writeln("MathJax.Hub.Queue(function () {"),h.writeln("window.print();"),h.writeln("});")),h.writeln("\x3c/script>"),h.writeln('<script type="text/javascript" src="https://math.draw.io/current/MathJax.js">\x3c/script>'));n.closeDocument();!n.mathEnabled&&c&&PrintDialog.printPreview(n)}var f=a.editor.graph,e=document.createElement("div"),g=document.createElement("h3");g.style.width="100%"; +g.style.textAlign="center";g.style.marginTop="0px";mxUtils.write(g,c||mxResources.get("print"));e.appendChild(g);var h=1,l=1,n=document.createElement("div");n.style.cssText="border-bottom:1px solid lightGray;padding-bottom:12px;margin-bottom:12px;";var u=document.createElement("input");u.style.cssText="margin-right:8px;margin-bottom:8px;";u.setAttribute("value","all");u.setAttribute("type","radio");u.setAttribute("name","pages-printdialog");n.appendChild(u);g=document.createElement("span");mxUtils.write(g, +mxResources.get("printAllPages"));n.appendChild(g);mxUtils.br(n);var t=u.cloneNode(!0);u.setAttribute("checked","checked");t.setAttribute("value","range");n.appendChild(t);g=document.createElement("span");mxUtils.write(g,mxResources.get("pages")+":");n.appendChild(g);var k=document.createElement("input");k.style.cssText="margin:0 8px 0 8px;";k.setAttribute("value","1");k.setAttribute("type","number");k.setAttribute("min","1");k.style.width="50px";n.appendChild(k);g=document.createElement("span"); +mxUtils.write(g,mxResources.get("to"));n.appendChild(g);var w=k.cloneNode(!0);n.appendChild(w);mxEvent.addListener(k,"focus",function(){t.checked=!0});mxEvent.addListener(w,"focus",function(){t.checked=!0});mxEvent.addListener(k,"change",b);mxEvent.addListener(w,"change",b);if(null!=a.pages&&(h=a.pages.length,null!=a.currentPage))for(g=0;g<a.pages.length;g++)if(a.currentPage==a.pages[g]){l=g+1;k.value=l;w.value=l;break}k.setAttribute("max",h);w.setAttribute("max",h);1<h&&e.appendChild(n);var m=document.createElement("div"); +m.style.marginBottom="10px";var p=document.createElement("input");p.style.marginRight="8px";p.setAttribute("value","adjust");p.setAttribute("type","radio");p.setAttribute("name","printZoom");m.appendChild(p);g=document.createElement("span");mxUtils.write(g,mxResources.get("adjustTo"));m.appendChild(g);var r=document.createElement("input");r.style.cssText="margin:0 8px 0 8px;";r.setAttribute("value","100 %");r.style.width="50px";m.appendChild(r);mxEvent.addListener(r,"focus",function(){p.checked=!0}); +e.appendChild(m);var n=n.cloneNode(!1),v=p.cloneNode(!0);v.setAttribute("value","fit");p.setAttribute("checked","checked");g=document.createElement("div");g.style.cssText="display:inline-block;height:100%;vertical-align:top;padding-top:2px;";g.appendChild(v);n.appendChild(g);m=document.createElement("table");m.style.display="inline-block";var Q=document.createElement("tbody"),S=document.createElement("tr"),K=S.cloneNode(!0),F=document.createElement("td"),V=F.cloneNode(!0),L=F.cloneNode(!0),O=F.cloneNode(!0), +X=F.cloneNode(!0),A=F.cloneNode(!0);F.style.textAlign="right";O.style.textAlign="right";mxUtils.write(F,mxResources.get("fitTo"));var W=document.createElement("input");W.style.cssText="margin:0 8px 0 8px;";W.setAttribute("value","1");W.setAttribute("min","1");W.setAttribute("type","number");W.style.width="40px";V.appendChild(W);g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsAcross"));L.appendChild(g);mxUtils.write(O,mxResources.get("fitToBy"));var P=W.cloneNode(!0);X.appendChild(P); +mxEvent.addListener(W,"focus",function(){v.checked=!0});mxEvent.addListener(P,"focus",function(){v.checked=!0});g=document.createElement("span");mxUtils.write(g,mxResources.get("fitToSheetsDown"));A.appendChild(g);S.appendChild(F);S.appendChild(V);S.appendChild(L);K.appendChild(O);K.appendChild(X);K.appendChild(A);Q.appendChild(S);Q.appendChild(K);m.appendChild(Q);n.appendChild(m);e.appendChild(n);n=document.createElement("div");g=document.createElement("div");g.style.fontWeight="bold";g.style.marginBottom= +"12px";mxUtils.write(g,mxResources.get("paperSize"));n.appendChild(g);g=document.createElement("div");g.style.marginBottom="12px";var da=PageSetupDialog.addPageFormatPanel(g,"printdialog",a.editor.graph.pageFormat||mxConstants.PAGE_FORMAT_A4_PORTRAIT);n.appendChild(g);g=document.createElement("span");mxUtils.write(g,mxResources.get("pageScale"));n.appendChild(g);var T=document.createElement("input");T.style.cssText="margin:0 8px 0 8px;";T.setAttribute("value","100 %");T.style.width="60px";n.appendChild(T); +e.appendChild(n);g=document.createElement("div");g.style.cssText="text-align:right;margin:62px 0 0 0;";n=mxUtils.button(mxResources.get("cancel"),function(){a.hideDialog()});n.className="geBtn";a.editor.cancelFirst&&g.appendChild(n);a.isOffline()||(m=mxUtils.button(mxResources.get("help"),function(){f.openLink("https://desk.draw.io/support/solutions/articles/16000048947")}),m.className="geBtn",g.appendChild(m));PrintDialog.previewEnabled&&(m=mxUtils.button(mxResources.get("preview"),function(){a.hideDialog(); +d(!1)}),m.className="geBtn",g.appendChild(m));m=mxUtils.button(mxResources.get(PrintDialog.previewEnabled?"print":"ok"),function(){a.hideDialog();d(!0)});m.className="geBtn gePrimaryBtn";g.appendChild(m);a.editor.cancelFirst||g.appendChild(n);e.appendChild(g);this.container=e};var n=ChangePageSetup.prototype.execute;ChangePageSetup.prototype.execute=function(){null==this.page&&(this.page=this.ui.currentPage);this.page!=this.ui.currentPage?null!=this.page.viewState&&(this.ignoreColor||(this.page.viewState.background= +this.color),this.ignoreImage||(this.page.viewState.backgroundImage=this.image),null!=this.format&&(this.page.viewState.pageFormat=this.format),null!=this.mathEnabled&&(this.page.viewState.mathEnabled=this.mathEnabled),null!=this.shadowVisible&&(this.page.viewState.shadowVisible=this.shadowVisible)):(n.apply(this,arguments),null!=this.mathEnabled&&this.mathEnabled!=this.ui.isMathEnabled()&&(this.ui.setMathEnabled(this.mathEnabled),this.mathEnabled=!this.mathEnabled),null!=this.shadowVisible&&this.shadowVisible!= +this.ui.editor.graph.shadowVisible&&(this.ui.editor.graph.setShadowVisible(this.shadowVisible),this.shadowVisible=!this.shadowVisible))}})(); +(function(){var a=new mxObjectCodec(new ChangePageSetup,["ui","previousColor","previousImage","previousFormat"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.previousColor=d.color;d.previousImage=d.image;d.previousFormat=d.format;null!=d.foldingEnabled&&(d.foldingEnabled=!d.foldingEnabled);null!=d.mathEnabled&&(d.mathEnabled=!d.mathEnabled);null!=d.shadowVisible&&(d.shadowVisible=!d.shadowVisible);return d};mxCodecRegistry.register(a)})();(function(){EditorUi.VERSION="@DRAWIO-VERSION@";EditorUi.compactUi="atlas"!=uiTheme;EditorUi.enableLogging=/.*\.draw\.io$/.test(window.location.hostname)&&"support.draw.io"!=window.location.hostname;EditorUi.enablePlantUml=EditorUi.enableLogging;EditorUi.isElectronApp=null!=window&&null!=window.process&&null!=window.process.versions&&null!=window.process.versions.electron;EditorUi.scratchpadHelpLink="https://desk.draw.io/support/solutions/articles/16000042367";EditorUi.prototype.emptyDiagramXml='<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/></root></mxGraphModel>'; EditorUi.prototype.emptyLibraryXml="<mxlibrary>[]</mxlibrary>";EditorUi.prototype.mode=null;EditorUi.prototype.sidebarFooterHeight=36;EditorUi.prototype.defaultCustomShapeStyle="shape=stencil(tZRtTsQgEEBPw1+DJR7AoN6DbWftpAgE0Ortd/jYRGq72R+YNE2YgTePloEJGWblgA18ZuKFDcMj5/Sm8boZq+BgjCX4pTyqk6ZlKROitwusOMXKQDODx5iy4pXxZ5qTHiFHawxB0JrQZH7lCabQ0Fr+XWC1/E8zcsT/gAi+Subo2/3Mh6d/oJb5nU1b5tW7r2knautaa3T+U32o7f7vZwpJkaNDLORJjcu7t59m2jXxqX9un+tt022acsfmoKaQZ+vhhswZtS6Ne/ThQGt0IV0N3Yyv6P3CeT9/tHO0XFI5cAE=);whiteSpace=wrap;html=1;"; EditorUi.prototype.svgBrokenImage=Graph.createSvgImage(10,10,'<rect x="0" y="0" width="10" height="10" stroke="#000" fill="transparent"/><path d="m 0 0 L 10 10 L 0 10 L 10 0" stroke="#000" fill="transparent"/>');EditorUi.prototype.crossOriginImages=!mxClient.IS_IE;EditorUi.prototype.maxBackgroundSize=1600;EditorUi.prototype.maxImageSize=520;EditorUi.prototype.resampleThreshold=1E5;EditorUi.prototype.maxImageBytes=1E6;EditorUi.prototype.maxBackgroundBytes=25E5;EditorUi.prototype.currentFile=null;EditorUi.prototype.printPdfExport= -!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),c=new Image;c.onload=function(){try{b.getContext("2d").drawImage(c,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= -null!=a&&6<a.length}catch(h){}};c.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(t){}})(); -EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,c){localStorage.setItem(a,b);c()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh(); -this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,c){c=null!=c?c:24;var d=new Spinner({lines:12, -length:c,width:Math.round(c/3),radius:Math.round(c/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=d.spin;d.spin=function(c,e){var g=!1;this.active||(f.call(this,c),this.active=!0,null!=e&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight= -"10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),g.innerHTML=e+"...",c.appendChild(g),d.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0, -b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(c,e)}));this.stop();return a}),g=!0);return g};var e=d.stop;d.stop=function(){e.call(this);this.active=!1;null!=d.status&&(d.status.parentNode.removeChild(d.status),d.status=null)};d.pause=function(){return function(){}};return d};EditorUi.parsePng=function(a,b,c){function d(a,d){var b=e;e+=d;return a.substring(b,e)}function f(a){a=d(a,4);return a.charCodeAt(3)+ -(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=c&&c();else if(d(a,4),"IHDR"!=d(a,4))null!=c&&c();else{d(a,17);do{c=f(a);var g=d(a,4);if(null!=b&&b(e-8,g,c))break;value=d(a,c);d(a,4);if("IEND"==g)break}while(c)}};EditorUi.prototype.isCompatibleString=function(a){try{var d=mxUtils.parseXml(a),b=this.editor.extractGraphModel(d.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(m){}return!1}; -var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(d){var b=a.apply(this,arguments);if(null==b)try{var c=d.indexOf("<mxfile ");if(0<=c){var e=d.lastIndexOf("</mxfile>");e>c&&(b=d.substring(c,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var t=mxUtils.parseXml(d),h=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!= -h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var d=a.indexOf('<meta charset="utf-8">');0<=d&&(a=a.slice(0,d)+'<meta charset="utf-8"/>'+a.slice(d+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var d=null!=a?this.editor.extractGraphModel(a,!0):null;null!=d&&(a=d);if(null!=a){d=this.editor.graph;d.model.beginUpdate(); -try{var b=null!=this.pages?this.pages.slice():null,c=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<c.length||1==c.length&&c[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=c.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(c[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));d.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"), -this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),d.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)d.model.execute(new ChangePage(this,b[e],null))}finally{d.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,c,e,t,h,n,q,k,u){b=null!= -b?b:this.editor.graph;t=null!=t?t:!1;k=null!=k?k:!0;var d,f=null;null==c||c.getMode()==App.MODE_DEVICE||c.getMode()==App.MODE_BROWSER?d="_blank":f=d=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var m=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(m);if(b.decompress(g)!=m)return m;m=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(m,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(m)}u?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"), -g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=c?c.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!t&&(n||null!=c&&/(\.html)$/i.test(c.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=c?c.getTitle():null,d,f);else if(h||!t&&null!=c&&/(\.svg)$/i.test(c.getTitle()))null==c||c.getMode()!=App.MODE_DEVICE&&c.getMode()!= -App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,q,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var d=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d)));mxUtils.setTextContent(this.currentPage.node,c);d=this.fileNode.cloneNode(!1);if(b)d.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping; -this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(c=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(c),c=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c))),mxUtils.setTextContent(this.pages[f].node,c),e.needsUpdate=!1);d.appendChild(this.pages[f].node)}}return d};EditorUi.prototype.getFileData=function(a,b,c,e,t,h,n,q,k){t=null!=t?t:!0;n=null!=n?n:this.getXmlFileData(t,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph; -if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var d=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:d.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,c,e,t,q);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a}; -EditorUi.prototype.getHtml=function(a,b,c,e,t,h){h=null!=h?h:!0;var d=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var d=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(d.x/g-b.view.translate.x);g=Math.floor(d.y/g-b.view.translate.y);d=b.background;null==t&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom", +!1;EditorUi.prototype.pdfPageExport=!0;EditorUi.prototype.formatEnabled="0"!=urlParams.format;EditorUi.prototype.closableScratchpad=!0;(function(){EditorUi.prototype.useCanvasForExport=!1;EditorUi.prototype.jpgSupported=!1;try{var a=document.createElement("canvas");EditorUi.prototype.canvasSupported=!(!a.getContext||!a.getContext("2d"))}catch(t){}try{var b=document.createElement("canvas"),d=new Image;d.onload=function(){try{b.getContext("2d").drawImage(d,0,0);var a=b.toDataURL("image/png");EditorUi.prototype.useCanvasForExport= +null!=a&&6<a.length}catch(h){}};d.src="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1px" height="1px" version="1.1"><foreignObject pointer-events="all" width="1" height="1"><div xmlns="http://www.w3.org/1999/xhtml"></div></foreignObject></svg>')))}catch(t){}try{b=document.createElement("canvas");b.width=b.height=1;var e=b.toDataURL("image/jpeg");EditorUi.prototype.jpgSupported=null!==e.match("image/jpeg")}catch(t){}})(); +EditorUi.prototype.openLink=function(a,b){return this.editor.graph.openLink(a,b)};EditorUi.prototype.showSplash=function(a){};EditorUi.prototype.getLocalData=function(a,b){b(localStorage.getItem(a))};EditorUi.prototype.setLocalData=function(a,b,d){localStorage.setItem(a,b);d()};EditorUi.prototype.removeLocalData=function(a,b){localStorage.removeItem(a);b()};EditorUi.prototype.setMathEnabled=function(a){this.editor.graph.mathEnabled=a;this.editor.updateGraphComponents();this.editor.graph.refresh(); +this.fireEvent(new mxEventObject("mathEnabledChanged"))};EditorUi.prototype.isMathEnabled=function(a){return this.editor.graph.mathEnabled};EditorUi.prototype.isAppCache=function(){return"1"==urlParams.appcache||this.isOfflineApp()};EditorUi.prototype.isOfflineApp=function(){return"1"==urlParams.offline};EditorUi.prototype.isOffline=function(){return this.isOfflineApp()||!navigator.onLine||"1"==urlParams.stealth};EditorUi.prototype.createSpinner=function(a,b,d){d=null!=d?d:24;var c=new Spinner({lines:12, +length:d,width:Math.round(d/3),radius:Math.round(d/2),rotate:0,color:"dark"==uiTheme?"#c0c0c0":"#000",speed:1.5,trail:60,shadow:!1,hwaccel:!1,zIndex:2E9}),f=c.spin;c.spin=function(d,e){var g=!1;this.active||(f.call(this,d),this.active=!0,null!=e&&(g=document.createElement("div"),g.style.position="absolute",g.style.whiteSpace="nowrap",g.style.background="#4B4243",g.style.color="white",g.style.fontFamily="Helvetica, Arial",g.style.fontSize="9pt",g.style.padding="6px",g.style.paddingLeft="10px",g.style.paddingRight= +"10px",g.style.zIndex=2E9,g.style.left=Math.max(0,a)+"px",g.style.top=Math.max(0,b+70)+"px",mxUtils.setPrefixedStyle(g.style,"borderRadius","6px"),mxUtils.setPrefixedStyle(g.style,"transform","translate(-50%,-50%)"),"dark"!=uiTheme&&mxUtils.setPrefixedStyle(g.style,"boxShadow","2px 2px 3px 0px #ddd"),g.innerHTML=e+"...",d.appendChild(g),c.status=g,mxClient.IS_VML&&(null==document.documentMode||8>=document.documentMode)&&(g.style.left=Math.round(Math.max(0,a-g.offsetWidth/2))+"px",g.style.top=Math.round(Math.max(0, +b+70-g.offsetHeight/2))+"px")),this.pause=mxUtils.bind(this,function(){var a=function(){};this.active&&(a=mxUtils.bind(this,function(){this.spin(d,e)}));this.stop();return a}),g=!0);return g};var e=c.stop;c.stop=function(){e.call(this);this.active=!1;null!=c.status&&(c.status.parentNode.removeChild(c.status),c.status=null)};c.pause=function(){return function(){}};return c};EditorUi.parsePng=function(a,b,d){function c(a,c){var b=e;e+=c;return a.substring(b,e)}function f(a){a=c(a,4);return a.charCodeAt(3)+ +(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}var e=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=d&&d();else if(c(a,4),"IHDR"!=c(a,4))null!=d&&d();else{c(a,17);do{d=f(a);var g=c(a,4);if(null!=b&&b(e-8,g,d))break;value=c(a,d);c(a,4);if("IEND"==g)break}while(d)}};EditorUi.prototype.isCompatibleString=function(a){try{var c=mxUtils.parseXml(a),b=this.editor.extractGraphModel(c.documentElement,!0);return null!=b&&0==b.getElementsByTagName("parsererror").length}catch(u){}return!1}; +var a=EditorUi.prototype.extractGraphModelFromHtml;EditorUi.prototype.extractGraphModelFromHtml=function(c){var b=a.apply(this,arguments);if(null==b)try{var d=c.indexOf("<mxfile ");if(0<=d){var e=c.lastIndexOf("</mxfile>");e>d&&(b=c.substring(d,e+15).replace(/>/g,">").replace(/</g,"<").replace(/\\"/g,'"').replace(/\n/g,""))}else var t=mxUtils.parseXml(c),h=this.editor.extractGraphModel(t.documentElement,null!=this.pages||"hidden"==this.diagramContainer.style.visibility),b=null!= +h?mxUtils.getXml(h):""}catch(n){}return b};EditorUi.prototype.validateFileData=function(a){if(null!=a&&0<a.length){var c=a.indexOf('<meta charset="utf-8">');0<=c&&(a=a.slice(0,c)+'<meta charset="utf-8"/>'+a.slice(c+23-1,a.length))}return a};EditorUi.prototype.replaceFileData=function(a){a=this.validateFileData(a);a=null!=a&&0<a.length?mxUtils.parseXml(a).documentElement:null;var c=null!=a?this.editor.extractGraphModel(a,!0):null;null!=c&&(a=c);if(null!=a){c=this.editor.graph;c.model.beginUpdate(); +try{var b=null!=this.pages?this.pages.slice():null,d=a.getElementsByTagName("diagram");if("0"!=urlParams.pages||1<d.length||1==d.length&&d[0].hasAttribute("name")){this.fileNode=a;this.pages=null!=this.pages?this.pages:[];for(var e=d.length-1;0<=e;e--){var h=this.updatePageRoot(new DiagramPage(d[e]));null==h.getName()&&h.setName(mxResources.get("pageWithNumber",[e+1]));c.model.execute(new ChangePage(this,h,0==e?h:null,0))}}else"0"!=urlParams.pages&&null==this.fileNode&&(this.fileNode=a.ownerDocument.createElement("mxfile"), +this.currentPage=new DiagramPage(a.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),c.model.execute(new ChangePage(this,this.currentPage,this.currentPage,0))),this.editor.setGraphXml(a),null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root);if(null!=b)for(e=0;e<b.length;e++)c.model.execute(new ChangePage(this,b[e],null))}finally{c.model.endUpdate()}}};EditorUi.prototype.createFileData=function(a,b,d,e,t,h,n,l,k,q){b=null!= +b?b:this.editor.graph;t=null!=t?t:!1;k=null!=k?k:!0;var c,f=null;null==d||d.getMode()==App.MODE_DEVICE||d.getMode()==App.MODE_BROWSER?c="_blank":f=c=e;if(null==a)return"";var g=a;if("mxfile"!=g.nodeName.toLowerCase()){var u=b.zapGremlins(mxUtils.getXml(a)),g=b.compress(u);if(b.decompress(g)!=u)return u;u=a.ownerDocument.createElement("diagram");mxUtils.setTextContent(u,g);g=a.ownerDocument.createElement("mxfile");g.appendChild(u)}q?(g=g.cloneNode(!0),g.removeAttribute("userAgent"),g.removeAttribute("version"), +g.removeAttribute("editor"),g.removeAttribute("type")):(g.setAttribute("userAgent",navigator.userAgent),g.setAttribute("version",EditorUi.VERSION),g.setAttribute("editor","www.draw.io"),a=null!=d?d.getMode():this.mode,null!=a&&g.setAttribute("type",a));a=mxUtils.getXml(g);if(!h&&!t&&(n||null!=d&&/(\.html)$/i.test(d.getTitle())))a=this.getHtml2(mxUtils.getXml(g),b,null!=d?d.getTitle():null,c,f);else if(h||!t&&null!=d&&/(\.svg)$/i.test(d.getTitle()))null==d||d.getMode()!=App.MODE_DEVICE&&d.getMode()!= +App.MODE_BROWSER||(e=null),a=this.getEmbeddedSvg(a,b,e,null,l,k,f);return a};EditorUi.prototype.getXmlFileData=function(a,b){a=null!=a?a:!0;b=null!=b?b:!1;var c=this.editor.getGraphXml(a);if(a&&null!=this.fileNode&&null!=this.currentPage){var d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(c)));mxUtils.setTextContent(this.currentPage.node,d);c=this.fileNode.cloneNode(!1);if(b)c.appendChild(this.currentPage.node);else for(var f=0;f<this.pages.length;f++){var e=this.pages[f].mapping; +this.currentPage!=this.pages[f]&&null!=e&&e.needsUpdate&&(d=(new mxCodec(mxUtils.createXmlDocument())).encode(e.graphModel),e.writeRealtimeToNode(d),d=this.editor.graph.compress(this.editor.graph.zapGremlins(mxUtils.getXml(d))),mxUtils.setTextContent(this.pages[f].node,d),e.needsUpdate=!1);c.appendChild(this.pages[f].node)}}return c};EditorUi.prototype.getFileData=function(a,b,d,e,t,h,n,l,k){t=null!=t?t:!0;n=null!=n?n:this.getXmlFileData(t,null!=h?h:!1);k=null!=k?k:this.getCurrentFile();h=this.editor.graph; +if(null!=this.pages&&this.currentPage!=this.pages[0]&&(b||!a&&null!=k&&/(\.svg)$/i.test(k.getTitle()))){h=this.createTemporaryGraph(h.getStylesheet());var c=h.getGlobalVariable,f=this.pages[0];h.getGlobalVariable=function(a){return"page"==a?f.getName():"pagenumber"==a?1:c.apply(this,arguments)};document.body.appendChild(h.container);h.model.setRoot(f.root)}a=this.createFileData(n,h,k,window.location.href,a,b,d,e,t,l);h!=this.editor.graph&&h.container.parentNode.removeChild(h.container);return a}; +EditorUi.prototype.getHtml=function(a,b,d,e,t,h){h=null!=h?h:!0;var c=null,f="https://www.draw.io/js/embed-static.min.js";if(null!=b){var c=h?b.getGraphBounds():b.getBoundingBox(b.getSelectionCells()),g=b.view.scale;h=Math.floor(c.x/g-b.view.translate.x);g=Math.floor(c.y/g-b.view.translate.y);c=b.background;null==t&&(b=this.getBasenames().join(";"),0<b.length&&(f="https://www.draw.io/embed.js?s="+b));a.setAttribute("x0",h);a.setAttribute("y0",g)}null!=a&&(a.setAttribute("pan","1"),a.setAttribute("zoom", "1"),a.setAttribute("resize","0"),a.setAttribute("fit","0"),a.setAttribute("border","20"),a.setAttribute("links","1"),null!=e&&a.setAttribute("edit",e));null!=t&&(t=t.replace(/&/g,"&"));a=null!=a?this.editor.graph.zapGremlins(mxUtils.getXml(a)):"";e=this.editor.graph.compress(a);this.editor.graph.decompress(e)!=a&&(e=encodeURIComponent(a));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">': -">")+"\n<head>\n"+(null==t?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+"</head>\n<body"+(null==t&&null!=d&&d!=mxConstants.NONE?' style="background-color:'+d+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==t?'<script type="text/javascript" src="'+f+'">\x3c/script>': -'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,c,e,t){null!=t&&(t=t.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages, -this.currentPage));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==t?null!=c?"<title>"+mxUtils.htmlEntities(c)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+ -mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==t?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var d=null!=a&&0<a.length? -mxUtils.parseXml(a).documentElement:null;a=null!=d?this.editor.extractGraphModel(d,!0):null;null!=a&&(d=a);if(null!=d&&"mxfile"==d.nodeName&&(a=d.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=d;this.pages=[];for(d=0;d<a.length;d++){var b=new DiagramPage(a[d]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[d+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page|| -0))];d=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=d&&(this.fileNode=d.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(d.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(d);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var d=this.getCurrentFile(),d=null!=d&&null!= -d.getTitle()?d.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(d)||/(\.html)$/i.test(d)||/(\.svg)$/i.test(d)||/(\.png)$/i.test(d))d=d.substring(0,d.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(d=d+"-"+this.currentPage.getName());return d};EditorUi.prototype.downloadFile=function(a,b,c,e,t,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var d=this.getBaseFilename(!t), -f=d+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,t));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,d),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=d+".png":"jpeg"==a&&(f=d+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(d,b){try{var c= -this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(d,a,e,b,n);this.editor.graph.pageVisible=c;return f}catch(A){this.handleError(A)}}));else{var m=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(m)}))});if("svg"==a){var l=this.editor.graph.background;if(n||l== -mxConstants.NONE)l=null;var p=this.editor.graph.getSvg(l,null,null,null,null,e);c&&this.editor.graph.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=d+".svg",m=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(C){this.handleError(C)}}; -EditorUi.prototype.createDownloadRequest=function(a,b,c,e,t){var d=this.editor.graph.getGraphBounds();c=this.getFileData(!0,null,null,null,c,"xmlpng"!=b);var f="";if(d.width*d.height>MAX_AREA||c.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};d="0";if("xmlpng"==b&&(d="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&t&&(g=mxConstants.NONE); -return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+d+"&xml="+encodeURIComponent(c)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,c){var d=window.location.hash,f=mxUtils.bind(this,function(c){var f=null!=a.data?a.data:"";null!=c&&0<c.length&&(0<f.length&&(f+="\n"),f+=c);c=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml, -null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);c.getHash=function(){return d};this.fileLoaded(c);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var d=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), -mxUtils.bind(this,function(a){d===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&& -(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=c&&c(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function d(a){var d=new mxCellOverlay(a.image||c.warningImage,a.tooltip,a.align,a.valign,a.offset);d.addListener(mxEvent.CLICK,function(d,b){editorUi.alert(a.tooltip)});return d}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var c= -this.editor.graph,e=c.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var q=a.getAttribute("value");if(null!=q){var k=mxUtils.parseXml(q).documentElement;if(null!=k)if("1"==k.getAttribute("replace-value"))e.setValue(n,k);else for(var u=k.attributes,l=0;l<u.length;l++)c.setAttributeForCell(n,u[l].nodeName,0<u[l].nodeValue.length?u[l].nodeValue:null)}}catch(A){null!=window.console&&console.log("Error in value for "+ -n.id+": "+A)}try{var p=a.getAttribute("style");null!=p&&c.model.setStyle(n,p)}catch(A){null!=window.console&&console.log("Error in style for "+n.id+": "+A)}try{var r=a.getAttribute("icon");if(null!=r){var v=0<r.length?JSON.parse(r):null;null!=v&&v.append||c.removeCellOverlays(n);null!=v&&c.addCellOverlay(n,d(v))}}catch(A){null!=window.console&&console.log("Error in icon for "+n.id+": "+A)}try{var C=a.getAttribute("geometry");if(null!=C){var C=JSON.parse(C),x=c.getCellGeometry(n);if(null!=x){x=x.clone(); -for(key in C){var H=parseFloat(C[key]);"dx"==key?x.x+=H:"dy"==key?x.y+=H:"dw"==key?x.width+=H:"dh"==key?x.height+=H:x[key]=parseFloat(C[key])}c.model.setGeometry(n,x)}}}catch(A){null!=window.console&&console.log("Error in icon for "+n.id+": "+A)}}}else if("model"==a.nodeName){for(var I=a.firstChild;null!=I&&I.nodeType!=mxConstants.NODETYPE_ELEMENT;)I=I.nextSibling;null!=I&&(new mxCodec(a.firstChild)).decode(I,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(c.view.scale=parseFloat(a.getAttribute("scale"))), -a.hasAttribute("dx")||a.hasAttribute("dy"))c.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var d=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener), -b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var c=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); +">")+"\n<head>\n"+(null==t?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+"</head>\n<body"+(null==t&&null!=c&&c!=mxConstants.NONE?' style="background-color:'+c+';">':">")+'\n<div class="mxgraph" style="position:relative;overflow:auto;width:100%;">\n<div style="width:1px;height:1px;overflow:hidden;">'+e+"</div>\n</div>\n"+(null==t?'<script type="text/javascript" src="'+f+'">\x3c/script>': +'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.getHtml2=function(a,b,d,e,t){null!=t&&(t=t.replace(/&/g,"&"));a={highlight:"#0000ff",nav:this.editor.graph.foldingEnabled,resize:!0,xml:this.editor.graph.zapGremlins(a),toolbar:"pages zoom layers lightbox"};null!=this.pages&&null!=this.currentPage&&(a.page=mxUtils.indexOf(this.pages, +this.currentPage));return(null==t?'\x3c!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=5,IE=9" ><![endif]--\x3e\n':"")+"<!DOCTYPE html>\n<html"+(null!=t?' xmlns="http://www.w3.org/1999/xhtml">':">")+"\n<head>\n"+(null==t?null!=d?"<title>"+mxUtils.htmlEntities(d)+"</title>\n":"":"<title>Draw.io Diagram</title>\n")+(null!=t?'<meta http-equiv="refresh" content="0;URL=\''+t+"'\"/>\n":"")+'<meta charset="utf-8"/>\n</head>\n<body>\n<div class="mxgraph" style="max-width:100%;border:1px solid transparent;" data-mxgraph="'+ +mxUtils.htmlEntities(JSON.stringify(a))+'"></div>\n'+(null==t?'<script type="text/javascript" src="https://www.draw.io/js/viewer.min.js">\x3c/script>':'<a style="position:absolute;top:50%;left:50%;margin-top:-128px;margin-left:-64px;" href="'+t+'" target="_blank"><img border="0" src="https://www.draw.io/images/drawlogo128.png"/></a>')+"\n</body>\n</html>\n"};EditorUi.prototype.setFileData=function(a){a=this.validateFileData(a);this.pages=this.fileNode=this.currentPage=null;var c=null!=a&&0<a.length? +mxUtils.parseXml(a).documentElement:null;a=null!=c?this.editor.extractGraphModel(c,!0):null;null!=a&&(c=a);if(null!=c&&"mxfile"==c.nodeName&&(a=c.getElementsByTagName("diagram"),"0"!=urlParams.pages||1<a.length||1==a.length&&a[0].hasAttribute("name"))){this.fileNode=c;this.pages=[];for(c=0;c<a.length;c++){var b=new DiagramPage(a[c]);null==b.getName()&&b.setName(mxResources.get("pageWithNumber",[c+1]));this.pages.push(b)}this.currentPage=this.pages[Math.max(0,Math.min(this.pages.length-1,urlParams.page|| +0))];c=this.currentPage.node}"0"!=urlParams.pages&&null==this.fileNode&&null!=c&&(this.fileNode=c.ownerDocument.createElement("mxfile"),this.currentPage=new DiagramPage(c.ownerDocument.createElement("diagram")),this.currentPage.setName(mxResources.get("pageWithNumber",[1])),this.pages=[this.currentPage]);this.editor.setGraphXml(c);null!=this.currentPage&&(this.currentPage.root=this.editor.graph.model.root)};EditorUi.prototype.getBaseFilename=function(a){var c=this.getCurrentFile(),c=null!=c&&null!= +c.getTitle()?c.getTitle():this.defaultFilename;if(/(\.xml)$/i.test(c)||/(\.html)$/i.test(c)||/(\.svg)$/i.test(c)||/(\.png)$/i.test(c))c=c.substring(0,c.lastIndexOf("."));!a&&null!=this.pages&&1<this.pages.length&&null!=this.currentPage&&null!=this.currentPage.node.getAttribute("name")&&0<this.currentPage.getName().length&&(c=c+"-"+this.currentPage.getName());return c};EditorUi.prototype.downloadFile=function(a,b,d,e,t,h,n){try{e=null!=e?e:this.editor.graph.isSelectionEmpty();var c=this.getBaseFilename(!t), +f=c+"."+a;if("xml"==a){var g='<?xml version="1.0" encoding="UTF-8"?>\n'+(b?mxUtils.getXml(this.editor.getGraphXml(e)):this.getFileData(!0,null,null,null,e,t));this.saveData(f,a,g,"text/xml")}else if("html"==a)g=this.getHtml2(this.getFileData(!0),this.editor.graph,c),this.saveData(f,a,g,"text/html");else if("svg"!=a&&"xmlsvg"!=a||!this.spinner.spin(document.body,mxResources.get("export")))"xmlpng"==a?f=c+".png":"jpeg"==a&&(f=c+".jpg"),this.saveRequest(f,a,mxUtils.bind(this,function(c,b){try{var d= +this.editor.graph.pageVisible;null!=h&&(this.editor.graph.pageVisible=h);var f=this.createDownloadRequest(c,a,e,b,n);this.editor.graph.pageVisible=d;return f}catch(B){this.handleError(B)}}));else{var u=null,k=mxUtils.bind(this,function(a){a.length<=MAX_REQUEST_SIZE?this.saveData(f,"svg",a,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"),mxUtils.bind(this,function(){mxUtils.popup(u)}))});if("svg"==a){var m=this.editor.graph.background;if(n||m== +mxConstants.NONE)m=null;var p=this.editor.graph.getSvg(m,null,null,null,null,e);d&&this.editor.graph.addSvgShadow(p);this.convertImages(p,mxUtils.bind(this,mxUtils.bind(this,function(a){this.spinner.stop();k('<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a))})))}else f=c+".svg",u=this.getFileData(!1,!0,null,mxUtils.bind(this,function(a){this.spinner.stop();k(a)}),e)}}catch(E){this.handleError(E)}}; +EditorUi.prototype.createDownloadRequest=function(a,b,d,e,t){var c=this.editor.graph.getGraphBounds();d=this.getFileData(!0,null,null,null,d,"xmlpng"!=b);var f="";if(c.width*c.height>MAX_AREA||d.length>MAX_REQUEST_SIZE)throw{message:mxResources.get("drawingTooLarge")};c="0";if("xmlpng"==b&&(c="1",b="png",null!=this.pages&&null!=this.currentPage))for(var g=0;g<this.pages.length;g++)if(this.pages[g]==this.currentPage){f="&from="+g;break}g=this.editor.graph.background;"png"==b&&t&&(g=mxConstants.NONE); +return new mxXmlRequest(EXPORT_URL,"format="+b+f+"&bg="+(null!=g?g:mxConstants.NONE)+"&base64="+e+"&embedXml="+c+"&xml="+encodeURIComponent(d)+(null!=a?"&filename="+encodeURIComponent(a):""))};EditorUi.prototype.setMode=function(a,b){this.mode=a};EditorUi.prototype.loadDescriptor=function(a,b,d){var c=window.location.hash,f=mxUtils.bind(this,function(d){var f=null!=a.data?a.data:"";null!=d&&0<d.length&&(0<f.length&&(f+="\n"),f+=d);d=new LocalFile(this,"csv"!=a.format&&0<f.length?f:this.emptyDiagramXml, +null!=urlParams.title?decodeURIComponent(urlParams.title):this.defaultFilename,!0);d.getHash=function(){return c};this.fileLoaded(d);"csv"==a.format&&this.importCsv(f,mxUtils.bind(this,function(a){this.editor.undoManager.clear();this.editor.setModified(!1);this.editor.setStatus("")}));if(null!=a.update){var e=null!=a.interval?parseInt(a.interval):6E4,g=null,h=mxUtils.bind(this,function(){var c=this.currentPage;mxUtils.post(a.update,"xml="+encodeURIComponent(mxUtils.getXml(this.editor.getGraphXml())), +mxUtils.bind(this,function(a){c===this.currentPage&&(200<=a.getStatus()&&300>=a.getStatus()?(this.updateDiagram(a.getText()),n()):this.handleError({message:mxResources.get("error")+" "+a.getStatus()}))}),mxUtils.bind(this,function(a){this.handleError(a)}))}),n=mxUtils.bind(this,function(){window.clearTimeout(g);g=window.setTimeout(h,e)});this.editor.addListener("pageSelected",mxUtils.bind(this,function(){n();h()}));n();h()}null!=b&&b()});if(null!=a.url){var e=a.url;/^https?:\/\//.test(e)&&!this.isCorsEnabledForUrl(e)&& +(e=PROXY_URL+"?url="+encodeURIComponent(a.url));this.loadUrl(e,mxUtils.bind(this,function(a){f(a)}),mxUtils.bind(this,function(a){null!=d&&d(a)}))}else f(a.data)};EditorUi.prototype.updateDiagram=function(a){function c(a){var c=new mxCellOverlay(a.image||d.warningImage,a.tooltip,a.align,a.valign,a.offset);c.addListener(mxEvent.CLICK,function(c,b){editorUi.alert(a.tooltip)});return c}var b=null;if(null!=a&&0<a.length&&(b=mxUtils.parseXml(a),a=null!=b?b.documentElement:null,null!=a&&"updates"==a.nodeName)){var d= +this.editor.graph,e=d.getModel();e.beginUpdate();var h=null;try{for(a=a.firstChild;null!=a;){if("update"==a.nodeName){var n=e.getCell(a.getAttribute("id"));if(null!=n){try{var l=a.getAttribute("value");if(null!=l){var k=mxUtils.parseXml(l).documentElement;if(null!=k)if("1"==k.getAttribute("replace-value"))e.setValue(n,k);else for(var q=k.attributes,m=0;m<q.length;m++)d.setAttributeForCell(n,q[m].nodeName,0<q[m].nodeValue.length?q[m].nodeValue:null)}}catch(B){null!=window.console&&console.log("Error in value for "+ +n.id+": "+B)}try{var p=a.getAttribute("style");null!=p&&d.model.setStyle(n,p)}catch(B){null!=window.console&&console.log("Error in style for "+n.id+": "+B)}try{var r=a.getAttribute("icon");if(null!=r){var v=0<r.length?JSON.parse(r):null;null!=v&&v.append||d.removeCellOverlays(n);null!=v&&d.addCellOverlay(n,c(v))}}catch(B){null!=window.console&&console.log("Error in icon for "+n.id+": "+B)}try{var E=a.getAttribute("geometry");if(null!=E){var E=JSON.parse(E),x=d.getCellGeometry(n);if(null!=x){x=x.clone(); +for(key in E){var J=parseFloat(E[key]);"dx"==key?x.x+=J:"dy"==key?x.y+=J:"dw"==key?x.width+=J:"dh"==key?x.height+=J:x[key]=parseFloat(E[key])}d.model.setGeometry(n,x)}}}catch(B){null!=window.console&&console.log("Error in icon for "+n.id+": "+B)}}}else if("model"==a.nodeName){for(var H=a.firstChild;null!=H&&H.nodeType!=mxConstants.NODETYPE_ELEMENT;)H=H.nextSibling;null!=H&&(new mxCodec(a.firstChild)).decode(H,e)}else if("view"==a.nodeName){if(a.hasAttribute("scale")&&(d.view.scale=parseFloat(a.getAttribute("scale"))), +a.hasAttribute("dx")||a.hasAttribute("dy"))d.view.translate=new mxPoint(parseFloat(a.getAttribute("dx")||0),parseFloat(a.getAttribute("dy")||0))}else"fit"==a.nodeName&&(h=a.hasAttribute("max-scale")?parseFloat(a.getAttribute("max-scale")):1);a=a.nextSibling}}finally{e.endUpdate()}null!=h&&this.chromelessResize&&this.chromelessResize(!0,h)}return b};EditorUi.prototype.fileLoaded=function(a){var c=!1;this.hideDialog();var b=this.getCurrentFile();this.setCurrentFile(null);null!=b&&(b.removeListener(this.descriptorChangedListener), +b.close());this.editor.graph.model.clear();this.editor.undoManager.clear();var d=mxUtils.bind(this,function(){this.setGraphEnabled(!1);this.setCurrentFile(null);null!=b&&this.updateDocumentTitle();this.editor.graph.model.clear();this.editor.undoManager.clear();this.setBackgroundImage(null);null!=window.location.hash&&0<window.location.hash.length&&(window.location.hash="");null!=this.fname&&(this.fnameWrapper.style.display="none",this.fname.innerHTML="",this.fname.setAttribute("title",mxResources.get("rename"))); this.updateUi();this.showSplash()});if(null!=a)try{this.setCurrentFile(a);a.addListener("descriptorChanged",this.descriptorChangedListener);a.addListener("contentChanged",this.descriptorChangedListener);a.open();this.setGraphEnabled(!0);this.setMode(a.getMode());this.editor.undoManager.clear();this.descriptorChanged();this.updateUi();null==a.realtime&&(a.isEditable()?this.editor.setStatus(""):this.editor.setStatus('<span class="geStatusAlert" style="margin-left:8px;">'+mxUtils.htmlEntities(mxResources.get("readOnly"))+ -"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));d=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!= +"</span>"));!this.editor.isChromelessView()||this.editor.editable?(this.editor.graph.selectUnlockedLayer(),this.showLayersDialog(),this.restoreLibraries(),window.self!==window.top&&window.focus()):this.editor.graph.isLightboxView()&&this.lightboxFit();this.chromelessResize&&this.chromelessResize();this.editor.fireEvent(new mxEventObject("fileLoaded"));c=!0;this.isOffline()||null==a.getMode()||this.logEvent({category:"File",action:"open",label:a.getMode()});if(this.mode==a.getMode()&&a.getMode()!= App.MODE_DEVICE&&null!=a.getMode())try{this.addRecent({id:a.getHash(),title:a.getTitle(),mode:a.getMode()})}catch(t){}try{mxSettings.setOpenCounter(mxSettings.getOpenCounter()+1),mxSettings.save()}catch(t){}}catch(t){null!=window.console&&console.log("error in fileLoaded:",a,t);if(EditorUi.enableLogging&&!this.isOffline())try{(new Image).src=(null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"")+"/log?v="+encodeURIComponent(EditorUi.VERSION)+"&msg=errorInFileLoaded:url:"+encodeURIComponent(window.location.href)+ -(null!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(h){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):c()}))}else c();return d};EditorUi.prototype.descriptorChanged= -function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var d=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=d+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,c,e,t,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad= -function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var d=mxUtils.createXmlDocument(),b=d.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));d.appendChild(b);return mxUtils.getXml(d)};EditorUi.prototype.closeLibrary=function(a){null!= -a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var d=this.sidebar.palettes[a];if(null!=d){for(var b=0;b<d.length;b++)d[b].parentNode.removeChild(d[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var d=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b= -this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:d.firstChild.nextSibling.nextSibling;var b=d.lastChild,c=b.previousSibling;d.insertBefore(b,a);d.insertBefore(c,b)};EditorUi.prototype.loadLibrary=function(a){var d=mxUtils.parseXml(a.getData());if("mxlibrary"==d.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(d.documentElement));this.libraryLoaded(a,b,d.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};}; -EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,c){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var d=this.sidebar.palettes[a.getHash()],d=null!=d?d[d.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(d,b){if(0==d.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style, -"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var c=0;c<d.length;c++){var e=d[c],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1, -!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var d=a.data;null!=d&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){d=this.convertDataUri(d);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+= -"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+d,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var d=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(d,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);c=null!=c&&0<c.length?c:a.getTitle();var q=this.sidebar.addPalette(a.getHash(),c,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(d);var k= -q.parentNode.previousSibling;c=k.getAttribute("title");null!=c&&0<c.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+c);var u=document.createElement("div");u.style.position="absolute";u.style.right="0px";u.style.top="0px";u.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(u.style.backgroundColor="inherit");k.style.position="relative";var l=document.createElement("img");l.setAttribute("src",Dialog.prototype.closeImage);l.setAttribute("title", -mxResources.get("close"));l.setAttribute("valign","absmiddle");l.setAttribute("border","0");l.style.margin="0 3px";var p=null;if(".scratchpad"!=a.title||this.closableScratchpad)u.appendChild(l),mxEvent.addListener(l,"click",mxUtils.bind(this,function(d){if(!mxEvent.isConsumed(d)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=p?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(d)}}));if(a.isEditable()){var r= -this.editor.graph,v=null,C=mxUtils.bind(this,function(d){this.showLibraryDialog(a.getTitle(),q,b,a,a.getMode());mxEvent.consume(d)}),x=mxUtils.bind(this,function(d){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=l.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",u.insertBefore(v,u.firstChild),k.style.paddingRight=18*u.childNodes.length+ -"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),k.style.paddingRight=18*u.childNodes.length+"px")})):null==p&&(p=l.cloneNode(!1),p.setAttribute("src",IMAGE_PATH+"/download.png"),p.setAttribute("title",mxResources.get("save")),u.insertBefore(p,u.firstChild),mxEvent.addListener(p,"click",mxUtils.bind(this,function(d){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==p||a.isModified()|| -(k.style.paddingRight=18*u.childNodes.length+"px",p.parentNode.removeChild(p),p=null)});mxEvent.consume(d)})),k.style.paddingRight=18*u.childNodes.length+"px")}),H=mxUtils.bind(this,function(a,d,c,e){a=r.cloneCells(mxUtils.sortCells(r.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=r.getCellGeometry(a[g]);null!=h&&h.translate(-d.x,-d.y)}q.appendChild(this.sidebar.createVertexTemplateFromCells(a,d.width,d.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), -w:d.width,h:d.height};null!=e&&(a.title=e);b.push(a);x(c);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),I=mxUtils.bind(this,function(a){if(r.isSelectionEmpty())r.getRubberband().isActive()?(r.getRubberband().execute(a),r.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var d=r.getSelectionCells(),b=r.view.getBounds(d),c=r.view.scale;b.x/=c;b.y/=c;b.width/=c;b.height/=c;b.x-=r.view.translate.x; -b.y-=r.view.translate.y;H(d,b)}mxEvent.consume(a)});q.style.border="3px solid transparent";mxEvent.addGestureListeners(q,function(){},mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":q.style.border="3px dotted rgb(254, 137, 12)",q.style.cursor="copy",r.panningManager.stop(),r.autoScroll=!1,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!1), -null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler&&(q.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),q.style.cursor="default",this.sidebar.showTooltips=!0,r.panningManager.stop(),r.graphHandler.reset(),r.isMouseDown=!1,r.autoScroll=!0,I(a),mxEvent.consume(a))}));mxEvent.addListener(q,"mouseleave",mxUtils.bind(this,function(a){r.isMouseDown&& -null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="visible",q.style.border="3px solid transparent",q.style.cursor="",r.autoScroll=!0,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!0),null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(q,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":q.style.border="3px dotted rgb(254, 137, 12)"; -a.dataTransfer.dropEffect="copy";q.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"drop",mxUtils.bind(this,function(a){q.style.border="3px solid transparent";q.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(d,c,g,h,n,m,t,u,k){if(null!=d&&"image/"==c.substring(0,6))d="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ -this.convertDataUri(d),d=[new mxCell("",new mxGeometry(0,0,n,m),d)],d[0].vertex=!0,H(d,new mxRectangle(0,0,n,m),a,mxEvent.isAltDown(a)?null:t.substring(0,t.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var l=!1,p=mxUtils.bind(this,function(d,c){if(null!=d&&"text/xml"==c){var g=mxUtils.parseXml(d);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,q);b=b.concat(h);x(a); -this.spinner.stop();l=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),m=this.stringToCells(this.editor.graph.decompress(h)),t=this.editor.graph.getBoundingBoxFromGeometry(m);H(m,new mxRectangle(0,0,t.width,t.height),a)}l=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}l||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); -null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=k&&null!=t&&(/(\.vsdx?)($|\?)/i.test(t)||/(\.vssx)($|\?)/i.test(t))?this.importVisio(k,function(a){p(a,"text/xml")},null,t):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,t)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?p(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": -"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):p(d,c)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(q,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(q.style.border="3px solid transparent",q.style.cursor="");a.stopPropagation();a.preventDefault()}));l=l.cloneNode(!1);l.setAttribute("src",Editor.editImage);l.setAttribute("title",mxResources.get("edit"));u.insertBefore(l,u.firstChild);mxEvent.addListener(l,"click",C);mxEvent.addListener(q, -"dblclick",function(a){mxEvent.getSource(a)==q&&C(a)});c=l.cloneNode(!1);c.setAttribute("src",Editor.plusImage);c.setAttribute("title",mxResources.get("add"));u.insertBefore(c,u.firstChild);mxEvent.addListener(c,"click",I);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(c=document.createElement("span"),c.setAttribute("title",mxResources.get("help")),c.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(c,"?"),mxEvent.addGestureListeners(c, -mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),u.insertBefore(c,u.firstChild))}k.appendChild(u);k.style.paddingRight=18*u.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter"); +(null!=t&&null!=t.message?":err:"+encodeURIComponent(t.message):"")+(null!=t&&null!=t.stack?"&stack="+encodeURIComponent(t.stack):"")}catch(h){}this.handleError(t,mxResources.get("errorLoadingFile"),mxUtils.bind(this,function(){null!=urlParams.url&&this.spinner.spin(document.body,mxResources.get("reconnecting"))?window.location.search=this.getSearch(["url"]):null!=b?b.constructor==DriveFile?this.loadFile(b.getHash()):this.fileLoaded(b):d()}))}else d();return c};EditorUi.prototype.descriptorChanged= +function(){};EditorUi.prototype.logEvent=function(a){if(EditorUi.enableLogging)try{var c=null!=window.DRAWIO_LOG_URL?window.DRAWIO_LOG_URL:"";(new Image).src=c+"/images/1x1.png?v="+encodeURIComponent(EditorUi.VERSION)+(null!=a?"&data="+encodeURIComponent(JSON.stringify(a)):"")}catch(g){}};EditorUi.prototype.restoreLibraries=function(){};EditorUi.prototype.saveLibrary=function(a,b,d,e,t,h,n){};EditorUi.prototype.isScratchpadEnabled=function(){return isLocalStorage||mxClient.IS_CHROMEAPP};EditorUi.prototype.toggleScratchpad= +function(){this.isScratchpadEnabled()&&(null==this.scratchpad?this.getLocalData(".scratchpad",mxUtils.bind(this,function(a){null==a&&(a=this.emptyLibraryXml);this.loadLibrary(new StorageLibrary(this,a,".scratchpad"))})):this.closeLibrary(this.scratchpad))};EditorUi.prototype.createLibraryDataFromImages=function(a){var c=mxUtils.createXmlDocument(),b=c.createElement("mxlibrary");mxUtils.setTextContent(b,JSON.stringify(a));c.appendChild(b);return mxUtils.getXml(c)};EditorUi.prototype.closeLibrary=function(a){null!= +a&&(this.removeLibrarySidebar(a.getHash()),a.constructor!=LocalLibrary&&mxSettings.removeCustomLibrary(a.getHash()),".scratchpad"==a.title&&(this.scratchpad=null))};EditorUi.prototype.removeLibrarySidebar=function(a){var c=this.sidebar.palettes[a];if(null!=c){for(var b=0;b<c.length;b++)c[b].parentNode.removeChild(c[b]);delete this.sidebar.palettes[a]}};EditorUi.prototype.repositionLibrary=function(a){var c=this.sidebar.container;if(null==a){var b=this.sidebar.palettes["L.scratchpad"];null==b&&(b= +this.sidebar.palettes.search);null!=b&&(a=b[b.length-1].nextSibling)}a=null!=a?a:c.firstChild.nextSibling.nextSibling;var b=c.lastChild,d=b.previousSibling;c.insertBefore(b,a);c.insertBefore(d,b)};EditorUi.prototype.loadLibrary=function(a){var c=mxUtils.parseXml(a.getData());if("mxlibrary"==c.documentElement.nodeName){var b=JSON.parse(mxUtils.getTextContent(c.documentElement));this.libraryLoaded(a,b,c.documentElement.getAttribute("title"))}else throw{message:mxResources.get("notALibraryFile")};}; +EditorUi.prototype.getLibraryStorageHint=function(a){return""};EditorUi.prototype.libraryLoaded=function(a,b,d){if(null!=this.sidebar){a.constructor!=LocalLibrary&&mxSettings.addCustomLibrary(a.getHash());".scratchpad"==a.title&&(this.scratchpad=a);var c=this.sidebar.palettes[a.getHash()],c=null!=c?c[c.length-1].nextSibling:null;this.removeLibrarySidebar(a.getHash());var f=null,e=mxUtils.bind(this,function(c,b){if(0==c.length&&a.isEditable())null==f&&(f=document.createElement("div"),mxUtils.setPrefixedStyle(f.style, +"borderRadius","6px"),f.style.border="3px dotted lightGray",f.style.textAlign="center",f.style.padding="8px",f.style.color="#B3B3B3",mxUtils.write(f,mxResources.get("dragElementsHere"))),b.appendChild(f);else for(var d=0;d<c.length;d++){var e=c[d],g=e.data;if(null!=g){var g=this.convertDataUri(g),h="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==e.aspect&&(h+="aspect=fixed;");b.appendChild(this.sidebar.createVertexTemplate(h+"image="+g,e.w,e.h,"",e.title||"",!1, +!1,!0))}else null!=e.xml&&(g=this.stringToCells(this.editor.graph.decompress(e.xml)),0<g.length&&b.appendChild(this.sidebar.createVertexTemplateFromCells(g,e.w,e.h,e.title||"",!0,!1,!0)))}});if(null!=this.sidebar&&null!=b)for(var g=0;g<b.length;g++)mxUtils.bind(this,function(a){var c=a.data;null!=c&&null!=a.title?this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){c=this.convertDataUri(c);var b="shape=image;verticalLabelPosition=bottom;verticalAlign=top;imageAspect=0;";"fixed"==a.aspect&&(b+= +"aspect=fixed;");return this.sidebar.createVertexTemplate(b+"image="+c,a.w,a.h,"",a.title||"",!1,!1,!0)})):null!=a.xml&&null!=a.title&&this.sidebar.addEntry(a.title,mxUtils.bind(this,function(){var c=this.stringToCells(this.editor.graph.decompress(a.xml));return this.sidebar.createVertexTemplateFromCells(c,a.w,a.h,a.title||"",!0,!1,!0)}))})(b[g]);d=null!=d&&0<d.length?d:a.getTitle();var l=this.sidebar.addPalette(a.getHash(),d,!0,mxUtils.bind(this,function(a){e(b,a)}));this.repositionLibrary(c);var k= +l.parentNode.previousSibling;d=k.getAttribute("title");null!=d&&0<d.length&&".scratchpad"!=a.title&&k.setAttribute("title",this.getLibraryStorageHint(a)+"\n"+d);var q=document.createElement("div");q.style.position="absolute";q.style.right="0px";q.style.top="0px";q.style.padding="8px";mxClient.IS_QUIRKS||8==document.documentMode||(q.style.backgroundColor="inherit");k.style.position="relative";var m=document.createElement("img");m.setAttribute("src",Dialog.prototype.closeImage);m.setAttribute("title", +mxResources.get("close"));m.setAttribute("valign","absmiddle");m.setAttribute("border","0");m.style.margin="0 3px";var p=null;if(".scratchpad"!=a.title||this.closableScratchpad)q.appendChild(m),mxEvent.addListener(m,"click",mxUtils.bind(this,function(c){if(!mxEvent.isConsumed(c)){var b=mxUtils.bind(this,function(){this.closeLibrary(a)});null!=p?this.confirm(mxResources.get("allChangesLost"),null,b,mxResources.get("cancel"),mxResources.get("discardChanges")):b();mxEvent.consume(c)}}));if(a.isEditable()){var r= +this.editor.graph,v=null,E=mxUtils.bind(this,function(c){this.showLibraryDialog(a.getTitle(),l,b,a,a.getMode());mxEvent.consume(c)}),x=mxUtils.bind(this,function(c){a.setModified(!0);a.isAutosave()?(null!=v&&null!=v.parentNode&&v.parentNode.removeChild(v),v=m.cloneNode(!1),v.setAttribute("src",Editor.spinImage),v.setAttribute("title",mxResources.get("saving")),v.style.cursor="default",v.style.marginRight="2px",v.style.marginTop="-2px",q.insertBefore(v,q.firstChild),k.style.paddingRight=18*q.childNodes.length+ +"px",this.saveLibrary(a.getTitle(),b,a,a.getMode(),!0,!0,function(){null!=v&&null!=v.parentNode&&(v.parentNode.removeChild(v),k.style.paddingRight=18*q.childNodes.length+"px")})):null==p&&(p=m.cloneNode(!1),p.setAttribute("src",IMAGE_PATH+"/download.png"),p.setAttribute("title",mxResources.get("save")),q.insertBefore(p,q.firstChild),mxEvent.addListener(p,"click",mxUtils.bind(this,function(c){this.saveLibrary(a.getTitle(),b,a,a.getMode(),a.constructor==LocalLibrary,!0,function(){null==p||a.isModified()|| +(k.style.paddingRight=18*q.childNodes.length+"px",p.parentNode.removeChild(p),p=null)});mxEvent.consume(c)})),k.style.paddingRight=18*q.childNodes.length+"px")}),J=mxUtils.bind(this,function(a,c,d,e){a=r.cloneCells(mxUtils.sortCells(r.model.getTopmostCells(a)));for(var g=0;g<a.length;g++){var h=r.getCellGeometry(a[g]);null!=h&&h.translate(-c.x,-c.y)}l.appendChild(this.sidebar.createVertexTemplateFromCells(a,c.width,c.height,e||"",!0,!1,!1));a={xml:this.editor.graph.compress(mxUtils.getXml(this.editor.graph.encodeCells(a))), +w:c.width,h:c.height};null!=e&&(a.title=e);b.push(a);x(d);null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)}),H=mxUtils.bind(this,function(a){if(r.isSelectionEmpty())r.getRubberband().isActive()?(r.getRubberband().execute(a),r.getRubberband().reset()):this.showError(mxResources.get("error"),mxResources.get("nothingIsSelected"),mxResources.get("ok"));else{var c=r.getSelectionCells(),b=r.view.getBounds(c),d=r.view.scale;b.x/=d;b.y/=d;b.width/=d;b.height/=d;b.x-=r.view.translate.x; +b.y-=r.view.translate.y;J(c,b)}mxEvent.consume(a)});l.style.border="3px solid transparent";mxEvent.addGestureListeners(l,function(){},mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="hidden",null!=f?f.style.border="3px dotted rgb(254, 137, 12)":l.style.border="3px dotted rgb(254, 137, 12)",l.style.cursor="copy",r.panningManager.stop(),r.autoScroll=!1,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!1), +null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="hidden"),mxEvent.consume(a))}),mxUtils.bind(this,function(a){r.isMouseDown&&null!=r.panningManager&&null!=r.graphHandler&&(l.style.border="3px solid transparent",null!=f&&(f.style.border="3px dotted lightGray"),l.style.cursor="default",this.sidebar.showTooltips=!0,r.panningManager.stop(),r.graphHandler.reset(),r.isMouseDown=!1,r.autoScroll=!0,H(a),mxEvent.consume(a))}));mxEvent.addListener(l,"mouseleave",mxUtils.bind(this,function(a){r.isMouseDown&& +null!=r.graphHandler.shape&&(r.graphHandler.shape.node.style.visibility="visible",l.style.border="3px solid transparent",l.style.cursor="",r.autoScroll=!0,null!=r.graphHandler.guide&&r.graphHandler.guide.setVisible(!0),null!=r.graphHandler.hint&&(r.graphHandler.hint.style.visibility="visible"),null!=f&&(f.style.border="3px dotted lightGray"))}));Graph.fileSupport&&(mxEvent.addListener(l,"dragover",mxUtils.bind(this,function(a){null!=f?f.style.border="3px dotted rgb(254, 137, 12)":l.style.border="3px dotted rgb(254, 137, 12)"; +a.dataTransfer.dropEffect="copy";l.style.cursor="copy";this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()})),mxEvent.addListener(l,"drop",mxUtils.bind(this,function(a){l.style.border="3px solid transparent";l.style.cursor="";null!=f&&(f.style.border="3px dotted lightGray");0<a.dataTransfer.files.length&&this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,mxUtils.bind(this,function(c,d,g,h,n,u,q,t,k){if(null!=c&&"image/"==d.substring(0,6))c="shape=image;verticalLabelPosition=bottom;verticalAlign=top;aspect=fixed;image="+ +this.convertDataUri(c),c=[new mxCell("",new mxGeometry(0,0,n,u),c)],c[0].vertex=!0,J(c,new mxRectangle(0,0,n,u),a,mxEvent.isAltDown(a)?null:q.substring(0,q.lastIndexOf(".")).replace(/_/g," ")),null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null);else{var m=!1,p=mxUtils.bind(this,function(c,d){if(null!=c&&"text/xml"==d){var g=mxUtils.parseXml(c);if("mxlibrary"==g.documentElement.nodeName)try{var h=JSON.parse(mxUtils.getTextContent(g.documentElement));e(h,l);b=b.concat(h);x(a); +this.spinner.stop();m=!0}catch(T){}else if("mxfile"==g.documentElement.nodeName)try{for(var n=g.documentElement.getElementsByTagName("diagram"),g=0;g<n.length;g++){var h=mxUtils.getTextContent(n[g]),u=this.stringToCells(this.editor.graph.decompress(h)),q=this.editor.graph.getBoundingBoxFromGeometry(u);J(u,new mxRectangle(0,0,q.width,q.height),a)}m=!0}catch(T){null!=window.console&&console.log("error in drop handler:",T)}}m||(this.spinner.stop(),this.handleError({message:mxResources.get("errorLoadingFile")})); +null!=f&&null!=f.parentNode&&0<b.length&&(f.parentNode.removeChild(f),f=null)});null!=k&&null!=q&&(/(\.vsdx?)($|\?)/i.test(q)||/(\.vssx)($|\?)/i.test(q))?this.importVisio(k,function(a){p(a,"text/xml")},null,q):!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,q)&&null!=k?this.parseFile(k,mxUtils.bind(this,function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?p(a.responseText,"text/xml"):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge": +"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))})):p(c,d)}}));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(l,"dragleave",function(a){null!=f?f.style.border="3px dotted lightGray":(l.style.border="3px solid transparent",l.style.cursor="");a.stopPropagation();a.preventDefault()}));m=m.cloneNode(!1);m.setAttribute("src",Editor.editImage);m.setAttribute("title",mxResources.get("edit"));q.insertBefore(m,q.firstChild);mxEvent.addListener(m,"click",E);mxEvent.addListener(l, +"dblclick",function(a){mxEvent.getSource(a)==l&&E(a)});d=m.cloneNode(!1);d.setAttribute("src",Editor.plusImage);d.setAttribute("title",mxResources.get("add"));q.insertBefore(d,q.firstChild);mxEvent.addListener(d,"click",H);this.isOffline()||".scratchpad"!=a.title||null==EditorUi.scratchpadHelpLink||(d=document.createElement("span"),d.setAttribute("title",mxResources.get("help")),d.style.cssText="color:#a3a3a3;text-decoration:none;margin-right:2px;",mxUtils.write(d,"?"),mxEvent.addGestureListeners(d, +mxUtils.bind(this,function(a){this.openLink(EditorUi.scratchpadHelpLink);mxEvent.consume(a)})),q.insertBefore(d,q.firstChild))}k.appendChild(q);k.style.paddingRight=18*q.childNodes.length+"px"}};"1"==urlParams.offline||EditorUi.isElectronApp?EditorUi.prototype.footerHeight=4:("1"==urlParams.savesidebar&&(Sidebar.prototype.thumbWidth=64,Sidebar.prototype.thumbHeight=64),EditorUi.prototype.footerHeight=760<=screen.width&&240<=screen.height?46:0,EditorUi.prototype.createFooter=function(){var a=document.getElementById("geFooter"); if(null!=a){a.style.visibility="visible";var b=document.createElement("img");b.setAttribute("border","0");b.setAttribute("src",Dialog.prototype.closeImage);b.setAttribute("title",mxResources.get("hide"));a.appendChild(b);mxClient.IS_QUIRKS&&(b.style.position="relative",b.style.styleFloat="right",b.style.top="-30px",b.style.left="164px",b.style.cursor="pointer");mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.hideFooter()}))}return a});EditorUi.initTheme=function(){"atlas"==uiTheme? (mxClient.link("stylesheet",STYLE_PATH+"/atlas.css"),"undefined"!==typeof Toolbar&&(Toolbar.prototype.unselectedBackground=mxClient.IS_QUIRKS?"none":"linear-gradient(rgb(255, 255, 255) 0px, rgb(242, 242, 242) 100%)",Toolbar.prototype.selectedBackground="rgb(242, 242, 242)"),Editor.prototype.initialTopSpacing=3,EditorUi.prototype.menubarHeight=41,EditorUi.prototype.toolbarHeight=38,EditorUi.prototype.hsplitPosition=188,Sidebar.prototype.thumbWidth=46,Sidebar.prototype.thumbHeight=46,Sidebar.prototype.thumbPadding= 5<=document.documentMode?0:1,Sidebar.prototype.thumbBorder=2):"dark"==uiTheme&&(mxClient.link("stylesheet",STYLE_PATH+"/dark.css"),Dialog.backdropColor="#2a2a2a",Graph.prototype.defaultThemeName="darkTheme",Graph.prototype.defaultPageBackgroundColor="#2a2a2a",Graph.prototype.defaultGraphBackground=null,Graph.prototype.defaultPageBorderColor="#505759",Graph.prototype.svgShadowColor="#e0e0e0",Graph.prototype.svgShadowOpacity="0.6",Graph.prototype.svgShadowSize="0.8",Graph.prototype.svgShadowBlur="1.4", Format.prototype.inactiveTabBackgroundColor="black",BaseFormatPanel.prototype.buttonBackgroundColor="#2a2a2a",Sidebar.prototype.dragPreviewBorder="1px dashed #cccccc",mxGraphHandler.prototype.previewColor="#cccccc",StyleFormatPanel.prototype.defaultStrokeColor="#cccccc",mxClient.IS_SVG&&(Editor.helpImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAP1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////9Du/pqAAAAFXRSTlMAT30qCJRBboyDZyCgRzUUdF46MJlgXETgAAAAeklEQVQY022O2w4DIQhEQUURda/9/28tUO2+7CQS5sgQ4F1RapX78YUwRqQjTU8ILqQfKerTKTvACJ4nLX3krt+8aS82oI8aQC4KavRgtvEW/mDvsICgA03PSGRr79MqX1YPNIxzjyqtw8ZnnRo4t5a5undtJYRywau+ds4Cyza3E6YAAAAASUVORK5CYII=", Editor.checkmarkImage="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAMAAACeyVWkAAAARVBMVEUAAACZmZkICAgEBASNjY2Dg4MYGBiTk5N5eXl1dXVmZmZQUFBCQkI3NzceHh4MDAykpKSJiYl+fn5sbGxaWlo/Pz8SEhK96uPlAAAAAXRSTlMAQObYZgAAAE5JREFUGNPFzTcSgDAQQ1HJGUfy/Y9K7V1qeOUfzQifCQZai1XHaz11LFysbDbzgDSSWMZiETz3+b8yNUc/MMsktxuC8XQBSncdLwz+8gCCggGXzBcozAAAAABJRU5ErkJggg=="))};EditorUi.initTheme();EditorUi.prototype.hideFooter=function(){var a=document.getElementById("geFooter");null!=a&&(this.footerHeight=0,a.style.display= -"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var d=document.getElementById("geFooter");null!=d&&(this.footerHeight=a,d.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,c,e,t){a=new ImageDialog(this,a,b,c,e,t);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= -!0;this.editor.graph.model.execute(a)});var d=new BackgroundImageDialog(this,mxUtils.bind(this,function(d){a(d)}));this.showDialog(d.container,360,200,!0,!0);d.init()};EditorUi.prototype.showLibraryDialog=function(a,b,c,e,t){a=new LibraryDialog(this,a,b,c,e,t);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer"); -a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,c){var d=null!=this.spinner&&null!= -this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){d();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden")); -else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var q=window.location.hash;null!=q&&"#G"==q.substring(0,2)&&(q=q.substring(2),a+=' <a href="https://drive.google.com/open?id='+q+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= -mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,c,g)}else null!=c&&c()};EditorUi.prototype.showError=function(a,b,c,e,t,h,n,q,k,u,l,p){a=new ErrorDialog(this,a,b,c||mxResources.get("ok"),e,t,h,n,p,q,k);this.showDialog(a.container,u||340,l||150,!0,!1);a.init()};EditorUi.prototype.alert= -function(a,b){var d=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(d.container,340,100,!0,!1);d.init()};EditorUi.prototype.confirm=function(a,b,c,e,t){var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){d();null!=b&&b()},function(){d();null!=c&&c()},e,t)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile}; -EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,c){var d=a.toDataURL("image/"+c);if(6>=d.length||d==a.cloneNode(!1).toDataURL("image/"+c))throw{message:"Invalid image"};null!=b&&(d=this.writeGraphModelToPng(d,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b)))); -return d};EditorUi.prototype.saveCanvas=function(a,b,c){var d="jpeg"==c?"jpg":c,f=this.getBaseFilename()+"."+d;a=this.createImageDataUri(a,b,c);this.saveData(f,d,a.substring(a.lastIndexOf(",")+1),"image/"+c,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; -EditorUi.prototype.doSaveLocalFile=function(a,b,c,e,t){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,c):new Blob([a],{type:c}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)c=window.open("about:blank","_blank"),null==c?mxUtils.popup(a,!0):(c.document.write(a),c.document.close(),c.document.execCommand("SaveAs",!0,b),c.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height= -"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var d=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof d.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){d.href=URL.createObjectURL(e?this.base64ToBlob(a,c):new Blob([a],{type:c}));f?d.download=b:d.setAttribute("target","_blank");document.body.appendChild(d); -try{window.setTimeout(function(){URL.revokeObjectURL(d.href)},0),d.click(),d.parentNode.removeChild(d)}catch(w){}}else this.createEchoRequest(a,b,c,e,t).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,c,e,t,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=c?"&mime="+c:"")+(null!=t?"&format="+t:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b= -b||"";for(var d=atob(a),c=d.length,f=Math.ceil(c/1024),e=Array(f),n=0;n<f;++n){for(var q=1024*n,k=Math.min(q+1024,c),u=Array(k-q),l=0;q<k;++l,++q)u[l]=d[q].charCodeAt(0);e[n]=new Uint8Array(u)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,c,e,t,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=t&&(!mxClient.IS_IOS||!navigator.standalone);t=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(d,b){try{if("_blank"==b)if(null==c||"image/"!=c.substring(0,6)|| -"image/svg"==c.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,c,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,d,c,e):null!=d&&0<d.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,d,c,e,b,f)}catch(E){this.handleError(E)}}))}catch(y){this.handleError(y)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), -mxResources.get("download"),!1,h,n,null,1<t,4<t&&(!h||6>t)?3:4,a,c,e);this.showDialog(b.container,420,t==(mxClient.IS_IOS?0:1)?160:4<t?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,c){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var d=window.open("about:blank");null==d?mxUtils.popup(a,!0):("image/svg+xml"==b?d.document.write("<html>"+a+"</html>"):d.document.write('<html><img src="data:'+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+ -'"/></html>'),d.document.close())}else d=window.open("data:"+b+(c?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==d&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var d=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), -this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var c=d.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= -"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=c.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";c=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=c.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog); -this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var d=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",d);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, -function(){this.openInNewWindow(d.substring(d.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,c,e,t){this.isLocalFileSave()?this.saveLocalFile(c, -a,e,t,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,d){return this.createEchoRequest(c,a,e,t,b,d)}),c,t,e)};EditorUi.prototype.saveRequest=function(a,b,c,e,t,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var d=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,d){if("_blank"==d||null!=a&&0<a.length){var f=c("_blank"==d?null:a,d==App.MODE_DEVICE||"download"==d||null==d||"_blank"==d?"0":"1");null!=f&&(d==App.MODE_DEVICE||"download"==d||"_blank"==d?f.simulate(document, -"_blank"):this.pickFolder(d,mxUtils.bind(this,function(c){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,d,c)}catch(z){this.handleError(z)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,d,c)}catch(z){this.handleError(z)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); -this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<d,4<d?3:4,e,h,t);this.showDialog(a.container,380,d==(mxClient.IS_IOS?0:1)?160:4<d?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,c,e,t,h){};EditorUi.prototype.pickFolder=function(a,b,c){b(null)};EditorUi.prototype.exportSvg=function(a,b,c,e,t,h,n,q,k){if(this.spinner.spin(document.body, -mxResources.get("export"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;d=b?null:this.editor.graph.background;d==mxConstants.NONE&&(d=null);null==d&&0==b&&(d="#ffffff");var f=this.editor.graph.getSvg(d,a,n,q,null,c);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",m=mxUtils.bind(this,function(a){this.spinner.stop();t&&a.setAttribute("content",this.getFileData(!0,null,null,null,c,k));if(null!=this.editor.fontCss){var d=a.ownerDocument,d=null!=d.createElementNS? -d.createElementNS(mxConstants.NS_SVG,"style"):d.createElement("style");d.setAttribute("type","text/css");mxUtils.setTextContent(d,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(d)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"), -mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,m,this.thumbImageCache)):m(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,c,e,t,h){h=null!=h?h:!0;var d=document.createElement("input");d.style.marginRight="8px";d.style.marginTop="16px";d.setAttribute("type","checkbox");c&&(d.setAttribute("checked","checked"),d.defaultChecked=!0);e&&d.setAttribute("disabled", -"disabled");h&&(a.appendChild(d),c=document.createElement("span"),mxUtils.write(c,b),a.appendChild(c),t||mxUtils.br(a),mxEvent.addListener(c,"click",mxUtils.bind(this,function(a){"disabled"!=d.getAttribute("disabled")&&(d.checked=!d.checked,mxEvent.consume(a))})));return d};EditorUi.prototype.addEditButton=function(a,b){var d=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);d.style.marginLeft="24px";var c=this.getCurrentFile(),f="";null!=c&&c.getMode()!=App.MODE_DEVICE&&c.getMode()!=App.MODE_BROWSER&& -(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";c=document.createElement("option");c.setAttribute("value","blank");mxUtils.write(c,mxResources.get("makeCopy"));e.appendChild(c);c=document.createElement("option");c.setAttribute("value","custom");mxUtils.write(c,mxResources.get("custom")+"...");e.appendChild(c);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"== -e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(d,"change",mxUtils.bind(this,function(){d.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return d.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return d}, -getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function d(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var c=document.createElement("select");c.style.width="100px";c.style.marginLeft= -"8px";c.style.marginRight="10px";c.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));c.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));c.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value", -"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),c.appendChild(f));a.appendChild(c);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;d()});mxEvent.consume(a)}));d();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE|| -mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return c.value},focus:function(){c.focus()}}};EditorUi.prototype.createLink=function(a,b,c,e,t,h,n,q){var d=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=t&&0<t.length&&f.push("edit="+encodeURIComponent(t)),h&& -f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(c&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?c="#U"+encodeURIComponent(n):(d=this.getCurrentFile(),q||null==d||d.constructor!=window.DriveFile?c="#R"+encodeURIComponent(c?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(c="#"+d.getHash(),a=!1)); -a&&null!=d&&null!=d.getTitle()&&d.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(d.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+c};EditorUi.prototype.createHtml=function(a,b,c,e,t,h,n,q,k,u,l){this.getBasenames();var d={};""!=t&&t!=mxConstants.NONE&&(d.highlight=t);"auto"!==e&&(d.target=e);k||(d.lightbox=!1);d.nav=this.editor.graph.foldingEnabled; -c=parseInt(c);isNaN(c)||100==c||(d.zoom=c/100);c=[];n&&(c.push("pages"),d.resize=!0,null!=this.pages&&null!=this.currentPage&&(d.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(c.push("zoom"),d.resize=!0);q&&c.push("layers");0<c.length&&(k&&c.push("lightbox"),d.toolbar=c.join(" "));null!=u&&0<u.length&&(d.edit=u);null!=a?d.url=a:d.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=c?"border:1px solid transparent;":"")+'" data-mxgraph="'+ -mxUtils.htmlEntities(JSON.stringify(d))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";l(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3"); -mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var m=document.createElement("input");m.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";m.setAttribute("value","url");m.setAttribute("type","radio");m.setAttribute("name","type-embedhtmldialog");f=m.cloneNode(!0);f.setAttribute("value", -"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(m);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var u=this.getCurrentFile();null==c&&null!=u&&u.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")), -g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(u.getId())})));f.setAttribute("checked","checked");null==c&&m.setAttribute("disabled","disabled");d.appendChild(g);var l=this.addLinkSection(d),p=this.addCheckbox(d,mxResources.get("zoom"),!0,null,!0);mxUtils.write(d,":");var r=document.createElement("input");r.setAttribute("type","text");r.style.marginRight="16px";r.style.width="60px";r.style.marginLeft="4px";r.style.marginRight= -"12px";r.value="100%";d.appendChild(r);var v=this.addCheckbox(d,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,C=C=this.addCheckbox(d,mxResources.get("allPages"),g,!g),x=this.addCheckbox(d,mxResources.get("layers"),!0),H=this.addCheckbox(d,mxResources.get("lightbox"),!0),I=this.addEditButton(d,H),A=I.getEditInput();A.style.marginBottom="16px";mxEvent.addListener(H,"change",function(){H.checked?A.removeAttribute("disabled"):A.setAttribute("disabled","disabled");A.checked&&H.checked? -I.getEditSelect().removeAttribute("disabled"):I.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,d,mxUtils.bind(this,function(){e(m.checked?c:null,p.checked,r.value,l.getTarget(),l.getColor(),v.checked,C.checked,x.checked,H.checked,I.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,c,e,k,h){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3"); -mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";d.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",m=document.createElement("div");m.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; -var t=document.createElement("div");t.style.whiteSpace="normal";mxUtils.write(t,mxResources.get("linkAccountRequired"));m.appendChild(t);t=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));t.style.marginTop="12px";t.className="geBtn";m.appendChild(t);d.appendChild(m);t=document.createElement("a");t.style.paddingLeft="12px";t.style.color="gray";t.style.fontSize="11px";t.setAttribute("href","javascript:void(0);");mxUtils.write(t,mxResources.get("check")); -m.appendChild(t);mxEvent.addListener(t,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var l=null,p=null;if(null!=c||null!=e)a+=30,mxUtils.write(d,mxResources.get("width")+":"),l=document.createElement("input"), -l.setAttribute("type","text"),l.style.marginRight="16px",l.style.width="50px",l.style.marginLeft="6px",l.style.marginRight="16px",l.style.marginBottom="10px",l.value="100%",d.appendChild(l),mxUtils.write(d,mxResources.get("height")+":"),p=document.createElement("input"),p.setAttribute("type","text"),p.style.width="50px",p.style.marginLeft="6px",p.style.marginBottom="10px",p.value=e+"px",d.appendChild(p),mxUtils.br(d);var r=this.addLinkSection(d,h);c=null!=this.pages&&1<this.pages.length;var C=null; -if(null==g||g.constructor!=window.DriveFile||b)C=this.addCheckbox(d,mxResources.get("allPages"),c,!c);var x=this.addCheckbox(d,mxResources.get("lightbox"),!0),v=this.addEditButton(d,x),I=v.getEditInput(),A=this.addCheckbox(d,mxResources.get("layers"),!0);A.style.marginLeft=I.style.marginLeft;A.style.marginBottom="16px";A.style.marginTop="8px";mxEvent.addListener(x,"change",function(){x.checked?(A.removeAttribute("disabled"),I.removeAttribute("disabled")):(A.setAttribute("disabled","disabled"),I.setAttribute("disabled", -"disabled"));I.checked&&x.checked?v.getEditSelect().removeAttribute("disabled"):v.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){k(r.getTarget(),r.getColor(),null==C?!0:C.checked,x.checked,v.getLink(),A.checked,null!=l?l.value:null,null!=p?p.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=l?(l.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?l.select(): -document.execCommand("selectAll",!1,null)):r.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,c,e){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(f);var g=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),m=e?null:this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"), -!0),f=this.editor.graph,k=e?null:this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,d,mxUtils.bind(this,function(){c(!g.checked,null!=m?m.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,c,e,k,h,n,q){n=null!=n?n:!0;var d=document.createElement("div");d.style.whiteSpace="nowrap";var f= -this.editor.graph,g="jpeg"==q?196:300,m=document.createElement("h3");mxUtils.write(m,a);m.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";d.appendChild(m);mxUtils.write(d,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";d.appendChild(t);mxUtils.write(d,mxResources.get("borderWidth")+":"); -var l=document.createElement("input");l.setAttribute("type","text");l.style.marginRight="16px";l.style.width="60px";l.style.marginLeft="4px";l.value=this.lastExportBorder||"0";d.appendChild(l);mxUtils.br(d);var p=this.addCheckbox(d,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=q),r=this.addCheckbox(d,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight= -"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(d.appendChild(v),mxUtils.write(d,mxResources.get("crop")),mxUtils.br(d),g+=26,mxEvent.addListener(r,"change",function(){r.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var I=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible),A=document.createElement("input");A.style.marginTop= -"16px";A.style.marginRight="8px";A.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||A.setAttribute("disabled","disabled");b&&(d.appendChild(A),mxUtils.write(d,mxResources.get("embedImages")),mxUtils.br(d),g+=26);var N=this.addCheckbox(d,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=q),D=null!=this.pages&&1<this.pages.length,J=this.addCheckbox(d,D?mxResources.get("allPages"):"",D,!D,null,"jpeg"!=q);J.style.marginLeft="24px";J.style.marginBottom="16px";D||(J.style.visibility= -"hidden");mxEvent.addListener(N,"change",function(){N.checked&&D?J.removeAttribute("disabled"):J.setAttribute("disabled","disabled")});n&&D||J.setAttribute("disabled","disabled");a=new CustomDialog(this,d,mxUtils.bind(this,function(){this.lastExportBorder=l.value;this.lastExportZoom=t.value;k(t.value,p.checked,!r.checked,I.checked,N.checked,A.checked,l.value,v.checked,!J.checked)}),null,c,e);this.showDialog(a.container,340,g,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| -mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,c,e,k){var d=document.createElement("div");d.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";d.appendChild(g)}var m=this.addCheckbox(d,mxResources.get("fit"),!0),t=this.addCheckbox(d,mxResources.get("shadow"),f.shadowVisible&&e, -!e),l=this.addCheckbox(d,c),p=this.addCheckbox(d,mxResources.get("lightbox"),!0),r=this.addEditButton(d,p),v=r.getEditInput(),C=1<f.model.getChildCount(f.model.getRoot()),x=this.addCheckbox(d,mxResources.get("layers"),C,!C);x.style.marginLeft=v.style.marginLeft;x.style.marginBottom="12px";x.style.marginTop="8px";mxEvent.addListener(p,"change",function(){p.checked?(C&&x.removeAttribute("disabled"),v.removeAttribute("disabled")):(x.setAttribute("disabled","disabled"),v.setAttribute("disabled","disabled")); -v.checked&&p.checked?r.getEditSelect().removeAttribute("disabled"):r.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,d,mxUtils.bind(this,function(){a(m.checked,t.checked,l.checked,p.checked,r.getLink(),x.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,c,e,k,h,n,q){function d(d){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var m="";c&&(m=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+d+'"'+m+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");d(a)}),null,null,null,mxUtils.bind(this,function(a){q({message:mxResources.get("unknownError")})}), -null,!0,c?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";c&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var m=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));m.send(mxUtils.bind(this,function(){200<=m.getStatus()&&299>=m.getStatus()?d("data:image/png;base64,"+m.getText()):q({message:mxResources.get("unknownError")})}))}else q({message:mxResources.get("drawingTooLarge")})}; -EditorUi.prototype.createEmbedSvg=function(a,b,c,e,k,h,n){var d=this.editor.graph.getSvg(),f=d.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var m=f[g].getAttribute("href");null!=m&&"#"==m.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&d.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(d);if(c){var t=" ",l="";e&&(t="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",l+="cursor:pointer;");a&&(l+="max-width:100%;");this.convertImages(d,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=l?' style="'+l+'"':"")+t+"/>")}))}else l="",e&&(d.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ -(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),l+="cursor:pointer;"),a&&(a=parseInt(d.getAttribute("width")),b=parseInt(d.getAttribute("height")),d.setAttribute("viewBox","0 0 "+a+" "+b),l+="max-width:100%;max-height:"+b+"px;",d.removeAttribute("height")),""!=l&&d.setAttribute("style",l),n(mxUtils.getXml(d))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var d=Math.floor(a/31536E3);if(1<d)return d+" "+mxResources.get("years");d=Math.floor(a/2592E3);if(1<d)return d+ -" "+mxResources.get("months");d=Math.floor(a/86400);if(1<d)return d+" "+mxResources.get("days");d=Math.floor(a/3600);if(1<d)return d+" "+mxResources.get("hours");d=Math.floor(a/60);return 1<d?d+" "+mxResources.get("minutes"):1==d?d+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,c,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var d=null;if("diagram"==a.nodeName)d=a;else if("mxfile"==a.nodeName){var c=a.getElementsByTagName("diagram");if(0< -c.length){var d=c[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?d.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=d&&(c=b.decompress(mxUtils.getTextContent(d)),null!=c&&0<c.length&&(a=mxUtils.parseXml(c).documentElement))}c=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=c}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,c){var d=this.editor.graph, -e=null;if(null!=c&&0<c.length)d=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(d.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(c).documentElement,!0),d),e=c;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var d=this.createTemporaryGraph(d.getStylesheet()),f=d.getGlobalVariable,g=this.pages[0];d.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(d.container); -d.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(c){try{null==e&&(e=this.getFileData(!0));var f=c.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));d!=this.editor.graph&&d.container.parentNode.removeChild(d.container)}catch(u){null!=b&&b(u)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,d.shadowVisible,null,d)};EditorUi.prototype.getEmbeddedSvg= -function(a,b,c,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=c&&b.setAttribute("resource",c);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ -mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,c,e,k,h,n,q,l){l=null!=l?l:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var d=this.editor.graph.isSelectionEmpty();c=null!=c?c:d;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,k?this.getFileData(!0,null,null,null,c,q):null,l)}catch(E){"Invalid image"==E.message?this.downloadFile(l):this.handleError(E)}}),null, -this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,c,a||1,b,e,null,null,h,n)}catch(y){this.spinner.stop(),this.handleError(y)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var d=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),c=0,e={},h=mxUtils.bind(this,function(){if(0==c){for(var f=[b[0]],g=1;g<b.length;g++){var h= -b[g].indexOf(")");f.push('url("');f.push(e[d(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var k=b[n].indexOf(")"),l=null,u=b[n].indexOf("format(",k);0<u&&(l=d(b[n].substring(u+7,b[n].indexOf(")",u))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;c++;var d="application/x-font-ttf";if("svg"==l||/(\.svg)($|\?)/i.test(a))d="image/svg+xml";else if("otf"==l||"embedded-opentype"==l||/(\.otf)($|\?)/i.test(a))d= -"application/x-font-opentype";else if("woff"==l||/(\.woff)($|\?)/i.test(a))d="application/font-woff";else if("woff2"==l||/(\.woff2)($|\?)/i.test(a))d="application/font-woff2";else if("eot"==l||/(\.eot)($|\?)/i.test(a))d="application/vnd.ms-fontobject";else if("sfnt"==l||/(\.sfnt)($|\?)/i.test(a))d="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(d){e[a]=d;c--;h()}),mxUtils.bind(this, -function(a){c--;h()}),!0,null,"data:"+d+";charset=utf-8;base64,")}})(d(b[n].substring(0,k)),l)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,c,e,k,h,n,q,l,u,p,r,v,G){h=null!=h?h:!0;r=null!=r?r:this.editor.graph;v=null!=v?v:0;var d=l?null:r.background;d==mxConstants.NONE&&(d=null);null==d&&(d=e);null==d&&0==l&&(d=this.editor.graph.defaultPageBackgroundColor);this.convertImages(r.getSvg(d,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(c){var e=new Image;e.onload=mxUtils.bind(this, -function(){try{var f=document.createElement("canvas"),g=parseInt(c.getAttribute("width")),n=parseInt(c.getAttribute("height"));q=null!=q?q:1;null!=b&&(q=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(q*g)+2*v;n=Math.ceil(q*n)+2*v;f.setAttribute("width",g);f.setAttribute("height",n);var m=f.getContext("2d");null!=d&&(m.beginPath(),m.rect(0,0,g,n),m.fillStyle=d,m.fill());m.scale(q,q);mxClient.IS_SF?window.setTimeout(function(){m.drawImage(e,v/q,v/q);a(f)},0):(m.drawImage(e,v/q,v/q),a(f))}catch(R){null!= -k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{u&&this.editor.graph.addSvgShadow(c);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;c.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(r,c,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(c))}))});this.loadFonts(f)}catch(A){null!=k&&k(A)}}),c,p)};EditorUi.prototype.createImageUrlConverter= -function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,c=this;a.convert=function(d){if(null!=d){var e="http://"==d.substring(0,7)||"https://"==d.substring(0,8);e&&!navigator.onLine?d=c.svgBrokenImage.src:!e||d.substring(0,a.baseUrl.length)==a.baseUrl||c.crossOriginImages&&c.isCorsEnabledForUrl(d)?"chrome-extension://"!=d.substring(0,19)&&(d=b.apply(this,arguments)):d=PROXY_URL+"?url="+encodeURIComponent(d)}return d};return a};EditorUi.prototype.convertImages=function(a,b,c,e){null== -e&&(e=this.createImageUrlConverter());var d=0,f=c||{};c=mxUtils.bind(this,function(c,g){for(var h=a.getElementsByTagName(c),n=0;n<h.length;n++)mxUtils.bind(this,function(c){var h=e.convert(c.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var n=f[h];null==n?(d++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,c.setAttribute(g,e));d--;0==d&&b(a)})):c.setAttribute(g,n)}else null!=h&&c.setAttribute(g,h)})(h[n])});c("image","xlink:href");c("img","src");0==d&&b(a)};EditorUi.prototype.loadUrl= -function(a,b,c,e,k,h){try{var d=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var e=a.getText();if(d){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),f=0;f<a.length;f++)e[f]= -String.fromCharCode(a[f]);e=e.join("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=c&&c({code:App.ERROR_UNKNOWN},a)}),function(){null!=c&&c({code:App.ERROR_UNKNOWN})},d,this.timeout,function(){k&&null!=c&&c({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=c&&c(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)|| -"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var d=new Image, -c=this;this.crossOriginImages&&(d.crossOrigin="anonymous");d.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=d.height;a.width=d.width;e.drawImage(d,0,0);try{b(a.toDataURL())}catch(n){b(c.svgBrokenImage.src)}};d.onerror=function(){b(c.svgBrokenImage.src)};d.src=a}};EditorUi.prototype.importXml=function(a,b,c,e,k){b=null!=b?b:0;c=null!=c?c:0;var d=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),m=this.editor.extractGraphModel(g.documentElement, -null!=this.pages);if(null!=m&&"mxfile"==m.nodeName&&null!=this.pages){var l=m.getElementsByTagName("diagram");if(1==l.length)m=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(l[0]))).documentElement;else if(1<l.length){f.model.beginUpdate();try{for(a=0;a<l.length;a++){var t=this.updatePageRoot(new DiagramPage(l[a])),p=this.pages.length;null==t.getName()&&t.setName(mxResources.get("pageWithNumber",[p+1]));f.model.execute(new ChangePage(this,t,t,p))}}finally{f.model.endUpdate()}}}null!=m&&"mxGraphModel"=== -m.nodeName&&(d=f.importGraphModel(m,b,c,e))}}catch(z){throw k||this.handleError(z,mxResources.get("invalidOrMissingFile")),z;}return d};EditorUi.prototype.importVisio=function(a,b,c,e){e=null!=e?e:a.name;c=null!=c?c:mxUtils.bind(this,function(a){this.handleError(a)});var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var d=new FormData;d.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= -"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,c)}catch(q){c(q)}else c({})});f.send(d)}else try{this.doImportVisio(a,b,c)}catch(q){c(q)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?d():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",d))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}}); -"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,c,e,k){var d=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,c,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(d,0):(this.loadingExtensions=!0,"1"==urlParams.dev? -mxscript("js/diagramly/Extensions.js",d):mxscript("js/extensions.min.js",d))};EditorUi.prototype.insertLucidChart=function(a,b,c,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var d in k.Pages)a.push(k.Pages[d]);a.sort(function(a,d){return a.Properties.Order<d.Properties.Order?-1:a.Properties.Order>d.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,c,e),null!=this.pages){var f=this.currentPage; -for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,c,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, -b,c,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var d=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,c,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+ -1)),g=this.importXml(f,b,c,h,!0),0<g.length)return g}catch(y){}this.loadImage(a,mxUtils.bind(this,function(e){if("data:"==a.substring(0,5))this.resizeImage(e,a,mxUtils.bind(this,function(a,e,f){d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),n,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/e.width,this.maxImageSize/ -e.height)),g=Math.round(e.width*f);e=Math.round(e.height*f);d.setSelectionCell(d.insertVertex(null,null,"",d.snap(b),d.snap(c),g,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;d.getModel().beginUpdate();try{f=d.insertVertex(d.getDefaultParent(),null,a,d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.updateCellSize(f),d.fireEvent(new mxEventObject("textInserted","cells", -[f]))}finally{d.getModel().endUpdate()}d.setSelectionCell(f)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,c,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,c,h);else{d=this.editor.graph;k=null;d.getModel().beginUpdate();try{k=d.insertVertex(d.getDefaultParent(),null,"",d.snap(b),d.snap(c),1,1,"text;"+(e?"html=1;":"")),d.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value= -a,d.updateCellSize(k),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(k.value)&&d.setLinkForCell(k,k.value),k.geometry.width+=d.gridSize,k.geometry.height+=d.gridSize}finally{d.getModel().endUpdate()}return[k]}}return[]};EditorUi.prototype.formatFileSize=function(a){var d=-1;do a/=1024,d++;while(1024<a);return Math.max(a,.1).toFixed(1)+ -" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[d]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var d=a.indexOf(";");0<d&&(a=a.substring(0,d)+a.substring(a.indexOf(",",d+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var d=document.createElement("input"); -d.setAttribute("type","file");mxEvent.addListener(d,"change",mxUtils.bind(this,function(){null!=d.files&&this.importFiles(d.files,null,null,this.maxImageSize)}));d.click()}else{window.openNew=!1;window.openKey="import";if(!b){var c=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,d){if(null!=d&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(d)){var b=new Blob([a],{type:"application/octet-stream"}); -this.importVisio(b,mxUtils.bind(this,function(a){this.importXml(a)}),null,d)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=c;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,c,e,k,h,n,l,p,u, -r){u=null!=u?u:!0;var d=!1,f=null,g=mxUtils.bind(this,function(a){var d=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,n)):d=this.importXml(a,c,e,u);null!=l&&l(d)});"image"==b.substring(0,5)?(p=!1,"image/png"==b.substring(0,9)&&(b=r?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,c,e,u),p=!0)),p||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),u&&f.isGridEnabled()&&(c=f.snap(c),e= -f.snap(e)),f=[f.insertVertex(null,null,"",c,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,c,e,u);null!=l&&l(a)})):null!=p&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(d=!0,this.importVisio(p,g)):!this.isOffline()&&(new XMLHttpRequest).upload&& -this.isRemoteFileFormat(a,n)?(d=!0,this.parseFile(null!=p?p:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),c,e,!0,null,u));d||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var d="",b=0,c=a.length,e,h,n;b<c;){e=a.charCodeAt(b++)&255;if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> -2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);d+="==";break}h=a.charCodeAt(b++);if(b==c){d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);d+="=";break}n=a.charCodeAt(b++);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> -2);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);d+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return d};EditorUi.prototype.importFiles=function(a,b,c,e,k,h,n,l,p,u,r,v){b=null!=b?b:0;c=null!=c?c:0;e=null!=e?e:this.maxImageSize;u=null!=u?u:this.maxImageBytes;var d=null!=b&&null!=c,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&& -null!=a)for(var m=r||this.resampleThreshold,q=0;q<a.length;q++)if("image/"==a[q].type.substring(0,6)&&a[q].size>m){g=!0;break}var t=mxUtils.bind(this,function(){var g=this.editor.graph,m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,c,e,f,g,h,n,k){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,c,e,f,g,h,n,k,d,v)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body, -mxResources.get("loading")))for(var q=a.length,t=q,p=[],y=mxUtils.bind(this,function(a,d){p[a]=d;if(0==--t){this.spinner.stop();if(null!=l)l(p);else{var b=[];g.getModel().beginUpdate();try{for(var c=0;c<p.length;c++){var e=p[c]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),x=0;x<q;x++)mxUtils.bind(this,function(d){var h=a[d],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l= -a.target.result,q=l.indexOf(","),t=decodeURIComponent(escape(atob(l.substring(q+1)))),p=mxUtils.parseXml(t),t=p.getElementsByTagName("svg");if(0<t.length){var t=t[0],A=v?null:t.getAttribute("content");null!=A&&"<"!=A.charAt(0)&&"%"!=A.charAt(0)&&(A=unescape(window.atob?atob(A):Base64.decode(A,!0)));null!=A&&"%"==A.charAt(0)&&(A=decodeURIComponent(A));null==A||"<mxfile "!==A.substring(0,8)&&"<mxGraphModel "!==A.substring(0,14)?y(d,mxUtils.bind(this,function(){try{if(l.substring(0,q+1),null!=p){var a= -p.getElementsByTagName("svg");if(0<a.length){var n=a[0],t=parseFloat(n.getAttribute("width")),u=parseFloat(n.getAttribute("height")),r=n.getAttribute("viewBox");if(null==r||0==r.length)n.setAttribute("viewBox","0 0 "+t+" "+u);else if(isNaN(t)||isNaN(u)){var A=r.split(" ");3<A.length&&(t=parseFloat(A[2]),u=parseFloat(A[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var D=Math.min(1,Math.min(e/Math.max(1,t)),e/Math.max(1,u)),v=k(l,h.type,b+d*m,c+d*m,Math.max(1,Math.round(t*D)),Math.max(1,Math.round(u* -D)),h.name,f);if(isNaN(t)||isNaN(u)){var y=new Image;y.onload=mxUtils.bind(this,function(){t=Math.max(1,y.width);u=Math.max(1,y.height);v[0].geometry.width=t;v[0].geometry.height=u;n.setAttribute("viewBox","0 0 "+t+" "+u);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[v[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(n))}return v}}}catch(ea){}return null})):y(d,mxUtils.bind(this,function(){return k(A, -"text/xml",b+d*m,c+d*m,0,0,h.name)}))}}else{t=!1;if("image/png"==h.type){var D=v?null:this.extractGraphModelFromPng(a.target.result);if(null!=D&&0<D.length){var x=new Image;x.src=a.target.result;y(d,mxUtils.bind(this,function(){return k(D,"text/xml",b+d*m,c+d*m,x.width,x.height,h.name)}));t=!0}}t||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), -mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,n,l){y(d,mxUtils.bind(this,function(){if(null!=g&&g.length<u){var q=f&&this.isResampleImage(a.target.result,r)?Math.min(1,Math.min(e/n,e/l)):1;return k(g,h.type,b+d*m,c+d*m,Math.round(n*q),Math.round(l*q),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,r)}),mxUtils.bind(this, -function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+d*m,c+d*m,240,160,h.name,function(a){y(d,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+d*m,c+d*m,240,160,h.name,function(a){y(d,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(x)});g?this.confirmImageResize(function(a){f=a;t()},p):t()};EditorUi.prototype.confirmImageResize=function(a, -b){b=null!=b?b:!1;var d=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},c=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(c,e){if(c||b)mxSettings.setResizeImages(c?e:null),mxSettings.save();d();a(e)};null==c||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ -'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,c)};EditorUi.prototype.parseFile=function(a,b,c){c=null!=c?c:a.name;var d=new FormData;d.append("format","xml");d.append("upfile",a,c);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(d)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length> -b};EditorUi.prototype.resizeImage=function(a,b,c,e,k,h){k=null!=k?k:this.maxImageSize;var d=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(d/k,f/k);if(1<g){var m=Math.round(d/g),l=Math.round(f/g),t=document.createElement("canvas");t.width=m;t.height=l;t.getContext("2d").drawImage(a,0,0,m,l);var p=t.toDataURL();if(p.length<b.length){var r=document.createElement("canvas");r.width=m;r.height=l;var v=r.toDataURL();p!==v&&(b=p,d=m,f=l)}}}catch(x){}c(b,d,f)}; -EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var c=e,k=0;8>k;k++)c=1==(c&1)?3988292384^c>>>1:c>>>1,EditorUi.prototype.crcTable[e]=c;EditorUi.prototype.updateCRC=function(a,b,c,e){for(var d=0;d<e;d++)a=EditorUi.prototype.crcTable[(a^b[c+d])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var d=-1,b=0;b<a.length;b++)d=d>>>8^this.crcTable[(d^a.charCodeAt(b))&255];return(d^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a, -b,c,e,k){function d(a,d){var b=m;m+=d;return a.substring(b,m)}function f(a){a=d(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(d(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(d(a,4),"IHDR"!=d(a,4))null!=k&&k();else{d(a,17);k=a.substring(0,m);do{var l= -f(a);if("IDAT"==d(a,4)){k=a.substring(0,m-8);c=c+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,c,0,c.length);k+=g(c.length)+b+c+g(e^4294967295);k+=a.substring(m-8,a.length);break}k+=a.substring(m-8,m-4+l);d(a,l);d(a,4)}while(l);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var d=null;try{var b=a.substring(a.indexOf(",")+1),c=window.atob&&!mxClient.IS_SF? -atob(b):Base64.decode(b,!0);EditorUi.parsePng(c,mxUtils.bind(this,function(a,b,e){a=c.substring(a+8,a+8+e);"zTXt"==b?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(d=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(d=a[1]));if(null!=d||"IDAT"==b)return!0}))}catch(t){}null!=d&&"%"==d.charAt(0)&&(d=decodeURIComponent(d));null!=d&& -"%"==d.charAt(0)&&(d=decodeURIComponent(d));return d};EditorUi.prototype.loadImage=function(a,b,c){var d=new Image;d.onload=function(){b(d)};null!=c&&(d.onerror=c);d.src=a};var l=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.addListener("customLinkClicked",function(b,d){a.handleCustomLink(d.getProperty("href"))}); -this.isOffline()||"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var c=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var d=0;d<a.pages.length;d++)if(a.pages[d]==a.currentPage){0<d&&(b+=(0<b.length?"&":"?")+"page="+d);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return c.apply(this,arguments)};var e=b.addClickHandler; -b.addClickHandler=function(d,c,f){var g=c;c=function(d,c){if(null==c){var e=mxEvent.getSource(d);"a"==e.nodeName.toLowerCase()&&(c=e.getAttribute("href"))}null==c||!b.isCustomLink(c)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d)||(a.handleCustomLink(c),mxEvent.consume(d));null!=g&&g(d,c)};e.call(this,d,c,f)};l.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container, -360,null!=a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var k=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:k.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(d,c){null!=d&&b.isCustomLink(d)&&(c=b.getLinkTitle(d));var e=h.call(this,d,c);null!=d&&b.isCustomLink(d)&& -mxEvent.addListener(e,"click",function(b){a.handleCustomLink(d);mxEvent.consume(b)});return e};var n=b.labelLinkClicked;b.labelLinkClicked=function(d,c,e){var f=c.getAttribute("href");if(null==f||!b.isCustomLink(f)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e))n.apply(this,arguments);else{if(!b.isEnabled()||null!=d&&b.isCellLocked(d.cell))a.handleCustomLink(f),b.getRubberband().reset();mxEvent.consume(e)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,d=a.getCurrentFile(); -null!=d&&(b=null!=d.getTitle()?d.getTitle():b);return b};var q=this.actions.get("print");q.setEnabled(!mxClient.IS_IOS||!navigator.standalone);q.visible=q.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){u.innerHTML=" ";u.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77, -!0,"editGeometry",!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var d=a.clipboardData||a.originalEvent.clipboardData,c=!1,e=0;e<d.types.length;e++)if("text/"===d.types[e].substring(0,5)){c=!0;break}if(!c){var f=d.items;for(index in f){var g=f[index]; -if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()],0,0,this.maxImageSize,function(a,d,c,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(aa){}}),!1);var u=document.createElement("div");u.style.position="absolute";u.style.whiteSpace="nowrap";u.style.overflow= -"hidden";u.style.display="block";u.contentEditable=!0;mxUtils.setOpacity(u,0);u.style.width="1px";u.style.height="1px";u.innerHTML=" ";var r=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var d=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==d.nodeName||"TEXTAREA"==d.nodeName||!(224== -a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)||r||(u.style.left=b.container.scrollLeft+10+"px",u.style.top=b.container.scrollTop+10+"px",b.container.appendChild(u),r=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){u.focus();document.execCommand("selectAll",!1,null)},0):(u.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var d=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!r||224!=d&& -17!=d&&91!=d||(r=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(),u.parentNode.removeChild(u),mxUtils.clearSelection())}),0)}));mxEvent.addListener(u,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(u),p())}));mxEvent.addListener(u,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(u,!0),p())}));mxEvent.addListener(u,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(u.innerHTML= -" ",u.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,u);u.innerHTML=" "}),0))}),!0);var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==u?!0:v.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b= -this.editor.graph,d=b.cellEditor.text2,c=null;null!=d&&(mxEvent.addListener(d,"dragleave",function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null==c&&(!mxClient.IS_IE||10<document.documentMode)&&(c=this.highlightElement(d));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files, -0,0,this.maxImageSize,function(a,d,c,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var d=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(d)?this.loadImage(decodeURIComponent(d),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1, -Math.min(e/Math.max(1,c)),e/Math.max(1,a));b.insertImage(decodeURIComponent(d),c*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!== -typeof mxRuler){q=document.createElement("div");q.style.position="absolute";q.style.top="95px";q.style.left="250px";q.style.width="2000px";q.style.height="30px";q.style.background="whiteSmoke";document.body.appendChild(q);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var G=document.createElement("div");G.style.position="absolute";G.style.top= -"95px";G.style.left="220px";G.style.width="30px";G.style.height="30px";G.style.background="whiteSmoke";document.body.appendChild(G);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,q,!1)}if("1"==urlParams.test){q=document.getElementById("geFooter");null!=q&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width= -"98%",this.styleInput.style.visibility="hidden",this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),q.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){if(0<this.editor.graph.getSelectionCount()){var d=this.editor.graph.getSelectionCell(),d=this.editor.graph.getModel().getStyle(d); -this.styleInput.value=d||"";this.styleInput.style.visibility="visible"}else this.styleInput.style.visibility="hidden"})));var C=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:C.apply(this,arguments)}}q=document.getElementById("geInfo");null!=q&&q.parentNode.removeChild(q);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var x=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=x&&(x.parentNode.removeChild(x), -x=null),a.stopPropagation(),a.preventDefault())});mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==x&&(!mxClient.IS_IE||10<document.documentMode)&&(x=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=x&&(x.parentNode.removeChild(x),x=null);if(b.isEnabled()){var d=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)), -c=b.view.translate,e=b.view.scale,f=d.x/e-c.x,g=d.y/e-c.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,d=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=d)b.setSelectionCells(this.importXml(d,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types, -"text/html")){var k=a.dataTransfer.getData("text/html"),d=document.createElement("div");d.innerHTML=k;var n=null,c=d.getElementsByTagName("img");null!=c&&1==c.length?(k=c[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(k)||(n=!0)):(d=d.getElementsByTagName("a"),null!=d&&1==d.length&&(k=d[0].getAttribute("href")));var l=!0,m=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(k,f,g,!0,n,null,l))});n&&k.length>this.resampleThreshold?this.confirmImageResize(function(a){l= -a;m()},mxEvent.isControlDown(a)):m()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var c=this.maxImageSize,c=Math.min(1,Math.min(c/Math.max(1,d)),c/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,d*c,a*c,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(h, -f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(a){var b=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var d=a.indexOf(",");0<d&&(b=this.getPageById(a.substring(d+1)),b=null!=b? -b.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(b=mxResources.get("action"));return b};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");(a=this.getPageById(a.substring(b+1)))&&this.selectPage(a)}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= +"none",this.refresh())};EditorUi.prototype.showFooter=function(a){var c=document.getElementById("geFooter");null!=c&&(this.footerHeight=a,c.style.display="inline",this.refresh())};EditorUi.prototype.showImageDialog=function(a,b,d,e,t){a=new ImageDialog(this,a,b,d,e,t);this.showDialog(a.container,Graph.fileSupport?440:360,Graph.fileSupport?200:90,!0,!0);a.init()};EditorUi.prototype.showBackgroundImageDialog=function(a){a=null!=a?a:mxUtils.bind(this,function(a){a=new ChangePageSetup(this,null,a);a.ignoreColor= +!0;this.editor.graph.model.execute(a)});var c=new BackgroundImageDialog(this,mxUtils.bind(this,function(c){a(c)}));this.showDialog(c.container,360,200,!0,!0);c.init()};EditorUi.prototype.showLibraryDialog=function(a,b,d,e,t){a=new LibraryDialog(this,a,b,d,e,t);this.showDialog(a.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()}));a.init()};EditorUi.prototype.createSidebarFooterContainer=function(){var a=this.createDiv("geSidebarContainer"); +a.style.position="absolute";a.style.overflow="hidden";a.style.borderWidth="3px";var b=document.createElement("a");b.setAttribute("href","javascript:void(0);");b.className="geTitle";b.style.height="100%";b.style.paddingTop="9px";mxUtils.write(b,mxResources.get("moreShapes")+"...");mxEvent.addListener(b,"click",mxUtils.bind(this,function(a){this.actions.get("shapes").funct();mxEvent.consume(a)}));a.appendChild(b);return a};EditorUi.prototype.handleError=function(a,b,d){var c=null!=this.spinner&&null!= +this.spinner.pause?this.spinner.pause():function(){},f=null!=a&&null!=a.error?a.error:a;if(null!=f||null!=b){a=mxUtils.htmlEntities(mxResources.get("unknownError"));var e=mxResources.get("ok"),g=null;b=null!=b?b:mxResources.get("error");if(null!=f)if(null!=f.retry&&(e=mxResources.get("cancel"),g=function(){c();f.retry()}),"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.FORBIDDEN)a=mxUtils.htmlEntities(mxResources.get("forbidden")); +else if(404==f.code||404==f.status||"undefined"!=typeof gapi&&"undefined"!=typeof gapi.drive&&"undefined"!=typeof gapi.drive.realtime&&f.type==gapi.drive.realtime.ErrorType.NOT_FOUND){a=mxUtils.htmlEntities(mxResources.get("fileNotFoundOrDenied"));var l=window.location.hash;null!=l&&"#G"==l.substring(0,2)&&(l=l.substring(2),a+=' <a href="https://drive.google.com/open?id='+l+'" target="_blank">'+mxUtils.htmlEntities(mxResources.get("tryOpeningViaThisPage"))+"</a>")}else f.code==App.ERROR_TIMEOUT?a= +mxUtils.htmlEntities(mxResources.get("timeout")):f.code==App.ERROR_BUSY?a=mxUtils.htmlEntities(mxResources.get("busy")):null!=f.message?a=mxUtils.htmlEntities(f.message):null!=f.response&&null!=f.response.error&&(a=mxUtils.htmlEntities(f.response.error));this.showError(b,a,e,d,g)}else null!=d&&d()};EditorUi.prototype.showError=function(a,b,d,e,t,h,n,l,k,q,m,p){a=new ErrorDialog(this,a,b,d||mxResources.get("ok"),e,t,h,n,p,l,k);this.showDialog(a.container,q||340,m||150,!0,!1);a.init()};EditorUi.prototype.alert= +function(a,b){var c=new ErrorDialog(this,null,a,mxResources.get("ok"),b);this.showDialog(c.container,340,100,!0,!1);c.init()};EditorUi.prototype.confirm=function(a,b,d,e,t){var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){};this.showDialog((new ConfirmDialog(this,a,function(){c();null!=b&&b()},function(){c();null!=d&&d()},e,t)).container,340,90,!0,!1)};EditorUi.prototype.setCurrentFile=function(a){this.currentFile=a};EditorUi.prototype.getCurrentFile=function(){return this.currentFile}; +EditorUi.prototype.isExportToCanvas=function(){return mxClient.IS_CHROMEAPP||!this.editor.graph.mathEnabled&&this.useCanvasForExport};EditorUi.prototype.createSvgDataUri=function(a){return"data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(a)))};EditorUi.prototype.createImageDataUri=function(a,b,d){var c=a.toDataURL("image/"+d);if(6>=c.length||c==a.cloneNode(!1).toDataURL("image/"+d))throw{message:"Invalid image"};null!=b&&(c=this.writeGraphModelToPng(c,"zTXt","mxGraphModel",atob(this.editor.graph.compress(b)))); +return c};EditorUi.prototype.saveCanvas=function(a,b,d){var c="jpeg"==d?"jpg":d,f=this.getBaseFilename()+"."+c;a=this.createImageDataUri(a,b,d);this.saveData(f,c,a.substring(a.lastIndexOf(",")+1),"image/"+d,!0)};EditorUi.prototype.isLocalFileSave=function(){return"remote"!=urlParams.save&&(mxClient.IS_IE||"undefined"!==typeof window.Blob&&"undefined"!==typeof window.URL)&&9!=document.documentMode&&8!=document.documentMode&&7!=document.documentMode&&!mxClient.IS_QUIRKS||this.isOfflineApp()||mxClient.IS_IOS}; +EditorUi.prototype.doSaveLocalFile=function(a,b,d,e,t){if(window.Blob&&navigator.msSaveOrOpenBlob)a=e?this.base64ToBlob(a,d):new Blob([a],{type:d}),navigator.msSaveOrOpenBlob(a,b);else if(mxClient.IS_IE)d=window.open("about:blank","_blank"),null==d?mxUtils.popup(a,!0):(d.document.write(a),d.document.close(),d.document.execCommand("SaveAs",!0,b),d.close());else if(mxClient.IS_IOS)b=new TextareaDialog(this,b+":",a,null,null,mxResources.get("close")),b.textarea.style.width="600px",b.textarea.style.height= +"380px",this.showDialog(b.container,620,460,!0,!0),b.init(),document.execCommand("selectall",!1,null);else{var c=document.createElement("a"),f=!mxClient.IS_SF&&0>navigator.userAgent.indexOf("PaleMoon/")&&"undefined"!==typeof c.download;if(mxClient.IS_GC)var g=navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./),f=65==(g?parseInt(g[2],10):!1)?!1:f;if(f||this.isOffline()){c.href=URL.createObjectURL(e?this.base64ToBlob(a,d):new Blob([a],{type:d}));f?c.download=b:c.setAttribute("target","_blank");document.body.appendChild(c); +try{window.setTimeout(function(){URL.revokeObjectURL(c.href)},0),c.click(),c.parentNode.removeChild(c)}catch(w){}}else this.createEchoRequest(a,b,d,e,t).simulate(document,"_blank")}};EditorUi.prototype.createEchoRequest=function(a,b,d,e,t,h){a="xml="+encodeURIComponent(a);return new mxXmlRequest(SAVE_URL,a+(null!=d?"&mime="+d:"")+(null!=t?"&format="+t:"")+(null!=h?"&base64="+h:"")+(null!=b?"&filename="+encodeURIComponent(b):"")+(e?"&binary=1":""))};EditorUi.prototype.base64ToBlob=function(a,b){b= +b||"";for(var c=atob(a),d=c.length,f=Math.ceil(d/1024),e=Array(f),n=0;n<f;++n){for(var l=1024*n,k=Math.min(l+1024,d),q=Array(k-l),m=0;l<k;++m,++l)q[m]=c[l].charCodeAt(0);e[n]=new Uint8Array(q)}return new Blob(e,{type:b})};EditorUi.prototype.saveLocalFile=function(a,b,d,e,t,h,n){h=null!=h?h:!1;n=null!=n?n:"vsdx"!=t&&(!mxClient.IS_IOS||!navigator.standalone);t=this.getServiceCount(h);b=new CreateDialog(this,b,mxUtils.bind(this,function(c,b){try{if("_blank"==b)if(null==d||"image/"!=d.substring(0,6)|| +"image/svg"==d.substring(0,9)&&!mxClient.IS_SVG){var f=window.open("about:blank");null==f?mxUtils.popup(a,!0):(f.document.write(mxUtils.htmlEntities(a,!1)),f.document.close())}else this.openInNewWindow(a,d,e);else b==App.MODE_DEVICE||"download"==b?this.doSaveLocalFile(a,c,d,e):null!=c&&0<c.length&&this.pickFolder(b,mxUtils.bind(this,function(f){try{this.exportFile(a,c,d,e,b,f)}catch(D){this.handleError(D)}}))}catch(y){this.handleError(y)}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"), +mxResources.get("download"),!1,h,n,null,1<t,4<t&&(!h||6>t)?3:4,a,d,e);this.showDialog(b.container,420,t==(mxClient.IS_IOS?0:1)?160:4<t?390:270,!0,!0);b.init()};EditorUi.prototype.openInNewWindow=function(a,b,d){if(mxClient.IS_GC||mxClient.IS_EDGE||11==document.documentMode||10==document.documentMode){var c=window.open("about:blank");null==c?mxUtils.popup(a,!0):("image/svg+xml"==b?c.document.write("<html>"+a+"</html>"):c.document.write('<html><img src="data:'+b+(d?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))+ +'"/></html>'),c.document.close())}else c=window.open("data:"+b+(d?";base64,"+a:";charset=utf8,"+encodeURIComponent(a))),null==c&&mxUtils.popup(a,!0)};var b=EditorUi.prototype.addChromelessToolbarItems;EditorUi.prototype.addChromelessToolbarItems=function(a){if(this.isExportToCanvas()){this.exportDialog=null;var c=a(mxUtils.bind(this,function(a){var b=mxUtils.bind(this,function(){mxEvent.removeListener(this.editor.graph.container,"click",b);null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog), +this.exportDialog=null)});if(null!=this.exportDialog)b.apply(this);else{this.exportDialog=document.createElement("div");var d=c.getBoundingClientRect();mxUtils.setPrefixedStyle(this.exportDialog.style,"borderRadius","5px");this.exportDialog.style.position="fixed";this.exportDialog.style.textAlign="center";this.exportDialog.style.fontFamily="Helvetica,Arial";this.exportDialog.style.backgroundColor="#000000";this.exportDialog.style.width="50px";this.exportDialog.style.height="50px";this.exportDialog.style.padding= +"4px 2px 4px 2px";this.exportDialog.style.color="#ffffff";mxUtils.setOpacity(this.exportDialog,70);this.exportDialog.style.left=d.left+"px";this.exportDialog.style.bottom=parseInt(this.chromelessToolbar.style.bottom)+this.chromelessToolbar.offsetHeight+4+"px";d=mxUtils.getCurrentStyle(this.editor.graph.container);this.exportDialog.style.zIndex=d.zIndex;var f=new Spinner({lines:8,length:6,width:5,radius:6,rotate:0,color:"#fff",speed:1.5,trail:60,shadow:!1,hwaccel:!1,top:"28px",zIndex:2E9});f.spin(this.exportDialog); +this.exportToCanvas(mxUtils.bind(this,function(a){f.stop();this.exportDialog.style.width="auto";this.exportDialog.style.height="auto";this.exportDialog.style.padding="10px";var c=this.createImageDataUri(a,null,"png");a=document.createElement("img");a.style.maxWidth="140px";a.style.maxHeight="140px";a.style.cursor="pointer";a.setAttribute("title",mxResources.get("openInNewWindow"));a.setAttribute("border","0");a.setAttribute("src",c);this.exportDialog.appendChild(a);mxEvent.addListener(a,"click",mxUtils.bind(this, +function(){this.openInNewWindow(c.substring(c.indexOf(",")+1),"image/png",!0);b.apply(this,arguments)}))}),null,this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}));mxEvent.addListener(this.editor.graph.container,"click",b);document.body.appendChild(this.exportDialog)}mxEvent.consume(a)}),Editor.cameraLargeImage,mxResources.get("export"))}b.apply(this,arguments)};EditorUi.prototype.saveData=function(a,b,d,e,t){this.isLocalFileSave()?this.saveLocalFile(d, +a,e,t,b):this.saveRequest(a,b,mxUtils.bind(this,function(a,c){return this.createEchoRequest(d,a,e,t,b,c)}),d,t,e)};EditorUi.prototype.saveRequest=function(a,b,d,e,t,h,n){n=null!=n?n:!mxClient.IS_IOS||!navigator.standalone;var c=this.getServiceCount(!1);a=new CreateDialog(this,a,mxUtils.bind(this,function(a,c){if("_blank"==c||null!=a&&0<a.length){var f=d("_blank"==c?null:a,c==App.MODE_DEVICE||"download"==c||null==c||"_blank"==c?"0":"1");null!=f&&(c==App.MODE_DEVICE||"download"==c||"_blank"==c?f.simulate(document, +"_blank"):this.pickFolder(c,mxUtils.bind(this,function(d){h=null!=h?h:"pdf"==b?"application/pdf":"image/"+b;if(null!=e)try{this.exportFile(e,a,h,!0,c,d)}catch(z){this.handleError(z)}else this.spinner.spin(document.body,mxResources.get("saving"))&&f.send(mxUtils.bind(this,function(){this.spinner.stop();if(200<=f.getStatus()&&299>=f.getStatus())try{this.exportFile(f.getText(),a,h,!0,c,d)}catch(z){this.handleError(z)}else this.handleError({message:mxResources.get("errorSavingFile")})}),function(a){this.spinner.stop(); +this.handleError(a)})})))}}),mxUtils.bind(this,function(){this.hideDialog()}),mxResources.get("saveAs"),mxResources.get("download"),!1,!1,n,null,1<c,4<c?3:4,e,h,t);this.showDialog(a.container,380,c==(mxClient.IS_IOS?0:1)?160:4<c?390:270,!0,!0);a.init()};EditorUi.prototype.getEditBlankXml=function(){return this.getFileData(!0)};EditorUi.prototype.exportFile=function(a,b,d,e,t,h){};EditorUi.prototype.pickFolder=function(a,b,d){b(null)};EditorUi.prototype.exportSvg=function(a,b,d,e,t,h,n,l,k){if(this.spinner.spin(document.body, +mxResources.get("export"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;c=b?null:this.editor.graph.background;c==mxConstants.NONE&&(c=null);null==c&&0==b&&(c="#ffffff");var f=this.editor.graph.getSvg(c,a,n,l,null,d);e&&this.editor.graph.addSvgShadow(f);var g=this.getBaseFilename()+".svg",u=mxUtils.bind(this,function(a){this.spinner.stop();t&&a.setAttribute("content",this.getFileData(!0,null,null,null,d,k));if(null!=this.editor.fontCss){var c=a.ownerDocument,c=null!=c.createElementNS? +c.createElementNS(mxConstants.NS_SVG,"style"):c.createElement("style");c.setAttribute("type","text/css");mxUtils.setTextContent(c,this.editor.fontCss);a.getElementsByTagName("defs")[0].appendChild(c)}var b='<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n'+mxUtils.getXml(a);this.isLocalFileSave()||b.length<=MAX_REQUEST_SIZE?this.saveData(g,"svg",b,"image/svg+xml"):this.handleError({message:mxResources.get("drawingTooLarge")},mxResources.get("error"), +mxUtils.bind(this,function(){mxUtils.popup(b)}))});this.convertMath(this.editor.graph,f,!1,mxUtils.bind(this,function(){h?(null==this.thumbImageCache&&(this.thumbImageCache={}),this.convertImages(f,u,this.thumbImageCache)):u(f)}))}};EditorUi.prototype.addCheckbox=function(a,b,d,e,t,h){h=null!=h?h:!0;var c=document.createElement("input");c.style.marginRight="8px";c.style.marginTop="16px";c.setAttribute("type","checkbox");d&&(c.setAttribute("checked","checked"),c.defaultChecked=!0);e&&c.setAttribute("disabled", +"disabled");h&&(a.appendChild(c),d=document.createElement("span"),mxUtils.write(d,b),a.appendChild(d),t||mxUtils.br(a),mxEvent.addListener(d,"click",mxUtils.bind(this,function(a){"disabled"!=c.getAttribute("disabled")&&(c.checked=!c.checked,mxEvent.consume(a))})));return c};EditorUi.prototype.addEditButton=function(a,b){var c=this.addCheckbox(a,mxResources.get("edit")+":",!0,null,!0);c.style.marginLeft="24px";var d=this.getCurrentFile(),f="";null!=d&&d.getMode()!=App.MODE_DEVICE&&d.getMode()!=App.MODE_BROWSER&& +(f=window.location.href);var e=document.createElement("select");e.style.width="120px";e.style.marginLeft="8px";e.style.marginRight="10px";e.className="geBtn";d=document.createElement("option");d.setAttribute("value","blank");mxUtils.write(d,mxResources.get("makeCopy"));e.appendChild(d);d=document.createElement("option");d.setAttribute("value","custom");mxUtils.write(d,mxResources.get("custom")+"...");e.appendChild(d);a.appendChild(e);mxEvent.addListener(e,"change",mxUtils.bind(this,function(){if("custom"== +e.value){var a=new FilenameDialog(this,f,mxResources.get("ok"),function(a){null!=a?f=a:e.value="blank"},mxResources.get("url"),null,null,null,null,function(){e.value="blank"});this.showDialog(a.container,300,80,!0,!1);a.init()}}));mxEvent.addListener(c,"change",mxUtils.bind(this,function(){c.checked&&(null==b||b.checked)?e.removeAttribute("disabled"):e.setAttribute("disabled","disabled")}));mxUtils.br(a);return{getLink:function(){return c.checked?"blank"===e.value?"_blank":f:null},getEditInput:function(){return c}, +getEditSelect:function(){return e}}};EditorUi.prototype.addLinkSection=function(a,b){function c(){n.innerHTML='<div style="width:100%;height:100%;box-sizing:border-box;'+(null!=e&&e!=mxConstants.NONE?"border:1px solid black;background-color:"+e:"background-position:center center;background-repeat:no-repeat;background-image:url('"+Dialog.prototype.closeImage+"')")+';"></div>'}mxUtils.write(a,mxResources.get("links")+":");var d=document.createElement("select");d.style.width="100px";d.style.marginLeft= +"8px";d.style.marginRight="10px";d.className="geBtn";var f=document.createElement("option");f.setAttribute("value","auto");mxUtils.write(f,mxResources.get("automatic"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","blank");mxUtils.write(f,mxResources.get("openInNewWindow"));d.appendChild(f);f=document.createElement("option");f.setAttribute("value","self");mxUtils.write(f,mxResources.get("openInThisWindow"));d.appendChild(f);b&&(f=document.createElement("option"),f.setAttribute("value", +"frame"),mxUtils.write(f,mxResources.get("openInThisWindow")+" ("+mxResources.get("iframe")+")"),d.appendChild(f));a.appendChild(d);mxUtils.write(a,mxResources.get("borderColor")+":");var e="#0000ff",n=null,n=mxUtils.button("",mxUtils.bind(this,function(a){this.pickColor(e||"none",function(a){e=a;c()});mxEvent.consume(a)}));c();n.style.padding=mxClient.IS_FF?"4px 2px 4px 2px":"4px";n.style.marginLeft="4px";n.style.height="22px";n.style.width="22px";n.style.position="relative";n.style.top=mxClient.IS_IE|| +mxClient.IS_IE11||mxClient.IS_EDGE?"6px":"1px";n.className="geColorBtn";a.appendChild(n);mxUtils.br(a);return{getColor:function(){return e},getTarget:function(){return d.value},focus:function(){d.focus()}}};EditorUi.prototype.createLink=function(a,b,d,e,k,h,n,l){var c=this.getCurrentFile(),f=[];e&&(f.push("lightbox=1"),"auto"!=a&&f.push("target="+a),null!=b&&b!=mxConstants.NONE&&f.push("highlight="+("#"==b.charAt(0)?b.substring(1):b)),null!=k&&0<k.length&&f.push("edit="+encodeURIComponent(k)),h&& +f.push("layers=1"),this.editor.graph.foldingEnabled&&f.push("nav=1"));if(d&&null!=this.pages&&null!=this.currentPage)for(a=0;a<this.pages.length;a++)if(this.pages[a]==this.currentPage){0<a&&f.push("page="+a);break}a=!0;null!=n?d="#U"+encodeURIComponent(n):(c=this.getCurrentFile(),l||null==c||c.constructor!=window.DriveFile?d="#R"+encodeURIComponent(d?this.getFileData(!0,null,null,null,null,null,null,!0):this.editor.graph.compress(mxUtils.getXml(this.editor.getGraphXml()))):(d="#"+c.getHash(),a=!1)); +a&&null!=c&&null!=c.getTitle()&&c.getTitle()!=this.defaultFilename&&f.push("title="+encodeURIComponent(c.getTitle()));return(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp||!/.*\.draw\.io$/.test(window.location.hostname)?"https://www.draw.io/":"https://"+window.location.host+"/")+(0<f.length?"?"+f.join("&"):"")+d};EditorUi.prototype.createHtml=function(a,b,d,e,k,h,n,l,m,q,p){this.getBasenames();var c={};""!=k&&k!=mxConstants.NONE&&(c.highlight=k);"auto"!==e&&(c.target=e);m||(c.lightbox=!1);c.nav=this.editor.graph.foldingEnabled; +d=parseInt(d);isNaN(d)||100==d||(c.zoom=d/100);d=[];n&&(d.push("pages"),c.resize=!0,null!=this.pages&&null!=this.currentPage&&(c.page=mxUtils.indexOf(this.pages,this.currentPage)));b&&(d.push("zoom"),c.resize=!0);l&&d.push("layers");0<d.length&&(m&&d.push("lightbox"),c.toolbar=d.join(" "));null!=q&&0<q.length&&(c.edit=q);null!=a?c.url=a:c.xml=this.getFileData(!0,null,null,null,null,!n);b='<div class="mxgraph" style="'+(h?"max-width:100%;":"")+(""!=d?"border:1px solid transparent;":"")+'" data-mxgraph="'+ +mxUtils.htmlEntities(JSON.stringify(c))+'"></div>';a=null!=a?"&fetch="+encodeURIComponent(a):"";p(b,'<script type="text/javascript" src="'+(0<a.length?("1"==urlParams.dev?"https://test.draw.io/embed2.js?dev=1":"https://www.draw.io/embed2.js?")+a:"1"==urlParams.dev?"https://test.draw.io/js/viewer.min.js":"https://www.draw.io/js/viewer.min.js")+'">\x3c/script>')};EditorUi.prototype.showHtmlDialog=function(a,b,d,e){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3"); +mxUtils.write(f,mxResources.get("html"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=document.createElement("div");g.style.cssText="border-bottom:1px solid lightGray;padding-bottom:8px;margin-bottom:12px;";var l=document.createElement("input");l.style.cssText="margin-right:8px;margin-top:8px;margin-bottom:8px;";l.setAttribute("value","url");l.setAttribute("type","radio");l.setAttribute("name","type-embedhtmldialog");f=l.cloneNode(!0);f.setAttribute("value", +"copy");g.appendChild(f);var k=document.createElement("span");mxUtils.write(k,mxResources.get("includeCopyOfMyDiagram"));g.appendChild(k);mxUtils.br(g);g.appendChild(l);k=document.createElement("span");mxUtils.write(k,mxResources.get("publicDiagramUrl"));g.appendChild(k);var q=this.getCurrentFile();null==d&&null!=q&&q.constructor==window.DriveFile&&(k=document.createElement("a"),k.style.paddingLeft="12px",k.style.color="gray",k.setAttribute("href","javascript:void(0);"),mxUtils.write(k,mxResources.get("share")), +g.appendChild(k),mxEvent.addListener(k,"click",mxUtils.bind(this,function(){this.hideDialog();this.drive.showPermissions(q.getId())})));f.setAttribute("checked","checked");null==d&&l.setAttribute("disabled","disabled");c.appendChild(g);var u=this.addLinkSection(c),m=this.addCheckbox(c,mxResources.get("zoom"),!0,null,!0);mxUtils.write(c,":");var p=document.createElement("input");p.setAttribute("type","text");p.style.marginRight="16px";p.style.width="60px";p.style.marginLeft="4px";p.style.marginRight= +"12px";p.value="100%";c.appendChild(p);var r=this.addCheckbox(c,mxResources.get("fit"),!0),g=null!=this.pages&&1<this.pages.length,E=E=this.addCheckbox(c,mxResources.get("allPages"),g,!g),x=this.addCheckbox(c,mxResources.get("layers"),!0),v=this.addCheckbox(c,mxResources.get("lightbox"),!0),H=this.addEditButton(c,v),B=H.getEditInput();B.style.marginBottom="16px";mxEvent.addListener(v,"change",function(){v.checked?B.removeAttribute("disabled"):B.setAttribute("disabled","disabled");B.checked&&v.checked? +H.getEditSelect().removeAttribute("disabled"):H.getEditSelect().setAttribute("disabled","disabled")});a=new CustomDialog(this,c,mxUtils.bind(this,function(){e(l.checked?d:null,m.checked,p.value,u.getTarget(),u.getColor(),r.checked,E.checked,x.checked,v.checked,H.getLink())}),null,a,b);this.showDialog(a.container,340,384,!0,!0);f.focus()};EditorUi.prototype.showPublishLinkDialog=function(a,b,d,e,k,h){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3"); +mxUtils.write(f,a||mxResources.get("link"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:12px";c.appendChild(f);var g=this.getCurrentFile(),f="https://desk.draw.io/support/solutions/articles/16000051941";a=0;if(null!=g&&g.constructor==window.DriveFile&&!b){a=80;var f="https://desk.draw.io/support/solutions/articles/16000039384",q=document.createElement("div");q.style.cssText="border-bottom:1px solid lightGray;padding-bottom:14px;padding-top:6px;margin-bottom:14px;text-align:center;"; +var u=document.createElement("div");u.style.whiteSpace="normal";mxUtils.write(u,mxResources.get("linkAccountRequired"));q.appendChild(u);u=mxUtils.button(mxResources.get("share"),mxUtils.bind(this,function(){this.drive.showPermissions(g.getId())}));u.style.marginTop="12px";u.className="geBtn";q.appendChild(u);c.appendChild(q);u=document.createElement("a");u.style.paddingLeft="12px";u.style.color="gray";u.style.fontSize="11px";u.setAttribute("href","javascript:void(0);");mxUtils.write(u,mxResources.get("check")); +q.appendChild(u);mxEvent.addListener(u,"click",mxUtils.bind(this,function(){this.spinner.spin(document.body,mxResources.get("loading"))&&this.getPublicUrl(this.getCurrentFile(),mxUtils.bind(this,function(a){this.spinner.stop();a=new ErrorDialog(this,null,mxResources.get(null!=a?"diagramIsPublic":"diagramIsNotPublic"),mxResources.get("ok"));this.showDialog(a.container,300,80,!0,!1);a.init()}))}))}var t=null,m=null;if(null!=d||null!=e)a+=30,mxUtils.write(c,mxResources.get("width")+":"),t=document.createElement("input"), +t.setAttribute("type","text"),t.style.marginRight="16px",t.style.width="50px",t.style.marginLeft="6px",t.style.marginRight="16px",t.style.marginBottom="10px",t.value="100%",c.appendChild(t),mxUtils.write(c,mxResources.get("height")+":"),m=document.createElement("input"),m.setAttribute("type","text"),m.style.width="50px",m.style.marginLeft="6px",m.style.marginBottom="10px",m.value=e+"px",c.appendChild(m),mxUtils.br(c);var p=this.addLinkSection(c,h);d=null!=this.pages&&1<this.pages.length;var r=null; +if(null==g||g.constructor!=window.DriveFile||b)r=this.addCheckbox(c,mxResources.get("allPages"),d,!d);var x=this.addCheckbox(c,mxResources.get("lightbox"),!0),v=this.addEditButton(c,x),H=v.getEditInput(),B=this.addCheckbox(c,mxResources.get("layers"),!0);B.style.marginLeft=H.style.marginLeft;B.style.marginBottom="16px";B.style.marginTop="8px";mxEvent.addListener(x,"change",function(){x.checked?(B.removeAttribute("disabled"),H.removeAttribute("disabled")):(B.setAttribute("disabled","disabled"),H.setAttribute("disabled", +"disabled"));H.checked&&x.checked?v.getEditSelect().removeAttribute("disabled"):v.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){k(p.getTarget(),p.getColor(),null==r?!0:r.checked,x.checked,v.getLink(),B.checked,null!=t?t.value:null,null!=m?m.value:null)}),null,mxResources.get("create"),f);this.showDialog(b.container,340,254+a,!0,!0);null!=t?(t.focus(),mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode||mxClient.IS_QUIRKS?t.select(): +document.execCommand("selectAll",!1,null)):p.focus()};EditorUi.prototype.showRemoteExportDialog=function(a,b,d,e){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=document.createElement("h3");mxUtils.write(f,mxResources.get("image"));f.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(f);var g=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,this.editor.graph.isSelectionEmpty()),l=e?null:this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"), +!0),f=this.editor.graph,k=e?null:this.addCheckbox(c,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background);null!=k&&(k.style.marginBottom="16px");a=new CustomDialog(this,c,mxUtils.bind(this,function(){d(!g.checked,null!=l?l.checked:!1,null!=k?k.checked:!1)}),null,a,b);this.showDialog(a.container,300,e?100:186,!0,!0)};EditorUi.prototype.showExportDialog=function(a,b,d,e,k,h,n,l){n=null!=n?n:!0;var c=document.createElement("div");c.style.whiteSpace="nowrap";var f= +this.editor.graph,g="jpeg"==l?196:300,u=document.createElement("h3");mxUtils.write(u,a);u.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:10px";c.appendChild(u);mxUtils.write(c,mxResources.get("zoom")+":");var t=document.createElement("input");t.setAttribute("type","text");t.style.marginRight="16px";t.style.width="60px";t.style.marginLeft="4px";t.style.marginRight="12px";t.value=this.lastExportZoom||"100%";c.appendChild(t);mxUtils.write(c,mxResources.get("borderWidth")+":"); +var m=document.createElement("input");m.setAttribute("type","text");m.style.marginRight="16px";m.style.width="60px";m.style.marginLeft="4px";m.value=this.lastExportBorder||"0";c.appendChild(m);mxUtils.br(c);var p=this.addCheckbox(c,mxResources.get("transparentBackground"),f.background==mxConstants.NONE||null==f.background,null,null,"jpeg"!=l),r=this.addCheckbox(c,mxResources.get("selectionOnly"),!1,f.isSelectionEmpty()),v=document.createElement("input");v.style.marginTop="16px";v.style.marginRight= +"8px";v.style.marginLeft="24px";v.setAttribute("disabled","disabled");v.setAttribute("type","checkbox");h&&(c.appendChild(v),mxUtils.write(c,mxResources.get("crop")),mxUtils.br(c),g+=26,mxEvent.addListener(r,"change",function(){r.checked?v.removeAttribute("disabled"):v.setAttribute("disabled","disabled")}));f.isSelectionEmpty()||(v.setAttribute("checked","checked"),v.defaultChecked=!0);var H=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible),B=document.createElement("input");B.style.marginTop= +"16px";B.style.marginRight="8px";B.setAttribute("type","checkbox");!this.isOffline()&&this.canvasSupported||B.setAttribute("disabled","disabled");b&&(c.appendChild(B),mxUtils.write(c,mxResources.get("embedImages")),mxUtils.br(c),g+=26);var N=this.addCheckbox(c,mxResources.get("includeCopyOfMyDiagram"),n,null,null,"jpeg"!=l),C=null!=this.pages&&1<this.pages.length,I=this.addCheckbox(c,C?mxResources.get("allPages"):"",C,!C,null,"jpeg"!=l);I.style.marginLeft="24px";I.style.marginBottom="16px";C||(I.style.visibility= +"hidden");mxEvent.addListener(N,"change",function(){N.checked&&C?I.removeAttribute("disabled"):I.setAttribute("disabled","disabled")});n&&C||I.setAttribute("disabled","disabled");a=new CustomDialog(this,c,mxUtils.bind(this,function(){this.lastExportBorder=m.value;this.lastExportZoom=t.value;k(t.value,p.checked,!r.checked,H.checked,N.checked,B.checked,m.value,v.checked,!I.checked)}),null,d,e);this.showDialog(a.container,340,g,!0,!0);t.focus();mxClient.IS_GC||mxClient.IS_FF||5<=document.documentMode|| +mxClient.IS_QUIRKS?t.select():document.execCommand("selectAll",!1,null)};EditorUi.prototype.showEmbedImageDialog=function(a,b,d,e,k){var c=document.createElement("div");c.style.whiteSpace="nowrap";var f=this.editor.graph;if(null!=b){var g=document.createElement("h3");mxUtils.write(g,b);g.style.cssText="width:100%;text-align:center;margin-top:0px;margin-bottom:4px";c.appendChild(g)}var u=this.addCheckbox(c,mxResources.get("fit"),!0),q=this.addCheckbox(c,mxResources.get("shadow"),f.shadowVisible&&e, +!e),t=this.addCheckbox(c,d),m=this.addCheckbox(c,mxResources.get("lightbox"),!0),p=this.addEditButton(c,m),r=p.getEditInput(),v=1<f.model.getChildCount(f.model.getRoot()),x=this.addCheckbox(c,mxResources.get("layers"),v,!v);x.style.marginLeft=r.style.marginLeft;x.style.marginBottom="12px";x.style.marginTop="8px";mxEvent.addListener(m,"change",function(){m.checked?(v&&x.removeAttribute("disabled"),r.removeAttribute("disabled")):(x.setAttribute("disabled","disabled"),r.setAttribute("disabled","disabled")); +r.checked&&m.checked?p.getEditSelect().removeAttribute("disabled"):p.getEditSelect().setAttribute("disabled","disabled")});b=new CustomDialog(this,c,mxUtils.bind(this,function(){a(u.checked,q.checked,t.checked,m.checked,p.getLink(),x.checked)}),null,mxResources.get("embed"),k);this.showDialog(b.container,280,280,!0,!0)};EditorUi.prototype.createEmbedImage=function(a,b,d,e,k,h,n,l){function c(c){var b=" ",g="";e&&(b=" onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",g+="cursor:pointer;");a&&(g+="max-width:100%;");var l="";d&&(l=' width="'+Math.round(f.width)+'" height="'+Math.round(f.height)+'"');n('<img src="'+c+'"'+l+(""!=g?' style="'+g+'"':"")+b+"/>")}var f=this.editor.graph.getGraphBounds();if(this.isExportToCanvas())this.exportToCanvas(mxUtils.bind(this,function(a){var b=e?this.getFileData(!0):null;a=this.createImageDataUri(a,b,"png");c(a)}),null,null,null,mxUtils.bind(this,function(a){l({message:mxResources.get("unknownError")})}), +null,!0,d?2:1,null,b);else if(b=this.getFileData(!0),f.width*f.height<=MAX_AREA&&b.length<=MAX_REQUEST_SIZE){var g="";d&&(g="&w="+Math.round(2*f.width)+"&h="+Math.round(2*f.height));var u=new mxXmlRequest(EXPORT_URL,"format=png&base64=1&embedXml="+(e?"1":"0")+g+"&xml="+encodeURIComponent(b));u.send(mxUtils.bind(this,function(){200<=u.getStatus()&&299>=u.getStatus()?c("data:image/png;base64,"+u.getText()):l({message:mxResources.get("unknownError")})}))}else l({message:mxResources.get("drawingTooLarge")})}; +EditorUi.prototype.createEmbedSvg=function(a,b,d,e,k,h,n){var c=this.editor.graph.getSvg(),f=c.getElementsByTagName("a");if(null!=f)for(var g=0;g<f.length;g++){var u=f[g].getAttribute("href");null!=u&&"#"==u.charAt(0)&&"_blank"==f[g].getAttribute("target")&&f[g].removeAttribute("target")}e&&c.setAttribute("content",this.getFileData(!0));b&&this.editor.graph.addSvgShadow(c);if(d){var t=" ",m="";e&&(t="onclick=\"(function(img){if(img.wnd!=null&&!img.wnd.closed){img.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==img.wnd){img.wnd.postMessage(decodeURIComponent(img.getAttribute('src')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);img.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}})(this);\"",m+="cursor:pointer;");a&&(m+="max-width:100%;");this.convertImages(c,mxUtils.bind(this,function(a){n('<img src="'+this.createSvgDataUri(mxUtils.getXml(a))+'"'+(""!=m?' style="'+m+'"':"")+t+"/>")}))}else m="",e&&(c.setAttribute("onclick","(function(svg){var src=window.event.target||window.event.srcElement;while (src!=null&&src.nodeName.toLowerCase()!='a'){src=src.parentNode;}if(src==null){if(svg.wnd!=null&&!svg.wnd.closed){svg.wnd.focus();}else{var r=function(evt){if(evt.data=='ready'&&evt.source==svg.wnd){svg.wnd.postMessage(decodeURIComponent(svg.getAttribute('content')),'*');window.removeEventListener('message',r);}};window.addEventListener('message',r);svg.wnd=window.open('https://www.draw.io/?client=1&lightbox=1"+ +(k?"&edit=_blank":"")+(h?"&layers=1":"")+"');}}})(this);"),m+="cursor:pointer;"),a&&(a=parseInt(c.getAttribute("width")),b=parseInt(c.getAttribute("height")),c.setAttribute("viewBox","0 0 "+a+" "+b),m+="max-width:100%;max-height:"+b+"px;",c.removeAttribute("height")),""!=m&&c.setAttribute("style",m),n(mxUtils.getXml(c))};EditorUi.prototype.timeSince=function(a){a=Math.floor((new Date-a)/1E3);var c=Math.floor(a/31536E3);if(1<c)return c+" "+mxResources.get("years");c=Math.floor(a/2592E3);if(1<c)return c+ +" "+mxResources.get("months");c=Math.floor(a/86400);if(1<c)return c+" "+mxResources.get("days");c=Math.floor(a/3600);if(1<c)return c+" "+mxResources.get("hours");c=Math.floor(a/60);return 1<c?c+" "+mxResources.get("minutes"):1==c?c+" "+mxResources.get("minute"):null};EditorUi.prototype.convertMath=function(a,b,d,e){e()};EditorUi.prototype.decodeNodeIntoGraph=function(a,b){if(null!=a){var c=null;if("diagram"==a.nodeName)c=a;else if("mxfile"==a.nodeName){var d=a.getElementsByTagName("diagram");if(0< +d.length){var c=d[0],e=b.getGlobalVariable;b.getGlobalVariable=function(a){return"page"==a?c.getAttribute("name")||mxResources.get("pageWithNumber",[1]):"pagenumber"==a?1:e.apply(this,arguments)}}}null!=c&&(d=b.decompress(mxUtils.getTextContent(c)),null!=d&&0<d.length&&(a=mxUtils.parseXml(d).documentElement))}d=this.editor.graph;try{this.editor.graph=b,this.editor.setGraphXml(a)}catch(h){}finally{this.editor.graph=d}return a};EditorUi.prototype.getEmbeddedPng=function(a,b,d){var c=this.editor.graph, +e=null;if(null!=d&&0<d.length)c=this.createTemporaryGraph(this.editor.graph.getStylesheet()),document.body.appendChild(c.container),this.decodeNodeIntoGraph(this.editor.extractGraphModel(mxUtils.parseXml(d).documentElement,!0),c),e=d;else if(null!=this.pages&&this.currentPage!=this.pages[0]){var c=this.createTemporaryGraph(c.getStylesheet()),f=c.getGlobalVariable,g=this.pages[0];c.getGlobalVariable=function(a){return"page"==a?g.getName():"pagenumber"==a?1:f.apply(this,arguments)};document.body.appendChild(c.container); +c.model.setRoot(g.root)}this.exportToCanvas(mxUtils.bind(this,function(d){try{null==e&&(e=this.getFileData(!0));var f=d.toDataURL("image/png"),f=this.writeGraphModelToPng(f,"zTXt","mxGraphModel",atob(this.editor.graph.compress(e)));a(f.substring(f.lastIndexOf(",")+1));c!=this.editor.graph&&c.container.parentNode.removeChild(c.container)}catch(q){null!=b&&b(q)}}),null,null,null,mxUtils.bind(this,function(a){null!=b&&b(a)}),null,null,null,null,c.shadowVisible,null,c)};EditorUi.prototype.getEmbeddedSvg= +function(a,b,d,e,k,h,n){n=b.background;n==mxConstants.NONE&&(n=null);b=b.getSvg(n,null,null,null,null,h);null!=a&&b.setAttribute("content",a);null!=d&&b.setAttribute("resource",d);if(null!=k)this.convertImages(b,mxUtils.bind(this,function(a){k((e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+mxUtils.getXml(a))}));else return(e?"":'<?xml version="1.0" encoding="UTF-8"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n')+ +mxUtils.getXml(b)};EditorUi.prototype.exportImage=function(a,b,d,e,k,h,n,l,m){m=null!=m?m:"png";if(this.spinner.spin(document.body,mxResources.get("exporting"))){var c=this.editor.graph.isSelectionEmpty();d=null!=d?d:c;null==this.thumbImageCache&&(this.thumbImageCache={});try{this.exportToCanvas(mxUtils.bind(this,function(a){this.spinner.stop();try{this.saveCanvas(a,k?this.getFileData(!0,null,null,null,d,l):null,m)}catch(D){"Invalid image"==D.message?this.downloadFile(m):this.handleError(D)}}),null, +this.thumbImageCache,null,mxUtils.bind(this,function(a){this.spinner.stop();this.handleError(a)}),null,d,a||1,b,e,null,null,h,n)}catch(y){this.spinner.stop(),this.handleError(y)}}};EditorUi.prototype.loadFonts=function(a){if(null!=this.editor.fontCss&&null==this.editor.resolvedFontCss){var c=function(a){return a.replace(RegExp("^[\\s\"']+","g"),"").replace(RegExp("[\\s\"']+$","g"),"")},b=this.editor.fontCss.split("url("),d=0,e={},h=mxUtils.bind(this,function(){if(0==d){for(var f=[b[0]],g=1;g<b.length;g++){var h= +b[g].indexOf(")");f.push('url("');f.push(e[c(b[g].substring(0,h))]);f.push('"'+b[g].substring(h))}this.editor.resolvedFontCss=f.join("");a()}});if(0<b.length)for(var n=1;n<b.length;n++){var l=b[n].indexOf(")"),k=null,q=b[n].indexOf("format(",l);0<q&&(k=c(b[n].substring(q+7,b[n].indexOf(")",q))));mxUtils.bind(this,function(a){if(null==e[a]){e[a]=a;d++;var c="application/x-font-ttf";if("svg"==k||/(\.svg)($|\?)/i.test(a))c="image/svg+xml";else if("otf"==k||"embedded-opentype"==k||/(\.otf)($|\?)/i.test(a))c= +"application/x-font-opentype";else if("woff"==k||/(\.woff)($|\?)/i.test(a))c="application/font-woff";else if("woff2"==k||/(\.woff2)($|\?)/i.test(a))c="application/font-woff2";else if("eot"==k||/(\.eot)($|\?)/i.test(a))c="application/vnd.ms-fontobject";else if("sfnt"==k||/(\.sfnt)($|\?)/i.test(a))c="application/font-sfnt";var b=a;/^https?:\/\//.test(b)&&!this.isCorsEnabledForUrl(b)&&(b=PROXY_URL+"?url="+encodeURIComponent(a));this.loadUrl(b,mxUtils.bind(this,function(c){e[a]=c;d--;h()}),mxUtils.bind(this, +function(a){d--;h()}),!0,null,"data:"+c+";charset=utf-8;base64,")}})(c(b[n].substring(0,l)),k)}}else a()};EditorUi.prototype.exportToCanvas=function(a,b,d,e,k,h,n,l,m,q,p,r,v,G){h=null!=h?h:!0;r=null!=r?r:this.editor.graph;v=null!=v?v:0;var c=m?null:r.background;c==mxConstants.NONE&&(c=null);null==c&&(c=e);null==c&&0==m&&(c=this.editor.graph.defaultPageBackgroundColor);this.convertImages(r.getSvg(c,null,null,G,null,null!=n?n:!0),mxUtils.bind(this,function(d){var e=new Image;e.onload=mxUtils.bind(this, +function(){try{var f=document.createElement("canvas"),g=parseInt(d.getAttribute("width")),n=parseInt(d.getAttribute("height"));l=null!=l?l:1;null!=b&&(l=h?Math.min(1,Math.min(3*b/(4*n),b/g)):b/g);g=Math.ceil(l*g)+2*v;n=Math.ceil(l*n)+2*v;f.setAttribute("width",g);f.setAttribute("height",n);var q=f.getContext("2d");null!=c&&(q.beginPath(),q.rect(0,0,g,n),q.fillStyle=c,q.fill());q.scale(l,l);mxClient.IS_SF?window.setTimeout(function(){q.drawImage(e,v/l,v/l);a(f)},0):(q.drawImage(e,v/l,v/l),a(f))}catch(R){null!= +k&&k(R)}});e.onerror=function(a){null!=k&&k(a)};try{q&&this.editor.graph.addSvgShadow(d);var f=mxUtils.bind(this,function(){if(null!=this.editor.resolvedFontCss){var a=document.createElement("style");a.setAttribute("type","text/css");a.innerHTML=this.editor.resolvedFontCss;d.getElementsByTagName("defs")[0].appendChild(a)}this.convertMath(r,d,!0,mxUtils.bind(this,function(){e.src=this.createSvgDataUri(mxUtils.getXml(d))}))});this.loadFonts(f)}catch(B){null!=k&&k(B)}}),d,p)};EditorUi.prototype.createImageUrlConverter= +function(){var a=new mxUrlConverter;a.updateBaseUrl();var b=a.convert,d=this;a.convert=function(c){if(null!=c){var e="http://"==c.substring(0,7)||"https://"==c.substring(0,8);e&&!navigator.onLine?c=d.svgBrokenImage.src:!e||c.substring(0,a.baseUrl.length)==a.baseUrl||d.crossOriginImages&&d.isCorsEnabledForUrl(c)?"chrome-extension://"!=c.substring(0,19)&&(c=b.apply(this,arguments)):c=PROXY_URL+"?url="+encodeURIComponent(c)}return c};return a};EditorUi.prototype.convertImages=function(a,b,d,e){null== +e&&(e=this.createImageUrlConverter());var c=0,f=d||{};d=mxUtils.bind(this,function(d,g){for(var h=a.getElementsByTagName(d),l=0;l<h.length;l++)mxUtils.bind(this,function(d){var h=e.convert(d.getAttribute(g));if(null!=h&&"data:"!=h.substring(0,5)){var l=f[h];null==l?(c++,this.convertImageToDataUri(h,function(e){null!=e&&(f[h]=e,d.setAttribute(g,e));c--;0==c&&b(a)})):d.setAttribute(g,l)}else null!=h&&d.setAttribute(g,h)})(h[l])});d("image","xlink:href");d("img","src");0==c&&b(a)};EditorUi.prototype.loadUrl= +function(a,b,d,e,k,h){try{var c=e||/(\.png)($|\?)/i.test(a)||/(\.jpe?g)($|\?)/i.test(a)||/(\.gif)($|\?)/i.test(a);k=null!=k?k:!0;var f=mxUtils.bind(this,function(){mxUtils.get(a,mxUtils.bind(this,function(a){if(200<=a.getStatus()&&299>=a.getStatus()){if(null!=b){var e=a.getText();if(c){if((9==document.documentMode||10==document.documentMode)&&"undefined"!==typeof window.mxUtilsBinaryToArray){a=mxUtilsBinaryToArray(a.request.responseBody).toArray();for(var e=Array(a.length),f=0;f<a.length;f++)e[f]= +String.fromCharCode(a[f]);e=e.join("")}h=null!=h?h:"data:image/png;base64,";e=h+this.base64Encode(e)}b(e)}}else null!=d&&d({code:App.ERROR_UNKNOWN},a)}),function(){null!=d&&d({code:App.ERROR_UNKNOWN})},c,this.timeout,function(){k&&null!=d&&d({code:App.ERROR_TIMEOUT,retry:f})})});f()}catch(w){null!=d&&d(w)}};EditorUi.prototype.isCorsEnabledForUrl=function(a){null!=urlParams.cors&&null==this.corsRegExp&&(this.corsRegExp=new RegExp(decodeURIComponent(urlParams.cors)));return null!=this.corsRegExp&&this.corsRegExp.test(a)|| +"https://raw.githubusercontent.com/"===a.substring(0,34)||"https://cdn.rawgit.com/"===a.substring(0,23)||"https://rawgit.com/"===a.substring(0,19)||/^https?:\/\/[^\/]*\.iconfinder.com\//.test(a)||/^https?:\/\/[^\/]*\.draw\.io\/proxy/.test(a)||/^https?:\/\/[^\/]*\.github\.io\//.test(a)};EditorUi.prototype.convertImageToDataUri=function(a,b){if(/(\.svg)$/i.test(a))mxUtils.get(a,mxUtils.bind(this,function(a){b(this.createSvgDataUri(a.getText()))}),function(){b(this.svgBrokenImage.src)});else{var c=new Image, +d=this;this.crossOriginImages&&(c.crossOrigin="anonymous");c.onload=function(){var a=document.createElement("canvas"),e=a.getContext("2d");a.height=c.height;a.width=c.width;e.drawImage(c,0,0);try{b(a.toDataURL())}catch(n){b(d.svgBrokenImage.src)}};c.onerror=function(){b(d.svgBrokenImage.src)};c.src=a}};EditorUi.prototype.importXml=function(a,b,d,e,k){b=null!=b?b:0;d=null!=d?d:0;var c=[];try{var f=this.editor.graph;if(null!=a&&0<a.length){var g=mxUtils.parseXml(a),u=this.editor.extractGraphModel(g.documentElement, +null!=this.pages);if(null!=u&&"mxfile"==u.nodeName&&null!=this.pages){var q=u.getElementsByTagName("diagram");if(1==q.length)u=mxUtils.parseXml(f.decompress(mxUtils.getTextContent(q[0]))).documentElement;else if(1<q.length){f.model.beginUpdate();try{for(a=0;a<q.length;a++){var m=this.updatePageRoot(new DiagramPage(q[a])),t=this.pages.length;null==m.getName()&&m.setName(mxResources.get("pageWithNumber",[t+1]));f.model.execute(new ChangePage(this,m,m,t))}}finally{f.model.endUpdate()}}}null!=u&&"mxGraphModel"=== +u.nodeName&&(c=f.importGraphModel(u,b,d,e))}}catch(z){throw k||this.handleError(z,mxResources.get("invalidOrMissingFile")),z;}return c};EditorUi.prototype.importVisio=function(a,b,d,e){e=null!=e?e:a.name;d=null!=d?d:mxUtils.bind(this,function(a){this.handleError(a)});var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.doImportVisio)if(/(\.vsd)($|\?)/i.test(e)&&null!=VSD_CONVERT_URL){var c=new FormData;c.append("file1",a,e);var f=new XMLHttpRequest;f.open("POST",VSD_CONVERT_URL);f.responseType= +"blob";f.onreadystatechange=mxUtils.bind(this,function(){if(4==f.readyState)if(200<=f.status&&299>=f.status)try{this.doImportVisio(f.response,b,d)}catch(l){d(l)}else d({})});f.send(c)}else try{this.doImportVisio(a,b,d)}catch(l){d(l)}});this.doImportVisio||this.loadingExtensions||this.isOffline()?c():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",c))};EditorUi.prototype.exportVisio=function(){var a=mxUtils.bind(this,function(){this.loadingExtensions=!1;if("undefined"!==typeof VsdxExport)try{(new VsdxExport(this)).exportCurrentDiagrams()}catch(f){this.handleError(f)}}); +"undefined"!==typeof VsdxExport||this.loadingExtensions||this.isOffline()?a():(this.loadingExtensions=!0,mxscript("js/extensions.min.js",a))};EditorUi.prototype.importLucidChart=function(a,b,d,e,k){var c=mxUtils.bind(this,function(){this.loadingExtensions=!1;if(this.pasteLucidChart)try{this.insertLucidChart(a,b,d,e,k)}catch(n){this.handleError(n)}finally{null!=k&&k()}});this.pasteLucidChart||this.loadingExtensions||this.isOffline()?window.setTimeout(c,0):(this.loadingExtensions=!0,"1"==urlParams.dev? +mxscript("js/diagramly/Extensions.js",c):mxscript("js/extensions.min.js",c))};EditorUi.prototype.insertLucidChart=function(a,b,d,e,k){k=JSON.parse(a);a=[];if(null!=k.state){k=JSON.parse(k.state);for(var c in k.Pages)a.push(k.Pages[c]);a.sort(function(a,c){return a.Properties.Order<c.Properties.Order?-1:a.Properties.Order>c.Properties.Order?1:0})}else a.push(k);if(0<a.length){this.editor.graph.getModel().beginUpdate();try{if(this.pasteLucidChart(a[0],b,d,e),null!=this.pages){var f=this.currentPage; +for(b=1;b<a.length;b++)this.insertPage(),this.pasteLucidChart(a[b]);this.selectPage(f)}}finally{this.editor.graph.getModel().endUpdate()}}};EditorUi.prototype.insertTextAt=function(a,b,d,e,k,h,n){h=null!=h?h:!0;n=null!=n?n:!0;if(null!=a)if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(a))this.parseFile(new Blob([a.replace(/\s+/g," ")],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&200<=a.status&&299>=a.status&&this.editor.graph.setSelectionCells(this.insertTextAt(a.responseText, +b,d,!0))}));else if("data:"==a.substring(0,5)||!this.isOffline()&&(k||/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(a))){var c=this.editor.graph;if("data:image/png;base64,"==a.substring(0,22)){var f=this.extractGraphModelFromPng(a),g=this.importXml(f,b,d,h,!0);if(0<g.length)return g}if("data:image/svg+xml;"==a.substring(0,19))try{if(f=null,"data:image/svg+xml;base64,"==a.substring(0,26)?(f=a.substring(a.indexOf(",")+1),f=window.atob&&!mxClient.IS_SF?atob(f):Base64.decode(f,!0)):f=decodeURIComponent(a.substring(a.indexOf(",")+ +1)),g=this.importXml(f,b,d,h,!0),0<g.length)return g}catch(y){}this.loadImage(a,mxUtils.bind(this,function(e){if("data:"==a.substring(0,5))this.resizeImage(e,a,mxUtils.bind(this,function(a,e,f){c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),e,f,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+this.convertDataUri(a)+";"))}),n,this.maxImageSize);else{var f=Math.min(1,Math.min(this.maxImageSize/e.width,this.maxImageSize/ +e.height)),g=Math.round(e.width*f);e=Math.round(e.height*f);c.setSelectionCell(c.insertVertex(null,null,"",c.snap(b),c.snap(d),g,e,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";"))}}),mxUtils.bind(this,function(){var f=null;c.getModel().beginUpdate();try{f=c.insertVertex(c.getDefaultParent(),null,a,c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.updateCellSize(f),c.fireEvent(new mxEventObject("textInserted","cells", +[f]))}finally{c.getModel().endUpdate()}c.setSelectionCell(f)}))}else{a=this.editor.graph.zapGremlins(mxUtils.trim(a));if(this.isCompatibleString(a))return this.importXml(a,b,d,h);if(0<a.length)if('{"state":"{\\"Properties\\":'==a.substring(0,26))this.importLucidChart(a,b,d,h);else{c=this.editor.graph;k=null;c.getModel().beginUpdate();try{k=c.insertVertex(c.getDefaultParent(),null,"",c.snap(b),c.snap(d),1,1,"text;"+(e?"html=1;":"")),c.fireEvent(new mxEventObject("textInserted","cells",[k])),k.value= +a,c.updateCellSize(k),/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“â€â€˜â€™]))/i.test(k.value)&&c.setLinkForCell(k,k.value),k.geometry.width+=c.gridSize,k.geometry.height+=c.gridSize}finally{c.getModel().endUpdate()}return[k]}}return[]};EditorUi.prototype.formatFileSize=function(a){var c=-1;do a/=1024,c++;while(1024<a);return Math.max(a,.1).toFixed(1)+ +" kB; MB; GB; TB;PB;EB;ZB;YB".split(";")[c]};EditorUi.prototype.convertDataUri=function(a){if("data:"==a.substring(0,5)){var c=a.indexOf(";");0<c&&(a=a.substring(0,c)+a.substring(a.indexOf(",",c+1)))}return a};EditorUi.prototype.isRemoteFileFormat=function(a,b){return/(\"contentType\":\s*\"application\/gliffy\+json\")/.test(a)};EditorUi.prototype.importLocalFile=function(a,b){if(a&&Graph.fileSupport&&(!mxClient.IS_IE&&!mxClient.IS_IE11||0>navigator.appVersion.indexOf("Windows NT 6.1"))){var c=document.createElement("input"); +c.setAttribute("type","file");mxEvent.addListener(c,"change",mxUtils.bind(this,function(){null!=c.files&&this.importFiles(c.files,null,null,this.maxImageSize)}));c.click()}else{window.openNew=!1;window.openKey="import";if(!b){var d=Editor.useLocalStorage;Editor.useLocalStorage=!a}window.openFile=new OpenFile(mxUtils.bind(this,function(a){this.hideDialog(a)}));window.openFile.setConsumer(mxUtils.bind(this,function(a,c){if(null!=c&&Graph.fileSupport&&/(\.vsdx?)($|\?)/i.test(c)){var b=new Blob([a],{type:"application/octet-stream"}); +this.importVisio(b,mxUtils.bind(this,function(a){this.importXml(a)}),null,c)}else this.editor.graph.setSelectionCells(this.importXml(a))}));this.showDialog((new OpenDialog(this)).container,360,220,!0,!0,function(){window.openFile=null});if(!b){var e=this.dialog,f=e.close;this.dialog.close=mxUtils.bind(this,function(a){Editor.useLocalStorage=d;f.apply(e,arguments);a&&null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.showSplash()})}}};EditorUi.prototype.importFile=function(a,b,d,e,k,h,n,l,m,q, +p){q=null!=q?q:!0;var c=!1,f=null,g=mxUtils.bind(this,function(a){var c=null;null!=a&&"<mxlibrary"==a.substring(0,10)?this.loadLibrary(new LocalLibrary(this,a,n)):c=this.importXml(a,d,e,q);null!=l&&l(c)});"image"==b.substring(0,5)?(m=!1,"image/png"==b.substring(0,9)&&(b=p?null:this.extractGraphModelFromPng(a),null!=b&&0<b.length&&(f=this.importXml(b,d,e,q),m=!0)),m||(f=this.editor.graph,b=a.indexOf(";"),0<b&&(a=a.substring(0,b)+a.substring(a.indexOf(",",b+1))),q&&f.isGridEnabled()&&(d=f.snap(d),e= +f.snap(e)),f=[f.insertVertex(null,null,"",d,e,k,h,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+a+";")])):/(\.*<graphml )/.test(a)&&"undefined"!==typeof window.mxGraphMlCodec?(new mxGraphMlCodec).decode(a,mxUtils.bind(this,function(a){a=this.importXml(a,d,e,q);null!=l&&l(a)})):null!=m&&null!=n&&(/(\.vsdx?)($|\?)/i.test(n)||/(\.vssx)($|\?)/i.test(n))?(c=!0,this.importVisio(m,g)):!this.isOffline()&&(new XMLHttpRequest).upload&& +this.isRemoteFileFormat(a,n)?(c=!0,this.parseFile(null!=m?m:new Blob([a],{type:"application/octet-stream"}),mxUtils.bind(this,function(a){4==a.readyState&&(200<=a.status&&299>=a.status?g(a.responseText):null!=l&&l(null))}),n)):/(\.vsd)($|\?)/i.test(n)||(f=this.insertTextAt(this.validateFileData(a),d,e,!0,null,q));c||null==l||l(f);return f};EditorUi.prototype.base64Encode=function(a){for(var c="",b=0,d=a.length,e,h,n;b<d;){e=a.charCodeAt(b++)&255;if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4);c+="==";break}h=a.charCodeAt(b++);if(b==d){c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>>2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2);c+="=";break}n=a.charCodeAt(b++);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(e>> +2);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((e&3)<<4|(h&240)>>4);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt((h&15)<<2|(n&192)>>6);c+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(n&63)}return c};EditorUi.prototype.importFiles=function(a,b,d,e,k,h,n,l,m,q,p,r){b=null!=b?b:0;d=null!=d?d:0;e=null!=e?e:this.maxImageSize;q=null!=q?q:this.maxImageBytes;var c=null!=b&&null!=d,f=!0,g=!1;if(!mxClient.IS_CHROMEAPP&& +null!=a)for(var u=p||this.resampleThreshold,t=0;t<a.length;t++)if("image/"==a[t].type.substring(0,6)&&a[t].size>u){g=!0;break}var v=mxUtils.bind(this,function(){var g=this.editor.graph,m=g.gridSize;k=null!=k?k:mxUtils.bind(this,function(a,b,d,e,f,g,h,l,n){return null!=a&&"<mxlibrary"==a.substring(0,10)?(this.spinner.stop(),this.loadLibrary(new LocalLibrary(this,a,h)),null):this.importFile(a,b,d,e,f,g,h,l,n,c,r)});h=null!=h?h:mxUtils.bind(this,function(a){g.setSelectionCells(a)});if(this.spinner.spin(document.body, +mxResources.get("loading")))for(var u=a.length,t=u,v=[],y=mxUtils.bind(this,function(a,c){v[a]=c;if(0==--t){this.spinner.stop();if(null!=l)l(v);else{var b=[];g.getModel().beginUpdate();try{for(var d=0;d<v.length;d++){var e=v[d]();null!=e&&(b=b.concat(e))}}finally{g.getModel().endUpdate()}}h(b)}}),x=0;x<u;x++)mxUtils.bind(this,function(c){var h=a[c],l=new FileReader;l.onload=mxUtils.bind(this,function(a){if(null==n||n(h))if("image/"==h.type.substring(0,6))if("image/svg"==h.type.substring(0,9)){var l= +a.target.result,u=l.indexOf(","),t=decodeURIComponent(escape(atob(l.substring(u+1)))),B=mxUtils.parseXml(t),t=B.getElementsByTagName("svg");if(0<t.length){var t=t[0],v=r?null:t.getAttribute("content");null!=v&&"<"!=v.charAt(0)&&"%"!=v.charAt(0)&&(v=unescape(window.atob?atob(v):Base64.decode(v,!0)));null!=v&&"%"==v.charAt(0)&&(v=decodeURIComponent(v));null==v||"<mxfile "!==v.substring(0,8)&&"<mxGraphModel "!==v.substring(0,14)?y(c,mxUtils.bind(this,function(){try{if(l.substring(0,u+1),null!=B){var a= +B.getElementsByTagName("svg");if(0<a.length){var n=a[0],q=parseFloat(n.getAttribute("width")),t=parseFloat(n.getAttribute("height")),p=n.getAttribute("viewBox");if(null==p||0==p.length)n.setAttribute("viewBox","0 0 "+q+" "+t);else if(isNaN(q)||isNaN(t)){var r=p.split(" ");3<r.length&&(q=parseFloat(r[2]),t=parseFloat(r[3]))}l=this.createSvgDataUri(mxUtils.getXml(n));var v=Math.min(1,Math.min(e/Math.max(1,q)),e/Math.max(1,t)),C=k(l,h.type,b+c*m,d+c*m,Math.max(1,Math.round(q*v)),Math.max(1,Math.round(t* +v)),h.name,f);if(isNaN(q)||isNaN(t)){var y=new Image;y.onload=mxUtils.bind(this,function(){q=Math.max(1,y.width);t=Math.max(1,y.height);C[0].geometry.width=q;C[0].geometry.height=t;n.setAttribute("viewBox","0 0 "+q+" "+t);l=this.createSvgDataUri(mxUtils.getXml(n));var a=l.indexOf(";");0<a&&(l=l.substring(0,a)+l.substring(l.indexOf(",",a+1)));g.setCellStyles("image",l,[C[0]])});y.src=this.createSvgDataUri(mxUtils.getXml(n))}return C}}}catch(ea){}return null})):y(c,mxUtils.bind(this,function(){return k(v, +"text/xml",b+c*m,d+c*m,0,0,h.name)}))}}else{t=!1;if("image/png"==h.type){var C=r?null:this.extractGraphModelFromPng(a.target.result);if(null!=C&&0<C.length){var x=new Image;x.src=a.target.result;y(c,mxUtils.bind(this,function(){return k(C,"text/xml",b+c*m,d+c*m,x.width,x.height,h.name)}));t=!0}}t||(mxClient.IS_CHROMEAPP?(this.spinner.stop(),this.showError(mxResources.get("error"),mxResources.get("dragAndDropNotSupported"),mxResources.get("cancel"),mxUtils.bind(this,function(){}),null,mxResources.get("ok"), +mxUtils.bind(this,function(){this.actions.get("import").funct()}))):this.loadImage(a.target.result,mxUtils.bind(this,function(g){this.resizeImage(g,a.target.result,mxUtils.bind(this,function(g,l,n){y(c,mxUtils.bind(this,function(){if(null!=g&&g.length<q){var u=f&&this.isResampleImage(a.target.result,p)?Math.min(1,Math.min(e/l,e/n)):1;return k(g,h.type,b+c*m,d+c*m,Math.round(l*u),Math.round(n*u),h.name)}this.handleError({message:mxResources.get("imageTooBig")});return null}))}),f,e,p)}),mxUtils.bind(this, +function(){this.handleError({message:mxResources.get("invalidOrMissingFile")})})))}else k(a.target.result,h.type,b+c*m,d+c*m,240,160,h.name,function(a){y(c,function(){return a})})});/(\.vsdx?)($|\?)/i.test(h.name)||/(\.vssx)($|\?)/i.test(h.name)?k(null,h.type,b+c*m,d+c*m,240,160,h.name,function(a){y(c,function(){return a})},h):"image"==h.type.substring(0,5)?l.readAsDataURL(h):l.readAsText(h)})(x)});g?this.confirmImageResize(function(a){f=a;v()},m):v()};EditorUi.prototype.confirmImageResize=function(a, +b){b=null!=b?b:!1;var c=null!=this.spinner&&null!=this.spinner.pause?this.spinner.pause():function(){},d=isLocalStorage||mxClient.IS_CHROMEAPP?mxSettings.getResizeImages():null,e=function(d,e){if(d||b)mxSettings.setResizeImages(d?e:null),mxSettings.save();c();a(e)};null==d||b?this.showDialog((new ConfirmDialog(this,mxResources.get("resizeLargeImages"),function(a){e(a,!0)},function(a){e(a,!1)},mxResources.get("resize"),mxResources.get("actualSize"),'<img style="margin-top:8px;" src="'+Editor.loResImage+ +'"/>','<img style="margin-top:8px;" src="'+Editor.hiResImage+'"/>',isLocalStorage||mxClient.IS_CHROMEAPP)).container,340,isLocalStorage||mxClient.IS_CHROMEAPP?220:200,!0,!0):e(!1,d)};EditorUi.prototype.parseFile=function(a,b,d){d=null!=d?d:a.name;var c=new FormData;c.append("format","xml");c.append("upfile",a,d);var e=new XMLHttpRequest;e.open("POST",OPEN_URL);e.onreadystatechange=function(){b(e)};e.send(c)};EditorUi.prototype.isResampleImage=function(a,b){b=null!=b?b:this.resampleThreshold;return a.length> +b};EditorUi.prototype.resizeImage=function(a,b,d,e,k,h){k=null!=k?k:this.maxImageSize;var c=Math.max(1,a.width),f=Math.max(1,a.height);if(e&&this.isResampleImage(b,h))try{var g=Math.max(c/k,f/k);if(1<g){var q=Math.round(c/g),m=Math.round(f/g),u=document.createElement("canvas");u.width=q;u.height=m;u.getContext("2d").drawImage(a,0,0,q,m);var t=u.toDataURL();if(t.length<b.length){var p=document.createElement("canvas");p.width=q;p.height=m;var r=p.toDataURL();t!==r&&(b=t,c=q,f=m)}}}catch(x){}d(b,c,f)}; +EditorUi.prototype.crcTable=[];for(var e=0;256>e;e++)for(var d=e,k=0;8>k;k++)d=1==(d&1)?3988292384^d>>>1:d>>>1,EditorUi.prototype.crcTable[e]=d;EditorUi.prototype.updateCRC=function(a,b,d,e){for(var c=0;c<e;c++)a=EditorUi.prototype.crcTable[(a^b[d+c])&255]^a>>>8;return a};EditorUi.prototype.crc32=function(a){this.crcTable=this.crcTable||this.createCrcTable();for(var c=-1,b=0;b<a.length;b++)c=c>>>8^this.crcTable[(c^a.charCodeAt(b))&255];return(c^-1)>>>0};EditorUi.prototype.writeGraphModelToPng=function(a, +b,d,e,k){function c(a,c){var b=m;m+=c;return a.substring(b,m)}function f(a){a=c(a,4);return a.charCodeAt(3)+(a.charCodeAt(2)<<8)+(a.charCodeAt(1)<<16)+(a.charCodeAt(0)<<24)}function g(a){return String.fromCharCode(a>>24&255,a>>16&255,a>>8&255,a&255)}a=a.substring(a.indexOf(",")+1);a=window.atob?atob(a):Base64.decode(a,!0);var m=0;if(c(a,8)!=String.fromCharCode(137)+"PNG"+String.fromCharCode(13,10,26,10))null!=k&&k();else if(c(a,4),"IHDR"!=c(a,4))null!=k&&k();else{c(a,17);k=a.substring(0,m);do{var q= +f(a);if("IDAT"==c(a,4)){k=a.substring(0,m-8);d=d+String.fromCharCode(0)+("zTXt"==b?String.fromCharCode(0):"")+e;e=4294967295;e=this.updateCRC(e,b,0,4);e=this.updateCRC(e,d,0,d.length);k+=g(d.length)+b+d+g(e^4294967295);k+=a.substring(m-8,a.length);break}k+=a.substring(m-8,m-4+q);c(a,q);c(a,4)}while(q);return"data:image/png;base64,"+(window.btoa?btoa(k):Base64.encode(k,!0))}};EditorUi.prototype.extractGraphModelFromPng=function(a){var c=null;try{var b=a.substring(a.indexOf(",")+1),d=window.atob&&!mxClient.IS_SF? +atob(b):Base64.decode(b,!0);EditorUi.parsePng(d,mxUtils.bind(this,function(a,b,e){a=d.substring(a+8,a+8+e);"zTXt"==b?(e=a.indexOf(String.fromCharCode(0)),"mxGraphModel"==a.substring(0,e)&&(a=this.editor.graph.bytesToString(pako.inflateRaw(a.substring(e+2))).replace(/\+/g," "),null!=a&&0<a.length&&(c=a))):"tEXt"==b&&(a=a.split(String.fromCharCode(0)),1<a.length&&"mxGraphModel"==a[0]&&(c=a[1]));if(null!=c||"IDAT"==b)return!0}))}catch(t){}null!=c&&"%"==c.charAt(0)&&(c=decodeURIComponent(c));null!=c&& +"%"==c.charAt(0)&&(c=decodeURIComponent(c));return c};EditorUi.prototype.loadImage=function(a,b,d){var c=new Image;c.onload=function(){b(c)};null!=d&&(c.onerror=d);c.src=a};var m=EditorUi.prototype.init;EditorUi.prototype.init=function(){"undefined"!==typeof window.mxSettings&&(this.formatWidth=mxSettings.getFormatWidth());var a=this,b=this.editor.graph;b.getLinkTitle=function(b){return a.getLinkTitle(b)};b.customLinkClicked=function(b){try{a.handleCustomLink(b)}catch(H){a.handleError(H)}};this.isOffline()|| +"undefined"===typeof window.EditDataDialog||(EditDataDialog.placeholderHelpLink="https://desk.draw.io/support/solutions/articles/16000051979");var d=a.editor.getEditBlankUrl;this.editor.getEditBlankUrl=function(b){b=null!=b?b:"";if(null!=a.pages&&null!=a.currentPage)for(var c=0;c<a.pages.length;c++)if(a.pages[c]==a.currentPage){0<c&&(b+=(0<b.length?"&":"?")+"page="+c);break}"1"==urlParams.dev&&(b+=(0<b.length?"&":"?")+"dev=1&drawdev=1");return d.apply(this,arguments)};var e=b.addClickHandler;b.addClickHandler= +function(a,c,d){var f=c;c=function(a,c){if(null==c){var d=mxEvent.getSource(a);"a"==d.nodeName.toLowerCase()&&(c=d.getAttribute("href"))}null==c||!b.isCustomLink(c)||!mxEvent.isTouchEvent(a)&&mxEvent.isPopupTrigger(a)||(b.customLinkClicked(c),mxEvent.consume(a));null!=f&&f(a,c)};e.call(this,a,c,d)};m.apply(this,arguments);mxClient.IS_SVG&&this.editor.graph.addSvgShadow(b.view.canvas.ownerSVGElement,null,!0);a.actions.get("print").funct=function(){a.showDialog((new PrintDialog(a)).container,360,null!= +a.pages&&1<a.pages.length?420:360,!0,!0)};this.defaultFilename=mxResources.get("untitledDiagram");var k=b.getGlobalVariable;b.getGlobalVariable=function(b){return"page"==b&&null!=a.currentPage?a.currentPage.getName():"pagenumber"==b?null!=a.currentPage&&null!=a.pages?mxUtils.indexOf(a.pages,a.currentPage)+1:1:k.apply(this,arguments)};var h=b.createLinkForHint;b.createLinkForHint=function(a,c){null!=a&&b.isCustomLink(a)&&(c=b.getLinkTitle(a));var d=h.call(this,a,c);null!=a&&b.isCustomLink(a)&&mxEvent.addListener(d, +"click",function(c){b.customLinkClicked(a);mxEvent.consume(c)});return d};var n=b.labelLinkClicked;b.labelLinkClicked=function(a,c,d){var e=c.getAttribute("href");if(null==e||!b.isCustomLink(e)||!mxEvent.isTouchEvent(d)&&mxEvent.isPopupTrigger(d))n.apply(this,arguments);else{if(!b.isEnabled()||null!=a&&b.isCellLocked(a.cell))b.customLinkClicked(e),b.getRubberband().reset();mxEvent.consume(d)}};this.editor.getOrCreateFilename=function(){var b=a.defaultFilename,c=a.getCurrentFile();null!=c&&(b=null!= +c.getTitle()?c.getTitle():b);return b};var l=this.actions.get("print");l.setEnabled(!mxClient.IS_IOS||!navigator.standalone);l.visible=l.isEnabled();if(!this.editor.chromeless||this.editor.editable){var p=function(){window.setTimeout(function(){q.innerHTML=" ";q.focus();document.execCommand("selectAll",!1,null)},0)};this.keyHandler.bindAction(70,!0,"find");this.keyHandler.bindAction(67,!0,"copyStyle",!0);this.keyHandler.bindAction(86,!0,"pasteStyle",!0);this.keyHandler.bindAction(77,!0,"editGeometry", +!0);this.keyHandler.bindAction(88,!0,"insertText",!0);this.keyHandler.bindAction(75,!0,"insertRectangle");this.keyHandler.bindAction(75,!0,"insertEllipse",!0);mxClient.IS_IE||b.container.addEventListener("paste",mxUtils.bind(this,function(a){var b=this.editor.graph;if(!mxEvent.isConsumed(a))try{for(var c=a.clipboardData||a.originalEvent.clipboardData,d=!1,e=0;e<c.types.length;e++)if("text/"===c.types[e].substring(0,5)){d=!0;break}if(!d){var f=c.items;for(index in f){var g=f[index];if("file"===g.kind){if(b.isEditing())this.importFiles([g.getAsFile()], +0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a,f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var b=0;b<a.length;b++)a[b]()});else{var h=this.editor.graph.getInsertPoint();this.importFiles([g.getAsFile()],h.x,h.y,this.maxImageSize);mxEvent.consume(a)}break}}}}catch(aa){}}),!1);var q=document.createElement("div");q.style.position="absolute";q.style.whiteSpace="nowrap";q.style.overflow="hidden";q.style.display="block";q.contentEditable=!0;mxUtils.setOpacity(q, +0);q.style.width="1px";q.style.height="1px";q.innerHTML=" ";var r=!1;this.keyHandler.bindControlKey(88,null);this.keyHandler.bindControlKey(67,null);this.keyHandler.bindControlKey(86,null);mxEvent.addListener(document,"keydown",mxUtils.bind(this,function(a){var c=mxEvent.getSource(a);null==b.container||!b.isEnabled()||b.isMouseDown||b.isEditing()||null!=this.dialog||"INPUT"==c.nodeName||"TEXTAREA"==c.nodeName||!(224==a.keyCode||!mxClient.IS_MAC&&17==a.keyCode||mxClient.IS_MAC&&91==a.keyCode)|| +r||(q.style.left=b.container.scrollLeft+10+"px",q.style.top=b.container.scrollTop+10+"px",b.container.appendChild(q),r=!0,mxClient.IS_QUIRKS?window.setTimeout(function(){q.focus();document.execCommand("selectAll",!1,null)},0):(q.focus(),document.execCommand("selectAll",!1,null)))}));mxEvent.addListener(document,"keyup",mxUtils.bind(this,function(a){var c=a.keyCode;window.setTimeout(mxUtils.bind(this,function(){!r||224!=c&&17!=c&&91!=c||(r=!1,b.isEditing()||null!=this.dialog||null==b.container||b.container.focus(), +q.parentNode.removeChild(q),mxUtils.clearSelection())}),0)}));mxEvent.addListener(q,"copy",mxUtils.bind(this,function(a){b.isEnabled()&&(mxClipboard.copy(b),this.copyCells(q),p())}));mxEvent.addListener(q,"cut",mxUtils.bind(this,function(a){b.isEnabled()&&(this.copyCells(q,!0),p())}));mxEvent.addListener(q,"paste",mxUtils.bind(this,function(a){b.isEnabled()&&!b.isCellLocked(b.getDefaultParent())&&(q.innerHTML=" ",q.focus(),window.setTimeout(mxUtils.bind(this,function(){this.pasteCells(a,q);q.innerHTML= +" "}),0))}),!0);var v=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==q?!0:v.apply(this,arguments)}}this.spinner=this.createSpinner(document.body.clientWidth/2-2,Math.max(document.body.clientHeight||0,document.documentElement.clientHeight||0)/2,24);Graph.fileSupport&&this.editor.graph.addListener(mxEvent.EDITING_STARTED,mxUtils.bind(this,function(a){var b=this.editor.graph,c=b.cellEditor.text2,d=null;null!=c&&(mxEvent.addListener(c,"dragleave",function(a){null!= +d&&(d.parentNode.removeChild(d),d=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null==d&&(!mxClient.IS_IE||10<document.documentMode)&&(d=this.highlightElement(c));a.stopPropagation();a.preventDefault()})),mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=d&&(d.parentNode.removeChild(d),d=null);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,function(a,c,d,e,f,g){b.insertImage(a, +f,g)},function(){},function(a){return"image/"==a.type.substring(0,6)},function(a){for(var c=0;c<a.length;c++)a[c]()},mxEvent.isControlDown(a));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")){var c=a.dataTransfer.getData("text/uri-list");/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(c)?this.loadImage(decodeURIComponent(c),mxUtils.bind(this,function(a){var d=Math.max(1,a.width);a=Math.max(1,a.height);var e=this.maxImageSize,e=Math.min(1,Math.min(e/Math.max(1,d)),e/Math.max(1,a));b.insertImage(decodeURIComponent(c), +d*e,a*e)})):document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"))}else 0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")?document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/html")):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&document.execCommand("insertHTML",!1,a.dataTransfer.getData("text/plain"));a.stopPropagation();a.preventDefault()})))}));if("1"==urlParams.ruler&&"undefined"!==typeof mxRuler){l=document.createElement("div");l.style.position="absolute"; +l.style.top="95px";l.style.left="250px";l.style.width="2000px";l.style.height="30px";l.style.background="whiteSmoke";document.body.appendChild(l);var z=document.createElement("div");z.style.position="absolute";z.style.top="125px";z.style.left="220px";z.style.width="30px";z.style.height="1000px";z.style.background="whiteSmoke";document.body.appendChild(z);var G=document.createElement("div");G.style.position="absolute";G.style.top="95px";G.style.left="220px";G.style.width="30px";G.style.height="30px"; +G.style.background="whiteSmoke";document.body.appendChild(G);this.vRuler=new mxRuler(this.editor.graph,z,!0);this.hRuler=new mxRuler(this.editor.graph,l,!1)}if("1"==urlParams.test){l=document.getElementById("geFooter");null!=l&&(this.styleInput=document.createElement("input"),this.styleInput.setAttribute("type","text"),this.styleInput.style.position="absolute",this.styleInput.style.top="14px",this.styleInput.style.left="2px",this.styleInput.style.width="98%",this.styleInput.style.visibility="hidden", +this.styleInput.style.opacity="0.9",mxEvent.addListener(this.styleInput,"change",mxUtils.bind(this,function(){this.editor.graph.getModel().setStyle(this.editor.graph.getSelectionCell(),this.styleInput.value)})),l.appendChild(this.styleInput),this.editor.graph.getSelectionModel().addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,c){if(0<this.editor.graph.getSelectionCount()){var b=this.editor.graph.getSelectionCell(),b=this.editor.graph.getModel().getStyle(b);this.styleInput.value=b||"";this.styleInput.style.visibility= +"visible"}else this.styleInput.style.visibility="hidden"})));var E=this.isSelectionAllowed;this.isSelectionAllowed=function(a){return mxEvent.getSource(a)==this.styleInput?!0:E.apply(this,arguments)}}l=document.getElementById("geInfo");null!=l&&l.parentNode.removeChild(l);if(Graph.fileSupport&&(!this.editor.chromeless||this.editor.editable)){var x=null;mxEvent.addListener(b.container,"dragleave",function(a){b.isEnabled()&&(null!=x&&(x.parentNode.removeChild(x),x=null),a.stopPropagation(),a.preventDefault())}); +mxEvent.addListener(b.container,"dragover",mxUtils.bind(this,function(a){null==x&&(!mxClient.IS_IE||10<document.documentMode)&&(x=this.highlightElement(b.container));null!=this.sidebar&&this.sidebar.hideTooltip();a.stopPropagation();a.preventDefault()}));mxEvent.addListener(b.container,"drop",mxUtils.bind(this,function(a){null!=x&&(x.parentNode.removeChild(x),x=null);if(b.isEnabled()){var c=mxUtils.convertPoint(b.container,mxEvent.getClientX(a),mxEvent.getClientY(a)),d=b.view.translate,e=b.view.scale, +f=c.x/e-d.x,g=c.y/e-d.y;mxEvent.isAltDown(a)&&(g=f=0);if(0<a.dataTransfer.files.length)this.importFiles(a.dataTransfer.files,f,g,this.maxImageSize,null,null,null,null,mxEvent.isControlDown(a),null,null,mxEvent.isShiftDown(a));else{var h=0<=mxUtils.indexOf(a.dataTransfer.types,"text/uri-list")?a.dataTransfer.getData("text/uri-list"):null,c=this.extractGraphModelFromEvent(a,null!=this.pages);if(null!=c)b.setSelectionCells(this.importXml(c,f,g,!0));else if(0<=mxUtils.indexOf(a.dataTransfer.types,"text/html")){var l= +a.dataTransfer.getData("text/html"),c=document.createElement("div");c.innerHTML=l;var k=null,d=c.getElementsByTagName("img");null!=d&&1==d.length?(l=d[0].getAttribute("src"),/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(l)||(k=!0)):(c=c.getElementsByTagName("a"),null!=c&&1==c.length&&(l=c[0].getAttribute("href")));var n=!0,q=mxUtils.bind(this,function(){b.setSelectionCells(this.insertTextAt(l,f,g,!0,k,null,n))});k&&l.length>this.resampleThreshold?this.confirmImageResize(function(a){n=a;q()},mxEvent.isControlDown(a)): +q()}else null!=h&&/\.(gif|jpg|jpeg|tiff|png|svg)$/i.test(h)?this.loadImage(decodeURIComponent(h),mxUtils.bind(this,function(a){var c=Math.max(1,a.width);a=Math.max(1,a.height);var d=this.maxImageSize,d=Math.min(1,Math.min(d/Math.max(1,c)),d/Math.max(1,a));b.setSelectionCell(b.insertVertex(null,null,"",f,g,c*d,a*d,"shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image="+h+";"))}),mxUtils.bind(this,function(a){b.setSelectionCells(this.insertTextAt(h, +f,g,!0))})):0<=mxUtils.indexOf(a.dataTransfer.types,"text/plain")&&b.setSelectionCells(this.insertTextAt(a.dataTransfer.getData("text/plain"),f,g,!0))}}a.stopPropagation();a.preventDefault()}),!1)}this.initPages();"1"==urlParams.embed&&this.initializeEmbedMode();this.installSettings()};EditorUi.prototype.getLinkTitle=function(a){var c=Graph.prototype.getLinkTitle.apply(this,arguments);if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");0<b&&(c=this.getPageById(a.substring(b+1)),c=null!=c? +c.getName():mxResources.get("pageNotFound"))}else"data:"==a.substring(0,5)&&(c=mxResources.get("action"));return c};EditorUi.prototype.handleCustomLink=function(a){if("data:page/id,"==a.substring(0,13)){var c=a.indexOf(",");(a=this.getPageById(a.substring(c+1)))&&this.selectPage(a)}else this.editor.graph.handleCustomLink(a)};EditorUi.prototype.isSettingsEnabled=function(){return"undefined"!==typeof window.mxSettings&&(isLocalStorage||mxClient.IS_CHROMEAPP)};EditorUi.prototype.installSettings=function(){if(this.isSettingsEnabled()){ColorDialog.recentColors= mxSettings.getRecentColors();this.editor.graph.currentEdgeStyle=mxSettings.getCurrentEdgeStyle();this.editor.graph.currentVertexStyle=mxSettings.getCurrentVertexStyle();this.fireEvent(new mxEventObject("styleChanged","keys",[],"values",[],"cells",[]));this.addListener("styleChanged",mxUtils.bind(this,function(a,b){mxSettings.setCurrentEdgeStyle(this.editor.graph.currentEdgeStyle);mxSettings.setCurrentVertexStyle(this.editor.graph.currentVertexStyle);mxSettings.save()}));this.editor.graph.connectionHandler.setCreateTarget(mxSettings.isCreateTarget()); this.fireEvent(new mxEventObject("copyConnectChanged"));this.addListener("copyConnectChanged",mxUtils.bind(this,function(a,b){mxSettings.setCreateTarget(this.editor.graph.connectionHandler.isCreateTarget());mxSettings.save()}));this.editor.graph.pageFormat=mxSettings.getPageFormat();this.addListener("pageFormatChanged",mxUtils.bind(this,function(a,b){mxSettings.setPageFormat(this.editor.graph.pageFormat);mxSettings.save()}));this.editor.graph.view.gridColor=mxSettings.getGridColor();this.addListener("gridColorChanged", mxUtils.bind(this,function(a,b){mxSettings.setGridColor(this.editor.graph.view.gridColor);mxSettings.save()}));if(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)this.editor.addListener("autosaveChanged",mxUtils.bind(this,function(a,b){mxSettings.setAutosave(this.editor.autosave);mxSettings.save()})),this.editor.autosave=mxSettings.getAutosave();null!=this.sidebar&&this.sidebar.showPalette("search",mxSettings.settings.search);this.editor.chromeless&&!this.editor.editable||null==this.sidebar||!(mxSettings.settings.isNew|| -8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var d=this.editor.graph;if(d.isSelectionEmpty())a.innerHTML="";else{var c=mxUtils.sortCells(d.model.getTopmostCells(d.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(c));mxUtils.setTextContent(a,encodeURIComponent(e));b?(d.removeCells(c, -!1),d.lastPasteXml=null):(d.lastPasteXml=e,d.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var d=b.getElementsByTagName("span");if(null!=d&&0<d.length&&"application/vnd.lucid.chart.objects"===d[0].getAttribute("data-lucid-type")){var c=d[0].getAttribute("data-lucid-content");null!=c&&0<c.length&&(this.importLucidChart(c,0,0),mxEvent.consume(a))}else{var c=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS|| -8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var d=b.getElementsByTagName("span"),l=null!=d&&0<d.length?mxUtils.trim(decodeURIComponent(d[0].textContent)):decodeURIComponent(e);this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}c.lastPasteXml==e?c.pasteCounter++:(c.lastPasteXml=e,c.pasteCounter=0);d=c.pasteCounter*c.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?c.setSelectionCells(this.importXml(e, -d,d)):(f=c.getInsertPoint(),c.isMouseInsertPoint()&&(d=0,c.lastPasteXml==e&&0<c.pasteCounter&&c.pasteCounter--),c.setSelectionCells(this.insertTextAt(e,f.x+d,f.y+d,!0))),!c.isSelectionEmpty())){c.scrollCellToVisible(c.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(c.view.getState(c.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var b=null,d=0;d<a.length;d++)mxEvent.addListener(a[d],"dragleave", -function(a){null!=b&&(b.parentNode.removeChild(b),b=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[d],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==b&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(b=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[d],"drop",mxUtils.bind(this,function(a){null!=b&&(b.parentNode.removeChild(b),b=null);if(this.editor.graph.isEnabled()|| -"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var d=this.extractGraphModelFromEvent(a);if(null==d){var c=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=c&&(10==document.documentMode||11==document.documentMode?d=c.getData("Text"):(d=null,d=0<=mxUtils.indexOf(c.types, -"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(c.types,"text/html")?c.getData("text/html"):null,null!=d&&0<d.length?(c=document.createElement("div"),c.innerHTML=d,c=c.getElementsByTagName("img"),0<c.length&&(d=c[0].getAttribute("src"))):0<=mxUtils.indexOf(c.types,"text/plain")&&(d=c.getData("text/plain"))),null!=d&&("data:image/png;base64,"==d.substring(0,22)?(d=this.extractGraphModelFromPng(d),null!=d&&0<d.length&&this.openLocalFile(d,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(d)? -(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(d))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(d)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(d):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(d)))))}else this.openLocalFile(d,null,!0)}a.stopPropagation();a.preventDefault()}))}; -EditorUi.prototype.highlightElement=function(a){var b=0,d=0,c,e;if(null==a){e=document.body;var h=document.documentElement;c=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,d=a.offsetLeft,c=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=d+"px";h.style.width= -Math.max(0,c-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var d=new mxCodec(b.ownerDocument),c=new mxGraphModel;d.decode(b,c);b=c.getChildAt(c.getRoot(),0);for(d=0;d<c.getChildCount(b);d++)a.push(c.getChildAt(b,d))}return a};EditorUi.prototype.openFiles= -function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var d=0;d<a.length;d++)mxUtils.bind(this,function(a){var d=new FileReader;d.onload=mxUtils.bind(this,function(d){var c=d.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&& -"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(c,e))this.parseFile(a,mxUtils.bind(this, -function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==c.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(c,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()})); -else if("<mxlibrary"==d.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,d.target.result,a.name))}catch(u){this.handleError(u,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(c=this.extractGraphModelFromPng(c)),this.spinner.stop(),this.openLocalFile(c,e,b)}});d.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); -this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?d.readAsDataURL(a):d.readAsText(a)})(a[d])};EditorUi.prototype.openLocalFile=function(a,b,c){var d=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var d=mxUtils.parseXml(a);null!=d&&(this.editor.setGraphXml(d.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, -b||this.defaultFilename,c))});null!=a&&0<a.length&&(null==d||!d.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=d&&d.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"), -null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],c;for(c in a)b.push(c);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function d(a){if(null!=a){var d=a.lastIndexOf(".");0<d&&(a=a.substring(d+1, -a.length));null==b[a]&&(b[a]=!0)}}var c=this.editor.graph,e=c.getCellStyle(a);d(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));c.model.isEdge(a)&&(d(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),d(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=c.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(c.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility= +8>=parseInt(mxSettings.settings.version||0))||(this.toggleScratchpad(),mxSettings.save());this.addListener("formatWidthChanged",function(){mxSettings.setFormatWidth(this.formatWidth);mxSettings.save()})}};EditorUi.prototype.copyCells=function(a,b){var c=this.editor.graph;if(c.isSelectionEmpty())a.innerHTML="";else{var d=mxUtils.sortCells(c.model.getTopmostCells(c.getSelectionCells())),e=mxUtils.getXml(this.editor.graph.encodeCells(d));mxUtils.setTextContent(a,encodeURIComponent(e));b?(c.removeCells(d, +!1),c.lastPasteXml=null):(c.lastPasteXml=e,c.pasteCounter=0);a.focus();document.execCommand("selectAll",!1,null)}};EditorUi.prototype.pasteCells=function(a,b){if(!mxEvent.isConsumed(a)){var c=b.getElementsByTagName("span");if(null!=c&&0<c.length&&"application/vnd.lucid.chart.objects"===c[0].getAttribute("data-lucid-type")){var d=c[0].getAttribute("data-lucid-content");null!=d&&0<d.length&&(this.importLucidChart(d,0,0),mxEvent.consume(a))}else{var d=this.editor.graph,e=mxUtils.trim(mxClient.IS_QUIRKS|| +8==document.documentMode?mxUtils.getTextContent(b):b.textContent),f=!1;try{var k=e.lastIndexOf("%3E");0<=k&&k<e.length-3&&(e=e.substring(0,k+3))}catch(w){}try{var c=b.getElementsByTagName("span"),l=null!=c&&0<c.length?mxUtils.trim(decodeURIComponent(c[0].textContent)):decodeURIComponent(e);this.isCompatibleString(l)&&(f=!0,e=l)}catch(w){}d.lastPasteXml==e?d.pasteCounter++:(d.lastPasteXml=e,d.pasteCounter=0);c=d.pasteCounter*d.gridSize;if(null!=e&&0<e.length&&(f||this.isCompatibleString(e)?d.setSelectionCells(this.importXml(e, +c,c)):(f=d.getInsertPoint(),d.isMouseInsertPoint()&&(c=0,d.lastPasteXml==e&&0<d.pasteCounter&&d.pasteCounter--),d.setSelectionCells(this.insertTextAt(e,f.x+c,f.y+c,!0))),!d.isSelectionEmpty())){d.scrollCellToVisible(d.getSelectionCell());null!=this.hoverIcons&&this.hoverIcons.update(d.view.getState(d.getSelectionCell()));try{mxEvent.consume(a)}catch(w){}}}}};EditorUi.prototype.addFileDropHandler=function(a){if(Graph.fileSupport)for(var c=null,b=0;b<a.length;b++)mxEvent.addListener(a[b],"dragleave", +function(a){null!=c&&(c.parentNode.removeChild(c),c=null);a.stopPropagation();a.preventDefault()}),mxEvent.addListener(a[b],"dragover",mxUtils.bind(this,function(a){(this.editor.graph.isEnabled()||"1"!=urlParams.embed)&&null==c&&(!mxClient.IS_IE||10<document.documentMode&&12>document.documentMode)&&(c=this.highlightElement());a.stopPropagation();a.preventDefault()})),mxEvent.addListener(a[b],"drop",mxUtils.bind(this,function(a){null!=c&&(c.parentNode.removeChild(c),c=null);if(this.editor.graph.isEnabled()|| +"1"!=urlParams.embed)if(0<a.dataTransfer.files.length)this.hideDialog(),"1"==urlParams.embed?this.importFiles(a.dataTransfer.files,0,0,this.maxImageSize,null,null,null,null,!mxEvent.isControlDown(a)&&!mxEvent.isShiftDown(a)):this.openFiles(a.dataTransfer.files,!0);else{var b=this.extractGraphModelFromEvent(a);if(null==b){var d=null!=a.dataTransfer?a.dataTransfer:a.clipboardData;null!=d&&(10==document.documentMode||11==document.documentMode?b=d.getData("Text"):(b=null,b=0<=mxUtils.indexOf(d.types, +"text/uri-list")?a.dataTransfer.getData("text/uri-list"):0<=mxUtils.indexOf(d.types,"text/html")?d.getData("text/html"):null,null!=b&&0<b.length?(d=document.createElement("div"),d.innerHTML=b,d=d.getElementsByTagName("img"),0<d.length&&(b=d[0].getAttribute("src"))):0<=mxUtils.indexOf(d.types,"text/plain")&&(b=d.getData("text/plain"))),null!=b&&("data:image/png;base64,"==b.substring(0,22)?(b=this.extractGraphModelFromPng(b),null!=b&&0<b.length&&this.openLocalFile(b,null,!0)):!this.isOffline()&&this.isRemoteFileFormat(b)? +(new mxXmlRequest(OPEN_URL,"format=xml&data="+encodeURIComponent(b))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()&&this.openLocalFile(a.getText(),null,!0)})):/^https?:\/\//.test(b)&&(null==this.getCurrentFile()?window.location.hash="#U"+encodeURIComponent(b):window.openWindow((mxClient.IS_CHROMEAPP?"https://www.draw.io/":"https://"+location.host+"/")+window.location.search+"#U"+encodeURIComponent(b)))))}else this.openLocalFile(b,null,!0)}a.stopPropagation();a.preventDefault()}))}; +EditorUi.prototype.highlightElement=function(a){var b=0,c=0,d,e;if(null==a){e=document.body;var h=document.documentElement;d=(e.clientWidth||h.clientWidth)-3;e=Math.max(e.clientHeight||0,h.clientHeight)-3}else b=a.offsetTop,c=a.offsetLeft,d=a.clientWidth,e=a.clientHeight;h=document.createElement("div");h.style.zIndex=mxPopupMenu.prototype.zIndex+2;h.style.border="3px dotted rgb(254, 137, 12)";h.style.pointerEvents="none";h.style.position="absolute";h.style.top=b+"px";h.style.left=c+"px";h.style.width= +Math.max(0,d-3)+"px";h.style.height=Math.max(0,e-3)+"px";null!=a&&a.parentNode==this.editor.graph.container?this.editor.graph.container.appendChild(h):document.body.appendChild(h);return h};EditorUi.prototype.stringToCells=function(a){a=mxUtils.parseXml(a);var b=this.editor.extractGraphModel(a.documentElement);a=[];if(null!=b){var c=new mxCodec(b.ownerDocument),d=new mxGraphModel;c.decode(b,d);b=d.getChildAt(d.getRoot(),0);for(c=0;c<d.getChildCount(b);c++)a.push(d.getChildAt(b,c))}return a};EditorUi.prototype.openFiles= +function(a,b){if(this.spinner.spin(document.body,mxResources.get("loading")))for(var c=0;c<a.length;c++)mxUtils.bind(this,function(a){var c=new FileReader;c.onload=mxUtils.bind(this,function(c){var d=c.target.result,e=a.name;if(null!=e&&0<e.length){!this.useCanvasForExport&&/(\.png)$/i.test(e)&&(e=e.substring(0,e.length-4)+".xml");var f=mxUtils.bind(this,function(a){e=0<=e.lastIndexOf(".")?e.substring(0,e.lastIndexOf("."))+".xml":e+".xml";if("<mxlibrary"==a.substring(0,10)){null==this.getCurrentFile()&& +"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,a,e))}catch(y){this.handleError(y,mxResources.get("errorLoadingFile"))}}else this.openLocalFile(a,e,b)});if(/(\.vsdx?)($|\?)/i.test(e)||/(\.vssx)($|\?)/i.test(e))this.importVisio(a,mxUtils.bind(this,function(a){this.spinner.stop();f(a)}));else if(Graph.fileSupport&&!this.isOffline()&&(new XMLHttpRequest).upload&&this.isRemoteFileFormat(d,e))this.parseFile(a,mxUtils.bind(this, +function(a){4==a.readyState&&(this.spinner.stop(),200<=a.status&&299>=a.status?f(a.responseText):this.handleError({message:mxResources.get(413==a.status?"drawingTooLarge":"invalidOrMissingFile")},mxResources.get("errorLoadingFile")))}));else if('{"state":"{\\"Properties\\":'==d.substring(0,26))/(\.json)$/i.test(e)&&(e=e.substring(0,e.length-5)+".xml"),this.openLocalFile(this.emptyDiagramXml,e,b),this.importLucidChart(d,0,0,null,mxUtils.bind(this,function(){this.editor.undoManager.clear();this.spinner.stop()})); +else if("<mxlibrary"==c.target.result.substring(0,10)){this.spinner.stop();null==this.getCurrentFile()&&"1"!=urlParams.embed&&this.openLocalFile(this.emptyDiagramXml,this.defaultFilename,b);try{this.loadLibrary(new LocalLibrary(this,c.target.result,a.name))}catch(q){this.handleError(q,mxResources.get("errorLoadingFile"))}}else"image/png"==a.type.substring(0,9)&&(d=this.extractGraphModelFromPng(d)),this.spinner.stop(),this.openLocalFile(d,e,b)}});c.onerror=mxUtils.bind(this,function(a){this.spinner.stop(); +this.handleError(a);window.openFile=null});"image"===a.type.substring(0,5)&&"image/svg"!==a.type.substring(0,9)?c.readAsDataURL(a):c.readAsText(a)})(a[c])};EditorUi.prototype.openLocalFile=function(a,b,d){var c=this.getCurrentFile(),e=mxUtils.bind(this,function(){window.openFile=null;if(null==b&&null!=this.getCurrentFile()&&this.isDiagramEmpty()){var c=mxUtils.parseXml(a);null!=c&&(this.editor.setGraphXml(c.documentElement),this.editor.graph.selectAll())}else this.fileLoaded(new LocalFile(this,a, +b||this.defaultFilename,d))});null!=a&&0<a.length&&(null==c||!c.isModified()&&(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)?e():(mxClient.IS_CHROMEAPP||EditorUi.isElectronApp)&&null!=c&&c.isModified()?this.confirm(mxResources.get("allChangesLost"),null,e,mxResources.get("cancel"),mxResources.get("discardChanges")):(window.openFile=new OpenFile(function(){window.openFile=null}),window.openFile.setData(a,b),window.openWindow(this.getUrl(),null,mxUtils.bind(this,function(){this.confirm(mxResources.get("allChangesLost"), +null,e,mxResources.get("cancel"),mxResources.get("discardChanges"))}))))};EditorUi.prototype.getBasenames=function(){var a={};if(null!=this.pages)for(var b=0;b<this.pages.length;b++)this.updatePageRoot(this.pages[b]),this.addBasenamesForCell(this.pages[b].root,a);else this.addBasenamesForCell(this.editor.graph.model.getRoot(),a);var b=[],d;for(d in a)b.push(d);return b};EditorUi.prototype.addBasenamesForCell=function(a,b){function c(a){if(null!=a){var c=a.lastIndexOf(".");0<c&&(a=a.substring(c+1, +a.length));null==b[a]&&(b[a]=!0)}}var d=this.editor.graph,e=d.getCellStyle(a);c(mxStencilRegistry.getBasenameForStencil(e[mxConstants.STYLE_SHAPE]));d.model.isEdge(a)&&(c(mxMarker.getPackageForType(e[mxConstants.STYLE_STARTARROW])),c(mxMarker.getPackageForType(e[mxConstants.STYLE_ENDARROW])));for(var e=d.model.getChildCount(a),f=0;f<e;f++)this.addBasenamesForCell(d.model.getChildAt(a,f),b)};EditorUi.prototype.setGraphEnabled=function(a){this.diagramContainer.style.visibility=a?"":"hidden";this.formatContainer.style.visibility= a?"":"hidden";this.sidebarFooterContainer.style.display=a?"":"none";this.sidebarContainer.style.display=a?"":"none";this.hsplit.style.display=a?"":"none";this.editor.graph.setEnabled(a);null!=this.tabContainer&&(this.tabContainer.style.visibility=a?"":"hidden");a||(null!=this.actions.outlineWindow&&this.actions.outlineWindow.window.setVisible(!1),null!=this.actions.layersWindow&&this.actions.layersWindow.window.setVisible(!1),null!=this.menus.tagsWindow&&this.menus.tagsWindow.window.setVisible(!1), -null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,c){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&& -this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=c?c:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? -this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,d=!1,c=!1,e=null,h=mxUtils.bind(this,function(a, +null!=this.menus.findWindow&&this.menus.findWindow.window.setVisible(!1))};EditorUi.prototype.initializeEmbedMode=function(){this.setGraphEnabled(!1);(window.opener||window.parent)!=window&&("1"!=urlParams.spin||this.spinner.spin(document.body,mxResources.get("loading")))&&this.installMessageHandler(mxUtils.bind(this,function(a,b,d){this.spinner.stop();this.addEmbedButtons();this.setGraphEnabled(!0);null!=a&&0<a.length?(this.setFileData(a),this.editor.isChromelessView()?this.editor.graph.isLightboxView()&& +this.lightboxFit():this.showLayersDialog(),this.chromelessResize&&this.chromelessResize()):(this.editor.graph.model.clear(),this.editor.fireEvent(new mxEventObject("resetGraphView")));this.editor.undoManager.clear();this.editor.modified=null!=d?d:!1;this.updateUi();window.self!==window.top&&window.focus();null!=this.format&&this.format.refresh()}))};EditorUi.prototype.showLayersDialog=function(){1<this.editor.graph.getModel().getChildCount(this.editor.graph.getModel().getRoot())&&(null==this.actions.layersWindow? +this.actions.get("layers").funct():this.actions.layersWindow.window.setVisible(!0))};EditorUi.prototype.getPublicUrl=function(a,b){null!=a?a.getPublicUrl(b):b(null)};EditorUi.prototype.createLoadMessage=function(a){var b=this.editor.graph;return{event:a,pageVisible:b.pageVisible,translate:b.view.translate,scale:b.view.scale,page:b.view.getBackgroundPageBounds(),bounds:b.getGraphBounds()}};EditorUi.prototype.installMessageHandler=function(a){var b=null,c=!1,d=!1,e=null,h=mxUtils.bind(this,function(a, b){this.editor.modified&&"0"!=urlParams.modified?null!=urlParams.modified&&this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(urlParams.modified))):this.editor.setStatus("")});this.editor.graph.model.addListener(mxEvent.CHANGE,h);mxEvent.addListener(window,"message",mxUtils.bind(this,function(f){function g(a){if(null!=a&&"function"===typeof a.charAt&&"<"!=a.charAt(0))try{"data:image/svg+xml;base64,"==a.substring(0,26)?a=atob(a.substring(26)):"data:image/svg+xml;utf8,"==a.substring(0,24)&& -(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(J){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(D){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&& -(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var n=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(n.container,300,80,!0,!1);n.init();return}if("draft"==h.action){n=null;n="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml); -this.spinner.stop();n=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),n,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog(); -k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(n.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{n.init()}catch(D){k.postMessage(JSON.stringify({event:"draft",error:D.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var n=1==h.enableRecent,l=1==h.enableSearch,n=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,d){b=b||this.emptyDiagramXml;null!=h.callback? -k.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:d}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,n?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,l?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,d){k.postMessage(JSON.stringify({event:"template", -docUrl:a,info:b,name:d}),"*")});this.showDialog(n.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));n.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message)); -null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var p=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var q=this.editor.graph, -r=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));q!=this.editor.graph&&q.container.parentNode.removeChild(q.container);r(a)});if(this.isExportToCanvas()){if(null!= -this.pages&&this.currentPage!=this.pages[0]){var q=this.createTemporaryGraph(q.getStylesheet()),v=q.getGlobalVariable,A=this.pages[0];q.getGlobalVariable=function(a){return"page"==a?A.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(q.container);q.model.setRoot(A.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,q)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ -("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?r("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))n=this.getXmlFileData(),m.xml=mxUtils.getXml(n),m.data= -this.getFileData(null,null,!0,null,null,null,n),m.format=h.format;else if("html"==h.format)p=this.editor.getGraphXml(),m.data=this.getHtml(p,this.editor.graph),m.xml=mxUtils.getXml(p),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;n=this.editor.graph.background;n==mxConstants.NONE&&(n=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1), -"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(n),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}n="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0), -this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(n));m.data=this.createSvgDataUri(n)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)c=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(n=document.createElement("span"),mxUtils.write(n,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= -"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(n),this.embedFilenameSpan=n),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage", -data:JSON.stringify(h)}),"*");return}}}h=g(h);d=!0;try{a(h,f)}catch(D){this.handleError(D)}d=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();c&&null==b&&(b=mxUtils.bind(this,function(a,b){var c=N();if(c!=e&&!d){var f=this.createLoadMessage("autosave");f.xml=c;c=JSON.stringify(f);(window.opener||window.parent).postMessage(c, -"*")}e=c}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", +(a=a.substring(24)),null!=a&&("%"==a.charAt(0)?a=decodeURIComponent(a):"<"!=a.charAt(0)&&(a=this.editor.graph.decompress(a)))}catch(I){}return a}if(f.source==(window.opener||window.parent)){var h=f.data;if("json"==urlParams.proto){try{h=JSON.parse(h)}catch(C){h=null}if(null==h)return;if("dialog"==h.action){this.showError(null!=h.titleKey?mxResources.get(h.titleKey):h.title,null!=h.messageKey?mxResources.get(h.messageKey):h.message,null!=h.buttonKey?mxResources.get(h.buttonKey):h.button);null!=h.modified&& +(this.editor.modified=h.modified);return}if("prompt"==h.action){this.spinner.stop();var l=new FilenameDialog(this,h.defaultValue||"",null!=h.okKey?mxResources.get(h.okKey):null,function(a){null!=a&&k.postMessage(JSON.stringify({event:"prompt",value:a,message:h}),"*")},null!=h.titleKey?mxResources.get(h.titleKey):h.title);this.showDialog(l.container,300,80,!0,!1);l.init();return}if("draft"==h.action){l=null;l="data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):g(h.xml); +this.spinner.stop();l=new DraftDialog(this,mxResources.get("draftFound",[h.name||this.defaultFilename]),l,mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"edit",message:h}),"*")}),mxUtils.bind(this,function(){this.hideDialog();k.postMessage(JSON.stringify({event:"draft",result:"discard",message:h}),"*")}),h.editKey?mxResources.get(h.editKey):null,h.discardKey?mxResources.get(h.discardKey):null,h.ignore?mxUtils.bind(this,function(){this.hideDialog(); +k.postMessage(JSON.stringify({event:"draft",result:"ignore",message:h}),"*")}):null);this.showDialog(l.container,640,480,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));try{l.init()}catch(C){k.postMessage(JSON.stringify({event:"draft",error:C.toString(),message:h}),"*")}return}if("template"==h.action){this.spinner.stop();var l=1==h.enableRecent,n=1==h.enableSearch,l=new NewDialog(this,!1,null!=h.callback,mxUtils.bind(this,function(b,c){b=b||this.emptyDiagramXml;null!=h.callback? +k.postMessage(JSON.stringify({event:"template",xml:b,blank:b==this.emptyDiagramXml,name:c}),"*"):(a(b,f,b!=this.emptyDiagramXml),this.editor.modified||this.editor.setStatus(""))}),null,null,null,null,null,null,null,l?mxUtils.bind(this,function(a){this.recentReadyCallback=a;k.postMessage(JSON.stringify({event:"recentDocs"}),"*")}):null,n?mxUtils.bind(this,function(a,b){this.searchReadyCallback=b;k.postMessage(JSON.stringify({event:"searchDocs",searchStr:a}),"*")}):null,function(a,b,c){k.postMessage(JSON.stringify({event:"template", +docUrl:a,info:b,name:c}),"*")});this.showDialog(l.container,620,440,!0,!1,mxUtils.bind(this,function(a){a&&this.actions.get("exit").funct()}));l.init();return}if("searchDocsList"==h.action)this.searchReadyCallback(h.list,h.errorMsg);else if("recentDocsList"==h.action)this.recentReadyCallback(h.list,h.errorMsg);else{if("status"==h.action){null!=h.messageKey?this.editor.setStatus(mxUtils.htmlEntities(mxResources.get(h.messageKey))):null!=h.message&&this.editor.setStatus(mxUtils.htmlEntities(h.message)); +null!=h.modified&&(this.editor.modified=h.modified);return}if("spinner"==h.action){var m=null!=h.messageKey?mxResources.get(h.messageKey):h.message;null==h.show||h.show?this.spinner.spin(document.body,m):this.spinner.stop();return}if("export"==h.action){if("png"==h.format||"xmlpng"==h.format){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin)){var p=null!=h.xml?h.xml:this.getFileData(!0);this.editor.graph.setEnabled(!1);var r=this.editor.graph, +u=mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();var b=this.createLoadMessage("export");b.format=h.format;b.message=h;b.data=a;b.xml=encodeURIComponent(p);k.postMessage(JSON.stringify(b),"*")}),t=mxUtils.bind(this,function(a){null==a&&(a=Editor.blankImage);"xmlpng"==h.format&&(a=this.writeGraphModelToPng(a,"zTXt","mxGraphModel",atob(this.editor.graph.compress(p))));r!=this.editor.graph&&r.container.parentNode.removeChild(r.container);u(a)});if(this.isExportToCanvas()){if(null!= +this.pages&&this.currentPage!=this.pages[0]){var r=this.createTemporaryGraph(r.getStylesheet()),v=r.getGlobalVariable,B=this.pages[0];r.getGlobalVariable=function(a){return"page"==a?B.getName():"pagenumber"==a?1:v.apply(this,arguments)};document.body.appendChild(r.container);r.model.setRoot(B.root)}this.exportToCanvas(mxUtils.bind(this,function(a){t(a.toDataURL("image/png"))}),null,null,null,mxUtils.bind(this,function(){t(null)}),null,null,null,null,null,null,r)}else(new mxXmlRequest(EXPORT_URL,"format=png&embedXml="+ +("xmlpng"==h.format?"1":"0")+"&base64=1&xml="+encodeURIComponent(encodeURIComponent(p)))).send(mxUtils.bind(this,function(a){200<=a.getStatus()&&299>=a.getStatus()?u("data:image/png;base64,"+a.getText()):t(null)}),mxUtils.bind(this,function(){t(null)}))}}else{null!=h.xml&&0<h.xml.length&&this.setFileData(h.xml);m=this.createLoadMessage("export");if("html2"==h.format||"html"==h.format&&("0"!=urlParams.pages||null!=this.pages&&1<this.pages.length))l=this.getXmlFileData(),m.xml=mxUtils.getXml(l),m.data= +this.getFileData(null,null,!0,null,null,null,l),m.format=h.format;else if("html"==h.format)p=this.editor.getGraphXml(),m.data=this.getHtml(p,this.editor.graph),m.xml=mxUtils.getXml(p),m.format=h.format;else{mxSvgCanvas2D.prototype.foAltText=null;l=this.editor.graph.background;l==mxConstants.NONE&&(l=null);m.xml=this.getFileData(!0);m.format="svg";if(h.embedImages||null==h.embedImages){if(null==h.spin&&null==h.spinKey||this.spinner.spin(document.body,null!=h.spinKey?mxResources.get(h.spinKey):h.spin))this.editor.graph.setEnabled(!1), +"xmlsvg"==h.format?this.getEmbeddedSvg(m.xml,this.editor.graph,null,!0,mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(a);k.postMessage(JSON.stringify(m),"*")})):this.convertImages(this.editor.graph.getSvg(l),mxUtils.bind(this,function(a){this.editor.graph.setEnabled(!0);this.spinner.stop();m.data=this.createSvgDataUri(mxUtils.getXml(a));k.postMessage(JSON.stringify(m),"*")}));return}l="xmlsvg"==h.format?this.getEmbeddedSvg(this.getFileData(!0), +this.editor.graph,null,!0):mxUtils.getXml(this.editor.graph.getSvg(l));m.data=this.createSvgDataUri(l)}k.postMessage(JSON.stringify(m),"*")}return}if("load"==h.action)d=1==h.autosave,this.hideDialog(),null!=h.modified&&null==urlParams.modified&&(urlParams.modified=h.modified),null!=h.saveAndExit&&null==urlParams.saveAndExit&&(urlParams.saveAndExit=h.saveAndExit),null!=h.title&&null!=this.buttonContainer&&(l=document.createElement("span"),mxUtils.write(l,h.title),"atlas"==uiTheme?(this.buttonContainer.style.paddingRight= +"12px",this.buttonContainer.style.paddingTop="12px"):"min"!=uiTheme&&(this.buttonContainer.style.paddingRight="38px",this.buttonContainer.style.paddingTop="6px"),null!=this.embedFilenameSpan&&this.embedFilenameSpan.parentNode.removeChild(this.embedFilenameSpan),this.buttonContainer.appendChild(l),this.embedFilenameSpan=l),h=null!=h.xmlpng?this.extractGraphModelFromPng(h.xmlpng):null!=h.xml&&"data:image/png;base64,"==h.xml.substring(0,22)?this.extractGraphModelFromPng(h.xml):h.xml;else{k.postMessage(JSON.stringify({error:"unknownMessage", +data:JSON.stringify(h)}),"*");return}}}h=g(h);c=!0;try{a(h,f)}catch(C){this.handleError(C)}c=!1;null!=urlParams.modified&&this.editor.setStatus("");var N=mxUtils.bind(this,function(){return"0"!=urlParams.pages||null!=this.pages&&1<this.pages.length?this.getFileData(!0):mxUtils.getXml(this.editor.getGraphXml())});e=N();d&&null==b&&(b=mxUtils.bind(this,function(a,b){var d=N();if(d!=e&&!c){var f=this.createLoadMessage("autosave");f.xml=d;d=JSON.stringify(f);(window.opener||window.parent).postMessage(d, +"*")}e=d}),this.editor.graph.model.addListener(mxEvent.CHANGE,b),this.editor.graph.addListener("gridSizeChanged",b),this.editor.graph.addListener("shadowVisibleChanged",b),this.addListener("pageFormatChanged",b),this.addListener("pageScaleChanged",b),this.addListener("backgroundColorChanged",b),this.addListener("backgroundImageChanged",b),this.addListener("foldingEnabledChanged",b),this.addListener("mathEnabledChanged",b),this.addListener("gridEnabledChanged",b),this.addListener("guidesEnabledChanged", b),this.addListener("pageViewChanged",b));"1"!=urlParams.returnbounds&&"json"!=urlParams.proto||k.postMessage(JSON.stringify(this.createLoadMessage("load")),"*")}}));var k=window.opener||window.parent,h="json"==urlParams.proto?JSON.stringify({event:"init"}):urlParams.ready||"ready";k.postMessage(h,"*")};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.menubar){var a=document.createElement("div");a.style.display="inline-block";a.style.position="absolute";a.style.paddingTop="atlas"==uiTheme? "2px":"3px";a.style.paddingLeft="8px";a.style.paddingBottom="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save"));b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="geBigButton";b.style.fontSize="12px";b.style.padding="4px 6px 4px 6px";b.style.borderRadius="3px";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"), mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title",mxResources.get("saveAndExit")),b.style.fontSize="12px",b.style.marginLeft="6px",b.style.padding="4px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.style.fontSize="12px";b.style.marginLeft="6px";b.style.marginRight= "20px";b.style.padding="4px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("exit").funct()}));a.appendChild(b);this.toolbar.container.appendChild(a);this.toolbar.staticElements.push(a);a.style.right="atlas"!=uiTheme?"52px":"42px"}};EditorUi.prototype.showImportCsvDialog=function(){null==this.importCsvDialog&&(this.importCsvDialog=new TextareaDialog(this,mxResources.get("csv")+":",Editor.defaultCsvValue,mxUtils.bind(this,function(a){this.importCsv(a)}), -null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var d=a.split("\n"),c=[];if(0<d.length){var e={},f=null,k=null,l="",p="auto",r="auto",v=null,E=null,z=40,G=40,C=0,x=this.editor.graph;x.getGraphBounds();for(var H=function(){null!=b?b(Z):(x.setSelectionCells(Z),x.scrollCellToVisible(x.getSelectionCell()))},I=x.getFreeInsertPoint(),A=I.x,N=I.y,I=N,D=null,J= -"auto",R=[],Y=null,aa=null,Q=0;Q<d.length&&"#"==d[Q].charAt(0);){a=d[Q];for(Q++;Q<d.length&&"\\"==a.charAt(a.length-1)&&"#"==d[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(d[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),F=mxUtils.trim(a.substring(S+1));"label"==K?D=x.sanitizeHtml(F):"style"==K?f=F:"identity"==K&&0<F.length&&"-"!=F?k=F:"namespace"==K&&0<F.length&&"-"!=F?l=F:"width"==K?p=F:"height"==K?r=F:"left"==K&&0<F.length? -v=F:"top"==K&&0<F.length?E=F:"ignore"==K?aa=F.split(","):"connect"==K?R.push(JSON.parse(F)):"link"==K?Y=F:"padding"==K?C=parseFloat(F):"edgespacing"==K?z=parseFloat(F):"nodespacing"==K?G=parseFloat(F):"layout"==K&&(J=F)}}}var V=this.editor.csvToArray(d[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==D&&(D="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});x.model.beginUpdate();try{for(L=Q+1;L<d.length;L++){var X=this.editor.csvToArray(d[L]); -if(X.length==V.length){var B=null,W=null!=S?l+X[S]:null;null!=W&&(B=x.model.getCell(W));null==B&&(B=new mxCell(D,new mxGeometry(A,I,0,0),f||"whiteSpace=wrap;html=1;"),B.vertex=!0,B.id=W);for(var P=0;P<X.length;P++)x.setAttributeForCell(B,V[P],X[P]);x.setAttributeForCell(B,"placeholders","1");B.style=x.replacePlaceholders(B,B.style);for(O=0;O<R.length;O++)e[R[O].to][B.getAttribute(R[O].to)]=B;null!=Y&&"link"!=Y&&(x.setLinkForCell(B,B.getAttribute(Y)),x.setAttributeForCell(B,Y,null));x.fireEvent(new mxEventObject("cellsInserted", -"cells",[B]));var da=this.editor.graph.getPreferredSizeForCell(B);B.vertex&&(null!=v&&null!=B.getAttribute(v)&&(B.geometry.x=A+parseFloat(B.getAttribute(v))),null!=E&&null!=B.getAttribute(E)&&(B.geometry.y=N+parseFloat(B.getAttribute(E))),"@"==p.charAt(0)&&null!=B.getAttribute(p.substring(1))?B.geometry.width=parseFloat(B.getAttribute(p.substring(1))):B.geometry.width="auto"==p?da.width+C:parseFloat(p),"@"==r.charAt(0)&&null!=B.getAttribute(r.substring(1))?B.geometry.height=parseFloat(B.getAttribute(r.substring(1))): -B.geometry.height="auto"==r?da.height+C:parseFloat(r),I+=B.geometry.height+G);c.push(x.addCell(B))}}for(var T=c.slice(),Z=c.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<c.length;L++){var B=c[L],na=B.getAttribute(U.from);if(null!=na){x.setAttributeForCell(B,U.from,null);for(var oa=na.split(","),P=0;P<oa.length;P++){var ca=e[U.to][oa[P]];null!=ca&&(D=U.label,null!=U.fromlabel&&(D=(B.getAttribute(U.fromlabel)||"")+(D||"")),null!=U.tolabel&&(D=(D||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(x.insertEdge(null, -null,D||"",U.invert?ca:B,U.invert?B:ca,U.style||x.createCurrentEdgeStyle())),mxUtils.remove(U.invert?B:ca,T))}}}if(null!=aa)for(L=0;L<c.length;L++)for(B=c[L],P=0;P<aa.length;P++)x.setAttributeForCell(B,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(x);ia.spacing=z;var qa=function(){ia.execute(x.getDefaultParent());for(var a=0;a<c.length;a++){var b=x.getCellGeometry(c[a]);b.x=Math.round(x.snap(b.x));b.y=Math.round(x.snap(b.y));"auto"==p&&(b.width=Math.round(x.snap(b.width)));"auto"==r&& -(b.height=Math.round(x.snap(b.height)))}};if("circle"==J){var ea=new mxCircleLayout(x);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(c,a)};this.executeLayout(function(){ea.execute(x.getDefaultParent());qa()},!0,H);H=null}else if("horizontaltree"==J||"verticaltree"==J||"auto"==J&&Z.length==2*c.length-1&&1==T.length){x.view.validate();var fa=new mxCompactTreeLayout(x,"horizontaltree"==J);fa.levelDistance=G;fa.edgeRouting= -!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(x.getDefaultParent(),0<T.length?T[0]:null)},!0,H);H=null}else if("horizontalflow"==J||"verticalflow"==J||"auto"==J&&1==T.length){x.view.validate();var ja=new mxHierarchicalLayout(x,"horizontalflow"==J?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(x.getDefaultParent(),Z);x.moveCells(Z,A,N)},!0,H);H=null}else if("organic"==J||"auto"==J&&Z.length> -c.length){x.view.validate();var ba=new mxFastOrganicLayout(x);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(c,a)};ia=new mxParallelEdgeLayout(x);ia.spacing=z;this.executeLayout(function(){ba.execute(x.getDefaultParent());qa()},!0,H);H=null}this.hideDialog()}finally{x.model.endUpdate()}null!=H&&H()}}catch(ga){this.handleError(ga)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&& -"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var d="?",c;for(c in urlParams)0>mxUtils.indexOf(a,c)&&null!=urlParams[c]&&(b+=d+c+"="+urlParams[c],d="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var d="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),c;for(c in urlParams)0>mxUtils.indexOf(d, -c)&&(a=0==b?a+"?":a+"&",null!=urlParams[c]&&(a+=c+"="+urlParams[c],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,c){a=new LinkDialog(this,a,b,c,!0);this.showDialog(a.container,440,130,!0,!0);a.init()};var p=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=p.apply(this,arguments),d=this.editor.graph,c=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(d.container)&&d.pageVisible&&null!=this.source.minimumGraphSize){var a= -this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return c.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* -a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(d.container)&&null!=this.source.minimumGraphSize){var c=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*c.x))/2)-c.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*c.y))/2)-c.y-5/a))}return new mxPoint(8/a, -8/a)};var h=b.init;b.init=function(){h.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=d.getPageLayout(),b=d.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,d){var c=d.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= -e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(c.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var d=0;null==this.drive&&"function"!==typeof window.DriveClient|| -d++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||d++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||d++;b||null==this.gitHub||d++;b||null==this.trello&&"function"!==typeof window.TrelloClient||d++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&d++;mxClient.IS_IOS||d++;return d};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled(); -this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var c=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!c);this.actions.get("print").setEnabled(!c);this.menus.get("exportAs").setEnabled(!c);this.menus.get("embed").setEnabled(!c);c="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(c);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(c), -this.menus.get("newLibrary").setEnabled(c));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& +null,null,620,430,null,!0,!0,mxResources.get("import")));this.showDialog(this.importCsvDialog.container,640,520,!0,!0);this.importCsvDialog.init()};EditorUi.prototype.importCsv=function(a,b){try{var c=a.split("\n"),d=[];if(0<c.length){var e={},f=null,k=null,l="",m="auto",p="auto",r=null,v=null,z=40,G=40,E=0,x=this.editor.graph;x.getGraphBounds();for(var J=function(){null!=b?b(Z):(x.setSelectionCells(Z),x.scrollCellToVisible(x.getSelectionCell()))},H=x.getFreeInsertPoint(),B=H.x,N=H.y,H=N,C=null,I= +"auto",R=[],Y=null,aa=null,Q=0;Q<c.length&&"#"==c[Q].charAt(0);){a=c[Q];for(Q++;Q<c.length&&"\\"==a.charAt(a.length-1)&&"#"==c[Q].charAt(0);)a=a.substring(0,a.length-1)+mxUtils.trim(c[Q].substring(1)),Q++;if("#"!=a.charAt(1)){var S=a.indexOf(":");if(0<S){var K=mxUtils.trim(a.substring(1,S)),F=mxUtils.trim(a.substring(S+1));"label"==K?C=x.sanitizeHtml(F):"style"==K?f=F:"identity"==K&&0<F.length&&"-"!=F?k=F:"namespace"==K&&0<F.length&&"-"!=F?l=F:"width"==K?m=F:"height"==K?p=F:"left"==K&&0<F.length? +r=F:"top"==K&&0<F.length?v=F:"ignore"==K?aa=F.split(","):"connect"==K?R.push(JSON.parse(F)):"link"==K?Y=F:"padding"==K?E=parseFloat(F):"edgespacing"==K?z=parseFloat(F):"nodespacing"==K?G=parseFloat(F):"layout"==K&&(I=F)}}}var V=this.editor.csvToArray(c[Q]),S=null;if(null!=k)for(var L=0;L<V.length;L++)if(k==V[L]){S=L;break}null==C&&(C="%"+V[0]+"%");if(null!=R)for(var O=0;O<R.length;O++)null==e[R[O].to]&&(e[R[O].to]={});x.model.beginUpdate();try{for(L=Q+1;L<c.length;L++){var X=this.editor.csvToArray(c[L]); +if(X.length==V.length){var A=null,W=null!=S?l+X[S]:null;null!=W&&(A=x.model.getCell(W));null==A&&(A=new mxCell(C,new mxGeometry(B,H,0,0),f||"whiteSpace=wrap;html=1;"),A.vertex=!0,A.id=W);for(var P=0;P<X.length;P++)x.setAttributeForCell(A,V[P],X[P]);x.setAttributeForCell(A,"placeholders","1");A.style=x.replacePlaceholders(A,A.style);for(O=0;O<R.length;O++)e[R[O].to][A.getAttribute(R[O].to)]=A;null!=Y&&"link"!=Y&&(x.setLinkForCell(A,A.getAttribute(Y)),x.setAttributeForCell(A,Y,null));x.fireEvent(new mxEventObject("cellsInserted", +"cells",[A]));var da=this.editor.graph.getPreferredSizeForCell(A);A.vertex&&(null!=r&&null!=A.getAttribute(r)&&(A.geometry.x=B+parseFloat(A.getAttribute(r))),null!=v&&null!=A.getAttribute(v)&&(A.geometry.y=N+parseFloat(A.getAttribute(v))),"@"==m.charAt(0)&&null!=A.getAttribute(m.substring(1))?A.geometry.width=parseFloat(A.getAttribute(m.substring(1))):A.geometry.width="auto"==m?da.width+E:parseFloat(m),"@"==p.charAt(0)&&null!=A.getAttribute(p.substring(1))?A.geometry.height=parseFloat(A.getAttribute(p.substring(1))): +A.geometry.height="auto"==p?da.height+E:parseFloat(p),H+=A.geometry.height+G);d.push(x.addCell(A))}}for(var T=d.slice(),Z=d.slice(),O=0;O<R.length;O++)for(var U=R[O],L=0;L<d.length;L++){var A=d[L],ma=A.getAttribute(U.from);if(null!=ma){x.setAttributeForCell(A,U.from,null);for(var na=ma.split(","),P=0;P<na.length;P++){var ca=e[U.to][na[P]];null!=ca&&(C=U.label,null!=U.fromlabel&&(C=(A.getAttribute(U.fromlabel)||"")+(C||"")),null!=U.tolabel&&(C=(C||"")+(ca.getAttribute(U.tolabel)||"")),Z.push(x.insertEdge(null, +null,C||"",U.invert?ca:A,U.invert?A:ca,U.style||x.createCurrentEdgeStyle())),mxUtils.remove(U.invert?A:ca,T))}}}if(null!=aa)for(L=0;L<d.length;L++)for(A=d[L],P=0;P<aa.length;P++)x.setAttributeForCell(A,mxUtils.trim(aa[P]),null);var ia=new mxParallelEdgeLayout(x);ia.spacing=z;var qa=function(){ia.execute(x.getDefaultParent());for(var a=0;a<d.length;a++){var b=x.getCellGeometry(d[a]);b.x=Math.round(x.snap(b.x));b.y=Math.round(x.snap(b.y));"auto"==m&&(b.width=Math.round(x.snap(b.width)));"auto"==p&& +(b.height=Math.round(x.snap(b.height)))}};if("circle"==I){var ea=new mxCircleLayout(x);ea.resetEdges=!1;var ra=ea.isVertexIgnored;ea.isVertexIgnored=function(a){return ra.apply(this,arguments)||0>mxUtils.indexOf(d,a)};this.executeLayout(function(){ea.execute(x.getDefaultParent());qa()},!0,J);J=null}else if("horizontaltree"==I||"verticaltree"==I||"auto"==I&&Z.length==2*d.length-1&&1==T.length){x.view.validate();var fa=new mxCompactTreeLayout(x,"horizontaltree"==I);fa.levelDistance=G;fa.edgeRouting= +!1;fa.resetEdges=!1;this.executeLayout(function(){fa.execute(x.getDefaultParent(),0<T.length?T[0]:null)},!0,J);J=null}else if("horizontalflow"==I||"verticalflow"==I||"auto"==I&&1==T.length){x.view.validate();var ja=new mxHierarchicalLayout(x,"horizontalflow"==I?mxConstants.DIRECTION_WEST:mxConstants.DIRECTION_NORTH);ja.intraCellSpacing=G;ja.disableEdgeStyle=!1;this.executeLayout(function(){ja.execute(x.getDefaultParent(),Z);x.moveCells(Z,B,N)},!0,J);J=null}else if("organic"==I||"auto"==I&&Z.length> +d.length){x.view.validate();var ba=new mxFastOrganicLayout(x);ba.forceConstant=3*G;ba.resetEdges=!1;var ka=ba.isVertexIgnored;ba.isVertexIgnored=function(a){return ka.apply(this,arguments)||0>mxUtils.indexOf(d,a)};ia=new mxParallelEdgeLayout(x);ia.spacing=z;this.executeLayout(function(){ba.execute(x.getDefaultParent());qa()},!0,J);J=null}this.hideDialog()}finally{x.model.endUpdate()}null!=J&&J()}}catch(ga){this.handleError(ga)}};EditorUi.prototype.getSearch=function(a){var b="";if("1"!=urlParams.offline&& +"1"!=urlParams.demo&&null!=a&&0<window.location.search.length){var c="?",d;for(d in urlParams)0>mxUtils.indexOf(a,d)&&null!=urlParams[d]&&(b+=c+d+"="+urlParams[d],c="&")}else b=window.location.search;return b};EditorUi.prototype.getUrl=function(a){a=null!=a?a:window.location.pathname;var b=0<a.indexOf("?")?1:0;if("1"==urlParams.offline)a+=window.location.search;else{var c="tmp libs clibs state fileId code share notitle data url embed client create title splash".split(" "),d;for(d in urlParams)0>mxUtils.indexOf(c, +d)&&(a=0==b?a+"?":a+"&",null!=urlParams[d]&&(a+=d+"="+urlParams[d],b++))}return a};EditorUi.prototype.showLinkDialog=function(a,b,d){a=new LinkDialog(this,a,b,d,!0);this.showDialog(a.container,480,130,!0,!0);a.init()};var p=EditorUi.prototype.createOutline;EditorUi.prototype.createOutline=function(a){var b=p.apply(this,arguments),c=this.editor.graph,d=b.getSourceGraphBounds;b.getSourceGraphBounds=function(){if(mxUtils.hasScrollbars(c.container)&&c.pageVisible&&null!=this.source.minimumGraphSize){var a= +this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width-2*a.x/b),Math.ceil(this.source.minimumGraphSize.height-2*a.y/b))}return d.apply(this,arguments)};var e=b.getSourceContainerSize;b.getSourceContainerSize=function(){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var a=this.source.getPagePadding(),b=this.source.view.scale;return new mxRectangle(0,0,Math.ceil(this.source.minimumGraphSize.width*b-2* +a.x),Math.ceil(this.source.minimumGraphSize.height*b-2*a.y))}return e.apply(this,arguments)};b.getOutlineOffset=function(a){if(mxUtils.hasScrollbars(c.container)&&null!=this.source.minimumGraphSize){var d=this.source.getPagePadding();return new mxPoint(Math.round(Math.max(0,(b.outline.container.clientWidth/a-(this.source.minimumGraphSize.width-2*d.x))/2)-d.x),Math.round(Math.max(0,(b.outline.container.clientHeight/a-(this.source.minimumGraphSize.height-2*d.y))/2)-d.y-5/a))}return new mxPoint(8/a, +8/a)};var h=b.init;b.init=function(){h.apply(this,arguments);b.outline.view.getBackgroundPageBounds=function(){var a=c.getPageLayout(),b=c.getPageSize();return new mxRectangle(this.scale*(this.translate.x+a.x*b.width),this.scale*(this.translate.y+a.y*b.height),this.scale*a.width*b.width,this.scale*a.height*b.height)};b.outline.view.validateBackgroundPage()};this.editor.addListener("pageSelected",function(a,c){var d=c.getProperty("change"),e=b.source,f=b.outline;f.pageScale=e.pageScale;f.pageFormat= +e.pageFormat;f.background=e.background;f.pageVisible=e.pageVisible;f.background=e.background;var g=mxUtils.getCurrentStyle(e.container);f.container.style.backgroundColor=g.backgroundColor;null!=e.view.backgroundPageShape&&null!=f.view.backgroundPageShape&&(f.view.backgroundPageShape.fill=e.view.backgroundPageShape.fill);b.outline.view.clear(d.previousPage.root,!0);b.outline.view.validate()});return b};EditorUi.prototype.getServiceCount=function(a,b){var c=0;null==this.drive&&"function"!==typeof window.DriveClient|| +c++;b||null==this.dropbox&&"function"!==typeof window.DropboxClient||c++;null==this.oneDrive&&"function"!==typeof window.OneDriveClient||c++;b||null==this.gitHub||c++;b||null==this.trello&&"function"!==typeof window.TrelloClient||c++;a&&isLocalStorage&&("1"==urlParams.browser||mxClient.IS_IOS)&&c++;mxClient.IS_IOS||c++;return c};EditorUi.prototype.updateUi=function(){this.updateButtonContainer();this.updateActionStates();var a=this.getCurrentFile(),b=null!=a||"1"==urlParams.embed&&this.editor.graph.isEnabled(); +this.menus.get("viewPanels").setEnabled(b);this.menus.get("viewZoom").setEnabled(b);var d=("1"!=urlParams.embed||!this.editor.graph.isEnabled())&&(null==a||a.isRestricted());this.actions.get("makeCopy").setEnabled(!d);this.actions.get("print").setEnabled(!d);this.menus.get("exportAs").setEnabled(!d);this.menus.get("embed").setEnabled(!d);d="1"!=urlParams.embed||this.editor.graph.isEnabled();this.menus.get("extras").setEnabled(d);Editor.enableCustomLibraries&&(this.menus.get("openLibraryFrom").setEnabled(d), +this.menus.get("newLibrary").setEnabled(d));a="1"==urlParams.embed&&this.editor.graph.isEnabled()||null!=a&&a.isEditable();this.actions.get("image").setEnabled(b);this.actions.get("zoomIn").setEnabled(b);this.actions.get("zoomOut").setEnabled(b);this.actions.get("resetView").setEnabled(b);this.menus.get("edit").setEnabled(b);this.menus.get("view").setEnabled(b);this.menus.get("importFrom").setEnabled(a);this.menus.get("arrange").setEnabled(a);null!=this.toolbar&&(null!=this.toolbar.edgeShapeMenu&& this.toolbar.edgeShapeMenu.setEnabled(a),null!=this.toolbar.edgeStyleMenu&&this.toolbar.edgeStyleMenu.setEnabled(a));if(this.isAppCache()){var e=applicationCache;if(null!=e&&null==this.offlineStatus){this.offlineStatus=document.createElement("div");this.offlineStatus.className="geItem";this.offlineStatus.style.position="absolute";this.offlineStatus.style.fontSize="8pt";this.offlineStatus.style.top="2px";this.offlineStatus.style.right="12px";this.offlineStatus.style.color="#666";this.offlineStatus.style.margin= "4px";this.offlineStatus.style.padding="2px";this.offlineStatus.style.verticalAlign="middle";this.offlineStatus.innerHTML="";this.menubarContainer.appendChild(this.offlineStatus);mxEvent.addListener(this.offlineStatus,"click",mxUtils.bind(this,function(){var a=this.offlineStatus.getElementsByTagName("img");null!=a&&0<a.length&&this.alert(a[0].getAttribute("title"))}));var e=window.applicationCache,k=null,b=mxUtils.bind(this,function(){var a=e.status,b;a==e.CHECKING&&(a=e.DOWNLOADING);switch(a){case e.UNCACHED:b= "";break;case e.IDLE:b="min"==uiTheme?"":'<img title="draw.io is up to date." border="0" src="'+IMAGE_PATH+'/checkmark.gif"/>';break;case e.DOWNLOADING:b='<img title="Downloading new version..." border="0" src="'+IMAGE_PATH+'/spin.gif"/>';break;case e.UPDATEREADY:b='<img title="'+mxUtils.htmlEntities(mxResources.get("restartForChangeRequired"))+'" border="0" src="'+IMAGE_PATH+'/download.png"/>';break;case e.OBSOLETE:b='<img title="Obsolete" border="0" src="'+IMAGE_PATH+'/clear.gif"/>';break;default:b= '<img title="Unknown" border="0" src="'+IMAGE_PATH+'/clear.gif"/>'}a!=k&&(this.offlineStatus.innerHTML=b,k=a)});mxEvent.addListener(e,"checking",b);mxEvent.addListener(e,"noupdate",b);mxEvent.addListener(e,"downloading",b);mxEvent.addListener(e,"progress",b);mxEvent.addListener(e,"cached",b);mxEvent.addListener(e,"updateready",b);mxEvent.addListener(e,"obsolete",b);mxEvent.addListener(e,"error",b);b()}}else this.updateUserElement()};EditorUi.prototype.updateButtonContainer=function(){};EditorUi.prototype.updateUserElement= -function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var r=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){r.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),c=this.getCurrentFile(),e=null!=c||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=c&&c.isEditable()&& -c.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b); -this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=c);this.actions.get("makeCopy").setEnabled(null!=c&&!c.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("publishLink").setEnabled(null!=c&&!c.isRestricted());this.actions.get("tags").setEnabled(b&&(null==c||!c.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e); -this.actions.get("rename").setEnabled(null!=c&&c.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=c);this.menus.get("publish").setEnabled(null!=c&&!c.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= -null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,c,e,k,h){var d=a.editor.graph;if("xml"==c)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==c)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(d.getSvg(e,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=d.getGraphBounds(),l=Math.floor(g.width*k/d.view.scale),p=Math.floor(g.height* -k/d.view.scale);f.length<=MAX_REQUEST_SIZE&&l*p<MAX_AREA?(a.hideDialog(),a.saveRequest(b,c,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+c+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+l+"&h="+p+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; +function(){};EditorUi.prototype.isDiagramActive=function(){var a=this.getCurrentFile();return null!=a&&a.isEditable()||"1"==urlParams.embed&&this.editor.graph.isEnabled()};var r=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates=function(){r.apply(this,arguments);var a=this.editor.graph,b=this.isDiagramActive(),d=this.getCurrentFile(),e=null!=d||"1"==urlParams.embed;this.actions.get("pageSetup").setEnabled(b);this.actions.get("autosave").setEnabled(null!=d&&d.isEditable()&& +d.isAutosaveOptional());this.actions.get("guides").setEnabled(b);this.actions.get("editData").setEnabled(b);this.actions.get("shadowVisible").setEnabled(b);this.actions.get("connectionArrows").setEnabled(b);this.actions.get("connectionPoints").setEnabled(b);this.actions.get("copyStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("pasteStyle").setEnabled(b&&!a.isSelectionEmpty());this.actions.get("editGeometry").setEnabled(a.getModel().isVertex(a.getSelectionCell()));this.actions.get("createShape").setEnabled(b); +this.actions.get("createRevision").setEnabled(b);this.actions.get("moveToFolder").setEnabled(null!=d);this.actions.get("makeCopy").setEnabled(null!=d&&!d.isRestricted());this.actions.get("editDiagram").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("publishLink").setEnabled(null!=d&&!d.isRestricted());this.actions.get("tags").setEnabled(b&&(null==d||!d.isRestricted()));this.actions.get("find").setEnabled(e);this.actions.get("layers").setEnabled(e);this.actions.get("outline").setEnabled(e); +this.actions.get("rename").setEnabled(null!=d&&d.isRenamable()||"1"==urlParams.embed);this.actions.get("close").setEnabled(null!=d);this.menus.get("publish").setEnabled(null!=d&&!d.isRestricted());a=a.view.getState(a.getSelectionCell());this.actions.get("editShape").setEnabled(b&&null!=a&&null!=a.shape&&null!=a.shape.stencil)};var v=EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.exportDialog&&(this.exportDialog.parentNode.removeChild(this.exportDialog),this.exportDialog= +null);v.apply(this,arguments)};null!=window.ExportDialog&&(ExportDialog.showXmlOption=!1,ExportDialog.showGifOption=!1,ExportDialog.exportFile=function(a,b,d,e,k,h){var c=a.editor.graph;if("xml"==d)a.hideDialog(),a.saveData(b,"xml",mxUtils.getXml(a.editor.getGraphXml()),"text/xml");else if("svg"==d)a.hideDialog(),a.saveData(b,"svg",mxUtils.getXml(c.getSvg(e,k,h)),"image/svg+xml");else{var f=a.getFileData(!0,null,null,null,null,!0),g=c.getGraphBounds(),m=Math.floor(g.width*k/c.view.scale),p=Math.floor(g.height* +k/c.view.scale);f.length<=MAX_REQUEST_SIZE&&m*p<MAX_AREA?(a.hideDialog(),a.saveRequest(b,d,function(a,b){return new mxXmlRequest(EXPORT_URL,"format="+d+"&base64="+(b||"0")+(null!=a?"&filename="+encodeURIComponent(a):"")+"&bg="+(null!=e?e:"none")+"&w="+m+"&h="+p+"&border="+h+"&xml="+encodeURIComponent(f))})):mxUtils.alert(mxResources.get("drawingTooLarge"))}})})();function DiagramPage(a){this.node=a;(null==this.node.hasAttribute&&null==this.node.getAttribute("id")||null!=this.node.hasAttribute&&!this.node.hasAttribute("id"))&&this.node.setAttribute("id",function(){function a(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return a()+a()+"-"+a()+"-"+a()+"-"+a()+"-"+a()+a()+a()}())}DiagramPage.prototype.node=null;DiagramPage.prototype.root=null;DiagramPage.prototype.viewState=null;DiagramPage.prototype.getId=function(){return this.node.getAttribute("id")}; DiagramPage.prototype.getName=function(){return this.node.getAttribute("name")};DiagramPage.prototype.setName=function(a){null==a?this.node.removeAttribute("name"):this.node.setAttribute("name",a)};function RenamePage(a,b,e){this.ui=a;this.page=b;this.previous=this.name=e}RenamePage.prototype.execute=function(){var a=this.page.getName();this.page.setName(this.previous);this.previous=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageRenamed"))}; function MovePage(a,b,e){this.ui=a;this.oldIndex=b;this.newIndex=e}MovePage.prototype.execute=function(){this.ui.pages.splice(this.newIndex,0,this.ui.pages.splice(this.oldIndex,1)[0]);var a=this.oldIndex;this.oldIndex=this.newIndex;this.newIndex=a;this.ui.editor.graph.updatePlaceholders();this.ui.editor.fireEvent(new mxEventObject("pageMoved"))}; function SelectPage(a,b){this.ui=a;this.previousPage=this.page=b;this.neverShown=!0;null!=b&&(this.neverShown=null==b.viewState,this.ui.updatePageRoot(b))} -SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,c=b.graph.compress(e.zapGremlins(mxUtils.getXml(b.getGraphXml(!0))));mxUtils.setTextContent(a.node,c);a.viewState=e.getViewState();a.root=e.model.root;e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.rootChanged(a.root);e.setViewState(a.viewState); -b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.sizeDidChange();this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,b,e,c){SelectPage.call(this,a,e);this.relatedPage=b;this.index=c;this.previousIndex=null} +SelectPage.prototype.execute=function(){var a=mxUtils.indexOf(this.ui.pages,this.previousPage);if(null!=this.page&&0<=a){var a=this.ui.currentPage,b=this.ui.editor,e=b.graph,d=b.graph.compress(e.zapGremlins(mxUtils.getXml(b.getGraphXml(!0))));mxUtils.setTextContent(a.node,d);a.viewState=e.getViewState();a.root=e.model.root;e.view.clear(a.root,!0);e.clearSelection();this.ui.currentPage=this.previousPage;this.previousPage=a;a=this.ui.currentPage;e.model.rootChanged(a.root);e.setViewState(a.viewState); +b.fireEvent(new mxEventObject("setViewState","change",this));e.gridEnabled=e.gridEnabled&&(!this.ui.editor.isChromelessView()||"1"==urlParams.grid);b.updateGraphComponents();e.view.validate();e.sizeDidChange();this.neverShown&&(this.neverShown=!1,e.selectUnlockedLayer());b.graph.fireEvent(new mxEventObject(mxEvent.ROOT));b.fireEvent(new mxEventObject("pageSelected","change",this))}};function ChangePage(a,b,e,d){SelectPage.call(this,a,e);this.relatedPage=b;this.index=d;this.previousIndex=null} mxUtils.extend(ChangePage,SelectPage);ChangePage.prototype.execute=function(){this.ui.editor.fireEvent(new mxEventObject("beforePageChange","change",this));this.previousIndex=this.index;if(null==this.index){var a=mxUtils.indexOf(this.ui.pages,this.relatedPage);this.ui.pages.splice(a,1);this.index=a}else this.ui.pages.splice(this.index,0,this.relatedPage),this.index=null;SelectPage.prototype.execute.apply(this,arguments)}; EditorUi.prototype.getPageById=function(a){if(null!=this.pages)for(var b=0;b<this.pages.length;b++)if(this.pages[b].getId()==a)return this.pages[b];return null}; -EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var c=this.tabContainer.style.height;this.tabContainer.style.height= -null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";c!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,c=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= +EditorUi.prototype.initPages=function(){this.actions.addAction("previousPage",mxUtils.bind(this,function(){this.selectNextPage(!1)}));this.actions.addAction("nextPage",mxUtils.bind(this,function(){this.selectNextPage(!0)}));this.keyHandler.bindAction(33,!0,"previousPage",!0);this.keyHandler.bindAction(34,!0,"nextPage",!0);var a=this.editor.graph,b=a.view.validateBackground;a.view.validateBackground=mxUtils.bind(this,function(){if(null!=this.tabContainer){var d=this.tabContainer.style.height;this.tabContainer.style.height= +null==this.fileNode||null==this.pages||1==this.pages.length&&"0"==urlParams.pages?"0px":"30px";d!=this.tabContainer.style.height&&this.refresh(!1)}b.apply(a.view,arguments)});var e=null,d=mxUtils.bind(this,function(){this.updateTabContainer();var b=this.currentPage;null!=b&&b!=e&&(null==b.viewState||null==b.viewState.scrollLeft?(this.resetScrollbars(),a.isLightboxView()&&this.lightboxFit(),null!=this.chromelessResize&&(a.container.scrollLeft=0,a.container.scrollTop=0,this.chromelessResize())):(a.container.scrollLeft= a.view.translate.x*a.view.scale+b.viewState.scrollLeft,a.container.scrollTop=a.view.translate.y*a.view.scale+b.viewState.scrollTop),e=b);null!=this.actions.layersWindow&&this.actions.layersWindow.refreshLayers();"undefined"!==typeof MathJax&&"undefined"!==typeof MathJax.Hub?1!=MathJax.Hub.queue.pending||null==this.editor||this.editor.graph.mathEnabled||MathJax.Hub.Queue(mxUtils.bind(this,function(){this.editor.graph.refresh()})):"undefined"===typeof Editor.MathJaxClear||null!=this.editor&&this.editor.graph.mathEnabled|| -Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){c();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}; -Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),c=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),l=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== -a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=l&&0<l.length?l:this.defaultGraphBackground,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=c&&null!=k?new mxRectangle(0,0,parseFloat(c),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== +Editor.MathJaxClear()});this.editor.graph.model.addListener(mxEvent.CHANGE,mxUtils.bind(this,function(a,b){for(var e=b.getProperty("edit").changes,k=0;k<e.length;k++)if(e[k]instanceof SelectPage||e[k]instanceof RenamePage||e[k]instanceof MovePage||e[k]instanceof mxRootChange){d();break}}));null!=this.toolbar&&this.editor.addListener("pageSelected",this.toolbar.updateZoom)}; +Graph.prototype.createViewState=function(a){var b=a.getAttribute("page"),e=a.getAttribute("pageScale"),d=a.getAttribute("pageWidth"),k=a.getAttribute("pageHeight"),m=a.getAttribute("background"),p=a.getAttribute("backgroundImage"),p=null!=p&&0<p.length?JSON.parse(p):null;return{gridEnabled:"0"!=a.getAttribute("grid"),gridSize:parseFloat(a.getAttribute("gridSize"))||mxGraph.prototype.gridSize,guidesEnabled:"0"!=a.getAttribute("guides"),foldingEnabled:"0"!=a.getAttribute("fold"),shadowVisible:"1"== +a.getAttribute("shadow"),pageVisible:this.isLightboxView()?!1:null!=b?"0"!=b:this.defaultPageVisible,background:null!=m&&0<m.length?m:this.defaultGraphBackground,backgroundImage:null!=p?new mxImage(p.src,p.width,p.height):null,pageScale:null!=e?e:mxGraph.prototype.pageScale,pageFormat:null!=d&&null!=k?new mxRectangle(0,0,parseFloat(d),parseFloat(k)):this.pageFormat,tooltips:"0"!=a.getAttribute("tooltips"),connect:"0"!=a.getAttribute("connect"),arrows:"0"!=a.getAttribute("arrows"),mathEnabled:"1"== a.getAttribute("math"),selectionCells:null,defaultParent:null,scrollbars:this.defaultScrollbars,scale:1}}; Graph.prototype.getViewState=function(){return{defaultParent:this.defaultParent,currentRoot:this.view.currentRoot,gridEnabled:this.gridEnabled,gridSize:this.gridSize,guidesEnabled:this.graphHandler.guidesEnabled,foldingEnabled:this.foldingEnabled,shadowVisible:this.shadowVisible,scrollbars:this.scrollbars,pageVisible:this.pageVisible,background:this.background,backgroundImage:this.backgroundImage,pageScale:this.pageScale,pageFormat:this.pageFormat,tooltips:this.tooltipHandler.isEnabled(),connect:this.connectionHandler.isEnabled(), arrows:this.connectionArrowsEnabled,scale:this.view.scale,scrollLeft:this.container.scrollLeft-this.view.translate.x*this.view.scale,scrollTop:this.container.scrollTop-this.view.translate.y*this.view.scale,translate:this.view.translate.clone(),lastPasteXml:this.lastPasteXml,pasteCounter:this.pasteCounter,mathEnabled:this.mathEnabled}}; @@ -3015,83 +3022,83 @@ Graph.prototype.setViewState=function(a){null!=a?(this.lastPasteXml=a.lastPasteX a.pageFormat,this.view.scale=a.scale,this.view.currentRoot=a.currentRoot,this.defaultParent=a.defaultParent,this.connectionArrowsEnabled=a.arrows,this.setTooltips(a.tooltips),this.setConnectable(a.connect),this.model.contains(this.view.currentRoot)||(this.view.currentRoot=null),this.model.contains(this.defaultParent)||(this.setDefaultParent(null),this.selectUnlockedLayer()),null!=a.translate&&(this.view.translate=a.translate)):(this.view.currentRoot=null,this.view.scale=1,this.gridEnabled=!0,this.gridSize= mxGraph.prototype.gridSize,this.pageScale=mxGraph.prototype.pageScale,this.pageFormat=mxSettings.getPageFormat(),this.pageVisible=this.defaultPageVisible,this.background=this.defaultGraphBackground,this.backgroundImage=null,this.scrollbars=this.defaultScrollbars,this.foldingEnabled=this.graphHandler.guidesEnabled=!0,this.defaultParent=null,this.setTooltips(!0),this.setConnectable(!0),this.lastPasteXml=null,this.pasteCounter=0,this.mathEnabled=!1,this.connectionArrowsEnabled=!0);this.preferPageSize= this.pageBreaksVisible=this.pageVisible};EditorUi.prototype.updatePageRoot=function(a){if(null==a.root){var b=this.editor.extractGraphModel(a.node);if(null!=b){a.graphModelNode=b;a.viewState=this.editor.graph.createViewState(b);var e=new mxCodec(b.ownerDocument);a.root=e.decode(b).root}else a.root=this.editor.graph.model.createRoot()}return a}; -EditorUi.prototype.selectPage=function(a,b){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var e=this.editor.graph.model.createUndoableEdit();e.ignoreEdit=!0;var c=new SelectPage(this,a);c.execute();e.add(c);e.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",e))}; +EditorUi.prototype.selectPage=function(a,b){this.editor.graph.isEditing()&&this.editor.graph.stopEditing(!1);b=null!=b?b:!1;this.editor.graph.isMouseDown=!1;this.editor.graph.reset();var e=this.editor.graph.model.createUndoableEdit();e.ignoreEdit=!0;var d=new SelectPage(this,a);d.execute();e.add(d);e.notify();this.editor.graph.tooltipHandler.hide();b||this.editor.graph.model.fireEvent(new mxEventObject(mxEvent.UNDO,"edit",e))}; EditorUi.prototype.selectNextPage=function(a){var b=this.currentPage;null!=b&&null!=this.pages&&(b=mxUtils.indexOf(this.pages,b),a?this.selectPage(this.pages[mxUtils.mod(b+1,this.pages.length)]):a||this.selectPage(this.pages[mxUtils.mod(b-1,this.pages.length)]))};EditorUi.prototype.insertPage=function(a,b){if(this.editor.graph.isEnabled()){a=null!=a?a:this.createPage();b=null!=b?b:this.pages.length;var e=new ChangePage(this,a,a,b);this.editor.graph.model.execute(e)}return a}; EditorUi.prototype.createPage=function(a){var b=new DiagramPage(this.fileNode.ownerDocument.createElement("diagram"));b.setName(null!=a?a:this.createPageName());return b};EditorUi.prototype.createPageName=function(){for(var a={},b=0;b<this.pages.length;b++){var e=this.pages[b].getName();null!=e&&0<e.length&&(a[e]=e)}b=this.pages.length;do e=mxResources.get("pageWithNumber",[++b]);while(null!=a[e]);return e}; -EditorUi.prototype.removePage=function(a){var b=this.editor.graph;if(b.isEnabled()){b.model.beginUpdate();try{var e=this.currentPage;if(e==a)if(1<this.pages.length){var c=mxUtils.indexOf(this.pages,a);c==this.pages.length-1?c--:c++;e=this.pages[c]}else e=this.insertPage(),b.model.execute(new RenamePage(this,e,mxResources.get("pageWithNumber",[1])));b.model.execute(new ChangePage(this,a,e))}finally{b.model.endUpdate()}}return a}; -EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,c=null;e.isEnabled()&&(e.isEditing()&&e.stopEditing(),c=a.node.cloneNode(!1),c.removeAttribute("id"),c=new DiagramPage(c),c.root=e.cloneCells([e.model.root])[0],c.viewState=e.getViewState(),c.viewState.scale=1,c.viewState.scrollLeft=null,c.viewState.scrollRight=null,c.setName(b),c=this.insertPage(c,mxUtils.indexOf(this.pages,a)+1));return c}; +EditorUi.prototype.removePage=function(a){var b=this.editor.graph;if(b.isEnabled()){b.model.beginUpdate();try{var e=this.currentPage;if(e==a)if(1<this.pages.length){var d=mxUtils.indexOf(this.pages,a);d==this.pages.length-1?d--:d++;e=this.pages[d]}else e=this.insertPage(),b.model.execute(new RenamePage(this,e,mxResources.get("pageWithNumber",[1])));b.model.execute(new ChangePage(this,a,e))}finally{b.model.endUpdate()}}return a}; +EditorUi.prototype.duplicatePage=function(a,b){var e=this.editor.graph,d=null;e.isEnabled()&&(e.isEditing()&&e.stopEditing(),d=a.node.cloneNode(!1),d.removeAttribute("id"),d=new DiagramPage(d),d.root=e.cloneCells([e.model.root])[0],d.viewState=e.getViewState(),d.viewState.scale=1,d.viewState.scrollLeft=null,d.viewState.scrollRight=null,d.setName(b),d=this.insertPage(d,mxUtils.indexOf(this.pages,a)+1));return d}; EditorUi.prototype.renamePage=function(a){if(this.editor.graph.isEnabled()){var b=new FilenameDialog(this,a.getName(),mxResources.get("rename"),mxUtils.bind(this,function(b){null!=b&&0<b.length&&this.editor.graph.model.execute(new RenamePage(this,a,b))}),mxResources.get("rename"));this.showDialog(b.container,300,80,!0,!0);b.init()}return a};EditorUi.prototype.movePage=function(a,b){this.editor.graph.model.execute(new MovePage(this,a,b))}; EditorUi.prototype.createTabContainer=function(){var a=document.createElement("div");a.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#dcdcdc";a.style.position="absolute";a.style.whiteSpace="nowrap";a.style.overflow="hidden";a.style.height="0px";return a}; -EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,c=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- -e)/this.pages.length)+1),k=null,l=0;l<this.pages.length;l++)mxUtils.bind(this,function(d,c){this.pages[d]==this.currentPage?(c.className="geActivePage",c.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",c.style.fontWeight="bold",c.style.borderTopStyle="none"):c.className="geInactivePage";c.setAttribute("draggable","true");mxEvent.addListener(c,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=d):mxEvent.consume(b)}));mxEvent.addListener(c, -"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(c,"drop",mxUtils.bind(this,function(a){null!=k&&d!=k&&this.movePage(k,d);a.stopPropagation();a.preventDefault()}));b.appendChild(c)})(l,this.createTabForPage(this.pages[l],c,this.pages[l]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b); -c=this.createPageMenuTab();this.tabContainer.appendChild(c);c=null;this.isPageInsertTabVisible()&&(c=this.createPageInsertTab(),this.tabContainer.appendChild(c));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=c&&(c.style.position="absolute",c.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var r=this.createControlTab(4, +EditorUi.prototype.updateTabContainer=function(){if(null!=this.tabContainer&&null!=this.pages){var a=this.editor.graph,b=document.createElement("div");b.style.position="relative";b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.verticalAlign="top";b.style.height=this.tabContainer.style.height;b.style.whiteSpace="nowrap";b.style.overflow="hidden";b.style.fontSize="12px";b.style.marginLeft="30px";for(var e=this.editor.isChromelessView()?29:59,d=Math.min(140,Math.max(20,(this.tabContainer.clientWidth- +e)/this.pages.length)+1),k=null,m=0;m<this.pages.length;m++)mxUtils.bind(this,function(c,d){this.pages[c]==this.currentPage?(d.className="geActivePage",d.style.backgroundColor="dark"==uiTheme?"#2a2a2a":"#eeeeee",d.style.fontWeight="bold",d.style.borderTopStyle="none"):d.className="geInactivePage";d.setAttribute("draggable","true");mxEvent.addListener(d,"dragstart",mxUtils.bind(this,function(b){a.isEnabled()?(mxClient.IS_FF&&b.dataTransfer.setData("Text","<diagram/>"),k=c):mxEvent.consume(b)}));mxEvent.addListener(d, +"dragend",mxUtils.bind(this,function(a){k=null;a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"dragover",mxUtils.bind(this,function(a){null!=k&&(a.dataTransfer.dropEffect="move");a.stopPropagation();a.preventDefault()}));mxEvent.addListener(d,"drop",mxUtils.bind(this,function(a){null!=k&&c!=k&&this.movePage(k,c);a.stopPropagation();a.preventDefault()}));b.appendChild(d)})(m,this.createTabForPage(this.pages[m],d,this.pages[m]!=this.currentPage));this.tabContainer.innerHTML="";this.tabContainer.appendChild(b); +d=this.createPageMenuTab();this.tabContainer.appendChild(d);d=null;this.isPageInsertTabVisible()&&(d=this.createPageInsertTab(),this.tabContainer.appendChild(d));if(b.clientWidth>this.tabContainer.clientWidth-e){null!=d&&(d.style.position="absolute",d.style.right="0px",b.style.marginRight="30px");var p=this.createControlTab(4," ❮ ");p.style.position="absolute";p.style.right=this.editor.chromeless?"29px":"55px";p.style.fontSize="13pt";this.tabContainer.appendChild(p);var r=this.createControlTab(4, " ❯");r.style.position="absolute";r.style.right=this.editor.chromeless?"0px":"29px";r.style.fontSize="13pt";this.tabContainer.appendChild(r);var v=Math.max(0,this.tabContainer.clientWidth-(this.editor.chromeless?86:116));b.style.width=v+"px";mxEvent.addListener(p,"click",mxUtils.bind(this,function(a){b.scrollLeft-=Math.max(20,v-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}));mxUtils.setOpacity(p, 0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.addListener(r,"click",mxUtils.bind(this,function(a){b.scrollLeft+=Math.max(20,v-20);mxUtils.setOpacity(p,0<b.scrollLeft?100:50);mxUtils.setOpacity(r,b.scrollLeft<b.scrollWidth-b.clientWidth?100:50);mxEvent.consume(a)}))}}};EditorUi.prototype.isPageInsertTabVisible=function(){return 1==urlParams.embed||null!=this.getCurrentFile()&&this.getCurrentFile().isEditable()}; EditorUi.prototype.createTab=function(a){var b=document.createElement("div");b.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";b.style.whiteSpace="nowrap";b.style.boxSizing="border-box";b.style.position="relative";b.style.overflow="hidden";b.style.marginLeft="-1px";b.style.height=this.tabContainer.clientHeight+"px";b.style.padding="8px 4px 8px 4px";b.style.border="dark"==uiTheme?"1px solid #505759":"1px solid #c0c0c0";b.style.borderBottomStyle="solid";b.style.backgroundColor=this.tabContainer.style.backgroundColor; b.style.cursor="move";b.style.color="gray";a&&(mxEvent.addListener(b,"mouseenter",mxUtils.bind(this,function(a){this.editor.graph.isMouseDown||(b.style.backgroundColor="dark"==uiTheme?"black":"#d3d3d3",mxEvent.consume(a))})),mxEvent.addListener(b,"mouseleave",mxUtils.bind(this,function(a){b.style.backgroundColor=this.tabContainer.style.backgroundColor;mxEvent.consume(a)})));return b}; EditorUi.prototype.createControlTab=function(a,b){var e=this.createTab(!0);e.style.paddingTop=a+"px";e.style.cursor="pointer";e.style.width="30px";e.style.lineHeight="30px";e.innerHTML=b;null!=e.firstChild&&null!=e.firstChild.style&&mxUtils.setOpacity(e.firstChild,40);return e}; -EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var c=0;c<this.pages.length;c++)mxUtils.bind(this, -function(d){var c=a.addItem(this.pages[d].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[d])}),b);this.pages[d]==this.currentPage&&a.addCheckmark(c,Editor.checkmarkImage)})(c);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"), -null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var c=mxEvent.getClientX(a),k=mxEvent.getClientY(a);b.popup(c,k,null,a);this.setCurrentMenu(b); +EditorUi.prototype.createPageMenuTab=function(){var a=this.createControlTab(3,'<div class="geSprite geSprite-dots" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("pages"));a.style.position="absolute";a.style.top="0px";a.style.left="1px";mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.editor.graph.popupMenuHandler.hideMenu();var b=new mxPopupMenu(mxUtils.bind(this,function(a,b){for(var d=0;d<this.pages.length;d++)mxUtils.bind(this, +function(c){var d=a.addItem(this.pages[c].getName(),null,mxUtils.bind(this,function(){this.selectPage(this.pages[c])}),b);this.pages[c]==this.currentPage&&a.addCheckmark(d,Editor.checkmarkImage)})(d);if(this.editor.graph.isEnabled()){a.addSeparator(b);a.addItem(mxResources.get("insertPage"),null,mxUtils.bind(this,function(){this.insertPage()}),b);var e=this.currentPage;null!=e&&(a.addSeparator(b),a.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(e)}),b),a.addItem(mxResources.get("rename"), +null,mxUtils.bind(this,function(){this.renamePage(e,e.getName())}),b),a.addSeparator(b),a.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(e,mxResources.get("copyOf",[e.getName()]))}),b))}}));b.div.className+=" geMenubarMenu";b.smartSeparators=!0;b.showDisabled=!0;b.autoExpand=!0;b.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(b,arguments);b.destroy()});var d=mxEvent.getClientX(a),k=mxEvent.getClientY(a);b.popup(d,k,null,a);this.setCurrentMenu(b); mxEvent.consume(a)}));return a};EditorUi.prototype.createPageInsertTab=function(){var a=this.createControlTab(4,'<div class="geSprite geSprite-plus" style="display:inline-block;width:21px;height:21px;"></div>');a.setAttribute("title",mxResources.get("insertPage"));mxEvent.addListener(a,"click",mxUtils.bind(this,function(a){this.insertPage();mxEvent.consume(a)}));return a}; -EditorUi.prototype.createTabForPage=function(a,b,e){e=this.createTab(e);var c=a.getName();e.setAttribute("title",c);mxUtils.write(e,c);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; -EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var c=!1,k=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){c=null!=this.currentMenu;k=a==this.currentPage;e.isMouseDown||k||this.selectPage(a)}),null,mxUtils.bind(this,function(l){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(l)&&k||mxEvent.isPopupTrigger(l))){e.popupMenuHandler.hideMenu(); -this.hideCurrentMenu();if(!mxEvent.isTouchEvent(l)||!c){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var r=mxEvent.getClientX(l),v=mxEvent.getClientY(l);p.popup(r,v,null,l);this.setCurrentMenu(p,b)}mxEvent.consume(l)}}))}; -EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,c){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),c);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),c);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),c);e.addSeparator(c);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, -mxResources.get("copyOf",[a.getName()]))}),c)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,e,c){c.setAttribute("page",e.page.getId());return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;return e};a.afterDecode=function(a,e,c){c.page=a.ui.getPageById(e.getAttribute("page"));c.previous=c.name;return c};mxCodecRegistry.register(a)})(); -(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,c){c.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(c.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,c));return c};a.beforeDecode=function(a,e,c){c.ui=a.ui;c.relatedPage=c.ui.getPageById(e.getAttribute("relatedPage"));if(null==c.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage")); -b.setAttribute("name",e.getAttribute("name"));c.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(c.relatedPage.root=a.decodeCell(b,!1),c=b.nextSibling,b.parentNode.removeChild(b),b=c;null!=b;){c=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var l=b.getAttribute("id");null==a.lookup(l)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=c}}return e};a.afterDecode=function(a,e,c){c.index=c.previousIndex;return c};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells; -Graph.prototype.foldCells=function(a,c,e,r,v){c=null!=c?c:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var d=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),l=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(l,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g], -a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=d;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return n.isVertex(a)&&c(a)}function c(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType); +EditorUi.prototype.createTabForPage=function(a,b,e){e=this.createTab(e);var d=a.getName();e.setAttribute("title",d);mxUtils.write(e,d);e.style.maxWidth=b+"px";e.style.width=b+"px";this.addTabListeners(a,e);42<b&&(e.style.textOverflow="ellipsis");return e}; +EditorUi.prototype.addTabListeners=function(a,b){mxEvent.disableContextMenu(b);var e=this.editor.graph;mxEvent.addListener(b,"dblclick",mxUtils.bind(this,function(b){this.renamePage(a);mxEvent.consume(b)}));var d=!1,k=!1;mxEvent.addGestureListeners(b,mxUtils.bind(this,function(b){d=null!=this.currentMenu;k=a==this.currentPage;e.isMouseDown||k||this.selectPage(a)}),null,mxUtils.bind(this,function(m){if(e.isEnabled()&&!e.isMouseDown&&(mxEvent.isTouchEvent(m)&&k||mxEvent.isPopupTrigger(m))){e.popupMenuHandler.hideMenu(); +this.hideCurrentMenu();if(!mxEvent.isTouchEvent(m)||!d){var p=new mxPopupMenu(this.createPageMenu(a));p.div.className+=" geMenubarMenu";p.smartSeparators=!0;p.showDisabled=!0;p.autoExpand=!0;p.hideMenu=mxUtils.bind(this,function(){mxPopupMenu.prototype.hideMenu.apply(p,arguments);this.resetCurrentMenu();p.destroy()});var r=mxEvent.getClientX(m),v=mxEvent.getClientY(m);p.popup(r,v,null,m);this.setCurrentMenu(p,b)}mxEvent.consume(m)}}))}; +EditorUi.prototype.createPageMenu=function(a,b){return mxUtils.bind(this,function(e,d){e.addItem(mxResources.get("insert"),null,mxUtils.bind(this,function(){this.insertPage(null,mxUtils.indexOf(this.pages,a)+1)}),d);e.addItem(mxResources.get("delete"),null,mxUtils.bind(this,function(){this.removePage(a)}),d);e.addItem(mxResources.get("rename"),null,mxUtils.bind(this,function(){this.renamePage(a,b)}),d);e.addSeparator(d);e.addItem(mxResources.get("duplicate"),null,mxUtils.bind(this,function(){this.duplicatePage(a, +mxResources.get("copyOf",[a.getName()]))}),d)})};(function(){var a=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(b){a.apply(this,arguments);this.updateTabContainer()}})();(function(){var a=new mxObjectCodec(new MovePage,["ui"]);a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new RenamePage,["ui","page","previous"]);a.afterEncode=function(a,e,d){d.setAttribute("page",e.page.getId());return d};a.beforeDecode=function(a,e,d){d.ui=a.ui;return e};a.afterDecode=function(a,e,d){d.page=a.ui.getPageById(e.getAttribute("page"));d.previous=d.name;return d};mxCodecRegistry.register(a)})(); +(function(){var a=new mxObjectCodec(new ChangePage,["ui","relatedPage","index","neverShown"]);a.afterEncode=function(a,e,d){d.setAttribute("relatedPage",e.relatedPage.getId());null==e.index&&(d.setAttribute("name",e.relatedPage.getName()),null!=e.relatedPage.root&&a.encodeCell(e.relatedPage.root,d));return d};a.beforeDecode=function(a,e,d){d.ui=a.ui;d.relatedPage=d.ui.getPageById(e.getAttribute("relatedPage"));if(null==d.relatedPage){var b=document.createElement("diagram");b.setAttribute("id",e.getAttribute("relatedPage")); +b.setAttribute("name",e.getAttribute("name"));d.relatedPage=new DiagramPage(b);e=e.cloneNode(!0);b=e.firstChild;if(null!=b)for(d.relatedPage.root=a.decodeCell(b,!1),d=b.nextSibling,b.parentNode.removeChild(b),b=d;null!=b;){d=b.nextSibling;if(b.nodeType==mxConstants.NODETYPE_ELEMENT){var m=b.getAttribute("id");null==a.lookup(m)&&a.decodeCell(b)}b.parentNode.removeChild(b);b=d}}return e};a.afterDecode=function(a,e,d){d.index=d.previousIndex;return d};mxCodecRegistry.register(a)})();(function(){var a=mxClient.IS_SVG?"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAASFBMVEUAAAAAAAB/f3/9/f319fUfHx/7+/s+Pj69vb0AAAAAAAAAAAAAAAAAAAAAAAAAAAB2dnZ1dXUAAAAAAAAVFRX///8ZGRkGBgbOcI1hAAAAE3RSTlMA+vr9/f38+fb1893Bo00u+/tFvPJUBQAAAIRJREFUGNM0jEcSxCAQAxlydGqD///TNWxZBx1aXVIrWysplbapL3sFxgDq/idXBnHgBPK1nIxwc55vCXl6dRFtrV6svs/A/UjsPcpzA5tqyByD92HqQlMFh45BG6ND1DiKSoPDdm96N77bg5F+wyaEqRGb8ZiOwHQqdg9hehszcLAEIQB2lQ4p/sEpnAAAAABJRU5ErkJggg==":IMAGE_PATH+"/move.png",b=Graph.prototype.foldCells; +Graph.prototype.foldCells=function(a,d,e,r,v){d=null!=d?d:!1;null==e&&(e=this.getFoldableCells(this.getSelectionCells(),a));this.stopEditing();this.model.beginUpdate();try{for(var c=e.slice(),f=[],g=0;g<e.length;g++){var k=this.view.getState(e[g]),m=null!=k?k.style:this.getCellStyle(e[g]);"1"==mxUtils.getValue(m,"treeFolding","0")&&(this.traverse(e[g],!0,mxUtils.bind(this,function(a,b){null!=b&&f.push(b);a!=e[g]&&f.push(a);return a==e[g]||!this.model.isCollapsed(a)})),this.model.setCollapsed(e[g], +a))}for(g=0;g<f.length;g++)this.model.setVisible(f[g],!a);e=c;e=b.apply(this,arguments)}finally{this.model.endUpdate()}return e};var e=EditorUi.prototype.init;EditorUi.prototype.init=function(){e.apply(this,arguments);this.editor.isChromelessView()&&!this.editor.editable||this.addTrees()};EditorUi.prototype.addTrees=function(){function b(a){return n.isVertex(a)&&d(a)}function d(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b="tree"==(null!=b?b.style:h.getCellStyle(a)).containerType); return b}function e(a){var b=!1;null!=a&&(a=n.getParent(a),b=h.view.getState(a),h.view.getState(a),b=null!=(null!=b?b.style:h.getCellStyle(a)).childLayout);return b}function r(a){a=h.view.getState(a);if(null!=a){var b=h.getIncomingEdges(a.cell);if(0<b.length&&(b=h.view.getState(b[0]),null!=b&&(b=b.absolutePoints,null!=b&&0<b.length&&(b=b[b.length-1],null!=b)))){if(b.y==a.y&&Math.abs(b.x-a.getCenterX())<a.width/2)return mxConstants.DIRECTION_SOUTH;if(b.y==a.y+a.height&&Math.abs(b.x-a.getCenterX())< -a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var d=h.model.getParent(a),c=h.getIncomingEdges(a),e=h.cloneCells([c[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(c[0],!0),!0);var f=r(a),g=d.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ -10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=d&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var k=h.view.getState(a),n=h.view.scale;if(null!=k){var l=mxRectangle.fromRectangle(k);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?l.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*n:l.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*n;var p=h.getOutgoingEdges(h.model.getTerminal(c[0], -!0));if(null!=p){for(var m=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=c=0;q<p.length;q++){var t=h.model.getTerminal(p[q],!1);if(f==r(t)){var u=h.view.getState(t);t!=a&&null!=u&&(m&&b!=u.getCenterX()<k.getCenterX()||!m&&b!=u.getCenterY()<k.getCenterY())&&mxUtils.intersects(l,u)&&(c=10+Math.max(c,(Math.min(l.x+l.width,u.x+u.width)-Math.max(l.x,u.x))/n),g=10+Math.max(g,(Math.min(l.y+l.height,u.y+u.height)-Math.max(l.y,u.y))/n))}}m?g=0:c=0;for(q=0;q<p.length;q++)if(t=h.model.getTerminal(p[q], -!1),f==r(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(m&&b!=u.getCenterX()<k.getCenterX()||!m&&b!=u.getCenterY()<k.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*c,(b?1:-1)*g)}}}return h.addCells(e,d)}finally{h.model.endUpdate()}}function d(a){h.model.beginUpdate();try{var b=r(a),d=h.getIncomingEdges(a),c=h.cloneCells([d[0],a]);h.model.setTerminal(d[0],c[1],!1);h.model.setTerminal(c[0],c[1],!0);h.model.setTerminal(c[0],a,!1); -var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(c[1].geometry.x-=f.x,c[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var k=a.geometry.width+40,n=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?k=0:b==mxConstants.DIRECTION_NORTH?(k=0,n=-40):b==mxConstants.DIRECTION_WEST?(k=-40,n=0):b==mxConstants.DIRECTION_EAST&&(n=0);h.moveCells(g,k,n);return h.addCells(c,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b= -h.model.getParent(a),d=h.getIncomingEdges(a),c=h.cloneCells([d[0],a]);h.model.setTerminal(c[0],a,!0);var d=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<d.length;g++){var k=h.model.getTerminal(d[g],!1);null!=k&&f.push(k)}var n=h.view.getBounds(f),l=r(a),p=h.view.translate,m=h.view.scale;l==mxConstants.DIRECTION_SOUTH?(c[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(n.x+n.width)/m-p.x-e.x+10,c[1].geometry.y+=a.geometry.height- -e.y+40):l==mxConstants.DIRECTION_NORTH?(c[1].geometry.x=null==n?a.geometry.x+(a.geometry.width-c[1].geometry.width)/2:(n.x+n.width)/m-p.x+-e.x+10,c[1].geometry.y-=c[1].geometry.height-e.y+40):(c[1].geometry.x=l==mxConstants.DIRECTION_WEST?c[1].geometry.x-(c[1].geometry.width-e.x+40):c[1].geometry.x+(a.geometry.width-e.x+40),c[1].geometry.y=null==n?a.geometry.y+(a.geometry.height-c[1].geometry.height)/2:(n.y+n.height)/m-p.y+-e.y+10);return h.addCells(c,b)}finally{h.model.endUpdate()}}function g(a, -b,d){a=h.getOutgoingEdges(a);d=h.view.getState(d);var c=[];if(null!=d&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,d.x+d.width)>=Math.max(f.x,d.x)||b&&Math.min(f.y+f.height,d.y+d.height)>=Math.max(f.y,d.y))&&c.push(f)}c.sort(function(a,d){return b?a.x+a.width-d.x-d.width:a.y+a.height-d.y-d.height})}return c}function m(a,b){var d=r(a),c=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(d==mxConstants.DIRECTION_EAST|| -d==mxConstants.DIRECTION_WEST)==c&&d!=b?t.actions.get("selectParent").funct():d==b?(c=h.getOutgoingEdges(a),null!=c&&0<c.length&&h.setSelectionCell(h.model.getTerminal(c[0],!1))):(d=h.getIncomingEdges(a),null!=d&&0<d.length&&(c=g(h.model.getTerminal(d[0],!0),c,a),d=h.view.getState(a),null!=d&&(d=mxUtils.indexOf(c,d),0<=d&&(d+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=d&&d<=c.length-1&&h.setSelectionCell(c[d].cell)))))}var t=this,h=t.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children"); -mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var q=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,d,c){q.apply(this,arguments);if(1==h.getSelectionCount()){d=h.getSelectionCell();var e=h.getOutgoingEdges(d);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,c),this.addMenuItems(a,["selectDescendants"],null,c));b(h.getSelectionCell())&& -(a.addSeparator(),0<h.getIncomingEdges(d).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,c))}};t.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],d=0;d<a.length;d++)b.push(h.model.getTerminal(a[d],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(), -a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],d=0;d<a.length;d++)b.push(h.model.getTerminal(a[d],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants", -function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,d){null!=d&&b.push(d);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,d){d=null!=d?d:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));d&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&c(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0, -function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,d,c){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(d,c))};var u=h.duplicateCells;h.duplicateCells=function(a,d){a=null!=a?a:this.getSelectionCells();for(var c=a.slice(0),e=0;e<c.length;e++){var f=h.view.getState(c[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], -a)}this.model.beginUpdate();try{var k=u.call(this,a,d);if(k.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var n=h.getIncomingEdges(k[e]),g=h.getIncomingEdges(a[e]);if(0==n.length&&0<g.length){var l=this.cloneCells([g[0]])[0];this.addEdge(l,h.getDefaultParent(),this.model.getTerminal(g[0],!0),k[e])}}}finally{this.model.endUpdate()}return k};var y=h.moveCells;h.moveCells=function(a,d,c,e,f,g,k){var n=null;this.model.beginUpdate();try{var l=f,p=this.view.getState(f),m=null!=p?p.style:this.getCellStyle(f); -if(null!=a&&b(f)&&"1"==mxUtils.getValue(m,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||h.model.isEdge(a[q])&&null==h.model.getTerminal(a[q],!0)){f=h.model.getParent(a[q]);break}if(null!=l&&f!=l&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(l);null!=u&&(d=(u.getCenterX()-t.getCenterX())/h.view.scale,c=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}n=y.apply(this,arguments); -if(null!=n&&null!=a&&n.length==a.length)for(q=0;q<n.length;q++)if(this.model.isEdge(n[q]))b(l)&&0>mxUtils.indexOf(n,this.model.getTerminal(n[q],!0))&&this.model.setTerminal(n[q],l,!0);else if(b(a[q])&&(r=h.getIncomingEdges(a[q]),0<r.length))if(!e)b(l)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],l,!0);else if(0==h.getIncomingEdges(n[q]).length){p=l;if(null==p||p==h.model.getParent(a[q]))p=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e, -h.getDefaultParent(),p,n[q])}}finally{this.model.endUpdate()}return n};if(null!=t.sidebar){var E=t.sidebar.dropAndConnect;t.sidebar.dropAndConnect=function(a,d,c,e){var f=h.model,g=null;f.beginUpdate();try{if(g=E.apply(this,arguments),b(a))for(var k=0;k<g.length;k++)if(f.isEdge(g[k])&&null==f.getTerminal(g[k],!0)){f.setTerminal(g[k],a,!0);var n=h.getCellGeometry(g[k]);n.points=null;null!=n.getTerminalPoint(!0)&&n.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:t.actions.get("selectChildren"), -84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},G=t.onKeyDown;t.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var c=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?c=mxEvent.isShiftDown(a)?d(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(c=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=c&&0<c.length)1==c.length&&h.model.isEdge(c[0])?h.setSelectionCell(h.model.getTerminal(c[0], -!1)):h.setSelectionCell(c[c.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(m(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(m(h.getSelectionCell(), -mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(m(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(J){console.log("error",J)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var C=h.connectVertex;h.connectVertex=function(a,c,e,g,k,n){var l=h.getIncomingEdges(a);return b(a)&&0<l.length?(e=r(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,k=c==mxConstants.DIRECTION_EAST||c==mxConstants.DIRECTION_WEST,e==c?f(a):g==k?d(a):v(a,c!=mxConstants.DIRECTION_NORTH&& -c!=mxConstants.DIRECTION_WEST)):C.call(this,a,c,e,g,k,n)};h.getSubtree=function(a){var d=[a];b(a)&&!e(a)&&h.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(d,b)&&d.push(b);0>mxUtils.indexOf(d,a)&&d.push(a);return!0});return d};var x=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){x.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), +a.width/2)return mxConstants.DIRECTION_NORTH;if(b.x>a.getCenterX())return mxConstants.DIRECTION_WEST}}return mxConstants.DIRECTION_EAST}function v(a,b){b=null!=b?b:!0;h.model.beginUpdate();try{var c=h.model.getParent(a),d=h.getIncomingEdges(a),e=h.cloneCells([d[0],a]);h.model.setTerminal(e[0],h.model.getTerminal(d[0],!0),!0);var f=r(a),g=c.geometry;f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?e[1].geometry.x+=b?a.geometry.width+10:-e[1].geometry.width-10:e[1].geometry.y+=b?a.geometry.height+ +10:-e[1].geometry.height-10;f==mxConstants.DIRECTION_WEST&&(e[1].geometry.x=a.geometry.x+a.geometry.width-e[1].geometry.width);h.view.currentRoot!=c&&(e[1].geometry.x-=g.x,e[1].geometry.y-=g.y);var l=h.view.getState(a),k=h.view.scale;if(null!=l){var n=mxRectangle.fromRectangle(l);f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH?n.x+=(b?a.geometry.width+10:-e[1].geometry.width-10)*k:n.y+=(b?a.geometry.height+10:-e[1].geometry.height-10)*k;var m=h.getOutgoingEdges(h.model.getTerminal(d[0], +!0));if(null!=m){for(var p=f==mxConstants.DIRECTION_SOUTH||f==mxConstants.DIRECTION_NORTH,q=g=d=0;q<m.length;q++){var t=h.model.getTerminal(m[q],!1);if(f==r(t)){var u=h.view.getState(t);t!=a&&null!=u&&(p&&b!=u.getCenterX()<l.getCenterX()||!p&&b!=u.getCenterY()<l.getCenterY())&&mxUtils.intersects(n,u)&&(d=10+Math.max(d,(Math.min(n.x+n.width,u.x+u.width)-Math.max(n.x,u.x))/k),g=10+Math.max(g,(Math.min(n.y+n.height,u.y+u.height)-Math.max(n.y,u.y))/k))}}p?g=0:d=0;for(q=0;q<m.length;q++)if(t=h.model.getTerminal(m[q], +!1),f==r(t)&&(u=h.view.getState(t),t!=a&&null!=u&&(p&&b!=u.getCenterX()<l.getCenterX()||!p&&b!=u.getCenterY()<l.getCenterY()))){var v=[];h.traverse(u.cell,!0,function(a,b){null!=b&&v.push(b);v.push(a);return!0});h.moveCells(v,(b?1:-1)*d,(b?1:-1)*g)}}}return h.addCells(e,c)}finally{h.model.endUpdate()}}function c(a){h.model.beginUpdate();try{var b=r(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(c[0],d[1],!1);h.model.setTerminal(d[0],d[1],!0);h.model.setTerminal(d[0],a,!1); +var e=h.model.getParent(a),f=e.geometry,g=[];h.view.currentRoot!=e&&(d[1].geometry.x-=f.x,d[1].geometry.y-=f.y);h.traverse(a,!0,function(a,b){null!=b&&g.push(b);g.push(a);return!0});var l=a.geometry.width+40,k=a.geometry.height+40;b==mxConstants.DIRECTION_SOUTH?l=0:b==mxConstants.DIRECTION_NORTH?(l=0,k=-40):b==mxConstants.DIRECTION_WEST?(l=-40,k=0):b==mxConstants.DIRECTION_EAST&&(k=0);h.moveCells(g,l,k);return h.addCells(d,e)}finally{h.model.endUpdate()}}function f(a){h.model.beginUpdate();try{var b= +h.model.getParent(a),c=h.getIncomingEdges(a),d=h.cloneCells([c[0],a]);h.model.setTerminal(d[0],a,!0);var c=h.getOutgoingEdges(a),e=b.geometry,f=[];h.view.currentRoot==b&&(e=new mxRectangle);for(var g=0;g<c.length;g++){var l=h.model.getTerminal(c[g],!1);null!=l&&f.push(l)}var k=h.view.getBounds(f),n=r(a),m=h.view.translate,p=h.view.scale;n==mxConstants.DIRECTION_SOUTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x-e.x+10,d[1].geometry.y+=a.geometry.height- +e.y+40):n==mxConstants.DIRECTION_NORTH?(d[1].geometry.x=null==k?a.geometry.x+(a.geometry.width-d[1].geometry.width)/2:(k.x+k.width)/p-m.x+-e.x+10,d[1].geometry.y-=d[1].geometry.height-e.y+40):(d[1].geometry.x=n==mxConstants.DIRECTION_WEST?d[1].geometry.x-(d[1].geometry.width-e.x+40):d[1].geometry.x+(a.geometry.width-e.x+40),d[1].geometry.y=null==k?a.geometry.y+(a.geometry.height-d[1].geometry.height)/2:(k.y+k.height)/p-m.y+-e.y+10);return h.addCells(d,b)}finally{h.model.endUpdate()}}function g(a, +b,c){a=h.getOutgoingEdges(a);c=h.view.getState(c);var d=[];if(null!=c&&null!=a){for(var e=0;e<a.length;e++){var f=h.view.getState(h.model.getTerminal(a[e],!1));null!=f&&(!b&&Math.min(f.x+f.width,c.x+c.width)>=Math.max(f.x,c.x)||b&&Math.min(f.y+f.height,c.y+c.height)>=Math.max(f.y,c.y))&&d.push(f)}d.sort(function(a,c){return b?a.x+a.width-c.x-c.width:a.y+a.height-c.y-c.height})}return d}function u(a,b){var c=r(a),d=b==mxConstants.DIRECTION_EAST||b==mxConstants.DIRECTION_WEST;(c==mxConstants.DIRECTION_EAST|| +c==mxConstants.DIRECTION_WEST)==d&&c!=b?t.actions.get("selectParent").funct():c==b?(d=h.getOutgoingEdges(a),null!=d&&0<d.length&&h.setSelectionCell(h.model.getTerminal(d[0],!1))):(c=h.getIncomingEdges(a),null!=c&&0<c.length&&(d=g(h.model.getTerminal(c[0],!0),d,a),c=h.view.getState(a),null!=c&&(c=mxUtils.indexOf(d,c),0<=c&&(c+=b==mxConstants.DIRECTION_NORTH||b==mxConstants.DIRECTION_WEST?-1:1,0<=c&&c<=d.length-1&&h.setSelectionCell(d[c].cell)))))}var t=this,h=t.editor.graph,n=h.getModel();mxResources.parse("selectChildren=Select Children"); +mxResources.parse("selectSiblings=Select Siblings");mxResources.parse("selectDescendants=Select Descendants");mxResources.parse("selectParent=Select Parent");var l=t.menus.createPopupMenu;t.menus.createPopupMenu=function(a,c,d){l.apply(this,arguments);if(1==h.getSelectionCount()){c=h.getSelectionCell();var e=h.getOutgoingEdges(c);a.addSeparator();null!=e&&0<e.length&&(b(h.getSelectionCell())&&this.addMenuItems(a,["selectChildren"],null,d),this.addMenuItems(a,["selectDescendants"],null,d));b(h.getSelectionCell())&& +(a.addSeparator(),0<h.getIncomingEdges(c).length&&this.addMenuItems(a,["selectSiblings","selectParent"],null,d))}};t.actions.addAction("selectChildren",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getOutgoingEdges(a);if(null!=a){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+X");t.actions.addAction("selectSiblings",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(), +a=h.getIncomingEdges(a);if(null!=a&&0<a.length&&(a=h.getOutgoingEdges(h.model.getTerminal(a[0],!0)),null!=a)){for(var b=[],c=0;c<a.length;c++)b.push(h.model.getTerminal(a[c],!1));h.setSelectionCells(b)}}},null,null,"Alt+Shift+S");t.actions.addAction("selectParent",function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),a=h.getIncomingEdges(a);null!=a&&0<a.length&&h.setSelectionCell(h.model.getTerminal(a[0],!0))}},null,null,"Alt+Shift+P");t.actions.addAction("selectDescendants", +function(){if(h.isEnabled()&&1==h.getSelectionCount()){var a=h.getSelectionCell(),b=[];h.traverse(a,!0,function(a,c){null!=c&&b.push(c);b.push(a);return!0});h.setSelectionCells(b)}},null,null,"Alt+Shift+T");var w=h.removeCells;h.removeCells=function(a,c){c=null!=c?c:!0;null==a&&(a=this.getDeletableCells(this.getSelectionCells()));c&&(a=this.getDeletableCells(this.addAllEdges(a)));for(var e=[],f=0;f<a.length;f++){var g=a[f];n.isEdge(g)&&d(g)&&(e.push(g),g=n.getTerminal(g,!1));b(g)?(h.traverse(g,!0, +function(a,b){null!=b&&e.push(b);e.push(a);return!0}),g=h.getIncomingEdges(a[f]),a=a.concat(g)):e.push(a[f])}a=e;return w.apply(this,arguments)};t.hoverIcons.getStateAt=function(a,c,d){return b(a.cell)?null:this.graph.view.getState(this.graph.getCellAt(c,d))};var q=h.duplicateCells;h.duplicateCells=function(a,c){a=null!=a?a:this.getSelectionCells();for(var d=a.slice(0),e=0;e<d.length;e++){var f=h.view.getState(d[e]);if(null!=f&&b(f.cell))for(var g=h.getIncomingEdges(f.cell),f=0;f<g.length;f++)mxUtils.remove(g[f], +a)}this.model.beginUpdate();try{var l=q.call(this,a,c);if(l.length==a.length)for(e=0;e<a.length;e++)if(b(a[e])){var k=h.getIncomingEdges(l[e]),g=h.getIncomingEdges(a[e]);if(0==k.length&&0<g.length){var n=this.cloneCells([g[0]])[0];this.addEdge(n,h.getDefaultParent(),this.model.getTerminal(g[0],!0),l[e])}}}finally{this.model.endUpdate()}return l};var y=h.moveCells;h.moveCells=function(a,c,d,e,f,g,l){var k=null;this.model.beginUpdate();try{var n=f,m=this.view.getState(f),p=null!=m?m.style:this.getCellStyle(f); +if(null!=a&&b(f)&&"1"==mxUtils.getValue(p,"treeFolding","0")){for(var q=0;q<a.length;q++)if(b(a[q])||h.model.isEdge(a[q])&&null==h.model.getTerminal(a[q],!0)){f=h.model.getParent(a[q]);break}if(null!=n&&f!=n&&null!=this.view.getState(a[0])){var r=h.getIncomingEdges(a[0]);if(0<r.length){var t=h.view.getState(h.model.getTerminal(r[0],!0));if(null!=t){var u=h.view.getState(n);null!=u&&(c=(u.getCenterX()-t.getCenterX())/h.view.scale,d=(u.getCenterY()-t.getCenterY())/h.view.scale)}}}}k=y.apply(this,arguments); +if(null!=k&&null!=a&&k.length==a.length)for(q=0;q<k.length;q++)if(this.model.isEdge(k[q]))b(n)&&0>mxUtils.indexOf(k,this.model.getTerminal(k[q],!0))&&this.model.setTerminal(k[q],n,!0);else if(b(a[q])&&(r=h.getIncomingEdges(a[q]),0<r.length))if(!e)b(n)&&0>mxUtils.indexOf(a,this.model.getTerminal(r[0],!0))&&this.model.setTerminal(r[0],n,!0);else if(0==h.getIncomingEdges(k[q]).length){m=n;if(null==m||m==h.model.getParent(a[q]))m=h.model.getTerminal(r[0],!0);e=this.cloneCells([r[0]])[0];this.addEdge(e, +h.getDefaultParent(),m,k[q])}}finally{this.model.endUpdate()}return k};if(null!=t.sidebar){var D=t.sidebar.dropAndConnect;t.sidebar.dropAndConnect=function(a,c,d,e){var f=h.model,g=null;f.beginUpdate();try{if(g=D.apply(this,arguments),b(a))for(var l=0;l<g.length;l++)if(f.isEdge(g[l])&&null==f.getTerminal(g[l],!0)){f.setTerminal(g[l],a,!0);var k=h.getCellGeometry(g[l]);k.points=null;null!=k.getTerminalPoint(!0)&&k.setTerminalPoint(null,!0)}}finally{f.endUpdate()}return g}}var z={88:t.actions.get("selectChildren"), +84:t.actions.get("selectSubtree"),80:t.actions.get("selectParent"),83:t.actions.get("selectSiblings")},G=t.onKeyDown;t.onKeyDown=function(a){try{if(h.isEnabled()&&!h.isEditing()&&b(h.getSelectionCell())&&1==h.getSelectionCount()){var d=null;0<h.getIncomingEdges(h.getSelectionCell()).length&&(9==a.which?d=mxEvent.isShiftDown(a)?c(h.getSelectionCell()):f(h.getSelectionCell()):13==a.which&&(d=v(h.getSelectionCell(),!mxEvent.isShiftDown(a))));if(null!=d&&0<d.length)1==d.length&&h.model.isEdge(d[0])?h.setSelectionCell(h.model.getTerminal(d[0], +!1)):h.setSelectionCell(d[d.length-1]),null!=t.hoverIcons&&t.hoverIcons.update(h.view.getState(h.getSelectionCell())),h.startEditingAtCell(h.getSelectionCell()),mxEvent.consume(a);else if(mxEvent.isAltDown(a)&&mxEvent.isShiftDown(a)){var e=z[a.keyCode];null!=e&&(e.funct(a),mxEvent.consume(a))}else 37==a.keyCode?(u(h.getSelectionCell(),mxConstants.DIRECTION_WEST),mxEvent.consume(a)):38==a.keyCode?(u(h.getSelectionCell(),mxConstants.DIRECTION_NORTH),mxEvent.consume(a)):39==a.keyCode?(u(h.getSelectionCell(), +mxConstants.DIRECTION_EAST),mxEvent.consume(a)):40==a.keyCode&&(u(h.getSelectionCell(),mxConstants.DIRECTION_SOUTH),mxEvent.consume(a))}}catch(I){console.log("error",I)}mxEvent.isConsumed(a)||G.apply(this,arguments)};var E=h.connectVertex;h.connectVertex=function(a,d,e,g,l,k){var n=h.getIncomingEdges(a);return b(a)&&0<n.length?(e=r(a),g=e==mxConstants.DIRECTION_EAST||e==mxConstants.DIRECTION_WEST,l=d==mxConstants.DIRECTION_EAST||d==mxConstants.DIRECTION_WEST,e==d?f(a):g==l?c(a):v(a,d!=mxConstants.DIRECTION_NORTH&& +d!=mxConstants.DIRECTION_WEST)):E.call(this,a,d,e,g,l,k)};h.getSubtree=function(a){var c=[a];b(a)&&!e(a)&&h.traverse(a,!0,function(a,b){null!=b&&0>mxUtils.indexOf(c,b)&&c.push(b);0>mxUtils.indexOf(c,a)&&c.push(a);return!0});return c};var x=mxVertexHandler.prototype.init;mxVertexHandler.prototype.init=function(){x.apply(this,arguments);b(this.state.cell)&&0<this.graph.getOutgoingEdges(this.state.cell).length&&(this.moveHandle=mxUtils.createImage(a),this.moveHandle.setAttribute("title","Move Subtree"), this.moveHandle.style.position="absolute",this.moveHandle.style.cursor="pointer",this.moveHandle.style.width="18px",this.moveHandle.style.height="18px",this.graph.container.appendChild(this.moveHandle),mxEvent.addGestureListeners(this.moveHandle,mxUtils.bind(this,function(a){this.graph.graphHandler.start(this.state.cell,mxEvent.getClientX(a),mxEvent.getClientY(a));this.graph.graphHandler.cells=this.graph.getSubtree(this.state.cell);this.graph.graphHandler.bounds=this.state.view.getBounds(this.graph.graphHandler.cells); -this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var H=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= -this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var I=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){I.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var c=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=c.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", +this.graph.graphHandler.pBounds=this.graph.graphHandler.getPreviewBounds(this.graph.graphHandler.cells);this.graph.graphHandler.cellWasClicked=!0;this.graph.isMouseTrigger=mxEvent.isMouseEvent(a);this.graph.isMouseDown=!0;mxEvent.consume(a)})))};var J=mxVertexHandler.prototype.redrawHandles;mxVertexHandler.prototype.redrawHandles=function(){J.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.style.left=this.state.x+this.state.width+(40>this.state.width?10:0)+2+"px",this.moveHandle.style.top= +this.state.y+this.state.height+(40>this.state.height?10:0)+2+"px")};var H=mxVertexHandler.prototype.destroy;mxVertexHandler.prototype.destroy=function(a,b){H.apply(this,arguments);null!=this.moveHandle&&(this.moveHandle.parentNode.removeChild(this.moveHandle),this.moveHandle=null)}};if("undefined"!==typeof Sidebar){var d=Sidebar.prototype.createAdvancedShapes;Sidebar.prototype.createAdvancedShapes=function(){var a=d.apply(this,arguments),b=this.editorUi.editor.graph;return a.concat([this.addEntry("tree container", function(){var a=new mxCell("Tree Container",new mxGeometry(0,0,220,160),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea branch topic",function(){var a=new mxCell("Mindmap",new mxGeometry(0,0,420,126),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var b=new mxCell("Central Idea",new mxGeometry(160,60,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;"); -b.vertex=!0;var c=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");d.geometry.relative=!0;d.edge=!0;b.insertEdge(d,!0);c.insertEdge(d,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;"); -e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");k.vertex=!0;var l=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -l.geometry.relative=!0;l.edge=!0;b.insertEdge(l,!0);k.insertEdge(l,!1);var h=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); -n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(d);a.insert(g);a.insert(l);a.insert(n);a.insert(b);a.insert(c);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a], +b.vertex=!0;var d=new mxCell("Topic",new mxGeometry(320,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");d.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");c.geometry.relative=!0;c.edge=!0;b.insertEdge(c,!0);d.insertEdge(c,!1);var e=new mxCell("Branch",new mxGeometry(320,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;"); +e.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");g.geometry.relative=!0;g.edge=!0;b.insertEdge(g,!0);e.insertEdge(g,!1);var k=new mxCell("Topic",new mxGeometry(20,40,80,20),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");k.vertex=!0;var m=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +m.geometry.relative=!0;m.edge=!0;b.insertEdge(m,!0);k.insertEdge(m,!1);var h=new mxCell("Branch",new mxGeometry(20,80,72,26),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");h.vertex=!0;var n=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); +n.geometry.relative=!0;n.edge=!0;b.insertEdge(n,!0);h.insertEdge(n,!1);a.insert(c);a.insert(g);a.insert(m);a.insert(n);a.insert(b);a.insert(d);a.insert(e);a.insert(k);a.insert(h);return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap central idea",function(){var a=new mxCell("Central Idea",new mxGeometry(0,0,100,40),"ellipse;whiteSpace=wrap;html=1;align=center;container=1;recursiveResize=0;treeFolding=1;");a.vertex=!0;return sb.createVertexTemplateFromCells([a], a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap branch",function(){var a=new mxCell("Branch",new mxGeometry(0,0,80,20),"whiteSpace=wrap;html=1;shape=partialRectangle;top=0;left=0;bottom=1;right=0;points=[[0,1],[1,1]];strokeColor=#000000;fillColor=none;align=center;verticalAlign=bottom;routingCenterY=0.5;snapToPoint=1;container=1;recursiveResize=0;autosize=1;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;"); b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree mindmap sub topic",function(){var a=new mxCell("Sub Topic",new mxGeometry(0,0,72,26),"whiteSpace=wrap;html=1;rounded=1;arcSize=50;align=center;verticalAlign=middle;container=1;recursiveResize=0;strokeWidth=1;autosize=1;spacing=4;treeFolding=1;");a.vertex=!0;var b=new mxCell("",new mxGeometry(0, -0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var c=new mxCell("Organization", -new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(c,"treeRoot","1");c.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");e.vertex=!0;var d=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");d.geometry.relative=!0;d.edge=!0; -c.insertEdge(d,!0);e.insertEdge(d,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;c.insertEdge(g,!0);f.insertEdge(g,!1);a.insert(d);a.insert(g);a.insert(c);a.insert(e);a.insert(f);return sb.createVertexTemplateFromCells([a], +0,0,0),"edgeStyle=entityRelationEdgeStyle;startArrow=none;endArrow=none;segment=10;curved=1;");b.geometry.setTerminalPoint(new mxPoint(-40,40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree orgchart organization division",function(){var a=new mxCell("Orgchart",new mxGeometry(0,0,280,220),"swimlane;html=1;startSize=20;horizontal=1;containerType=tree;");a.vertex=!0;var d=new mxCell("Organization", +new mxGeometry(80,40,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(d,"treeRoot","1");d.vertex=!0;var e=new mxCell("Division",new mxGeometry(20,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");e.vertex=!0;var c=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");c.geometry.relative=!0;c.edge=!0; +d.insertEdge(c,!0);e.insertEdge(c,!1);var f=new mxCell("Division",new mxGeometry(160,140,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");f.vertex=!0;var g=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");g.geometry.relative=!0;g.edge=!0;d.insertEdge(g,!0);f.insertEdge(g,!1);a.insert(c);a.insert(g);a.insert(d);a.insert(e);a.insert(f);return sb.createVertexTemplateFromCells([a], a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree root",function(){var a=new mxCell("Organization",new mxGeometry(0,0,120,60),"whiteSpace=wrap;html=1;align=center;treeFolding=1;container=1;recursiveResize=0;");b.setAttributeForCell(a,"treeRoot","1");a.vertex=!0;return sb.createVertexTemplateFromCells([a],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree division",function(){var a=new mxCell("Division",new mxGeometry(20,40,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;"); a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=elbowEdgeStyle;elbow=vertical;startArrow=none;endArrow=none;rounded=0;");b.geometry.setTerminalPoint(new mxPoint(0,0),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);return sb.createVertexTemplateFromCells([a,b],a.geometry.width,a.geometry.height,a.value)}),this.addEntry("tree sub sections",function(){var a=new mxCell("Sub Section",new mxGeometry(0,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;"); -a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var c=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");c.vertex=!0;var d=new mxCell("",new mxGeometry(0, -0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");d.geometry.setTerminalPoint(new mxPoint(110,-40),!0);d.geometry.relative=!0;d.edge=!0;c.insertEdge(d,!1);return sb.createVertexTemplateFromCells([b,d,a,c],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& -a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var d=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new k(a,mxResources.get("shapes"),10,56,d-6,Math.min(650,b.container.clientHeight-30),function(b){function d(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; -g.className="geTitle";b.appendChild(g);return g}var c=document.createElement("div");c.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";c.className="geTitle";mxUtils.write(c,mxResources.get("moreShapes"));b.appendChild(c);mxEvent.addListener(c,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)c.style.bottom= -"0";else if(null!=a.actions.get("newLibrary")){c=document.createElement("div");c.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";c.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("newLibrary").funct);c=document.createElement("div"); -c.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";c.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));c.appendChild(f);b.appendChild(c);mxEvent.addListener(c,"click",a.actions.get("openLibrary").funct)}else c=d("newLibrary",mxResources.get("newLibrary")),c.style.left= -"0",c=d("openLibraryFrom",mxResources.get("openLibraryFrom")),c.style.borderLeft="1px solid lightgray",c.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()} -if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var c=document.createElement("style");c.type="text/css";c.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; -document.getElementsByTagName("head")[0].appendChild(c)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); +a.vertex=!0;var b=new mxCell("",new mxGeometry(0,0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");b.geometry.setTerminalPoint(new mxPoint(110,-40),!0);b.geometry.relative=!0;b.edge=!0;a.insertEdge(b,!1);var d=new mxCell("Sub Section",new mxGeometry(120,0,100,60),"whiteSpace=wrap;html=1;align=center;verticalAlign=middle;container=1;recursiveResize=0;treeFolding=1;");d.vertex=!0;var c=new mxCell("",new mxGeometry(0, +0,0,0),"edgeStyle=orthogonalEdgeStyle;startArrow=none;endArrow=none;rounded=0;targetPortConstraint=eastwest;sourcePortConstraint=northsouth;");c.geometry.setTerminalPoint(new mxPoint(110,-40),!0);c.geometry.relative=!0;c.edge=!0;d.insertEdge(c,!1);return sb.createVertexTemplateFromCells([b,c,a,d],220,60,"Sub Sections")})])}}})();EditorUi.initMinimalTheme=function(){function a(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();null==a.formatWindow?(a.formatWindow=new k(a,mxResources.get("format"),Math.max(20,a.diagramContainer.clientWidth-240-12),56,240,Math.min(546,b.container.clientHeight-10),function(b){b=a.createFormat(b);b.init();return b}),a.formatWindow.window.minimumSize=new mxRectangle(0,0,240,80),a.formatWindow.window.setVisible(!0)):a.formatWindow.window.setVisible(!a.formatWindow.window.isVisible());a.formatWindow.window.isVisible()&& +a.formatWindow.window.fit()}function b(a){var b=a.editor.graph;b.popupMenuHandler.hideMenu();new mxRectangle;if(null==a.sidebarWindow){var c=Math.min(b.container.clientWidth-10,266);a.sidebarWindow=new k(a,mxResources.get("shapes"),10,56,c-6,Math.min(650,b.container.clientHeight-30),function(b){function c(c,d){var f=a.menus.get(c),g=e.addMenu(d,mxUtils.bind(this,function(){f.funct.apply(this,arguments)}));g.style.cssText="position:absolute;border-top:1px solid lightgray;width:50%;height:24px;bottom:0px;text-align:center;cursor:pointer;padding:6px 0 0 0;"; +g.className="geTitle";b.appendChild(g);return g}var d=document.createElement("div");d.style.cssText="position:absolute;left:0;right:0;border-top:1px solid lightgray;height:24px;bottom:31px;text-align:center;cursor:pointer;padding:6px 0 0 0;";d.className="geTitle";mxUtils.write(d,mxResources.get("moreShapes"));b.appendChild(d);mxEvent.addListener(d,"click",function(){a.actions.get("shapes").funct()});var e=new Menubar(a,b);if(!Editor.enableCustomLibraries||"1"==urlParams.embed&&"1"!=urlParams.libraries)d.style.bottom= +"0";else if(null!=a.actions.get("newLibrary")){d=document.createElement("div");d.style.cssText="position:absolute;left:0px;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;";d.className="geTitle";var f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("newLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("newLibrary").funct);d=document.createElement("div"); +d.style.cssText="position:absolute;left:50%;width:50%;border-top:1px solid lightgray;height:30px;bottom:0px;text-align:center;cursor:pointer;padding:0px;border-left: 1px solid lightgray;";d.className="geTitle";f=document.createElement("span");f.style.cssText="position:relative;top:6px;";mxUtils.write(f,mxResources.get("openLibrary"));d.appendChild(f);b.appendChild(d);mxEvent.addListener(d,"click",a.actions.get("openLibrary").funct)}else d=c("newLibrary",mxResources.get("newLibrary")),d.style.left= +"0",d=c("openLibraryFrom",mxResources.get("openLibraryFrom")),d.style.borderLeft="1px solid lightgray",d.style.left="50%";b.appendChild(a.sidebar.container);b.style.overflow="hidden";return b});a.sidebarWindow.window.minimumSize=new mxRectangle(0,0,90,90);a.sidebarWindow.window.setVisible(!0);a.getLocalData("sidebar",function(b){a.sidebar.showEntries(b,null,!0)});a.restoreLibraries()}else a.sidebarWindow.window.setVisible(!a.sidebarWindow.window.isVisible());a.sidebarWindow.window.isVisible()&&a.sidebarWindow.window.fit()} +if("1"!=urlParams.lightbox&&"0"!=urlParams.chrome){var e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;try{var d=document.createElement("style");d.type="text/css";d.innerHTML="* { -webkit-font-smoothing: antialiased; }html body .mxWindow button.geBtn { font-size:12px !important; margin-left: 0;}html body div.diagramContainer button, html body button.geBtn { font-size:14px; font-weight:700;border-radius: 5px; }html body button.geBtn:active { opacity: 0.6; }.geDialog input, .geToolbarContainer input, .mxWindow input {padding:2px !important;display:inline-block !important; }div.geDialog { border-radius: 5px; }html body div.geDialog button.geBigButton { color: #fff !important; }.mxWindow button, .geDialog select, .mxWindow select { display:inline-block; }.mxWindow .geColorBtn, .geDialog .geColorBtn { background: none !important; }html body div.diagramContainer button, html body .mxWindow button, html body .geDialog button { min-width: 0px; border-radius: 5px; color: #353535 !important; border-color: rgb(216, 216, 216); }div.diagramContainer button.geBtn, .mxWindow button.geBtn, .geDialog button.geBtn { min-width:72px; font-weight: 600; background: none; }div.diagramContainer button.geBtn:hover, .mxWindow button.geBtn:hover, .geDialog button.geBtn:hover { box-shadow: none; border-color: rgb(216, 216, 216); }div.diagramContainer button.gePrimaryBtn, .mxWindow button.gePrimaryBtn, .geDialog button.gePrimaryBtn, html body .gePrimaryBtn { background: #29b6f2; color: #fff !important; border: none; box-shadow: none; }html body .gePrimaryBtn:hover { background: #29b6f2; border: none; box-shadow: inherit; }html body button.gePrimaryBtn:hover { background: #29b6f2; border: none; }.geBtn button { min-width:72px !important; }div.geToolbarContainer a.geButton { margin:2px; padding: 0 2px 4px 2px; } .geDialog, .mxWindow td.mxWindowPane *, div.geSprite, td.mxWindowTitle, .geDiagramContainer { box-sizing:content-box; }.mxWindow div button.geStyleButton { box-sizing: border-box; }table.mxWindow td.mxWindowPane button.geColorBtn { padding:0px; box-sizing: border-box; }td.mxWindowPane .geSidebarContainer button { padding:2px 0 2px 0; box-sizing: border-box; }html body .geMenuItem { font-size:14px; text-decoration: none; font-weight: normal; padding: 6px 10px 6px 10px; border: none; border-radius: 5px; color: #353535; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }a.geMenuItem:active { opacity: 0.4; }.geToolbarContainer { background:#fff !important; }div.mxWindow .geSidebarContainer .geTitle { background-color:#fdfdfd; }div.mxWindow .geSidebarContainer .geTitle:hover { background-color:#fafafa; }div.geSidebar { background-color: #fff !important;}div.mxWindow td.mxWindowPane button { background-image: none; float: none; }td.mxWindowTitle { height: 22px !important; background: none !important; font-size: 13px !important; text-align:center !important; border-bottom:1px solid lightgray; }div.mxWindow, div.mxWindowTitle { background-image: none !important; background-color:#fff !important; }div.mxWindow { border-radius:5px; box-shadow: 0px 0px 2px #C0C0C0 !important;}div.mxWindow * { font-family: inherit !important; }html div.geVerticalHandle { position:absolute;bottom:0px;left:50%;cursor:row-resize;width:11px;height:11px;background:white;margin-bottom:-6px; margin-left:-6px; border: none; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.11), inset 0 -1px 0 0 rgba(0,0,0,.08), 0 1px 2px 0 rgba(0,0,0,.04); }html div.geInactivePage { background: rgb(249, 249, 249) !important; color:lightgray !important; } html div.geActivePage { background: white !important;color: #353535 !important; } html div.mxRubberband { border:1px solid; border-color: #29b6f2 !important; background:rgba(41,182,242,0.5) !important; } html body div.mxPopupMenu { border-radius:5px; border:1px solid #c0c0c0; padding:5px 0 5px 0; box-shadow: 0px 4px 17px -4px rgba(96,96,96,1); } html table.mxPopupMenu td.mxPopupMenuItem { color: #353535; font-size: 14px; padding-top: 4px; padding-bottom: 4px; }html table.mxPopupMenu tr.mxPopupMenuItemHover { background-color: #29b6f2; }html tr.mxPopupMenuItemHover td.mxPopupMenuItem, html tr.mxPopupMenuItemHover td.mxPopupMenuItem span { color: #fff !important; }html tr.mxPopupMenuItem, html td.mxPopupMenuItem { transition-property: none !important; }html table.mxPopupMenu hr { height: 2px; background-color: rgba(0,0,0,.07); margin: 5px 0; }"; +document.getElementsByTagName("head")[0].appendChild(d)}catch(n){}var k=function(a,b,c,d,e,f,g){a=document.createElement("div");a.className="geSidebarContainer";a.style.position="absolute";a.style.width="100%";a.style.height="100%";a.style.border="1px solid whiteSmoke";a.style.overflowX="hidden";a.style.overflowY="auto";g(a);this.window=new mxWindow(b,a,c,d,e,f,!0,!0);this.window.destroyOnClose=!1;this.window.setMaximizable(!1);this.window.setResizable(!0);this.window.setClosable(!0);this.window.setVisible(!0); this.window.setLocation=function(a,b){var c=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;a=Math.max(0,Math.min(a,(window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth)-this.table.clientWidth));b=Math.max(0,Math.min(b,c-this.table.clientHeight-48));this.getX()==a&&this.getY()==b||mxWindow.prototype.setLocation.apply(this,arguments)}};Editor.checkmarkImage=Graph.createSvgImage(22,18,'<path transform="translate(4 0)" d="M7.181,15.007a1,1,0,0,1-.793-0.391L3.222,10.5A1,1,0,1,1,4.808,9.274L7.132,12.3l6.044-8.86A1,1,0,1,1,14.83,4.569l-6.823,10a1,1,0,0,1-.8.437H7.181Z" fill="#29b6f2"/>').src; mxWindow.prototype.closeImage=Graph.createSvgImage(18,10,'<path d="M 5 1 L 13 9 M 13 1 L 5 9" stroke="#C0C0C0" stroke-width="2"/>').src;mxWindow.prototype.minimizeImage=Graph.createSvgImage(14,10,'<path d="M 3 7 L 7 3 L 11 7" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxWindow.prototype.normalizeImage=Graph.createSvgImage(14,10,'<path d="M 3 3 L 7 7 L 11 3" stroke="#C0C0C0" stroke-width="2" fill="#ffffff"/>').src;mxVertexHandler.prototype.handleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/>'); mxEdgeHandler.prototype.handleImage=mxVertexHandler.prototype.handleImage;mxEdgeHandler.prototype.terminalHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><circle cx="8" cy="8" r="3" stroke="#ffffff" fill="#29b6f2"/>');mxEdgeHandler.prototype.fixedHandleImage=Graph.createSvgImage(16,16,'<circle cx="8" cy="8" r="5" stroke="#ffffff" fill="#29b6f2"/><path d="m 6 6 L 10 10 M 6 10 L 10 6" stroke="#ffffff"/>');mxConstraintHandler.prototype.pointImage= @@ -3099,10 +3106,10 @@ Graph.createSvgImage(5,5,'<path d="m 0 0 L 5 5 M 0 5 L 5 0" stroke="#29b6f2"/>') HoverIcons.prototype.triangleLeft=Graph.createSvgImage(38,18,'<path d="m 1 9 L 12 1 L 12 6 L 36 6 L 36 12 L 12 12 L 12 18 z" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.roundDrop=Graph.createSvgImage(26,26,'<circle cx="13" cy="13" r="12" stroke="#fff" fill="#29b6f2"/>');HoverIcons.prototype.arrowSpacing=0;mxOutline.prototype.sizerImage=null;null!=window.Sidebar&&(Sidebar.prototype.triangleUp=HoverIcons.prototype.triangleUp,Sidebar.prototype.triangleRight=HoverIcons.prototype.triangleRight, Sidebar.prototype.triangleDown=HoverIcons.prototype.triangleDown,Sidebar.prototype.triangleLeft=HoverIcons.prototype.triangleLeft,Sidebar.prototype.refreshTarget=HoverIcons.prototype.refreshTarget,Sidebar.prototype.roundDrop=HoverIcons.prototype.roundDrop);mxConstants.VERTEX_SELECTION_COLOR="#C0C0C0";mxConstants.EDGE_SELECTION_COLOR="#C0C0C0";mxConstants.CONNECT_HANDLE_FILLCOLOR="#cee7ff";mxConstants.DEFAULT_VALID_COLOR="#29b6f2";mxConstants.GUIDE_COLOR="#C0C0C0";mxConstants.HIGHLIGHT_STROKEWIDTH= 5;mxConstants.HIGHLIGHT_OPACITY=35;mxConstants.HIGHLIGHT_SIZE=5;mxConstants.OUTLINE_COLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_FILLCOLOR="#29b6f2";mxConstants.OUTLINE_HANDLE_STROKECOLOR="#fff";Graph.prototype.svgShadowColor="#3D4574";Graph.prototype.svgShadowOpacity="0.4";Graph.prototype.svgShadowSize="0.6";Graph.prototype.svgShadowBlur="1.2";Format.prototype.inactiveTabBackgroundColor="#f0f0f0";mxGraphHandler.prototype.previewColor="#C0C0C0";mxRubberband.prototype.defaultOpacity=50;HoverIcons.prototype.inactiveOpacity= -25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var l=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){l.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= +25;Format.prototype.showCloseButton=!1;EditorUi.prototype.closableScratchpad=!1;EditorUi.prototype.footerHeight=0;Graph.prototype.editAfterInsert=!0;Editor.prototype.isChromelessView=function(){return!1};Graph.prototype.isLightboxView=function(){return!1};var m=EditorUi.prototype.refresh;EditorUi.prototype.refresh=function(a){m.apply(this,arguments);this.diagramContainer.style.top="47px";null!=this.tabContainer&&(this.tabContainer.style.right="70px")};var p=EditorUi.prototype.updateActionStates;EditorUi.prototype.updateActionStates= function(){p.apply(this,arguments);this.menus.get("save").setEnabled(null!=this.getCurrentFile()||"1"==urlParams.embed)};var r=Menus.prototype.addShortcut;Menus.prototype.addShortcut=function(a,b){null!=b.shortcut&&900>e&&!mxClient.IS_IOS?a.firstChild.nextSibling.setAttribute("title",b.shortcut):r.apply(this,arguments)};var v=App.prototype.updateUserElement;App.prototype.updateUserElement=function(){v.apply(this,arguments);if(null!=this.userElement){var a=this.userElement;a.style.cssText="display:inline-block;position:relative;margin-right:4px;"; a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgMTJjMi4yMSAwIDQtMS43OSA0LTRzLTEuNzktNC00LTQtNCAxLjc5LTQgNCAxLjc5IDQgNCA0em0wIDJjLTIuNjcgMC04IDEuMzQtOCA0djJoMTZ2LTJjMC0yLjY2LTUuMzMtNC04LTR6Ii8+PC9zdmc+)";a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px"; -a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var d=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){d.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; +a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("changeUser"))}};var c=App.prototype.updateButtonContainer;App.prototype.updateButtonContainer=function(){c.apply(this,arguments);if(null!=this.shareButton){var a=this.shareButton;a.style.cssText="display:inline-block;position:relative;box-sizing:border-box;margin-right:4px;cursor:pointer;";a.className="";a.innerHTML="";a.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTggMTYuMDhjLS43NiAwLTEuNDQuMy0xLjk2Ljc3TDguOTEgMTIuN2MuMDUtLjIzLjA5LS40Ni4wOS0uN3MtLjA0LS40Ny0uMDktLjdsNy4wNS00LjExYy41NC41IDEuMjUuODEgMi4wNC44MSAxLjY2IDAgMy0xLjM0IDMtM3MtMS4zNC0zLTMtMy0zIDEuMzQtMyAzYzAgLjI0LjA0LjQ3LjA5LjdMOC4wNCA5LjgxQzcuNSA5LjMxIDYuNzkgOSA2IDljLTEuNjYgMC0zIDEuMzQtMyAzczEuMzQgMyAzIDNjLjc5IDAgMS41LS4zMSAyLjA0LS44MWw3LjEyIDQuMTZjLS4wNS4yMS0uMDguNDMtLjA4LjY1IDAgMS42MSAxLjMxIDIuOTIgMi45MiAyLjkyIDEuNjEgMCAyLjkyLTEuMzEgMi45Mi0yLjkycy0xLjMxLTIuOTItMi45Mi0yLjkyeiIvPjwvc3ZnPg==)"; a.style.backgroundPosition="center center";a.style.backgroundRepeat="no-repeat";a.style.backgroundSize="24px 24px";a.style.height="24px";a.style.width="24px";mxUtils.setOpacity(a,30);a.setAttribute("title",mxResources.get("share"))}};EditorUi.prototype.addEmbedButtons=function(){if(null!=this.buttonContainer){var a=document.createElement("div");a.style.display="inline-block";a.style.position="relative";a.style.marginTop="2px";var b=document.createElement("button");mxUtils.write(b,mxResources.get("save")); b.setAttribute("title",mxResources.get("save")+" ("+Editor.ctrlKey+"+S)");b.className="1"==urlParams.saveAndExit?"geMenuItem":"geMenuItem gePrimaryBtn";b.style.fontSize="14px";b.style.padding="6px";b.style.borderRadius="3px";b.style.marginLeft="8px";b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("save").funct()}));a.appendChild(b);"1"==urlParams.saveAndExit&&(b=document.createElement("a"),mxUtils.write(b,mxResources.get("saveAndExit")),b.setAttribute("title", mxResources.get("saveAndExit")),b.className="geMenuItem gePrimaryBtn",b.style.fontSize="14px",b.style.marginLeft="6px",b.style.padding="6px",b.style.cursor="pointer",mxEvent.addListener(b,"click",mxUtils.bind(this,function(){this.actions.get("saveAndExit").funct()})),a.appendChild(b));b=document.createElement("a");mxUtils.write(b,mxResources.get("exit"));b.setAttribute("title",mxResources.get("exit"));b.className="geMenuItem";b.style.fontSize="14px";b.style.marginLeft="6px";b.style.padding="6px"; @@ -3110,8 +3117,8 @@ b.style.cursor="pointer";mxEvent.addListener(b,"click",mxUtils.bind(this,functio mxUtils.bind(this,function(a,b){var c=new FilenameDialog(this.editorUi,a,mxResources.get("apply"),function(a){b(parseFloat(a))},mxResources.get("spacing"));this.editorUi.showDialog(c.container,300,80,!0,!0);c.init()});1==d.getSelectionCount()?(this.addMenuItems(a,["editTooltip","-"],null,c),d.isCellFoldable(d.getSelectionCell())&&this.addMenuItems(a,d.isCellCollapsed(b)?["expand"]:["collapse"],null,c),this.addMenuItems(a,["lockUnlock","enterGroup"],null,c),a.addSeparator(),this.addSubmenu("layout", a)):d.isSelectionEmpty()&&d.isEnabled()?(a.addSeparator(),this.addSubmenu("insert",a),this.addSubmenu("layout",a),a.addSeparator(),this.addSubmenu("options",a),this.addMenuItems(a,["-","exitGroup"],null,c)):d.isEnabled()&&this.addMenuItems(a,["-","lockUnlock"],null,c)};EditorUi.prototype.toggleFormatPanel=function(a){null!=this.formatWindow&&this.formatWindow.window.setVisible(a?!1:!this.formatWindow.window.isVisible())};DiagramFormatPanel.prototype.isMathOptionVisible=function(){return!0};var g= EditorUi.prototype.destroy;EditorUi.prototype.destroy=function(){null!=this.sidebarWindow&&(this.sidebarWindow.window.setVisible(!1),this.sidebarWindow.window.destroy(),this.sidebarWindow=null);null!=this.formatWindow&&(this.formatWindow.window.setVisible(!1),this.formatWindow.window.destroy(),this.formatWindow=null);null!=this.actions.outlineWindow&&(this.actions.outlineWindow.window.setVisible(!1),this.actions.outlineWindow.window.destroy(),this.actions.outlineWindow=null);null!=this.actions.layersWindow&& -(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);g.apply(this,arguments)};var m=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= -function(a){m.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+ +(this.actions.layersWindow.window.setVisible(!1),this.actions.layersWindow.window.destroy(),this.actions.layersWindow=null);null!=this.menus.tagsWindow&&(this.menus.tagsWindow.window.setVisible(!1),this.menus.tagsWindow.window.destroy(),this.menus.tagsWindow=null);null!=this.menus.findWindow&&(this.menus.findWindow.window.setVisible(!1),this.menus.findWindow.window.destroy(),this.menus.findWindow=null);g.apply(this,arguments)};var u=EditorUi.prototype.setGraphEnabled;EditorUi.prototype.setGraphEnabled= +function(a){u.apply(this,arguments);a||(null!=this.sidebarWindow&&this.sidebarWindow.window.setVisible(!1),null!=this.formatWindow&&this.formatWindow.window.setVisible(!1))};EditorUi.prototype.chromelessWindowResize=function(){};var t=Menus.prototype.init;Menus.prototype.init=function(){t.apply(this,arguments);var c=this.editorUi,d=c.editor.graph;c.actions.get("insertText").label=mxResources.get("text");c.actions.get("insertText").label=mxResources.get("text");c.actions.get("editDiagram").label=mxResources.get("formatXml")+ "...";c.actions.get("insertRectangle").label=mxResources.get("rectangle");c.actions.get("insertEllipse").label=mxResources.get("ellipse");c.actions.get("insertRhombus").label=mxResources.get("rhombus");c.actions.get("insertImage").label=mxResources.get("image")+"...";c.actions.get("insertLink").label=mxResources.get("link")+"...";c.actions.get("createShape").label=mxResources.get("shape")+"...";c.actions.get("outline").label=mxResources.get("outline")+"...";c.actions.get("layers").label=mxResources.get("layers")+ "...";c.actions.put("importFile",new Action("File...",function(){d.popupMenuHandler.hideMenu();var a=document.createElement("input");a.setAttribute("type","file");mxEvent.addListener(a,"change",function(){null!=a.files&&c.importFiles(a.files,null,null,c.maxImageSize)});a.click()}));c.actions.put("importCsv",new Action(mxResources.get("csv")+"...",function(){d.popupMenuHandler.hideMenu();c.showImportCsvDialog()}));c.actions.put("importText",new Action(mxResources.get("text")+"...",function(){var a= new ParseDialog(c,"Insert from Text");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("formatSql",new Action(mxResources.get("formatSql")+"...",function(){var a=new ParseDialog(c,"Insert from Text","formatSql");c.showDialog(a.container,620,420,!0,!1);a.init()}));c.actions.put("toggleShapes",new Action(mxResources.get("shapes")+"...",function(){b(c)}));c.actions.put("toggleFormat",new Action(mxResources.get("format")+"...",function(){a(c)}));EditorUi.enablePlantUml&&c.actions.put("plantUml", @@ -3121,86 +3128,86 @@ new Action(mxResources.get("plantUml")+"...",function(){var a=new ParseDialog(c, b):c.menus.addMenuItems(a,["save","saveAs","-","rename","makeCopy"],b);null==d||d.constructor!=DriveFile&&d.constructor!=DropboxFile||c.menus.addMenuItems(a,["-","revisionHistory"],b);c.menus.addMenuItems(a,["-","autosave"],b)})));var g=this.get("exportAs");this.put("exportAs",new Menu(mxUtils.bind(this,function(a,b){g.funct(a,b);a.addSeparator(b);c.menus.addSubmenu("embed",a,b);c.menus.addMenuItems(a,["publishLink"],b)})));var h=this.get("language");this.put("preferences",new Menu(mxUtils.bind(this, function(a,b){"1"!=urlParams.embed&&c.menus.addSubmenu("theme",a,b);null!=h&&c.menus.addSubmenu("language",a,b);a.addSeparator(b);c.menus.addMenuItems(a,["scrollbars","tooltips","pageScale"],b);"1"!=urlParams.embed&&isLocalStorage&&c.menus.addMenuItems(a,["-","search","scratchpad","-","showStartScreen"],b);c.isOfflineApp()||"1"==urlParams.embed||c.menus.addMenuItems(a,["-","plugins"],b)})));this.put("insertAdvanced",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"importText createShape plantUml - importCsv formatSql editDiagram".split(" "), b)})));mxResources.parse("insertLayout="+mxResources.get("layout"));mxResources.parse("insertAdvanced="+mxResources.get("advanced"));this.put("insert",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"insertRectangle insertEllipse insertRhombus - insertText insertLink - insertImage".split(" "),b);c.menus.addSubmenu("importFrom",a,b);a.addSeparator(b);c.menus.addSubmenu("insertLayout",a,b);c.menus.addSubmenu("insertAdvanced",a,b)})));var k="horizontalFlow verticalFlow - horizontalTree verticalTree radialTree - organic circle".split(" "), -l=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):l(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "), -b)})))};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=l.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c? +m=function(a,b,d,e){a.addItem(d,null,mxUtils.bind(this,function(){var a=new CreateGraphDialog(c,d,e);c.showDialog(a.container,620,420,!0,!1);a.init()}),b)};this.put("insertLayout",new Menu(mxUtils.bind(this,function(a,b){for(var c=0;c<k.length;c++)"-"==k[c]?a.addSeparator(b):m(a,b,mxResources.get(k[c])+"...",k[c])})));this.put("options",new Menu(mxUtils.bind(this,function(a,b){c.menus.addMenuItems(a,"grid guides - connectionArrows connectionPoints - copyConnect collapseExpand - mathematicalTypesetting".split(" "), +b)})))};var h=EditorUi.prototype.init;EditorUi.prototype.init=function(){function a(a,b,c,d){var e=f.menus.get(a),g=m.addMenu(mxResources.get(a),mxUtils.bind(this,function(){e.funct.apply(this,arguments)}));g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.top="6px";g.style.marginRight="6px";g.style.height="30px";g.style.paddingTop="6px";g.style.paddingBottom="6px";g.setAttribute("title",mxResources.get(a));f.menus.menuCreated(e,g,"geMenuItem");null!=c? (g.style.backgroundImage="url("+c+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px",g.innerHTML="",mxUtils.setOpacity(g,d||40)):b||(g.style.backgroundImage="url("+mxWindow.prototype.normalizeImage+")",g.style.backgroundPosition="right 6px center",g.style.backgroundRepeat="no-repeat",g.style.paddingRight="22px");return g}function b(a,b,c,d,e,f){var g=document.createElement("a");g.setAttribute("href","javascript:void(0)"); g.className="geMenuItem";g.style.display="inline-block";g.style.boxSizing="border-box";g.style.height="30px";g.style.padding="6px";g.style.position="relative";g.style.verticalAlign="top";g.style.top="0px";k.appendChild(g);null!=f?(g.style.backgroundImage="url("+f+")",g.style.backgroundPosition="center center",g.style.backgroundRepeat="no-repeat",g.style.backgroundSize="24px 24px",g.style.width="34px"):mxUtils.write(g,a);mxEvent.addListener(g,"click",function(a){"disabled"!=g.getAttribute("disabled")&& b(a);mxEvent.consume(a)});null==c&&(g.style.marginRight="4px");null!=d&&g.setAttribute("title",d);mxUtils.setOpacity(g,null!=f?40:100);null!=e&&(a=function(){e.isEnabled()?(g.removeAttribute("disabled"),mxUtils.setOpacity(g,null!=f?40:100),g.style.cursor=""):(g.setAttribute("disabled","disabled"),mxUtils.setOpacity(g,null!=f?10:20),g.style.cursor="default")},e.addListener("stateChanged",a),a());return g}function c(a){var b=document.createElement("div");b.className="geMenuItem";b.style.display="inline-block"; b.style.verticalAlign="top";b.style.marginRight="6px";b.style.padding="0 4px 0 4px";b.style.height="30px";b.style.position="relative";b.style.top="0px";for(var c=0;c<a.length;c++)null!=a[c]&&(a[c].style.margin="0px",a[c].style.boxShadow="none",b.appendChild(a[c]));k.appendChild(b);return b}h.apply(this,arguments);var d=document.createElement("div");d.style.cssText="position:absolute;left:0px;right:0px;top:0px;overflow-y:auto;overflow-x:hidden;";d.style.bottom="1"!=urlParams.embed||"1"==urlParams.libraries? -"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var l=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", +"63px":"32px";this.sidebar=this.createSidebar(d);var f=this,g=f.editor.graph;f.toolbar=this.createToolbar(f.createDiv("geToolbar"));f.defaultLibraryName=mxResources.get("untitledLibrary");var k=document.createElement("div");k.style.cssText="position:absolute;left:0px;right:0px;top:0px;height:30px;padding:8px;border-bottom:1px solid lightgray;background-color:#ffffff;text-align:left;white-space:nowrap;";var m=new Menubar(f,k);(d=900>e)||a("diagram");c([d?a("diagram",null,IMAGE_PATH+"/drawlogo-gray.svg", 100):null,b(mxResources.get("shapes"),f.actions.get("toggleShapes").funct,null,mxResources.get("shapes"),f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTMgMTN2OGg4di04aC04ek0zIDIxaDh2LThIM3Y4ek0zIDN2OGg4VjNIM3ptMTMuNjYtMS4zMUwxMSA3LjM0IDE2LjY2IDEzbDUuNjYtNS42Ni01LjY2LTUuNjV6Ii8+PC9zdmc+":null),b(mxResources.get("format"),f.actions.get("toggleFormat").funct,null,mxResources.get("format")+ " ("+f.actions.get("formatPanel").shortcut+")",f.actions.get("image"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIgM2MtNC45NyAwLTkgNC4wMy05IDlzNC4wMyA5IDkgOWMuODMgMCAxLjUtLjY3IDEuNS0xLjUgMC0uMzktLjE1LS43NC0uMzktMS4wMS0uMjMtLjI2LS4zOC0uNjEtLjM4LS45OSAwLS44My42Ny0xLjUgMS41LTEuNUgxNmMyLjc2IDAgNS0yLjI0IDUtNSAwLTQuNDItNC4wMy04LTktOHptLTUuNSA5Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTNS42NyA5IDYuNSA5IDggOS42NyA4IDEwLjUgNy4zMyAxMiA2LjUgMTJ6bTMtNEM4LjY3IDggOCA3LjMzIDggNi41UzguNjcgNSA5LjUgNXMxLjUuNjcgMS41IDEuNVMxMC4zMyA4IDkuNSA4em01IDBjLS44MyAwLTEuNS0uNjctMS41LTEuNVMxMy42NyA1IDE0LjUgNXMxLjUuNjcgMS41IDEuNVMxNS4zMyA4IDE0LjUgOHptMyA0Yy0uODMgMC0xLjUtLjY3LTEuNS0xLjVTMTYuNjcgOSAxNy41IDlzMS41LjY3IDEuNSAxLjUtLjY3IDEuNS0xLjUgMS41eiIvPjwvc3ZnPg==": -null)]);var m=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([m,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": -null)]);if(480<=e){var p=f.actions.get("undo"),d=f.actions.get("redo"),p=b("",p.funct,null,mxResources.get("undo")+" ("+p.shortcut+")",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct, -null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([p,d]);if(560<=e){var d=f.actions.get("zoomIn"),p=f.actions.get("zoomOut"),r=f.actions.get("resetView"); -c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), +null)]);var p=a("insert",!0,d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTkgMTNoLTZ2NmgtMnYtNkg1di0yaDZWNWgydjZoNnYyeiIvPjwvc3ZnPg==":null,40);c([p,b(mxResources.get("delete"),f.actions.get("delete").funct,null,mxResources.get("delete"),f.actions.get("delete"),d?"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIvPjwvc3ZnPg==": +null)]);if(480<=e){var r=f.actions.get("undo"),d=f.actions.get("redo"),r=b("",r.funct,null,mxResources.get("undo")+" ("+r.shortcut+")",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTIuNSA4Yy0yLjY1IDAtNS4wNS45OS02LjkgMi42TDIgN3Y5aDlsLTMuNjItMy42MmMxLjM5LTEuMTYgMy4xNi0xLjg4IDUuMTItMS44OCAzLjU0IDAgNi41NSAyLjMxIDcuNiA1LjVsMi4zNy0uNzhDMjEuMDggMTEuMDMgMTcuMTUgOCAxMi41IDh6Ii8+PC9zdmc+"),d=b("",d.funct, +null,mxResources.get("redo")+" ("+d.shortcut+")",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTguNCAxMC42QzE2LjU1IDguOTkgMTQuMTUgOCAxMS41IDhjLTQuNjUgMC04LjU4IDMuMDMtOS45NiA3LjIyTDMuOSAxNmMxLjA1LTMuMTkgNC4wNS01LjUgNy42LTUuNSAxLjk1IDAgMy43My43MiA1LjEyIDEuODhMMTMgMTZoOVY3bC0zLjYgMy42eiIvPjwvc3ZnPg==");c([r,d]);if(560<=e){var d=f.actions.get("zoomIn"),r=f.actions.get("zoomOut"),t=f.actions.get("resetView"); +c([b("",function(){g.popupMenuHandler.hideMenu();var a=g.view.scale,b=g.view.translate.x,c=g.view.translate.y;f.actions.get("resetView").funct();1E-5>Math.abs(a-g.view.scale)&&b==g.view.translate.x&&c==g.view.translate.y&&f.actions.get(g.pageVisible?"fitPage":"fitWindow").funct()},!0,mxResources.get("fit")+" ("+Editor.ctrlKey+"+H)",t,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMyA1djRoMlY1aDRWM0g1Yy0xLjEgMC0yIC45LTIgMnptMiAxMEgzdjRjMCAxLjEuOSAyIDIgMmg0di0ySDV2LTR6bTE0IDRoLTR2Mmg0YzEuMSAwIDItLjkgMi0ydi00aC0ydjR6bTAtMTZoLTR2Mmg0djRoMlY1YzAtMS4xLS45LTItMi0yeiIvPjwvc3ZnPg=="), 640<=e?b("",d.funct,!0,mxResources.get("zoomIn")+" ("+Editor.ctrlKey+" +)",d,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHptMi41LTRoLTJ2Mkg5di0ySDdWOWgyVjdoMXYyaDJ2MXoiLz48L3N2Zz4="): -null,640<=e?b("",p.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",p,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): -null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var t=f.descriptorChanged;f.descriptorChanged=function(){t.apply(this,arguments);var a=f.getCurrentFile(); +null,640<=e?b("",r.funct,!0,mxResources.get("zoomOut")+" ("+Editor.ctrlKey+" -)",r,"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTUuNSAxNGgtLjc5bC0uMjgtLjI3QzE1LjQxIDEyLjU5IDE2IDExLjExIDE2IDkuNSAxNiA1LjkxIDEzLjA5IDMgOS41IDNTMyA1LjkxIDMgOS41IDUuOTEgMTYgOS41IDE2YzEuNjEgMCAzLjA5LS41OSA0LjIzLTEuNTdsLjI3LjI4di43OWw1IDQuOTlMMjAuNDkgMTlsLTQuOTktNXptLTYgMEM3LjAxIDE0IDUgMTEuOTkgNSA5LjVTNy4wMSA1IDkuNSA1IDE0IDcuMDEgMTQgOS41IDExLjk5IDE0IDkuNSAxNHpNNyA5aDV2MUg3eiIvPjwvc3ZnPg=="): +null])}}f.statusContainer=f.createStatusContainer();f.statusContainer.style.position="relative";f.statusContainer.style.maxWidth="";f.statusContainer.style.marginTop="7px";f.statusContainer.style.marginLeft="6px";f.statusContainer.style.color="gray";f.statusContainer.style.cursor="default";f.editor.addListener("statusChanged",mxUtils.bind(this,function(){f.setStatusText(f.editor.getStatus())}));var u=f.descriptorChanged;f.descriptorChanged=function(){u.apply(this,arguments);var a=f.getCurrentFile(); if(null!=a&&null!=a.getTitle()){var b=a.getMode();"google"==b?b="googleDrive":"github"==b?b="gitHub":"onedrive"==b&&(b="oneDrive");b=mxResources.get(b);k.setAttribute("title",a.getTitle()+(null!=b?" ("+b+")":""))}else k.removeAttribute("title")};f.setStatusText(f.editor.getStatus());k.appendChild(f.statusContainer);f.buttonContainer=document.createElement("div");f.buttonContainer.style.cssText="position:absolute;right:40px;top:12px;white-space:nowrap;";k.appendChild(f.buttonContainer);f.menubarContainer= -f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(m=l.addMenu("",d.funct),m.setAttribute("title",mxResources.get("language")),m.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", -m.style.backgroundPosition="center center",m.style.backgroundRepeat="no-repeat",m.style.backgroundSize="24px 24px",m.style.position="absolute",m.style.height="24px",m.style.width="24px",m.style.zIndex="1",m.style.top="11px",m.style.right="14px",mxUtils.setOpacity(m,30),k.appendChild(m));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; -d=f.diagramContainer.parentNode;p=document.createElement("div");p.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";r=f.menus.get("viewZoom");if(null!=r){this.tabContainer.style.right="70px";m=l.addMenu("100%",r.funct);m.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");m.style.whiteSpace="nowrap";m.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";m.style.backgroundPosition= -"right 6px center";m.style.backgroundRepeat="no-repeat";m.style.paddingRight="10px";m.style.display="block";m.style.position="absolute";m.style.textDecoration="none";m.style.textDecoration="none";m.style.right="0px";m.style.bottom="0px";m.style.overflow="hidden";m.style.textAlign="center";m.style.color="#000";m.style.fontSize="12px";m.style.color="#707070";m.style.width="59px";m.style.borderTop="1px solid lightgray";m.style.borderLeft="1px solid lightgray";m.style.height=parseInt(f.tabContainer.style.height)- -1+"px";m.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";p.appendChild(m);r=mxUtils.bind(this,function(){m.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,r);f.editor.addListener("resetGraphView",r);f.editor.addListener("pageSelected",r);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(m.style.visibility=this.tabContainer.style.visibility)}}p.appendChild(f.tabContainer); -p.appendChild(k);p.appendChild(f.diagramContainer);d.appendChild(p);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}}; -(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; +f.buttonContainer;d=this.menus.get("language");null!=d&&!mxClient.IS_CHROMEAPP&&!EditorUi.isElectronApp&&480<=e&&(p=m.addMenu("",d.funct),p.setAttribute("title",mxResources.get("language")),p.style.backgroundImage="url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBkPSJNMTEuOTkgMkM2LjQ3IDIgMiA2LjQ4IDIgMTJzNC40NyAxMCA5Ljk5IDEwQzE3LjUyIDIyIDIyIDE3LjUyIDIyIDEyUzE3LjUyIDIgMTEuOTkgMnptNi45MyA2aC0yLjk1Yy0uMzItMS4yNS0uNzgtMi40NS0xLjM4LTMuNTYgMS44NC42MyAzLjM3IDEuOTEgNC4zMyAzLjU2ek0xMiA0LjA0Yy44MyAxLjIgMS40OCAyLjUzIDEuOTEgMy45NmgtMy44MmMuNDMtMS40MyAxLjA4LTIuNzYgMS45MS0zLjk2ek00LjI2IDE0QzQuMSAxMy4zNiA0IDEyLjY5IDQgMTJzLjEtMS4zNi4yNi0yaDMuMzhjLS4wOC42Ni0uMTQgMS4zMi0uMTQgMiAwIC42OC4wNiAxLjM0LjE0IDJINC4yNnptLjgyIDJoMi45NWMuMzIgMS4yNS43OCAyLjQ1IDEuMzggMy41Ni0xLjg0LS42My0zLjM3LTEuOS00LjMzLTMuNTZ6bTIuOTUtOEg1LjA4Yy45Ni0xLjY2IDIuNDktMi45MyA0LjMzLTMuNTZDOC44MSA1LjU1IDguMzUgNi43NSA4LjAzIDh6TTEyIDE5Ljk2Yy0uODMtMS4yLTEuNDgtMi41My0xLjkxLTMuOTZoMy44MmMtLjQzIDEuNDMtMS4wOCAyLjc2LTEuOTEgMy45NnpNMTQuMzQgMTRIOS42NmMtLjA5LS42Ni0uMTYtMS4zMi0uMTYtMiAwLS42OC4wNy0xLjM1LjE2LTJoNC42OGMuMDkuNjUuMTYgMS4zMi4xNiAyIDAgLjY4LS4wNyAxLjM0LS4xNiAyem0uMjUgNS41NmMuNi0xLjExIDEuMDYtMi4zMSAxLjM4LTMuNTZoMi45NWMtLjk2IDEuNjUtMi40OSAyLjkzLTQuMzMgMy41NnpNMTYuMzYgMTRjLjA4LS42Ni4xNC0xLjMyLjE0LTIgMC0uNjgtLjA2LTEuMzQtLjE0LTJoMy4zOGMuMTYuNjQuMjYgMS4zMS4yNiAycy0uMSAxLjM2LS4yNiAyaC0zLjM4eiIvPjwvc3ZnPg==)", +p.style.backgroundPosition="center center",p.style.backgroundRepeat="no-repeat",p.style.backgroundSize="24px 24px",p.style.position="absolute",p.style.height="24px",p.style.width="24px",p.style.zIndex="1",p.style.top="11px",p.style.right="14px",mxUtils.setOpacity(p,30),k.appendChild(p));f.tabContainer=document.createElement("div");f.tabContainer.style.cssText="position:absolute;left:0px;right:0px;bottom:0px;height:30px;white-space:nowrap;border-bottom:1px solid lightgray;background-color:#ffffff;border-top:1px solid lightgray;margin-bottom:-2px;"; +d=f.diagramContainer.parentNode;r=document.createElement("div");r.style.cssText="position:absolute;top:0px;left:0px;right:0px;bottom:0px;overflow:hidden;";f.diagramContainer.style.top="47px";f.diagramContainer.style.bottom="30px";t=f.menus.get("viewZoom");if(null!=t){this.tabContainer.style.right="70px";p=m.addMenu("100%",t.funct);p.setAttribute("title",mxResources.get("zoom")+" (Alt+Mousewheel)");p.style.whiteSpace="nowrap";p.style.backgroundImage="url("+mxWindow.prototype.minimizeImage+")";p.style.backgroundPosition= +"right 6px center";p.style.backgroundRepeat="no-repeat";p.style.paddingRight="10px";p.style.display="block";p.style.position="absolute";p.style.textDecoration="none";p.style.textDecoration="none";p.style.right="0px";p.style.bottom="0px";p.style.overflow="hidden";p.style.textAlign="center";p.style.color="#000";p.style.fontSize="12px";p.style.color="#707070";p.style.width="59px";p.style.borderTop="1px solid lightgray";p.style.borderLeft="1px solid lightgray";p.style.height=parseInt(f.tabContainer.style.height)- +1+"px";p.style.lineHeight=parseInt(f.tabContainer.style.height)+1+"px";r.appendChild(p);t=mxUtils.bind(this,function(){p.innerHTML=Math.round(100*f.editor.graph.view.scale)+"%"});f.editor.graph.view.addListener(mxEvent.EVENT_SCALE,t);f.editor.addListener("resetGraphView",t);f.editor.addListener("pageSelected",t);var v=f.setGraphEnabled;f.setGraphEnabled=function(){v.apply(this,arguments);null!=this.tabContainer&&(p.style.visibility=this.tabContainer.style.visibility)}}r.appendChild(f.tabContainer); +r.appendChild(k);r.appendChild(f.diagramContainer);d.appendChild(r);f.updateTabContainer();mxEvent.addListener(window,"resize",function(){null!=f.sidebarWindow&&f.sidebarWindow.window.fit();null!=f.formatWindow&&f.formatWindow.window.fit();null!=f.actions.outlineWindow&&f.actions.outlineWindow.window.fit();null!=f.actions.layersWindow&&f.actions.layersWindow.window.fit();null!=f.menus.tagsWindow&&f.menus.tagsWindow.window.fit();null!=f.menus.findWindow&&f.menus.findWindow.window.fit()})}}}; +(function(){var a=!1;"min"!=uiTheme||a||mxClient.IS_CHROMEAPP||(EditorUi.initMinimalTheme(),a=!0);var b=EditorUi.initTheme;EditorUi.initTheme=function(){b.apply(this,arguments);"min"!=uiTheme||a||(this.initMinimalTheme(),a=!0)}})();mxResources.parse("# *DO NOT DIRECTLY EDIT THIS FILE, IT IS AUTOMATICALLY GENERATED AND IT IS BASED ON:*\n# https://docs.google.com/spreadsheet/ccc?key=0AmQEO36liL4FdDJLWVNMaVV2UmRKSnpXU09MYkdGbEE\naboutDrawio=About draw.io\naccessDenied=Access Denied\naction=Action\nactualSize=Actual Size\nadd=Add\naddedFile=Added {1}\naddImages=Add Images\naddImageUrl=Add Image URL\naddLayer=Add Layer\naddProperty=Add Property\naddress=Address\naddToExistingDrawing=Add to Existing Drawing\naddWaypoint=Add Waypoint\nadjustTo=Adjust to\nadvanced=Advanced\nalign=Align\nalignment=Alignment\nallChangesLost=All changes will be lost!\nallPages=All Pages\nallProjects=All Projects\nallSpaces=All Spaces\nallTags=All Tags\nanchor=Anchor\nandroid=Android\nangle=Angle\narc=Arc\nareYouSure=Are you sure?\nensureDataSaved=Please ensure your data is saved before closing.\nallChangesSaved=All changes saved\nallChangesSavedInDrive=All changes saved in Drive\nallowPopups=Allow pop-ups to avoid this dialog.\nallowRelativeUrl=Allow relative URL\nalreadyConnected=Nodes already connected\napply=Apply\narchiMate21=ArchiMate 2.1\narrange=Arrange\narrow=Arrow\narrows=Arrows\nasNew=As New\natlas=Atlas\nauthor=Author\nauthorizationRequired=Authorization required\nauthorizeThisAppIn=Authorize this app in {1}:\nauthorize=Authorize\nauthorizing=Authorizing\nautomatic=Automatic\nautosave=Autosave\nautosize=Autosize\nattachments=Attachments\naws=AWS\naws3d=AWS 3D\nazure=Azure\nbackground=Background\nbackgroundColor=Background Color\nbackgroundImage=Background Image\nbasic=Basic\nblankDrawing=Blank Drawing\nblankDiagram=Blank Diagram\nblock=Block\nblockquote=Blockquote\nblog=Blog\nbold=Bold\nbootstrap=Bootstrap\nborder=Border\nborderColor=Border Color\nborderWidth=Borderwidth\nbottom=Bottom\nbottomAlign=Bottom Align\nbottomLeft=Bottom Left\nbottomRight=Bottom Right\nbpmn=BPMN\nbrowser=Browser\nbulletedList=Bulleted List\nbusiness=Business\nbusy=Operation in progress\ncabinets=Cabinets\ncancel=Cancel\ncenter=Center\ncannotLoad=Load attempts failed. Please try again later.\ncannotLogin=Log in attempts failed. Please try again later.\ncannotOpenFile=Cannot open file\nchange=Change\nchangeOrientation=Change Orientation\nchangeUser=Change user\nchangesNotSaved=Changes have not been saved\nchatJoined={1} has joined\nchatLeft={1} has left\nchatWindowTitle=Chat\nchooseAnOption=Choose an option\nchromeApp=Chrome App\ncompressed=Compressed\ncommitMessage=Commit Message\ncsv=CSV\ndark=Dark\ndraftFound=A draft for '{1}' has been found. Load it into the editor or discard it to continue.\ndragAndDropNotSupported=Drag and drop not supported for images. Would you like to import instead?\ndropboxCharsNotAllowed=The following characters are not allowed: / : ? * \" |\ncheck=Check\ncircle=Circle\ncisco=Cisco\nclassic=Classic\nclearDefaultStyle=Clear Default Style\nclearWaypoints=Clear Waypoints\nclipart=Clipart\nclose=Close\ncollaborator=Collaborator\ncollaborators=Collaborators\ncollapse=Collapse\ncollapseExpand=Collapse/Expand\ncollapse-expand=Click to collapse/expand\nShift-click to move neighbors \nAlt-click to protect group size\ncollapsible=Collapsible\ncomic=Comic\ncomment=Comment\ncommentsNotes=Comments/Notes\nconnect=Connect\nconnecting=Connecting\nconnectWithDrive=Connect with Google Drive\nconnection=Connection\nconnectionArrows=Connection Arrows\nconnectionPoints=Connection Points\nconstrainProportions=Constrain Proportions\ncontainsValidationErrors=Contains validation errors\ncopiedToClipboard=Copied to clipboard\ncopy=Copy\ncopyConnect=Copy on connect\ncopyOf=Copy of {1}\ncopyOfDrawing=Copy of Drawing\ncopySize=Copy Size\ncopyStyle=Copy Style\ncreate=Create\ncreateNewDiagram=Create New Diagram\ncreateRevision=Create Revision\ncreateShape=Create Shape\ncrop=Crop\ncurved=Curved\ncustom=Custom\ncurrent=Current\ncut=Cut\ndashed=Dashed\ndecideLater=Decide later\ndefault=Default\ndelete=Delete\ndeleteColumn=Delete Column\ndeleteLibrary401=Insufficient permissions to delete this library\ndeleteLibrary404=Selected library could not be found\ndeleteLibrary500=Error deleting library\ndeleteLibraryConfirm=You are about to permanently delete this library. Are you sure you want to do this?\ndeleteRow=Delete Row\ndescription=Description\ndevice=Device\ndiagram=Diagram\ndiagramContent=Diagram Content\ndiagramLocked=Diagram has been locked to prevent further data loss.\ndiagramLockedBySince=The diagram is locked by {1} since {2} ago\ndiagramName=Diagram Name\ndiagramIsPublic=Diagram is public\ndiagramIsNotPublic=Diagram is not public\ndiamond=Diamond\ndiamondThin=Diamond (thin)\ndidYouKnow=Did you know...\ndirection=Direction\ndiscard=Discard\ndiscardChangesAndReconnect=Discard Changes and Reconnect\ngoogleDriveMissingClickHere=Google Drive missing? Click here!\ndiscardChanges=Discard Changes\ndisconnected=Disconnected\ndistribute=Distribute\ndone=Done\ndotted=Dotted\ndoubleClickOrientation=Doubleclick to change orientation\ndoubleClickTooltip=Doubleclick to insert text\ndoubleClickChangeProperty=Doubleclick to change property name\ndownload=Download\ndownloadAs=Download as\nclickHereToSave=Click here to save.\ndraftDiscarded=Draft discarded\ndraftSaved=Draft saved\ndragElementsHere=Drag elements here\ndragImagesHere=Drag images or URLs here\ndragUrlsHere=Drag URLs here\ndraw.io=draw.io\ndrawing=Drawing{1}\ndrawingEmpty=Drawing is empty\ndrawingTooLarge=Drawing is too large\ndrawioForWork=Draw.io for GSuite\ndropbox=Dropbox\nduplicate=Duplicate\nduplicateIt=Duplicate {1}\ndivider=Divider\neast=East\nedit=Edit\neditData=Edit Data\neditDiagram=Edit Diagram\neditGeometry=Edit Geometry\neditImage=Edit Image\neditImageUrl=Edit Image URL\neditLink=Edit Link\neditShape=Edit Shape\neditStyle=Edit Style\neditText=Edit Text\neditTooltip=Edit Tooltip\nglass=Glass\ngoogleImages=Google Images\nimageSearch=Image Search\neip=EIP\nembed=Embed\nembedImages=Embed Images\nmainEmbedNotice=Paste this into the page\nelectrical=Electrical\nellipse=Ellipse\nembedNotice=Paste this once at the end of the page\nenterGroup=Enter Group\nenterName=Enter Name\nenterPropertyName=Enter Property Name\nenterValue=Enter Value\nentityRelation=Entity Relation\nerror=Error\nerrorDeletingFile=Error Deleting File\nerrorLoadingFile=Error loading file\nerrorRenamingFile=Error renaming file.\nerrorRenamingFileNotFound=Error renaming file. File was not found.\nerrorRenamingFileForbidden=Error renaming file. Insufficient access rights.\nerrorSavingDraft=Error saving draft\nerrorSavingFile=Error saving file\nerrorSavingFileUnknown=Error authorizing with Google's servers. Please refresh the page to re-attempt.\nerrorSavingFileForbidden=Error saving file. Insufficient access rights.\nerrorSavingFileNameConflict=Could not save diagram. Current page already contains file named '{1}'.\nerrorSavingFileNotFound=Error saving file. File was not found.\nerrorSavingFileReadOnlyMode=Could not save diagram while read-only mode is active.\nerrorSavingFileSessionTimeout=Your session has ended. Please <a target='_blank' href='{1}'>{2}</a> and return to this tab to try to save again.\nerrorSendingFeedback=Error sending feedback.\nerrorUpdatingPreview=Error updating preview.\nexit=Exit\nexitGroup=Exit Group\nexpand=Expand\nexport=Export\nexporting=Exporting\nexportAs=Export as\nexportOptionsDisabled=Export options disabled\nexportOptionsDisabledDetails=The owner has disabled options to download, print or copy for commenters and viewers on this file.\nextras=Extras\nfacebook=Facebook\nfailedToSaveTryReconnect=Failed to save, trying to reconnect\nfeatureRequest=Feature Request\nfeedback=Feedback\nfeedbackSent=Feedback successfully sent.\nfloorplans=Floorplans\nfile=File\nfileChangedOverwrite=File was changed. Overwrite changes?\noverwrite=Overwrite\nfilename=Filename\nfileExists=File already exists\nfileNearlyFullSeeFaq=File nearly full, please see FAQ\nfileNotFound=File not found\nrepositoryNotFound=Repository not found\nfileNotFoundOrDenied=The file was not found. It does not exist or you do not have read access.\nfileNotLoaded=File not loaded\nfileNotSaved=File not saved\nfileOpenLocation=How would you like to open these file(s)?\nfileWillBeSavedInAppFolder={1} will be saved in the app folder.\nfill=Fill\nfillColor=Fill Color\nfilterCards=Filter Cards\nfind=Find\nfit=Fit\nfitContainer=Resize Container\nfitIntoContainer=Fit into Container\nfitPage=Fit Page\nfitPageWidth=Fit Page Width\nfitTo=Fit to\nfitToSheetsAcross=sheet(s) across\nfitToBy=by\nfitToSheetsDown=sheet(s) down\nfitTwoPages=Two Pages\nfitWindow=Fit Window\nflip=Flip\nflipH=Flip Horizontal\nflipV=Flip Vertical\nflowchart=Flowchart\nfolder=Folder\nfont=Font\nfontColor=Font Color\nfontFamily=Font Family\nfontSize=Font Size\nforbidden=You are not authorized to access this file\nformat=Format\nformatPanel=Format Panel\nformatted=Formatted\nformattedText=Formatted Text\nformatPng=PNG\nformatGif=GIF\nformatJpg=JPEG\nformatPdf=PDF\nformatSql=SQL\nformatSvg=SVG\nformatHtmlEmbedded=HTML\nformatSvgEmbedded=SVG (with XML)\nformatVsdx=VSDX\nformatVssx=VSSX\nformatXmlPlain=XML (Plain)\nformatXml=XML\nforum=Discussion/Help Forums\nfromTemplate=From Template\nfromTemplateUrl=From Template URL\nfromText=From Text\nfromUrl=From URL\nfromThisPage=From this page\nfullscreen=Fullscreen\ngap=Gap\ngeneral=General\ngithub=GitHub\ngliffy=Gliffy\nglobal=Global\ngoogleDocs=Google Docs\ngoogleDrive=Google Drive\ngoogleGadget=Google Gadget\ngooglePlus=Google+\ngoogleSites=Google Sites\ngradient=Gradient\ngradientColor=Color\ngrid=Grid\ngridColor=Grid Color\ngridSize=Grid Size\ngroup=Group\nguides=Guides\nhateApp=I hate draw.io\nheading=Heading\nheight=Height\nhelp=Help\nhelpTranslate=Help us translate this application\nhide=Hide\nhideIt=Hide {1}\nhidden=Hidden\nhome=Home\nhorizontal=Horizontal\nhorizontalFlow=Horizontal Flow\nhorizontalTree=Horizontal Tree\nhowTranslate=How good is the translation in your language?\nhtml=HTML\nhtmlText=HTML Text\nid=ID\niframe=IFrame\nignore=Ignore\nimage=Image\nimageUrl=Image URL\nimages=Images\nimagePreviewError=This image couldn't be loaded for preview. Please check the URL.\nimageTooBig=Image too big\nimgur=Imgur\nimport=Import\nimportFrom=Import from\nincludeCopyOfMyDiagram=Include a copy of my diagram\nincreaseIndent=Increase Indent\ndecreaseIndent=Decrease Indent\ninsert=Insert\ninsertColumnBefore=Insert Column Left\ninsertColumnAfter=Insert Column Right\ninsertEllipse=Insert Ellipse\ninsertImage=Insert Image\ninsertHorizontalRule=Insert Horizontal Rule\ninsertLink=Insert Link\ninsertPage=Insert Page\ninsertRectangle=Insert Rectangle\ninsertRhombus=Insert Rhombus\ninsertRowBefore=Insert Row Above\ninsertRowAfter=Insert Row After\ninsertText=Insert Text\ninserting=Inserting\ninvalidFilename=Diagram names must not contain the following characters: / | : ; { } < > & + ? = \"\ninvalidLicenseSeeThisPage=Your license is invalid, please see this <a target=\"_blank\" href=\"https://support.draw.io/display/DFCS/Licensing+your+draw.io+plugin\">page</a>.\ninvalidName=Invalid name\ninvalidOrMissingFile=Invalid or missing file\ninvalidPublicUrl=Invalid public URL\nisometric=Isometric\nios=iOS\nitalic=Italic\nkennedy=Kennedy\nkeyboardShortcuts=Keyboard Shortcuts\nlayers=Layers\nlandscape=Landscape\nlanguage=Language\nleanMapping=Lean Mapping\nlastChange=Last change {1} ago\nlessThanAMinute=less than a minute\nlicensingError=Licensing Error\nlicenseHasExpired=The license for {1} has expired on {2}. Click here.\nlicenseWillExpire=The license for {1} will expire on {2}. Click here.\nlineJumps=Line jumps\nlinkAccountRequired=If the diagram is not public a Google account is required to view the link.\nlinkText=Link Text\nlist=List\nminute=minute\nminutes=minutes\nhours=hours\ndays=days\nmonths=months\nyears=years\nrestartForChangeRequired=Changes will take effect after page refresh.\nlaneColor=Lanecolor\nlastModified=Last modified\nlayout=Layout\nleft=Left\nleftAlign=Left Align\nleftToRight=Left to right\nlibraryTooltip=Drag and drop shapes here or click + to insert. Double click to edit.\nlightbox=Lightbox\nline=Line\nlineend=Line end\nlineheight=Line Height\nlinestart=Line start\nlinewidth=Linewidth\nlink=Link\nlinks=Links\nloading=Loading\nlockUnlock=Lock/Unlock\nloggedOut=Logged Out\nlogIn=log in\nloveIt=I love {1}\nlucidchart=Lucidchart\nmaps=Maps\nmathematicalTypesetting=Mathematical Typesetting\nmakeCopy=Make a Copy\nmanual=Manual\nmiddle=Middle\nminimal=Minimal\nmisc=Misc\nmockups=Mockups\nmodificationDate=Modification date\nmodifiedBy=Modified by\nmore=More\nmoreResults=More Results\nmoreShapes=More Shapes\nmove=Move\nmoveToFolder=Move to Folder\nmoving=Moving\nmoveSelectionTo=Move selection to {1}\nname=Name\nnavigation=Navigation\nnetwork=Network\nnetworking=Networking\nnew=New\nnewLibrary=New Library\nnextPage=Next Page\nnoAttachments=No attachments found\nnoColor=No Color\nnoFiles=No Files\nnoFileSelected=No file selected\nnoLibraries=No libraries found\nnoMoreResults=No more results\nnone=None\nnoOtherViewers=No other viewers\nnoPlugins=No plugins\nnoPreview=No preview\nnoResponse=No response from server\nnoResultsFor=No results for '{1}'\nnoRevisions=No revisions\nnoSearchResults=No search results found\nnoPageContentOrNotSaved=No anchors found on this page or it hasn't been saved yet\nnormal=Normal\nnorth=North\nnotADiagramFile=Not a diagram file\nnotALibraryFile=Not a library file\nnotAvailable=Not available\nnotAUtf8File=Not a UTF-8 file\nnotConnected=Not connected\nnote=Note\nnotUsingService=Not using {1}?\nnumberedList=Numbered list\noffline=Offline\nok=OK\noneDrive=OneDrive\nonline=Online\nopacity=Opacity\nopen=Open\nopenArrow=Open Arrow\nopenExistingDiagram=Open Existing Diagram\nopenFile=Open File\nopenFrom=Open from\nopenLibrary=Open Library\nopenLibraryFrom=Open Library from\nopenLink=Open Link\nopenInNewWindow=Open in New Window\nopenInThisWindow=Open in This Window\nopenIt=Open {1}\nopenRecent=Open Recent\nopenSupported=Supported formats are files saved from this software (.xml), .vsdx and .gliffy\noptions=Options\norganic=Organic\northogonal=Orthogonal\notherViewer=other viewer\notherViewers=other viewers\noutline=Outline\noval=Oval\npage=Page\npageContent=Page Content\npageNotFound=Page not found\npageWithNumber=Page-{1}\npages=Pages\npageView=Page View\npageSetup=Page Setup\npageScale=Page Scale\npan=Pan\npanTooltip=Space+Drag to pan\npaperSize=Paper Size\npattern=Pattern\npaste=Paste\npasteHere=Paste here\npasteSize=Paste Size\npasteStyle=Paste Style\nperimeter=Perimeter\npermissionAnyone=Anyone can edit\npermissionAuthor=Owner and admins can edit\npickFolder=Pick a folder\npickLibraryDialogTitle=Select Library\npublicDiagramUrl=Public URL of the diagram\nplaceholders=Placeholders\nplantUml=PlantUML\nplugins=Plugins\npluginUrl=Plugin URL\npluginWarning=The page has requested to load the following plugin(s):\n \n {1}\n \n Would you like to load these plugin(s) now?\n \n NOTE : Only allow plugins to run if you fully understand the security implications of doing so.\n\nplusTooltip=Click to connect and clone (ctrl+click to clone, shift+click to connect). Drag to connect (ctrl+drag to clone).\nportrait=Portrait\nposition=Position\nposterPrint=Poster Print\npreferences=Preferences\npreview=Preview\npreviousPage=Previous Page\nprint=Print\nprintAllPages=Print All Pages\nprocEng=Proc. Eng.\nproject=Project\npriority=Priority\nproperties=Properties\npublish=Publish\nquickStart=Quick Start Video\nrack=Rack\nradialTree=Radial Tree\nreadOnly=Read-only\nreconnecting=Reconnecting\nrecentlyUpdated=Recently Updated\nrecentlyViewed=Recently Viewed\nrectangle=Rectangle\nredirectToNewApp=This file was created or modified in a newer version of this app. You will be redirected now.\nrealtimeTimeout=It looks like you've made a few changes while offline. We're sorry, these changes cannot be saved.\nredo=Redo\nrefresh=Refresh\nregularExpression=Regular Expression\nrelativeUrlNotAllowed=Relative URL not allowed\nrememberMe=Remember me\nrememberThisSetting=Remember this setting\nremoveFormat=Clear Formatting\nremoveFromGroup=Remove from Group\nremoveIt=Remove {1}\nremoveWaypoint=Remove Waypoint\nrename=Rename\nrenamed=Renamed\nrenameIt=Rename {1}\nrenaming=Renaming\nreplace=Replace\nreplaceIt={1} already exists. Do you want to replace it?\nreplaceExistingDrawing=Replace existing drawing\nrequired=required\nreset=Reset\nresetView=Reset View\nresize=Resize\nresizeLargeImages=Do you want to resize large images to make the application run faster?\nretina=Retina\nresponsive=Responsive\nrestore=Restore\nrestoring=Restoring\nretryingIn=Retrying in {1} second(s)\nretryingLoad=Load failed. Retrying...\nretryingLogin=Login time out. Retrying...\nreverse=Reverse\nrevision=Revision\nrevisionHistory=Revision History\nrhombus=Rhombus\nright=Right\nrightAlign=Right Align\nrightToLeft=Right to left\nrotate=Rotate\nrotateTooltip=Click and drag to rotate, click to turn by 90 degrees\nrotation=Rotation\nrounded=Rounded\nsave=Save\nsaveAndExit=Save & Exit\nsaveAs=Save as\nsaveAsXmlFile=Save as XML file?\nsaved=Saved\nsaveDiagramsTo=Save diagrams to\nsaveLibrary403=Insufficient permissions to edit this library\nsaveLibrary500=There was an error while saving the library\nsaving=Saving\nscratchpad=Scratchpad\nscrollbars=Scrollbars\nsearch=Search\nsearchShapes=Search Shapes\nselectAll=Select All\nselectionOnly=Selection Only\nselectCard=Select Card\nselectEdges=Select Edges\nselectFile=Select File\nselectFolder=Select Folder\nselectFont=Select Font\nselectNone=Select None\nselectTemplate=Select Template\nselectVertices=Select Vertices\nsendMessage=Send\nsendYourFeedbackToDrawIo=Send your feedback to draw.io\nserviceUnavailableOrBlocked=Service unavailable or blocked\nsessionExpired=Your session has expired. Please refresh the browser window.\nsessionTimeoutOnSave=Your session has timed out and you have been disconnected from the Google Drive. Press OK to login and save. \nsetAsDefaultStyle=Set as Default Style\nshadow=Shadow\nshape=Shape\nshapes=Shapes\nshare=Share\nshareLink=Link for shared editing\nsharp=Sharp\nshow=Show\nshowStartScreen=Show Start Screen\nsidebarTooltip=Click to expand. Drag and drop shapes into the diagram. Shift+click to change selection. Alt+click to insert and connect.\nsigns=Signs\nsignOut=Sign out\nsimple=Simple\nsimpleArrow=Simple Arrow\nsize=Size\nsolid=Solid\nsourceSpacing=Source Spacing\nsouth=South\nsoftware=Software\nspace=Space\nspacing=Spacing\nspecialLink=Special Link\nstandard=Standard\nstarting=Starting\nstraight=Straight\nstrokeColor=Line Color\nstyle=Style\nsubscript=Subscript\nsummary=Summary\nsuperscript=Superscript\nsupport=Support\nsysml=SysML\ntags=Tags\ntable=Table\ntables=Tables\ntakeOver=Take Over\ntargetSpacing=Target Spacing\ntemplate=Template\ntemplates=Templates\ntext=Text\ntextAlignment=Text Alignment\ntextOpacity=Text Opacity\ntheme=Theme\ntimeout=Timeout\ntitle=Title\nto=to\ntoBack=To Back\ntoFront=To Front\ntooltips=Tooltips\ntop=Top\ntopAlign=Top Align\ntopLeft=Top Left\ntopRight=Top Right\ntransparent=Transparent\ntransparentBackground=Transparent Background\ntrello=Trello\ntryAgain=Try again\ntryOpeningViaThisPage=Try opening via this page.\nturn=Rotate 90°\ntype=Type\ntwitter=Twitter\numl=UML\nunderline=Underline\nundo=Undo\nungroup=Ungroup\nunsavedChanges=Unsaved changes\nunsavedChangesClickHereToSave=Unsaved changes. Click here to save.\nuntitled=Untitled\nuntitledDiagram=Untitled Diagram\nuntitledLayer=Untitled Layer\nuntitledLibrary=Untitled Library\nunknownError=Unknown error\nupdateFile=Update {1}\nupdatingDocument=Updating Document. Please wait...\nupdatingPreview=Updating Preview. Please wait...\nupdatingSelection=Updating Selection. Please wait...\nupload=Upload\nurl=URL\nuseRootFolder=Use root folder?\nuserManual=User Manual\nvertical=Vertical\nverticalFlow=Vertical Flow\nverticalTree=Vertical Tree\nview=View\nviewUrl=Link to view: {1}\nvoiceAssistant=Voice Assistant (beta)\nwarning=Warning\nwaypoints=Waypoints\nwest=West\nwidth=Width\nwiki=Wiki\nwordWrap=Word Wrap\nwritingDirection=Writing Direction\nyourEmailAddress=Your email address\nzoom=Zoom\nzoomIn=Zoom In\nzoomOut=Zoom Out\nbasic=Basic\nbusinessprocess=Business Processes\ncharts=Charts\nengineering=Engineering\nflowcharts=Flowcharts\ngmdl=Material Design\nmindmaps=Mindmaps\nmockups=Mockups\nnetworkdiagrams=Network Diagrams\nnothingIsSelected=Nothing is selected\nother=Other\nsoftwaredesign=Software Design\nvenndiagrams=Venn Diagrams\nwebEmailOrOther=Web, email or any other internet address\nwebLink=Web Link\nwireframes=Wireframes\n");Graph.prototype.defaultThemes[Graph.prototype.defaultThemeName]=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#ffffff"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#ffffff"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#000000"/><add as="fontColor" value="#000000"/></add><add as="fancy"><add as="shadow" value="1"/><add as="glass" value="1"/></add><add as="gray" extend="fancy"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="blue" extend="fancy"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="green" extend="fancy"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="turquoise" extend="fancy"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="yellow" extend="fancy"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="orange" extend="fancy"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="red" extend="fancy"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="pink" extend="fancy"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="purple" extend="fancy"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="plain-gray"><add as="gradientColor" value="#B3B3B3"/><add as="fillColor" value="#F5F5F5"/><add as="strokeColor" value="#666666"/></add><add as="plain-blue"><add as="gradientColor" value="#7EA6E0"/><add as="fillColor" value="#DAE8FC"/><add as="strokeColor" value="#6C8EBF"/></add><add as="plain-green"><add as="gradientColor" value="#97D077"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#82B366"/></add><add as="plain-turquoise"><add as="gradientColor" value="#67AB9F"/><add as="fillColor" value="#D5E8D4"/><add as="strokeColor" value="#6A9153"/></add><add as="plain-yellow"><add as="gradientColor" value="#FFD966"/><add as="fillColor" value="#FFF2CC"/><add as="strokeColor" value="#D6B656"/></add><add as="plain-orange"><add as="gradientColor" value="#FFA500"/><add as="fillColor" value="#FFCD28"/><add as="strokeColor" value="#D79B00"/></add><add as="plain-red"><add as="gradientColor" value="#EA6B66"/><add as="fillColor" value="#F8CECC"/><add as="strokeColor" value="#B85450"/></add><add as="plain-pink"><add as="gradientColor" value="#B5739D"/><add as="fillColor" value="#E6D0DE"/><add as="strokeColor" value="#996185"/></add><add as="plain-purple"><add as="gradientColor" value="#8C6C9C"/><add as="fillColor" value="#E1D5E7"/><add as="strokeColor" value="#9673A6"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#ffffff"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="white"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#ffffff"/></add></mxStylesheet>').documentElement; Graph.prototype.defaultThemes.darkTheme=mxUtils.parseXml('<mxStylesheet><add as="defaultVertex"><add as="shape" value="label"/><add as="perimeter" value="rectanglePerimeter"/><add as="fontSize" value="12"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="fillColor" value="#2a2a2a"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="defaultEdge"><add as="shape" value="connector"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="endArrow" value="classic"/><add as="fontSize" value="11"/><add as="fontFamily" value="Helvetica"/><add as="align" value="center"/><add as="verticalAlign" value="middle"/><add as="rounded" value="1"/><add as="strokeColor" value="#f0f0f0"/><add as="fontColor" value="#f0f0f0"/></add><add as="text"><add as="fillColor" value="none"/><add as="gradientColor" value="none"/><add as="strokeColor" value="none"/><add as="align" value="left"/><add as="verticalAlign" value="top"/></add><add as="label"><add as="fontStyle" value="1"/><add as="align" value="left"/><add as="verticalAlign" value="middle"/><add as="spacing" value="2"/><add as="spacingLeft" value="52"/><add as="imageWidth" value="42"/><add as="imageHeight" value="42"/><add as="rounded" value="1"/></add><add as="icon" extend="label"><add as="align" value="center"/><add as="imageAlign" value="center"/><add as="verticalLabelPosition" value="bottom"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="spacing" value="0"/><add as="spacingLeft" value="0"/><add as="spacingTop" value="6"/><add as="fontStyle" value="0"/><add as="imageWidth" value="48"/><add as="imageHeight" value="48"/></add><add as="swimlane"><add as="shape" value="swimlane"/><add as="fontSize" value="12"/><add as="fontStyle" value="1"/><add as="startSize" value="23"/></add><add as="group"><add as="verticalAlign" value="top"/><add as="fillColor" value="none"/><add as="strokeColor" value="none"/><add as="gradientColor" value="none"/><add as="pointerEvents" value="0"/></add><add as="ellipse"><add as="shape" value="ellipse"/><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombus"><add as="shape" value="rhombus"/><add as="perimeter" value="rhombusPerimeter"/></add><add as="triangle"><add as="shape" value="triangle"/><add as="perimeter" value="trianglePerimeter"/></add><add as="line"><add as="shape" value="line"/><add as="strokeWidth" value="4"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="spacingTop" value="8"/></add><add as="image"><add as="shape" value="image"/><add as="labelBackgroundColor" value="#2a2a2a"/><add as="verticalAlign" value="top"/><add as="verticalLabelPosition" value="bottom"/></add><add as="roundImage" extend="image"><add as="perimeter" value="ellipsePerimeter"/></add><add as="rhombusImage" extend="image"><add as="perimeter" value="rhombusPerimeter"/></add><add as="arrow"><add as="shape" value="arrow"/><add as="edgeStyle" value="none"/><add as="fillColor" value="#2a2a2a"/></add></mxStylesheet>').documentElement;GraphViewer=function(a,b,e){this.init(a,b,e)};mxUtils.extend(GraphViewer,mxEventSource);GraphViewer.prototype.editBlankUrl="https://www.draw.io/";GraphViewer.prototype.imageBaseUrl="https://www.draw.io/";GraphViewer.prototype.toolbarHeight="BackCompat"==document.compatMode?28:30;GraphViewer.prototype.lightboxChrome=!0;GraphViewer.prototype.lightboxZIndex=999;GraphViewer.prototype.toolbarZIndex=999;GraphViewer.prototype.autoFit=!0;GraphViewer.prototype.allowZoomIn=!1; GraphViewer.prototype.showTitleAsTooltip=!1;GraphViewer.prototype.checkVisibleState=!0; GraphViewer.prototype.init=function(a,b,e){this.graphConfig=null!=e?e:{};this.autoFit=null!=this.graphConfig["auto-fit"]?this.graphConfig["auto-fit"]:this.autoFit;this.allowZoomIn=null!=this.graphConfig["allow-zoom-in"]?this.graphConfig["allow-zoom-in"]:this.allowZoomIn;this.checkVisibleState=null!=this.graphConfig["check-visible-state"]?this.graphConfig["check-visible-state"]:this.checkVisibleState;this.toolbarItems=null!=this.graphConfig.toolbar?this.graphConfig.toolbar.split(" "):[];this.zoomEnabled= 0<=mxUtils.indexOf(this.toolbarItems,"zoom");this.layersEnabled=0<=mxUtils.indexOf(this.toolbarItems,"layers");this.lightboxEnabled=0<=mxUtils.indexOf(this.toolbarItems,"lightbox");this.lightboxClickEnabled=0!=this.graphConfig.lightbox;this.initialWidth=null!=a?a.style.width:null;this.widthIsEmpty=null!=this.initialWidth?""==this.initialWidth:!0;this.currentPage=parseInt(this.graphConfig.page)||0;this.editor=null;if(null!=b&&(this.xmlDocument=b.ownerDocument,this.xmlNode=b,this.xml=mxUtils.getXml(b), -null!=a)){var c=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);var c=this;this.graph.getImageFromBundles=function(a){return c.getImageUrl(a)}; -mxClient.IS_SVG&&this.editor.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==b.nodeName){var e=b.getElementsByTagName("diagram");if(0<e.length){var k=this.graph.getGlobalVariable,c=this;this.graph.getGlobalVariable=function(a){var b=e[c.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(c.currentPage+1):"pagenumber"==a?c.currentPage+1:k.apply(this,arguments)}}}this.diagrams=[];var d=null;this.selectPage=function(a){this.currentPage=mxUtils.mod(a,this.diagrams.length); -this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(this.diagrams[this.currentPage]))).documentElement)};this.selectPageById=function(a){for(var b=0;b<this.diagrams.length;b++)if(this.diagrams[b].getAttribute("id")==a){this.selectPage(b);break}};var f=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=[];this.xmlNode!=d&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),d=this.xmlNode)});this.addListener("xmlNodeChanged", -f);f();urlParams.page=c.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=!0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow}; -this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);this.addSizeHandler();this.showLayers(this.graph);this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title", -this.graphConfig.title);this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var k=this.getObservableParent(a),l=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(l.disconnect(),c())}));l.observe(k,{attributes:!0})}else c()}}; -GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a}; +null!=a)){var d=mxUtils.bind(this,function(){this.graph=new Graph(a);this.graph.transparentBackground=!1;this.graphConfig.move&&(this.graph.isMoveCellsEvent=function(a){return!0});this.lightboxClickEnabled&&(a.style.cursor="pointer");this.editor=new Editor(!0,null,null,this.graph);this.editor.editBlankUrl=this.editBlankUrl;this.graph.lightbox=!0;this.graph.centerZoom=!1;this.graph.autoExtend=!1;this.graph.autoScroll=!1;this.graph.setEnabled(!1);var d=this;this.graph.getImageFromBundles=function(a){return d.getImageUrl(a)}; +mxClient.IS_SVG&&this.editor.graph.addSvgShadow(this.graph.view.canvas.ownerSVGElement,null,!0);if("mxfile"==b.nodeName){var e=b.getElementsByTagName("diagram");if(0<e.length){var k=this.graph.getGlobalVariable,d=this;this.graph.getGlobalVariable=function(a){var b=e[d.currentPage];return"page"==a?b.getAttribute("name")||"Page-"+(d.currentPage+1):"pagenumber"==a?d.currentPage+1:k.apply(this,arguments)}}}this.diagrams=[];var c=null;this.selectPage=function(a){this.currentPage=mxUtils.mod(a,this.diagrams.length); +this.updateGraphXml(mxUtils.parseXml(this.graph.decompress(mxUtils.getTextContent(this.diagrams[this.currentPage]))).documentElement)};this.selectPageById=function(a){for(var b=0;b<this.diagrams.length;b++)if(this.diagrams[b].getAttribute("id")==a){this.selectPage(b);break}};var f=mxUtils.bind(this,function(){if(null==this.xmlNode||"mxfile"!=this.xmlNode.nodeName)this.diagrams=[];this.xmlNode!=c&&(this.diagrams=this.xmlNode.getElementsByTagName("diagram"),c=this.xmlNode)});this.addListener("xmlNodeChanged", +f);f();urlParams.page=d.currentPage;this.graph.getModel().beginUpdate();try{urlParams.nav=0!=this.graphConfig.nav?"1":"0",this.editor.setGraphXml(this.xmlNode),this.graph.border=null!=this.graphConfig.border?this.graphConfig.border:8,this.graph.view.scale=this.graphConfig.zoom||1}finally{this.graph.getModel().endUpdate()}this.graph.panningHandler.useLeftButtonForPanning=!0;this.graph.panningHandler.isForcePanningEvent=function(a){return!mxEvent.isPopupTrigger(a.getEvent())&&"auto"==this.graph.container.style.overflow}; +this.graph.panningHandler.usePopupTrigger=!1;this.graph.panningHandler.pinchEnabled=!1;this.graph.panningHandler.ignoreCell=!0;this.graph.setPanning(!1);this.addSizeHandler();this.showLayers(this.graph);this.addClickHandler(this.graph);this.graph.setTooltips(0!=this.graphConfig.tooltips);this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale};d=this;this.graph.customLinkClicked=function(a){if("data:page/id,"==a.substring(0,13)){var b=a.indexOf(",");d.selectPageById(a.substring(b+ +1))}else this.handleCustomLink(a)};null!=this.graphConfig.toolbar?this.addToolbar():null!=this.graphConfig.title&&this.showTitleAsTooltip&&a.setAttribute("title",this.graphConfig.title);this.fireEvent(new mxEventObject("render"))});e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;if(this.checkVisibleState&&0==a.offsetWidth&&"undefined"!==typeof e){var k=this.getObservableParent(a),m=new e(mxUtils.bind(this,function(b){0<a.offsetWidth&&(m.disconnect(),d())}));m.observe(k, +{attributes:!0})}else d()}};GraphViewer.prototype.getObservableParent=function(a){for(a=a.parentNode;a!=document.body&&null!=a.parentNode&&"none"!==mxUtils.getCurrentStyle(a).display;)a=a.parentNode;return a};GraphViewer.prototype.getImageUrl=function(a){null!=a&&"http://"!=a.substring(0,7)&&"https://"!=a.substring(0,8)&&"data:image"!=a.substring(0,10)&&("/"==a.charAt(0)&&(a=a.substring(1,a.length)),a=this.imageBaseUrl+a);return a}; GraphViewer.prototype.setXmlNode=function(a){this.xmlDocument=a.ownerDocument;this.xml=mxUtils.getXml(a);this.xmlNode=a;this.updateGraphXml(a);this.fireEvent(new mxEventObject("xmlNodeChanged"))};GraphViewer.prototype.setFileNode=function(a){null==this.xmlNode&&(this.xmlDocument=a.ownerDocument,this.xml=mxUtils.getXml(a),this.xmlNode=a);this.setGraphXml(a)};GraphViewer.prototype.updateGraphXml=function(a){this.setGraphXml(a);this.fireEvent(new mxEventObject("graphChanged"))}; GraphViewer.prototype.setGraphXml=function(a){null!=this.graph&&(this.graph.view.translate=new mxPoint,this.graph.view.scale=1,this.graph.getModel().clear(),this.editor.setGraphXml(a),this.widthIsEmpty?(this.graph.container.style.width="",this.graph.container.style.height=""):this.graph.container.style.width=this.initialWidth,this.positionGraph(),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale})}; -GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow="hidden";var c=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=a.offsetWidth<=b.width+2*this.graph.border*this.graph.view.scale?"auto":"hidden";if(null!=this.toolbar){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x, -top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e=!1}}),k=null,l=!1;this.fitGraph=function(b){var c=a.offsetWidth;c==k||l||(l=!0,this.graph.maxFitScale= -null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,!1,!0),this.graph.maxFitScale=null,b=this.graph.getGraphBounds(),this.updateContainerHeight(a,b.height+2*this.graph.border+1),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},k=c,window.setTimeout(function(){l=!1},0))};GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",c),this.graph.addListener("size", -c)):new ResizeSensor(this.graph.container,c));if(this.graphConfig.resize||(this.zoomEnabled||!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,100,1),this.graph.resizeContainer=!0;else if(this.widthIsEmpty&&this.updateContainerWidth(a,b.width+2*this.graph.border),this.updateContainerHeight(a,b.height+2*this.graph.border+1),!this.zoomEnabled&&this.autoFit){var p=k=null,c=mxUtils.bind(this,function(){window.clearTimeout(p);l||(p=window.setTimeout(mxUtils.bind(this, -this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",c):new ResizeSensor(this.graph.container,c))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",c);var r=mxUtils.bind(this,function(){var c=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>this.graphConfig["max-height"])){var d= -null;null!=this.graphConfig["max-height"]&&(d=this.graphConfig["max-height"]/(b.height+2*this.graph.border));this.fitGraph(d)}else this.graph.view.setTranslate(Math.floor((this.graph.border-b.x)/this.graph.view.scale),Math.floor((this.graph.border-b.y)/this.graph.view.scale)),k=a.offsetWidth;a.style.minWidth=c});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(r,0):r();this.positionGraph=function(){b=this.graph.getGraphBounds();k=null;r()}}; +GraphViewer.prototype.addSizeHandler=function(){var a=this.graph.container,b=this.graph.getGraphBounds(),e=!1;a.style.overflow="hidden";var d=mxUtils.bind(this,function(){if(!e){e=!0;var b=this.graph.getGraphBounds();a.style.overflow=a.offsetWidth<=b.width+2*this.graph.border*this.graph.view.scale?"auto":"hidden";if(null!=this.toolbar){var b=a.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x, +top:-c.y},b={left:b.left-c.left,top:b.top-c.top,bottom:b.bottom-c.top,right:b.right-c.left};this.toolbar.style.left=b.left+"px";"bottom"==this.graphConfig["toolbar-position"]?this.toolbar.style.top=b.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(this.toolbar.style.width=Math.max(this.minToolbarWidth,a.offsetWidth)+"px",this.toolbar.style.top=b.top+1+"px"):this.toolbar.style.top=b.top+"px"}e=!1}}),k=null,m=!1;this.fitGraph=function(b){var c=a.offsetWidth;c==k||m||(m=!0,this.graph.maxFitScale= +null!=b?b:this.graphConfig.zoom||(this.allowZoomIn?null:1),this.graph.fit(null,null,null,null,!1,!0),this.graph.maxFitScale=null,b=this.graph.getGraphBounds(),this.updateContainerHeight(a,b.height+2*this.graph.border+1),this.graph.initialViewState={translate:this.graph.view.translate.clone(),scale:this.graph.view.scale},k=c,window.setTimeout(function(){m=!1},0))};GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?(mxEvent.addListener(window,"resize",d),this.graph.addListener("size", +d)):new ResizeSensor(this.graph.container,d));if(this.graphConfig.resize||(this.zoomEnabled||!this.autoFit)&&0!=this.graphConfig.resize)this.graph.minimumContainerSize=new mxRectangle(0,0,100,1),this.graph.resizeContainer=!0;else if(this.widthIsEmpty&&this.updateContainerWidth(a,b.width+2*this.graph.border),this.updateContainerHeight(a,b.height+2*this.graph.border+1),!this.zoomEnabled&&this.autoFit){var p=k=null,d=mxUtils.bind(this,function(){window.clearTimeout(p);m||(p=window.setTimeout(mxUtils.bind(this, +this.fitGraph),100))});GraphViewer.useResizeSensor&&(mxClient.IS_QUIRKS||9>=document.documentMode?mxEvent.addListener(window,"resize",d):new ResizeSensor(this.graph.container,d))}else mxClient.IS_QUIRKS||9>=document.documentMode||this.graph.addListener("size",d);var r=mxUtils.bind(this,function(){var d=a.style.minWidth;this.widthIsEmpty&&(a.style.minWidth="100%");if(0<a.offsetWidth&&(this.allowZoomIn||b.width+2*this.graph.border>a.offsetWidth||b.height+2*this.graph.border>this.graphConfig["max-height"])){var c= +null;null!=this.graphConfig["max-height"]&&(c=this.graphConfig["max-height"]/(b.height+2*this.graph.border));this.fitGraph(c)}else this.graph.view.setTranslate(Math.floor((this.graph.border-b.x)/this.graph.view.scale),Math.floor((this.graph.border-b.y)/this.graph.view.scale)),k=a.offsetWidth;a.style.minWidth=d});mxClient.IS_QUIRKS||8==document.documentMode?window.setTimeout(r,0):r();this.positionGraph=function(){b=this.graph.getGraphBounds();k=null;r()}}; GraphViewer.prototype.updateContainerWidth=function(a,b){a.style.width=b+"px"};GraphViewer.prototype.updateContainerHeight=function(a,b){if(this.zoomEnabled||!this.autoFit||"BackCompat"==document.compatMode||mxClient.IS_QUIRKS||8==document.documentMode)a.style.height=b+"px"}; -GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers;if(null!=e||null!=b)if(e=null!=e?e.split(" "):null,null!=b||0<e.length){var c=null!=b?b.getModel():null,k=a.getModel();k.beginUpdate();try{for(var l=k.getChildCount(k.root),p=0;p<l;p++)k.setVisible(k.getChildAt(k.root,p),null!=b?c.isVisible(c.getChildAt(c.root,p)):!1);if(null==c)for(p=0;p<e.length;p++)k.setVisible(k.getChildAt(k.root,parseInt(e[p])),!0)}finally{k.endUpdate()}}}; +GraphViewer.prototype.showLayers=function(a,b){var e=this.graphConfig.layers;if(null!=e||null!=b)if(e=null!=e?e.split(" "):null,null!=b||0<e.length){var d=null!=b?b.getModel():null,k=a.getModel();k.beginUpdate();try{for(var m=k.getChildCount(k.root),p=0;p<m;p++)k.setVisible(k.getChildAt(k.root,p),null!=b?d.isVisible(d.getChildAt(d.root,p)):!1);if(null==d)for(p=0;p<e.length;p++)k.setVisible(k.getChildAt(k.root,parseInt(e[p])),!0)}finally{k.endUpdate()}}}; GraphViewer.prototype.addToolbar=function(){function a(a,b,c,d){var g=document.createElement("div");g.style.borderRight="1px solid #d0d0d0";g.style.padding="3px 6px 3px 6px";mxEvent.addListener(g,"click",a);null!=c&&g.setAttribute("title",c);g.style.display=mxClient.IS_QUIRKS?"inline":"inline-block";a=document.createElement("img");a.setAttribute("border","0");a.setAttribute("src",b);null==d||d?(mxEvent.addListener(g,"mouseenter",function(){g.style.backgroundColor="#ddd"}),mxEvent.addListener(g,"mouseleave", function(){g.style.backgroundColor="#eee"}),mxUtils.setOpacity(a,60),g.style.cursor="pointer"):mxUtils.setOpacity(g,30);g.appendChild(a);e.appendChild(g);f++;return g}var b=this.graph.container;"bottom"==this.graphConfig["toolbar-position"]?b.style.marginBottom=this.toolbarHeight+"px":"inline"!=this.graphConfig["toolbar-position"]&&(b.style.marginTop=this.toolbarHeight+"px");var e=b.ownerDocument.createElement("div");e.style.position="absolute";e.style.overflow="hidden";e.style.boxSizing="border-box"; -e.style.whiteSpace="nowrap";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var c=null,k=null,l=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);c=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e, -0);c=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=c&&(window.clearTimeout(c),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),l())}));mxEvent.addListener(e,mxClient.IS_POINTER?"pointermove": +e.style.whiteSpace="nowrap";e.style.zIndex=this.toolbarZIndex;e.style.backgroundColor="#eee";e.style.height=this.toolbarHeight+"px";this.toolbar=e;if("inline"==this.graphConfig["toolbar-position"]){mxUtils.setPrefixedStyle(e.style,"transition","opacity 100ms ease-in-out");mxUtils.setOpacity(e,30);var d=null,k=null,m=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);d=window.setTimeout(mxUtils.bind(this,function(){mxUtils.setOpacity(e, +0);d=null;k=window.setTimeout(mxUtils.bind(this,function(){e.style.display="none";k=null}),100)}),a||200)}),p=mxUtils.bind(this,function(a){null!=d&&(window.clearTimeout(d),fadeThead=null);null!=k&&(window.clearTimeout(k),fadeThead2=null);e.style.display="";mxUtils.setOpacity(e,a||30)});mxEvent.addListener(this.graph.container,mxClient.IS_POINTER?"pointermove":"mousemove",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||(p(30),m())}));mxEvent.addListener(e,mxClient.IS_POINTER?"pointermove": "mousemove",function(a){mxEvent.consume(a)});mxEvent.addListener(e,"mouseenter",mxUtils.bind(this,function(a){p(100)}));mxEvent.addListener(e,"mousemove",mxUtils.bind(this,function(a){p(100);mxEvent.consume(a)}));mxEvent.addListener(e,"mouseleave",mxUtils.bind(this,function(a){mxEvent.isTouchEvent(a)||p(30)}));var r=this.graph,v=r.getTolerance();r.addMouseListener({startX:0,startY:0,scrollLeft:0,scrollTop:0,mouseDown:function(a,b){this.startX=b.getGraphX();this.startY=b.getGraphY();this.scrollLeft= -r.container.scrollLeft;this.scrollTop=r.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-r.container.scrollLeft)<v&&Math.abs(this.scrollTop-r.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?l():p(30))}})}for(var d=this.toolbarItems,f=0,g=null,m=null,t=0;t<d.length;t++){var h=d[t];if("pages"==h){m=b.ownerDocument.createElement("div"); -m.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(m,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(m);var q=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ -1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");q.style.paddingLeft="0px";q.style.paddingRight="0px";h=mxUtils.bind(this,function(){m.innerHTML="";mxUtils.write(m,this.currentPage+1+" / "+this.diagrams.length);m.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=m.style.display;q.style.display=m.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, -mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==h){if(this.layersEnabled){var w=this.graph.getModel(),u=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g), -g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=u.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+ -"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){u.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});u.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h], -null!=h&&a(null==h.enabled||h.enabled?h.handler:function(){},h.image,h.title,h.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*f);null!=this.graphConfig.title&&(d=b.ownerDocument.createElement("div"),d.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",d.setAttribute("title",this.graphConfig.title),mxUtils.write(d,this.graphConfig.title),mxUtils.setOpacity(d, -70),e.appendChild(d));this.minToolbarWidth=34*f;var y=b.style.border,d=mxUtils.bind(this,function(){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px"; +r.container.scrollLeft;this.scrollTop=r.container.scrollTop},mouseMove:function(a,b){},mouseUp:function(a,b){mxEvent.isTouchEvent(b.getEvent())&&Math.abs(this.scrollLeft-r.container.scrollLeft)<v&&Math.abs(this.scrollTop-r.container.scrollTop)<v&&Math.abs(this.startX-b.getGraphX())<v&&Math.abs(this.startY-b.getGraphY())<v&&(0<parseFloat(e.style.opacity||0)?m():p(30))}})}for(var c=this.toolbarItems,f=0,g=null,u=null,t=0;t<c.length;t++){var h=c[t];if("pages"==h){u=b.ownerDocument.createElement("div"); +u.style.cssText="display:inline-block;position:relative;padding:3px 4px 0 4px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;";mxUtils.setOpacity(u,70);var n=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage-1)}),Editor.previousImage,mxResources.get("previousPage")||"Previous Page");n.style.borderRightStyle="none";n.style.paddingLeft="0px";n.style.paddingRight="0px";e.appendChild(u);var l=a(mxUtils.bind(this,function(){this.selectPage(this.currentPage+ +1)}),Editor.nextImage,mxResources.get("nextPage")||"Next Page");l.style.paddingLeft="0px";l.style.paddingRight="0px";h=mxUtils.bind(this,function(){u.innerHTML="";mxUtils.write(u,this.currentPage+1+" / "+this.diagrams.length);u.style.display=1<this.diagrams.length?"inline-block":"none";n.style.display=u.style.display;l.style.display=u.style.display});this.addListener("graphChanged",h);h()}else if("zoom"==h)this.zoomEnabled&&(a(mxUtils.bind(this,function(){this.graph.zoomOut()}),Editor.zoomOutImage, +mxResources.get("zoomOut")||"Zoom Out"),a(mxUtils.bind(this,function(){this.graph.zoomIn()}),Editor.zoomInImage,mxResources.get("zoomIn")||"Zoom In"),a(mxUtils.bind(this,function(){this.graph.view.scaleAndTranslate(this.graph.initialViewState.scale,this.graph.initialViewState.translate.x,this.graph.initialViewState.translate.y)}),Editor.zoomFitImage,mxResources.get("fit")||"Fit"));else if("layers"==h){if(this.layersEnabled){var w=this.graph.getModel(),q=a(mxUtils.bind(this,function(a){if(null!=g)g.parentNode.removeChild(g), +g=null;else{g=this.graph.createLayersDialog();mxEvent.addListener(g,"mouseleave",function(){g.parentNode.removeChild(g);g=null});a=q.getBoundingClientRect();g.style.width="140px";g.style.padding="2px 0px 2px 0px";g.style.border="1px solid #d0d0d0";g.style.backgroundColor="#eee";g.style.fontFamily="Helvetica Neue,Helvetica,Arial Unicode MS,Arial";g.style.fontSize="11px";g.style.zIndex=this.toolbarZIndex+1;mxUtils.setOpacity(g,80);var b=mxUtils.getDocumentScrollOrigin(document);g.style.left=b.x+a.left+ +"px";g.style.top=b.y+a.bottom+"px";document.body.appendChild(g)}}),Editor.layersImage,mxResources.get("layers")||"Layers");w.addListener(mxEvent.CHANGE,function(){q.style.display=1<w.getChildCount(w.root)?"inline-block":"none"});q.style.display=1<w.getChildCount(w.root)?"inline-block":"none"}}else"lightbox"==h?this.lightboxEnabled&&a(mxUtils.bind(this,function(){this.showLightbox()}),Editor.maximizeImage,mxResources.get("show")||"Show"):null!=this.graphConfig["toolbar-buttons"]&&(h=this.graphConfig["toolbar-buttons"][h], +null!=h&&a(null==h.enabled||h.enabled?h.handler:function(){},h.image,h.title,h.enabled))}null!=this.graph.minimumContainerSize&&(this.graph.minimumContainerSize.width=34*f);null!=this.graphConfig.title&&(c=b.ownerDocument.createElement("div"),c.style.cssText="display:inline-block;position:relative;padding:3px 6px 0 6px;vertical-align:top;font-family:Helvetica,Arial;font-size:12px;top:4px;cursor:default;",c.setAttribute("title",this.graphConfig.title),mxUtils.write(c,this.graphConfig.title),mxUtils.setOpacity(c, +70),e.appendChild(c));this.minToolbarWidth=34*f;var y=b.style.border,c=mxUtils.bind(this,function(){var a=b.getBoundingClientRect(),c=mxUtils.getScrollOrigin(document.body),c="relative"===document.body.style.position?document.body.getBoundingClientRect():{left:-c.x,top:-c.y},a={left:a.left-c.left,top:a.top-c.top,bottom:a.bottom-c.top,right:a.right-c.left};e.style.left=a.left+"px";e.style.width="inline"==this.graphConfig["toolbar-position"]?"auto":Math.max(this.minToolbarWidth,b.offsetWidth)+"px"; e.style.border="1px solid #d0d0d0";"bottom"==this.graphConfig["toolbar-position"]?e.style.top=a.bottom-1+"px":"inline"!=this.graphConfig["toolbar-position"]?(e.style.marginTop=-this.toolbarHeight+"px",e.style.top=a.top+1+"px"):e.style.top=a.top+"px";"1px solid transparent"==y&&(b.style.border="1px solid #d0d0d0");document.body.appendChild(e);var d=mxUtils.bind(this,function(){1!=this.graphConfig["toolbar-nohide"]&&(null!=e.parentNode&&e.parentNode.removeChild(e),null!=g&&(g.parentNode.removeChild(g), -g=null),b.style.border=y)});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==g)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})});mxEvent.addListener(b,"mouseenter",d)}; -GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,c){if(null==c){var k=mxEvent.getSource(e);"a"==k.nodeName.toLowerCase()&&(c=k.getAttribute("href"))}null!=b?null==c||a.isExternalProtocol(c)||a.isBlankLink(c)||window.setTimeout(function(){b.destroy()},0):null==c||!a.isCustomLink(c)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e)||("data:page/id,"==c.substring(0,13)?(k= -c.indexOf(","),this.selectPageById(c.substring(k+1))):a.handleCustomLink(c),mxEvent.consume(e))}),mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; +g=null),b.style.border=y)});mxEvent.addListener(document,"mousemove",function(a){for(a=mxEvent.getSource(a);null!=a;){if(a==b||a==e||a==g)return;a=a.parentNode}d()});mxEvent.addListener(document,"mouseleave",function(a){d()})});mxEvent.addListener(b,"mouseenter",c)}; +GraphViewer.prototype.addClickHandler=function(a,b){a.linkPolicy=this.graphConfig.target||a.linkPolicy;a.addClickHandler(this.graphConfig.highlight,mxUtils.bind(this,function(e,d){if(null==d){var k=mxEvent.getSource(e);"a"==k.nodeName.toLowerCase()&&(d=k.getAttribute("href"))}null!=b?null==d||a.isExternalProtocol(d)||a.isBlankLink(d)||window.setTimeout(function(){b.destroy()},0):null==d||null!=b||!a.isCustomLink(d)||!mxEvent.isTouchEvent(e)&&mxEvent.isPopupTrigger(e)||(a.customLinkClicked(d),mxEvent.consume(e))}), +mxUtils.bind(this,function(a){null!=b||!this.lightboxClickEnabled||mxEvent.isTouchEvent(a)&&0!=this.toolbarItems.length||this.showLightbox()}))}; GraphViewer.prototype.showLightbox=function(a,b,e){if("open"==this.graphConfig.lightbox||window.self!==window.top)if(null==this.lightboxWindow||this.lightboxWindow.closed){a=null!=a?a:null!=this.graphConfig.editable?this.graphConfig.editable:!0;e={client:1,lightbox:1,target:null!=e?e:"blank"};a&&(e.edit=this.graphConfig.edit||"_blank");if(null!=b?b:1)e.close=1;this.layersEnabled&&(e.layers=1);null!=this.graphConfig&&0!=this.graphConfig.nav&&(e.nav=1);null!=this.graphConfig&&null!=this.graphConfig.highlight&& (e.highlight=this.graphConfig.highlight.substring(1));null!=this.currentPage&&0<this.currentPage&&(e.page=this.currentPage);"undefined"!==typeof window.postMessage&&(null==document.documentMode||10<=document.documentMode)?null==this.lightboxWindow&&mxEvent.addListener(window,"message",mxUtils.bind(this,function(a){"ready"==a.data&&a.source==this.lightboxWindow&&this.lightboxWindow.postMessage(this.xml,"*")})):e.data=encodeURIComponent(this.xml);a="www.draw.io";"1"==urlParams.dev&&(e.dev="1",e.drawdev= "1",a="test.draw.io");this.lightboxWindow=window.open("https://"+a+"/#P"+encodeURIComponent(JSON.stringify(e)))}else this.lightboxWindow.focus();else this.showLocalLightbox()}; GraphViewer.prototype.showLocalLightbox=function(){var a=mxUtils.getDocumentScrollOrigin(document),b=document.createElement("div");mxClient.IS_QUIRKS?(b.style.position="absolute",b.style.left=a.x+"px",b.style.top=a.y+"px",b.style.width=document.body.offsetWidth+"px",b.style.height=document.body.offsetHeight+"px"):b.style.cssText="position:fixed;top:0;left:0;bottom:0;right:0;";b.style.zIndex=this.lightboxZIndex;b.style.backgroundColor="#000000";mxUtils.setOpacity(b,70);document.body.appendChild(b); -var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){c.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode|| -10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};Graph.prototype.shadowId="lightboxDropShadow";var c=new EditorUi(new Editor(!0),document.createElement("div"),!0);c.editor.editBlankUrl=this.editBlankUrl;Graph.prototype.shadowId="dropShadow";c.refresh=function(){};var k=mxUtils.bind(this,function(a){27==a.keyCode&& -c.destroy()}),l=c.destroy;c.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",k);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=!0;l.apply(this,arguments)};var p=c.editor.graph,r=p.container;r.style.overflow="hidden";this.lightboxChrome?(r.style.border="1px solid #c0c0c0",r.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",k)):(b.style.display="none",e.style.display="none"); -var v=this;p.getImageFromBundles=function(a){return v.getImageUrl(a)};var d=c.createTemporaryGraph;c.createTemporaryGraph=function(){var a=d.apply(this,arguments);a.getImageFromBundles=function(a){return v.getImageUrl(a)};return a};this.graphConfig.move&&(p.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(r.style,"border-radius","4px"),r.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE|| -(mxUtils.setPrefixedStyle(r.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(r.style,"transition","all .25s ease-in-out"));this.addClickHandler(p,c);window.setTimeout(mxUtils.bind(this,function(){r.style.outline="none";r.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(r);document.body.appendChild(e);c.setFileData(this.xml);mxUtils.setPrefixedStyle(r.style,"transform","rotateY(0deg)");c.chromelessToolbar.style.bottom="60px";c.chromelessToolbar.style.zIndex= -this.lightboxZIndex;document.body.appendChild(c.chromelessToolbar);c.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(r.style.position="absolute",r.style.display="block",r.style.left=a.x+"px",r.style.top=a.y+"px",r.style.width=document.body.clientWidth-80+"px",r.style.height=document.body.clientHeight-80+"px",r.style.backgroundColor="white",c.chromelessToolbar.style.display="block",c.chromelessToolbar.style.position="absolute",c.chromelessToolbar.style.bottom="", -c.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");c.lightboxFit();c.chromelessResize();this.showLayers(p,this.graph);mxEvent.addListener(b,"click",function(){c.destroy()})}),0);return c};GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})}; -GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var c=document.getElementsByTagName("*"),b=[],e=0;e<c.length;e++){var k=c[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(c[e]))}return b}; -GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var c=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,c);null!=b&&b(e)};null!=c.url?GraphViewer.getUrl(c.url,function(a){k(a)}):k(c.xml)}}; +var e=document.createElement("img");e.setAttribute("border","0");e.setAttribute("src",Editor.closeImage);mxClient.IS_QUIRKS?(e.style.position="absolute",e.style.right="32px",e.style.top=a.y+32+"px"):e.style.cssText="position:fixed;top:32px;right:32px;";e.style.cursor="pointer";mxEvent.addListener(e,"click",function(){d.destroy()});urlParams.pages="1";urlParams.page=this.currentPage;urlParams.nav=0!=this.graphConfig.nav?"1":"0";urlParams.layers=this.layersEnabled?"1":"0";if(null==document.documentMode|| +10<=document.documentMode)Editor.prototype.editButtonLink=this.graphConfig.edit;EditorUi.prototype.updateActionStates=function(){};EditorUi.prototype.addBeforeUnloadListener=function(){};EditorUi.prototype.addChromelessClickHandler=function(){};Graph.prototype.shadowId="lightboxDropShadow";var d=new EditorUi(new Editor(!0),document.createElement("div"),!0);d.editor.editBlankUrl=this.editBlankUrl;Graph.prototype.shadowId="dropShadow";d.refresh=function(){};var k=mxUtils.bind(this,function(a){27==a.keyCode&& +d.destroy()}),m=d.destroy;d.destroy=function(){mxEvent.removeListener(document.documentElement,"keydown",k);document.body.removeChild(b);document.body.removeChild(e);document.body.style.overflow="auto";GraphViewer.resizeSensorEnabled=!0;m.apply(this,arguments)};var p=d.editor.graph,r=p.container;r.style.overflow="hidden";this.lightboxChrome?(r.style.border="1px solid #c0c0c0",r.style.margin="40px",mxEvent.addListener(document.documentElement,"keydown",k)):(b.style.display="none",e.style.display="none"); +var v=this;p.getImageFromBundles=function(a){return v.getImageUrl(a)};var c=d.createTemporaryGraph;d.createTemporaryGraph=function(){var a=c.apply(this,arguments);a.getImageFromBundles=function(a){return v.getImageUrl(a)};return a};this.graphConfig.move&&(p.isMoveCellsEvent=function(a){return!0});mxClient.IS_QUIRKS||(mxUtils.setPrefixedStyle(r.style,"border-radius","4px"),r.style.position="fixed");GraphViewer.resizeSensorEnabled=!1;document.body.style.overflow="hidden";mxClient.IS_SF||mxClient.IS_EDGE|| +(mxUtils.setPrefixedStyle(r.style,"transform","rotateY(90deg)"),mxUtils.setPrefixedStyle(r.style,"transition","all .25s ease-in-out"));this.addClickHandler(p,d);window.setTimeout(mxUtils.bind(this,function(){r.style.outline="none";r.style.zIndex=this.lightboxZIndex;e.style.zIndex=this.lightboxZIndex;document.body.appendChild(r);document.body.appendChild(e);d.setFileData(this.xml);mxUtils.setPrefixedStyle(r.style,"transform","rotateY(0deg)");d.chromelessToolbar.style.bottom="60px";d.chromelessToolbar.style.zIndex= +this.lightboxZIndex;document.body.appendChild(d.chromelessToolbar);d.getEditBlankXml=mxUtils.bind(this,function(){return this.xml});mxClient.IS_QUIRKS&&(r.style.position="absolute",r.style.display="block",r.style.left=a.x+"px",r.style.top=a.y+"px",r.style.width=document.body.clientWidth-80+"px",r.style.height=document.body.clientHeight-80+"px",r.style.backgroundColor="white",d.chromelessToolbar.style.display="block",d.chromelessToolbar.style.position="absolute",d.chromelessToolbar.style.bottom="", +d.chromelessToolbar.style.top=a.y+document.body.clientHeight-100+"px");d.lightboxFit();d.chromelessResize();this.showLayers(p,this.graph);mxEvent.addListener(b,"click",function(){d.destroy()})}),0);return d};GraphViewer.processElements=function(a){mxUtils.forEach(GraphViewer.getElementsByClassName(a||"mxgraph"),function(a){try{a.innerHTML="",GraphViewer.createViewerForElement(a)}catch(e){throw a.innerHTML=e.message,e;}})}; +GraphViewer.getElementsByClassName=function(a){if(document.getElementsByClassName){var b=document.getElementsByClassName(a);a=[];for(var e=0;e<b.length;e++)a.push(b[e]);return a}for(var d=document.getElementsByTagName("*"),b=[],e=0;e<d.length;e++){var k=d[e].className;null!=k&&0<k.length&&(k=k.split(" "),0<=mxUtils.indexOf(k,a)&&b.push(d[e]))}return b}; +GraphViewer.createViewerForElement=function(a,b){var e=a.getAttribute("data-mxgraph");if(null!=e){var d=JSON.parse(e),k=function(e){e=mxUtils.parseXml(e);e=new GraphViewer(a,e.documentElement,d);null!=b&&b(e)};null!=d.url?GraphViewer.getUrl(d.url,function(a){k(a)}):k(d.xml)}}; GraphViewer.initCss=function(){try{var a=document.createElement("style");a.type="text/css";a.innerHTML="div.mxTooltip {\n-webkit-box-shadow: 3px 3px 12px #C0C0C0;\n-moz-box-shadow: 3px 3px 12px #C0C0C0;\nbox-shadow: 3px 3px 12px #C0C0C0;\nbackground: #FFFFCC;\nborder-style: solid;\nborder-width: 1px;\nborder-color: black;\nfont-family: Arial;\nfont-size: 8pt;\nposition: absolute;\ncursor: default;\npadding: 4px;\ncolor: black;}\ntd.mxPopupMenuIcon div {\nwidth:16px;\nheight:16px;}\nhtml div.mxPopupMenu {\n-webkit-box-shadow:2px 2px 3px #d5d5d5;\n-moz-box-shadow:2px 2px 3px #d5d5d5;\nbox-shadow:2px 2px 3px #d5d5d5;\n_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d0d0d0',Positive='true');\nbackground:white;\nposition:absolute;\nborder:3px solid #e7e7e7;\npadding:3px;}\nhtml table.mxPopupMenu {\nborder-collapse:collapse;\nmargin:0px;}\nhtml td.mxPopupMenuItem {\npadding:7px 30px 7px 30px;\nfont-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;}\nhtml td.mxPopupMenuIcon {\nbackground-color:white;\npadding:0px;}\ntd.mxPopupMenuIcon .geIcon {\npadding:2px;\npadding-bottom:4px;\nmargin:2px;\nborder:1px solid transparent;\nopacity:0.5;\n_width:26px;\n_height:26px;}\ntd.mxPopupMenuIcon .geIcon:hover {\nborder:1px solid gray;\nborder-radius:2px;\nopacity:1;}\nhtml tr.mxPopupMenuItemHover {\nbackground-color: #eeeeee;\ncolor: black;}\ntable.mxPopupMenu hr {\ncolor:#cccccc;\nbackground-color:#cccccc;\nborder:none;\nheight:1px;}\ntable.mxPopupMenu tr {\tfont-size:4pt;}\n.geDialog { font-family:Helvetica Neue,Helvetica,Arial Unicode MS,Arial;\nfont-size:10pt;\nborder:none;\nmargin:0px;}\n.geDialog {\tposition:absolute;\tbackground:white;\toverflow:hidden;\tpadding:30px;\tborder:1px solid #acacac;\t-webkit-box-shadow:0px 0px 2px 2px #d5d5d5;\t-moz-box-shadow:0px 0px 2px 2px #d5d5d5;\tbox-shadow:0px 0px 2px 2px #d5d5d5;\t_filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#d5d5d5', Positive='true');\tz-index: 2;}.geDialogClose {\tposition:absolute;\twidth:9px;\theight:9px;\topacity:0.5;\tcursor:pointer;\t_filter:alpha(opacity=50);}.geDialogClose:hover {\topacity:1;}.geDialogTitle {\tbox-sizing:border-box;\twhite-space:nowrap;\tbackground:rgb(229, 229, 229);\tborder-bottom:1px solid rgb(192, 192, 192);\tfont-size:15px;\tfont-weight:bold;\ttext-align:center;\tcolor:rgb(35, 86, 149);}.geDialogFooter {\tbackground:whiteSmoke;\twhite-space:nowrap;\ttext-align:right;\tbox-sizing:border-box;\tborder-top:1px solid #e5e5e5;\tcolor:darkGray;}\n.geBtn {\tbackground-color: #f5f5f5;\tborder-radius: 2px;\tborder: 1px solid #d8d8d8;\tcolor: #333;\tcursor: default;\tfont-size: 11px;\tfont-weight: bold;\theight: 29px;\tline-height: 27px;\tmargin: 0 0 0 8px;\tmin-width: 72px;\toutline: 0;\tpadding: 0 8px;\tcursor: pointer;}.geBtn:hover, .geBtn:focus {\t-webkit-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\t-moz-box-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tbox-shadow: 0px 1px 1px rgba(0,0,0,0.1);\tborder: 1px solid #c6c6c6;\tbackground-color: #f8f8f8;\tbackground-image: linear-gradient(#f8f8f8 0px,#f1f1f1 100%);\tcolor: #111;}.geBtn:disabled {\topacity: .5;}.gePrimaryBtn {\tbackground-color: #4d90fe;\tbackground-image: linear-gradient(#4d90fe 0px,#4787ed 100%);\tborder: 1px solid #3079ed;\tcolor: #fff;}.gePrimaryBtn:hover, .gePrimaryBtn:focus {\tbackground-color: #357ae8;\tbackground-image: linear-gradient(#4d90fe 0px,#357ae8 100%);\tborder: 1px solid #2f5bb7;\tcolor: #fff;}.gePrimaryBtn:disabled {\topacity: .5;}";document.getElementsByTagName("head")[0].appendChild(a)}catch(b){}}; -GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var c=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;c.open("GET",a);c.onload=function(){b(null!=c.getText?c.getText():c.responseText)};c.onerror=e;c.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; -(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,c){function k(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function l(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= +GraphViewer.cachedUrls={};GraphViewer.getUrl=function(a,b,e){if(null!=GraphViewer.cachedUrls[a])b(GraphViewer.cachedUrls[a]);else{var d=0<navigator.userAgent.indexOf("MSIE 9")?new XDomainRequest:new XMLHttpRequest;d.open("GET",a);d.onload=function(){b(null!=d.getText?d.getText():d.responseText)};d.onerror=e;d.send()}};GraphViewer.resizeSensorEnabled=!0;GraphViewer.useResizeSensor=!0; +(function(){var a=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(a){return window.setTimeout(a,20)},b=function(e,d){function k(){this.q=[];this.add=function(a){this.q.push(a)};var a,b;this.call=function(){a=0;for(b=this.q.length;a<b;a++)this.q[a].call()}}function m(a,b){return a.currentStyle?a.currentStyle[b]:window.getComputedStyle?window.getComputedStyle(a,null).getPropertyValue(b):a.style[b]}function p(b,c){if(!b.resizedAttached)b.resizedAttached= new k,b.resizedAttached.add(c);else if(b.resizedAttached){b.resizedAttached.add(c);return}b.resizeSensor=document.createElement("div");b.resizeSensor.className="resize-sensor";b.resizeSensor.style.cssText="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;";b.resizeSensor.innerHTML='<div class="resize-sensor-expand" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s;"></div></div><div class="resize-sensor-shrink" style="position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;"><div style="position: absolute; left: 0; top: 0; transition: 0s; width: 200%; height: 200%"></div></div>'; -b.appendChild(b.resizeSensor);"static"==l(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var m=!1,p=function(){b.resizedAttached&&(m&&(b.resizedAttached.call(),m=!1),a(p))};a(p);var r,v,z,G,C=function(){if((z=b.offsetWidth)!=r||(G=b.offsetHeight)!=v)m=!0,r=z,v=G;g()},x=function(a,b,c){a.attachEvent? -a.attachEvent("on"+b,c):a.addEventListener(b,c)};x(d,"scroll",C);x(f,"scroll",C)}var r=function(){GraphViewer.resizeSensorEnabled&&c()},v=Object.prototype.toString.call(e),d="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(d)for(var v=0,f=e.length;v<f;v++)p(e[v],r);else p(e,r);this.detach=function(){if(d)for(var a=0,c=e.length;a<c;a++)b.detach(e[a]);else b.detach(e)}}; +b.appendChild(b.resizeSensor);"static"==m(b,"position")&&(b.style.position="relative");var d=b.resizeSensor.childNodes[0],e=d.childNodes[0],f=b.resizeSensor.childNodes[1],g=function(){e.style.width="100000px";e.style.height="100000px";d.scrollLeft=1E5;d.scrollTop=1E5;f.scrollLeft=1E5;f.scrollTop=1E5};g();var p=!1,q=function(){b.resizedAttached&&(p&&(b.resizedAttached.call(),p=!1),a(q))};a(q);var r,u,v,G,E=function(){if((v=b.offsetWidth)!=r||(G=b.offsetHeight)!=u)p=!0,r=v,u=G;g()},x=function(a,b,c){a.attachEvent? +a.attachEvent("on"+b,c):a.addEventListener(b,c)};x(d,"scroll",E);x(f,"scroll",E)}var r=function(){GraphViewer.resizeSensorEnabled&&d()},v=Object.prototype.toString.call(e),c="[object Array]"===v||"[object NodeList]"===v||"[object HTMLCollection]"===v||"undefined"!==typeof jQuery&&e instanceof jQuery||"undefined"!==typeof Elements&&e instanceof Elements;if(c)for(var v=0,f=e.length;v<f;v++)p(e[v],r);else p(e,r);this.detach=function(){if(c)for(var a=0,d=e.length;a<d;a++)b.detach(e[a]);else b.detach(e)}}; b.detach=function(a){a.resizeSensor&&(a.removeChild(a.resizeSensor),delete a.resizeSensor,delete a.resizedAttached)};window.ResizeSensor=b})(); (function(){Editor.initMath();GraphViewer.initCss();if(null!=window.onDrawioViewerLoad)window.onDrawioViewerLoad();else GraphViewer.processElements()})(); diff --git a/src/main/webapp/resources/dia.txt b/src/main/webapp/resources/dia.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia.txt +++ b/src/main/webapp/resources/dia.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_am.txt b/src/main/webapp/resources/dia_am.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_am.txt +++ b/src/main/webapp/resources/dia_am.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_ar.txt b/src/main/webapp/resources/dia_ar.txt index f703f0d91c2825aecfe22d6be5d6ecf380c683bb..11873c9b1b0c169c944cb941b6b9ae27c2f927f1 100644 --- a/src/main/webapp/resources/dia_ar.txt +++ b/src/main/webapp/resources/dia_ar.txt @@ -127,6 +127,7 @@ copy=‫نسخ‬ copyConnect=‫نسخ عند الاتصال‬ copyOf=‫نسخة من {1}‬ copyOfDrawing=‫نسخة من الرسم‬ +copySize=Copy Size copyStyle=‫نسخ النمط‬ create=‫إنشاء‬ createNewDiagram=‫إنشاء رسم جديد‬ @@ -506,6 +507,7 @@ paperSize=â€«ØØ¬Ù… Ø§Ù„ØµÙØØ©â€¬ pattern=‫نموذج‬ paste=‫لصق‬ pasteHere=‫لصق هنا‬ +pasteSize=Paste Size pasteStyle=‫لصق النمط‬ perimeter=‫المØÙŠØ·â€¬ permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_bg.txt b/src/main/webapp/resources/dia_bg.txt index c939a0ff8695dbc3637cea2803791b2acfba4192..a688f4083c000468df0686b46c3458b4508adef3 100644 --- a/src/main/webapp/resources/dia_bg.txt +++ b/src/main/webapp/resources/dia_bg.txt @@ -127,6 +127,7 @@ copy=Копиране copyConnect=Копиране при Ñвързване copyOf=Копие на {1} copyOfDrawing=Копие на чертеж +copySize=Copy Size copyStyle=Ðачин на копиране create=Създаване createNewDiagram=Създаване на нова диаграма @@ -506,6 +507,7 @@ paperSize=Размер на хартиÑта pattern=Шаблон paste=ПоÑтавÑне pasteHere=ПоÑтавÑне тук +pasteSize=Paste Size pasteStyle=Ðачин на поÑтавÑне perimeter=Периметър permissionAnyone=Ð’Ñеки може да редактира diff --git a/src/main/webapp/resources/dia_bn.txt b/src/main/webapp/resources/dia_bn.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_bn.txt +++ b/src/main/webapp/resources/dia_bn.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_bs.txt b/src/main/webapp/resources/dia_bs.txt index 5a0f86d62e94e1bf9fe26aa9809fb42a0a017f08..83b49e6aa038a1b437ebf427fedbf5a5bc7cb392 100644 --- a/src/main/webapp/resources/dia_bs.txt +++ b/src/main/webapp/resources/dia_bs.txt @@ -127,6 +127,7 @@ copy=Kopiraj copyConnect=Kopiraj prilikom povezivanja copyOf=Kopija {1} copyOfDrawing=Kopija crteža +copySize=Copy Size copyStyle=Stil kopiranja create=Izradi createNewDiagram=Izradi novi dijagram @@ -506,6 +507,7 @@ paperSize=VeliÄina papira pattern=Obrazac paste=Zalijepi pasteHere=Zalijepi ovdje +pasteSize=Paste Size pasteStyle=Stil zalijepljivanja perimeter=Perimetar permissionAnyone=Bilo tko može ureÄ‘ivati diff --git a/src/main/webapp/resources/dia_ca.txt b/src/main/webapp/resources/dia_ca.txt index 81a221e3c3ff709ea3742cb84df9dc9972f863ee..af7df7d7ef39c04992eb9eeaa55c1c528aea34d8 100644 --- a/src/main/webapp/resources/dia_ca.txt +++ b/src/main/webapp/resources/dia_ca.txt @@ -127,6 +127,7 @@ copy=Copia copyConnect=Copia en connectar copyOf=Còpia de {1} copyOfDrawing=Còpia del dibuix +copySize=Copy Size copyStyle=Copia l'estil create=Crea createNewDiagram=Crea un diagrama nou @@ -506,6 +507,7 @@ paperSize=Mida del paper pattern=Patró paste=Enganxa pasteHere=Enganxa aquà +pasteSize=Paste Size pasteStyle=Enganxa l'estil perimeter=PerÃmetre permissionAnyone=Tothom pot editar diff --git a/src/main/webapp/resources/dia_cs.txt b/src/main/webapp/resources/dia_cs.txt index bbef613d4123d8ad7ed7475d85c192ebd59622aa..ac52b04f7ca341b55a26f7cf5e7344351b03884f 100644 --- a/src/main/webapp/resources/dia_cs.txt +++ b/src/main/webapp/resources/dia_cs.txt @@ -127,6 +127,7 @@ copy=KopÃrovat copyConnect=ZkopÃrovat pÅ™i napojenà copyOf=Kopie z {1} copyOfDrawing=Kopie výkresu +copySize=Copy Size copyStyle=KopÃrovat styl create=VytvoÅ™it createNewDiagram=VytvoÅ™it nový diagram @@ -506,6 +507,7 @@ paperSize=RozmÄ›ry papÃru pattern=Vzor paste=Vložit pasteHere=Vložit sem +pasteSize=Paste Size pasteStyle=Vložit styl perimeter=Obvod permissionAnyone=Editovat může každý diff --git a/src/main/webapp/resources/dia_da.txt b/src/main/webapp/resources/dia_da.txt index ba804bd51b7b4fee26898d4077da7739bd21397d..956c1cdc439647448799e5fd3e2c642f7fa42ac2 100644 --- a/src/main/webapp/resources/dia_da.txt +++ b/src/main/webapp/resources/dia_da.txt @@ -127,6 +127,7 @@ copy=Kopiér copyConnect=Kopiér nÃ¥r der forbindes copyOf=Kopi af {1} copyOfDrawing=Kopi af tegning +copySize=Copy Size copyStyle=Kopiér typografi create=Opret createNewDiagram=Opret nyt diagram @@ -506,6 +507,7 @@ paperSize=Papirstørrelse pattern=Mønster paste=Indsæt pasteHere=Indsæt her +pasteSize=Paste Size pasteStyle=Indsæt typografi perimeter=Omkreds permissionAnyone=Enhver kan foretage ændringer diff --git a/src/main/webapp/resources/dia_de.txt b/src/main/webapp/resources/dia_de.txt index c828b7b13f58567e0a2a354670f83a4e2ff4e448..b67b0557bff28764a63fabae385bbd8e61630a34 100644 --- a/src/main/webapp/resources/dia_de.txt +++ b/src/main/webapp/resources/dia_de.txt @@ -127,6 +127,7 @@ copy=Kopieren copyConnect=Beim Verbinden kopieren copyOf=Kopie von {1} copyOfDrawing=Kopie der Zeichnung +copySize=Grösse kopieren copyStyle=Style kopieren create=Erstellen createNewDiagram=Neues Diagramm erstellen @@ -506,6 +507,7 @@ paperSize=Papiergröße pattern=Muster paste=Einfügen pasteHere=Hier einfügen +pasteSize=Grösse einfügen pasteStyle=Style einfügen perimeter=Umfang permissionAnyone=Jeder darf bearbeiten diff --git a/src/main/webapp/resources/dia_el.txt b/src/main/webapp/resources/dia_el.txt index 079c4604b3bfdaacd666ae7adbff5a1891db1593..dac418ae48c6c3f190394e175481e8605ddc55ce 100644 --- a/src/main/webapp/resources/dia_el.txt +++ b/src/main/webapp/resources/dia_el.txt @@ -127,6 +127,7 @@ copy=ΑντιγÏαφή copyConnect=ΑντίγÏαφο σε επαφή copyOf=ΑντιγÏαφή από {1} copyOfDrawing=ΑντιγÏαφή σχεδίου +copySize=Copy Size copyStyle=ΑντιγÏαφή εμφάνισης create=ΔημιουÏγία createNewDiagram=ΔημιουÏγία νÎου διαγÏάμματος @@ -506,6 +507,7 @@ paperSize=ΜÎγεθος χαÏÏ„Î¹Î¿Ï pattern=Μοτίβο paste=Επικόλληση pasteHere=Επικόλληση εδώ +pasteSize=Paste Size pasteStyle=Εμφάνιση επικόλλησης perimeter=ΠεÏίμετÏος permissionAnyone=ΜποÏοÏν να το επεξεÏγαστοÏν όλοι diff --git a/src/main/webapp/resources/dia_eo.txt b/src/main/webapp/resources/dia_eo.txt index 6bcf793bc6a806e19d909bd944e530bafe73790d..69e2d9e5c26e709849ed56df7227ca1942144070 100644 --- a/src/main/webapp/resources/dia_eo.txt +++ b/src/main/webapp/resources/dia_eo.txt @@ -127,6 +127,7 @@ copy=Kopii copyConnect=Copy on connect copyOf=Kopio de {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Krei createNewDiagram=Krei novan diagramon @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_es.txt b/src/main/webapp/resources/dia_es.txt index 54146f766fd94a0171cb0d9d468eb5403028c2ee..a3048e25487ba3165850f7446e0855cf3c9a2fb4 100644 --- a/src/main/webapp/resources/dia_es.txt +++ b/src/main/webapp/resources/dia_es.txt @@ -127,6 +127,7 @@ copy=Copiar copyConnect=Copiar al conectar copyOf=Copia de {1} copyOfDrawing=Copia del dibujo +copySize=Copy Size copyStyle=Copiar estilo create=Crear createNewDiagram=Crear nuevo diagrama @@ -506,6 +507,7 @@ paperSize=Tamaño del papel pattern=Patrón paste=Pegar pasteHere=Pegar aquà +pasteSize=Paste Size pasteStyle=Pegar estilo perimeter=PerÃmetro permissionAnyone=Cualquiera puede editar diff --git a/src/main/webapp/resources/dia_et.txt b/src/main/webapp/resources/dia_et.txt index e99bddb456b04ef01b1985d2090bdf0b11a060dd..c3746f2f8985b9d171d828ee59e4853ee5e5e7ec 100644 --- a/src/main/webapp/resources/dia_et.txt +++ b/src/main/webapp/resources/dia_et.txt @@ -127,6 +127,7 @@ copy=Kopeeri copyConnect=Kopeeri ühendamisel copyOf=Koopia {1} copyOfDrawing=Joonise koopia +copySize=Copy Size copyStyle=Kopeeri stiil create=Lisa createNewDiagram=Lisa uus diagramm @@ -506,6 +507,7 @@ paperSize=Paberi suurus pattern=Muster paste=Kleebi pasteHere=Kleebi siia +pasteSize=Paste Size pasteStyle=Kleebi stiil perimeter=Perimeeter permissionAnyone=Igaüks saab toimetada diff --git a/src/main/webapp/resources/dia_fa.txt b/src/main/webapp/resources/dia_fa.txt index fd71f8efdc5ba28aec9294f3d66f821ba186bd8a..accc1ca69dca4b431e03c7e29aa7a92955edad79 100644 --- a/src/main/webapp/resources/dia_fa.txt +++ b/src/main/webapp/resources/dia_fa.txt @@ -127,6 +127,7 @@ copy=‫کپی کردن‬ copyConnect=‫کپی کردن به هنگام اتصال‬ copyOf=‫کپی از {1}‬ copyOfDrawing=‫کپی نقاشی‬ +copySize=Copy Size copyStyle=‫کپی کردن سبک‬ create=‫ایجاد نمودن‬ createNewDiagram=‫ایجاد دیاگرام جدید‬ @@ -506,6 +507,7 @@ paperSize=‫اندازه کاغذ‬ pattern=‫الگو‬ paste=‫چسباندن‬ pasteHere=‫اینجا بچسبانید‬ +pasteSize=Paste Size pasteStyle=‫سبک را بچسبانید‬ perimeter=‫مØÛŒØ·â€¬ permissionAnyone=‫هر کسی قادر به ویرایش است‬ diff --git a/src/main/webapp/resources/dia_fi.txt b/src/main/webapp/resources/dia_fi.txt index 1a695b17929e1786943579b978b86aeaac9b9df2..c9c55f9466e9d34f3762e6352520c19a4f0b7f16 100644 --- a/src/main/webapp/resources/dia_fi.txt +++ b/src/main/webapp/resources/dia_fi.txt @@ -127,6 +127,7 @@ copy=Kopioi copyConnect=Kopioi tai yhdistä copyOf=Kopio {1} copyOfDrawing=Kopio piirustuksesta +copySize=Copy Size copyStyle=Kopioi tyyli create=Luo createNewDiagram=Luo uusi kaaviokuva @@ -506,6 +507,7 @@ paperSize=Paperin koko pattern=Kuvio paste=Liitä pasteHere=Liitä tähän +pasteSize=Paste Size pasteStyle=Liitä tyyli perimeter=Ulkoreuna permissionAnyone=Kuka tahansa voi muokata diff --git a/src/main/webapp/resources/dia_fil.txt b/src/main/webapp/resources/dia_fil.txt index 2b57701534f0961326e88e49f14564abec2032b6..562040b65bfcd70d675de284619aec92bddca593 100644 --- a/src/main/webapp/resources/dia_fil.txt +++ b/src/main/webapp/resources/dia_fil.txt @@ -127,6 +127,7 @@ copy=Kopya copyConnect=Kumopya sa pagkonekta copyOf=Kopya ng {1} copyOfDrawing=Kopya ng Guhit +copySize=Copy Size copyStyle=Istilo ng kopya create=Gumawa createNewDiagram=Gumawa ng Bagong Dayagram @@ -506,6 +507,7 @@ paperSize=Sukat ng papel pattern=Huwaran paste=Idikit pasteHere=Idikit dito +pasteSize=Paste Size pasteStyle=Istilo ng pagdikit perimeter=Palibot permissionAnyone=Kahit sino ay maaaring mag-edit diff --git a/src/main/webapp/resources/dia_fr.txt b/src/main/webapp/resources/dia_fr.txt index 8c9f9f8c7448af45ae65f667097d30648299e37b..30a844829be30e217d76229e518e9eb05d5c49ac 100644 --- a/src/main/webapp/resources/dia_fr.txt +++ b/src/main/webapp/resources/dia_fr.txt @@ -127,6 +127,7 @@ copy=Copier copyConnect=Copier à la connexion copyOf=Copie de {1} copyOfDrawing=Copie d'un dessin +copySize=Copy Size copyStyle=Copier le style create=Créer createNewDiagram=Créer un nouveau diagramme @@ -506,6 +507,7 @@ paperSize=Taille du papier pattern=Modèle paste=Coller pasteHere=Coller ici +pasteSize=Paste Size pasteStyle=Coller le style perimeter=Périmètre permissionAnyone=Tout le monde peut apporter des modifications diff --git a/src/main/webapp/resources/dia_gu.txt b/src/main/webapp/resources/dia_gu.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_gu.txt +++ b/src/main/webapp/resources/dia_gu.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_he.txt b/src/main/webapp/resources/dia_he.txt index 30a82d095bf66a651b1e85394cf8c88766f36d20..1c71e010bedd18b3fc593427c0862fa17fc28d28 100644 --- a/src/main/webapp/resources/dia_he.txt +++ b/src/main/webapp/resources/dia_he.txt @@ -127,6 +127,7 @@ copy=‫העתק‬ copyConnect=‫העתק ×¢× ×”×—×™×‘×•×¨â€¬ copyOf=‫עותק של {1}‬ copyOfDrawing=‫העתק של סקיצה‬ +copySize=Copy Size copyStyle=‫העתק ×¡×’× ×•×Ÿâ€¬ create=‫צור‬ createNewDiagram=‫צור די×גרמה חדשה‬ @@ -506,6 +507,7 @@ paperSize=‫גודל ×”× ×™×™×¨â€¬ pattern=â€«×ª×‘× ×™×ªâ€¬ paste=‫הדבק‬ pasteHere=‫הדבק ×›×ן‬ +pasteSize=Paste Size pasteStyle=‫הדבק ×¡×’× ×•×Ÿâ€¬ perimeter=‫היקף‬ permissionAnyone=‫כל ×חד יכול לערוך‬ diff --git a/src/main/webapp/resources/dia_hi.txt b/src/main/webapp/resources/dia_hi.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_hi.txt +++ b/src/main/webapp/resources/dia_hi.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_hr.txt b/src/main/webapp/resources/dia_hr.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_hr.txt +++ b/src/main/webapp/resources/dia_hr.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_hu.txt b/src/main/webapp/resources/dia_hu.txt index ed0eb186321a50818b1eb132e3d783c39c34cb8b..edcd48a0e42ace101a524a78289911e67d2e772f 100644 --- a/src/main/webapp/resources/dia_hu.txt +++ b/src/main/webapp/resources/dia_hu.txt @@ -127,6 +127,7 @@ copy=Másol copyConnect=Másol kapcsoláskor copyOf={1} másolata copyOfDrawing=Rajz másolás +copySize=Copy Size copyStyle=StÃlus másolás create=Alkot createNewDiagram=Új diagram alkotás @@ -506,6 +507,7 @@ paperSize=Oldalméret pattern=Minta paste=Beilleszt pasteHere=Ide illeszt +pasteSize=Paste Size pasteStyle=StÃlust beilleszt perimeter=Perem permissionAnyone=Akárki szerkeszthet diff --git a/src/main/webapp/resources/dia_i18n.txt b/src/main/webapp/resources/dia_i18n.txt index fa6764daf92a0678b05bfd827777bbe953809367..e2a9a47aa17b5bc258dd8856f0ce8031e61cf369 100644 --- a/src/main/webapp/resources/dia_i18n.txt +++ b/src/main/webapp/resources/dia_i18n.txt @@ -127,6 +127,7 @@ copy=copy copyConnect=copyConnect copyOf=copyOf copyOfDrawing=copyOfDrawing +copySize=copySize copyStyle=copyStyle create=create createNewDiagram=createNewDiagram @@ -506,6 +507,7 @@ paperSize=paperSize pattern=pattern paste=paste pasteHere=pasteHere +pasteSize=pasteSize pasteStyle=pasteStyle perimeter=perimeter permissionAnyone=permissionAnyone diff --git a/src/main/webapp/resources/dia_id.txt b/src/main/webapp/resources/dia_id.txt index 661cf7c7b665bfa88ce44881464cfe159109c23a..f604f72c680a302d3b1d5ce328291b0c637dd851 100644 --- a/src/main/webapp/resources/dia_id.txt +++ b/src/main/webapp/resources/dia_id.txt @@ -127,6 +127,7 @@ copy=Salin copyConnect=Salin saat terhubung copyOf=Salinan {1} copyOfDrawing=Salinan Gambar +copySize=Copy Size copyStyle=Salin Gaya create=Buat createNewDiagram=Buat Diagram Baru @@ -506,6 +507,7 @@ paperSize=Ukuran Kertas pattern=Pola paste=Tempel pasteHere=Tempel di sini +pasteSize=Paste Size pasteStyle=Tempel Gaya perimeter=Perimeter permissionAnyone=Semua orang dapat mengedit diff --git a/src/main/webapp/resources/dia_it.txt b/src/main/webapp/resources/dia_it.txt index 72baf2ec83a2eb4c030692bd96b2913bcffaa262..182c21ecd4ff32c2be740573bbff1b244b3ead66 100644 --- a/src/main/webapp/resources/dia_it.txt +++ b/src/main/webapp/resources/dia_it.txt @@ -127,6 +127,7 @@ copy=Copia copyConnect=Copiare appena connesso copyOf=Copia di {1} copyOfDrawing=Copia del disegno +copySize=Copy Size copyStyle=Copiare stile create=Creare createNewDiagram=Crea nuovo diagramma @@ -506,6 +507,7 @@ paperSize=Dimensione della carta pattern=Schema paste=Incolla pasteHere=Incolla qui +pasteSize=Paste Size pasteStyle=Incolla stile perimeter=Perimetro permissionAnyone=Chiunque può modificare diff --git a/src/main/webapp/resources/dia_ja.txt b/src/main/webapp/resources/dia_ja.txt index 5ac850c4c77b194471db0c5c41d08691686f689c..000fa7c84fa39c4eb3d3e0f829478ff5ef967333 100644 --- a/src/main/webapp/resources/dia_ja.txt +++ b/src/main/webapp/resources/dia_ja.txt @@ -127,6 +127,7 @@ copy=コピー copyConnect=接続時ã«ã‚³ãƒ”ーã™ã‚‹ copyOf={1}ã®ã‚³ãƒ”ー copyOfDrawing=図ã®ã‚³ãƒ”ー +copySize=Copy Size copyStyle=スタイルをコピーã™ã‚‹ create=作æˆã™ã‚‹ createNewDiagram=æ–°è¦ãƒ•ァイルを作æˆã™ã‚‹ @@ -506,6 +507,7 @@ paperSize=用紙サイズ pattern=パターン paste=貼り付㑠pasteHere=ã“ã“ã«è²¼ã‚Šä»˜ã‘ +pasteSize=Paste Size pasteStyle=スタイルを貼り付㑠perimeter=周囲 permissionAnyone=誰ã§ã‚‚ç·¨é›†å¯ diff --git a/src/main/webapp/resources/dia_kn.txt b/src/main/webapp/resources/dia_kn.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_kn.txt +++ b/src/main/webapp/resources/dia_kn.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_ko.txt b/src/main/webapp/resources/dia_ko.txt index 64de70dda0f4d5f4b33bccdd388449feb532f270..510466e0f9d87ea8c40dd7e61787f13e5412a1c6 100644 --- a/src/main/webapp/resources/dia_ko.txt +++ b/src/main/webapp/resources/dia_ko.txt @@ -127,6 +127,7 @@ copy=복사 copyConnect=ì—°ê²° 시 복사 copyOf={1}ì˜ ë³µì‚¬ë³¸ copyOfDrawing=그림 복사본 +copySize=Copy Size copyStyle=ìŠ¤íƒ€ì¼ ë³µì‚¬ create=만들기 createNewDiagram=새로운 다ì´ì–´ê·¸ëž¨ 만들기 @@ -506,6 +507,7 @@ paperSize=용지 í¬ê¸° pattern=패턴 paste=붙여넣기 pasteHere=ì—¬ê¸°ì— ë¶™ì—¬ë„£ê¸° +pasteSize=Paste Size pasteStyle=ìŠ¤íƒ€ì¼ ë¶™ì—¬ë„£ê¸° perimeter=ë‘˜ë ˆ permissionAnyone=ëˆ„êµ¬ë“ íŽ¸ì§‘í• ìˆ˜ 있습니다 diff --git a/src/main/webapp/resources/dia_lt.txt b/src/main/webapp/resources/dia_lt.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_lt.txt +++ b/src/main/webapp/resources/dia_lt.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_lv.txt b/src/main/webapp/resources/dia_lv.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_lv.txt +++ b/src/main/webapp/resources/dia_lv.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_ml.txt b/src/main/webapp/resources/dia_ml.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_ml.txt +++ b/src/main/webapp/resources/dia_ml.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_mr.txt b/src/main/webapp/resources/dia_mr.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_mr.txt +++ b/src/main/webapp/resources/dia_mr.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_ms.txt b/src/main/webapp/resources/dia_ms.txt index a856119e6fef2bcfb1cf0c16f1478299917bbf9d..cd52b8e8dc886060dc3517b8259cddd40c9ca368 100644 --- a/src/main/webapp/resources/dia_ms.txt +++ b/src/main/webapp/resources/dia_ms.txt @@ -127,6 +127,7 @@ copy=Salinan copyConnect=Salinan semasa menyambung copyOf=Salinan {1} copyOfDrawing=Salinan Lukisan +copySize=Copy Size copyStyle=Salin Gaya create=Cipta createNewDiagram=Cipta Gambarajah Baru @@ -506,6 +507,7 @@ paperSize=Saiz Kertas pattern=Corak paste=Tampal pasteHere=Tampal di sini +pasteSize=Paste Size pasteStyle=Tampal Gaya perimeter=Perimeter permissionAnyone=Sesiapa boleh menyunting diff --git a/src/main/webapp/resources/dia_nl.txt b/src/main/webapp/resources/dia_nl.txt index a8ee88134206f5f8f8683820a33f5f5df2bfc0a6..3317cf238e0325e467b5ebae7c07b4d883c202f6 100644 --- a/src/main/webapp/resources/dia_nl.txt +++ b/src/main/webapp/resources/dia_nl.txt @@ -127,6 +127,7 @@ copy=Kopiëren copyConnect=Kopiëren bij verbinding copyOf=Kopie van {1} copyOfDrawing=Kopie van tekening +copySize=Copy Size copyStyle=Stijl kopiëren create=Aanmaken createNewDiagram=Nieuw diagram aanmaken @@ -506,6 +507,7 @@ paperSize=Papiergrootte pattern=Patroon paste=Plakken pasteHere=Hier plakken +pasteSize=Paste Size pasteStyle=Stijl plakken perimeter=Begrenzing permissionAnyone=Iedereen kan bewerken diff --git a/src/main/webapp/resources/dia_no.txt b/src/main/webapp/resources/dia_no.txt index ed08663cd8c4c4b6fd39a8841593a7065cef4549..c00b3c00379d3a099f59f6a852d56d74a1f9c4a2 100644 --- a/src/main/webapp/resources/dia_no.txt +++ b/src/main/webapp/resources/dia_no.txt @@ -127,6 +127,7 @@ copy=Kopier copyConnect=Kopier ved sammenkobling copyOf=Kopi av {1} copyOfDrawing=Kopi av tegning +copySize=Copy Size copyStyle=Kopieringsstil create=Opprett createNewDiagram=Opprett nytt diagram @@ -506,6 +507,7 @@ paperSize=Papirstørrelse pattern=Mønster paste=Lim inn pasteHere=Lim inn her +pasteSize=Paste Size pasteStyle=Lim inn stil perimeter=Omkrets permissionAnyone=Alle kan redigere diff --git a/src/main/webapp/resources/dia_pl.txt b/src/main/webapp/resources/dia_pl.txt index 553d092f54c52b7a146534df6814519ac177bdb4..3be9d9e9e108b8e11def17b027da3540afdcdc17 100644 --- a/src/main/webapp/resources/dia_pl.txt +++ b/src/main/webapp/resources/dia_pl.txt @@ -127,6 +127,7 @@ copy=Kopiuj copyConnect=Kopiuj przy połączeniu copyOf=Kopia {1} copyOfDrawing=Kopia rysunku +copySize=Copy Size copyStyle=Kopiuj styl create=Utwórz createNewDiagram=Utwórz nowy diagram @@ -506,6 +507,7 @@ paperSize=Rozmiar papieru pattern=Wzór paste=Wklej pasteHere=Wklej tutaj +pasteSize=Paste Size pasteStyle=Wklej styl perimeter=Granica permissionAnyone=Każdy może edytować diff --git a/src/main/webapp/resources/dia_pt-br.txt b/src/main/webapp/resources/dia_pt-br.txt index 930dc60fa36559a7f36a289b626c1606b51f21ba..b1e30bd8e16cb15e71a8af0f6dd842de8f95f4f0 100644 --- a/src/main/webapp/resources/dia_pt-br.txt +++ b/src/main/webapp/resources/dia_pt-br.txt @@ -127,6 +127,7 @@ copy=Copiar copyConnect=Copiar ao conectar copyOf=Cópia de {1} copyOfDrawing=Cópia de desenho +copySize=Copy Size copyStyle=Copiar estilo create=Criar createNewDiagram=Criar novo diagrama @@ -506,6 +507,7 @@ paperSize=Formato do Papel pattern=Padrão paste=Colar pasteHere=Colar aqui +pasteSize=Paste Size pasteStyle=Colar estilo perimeter=PerÃmetro permissionAnyone=Qualquer pessoa pode editar diff --git a/src/main/webapp/resources/dia_pt.txt b/src/main/webapp/resources/dia_pt.txt index 5a8b06ea399df97aac58c86a0e9f1301d6d2d34a..3e04d7eae5113cbeea6278c342ebc7854ad597dc 100644 --- a/src/main/webapp/resources/dia_pt.txt +++ b/src/main/webapp/resources/dia_pt.txt @@ -127,6 +127,7 @@ copy=Copiar copyConnect=Copiar ao conetar copyOf=Cópia do {1} copyOfDrawing=Cópia do desenho +copySize=Copy Size copyStyle=Copiar estilo create=Criar createNewDiagram=Criar diagrama novo @@ -506,6 +507,7 @@ paperSize=Tamanho do papel pattern=Padrão paste=Colar pasteHere=Colar aqui +pasteSize=Paste Size pasteStyle=Colar estilo perimeter=PerÃmetro permissionAnyone=Qualquer um pode editar diff --git a/src/main/webapp/resources/dia_ro.txt b/src/main/webapp/resources/dia_ro.txt index fe32e899a07af8d8bdf406eced55573b9e647a12..01d9bf8794baa2c6673324efee410754bb107a32 100644 --- a/src/main/webapp/resources/dia_ro.txt +++ b/src/main/webapp/resources/dia_ro.txt @@ -127,6 +127,7 @@ copy=Copiere copyConnect=Copiere la conectare copyOf=Copie a {1} copyOfDrawing=Copia desenului +copySize=Copy Size copyStyle=Stil copiere create=Creare createNewDiagram=Creare diagramă nouă @@ -506,6 +507,7 @@ paperSize=Dimensiuni hârtie pattern=Model paste=Lipire pasteHere=LipeÅŸte aici +pasteSize=Paste Size pasteStyle=Stil lipire perimeter=Perimetru permissionAnyone=Oricine poate edita diff --git a/src/main/webapp/resources/dia_ru.txt b/src/main/webapp/resources/dia_ru.txt index 4c5d34d2702bc12514936b3e48ae2b689af816c1..a5b5f202632221f747591a17ca800e1246a7b7e4 100644 --- a/src/main/webapp/resources/dia_ru.txt +++ b/src/main/webapp/resources/dia_ru.txt @@ -127,6 +127,7 @@ copy=Копировать copyConnect=Копировать при Ñоединении copyOf=ÐšÐ¾Ð¿Ð¸Ñ {1} copyOfDrawing=ÐšÐ¾Ð¿Ð¸Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð° +copySize=Copy Size copyStyle=Копировать Ñтиль create=Создать createNewDiagram=Создать новую диаграмму @@ -506,6 +507,7 @@ paperSize=Размер бумаги pattern=Шаблон paste=Ð’Ñтавить pasteHere=Ð’Ñтавить Ñюда +pasteSize=Paste Size pasteStyle=Ð’Ñтавить Ñтиль perimeter=По периметру permissionAnyone=Редактирование разрешено вÑем diff --git a/src/main/webapp/resources/dia_sk.txt b/src/main/webapp/resources/dia_sk.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_sk.txt +++ b/src/main/webapp/resources/dia_sk.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_sl.txt b/src/main/webapp/resources/dia_sl.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_sl.txt +++ b/src/main/webapp/resources/dia_sl.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_sr.txt b/src/main/webapp/resources/dia_sr.txt index adf7c3dc32cecae9b86a2812cb24d8fea8fcef65..d7781c57328bb2d81dbaa04f3982e8fd6d90ad71 100644 --- a/src/main/webapp/resources/dia_sr.txt +++ b/src/main/webapp/resources/dia_sr.txt @@ -127,6 +127,7 @@ copy=Kopiraj copyConnect=Kopiraj pri povezivanju copyOf=Kopija {1} copyOfDrawing=Kopija crteža +copySize=Copy Size copyStyle=Kopiraj stil create=Kreiraj createNewDiagram=Kreiraj novi dijagram @@ -506,6 +507,7 @@ paperSize=VeliÄina papira pattern=Obrazac paste=Zalepi pasteHere=Zalepi ovde +pasteSize=Paste Size pasteStyle=Zalepi stil perimeter=Perimetar permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_sv.txt b/src/main/webapp/resources/dia_sv.txt index 6ef9ef6bf0435ccfec20b2cdf683ecde2def72a1..c5b70a69293073b8eee63855a7d705faaf71afa9 100644 --- a/src/main/webapp/resources/dia_sv.txt +++ b/src/main/webapp/resources/dia_sv.txt @@ -127,6 +127,7 @@ copy=Kopiera copyConnect=Kopiera vid anslutning copyOf=Kopia av {1} copyOfDrawing=Kopia av ritning +copySize=Copy Size copyStyle=Kopieringsstil create=Skapa createNewDiagram=Skapa nytt diagram @@ -506,6 +507,7 @@ paperSize=Pappersstorlek pattern=Mönster paste=Klistra in pasteHere=Klistra in här +pasteSize=Paste Size pasteStyle=Klistra in stil perimeter=Omkrets permissionAnyone=Vem som helst kan redigera diff --git a/src/main/webapp/resources/dia_sw.txt b/src/main/webapp/resources/dia_sw.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_sw.txt +++ b/src/main/webapp/resources/dia_sw.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_ta.txt b/src/main/webapp/resources/dia_ta.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_ta.txt +++ b/src/main/webapp/resources/dia_ta.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_te.txt b/src/main/webapp/resources/dia_te.txt index 983469d386b7818603fa7d12bb8ee2e302e06d52..b7cd8d3b4dd93f9b55a12c5eefdaadf91cc32be2 100644 --- a/src/main/webapp/resources/dia_te.txt +++ b/src/main/webapp/resources/dia_te.txt @@ -127,6 +127,7 @@ copy=Copy copyConnect=Copy on connect copyOf=Copy of {1} copyOfDrawing=Copy of Drawing +copySize=Copy Size copyStyle=Copy Style create=Create createNewDiagram=Create New Diagram @@ -506,6 +507,7 @@ paperSize=Paper Size pattern=Pattern paste=Paste pasteHere=Paste here +pasteSize=Paste Size pasteStyle=Paste Style perimeter=Perimeter permissionAnyone=Anyone can edit diff --git a/src/main/webapp/resources/dia_th.txt b/src/main/webapp/resources/dia_th.txt index 7d008fcb5c150ddd2d7b6fcdae2f5df7c0d93fe1..3836eb695e087819576f6c7ae8b530a4b97215ab 100644 --- a/src/main/webapp/resources/dia_th.txt +++ b/src/main/webapp/resources/dia_th.txt @@ -127,6 +127,7 @@ copy=คัดลà¸à¸ copyConnect=คัดลà¸à¸à¹€à¸¡à¸·à¹ˆà¸à¸¡à¸µà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸à¸¡à¸•่ภcopyOf=ฉบับคัดลà¸à¸à¸‚à¸à¸‡ {1} copyOfDrawing=ฉบับคัดลà¸à¸à¸‚à¸à¸‡à¸à¸²à¸£à¸§à¸²à¸” +copySize=Copy Size copyStyle=คัดลà¸à¸à¸£à¸¹à¸›à¹à¸šà¸š create=สร้าง createNewDiagram=สร้างà¹à¸œà¸™à¸ าพใหม่ @@ -506,6 +507,7 @@ paperSize=ขนาดà¸à¸£à¸°à¸”าษ pattern=รูปà¹à¸šà¸š paste=วาง pasteHere=วางที่นี่ +pasteSize=Paste Size pasteStyle=วางรูปà¹à¸šà¸š perimeter=เส้นรà¸à¸šà¸§à¸‡ permissionAnyone=ทุà¸à¸„นสามารถà¹à¸à¹‰à¹„ขได้ diff --git a/src/main/webapp/resources/dia_tr.txt b/src/main/webapp/resources/dia_tr.txt index d895cfd3ffa1dfec28f04cbcb67658a908364a6f..1d303da14c84799498efb5aa7a82df33b7b76381 100644 --- a/src/main/webapp/resources/dia_tr.txt +++ b/src/main/webapp/resources/dia_tr.txt @@ -127,6 +127,7 @@ copy=Kopyala copyConnect=BaÄŸlandığında kopyala copyOf=Kopyası {1} copyOfDrawing=Resmin Kopyası +copySize=Copy Size copyStyle=Stili kopyala create=OluÅŸtur createNewDiagram=Yeni diyagram oluÅŸtur @@ -506,6 +507,7 @@ paperSize=Kağıt boyutu pattern=Desen paste=Yapıştır pasteHere=Buraya yapıştır +pasteSize=Paste Size pasteStyle=Yapıştırma stili perimeter=Çevre permissionAnyone=Herhangi bir kimse deÄŸiÅŸiklik yapabilir diff --git a/src/main/webapp/resources/dia_uk.txt b/src/main/webapp/resources/dia_uk.txt index b0cbac2645100e857722ff828a291cd33be873e0..e567f98eac2949151679d4f9807991d4c2860ce7 100644 --- a/src/main/webapp/resources/dia_uk.txt +++ b/src/main/webapp/resources/dia_uk.txt @@ -127,6 +127,7 @@ copy=Копіювати copyConnect=Копіювати при підключенні copyOf=ÐšÐ¾Ð¿Ñ–Ñ {1} copyOfDrawing=ÐšÐ¾Ð¿Ñ–Ñ Ð´Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð° +copySize=Copy Size copyStyle=Копіювати Ñтиль create=Створити createNewDiagram=Створити нову діаграму @@ -506,6 +507,7 @@ paperSize=Розмір паперу pattern=Шаблон paste=Ð’Ñтавити pasteHere=Ð’Ñтавити тут +pasteSize=Paste Size pasteStyle=Ð’Ñтавити Ñтиль perimeter=По периметру permissionAnyone=Будь-хто може редагувати diff --git a/src/main/webapp/resources/dia_vi.txt b/src/main/webapp/resources/dia_vi.txt index 0ffe54c18e4cbc76802af6eca1e15e2ea555a189..42922a65629b8c169c67c130cfdb302026ac284f 100644 --- a/src/main/webapp/resources/dia_vi.txt +++ b/src/main/webapp/resources/dia_vi.txt @@ -127,6 +127,7 @@ copy=Sao chép copyConnect=Sao chép trên liên kết copyOf=Bản sao cá»§a {1} copyOfDrawing=Bản sao cá»§a bản vẽ +copySize=Copy Size copyStyle=Sao chép phong cách create=Tạo createNewDiagram=Tạo biểu đồ má»›i @@ -506,6 +507,7 @@ paperSize=KÃch thước giấy pattern=Khuôn mẫu paste=Dán pasteHere=Dán ở đây +pasteSize=Paste Size pasteStyle=Dán kiểu chữ perimeter=Chu vi permissionAnyone=Ai cÅ©ng có thể chỉnh sá»a diff --git a/src/main/webapp/resources/dia_zh-tw.txt b/src/main/webapp/resources/dia_zh-tw.txt index 3df3501e8ba8474fb39918dedb97a9a5053fdc48..5e6be8953949de26b68c90de7ce25e387cb6d104 100644 --- a/src/main/webapp/resources/dia_zh-tw.txt +++ b/src/main/webapp/resources/dia_zh-tw.txt @@ -127,6 +127,7 @@ copy=æ‹·è² copyConnect=é€£æŽ¥æ™‚æ‹·è² copyOf={1}副本 copyOfDrawing=圖紙副本 +copySize=Copy Size copyStyle=æ‹·è²æ¨£å¼ create=新增 createNewDiagram=新增圖表 @@ -506,6 +507,7 @@ paperSize=é é¢å°ºå¯¸ pattern=åœ–æ¡ˆæ¨£å¼ paste=貼上 pasteHere=貼在æ¤è™• +pasteSize=Paste Size pasteStyle=è²¼ä¸Šæ¨£å¼ perimeter=周長 permissionAnyone=任何人都å¯ç·¨è¼¯ diff --git a/src/main/webapp/resources/dia_zh.txt b/src/main/webapp/resources/dia_zh.txt index 5f47eedf15c64666dbdd12dfcf81d14a72e7668a..14b385d1c27bcbebf0af05c21c7663da97f8475f 100644 --- a/src/main/webapp/resources/dia_zh.txt +++ b/src/main/webapp/resources/dia_zh.txt @@ -127,6 +127,7 @@ copy=å¤åˆ¶ copyConnect=连接时å¤åˆ¶ copyOf={1}的副本 copyOfDrawing=图纸副本 +copySize=Copy Size copyStyle=å¤åˆ¶é£Žæ ¼ create=创建 createNewDiagram=创建新图表 @@ -506,6 +507,7 @@ paperSize=页é¢å°ºå¯¸ pattern=æ ·å¼ paste=粘贴 pasteHere=贴于æ¤å¤„ +pasteSize=Paste Size pasteStyle=ç²˜è´´æ ·å¼ perimeter=周长 permissionAnyone=任何人å‡å¯ç¼–辑