<?php

\spl_autoload_register(function ($class) {
  static $map = array (
  'Sukellos\\WPFw\\Api\\WP_API_Base' => 'api/class-wp-api-base.php',
  'Sukellos\\WPFw\\Api\\WP_API_JSON_Request' => 'api/abstract-wp-api-json-request.php',
  'Sukellos\\WPFw\\Api\\WP_API_JSON_Response' => 'api/abstract-wp-api-json-response.php',
  'Sukellos\\WPFw\\Api\\WP_API_Request' => 'api/interface-wp-api-request.php',
  'Sukellos\\WPFw\\Api\\WP_API_Response' => 'api/interface-wp-api-response.php',
  'Sukellos\\WPFw\\Api\\WP_API_XML_Request' => 'api/abstract-wp-api-xml-request.php',
  'Sukellos\\WPFw\\Api\\WP_API_XML_Response' => 'api/abstract-wp-api-xml-response.php',
  'Sukellos\\WPFw\\Utils\\WP_Log' => 'utils/class-wp-logger.php',
  'Sukellos\\WPFw\\Utils\\WP_Helper' => 'utils/class-wp-helper.php',
  'Sukellos\\WPFw\\Utils\\WP_Admin_Notices_Manager' => 'utils/class-wp-admin-notices-manager.php',
  'Sukellos\\WPFw\\Utils\\WP_Sukellos_Plugins_Manager' => 'utils/class-wp-sukellos-plugins-manager.php',
  'Sukellos\\WPFw\\WP_PLoad' => 'abstract-wp-plugin-loader.php',
  'Sukellos\\WPFw\\WP_Sukellos_Fw_Loader' => 'wp-sukellos-fw-loader.php',
  'Sukellos\\WPFw\\Singleton' => 'traits/trait-singleton.php',
  'Sukellos\\WPFw\\License_Restriction' => 'traits/trait-license-restriction.php',
  'Sukellos\\WPFw\\Plugin_Action_Links' => 'traits/trait-plugin-action-links.php',
  'Sukellos\\WPFw\\Plugin_Activation_Control' => 'traits/trait-plugin-activation-control.php',
  'Sukellos\\WPFw\\WP_Plugin' => 'abstract-wp-plugin.php',
  'Sukellos\\WPFw\\WP_Shortcode' => 'abstract-wp-shortcode.php',
  'Sukellos\\WPFw\\WP_Plugin_Admin' => 'abstract-wp-admin.php',
  'Sukellos\\WPFw\\WP_Sukellos_Fw_Admin' => 'class-wp-sukellos-fw-admin.php',
  'Sukellos\\WPFw\\WP_Sukellos_Fw_Admin_Licenses' => 'class-wp-sukellos-fw-licenses.php',
  'Sukellos\\WPFw\\WP_Sukellos_Fw_Admin_Tools' => 'class-wp-sukellos-fw-tools.php',
  'Sukellos\\WPFw\\WP_GridBuilder' => 'abstract-wp-wpgridbuilder.php',
  'Sukellos\\WPFw\\AdminBuilder\\Inc\\EDD_SL_Plugin_Updater' => 'admin-builder/inc/edd-licensing/EDD_SL_Plugin_Updater.php',
  'Sukellos\\WPFw\\AdminBuilder\\Admin_Builder' => 'admin-builder/class-admin-builder.php',
  'Sukellos\\WPFw\\AdminBuilder\\EDD_Licensing_Manager' => 'admin-builder/class-edd-licensing-manager.php',
  'Sukellos\\WPFw\\AdminBuilder\\Item_Factory' => 'admin-builder/class-item-factory.php',
  'Sukellos\\WPFw\\AdminBuilder\\Settings_Bean' => 'admin-builder/trait-settings-bean.php',
  'Sukellos\\WPFw\\AdminBuilder\\Item_Type' => 'admin-builder/class-item-type.php',
  'Sukellos\\WPFw\\AdminBuilder\\Items\\Item' => 'admin-builder/items/abstract-item.php',
  'Sukellos\\WPFw\\AdminBuilder\\Items\\Ajax_Button' => 'admin-builder/items/class-ajax-button.php',
  'Sukellos\\WPFw\\AdminBuilder\\Items\\Header' => 'admin-builder/items/class-header.php',
  'Sukellos\\WPFw\\AdminBuilder\\Items\\Content' => 'admin-builder/items/class-content.php',
  'Sukellos\\WPFw\\AdminBuilder\\Items\\Note' => 'admin-builder/items/class-note.php',
  'Sukellos\\WPFw\\AdminBuilder\\Container' => 'admin-builder/containers/abstract-container.php',
  'Sukellos\\WPFw\\AdminBuilder\\Admin_Container' => 'admin-builder/containers/abstract-admin-container.php',
  'Sukellos\\WPFw\\AdminBuilder\\Admin_Page' => 'admin-builder/containers/abstract-admin-page.php',
  'Sukellos\\WPFw\\AdminBuilder\\Admin_Page_Simple' => 'admin-builder/containers/class-admin-page-simple.php',
  'Sukellos\\WPFw\\AdminBuilder\\Admin_Item_Form' => 'admin-builder/containers/class-admin-item-form.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Sanitize_Manager' => 'admin-builder/items/fields/class-sanitize-manager.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Data_Strategy' => 'admin-builder/items/fields/data-strategies/interface-data-strategy.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Data_Choices' => 'admin-builder/items/fields/data-strategies/abstract-data-choices.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Custom_Choices' => 'admin-builder/items/fields/data-strategies/class-custom-choices.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Handler' => 'admin-builder/items/fields/handlers/interface-handler.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Field_Handler' => 'admin-builder/items/fields/handlers/abstract-field-handler.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Option_Handler' => 'admin-builder/items/fields/handlers/class-option-handler.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Form_Field_Handler' => 'admin-builder/items/fields/handlers/class-form-field-handler.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Field' => 'admin-builder/items/fields/abstract-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Choices_Field' => 'admin-builder/items/fields/abstract-choices-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Text_Field' => 'admin-builder/items/fields/class-text-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Textarea_Field' => 'admin-builder/items/fields/class-textarea-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Checkbox_Field' => 'admin-builder/items/fields/class-checkbox-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Date_Field' => 'admin-builder/items/fields/class-date-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Upload_Field' => 'admin-builder/items/fields/class-upload-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Multicheck_Field' => 'admin-builder/items/fields/class-multicheck-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Radio_Field' => 'admin-builder/items/fields/class-radio-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Select_Field' => 'admin-builder/items/fields/class-select-field.php',
  'Sukellos\\WPFw\\AdminBuilder\\Fields\\Edd_Licensing_Field' => 'admin-builder/items/fields/class-edd-licensing-field.php',
);

  if (isset($map[$class])) {
    require_once __DIR__ . '/' . $map[$class];
  }
}, true, false);